From e08e65995f6ea78f21fe83af6e4181e0eaf4d650 Mon Sep 17 00:00:00 2001 From: ccongli <1441652193@qq.com> Date: Wed, 11 Oct 2023 10:07:34 +0800 Subject: [PATCH] =?UTF-8?q?=E5=89=8D=E7=AB=AF=E9=A1=B9=E7=9B=AE=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3=E5=88=9D=E5=A7=8B=E5=8C=96-2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- yunxi-ui-admin-vben/.editorconfig | 19 + yunxi-ui-admin-vben/.env | 17 + yunxi-ui-admin-vben/.env.front | 28 + yunxi-ui-admin-vben/.env.production | 30 + yunxi-ui-admin-vben/.env.static | 30 + yunxi-ui-admin-vben/.env.test | 30 + yunxi-ui-admin-vben/.eslintignore | 13 + yunxi-ui-admin-vben/.eslintrc.js | 10 + yunxi-ui-admin-vben/.gitattributes | 11 + yunxi-ui-admin-vben/.gitignore | 39 + yunxi-ui-admin-vben/.gitpod.yml | 6 + yunxi-ui-admin-vben/.hintrc | 16 + yunxi-ui-admin-vben/.prettierignore | 9 + yunxi-ui-admin-vben/.stylelintignore | 3 + yunxi-ui-admin-vben/LICENSE | 21 + yunxi-ui-admin-vben/README.md | 132 + yunxi-ui-admin-vben/commitlint.config.js | 91 + yunxi-ui-admin-vben/index.html | 161 + yunxi-ui-admin-vben/npm | 0 yunxi-ui-admin-vben/package.json | 169 + yunxi-ui-admin-vben/pnpm-lock.yaml | 9973 +++++++++++++++++ yunxi-ui-admin-vben/public/favicon.ico | Bin 0 -> 4286 bytes .../public/resource/img/logo.png | Bin 0 -> 9360 bytes .../public/resource/img/pwa-192x192.png | Bin 0 -> 13208 bytes .../public/resource/img/pwa-512x512.png | Bin 0 -> 59425 bytes .../public/resource/img/wx.png | Bin 0 -> 177785 bytes .../public/resource/img/wx2.png | Bin 0 -> 138181 bytes .../public/resource/tinymce/langs/en.js | 419 + .../public/resource/tinymce/langs/zh_CN.js | 389 + .../ui/oxide-dark/content.inline.min.css | 7 + .../skins/ui/oxide-dark/content.min.css | 7 + .../ui/oxide-dark/content.mobile.min.css | 7 + .../tinymce/skins/ui/oxide-dark/skin.min.css | 7 + .../skins/ui/oxide-dark/skin.mobile.min.css | 7 + .../ui/oxide-dark/skin.shadowdom.min.css | 7 + .../skins/ui/oxide/content.inline.min.css | 7 + .../tinymce/skins/ui/oxide/content.min.css | 7 + .../skins/ui/oxide/content.mobile.min.css | 7 + .../skins/ui/oxide/fonts/tinymce-mobile.woff | Bin 0 -> 4624 bytes .../tinymce/skins/ui/oxide/skin.min.css | 7 + .../skins/ui/oxide/skin.mobile.min.css | 7 + .../skins/ui/oxide/skin.shadowdom.min.css | 7 + yunxi-ui-admin-vben/src/App.vue | 31 + yunxi-ui-admin-vben/src/api/base/login.ts | 91 + .../src/api/base/model/loginModel.ts | 9 + .../src/api/base/model/menuModel.ts | 12 + .../src/api/base/model/uploadModel.ts | 5 + .../src/api/base/model/userModel.ts | 45 + yunxi-ui-admin-vben/src/api/base/profile.ts | 128 + yunxi-ui-admin-vben/src/api/base/upload.ts | 20 + yunxi-ui-admin-vben/src/api/base/user.ts | 36 + .../src/api/bpm/activity/index.ts | 5 + .../src/api/bpm/definition/index.ts | 13 + yunxi-ui-admin-vben/src/api/bpm/form/index.ts | 41 + .../src/api/bpm/leave/index.ts | 27 + .../src/api/bpm/model/index.ts | 62 + .../src/api/bpm/processInstance/index.ts | 21 + yunxi-ui-admin-vben/src/api/bpm/task/index.ts | 39 + .../src/api/bpm/taskAssignRule/index.ts | 23 + .../src/api/bpm/userGroup/index.ts | 41 + .../src/api/infra/apiAccessLog/index.ts | 50 + .../src/api/infra/apiErrorLog/index.ts | 69 + .../src/api/infra/codegen/index.ts | 57 + .../src/api/infra/codegen/types.ts | 61 + .../src/api/infra/config/index.ts | 62 + .../src/api/infra/dataSourceConfig/index.ts | 35 + .../src/api/infra/dbDoc/index.ts | 16 + .../src/api/infra/file/index.ts | 28 + .../src/api/infra/fileConfig/index.ts | 66 + .../src/api/infra/job/index.ts | 71 + .../src/api/infra/jobLog/index.ts | 46 + .../src/api/infra/redis/index.ts | 8 + .../src/api/infra/redis/types.ts | 185 + .../src/api/member/address/index.ts | 15 + .../src/api/member/group/index.ts | 38 + .../src/api/member/level/index.ts | 42 + .../src/api/member/point/config/index.ts | 19 + .../src/api/member/point/record/index.ts | 21 + .../src/api/member/signin/config/index.ts | 33 + .../src/api/member/signin/record/index.ts | 13 + .../src/api/member/tag/index.ts | 36 + .../src/api/member/user/index.ts | 39 + .../src/api/mp/account/index.ts | 46 + .../src/api/mp/autoReply/index.ts | 26 + yunxi-ui-admin-vben/src/api/mp/draft/index.ts | 26 + .../src/api/mp/freePublish/index.ts | 16 + .../src/api/mp/material/index.ts | 11 + yunxi-ui-admin-vben/src/api/mp/menu/index.ts | 22 + .../src/api/mp/message/index.ts | 11 + .../src/api/mp/mpuser/index.ts | 21 + .../src/api/mp/statistics/index.ts | 21 + yunxi-ui-admin-vben/src/api/mp/tag/index.ts | 36 + yunxi-ui-admin-vben/src/api/pay/app/index.ts | 63 + .../src/api/pay/channel/index.ts | 69 + yunxi-ui-admin-vben/src/api/pay/demo/index.ts | 21 + .../src/api/pay/notify/index.ts | 11 + .../src/api/pay/order/index.ts | 104 + .../src/api/pay/refund/index.ts | 116 + .../src/api/system/area/index.ts | 11 + .../src/api/system/dept/index.ts | 48 + .../src/api/system/dict/data.ts | 36 + .../src/api/system/dict/type.ts | 36 + .../src/api/system/dict/types.ts | 46 + .../src/api/system/enterprise/index.ts | 37 + .../src/api/system/errorCode/index.ts | 49 + .../src/api/system/loginLog/index.ts | 30 + .../src/api/system/mail/account.ts | 31 + .../src/api/system/mail/log.ts | 11 + .../src/api/system/mail/template.ts | 54 + .../src/api/system/menu/index.ts | 52 + .../src/api/system/notice/index.ts | 42 + .../src/api/system/notify/message.ts | 32 + .../src/api/system/notify/template.ts | 63 + .../src/api/system/oauth2/client.ts | 51 + .../src/api/system/oauth2/token.ts | 28 + .../src/api/system/operatelog/index.ts | 41 + .../src/api/system/permission/index.ts | 42 + .../src/api/system/post/index.ts | 58 + .../src/api/system/role/index.ts | 70 + .../src/api/system/sensitiveWord/index.ts | 64 + .../src/api/system/sms/smsChannel/index.ts | 50 + .../src/api/system/sms/smsLog/index.ts | 57 + .../src/api/system/sms/smsTemplate/index.ts | 94 + .../src/api/system/tenant/index.ts | 62 + .../src/api/system/tenantPackage/index.ts | 49 + .../src/api/system/user/index.ts | 91 + .../src/api/xxjj/businessWarehouse/index.ts | 47 + .../src/api/xxjj/customer/index.ts | 31 + .../src/api/xxjj/enterprise/index.ts | 31 + .../src/api/xxjj/subjectBasic/index.ts | 31 + .../api/xxjj/subjectFollowManagement/index.ts | 31 + .../src/assets/icons/download-count.svg | 1 + .../src/assets/icons/dynamic-avatar-1.svg | 1 + .../src/assets/icons/dynamic-avatar-2.svg | 1 + .../src/assets/icons/dynamic-avatar-3.svg | 1 + .../src/assets/icons/dynamic-avatar-4.svg | 1 + .../src/assets/icons/dynamic-avatar-5.svg | 1 + .../src/assets/icons/dynamic-avatar-6.svg | 1 + yunxi-ui-admin-vben/src/assets/icons/moon.svg | 16 + yunxi-ui-admin-vben/src/assets/icons/sun.svg | 42 + yunxi-ui-admin-vben/src/assets/icons/test.svg | 21 + .../src/assets/icons/total-sales.svg | 1 + .../src/assets/icons/transaction.svg | 1 + .../src/assets/icons/visit-count.svg | 1 + .../src/assets/images/demo.png | Bin 0 -> 33342 bytes .../src/assets/images/header.jpg | Bin 0 -> 16880 bytes .../src/assets/images/logo.png | Bin 0 -> 29168 bytes .../src/assets/images/pay/icon/alipay_app.svg | 1 + .../src/assets/images/pay/icon/alipay_bar.svg | 2 + .../src/assets/images/pay/icon/alipay_pc.svg | 1 + .../src/assets/images/pay/icon/alipay_qr.svg | 2 + .../src/assets/images/pay/icon/alipay_wap.svg | 1 + .../src/assets/images/pay/icon/mock.svg | 1 + .../src/assets/images/pay/icon/wx_app.svg | 2 + .../src/assets/images/pay/icon/wx_lite.svg | 1 + .../src/assets/images/pay/icon/wx_pub.svg | 2 + .../src/assets/images/test/w100h100.png | Bin 0 -> 22985 bytes .../src/assets/svg/illustration.svg | 1 + .../src/assets/svg/login-bg-dark.svg | 19 + .../src/assets/svg/login-bg.svg | 17 + .../src/assets/svg/login-box-bg.svg | 1 + .../src/assets/svg/net-error.svg | 1 + .../src/assets/svg/no-data.svg | 1 + .../src/assets/svg/preview/p-rotate.svg | 1 + .../src/assets/svg/preview/resume.svg | 1 + .../src/assets/svg/preview/scale.svg | 1 + .../src/assets/svg/preview/unrotate.svg | 1 + .../src/assets/svg/preview/unscale.svg | 1 + .../src/components/Application/index.ts | 16 + .../Application/src/AppDarkModeToggle.vue | 80 + .../Application/src/AppLocalePicker.vue | 73 + .../components/Application/src/AppLogo.vue | 75 + .../Application/src/AppProvider.vue | 78 + .../Application/src/AppSizePicker.vue | 69 + .../Application/src/search/AppSearch.vue | 33 + .../src/search/AppSearchFooter.vue | 48 + .../src/search/AppSearchKeyItem.vue | 13 + .../Application/src/search/AppSearchModal.vue | 257 + .../Application/src/search/useMenuSearch.ts | 167 + .../Application/src/useAppContext.ts | 17 + .../src/components/Authority/index.ts | 4 + .../components/Authority/src/Authority.vue | 44 + .../src/components/Basic/index.ts | 8 + .../src/components/Basic/src/BasicArrow.vue | 82 + .../src/components/Basic/src/BasicHelp.vue | 96 + .../src/components/Basic/src/BasicTitle.vue | 75 + .../src/components/Button/index.ts | 9 + .../src/components/Button/src/BasicButton.vue | 35 + .../Button/src/PopConfirmButton.vue | 55 + .../src/components/Button/src/props.ts | 26 + .../src/components/CardList/index.ts | 4 + .../src/components/CardList/src/CardList.vue | 175 + .../src/components/CardList/src/data.ts | 26 + .../src/components/CodeEditor/index.ts | 8 + .../components/CodeEditor/src/CodeEditor.vue | 51 + .../CodeEditor/src/codemirror/CodeMirror.vue | 111 + .../CodeEditor/src/codemirror/codeMirror.ts | 23 + .../CodeEditor/src/codemirror/codemirror.css | 529 + .../src/json-preview/JsonPreview.vue | 12 + .../src/components/CodeEditor/src/typing.ts | 5 + .../src/components/Container/index.ts | 10 + .../Container/src/LazyContainer.vue | 131 + .../Container/src/ScrollContainer.vue | 94 + .../src/collapse/CollapseContainer.vue | 120 + .../Container/src/collapse/CollapseHeader.vue | 42 + .../src/components/Container/src/typing.ts | 17 + .../src/components/ContextMenu/index.ts | 3 + .../ContextMenu/src/ContextMenu.vue | 209 + .../ContextMenu/src/createContextMenu.ts | 74 + .../src/components/ContextMenu/src/typing.ts | 36 + .../src/components/CountDown/index.ts | 6 + .../components/CountDown/src/CountButton.vue | 57 + .../CountDown/src/CountdownInput.vue | 47 + .../components/CountDown/src/useCountdown.ts | 52 + .../src/components/CountTo/index.ts | 4 + .../src/components/CountTo/src/CountTo.vue | 106 + .../src/components/CronTab/index.ts | 4 + .../components/CronTab/src/CronTabInner.vue | 360 + .../components/CronTab/src/CronTabInput.vue | 56 + .../components/CronTab/src/CronTabModal.vue | 18 + .../src/components/CronTab/src/cron.data.ts | 10 + .../src/components/CronTab/src/tabs/DayUI.vue | 101 + .../components/CronTab/src/tabs/HourUI.vue | 69 + .../components/CronTab/src/tabs/MinuteUI.vue | 69 + .../components/CronTab/src/tabs/MonthUI.vue | 69 + .../components/CronTab/src/tabs/SecondUI.vue | 69 + .../components/CronTab/src/tabs/WeekUI.vue | 135 + .../components/CronTab/src/tabs/YearUI.vue | 55 + .../CronTab/src/tabs/useTabMixin.ts | 204 + .../src/components/CronTab/src/validator.ts | 48 + .../src/components/Cropper/index.ts | 7 + .../components/Cropper/src/CopperModal.vue | 247 + .../src/components/Cropper/src/Cropper.vue | 176 + .../components/Cropper/src/CropperAvatar.vue | 118 + .../src/components/Cropper/src/typing.ts | 8 + .../src/components/Description/index.ts | 6 + .../Description/src/Description.vue | 181 + .../src/components/Description/src/typing.ts | 47 + .../Description/src/useDescription.ts | 28 + .../src/components/DictTag/index.ts | 4 + .../src/components/DictTag/src/DictTag.vue | 72 + .../src/components/Drawer/index.ts | 6 + .../src/components/Drawer/src/BasicDrawer.vue | 220 + .../Drawer/src/components/DrawerFooter.vue | 59 + .../Drawer/src/components/DrawerHeader.vue | 38 + .../src/components/Drawer/src/props.ts | 43 + .../src/components/Drawer/src/typing.ts | 194 + .../src/components/Drawer/src/useDrawer.ts | 147 + .../src/components/Dropdown/index.ts | 5 + .../src/components/Dropdown/src/Dropdown.vue | 87 + .../src/components/Dropdown/src/typing.ts | 9 + .../src/components/Excel/index.ts | 8 + .../src/components/Excel/src/Export2Excel.ts | 75 + .../components/Excel/src/ExportExcelModal.vue | 67 + .../src/components/Excel/src/ImportExcel.vue | 219 + .../src/components/Excel/src/typing.ts | 27 + .../src/components/Form/index.ts | 17 + .../src/components/Form/src/BasicForm.vue | 322 + .../src/components/Form/src/componentMap.ts | 87 + .../Form/src/components/ApiCascader.vue | 190 + .../Form/src/components/ApiRadioGroup.vue | 128 + .../Form/src/components/ApiSelect.vue | 153 + .../Form/src/components/ApiTransfer.vue | 122 + .../Form/src/components/ApiTree.vue | 105 + .../Form/src/components/ApiTreeSelect.vue | 113 + .../Form/src/components/FileUpload.vue | 377 + .../Form/src/components/FormAction.vue | 106 + .../Form/src/components/FormItem.vue | 382 + .../Form/src/components/RadioButtonGroup.vue | 61 + .../Form/src/components/UploadItemActions.vue | 90 + .../src/components/Form/src/helper.ts | 82 + .../components/Form/src/hooks/useAdvanced.ts | 159 + .../components/Form/src/hooks/useAutoFocus.ts | 33 + .../Form/src/hooks/useComponentRegister.ts | 11 + .../src/components/Form/src/hooks/useForm.ts | 116 + .../Form/src/hooks/useFormContext.ts | 17 + .../Form/src/hooks/useFormEvents.ts | 434 + .../Form/src/hooks/useFormValues.ts | 153 + .../Form/src/hooks/useLabelWidth.ts | 36 + .../src/components/Form/src/props.ts | 103 + .../src/components/Form/src/types/form.ts | 225 + .../src/components/Form/src/types/formItem.ts | 91 + .../src/components/Form/src/types/hooks.ts | 6 + .../src/components/Form/src/types/index.ts | 120 + .../src/components/FormDesign/index.ts | 4 + .../VFormCreate/components/FormRender.vue | 72 + .../src/components/VFormCreate/index.vue | 145 + .../VFormDesign/components/CodeModal.vue | 73 + .../VFormDesign/components/ComponentProps.vue | 190 + .../components/FormItemColumnProps.vue | 36 + .../VFormDesign/components/FormItemProps.vue | 114 + .../VFormDesign/components/FormNode.vue | 45 + .../components/FormNodeOperate.vue | 66 + .../VFormDesign/components/FormOptions.vue | 69 + .../VFormDesign/components/FormProps.vue | 125 + .../components/ImportJsonModal.vue | 126 + .../VFormDesign/components/JsonModal.vue | 57 + .../VFormDesign/components/LayoutItem.vue | 103 + .../VFormDesign/components/PreviewCode.vue | 72 + .../VFormDesign/components/RuleProps.vue | 266 + .../config/componentPropsConfig.ts | 1147 ++ .../VFormDesign/config/formItemPropsConfig.ts | 351 + .../src/components/VFormDesign/index.vue | 327 + .../VFormDesign/modules/CollapseItem.vue | 109 + .../modules/FormComponentPanel.vue | 140 + .../VFormDesign/modules/PropsPanel.vue | 86 + .../VFormDesign/modules/Toolbar.vue | 126 + .../components/VFormDesign/styles/drag.less | 225 + .../VFormDesign/styles/variable.less | 15 + .../src/components/VFormItem/index.vue | 201 + .../src/components/VFormItem/vFormItem.vue | 56 + .../src/components/VFormPreview/index.vue | 86 + .../src/components/VFormPreview/useForm.vue | 72 + .../FormDesign/src/components/index.ts | 71 + .../FormDesign/src/core/formItemConfig.ts | 419 + .../FormDesign/src/core/iconConfig.ts | 739 ++ .../src/hooks/useFormDesignState.ts | 19 + .../src/hooks/useFormInstanceMethods.ts | 60 + .../FormDesign/src/hooks/useVFormMethods.ts | 197 + .../FormDesign/src/typings/base-type.ts | 10 + .../FormDesign/src/typings/form-type.ts | 52 + .../src/typings/v-form-component.ts | 350 + .../components/FormDesign/src/utils/index.ts | 208 + .../FormDesign/src/utils/message.ts | 19 + .../src/components/IFrame/index.ts | 4 + .../src/components/IFrame/src/IFrame.vue | 26 + .../src/components/Icon/data/icons.data.ts | 793 ++ .../src/components/Icon/index.ts | 7 + .../src/components/Icon/src/Icon.vue | 102 + .../src/components/Icon/src/IconPicker.vue | 172 + .../src/components/Icon/src/SvgIcon.vue | 60 + .../src/components/Loading/index.ts | 5 + .../src/components/Loading/src/Loading.vue | 65 + .../components/Loading/src/createLoading.ts | 65 + .../src/components/Loading/src/typing.ts | 10 + .../src/components/Loading/src/useLoading.ts | 49 + .../src/components/Markdown/index.ts | 7 + .../src/components/Markdown/src/Markdown.vue | 148 + .../Markdown/src/MarkdownViewer.vue | 66 + .../src/components/Markdown/src/getTheme.ts | 16 + .../src/components/Markdown/src/typing.ts | 5 + .../src/components/Menu/index.ts | 3 + .../src/components/Menu/src/BasicMenu.vue | 146 + .../Menu/src/components/BasicMenuItem.vue | 15 + .../Menu/src/components/BasicSubMenuItem.vue | 40 + .../Menu/src/components/MenuItemContent.vue | 24 + .../src/components/Menu/src/index.less | 74 + .../src/components/Menu/src/props.ts | 60 + .../src/components/Menu/src/types.ts | 25 + .../src/components/Menu/src/useOpenKeys.ts | 76 + .../src/components/Modal/index.ts | 8 + .../src/components/Modal/src/BasicModal.vue | 209 + .../components/Modal/src/components/Modal.tsx | 31 + .../Modal/src/components/ModalClose.vue | 89 + .../Modal/src/components/ModalFooter.vue | 31 + .../Modal/src/components/ModalHeader.vue | 18 + .../Modal/src/components/ModalWrapper.vue | 149 + .../components/Modal/src/hooks/useModal.ts | 150 + .../Modal/src/hooks/useModalContext.ts | 16 + .../Modal/src/hooks/useModalDrag.ts | 110 + .../Modal/src/hooks/useModalFullScreen.ts | 44 + .../src/components/Modal/src/index.less | 137 + .../src/components/Modal/src/props.ts | 83 + .../src/components/Modal/src/typing.ts | 210 + .../src/components/Page/index.ts | 6 + .../src/components/Page/src/PageFooter.vue | 33 + .../src/components/Page/src/PageWrapper.vue | 187 + .../src/components/Preview/index.ts | 2 + .../src/components/Preview/src/Functional.vue | 530 + .../src/components/Preview/src/Preview.vue | 83 + .../src/components/Preview/src/functional.ts | 18 + .../src/components/Preview/src/typing.ts | 55 + .../src/components/Scrollbar/index.ts | 8 + .../components/Scrollbar/src/Scrollbar.vue | 185 + .../src/components/Scrollbar/src/bar.ts | 96 + .../src/components/Scrollbar/src/types.d.ts | 18 + .../src/components/Scrollbar/src/util.ts | 49 + .../src/components/SimpleMenu/index.ts | 2 + .../components/SimpleMenu/src/SimpleMenu.vue | 138 + .../SimpleMenu/src/SimpleMenuTag.vue | 64 + .../SimpleMenu/src/SimpleSubMenu.vue | 90 + .../SimpleMenu/src/components/Menu.vue | 146 + .../src/components/MenuCollapseTransition.vue | 76 + .../SimpleMenu/src/components/MenuItem.vue | 102 + .../SimpleMenu/src/components/SubMenuItem.vue | 285 + .../SimpleMenu/src/components/menu.less | 283 + .../SimpleMenu/src/components/types.ts | 25 + .../SimpleMenu/src/components/useMenu.ts | 88 + .../src/components/useSimpleMenuContext.ts | 18 + .../src/components/SimpleMenu/src/index.less | 63 + .../src/components/SimpleMenu/src/types.ts | 5 + .../components/SimpleMenu/src/useOpenKeys.ts | 49 + .../src/components/StrengthMeter/index.ts | 4 + .../StrengthMeter/src/StrengthMeter.vue | 104 + .../src/components/Table/index.ts | 12 + .../src/components/Table/src/BasicTable.vue | 411 + .../src/components/Table/src/componentMap.ts | 30 + .../src/components/EditTableHeaderIcon.vue | 15 + .../Table/src/components/HeaderCell.vue | 63 + .../Table/src/components/TableAction.vue | 201 + .../Table/src/components/TableActionIcon.ts | 0 .../Table/src/components/TableFooter.vue | 90 + .../Table/src/components/TableHeader.vue | 66 + .../Table/src/components/TableImg.vue | 80 + .../Table/src/components/TableTitle.vue | 50 + .../src/components/editable/CellComponent.ts | 37 + .../src/components/editable/EditableCell.vue | 529 + .../Table/src/components/editable/helper.ts | 27 + .../Table/src/components/editable/index.ts | 69 + .../src/components/settings/ColumnSetting.vue | 452 + .../src/components/settings/FormSetting.vue | 25 + .../components/settings/FullScreenSetting.vue | 23 + .../src/components/settings/RedoSetting.vue | 24 + .../src/components/settings/SizeSetting.vue | 48 + .../Table/src/components/settings/index.vue | 63 + .../src/components/Table/src/const.ts | 31 + .../components/Table/src/hooks/useColumns.ts | 315 + .../Table/src/hooks/useCustomRow.ts | 99 + .../Table/src/hooks/useDataSource.ts | 358 + .../components/Table/src/hooks/useLoading.ts | 22 + .../Table/src/hooks/usePagination.tsx | 85 + .../components/Table/src/hooks/useRender.ts | 133 + .../Table/src/hooks/useRowSelection.ts | 123 + .../components/Table/src/hooks/useScrollTo.ts | 55 + .../components/Table/src/hooks/useTable.ts | 175 + .../Table/src/hooks/useTableContext.ts | 22 + .../Table/src/hooks/useTableExpand.ts | 62 + .../Table/src/hooks/useTableFooter.ts | 55 + .../Table/src/hooks/useTableForm.ts | 61 + .../Table/src/hooks/useTableHeader.ts | 49 + .../Table/src/hooks/useTableScroll.ts | 255 + .../Table/src/hooks/useTableStyle.ts | 20 + .../src/components/Table/src/props.ts | 135 + .../src/components/Table/src/types/column.ts | 195 + .../Table/src/types/componentType.ts | 14 + .../components/Table/src/types/pagination.ts | 109 + .../src/components/Table/src/types/table.ts | 467 + .../components/Table/src/types/tableAction.ts | 40 + .../src/components/Tinymce/index.ts | 4 + .../src/components/Tinymce/src/Editor.vue | 301 + .../src/components/Tinymce/src/ImgUpload.vue | 80 + .../src/components/Tinymce/src/helper.ts | 80 + .../src/components/Tinymce/src/tinymce.ts | 14 + .../src/components/Transition/index.ts | 21 + .../Transition/src/CollapseTransition.vue | 76 + .../Transition/src/CreateTransition.tsx | 67 + .../Transition/src/ExpandTransition.ts | 89 + .../src/components/Tree/index.ts | 6 + .../src/components/Tree/src/BasicTree.vue | 426 + .../src/components/Tree/src/TreeIcon.ts | 14 + .../Tree/src/components/TreeHeader.vue | 182 + .../src/components/Tree/src/hooks/useTree.ts | 219 + .../src/components/Tree/src/types/tree.ts | 210 + .../src/components/Tree/style/index.less | 53 + .../src/components/Tree/style/index.ts | 1 + .../src/components/Upload/index.ts | 4 + .../src/components/Upload/src/BasicUpload.vue | 107 + .../src/components/Upload/src/FileList.vue | 104 + .../src/components/Upload/src/ThumbUrl.vue | 27 + .../src/components/Upload/src/UploadModal.vue | 284 + .../Upload/src/UploadPreviewModal.vue | 88 + .../src/components/Upload/src/data.tsx | 147 + .../src/components/Upload/src/helper.ts | 27 + .../src/components/Upload/src/props.ts | 82 + .../src/components/Upload/src/typing.ts | 55 + .../src/components/Upload/src/useUpload.ts | 59 + .../src/components/Verifition/index.ts | 4 + .../src/components/Verifition/src/Verify.vue | 132 + .../Verifition/src/Verify/VerifyPoints.vue | 256 + .../Verifition/src/Verify/VerifySlide.vue | 364 + .../components/Verifition/src/Verify/index.ts | 4 + .../Verifition/src/style/verify.css | 279 + .../components/Verifition/src/utils/ase.ts | 15 + .../components/Verifition/src/utils/util.ts | 93 + .../src/components/VirtualScroll/index.ts | 4 + .../VirtualScroll/src/VirtualScroll.vue | 187 + .../src/components/registerGlobComp.ts | 7 + yunxi-ui-admin-vben/src/design/color.less | 67 + yunxi-ui-admin-vben/src/design/config.less | 2 + yunxi-ui-admin-vben/src/design/entry.css | 168 + yunxi-ui-admin-vben/src/design/index.less | 80 + yunxi-ui-admin-vben/src/design/public.less | 49 + yunxi-ui-admin-vben/src/design/theme.less | 62 + .../src/design/transition/base.less | 18 + .../src/design/transition/fade.less | 97 + .../src/design/transition/index.less | 13 + .../src/design/transition/scale.less | 21 + .../src/design/transition/scroll.less | 67 + .../src/design/transition/slide.less | 39 + .../src/design/transition/zoom.less | 31 + .../src/design/var/breakpoint.less | 33 + .../src/design/var/easing.less | 18 + yunxi-ui-admin-vben/src/design/var/index.less | 39 + .../src/directives/clickOutside.ts | 78 + yunxi-ui-admin-vben/src/directives/index.ts | 11 + yunxi-ui-admin-vben/src/directives/loading.ts | 39 + .../src/directives/permission.ts | 32 + .../src/directives/repeatClick.ts | 32 + .../src/directives/ripple/index.less | 21 + .../src/directives/ripple/index.ts | 181 + yunxi-ui-admin-vben/src/enums/appEnum.ts | 73 + .../src/enums/breakpointEnum.ts | 28 + yunxi-ui-admin-vben/src/enums/cacheEnum.ts | 38 + .../src/enums/exceptionEnum.ts | 27 + yunxi-ui-admin-vben/src/enums/httpEnum.ts | 33 + yunxi-ui-admin-vben/src/enums/menuEnum.ts | 50 + yunxi-ui-admin-vben/src/enums/pageEnum.ts | 13 + yunxi-ui-admin-vben/src/enums/roleEnum.ts | 7 + yunxi-ui-admin-vben/src/enums/sizeEnum.ts | 19 + yunxi-ui-admin-vben/src/enums/systemEnum.ts | 272 + .../src/hooks/component/useFormItem.ts | 47 + .../src/hooks/component/usePageContext.ts | 18 + .../src/hooks/core/onMountedOrActivated.ts | 17 + .../src/hooks/core/useAttrs.ts | 41 + .../src/hooks/core/useContext.ts | 30 + .../src/hooks/core/useLockFn.ts | 19 + yunxi-ui-admin-vben/src/hooks/core/useRefs.ts | 16 + .../src/hooks/event/useBreakpoint.ts | 94 + .../src/hooks/event/useEventListener.ts | 57 + .../hooks/event/useIntersectionObserver.ts | 43 + .../src/hooks/event/useScroll.ts | 66 + .../src/hooks/event/useScrollTo.ts | 59 + .../src/hooks/event/useWindowSizeFn.ts | 39 + .../src/hooks/setting/index.ts | 34 + .../src/hooks/setting/useHeaderSetting.ts | 84 + .../src/hooks/setting/useMenuSetting.ts | 153 + .../hooks/setting/useMultipleTabSetting.ts | 30 + .../src/hooks/setting/useRootSetting.ts | 90 + .../src/hooks/setting/useTransitionSetting.ts | 30 + .../src/hooks/web/useAppInject.ts | 10 + .../src/hooks/web/useContentHeight.ts | 185 + .../src/hooks/web/useContextMenu.ts | 11 + .../src/hooks/web/useCopyToClipboard.ts | 69 + .../src/hooks/web/useDesign.ts | 24 + .../src/hooks/web/useECharts.ts | 128 + .../src/hooks/web/useFullContent.ts | 27 + yunxi-ui-admin-vben/src/hooks/web/useI18n.ts | 56 + .../src/hooks/web/useLockPage.ts | 76 + .../src/hooks/web/useMessage.tsx | 121 + yunxi-ui-admin-vben/src/hooks/web/usePage.ts | 56 + .../src/hooks/web/usePagination.ts | 31 + .../src/hooks/web/usePermission.ts | 110 + .../src/hooks/web/useScript.ts | 46 + .../src/hooks/web/useSortable.ts | 22 + yunxi-ui-admin-vben/src/hooks/web/useTabs.ts | 104 + yunxi-ui-admin-vben/src/hooks/web/useTitle.ts | 34 + .../src/layouts/default/content/index.vue | 44 + .../default/content/useContentContext.ts | 17 + .../default/content/useContentViewHeight.ts | 41 + .../src/layouts/default/feature/index.vue | 84 + .../src/layouts/default/footer/index.vue | 52 + .../layouts/default/header/MultipleHeader.vue | 101 + .../default/header/components/Breadcrumb.vue | 193 + .../default/header/components/ErrorAction.vue | 32 + .../default/header/components/FullScreen.vue | 26 + .../default/header/components/index.ts | 14 + .../header/components/lock/LockModal.vue | 71 + .../header/components/notify/NoticeList.vue | 118 + .../default/header/components/notify/data.ts | 192 + .../header/components/notify/index.vue | 35 + .../components/user-dropdown/DropMenuItem.vue | 28 + .../header/components/user-dropdown/index.vue | 156 + .../components/user-dropdown/index1.vue | 156 + .../src/layouts/default/header/index.less | 186 + .../src/layouts/default/header/index.vue | 134 + .../src/layouts/default/index.vue | 49 + .../src/layouts/default/menu/index.vue | 187 + .../src/layouts/default/menu/useLayoutMenu.ts | 107 + .../layouts/default/setting/SettingDrawer.tsx | 347 + .../setting/components/InputNumberItem.vue | 27 + .../default/setting/components/SelectItem.vue | 46 + .../setting/components/SettingFooter.vue | 80 + .../default/setting/components/SwitchItem.vue | 46 + .../setting/components/ThemeColorPicker.vue | 78 + .../default/setting/components/TypePicker.vue | 169 + .../default/setting/components/index.ts | 8 + .../src/layouts/default/setting/enum.ts | 151 + .../src/layouts/default/setting/handler.ts | 177 + .../src/layouts/default/setting/index.vue | 17 + .../src/layouts/default/sider/DragBar.vue | 58 + .../src/layouts/default/sider/LayoutSider.vue | 149 + .../src/layouts/default/sider/MixSider.vue | 534 + .../src/layouts/default/sider/index.vue | 52 + .../layouts/default/sider/useLayoutSider.ts | 140 + .../default/tabs/components/FoldButton.vue | 35 + .../default/tabs/components/TabContent.vue | 75 + .../default/tabs/components/TabRedo.vue | 28 + .../src/layouts/default/tabs/index.less | 232 + .../src/layouts/default/tabs/index.vue | 120 + .../src/layouts/default/tabs/types.ts | 25 + .../layouts/default/tabs/useMultipleTabs.ts | 78 + .../layouts/default/tabs/useTabDropdown.ts | 140 + .../layouts/default/trigger/HeaderTrigger.vue | 18 + .../layouts/default/trigger/SiderTrigger.vue | 15 + .../src/layouts/default/trigger/index.vue | 19 + .../src/layouts/iframe/index.vue | 19 + .../src/layouts/iframe/useFrameKeepAlive.ts | 55 + .../src/layouts/page/index.vue | 57 + .../src/layouts/page/transition.ts | 32 + yunxi-ui-admin-vben/src/locales/helper.ts | 37 + yunxi-ui-admin-vben/src/locales/lang/en.ts | 12 + .../src/locales/lang/en/action.ts | 13 + .../src/locales/lang/en/common.ts | 31 + .../src/locales/lang/en/component.ts | 130 + .../src/locales/lang/en/layout.ts | 116 + .../src/locales/lang/en/profile.ts | 38 + .../src/locales/lang/en/routes/basic.ts | 7 + .../src/locales/lang/en/routes/dashboard.ts | 6 + .../src/locales/lang/en/sys.ts | 109 + .../src/locales/lang/zh-CN/action.ts | 14 + .../lang/zh-CN/antdLocale/DatePicker.ts | 6 + .../src/locales/lang/zh-CN/common.ts | 31 + .../src/locales/lang/zh-CN/component.ts | 133 + .../src/locales/lang/zh-CN/layout.ts | 117 + .../src/locales/lang/zh-CN/profile.ts | 39 + .../src/locales/lang/zh-CN/routes/basic.ts | 7 + .../locales/lang/zh-CN/routes/dashboard.ts | 6 + .../src/locales/lang/zh-CN/sys.ts | 105 + yunxi-ui-admin-vben/src/locales/lang/zh_CN.ts | 10 + yunxi-ui-admin-vben/src/locales/setupI18n.ts | 45 + yunxi-ui-admin-vben/src/locales/useLocale.ts | 70 + .../src/logics/error-handle/index.ts | 178 + .../src/logics/initAppConfig.ts | 85 + .../src/logics/mitt/routeChange.ts | 28 + yunxi-ui-admin-vben/src/logics/theme/dark.ts | 12 + yunxi-ui-admin-vben/src/logics/theme/index.ts | 1 + .../src/logics/theme/updateBackground.ts | 73 + .../src/logics/theme/updateColorWeak.ts | 9 + .../src/logics/theme/updateGrayMode.ts | 9 + yunxi-ui-admin-vben/src/logics/theme/util.ts | 11 + yunxi-ui-admin-vben/src/main.ts | 65 + yunxi-ui-admin-vben/src/router/constant.ts | 24 + yunxi-ui-admin-vben/src/router/guard/index.ts | 148 + .../src/router/guard/paramMenuGuard.ts | 47 + .../src/router/guard/permissionGuard.ts | 125 + .../src/router/guard/stateGuard.ts | 24 + .../src/router/helper/menuHelper.ts | 103 + .../src/router/helper/routeHelper.ts | 209 + yunxi-ui-admin-vben/src/router/index.ts | 42 + yunxi-ui-admin-vben/src/router/menus/index.ts | 139 + .../src/router/routes/basic.ts | 48 + .../src/router/routes/index.ts | 289 + .../src/router/routes/modules/about.ts | 31 + .../src/router/routes/modules/dashboard.ts | 40 + yunxi-ui-admin-vben/src/router/types.ts | 65 + .../src/settings/componentSetting.ts | 52 + .../src/settings/designSetting.ts | 48 + .../src/settings/encryptionSetting.ts | 13 + .../src/settings/localeSetting.ts | 30 + .../src/settings/projectSetting.ts | 167 + .../src/settings/siteSetting.ts | 8 + .../src/settings/sizeSetting.ts | 36 + yunxi-ui-admin-vben/src/store/index.ts | 10 + yunxi-ui-admin-vben/src/store/modules/app.ts | 159 + yunxi-ui-admin-vben/src/store/modules/dict.ts | 67 + .../src/store/modules/errorLog.ts | 73 + .../src/store/modules/locale.ts | 54 + yunxi-ui-admin-vben/src/store/modules/lock.ts | 60 + .../src/store/modules/multipleTab.ts | 355 + .../src/store/modules/permission.ts | 253 + yunxi-ui-admin-vben/src/store/modules/user.ts | 212 + .../src/store/modules/userMessage.ts | 24 + yunxi-ui-admin-vben/src/types/axios.d.ts | 56 + yunxi-ui-admin-vben/src/types/config.d.ts | 184 + yunxi-ui-admin-vben/src/types/global.d.ts | 89 + yunxi-ui-admin-vben/src/types/index.d.ts | 37 + yunxi-ui-admin-vben/src/types/module.d.ts | 18 + yunxi-ui-admin-vben/src/types/store.d.ts | 52 + yunxi-ui-admin-vben/src/types/utils.d.ts | 5 + yunxi-ui-admin-vben/src/types/vue-router.d.ts | 51 + yunxi-ui-admin-vben/src/utils/auth/index.ts | 47 + yunxi-ui-admin-vben/src/utils/bem.ts | 50 + yunxi-ui-admin-vben/src/utils/cache/index.ts | 32 + yunxi-ui-admin-vben/src/utils/cache/memory.ts | 107 + .../src/utils/cache/persistent.ts | 138 + .../src/utils/cache/storageCache.ts | 110 + yunxi-ui-admin-vben/src/utils/cipher.ts | 53 + yunxi-ui-admin-vben/src/utils/color.ts | 146 + yunxi-ui-admin-vben/src/utils/dateUtil.ts | 132 + yunxi-ui-admin-vben/src/utils/dict.ts | 173 + yunxi-ui-admin-vben/src/utils/domUtils.ts | 172 + yunxi-ui-admin-vben/src/utils/env.ts | 89 + yunxi-ui-admin-vben/src/utils/event/index.ts | 46 + .../utils/factory/createAsyncComponent.tsx | 73 + .../src/utils/file/base64Conver.ts | 41 + .../src/utils/file/download.ts | 86 + .../src/utils/helper/treeHelper.ts | 200 + .../src/utils/helper/tsxHelper.tsx | 39 + .../src/utils/http/axios/Axios.ts | 379 + .../src/utils/http/axios/axiosCancel.ts | 59 + .../src/utils/http/axios/axiosRetry.ts | 30 + .../src/utils/http/axios/axiosTransform.ts | 48 + .../src/utils/http/axios/checkStatus.ts | 75 + .../src/utils/http/axios/helper.ts | 44 + .../src/utils/http/axios/index.ts | 318 + yunxi-ui-admin-vben/src/utils/index.ts | 170 + yunxi-ui-admin-vben/src/utils/is.ts | 96 + yunxi-ui-admin-vben/src/utils/lib/echarts.ts | 50 + yunxi-ui-admin-vben/src/utils/log.ts | 9 + yunxi-ui-admin-vben/src/utils/mitt.ts | 100 + yunxi-ui-admin-vben/src/utils/propTypes.ts | 35 + yunxi-ui-admin-vben/src/utils/props.ts | 159 + yunxi-ui-admin-vben/src/utils/tongji.ts | 23 + yunxi-ui-admin-vben/src/utils/tree.ts | 277 + yunxi-ui-admin-vben/src/utils/types.ts | 41 + yunxi-ui-admin-vben/src/utils/uuid.ts | 26 + .../src/views/base/about/index.vue | 107 + .../src/views/base/exception/Exception.vue | 143 + .../src/views/base/exception/index.ts | 1 + .../src/views/base/iframe/FrameBlank.vue | 7 + .../src/views/base/iframe/index.vue | 87 + .../src/views/base/lock/LockPage.vue | 221 + .../src/views/base/lock/index.vue | 14 + .../src/views/base/lock/useNow.ts | 60 + .../views/base/login/ForgetPasswordForm.vue | 58 + .../src/views/base/login/Login.vue | 205 + .../src/views/base/login/LoginForm.vue | 216 + .../src/views/base/login/LoginFormTitle.vue | 26 + .../src/views/base/login/MobileForm.vue | 155 + .../src/views/base/login/QrCodeForm.vue | 36 + .../src/views/base/login/RegisterForm.vue | 80 + .../src/views/base/login/SSOForm.vue | 199 + .../views/base/login/SessionTimeoutLogin.vue | 41 + .../src/views/base/login/sso.vue | 200 + .../src/views/base/login/useLogin.ts | 126 + .../src/views/base/profile/AccountBind.vue | 51 + .../src/views/base/profile/BaseSetting.vue | 76 + .../src/views/base/profile/MsgNotify.vue | 28 + .../src/views/base/profile/PasswordModal.vue | 49 + .../src/views/base/profile/SecureSetting.vue | 47 + .../src/views/base/profile/data.ts | 190 + .../src/views/base/profile/index.vue | 32 + .../src/views/base/profile/index1.vue | 31 + .../src/views/base/redirect/index.vue | 32 + .../src/views/bpm/definition/index.vue | 3 + .../src/views/bpm/form/FormModal.vue | 43 + .../src/views/bpm/form/editor/index.vue | 9 + .../src/views/bpm/form/form.data.ts | 46 + .../src/views/bpm/form/index.vue | 86 + .../src/views/bpm/group/GroupModal.vue | 58 + .../src/views/bpm/group/group.data.ts | 134 + .../src/views/bpm/group/index.vue | 78 + .../src/views/bpm/model/ModelImportModal.vue | 78 + .../src/views/bpm/model/ModelModal.vue | 58 + .../src/views/bpm/model/editor/index.vue | 3 + .../src/views/bpm/model/index.vue | 143 + .../src/views/bpm/model/model.data.ts | 225 + .../src/views/bpm/oa/leave/create.vue | 42 + .../src/views/bpm/oa/leave/detail.vue | 40 + .../src/views/bpm/oa/leave/index.vue | 104 + .../src/views/bpm/oa/leave/leave.data.ts | 158 + .../bpm/processInstance/create/create.data.ts | 32 + .../bpm/processInstance/create/index.vue | 115 + .../bpm/processInstance/detail/index.vue | 3 + .../src/views/bpm/processInstance/index.vue | 84 + .../processInstance/processInstance.data.ts | 118 + .../src/views/bpm/task/done/done.data.ts | 79 + .../src/views/bpm/task/done/index.vue | 53 + .../src/views/bpm/task/todo/index.vue | 44 + .../src/views/bpm/task/todo/todo.data.ts | 59 + .../src/views/bpm/taskAssignRule/index.vue | 3 + .../analysis/components/GrowCard.vue | 41 + .../analysis/components/SalesProductPie.vue | 61 + .../analysis/components/SiteAnalysis.vue | 34 + .../analysis/components/VisitAnalysis.vue | 83 + .../analysis/components/VisitAnalysisBar.vue | 47 + .../analysis/components/VisitRadar.vue | 91 + .../analysis/components/VisitSource.vue | 79 + .../dashboard/analysis/components/props.ts | 16 + .../src/views/dashboard/analysis/data.ts | 43 + .../src/views/dashboard/analysis/index.vue | 26 + .../workbench/components/DynamicInfo.vue | 34 + .../workbench/components/ProjectCard.vue | 29 + .../workbench/components/QuickNav.vue | 16 + .../workbench/components/SaleRadar.vue | 91 + .../workbench/components/WorkbenchHeader.vue | 36 + .../dashboard/workbench/components/data.ts | 156 + .../src/views/dashboard/workbench/index.vue | 39 + .../infra/apiAccessLog/AccessLogModal.vue | 25 + .../infra/apiAccessLog/apiAccessLog.data.ts | 222 + .../src/views/infra/apiAccessLog/index.vue | 74 + .../views/infra/apiErrorLog/ErrorLogModal.vue | 25 + .../infra/apiErrorLog/apiErrorLog.data.ts | 248 + .../src/views/infra/apiErrorLog/index.vue | 101 + .../src/views/infra/build/index.vue | 10 + .../src/views/infra/codegen/EditTable.vue | 96 + .../src/views/infra/codegen/codegen.data.ts | 157 + .../codegen/components/BasicInfoForm.vue | 70 + .../codegen/components/CloumInfoForm.vue | 62 + .../infra/codegen/components/FinishForm.vue | 55 + .../codegen/components/ImportTableModal.vue | 43 + .../infra/codegen/components/PreviewModal.vue | 144 + .../views/infra/codegen/components/data.ts | 333 + .../src/views/infra/codegen/index.vue | 109 + .../src/views/infra/config/ConfigModal.vue | 58 + .../src/views/infra/config/config.data.ts | 139 + .../src/views/infra/config/index.vue | 95 + .../DataSourceConfigModal.vue | 56 + .../dataSourceConfig/dataSourceConfig.data.ts | 66 + .../views/infra/dataSourceConfig/index.vue | 86 + .../src/views/infra/dbDoc/index.vue | 53 + .../src/views/infra/druid/index.vue | 12 + .../src/views/infra/file/file.data.ts | 79 + .../src/views/infra/file/index.vue | 95 + .../infra/fileConfig/FileConfigModal.vue | 64 + .../infra/fileConfig/ficleConfig.data.ts | 179 + .../src/views/infra/fileConfig/index.vue | 107 + .../src/views/infra/job/JobModal.vue | 92 + .../src/views/infra/job/index.vue | 141 + .../src/views/infra/job/job.data.ts | 172 + .../views/infra/job/logger/JobLogModal.vue | 28 + .../src/views/infra/job/logger/index.vue | 70 + .../src/views/infra/job/logger/jobLog.data.ts | 150 + .../infra/redis/components/CommandStats.vue | 53 + .../views/infra/redis/components/Memory.vue | 55 + .../src/views/infra/redis/index.vue | 46 + .../src/views/infra/redis/redis.data.ts | 64 + .../src/views/infra/server/index.vue | 29 + .../src/views/infra/skywalking/index.vue | 14 + .../src/views/infra/swagger/index.vue | 16 + .../src/views/infra/testDemo/index.vue | 3 + .../src/views/infra/webSocket/index.vue | 112 + .../src/views/mall/market/banner/index.vue | 3 + .../src/views/mall/product/brand/index.vue | 3 + .../src/views/mall/product/category/index.vue | 3 + .../src/views/mall/product/property/index.vue | 3 + .../src/views/mall/product/spu/index.vue | 3 + .../src/views/mall/promotion/coupon/index.vue | 3 + .../mall/promotion/couponTemplate/index.vue | 3 + .../mall/promotion/discountActivity/index.vue | 3 + .../mall/promotion/rewardActivity/index.vue | 3 + .../seckill/seckillActivity/index.vue | 3 + .../promotion/seckill/seckillTime/index.vue | 3 + .../src/views/mall/trade/afterSale/index.vue | 3 + .../views/mall/trade/expressCompany/index.vue | 3 + .../src/views/mall/trade/order/index.vue | 3 + .../src/views/member/group/GroupModal.vue | 61 + .../src/views/member/group/group.data.ts | 84 + .../src/views/member/group/index.vue | 50 + .../src/views/member/level/LevelModal.vue | 61 + .../src/views/member/level/index.vue | 50 + .../src/views/member/level/level.data.ts | 136 + .../src/views/member/point/config/index.vue | 94 + .../src/views/member/point/record/index.vue | 23 + .../views/member/point/record/record.data.ts | 82 + .../member/signin/config/ConfigModal.vue | 58 + .../views/member/signin/config/config.data.ts | 70 + .../src/views/member/signin/config/index.vue | 75 + .../src/views/member/signin/record/index.vue | 23 + .../views/member/signin/record/record.data.ts | 60 + .../src/views/member/tag/TagModal.vue | 58 + .../src/views/member/tag/index.vue | 78 + .../src/views/member/tag/tag.data.ts | 52 + .../views/member/user/UpdateLevelModal.vue | 58 + .../views/member/user/UserDetailDrawer.vue | 57 + .../src/views/member/user/UserModal.vue | 58 + .../src/views/member/user/index.vue | 67 + .../src/views/member/user/user.data.ts | 367 + .../src/views/mp/account/AccountModal.vue | 58 + .../src/views/mp/account/account.data.ts | 109 + .../src/views/mp/account/index.vue | 119 + .../src/views/mp/autoReply/index.vue | 3 + .../mp/components/WxAccountSelect/index.vue | 48 + .../views/mp/components/WxLocation/index.vue | 66 + .../mp/components/WxMaterialSelect/index.vue | 3 + .../mp/components/WxMaterialSelect/type.ts | 11 + .../src/views/mp/components/WxMsg/index.vue | 3 + .../src/views/mp/components/WxMusic/index.vue | 58 + .../src/views/mp/components/WxNews/index.vue | 190 + .../src/views/mp/components/WxReply/index.vue | 3 + .../views/mp/components/WxVideoPlay/index.vue | 57 + .../views/mp/components/WxVoicePlay/index.vue | 77 + .../src/views/mp/components/index.ts | 3 + .../src/views/mp/draft/index.vue | 3 + .../src/views/mp/freePublish/index.vue | 46 + .../src/views/mp/material/index.vue | 3 + .../src/views/mp/menu/index.vue | 3 + .../src/views/mp/message/MessageModal.vue | 51 + .../src/views/mp/message/index.vue | 49 + .../src/views/mp/message/message.data.ts | 166 + .../components/InterfaceSummaryChart.vue | 72 + .../components/UpstreamMessageChart.vue | 65 + .../components/UserCumulateChart.vue | 76 + .../components/UserSummaryChart.vue | 89 + .../src/views/mp/statistics/index.vue | 24 + .../views/mp/statistics/statistics.data.ts | 0 .../src/views/mp/tag/TagModal.vue | 58 + .../src/views/mp/tag/index.vue | 93 + .../src/views/mp/tag/tag.data.ts | 70 + .../src/views/mp/user/MpUserModal.vue | 48 + .../src/views/mp/user/index.vue | 69 + .../src/views/mp/user/mpuser.data.ts | 118 + .../src/views/pay/app/AppModal.vue | 58 + .../src/views/pay/app/ChannelModal.vue | 88 + .../src/views/pay/app/app.data.ts | 404 + .../src/views/pay/app/index.vue | 226 + .../src/views/pay/cashier/cashier.data.ts | 115 + .../src/views/pay/cashier/index.vue | 5 + .../src/views/pay/demo/DemoModal.vue | 46 + .../src/views/pay/demo/demo.data.ts | 110 + .../src/views/pay/demo/index.vue | 95 + .../src/views/pay/notify/NotifyModal.vue | 34 + .../src/views/pay/notify/index.vue | 50 + .../src/views/pay/notify/notify.data.ts | 228 + .../src/views/pay/order/OrderModal.vue | 23 + .../src/views/pay/order/index.vue | 70 + .../src/views/pay/order/order.data.ts | 278 + .../src/views/pay/refund/RefundModal.vue | 23 + .../src/views/pay/refund/index.vue | 70 + .../src/views/pay/refund/refund.data.ts | 251 + .../src/views/report/goview/index.vue | 14 + .../src/views/report/jmreport/index.vue | 15 + .../stpagea/enterpriseCentre/branch/index.vue | 235 + .../branch/src/ConfirmDel.vue | 0 .../enterpriseCentre/branch/src/ModalAdd.vue | 77 + .../enterpriseCentre/branch/src/ModalEdit.vue | 73 + .../branch/src/TransferList.vue | 58 + .../enterpriseDetails/index.vue | 290 + .../enterpriseDetails/src/AuthInfo.vue | 250 + .../enterpriseDetails/src/BasicInfo.vue | 285 + .../enterpriseDetails/src/Branch.vue | 321 + .../enterpriseDetails/src/CustomerInfo.vue | 492 + .../enterpriseDetails/src/EmployeeInfo.vue | 550 + .../enterpriseDetails/src/OperateRecords.vue | 169 + .../enterpriseDetails/src/OrgInfo.vue | 317 + .../enterpriseDetails/src/ProviderInfo.vue | 569 + .../enterpriseDetails/src/SupplierInfo.vue | 455 + .../src/views/system/area/AreaModal.vue | 42 + .../src/views/system/area/area.data.ts | 29 + .../src/views/system/area/index.vue | 53 + .../src/views/system/dept/DeptModal.vue | 61 + .../src/views/system/dept/dept.data.ts | 151 + .../src/views/system/dept/index.vue | 126 + .../src/views/system/dict/DictData.vue | 102 + .../src/views/system/dict/DictDataModal.vue | 63 + .../src/views/system/dict/DictTypeModal.vue | 58 + .../src/views/system/dict/dict.data.ts | 206 + .../src/views/system/dict/dict.type.ts | 89 + .../src/views/system/dict/index.vue | 90 + .../views/system/errorCode/ErrorCodeModal.vue | 58 + .../views/system/errorCode/errorCode.data.ts | 115 + .../src/views/system/errorCode/index.vue | 94 + .../src/views/system/loginlog/index.vue | 46 + .../src/views/system/loginlog/index1.vue | 46 + .../views/system/loginlog/loginLog.data.ts | 83 + .../system/mail/account/AccountModal.vue | 58 + .../views/system/mail/account/account.data.ts | 121 + .../src/views/system/mail/account/index.vue | 78 + .../views/system/mail/log/MailLogModal.vue | 28 + .../src/views/system/mail/log/index.vue | 55 + .../src/views/system/mail/log/mailLog.data.ts | 192 + .../system/mail/template/SendMailModal.vue | 107 + .../system/mail/template/TemplateModal.vue | 58 + .../src/views/system/mail/template/index.vue | 96 + .../system/mail/template/template.data.ts | 220 + .../src/views/system/menu/MenuModal.vue | 58 + .../src/views/system/menu/index.vue | 96 + .../src/views/system/menu/menu.data.ts | 198 + .../src/views/system/notice/NoticeModal.vue | 58 + .../src/views/system/notice/index.vue | 78 + .../src/views/system/notice/index1.vue | 78 + .../src/views/system/notice/notice.data.ts | 93 + .../notify/components/MessageInfoModal.vue | 27 + .../system/notify/components/message.data.ts | 96 + .../src/views/system/notify/message/index.vue | 56 + .../views/system/notify/message/index1.vue | 56 + .../system/notify/message/message.data.ts | 204 + .../src/views/system/notify/my/index.vue | 125 + .../src/views/system/notify/my/my.data.ts | 112 + .../notify/template/SendNotifyModal.vue | 88 + .../system/notify/template/TemplateModal.vue | 58 + .../views/system/notify/template/index.vue | 97 + .../system/notify/template/template.data.ts | 181 + .../system/oauth2/client/ClientModal.vue | 58 + .../views/system/oauth2/client/client.data.ts | 212 + .../src/views/system/oauth2/client/index.vue | 78 + .../src/views/system/oauth2/token/index.vue | 60 + .../views/system/oauth2/token/token.data.ts | 69 + .../views/system/operatelog/LogInfoModal.vue | 25 + .../src/views/system/operatelog/index.vue | 74 + .../system/operatelog/operateLog.data.ts | 202 + .../src/views/system/post/PostModal.vue | 58 + .../src/views/system/post/index.vue | 94 + .../src/views/system/post/post.data.ts | 112 + .../src/views/system/role/RoleMenuModal.vue | 121 + .../src/views/system/role/RoleModal.vue | 58 + .../src/views/system/role/RoleScopeModal.vue | 73 + .../src/views/system/role/index.vue | 122 + .../src/views/system/role/role.data.ts | 186 + .../sensitiveWord/SensitiveWordModal.vue | 58 + .../src/views/system/sensitiveWord/index.vue | 99 + .../sensitiveWord/sensitiveWord.data.ts | 113 + .../system/sms/channel/SmsChannelModal.vue | 58 + .../src/views/system/sms/channel/index.vue | 79 + .../system/sms/channel/smsChannel.data.ts | 138 + .../src/views/system/sms/log/index.vue | 47 + .../src/views/system/sms/log/smsLog.data.ts | 148 + .../system/sms/template/SendSmsModal.vue | 88 + .../system/sms/template/SmsTemplateModal.vue | 58 + .../src/views/system/sms/template/index.vue | 107 + .../system/sms/template/smsTemplate.data.ts | 209 + .../src/views/system/tenant/TenantModal.vue | 58 + .../src/views/system/tenant/index.vue | 94 + .../src/views/system/tenant/tenant.data.ts | 191 + .../tenantPackage/TenantPackageModal.vue | 127 + .../src/views/system/tenantPackage/index.vue | 83 + .../tenantPackage/tenantPackage.data.ts | 90 + .../src/views/system/user/DeptTree.vue | 41 + .../src/views/system/user/ResetPwdModal.vue | 50 + .../src/views/system/user/UserModal.vue | 58 + .../src/views/system/user/UserRoleModal.vue | 52 + .../src/views/system/user/index.vue | 144 + .../src/views/system/user/index1.vue | 142 + .../src/views/system/user/user.data.ts | 345 + .../src/views/users/configuration/index.vue | 727 ++ .../src/views/users/mine/index.vue | 957 ++ .../src/views/users/newNustomer/index.vue | 1753 +++ .../BusinessOrganizationModal.vue | 58 + .../businessOrganization.data.ts | 258 + .../views/xxjj/businessOrganization/index.vue | 151 + .../BusinessTree.vue | 42 + .../BusinessWarehouseModal.vue | 59 + .../businessWarehouse.data.ts | 239 + .../xxjj/businessOrganizationConfig/index.vue | 111 + .../BusinessWarehouseModal.vue | 58 + .../businessWarehouse.data.ts | 275 + .../views/xxjj/businessWarehouse/index.vue | 95 + .../views/xxjj/customer/SubjectBasicModal.vue | 72 + .../src/views/xxjj/customer/index.vue | 92 + .../views/xxjj/customer/subjectBasic.data.ts | 1732 +++ .../views/xxjj/enterprise/EnterpriseModal.vue | 57 + .../views/xxjj/enterprise/enterprise.data.ts | 784 ++ .../src/views/xxjj/enterprise/index.vue | 92 + .../enterprisebranching/EnterpriseModal.vue | 58 + .../enterprisebranching/enterprise.data.ts | 851 ++ .../views/xxjj/enterprisebranching/index.vue | 129 + .../views/xxjj/service/SubjectBasicModal.vue | 57 + .../src/views/xxjj/service/index.vue | 139 + .../views/xxjj/service/subjectBasic.data.ts | 1692 +++ .../SubjectFollowManagementModal.vue | 57 + .../xxjj/subjectFollowManagement/index.vue | 92 + .../subjectFollowManagement.data.ts | 397 + .../views/xxjj/supplier/SubjectBasicModal.vue | 57 + .../src/views/xxjj/supplier/index.vue | 92 + .../views/xxjj/supplier/subjectBasic.data.ts | 1692 +++ yunxi-ui-admin-vben/stylelint.config.js | 73 + yunxi-ui-admin-vben/tsconfig.json | 41 + yunxi-ui-admin-vben/uno.config.ts | 13 + yunxi-ui-admin-vben/vite.config.ts | 99 + 1049 files changed, 106860 insertions(+) create mode 100644 yunxi-ui-admin-vben/.editorconfig create mode 100644 yunxi-ui-admin-vben/.env create mode 100644 yunxi-ui-admin-vben/.env.front create mode 100644 yunxi-ui-admin-vben/.env.production create mode 100644 yunxi-ui-admin-vben/.env.static create mode 100644 yunxi-ui-admin-vben/.env.test create mode 100644 yunxi-ui-admin-vben/.eslintignore create mode 100644 yunxi-ui-admin-vben/.eslintrc.js create mode 100644 yunxi-ui-admin-vben/.gitattributes create mode 100644 yunxi-ui-admin-vben/.gitignore create mode 100644 yunxi-ui-admin-vben/.gitpod.yml create mode 100644 yunxi-ui-admin-vben/.hintrc create mode 100644 yunxi-ui-admin-vben/.prettierignore create mode 100644 yunxi-ui-admin-vben/.stylelintignore create mode 100644 yunxi-ui-admin-vben/LICENSE create mode 100644 yunxi-ui-admin-vben/README.md create mode 100644 yunxi-ui-admin-vben/commitlint.config.js create mode 100644 yunxi-ui-admin-vben/index.html create mode 100644 yunxi-ui-admin-vben/npm create mode 100644 yunxi-ui-admin-vben/package.json create mode 100644 yunxi-ui-admin-vben/pnpm-lock.yaml create mode 100644 yunxi-ui-admin-vben/public/favicon.ico create mode 100644 yunxi-ui-admin-vben/public/resource/img/logo.png create mode 100644 yunxi-ui-admin-vben/public/resource/img/pwa-192x192.png create mode 100644 yunxi-ui-admin-vben/public/resource/img/pwa-512x512.png create mode 100644 yunxi-ui-admin-vben/public/resource/img/wx.png create mode 100644 yunxi-ui-admin-vben/public/resource/img/wx2.png create mode 100644 yunxi-ui-admin-vben/public/resource/tinymce/langs/en.js create mode 100644 yunxi-ui-admin-vben/public/resource/tinymce/langs/zh_CN.js create mode 100644 yunxi-ui-admin-vben/public/resource/tinymce/skins/ui/oxide-dark/content.inline.min.css create mode 100644 yunxi-ui-admin-vben/public/resource/tinymce/skins/ui/oxide-dark/content.min.css create mode 100644 yunxi-ui-admin-vben/public/resource/tinymce/skins/ui/oxide-dark/content.mobile.min.css create mode 100644 yunxi-ui-admin-vben/public/resource/tinymce/skins/ui/oxide-dark/skin.min.css create mode 100644 yunxi-ui-admin-vben/public/resource/tinymce/skins/ui/oxide-dark/skin.mobile.min.css create mode 100644 yunxi-ui-admin-vben/public/resource/tinymce/skins/ui/oxide-dark/skin.shadowdom.min.css create mode 100644 yunxi-ui-admin-vben/public/resource/tinymce/skins/ui/oxide/content.inline.min.css create mode 100644 yunxi-ui-admin-vben/public/resource/tinymce/skins/ui/oxide/content.min.css create mode 100644 yunxi-ui-admin-vben/public/resource/tinymce/skins/ui/oxide/content.mobile.min.css create mode 100644 yunxi-ui-admin-vben/public/resource/tinymce/skins/ui/oxide/fonts/tinymce-mobile.woff create mode 100644 yunxi-ui-admin-vben/public/resource/tinymce/skins/ui/oxide/skin.min.css create mode 100644 yunxi-ui-admin-vben/public/resource/tinymce/skins/ui/oxide/skin.mobile.min.css create mode 100644 yunxi-ui-admin-vben/public/resource/tinymce/skins/ui/oxide/skin.shadowdom.min.css create mode 100644 yunxi-ui-admin-vben/src/App.vue create mode 100644 yunxi-ui-admin-vben/src/api/base/login.ts create mode 100644 yunxi-ui-admin-vben/src/api/base/model/loginModel.ts create mode 100644 yunxi-ui-admin-vben/src/api/base/model/menuModel.ts create mode 100644 yunxi-ui-admin-vben/src/api/base/model/uploadModel.ts create mode 100644 yunxi-ui-admin-vben/src/api/base/model/userModel.ts create mode 100644 yunxi-ui-admin-vben/src/api/base/profile.ts create mode 100644 yunxi-ui-admin-vben/src/api/base/upload.ts create mode 100644 yunxi-ui-admin-vben/src/api/base/user.ts create mode 100644 yunxi-ui-admin-vben/src/api/bpm/activity/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/bpm/definition/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/bpm/form/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/bpm/leave/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/bpm/model/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/bpm/processInstance/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/bpm/task/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/bpm/taskAssignRule/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/bpm/userGroup/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/infra/apiAccessLog/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/infra/apiErrorLog/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/infra/codegen/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/infra/codegen/types.ts create mode 100644 yunxi-ui-admin-vben/src/api/infra/config/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/infra/dataSourceConfig/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/infra/dbDoc/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/infra/file/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/infra/fileConfig/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/infra/job/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/infra/jobLog/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/infra/redis/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/infra/redis/types.ts create mode 100644 yunxi-ui-admin-vben/src/api/member/address/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/member/group/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/member/level/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/member/point/config/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/member/point/record/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/member/signin/config/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/member/signin/record/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/member/tag/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/member/user/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/mp/account/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/mp/autoReply/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/mp/draft/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/mp/freePublish/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/mp/material/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/mp/menu/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/mp/message/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/mp/mpuser/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/mp/statistics/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/mp/tag/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/pay/app/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/pay/channel/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/pay/demo/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/pay/notify/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/pay/order/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/pay/refund/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/system/area/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/system/dept/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/system/dict/data.ts create mode 100644 yunxi-ui-admin-vben/src/api/system/dict/type.ts create mode 100644 yunxi-ui-admin-vben/src/api/system/dict/types.ts create mode 100644 yunxi-ui-admin-vben/src/api/system/enterprise/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/system/errorCode/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/system/loginLog/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/system/mail/account.ts create mode 100644 yunxi-ui-admin-vben/src/api/system/mail/log.ts create mode 100644 yunxi-ui-admin-vben/src/api/system/mail/template.ts create mode 100644 yunxi-ui-admin-vben/src/api/system/menu/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/system/notice/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/system/notify/message.ts create mode 100644 yunxi-ui-admin-vben/src/api/system/notify/template.ts create mode 100644 yunxi-ui-admin-vben/src/api/system/oauth2/client.ts create mode 100644 yunxi-ui-admin-vben/src/api/system/oauth2/token.ts create mode 100644 yunxi-ui-admin-vben/src/api/system/operatelog/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/system/permission/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/system/post/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/system/role/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/system/sensitiveWord/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/system/sms/smsChannel/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/system/sms/smsLog/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/system/sms/smsTemplate/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/system/tenant/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/system/tenantPackage/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/system/user/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/xxjj/businessWarehouse/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/xxjj/customer/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/xxjj/enterprise/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/xxjj/subjectBasic/index.ts create mode 100644 yunxi-ui-admin-vben/src/api/xxjj/subjectFollowManagement/index.ts create mode 100644 yunxi-ui-admin-vben/src/assets/icons/download-count.svg create mode 100644 yunxi-ui-admin-vben/src/assets/icons/dynamic-avatar-1.svg create mode 100644 yunxi-ui-admin-vben/src/assets/icons/dynamic-avatar-2.svg create mode 100644 yunxi-ui-admin-vben/src/assets/icons/dynamic-avatar-3.svg create mode 100644 yunxi-ui-admin-vben/src/assets/icons/dynamic-avatar-4.svg create mode 100644 yunxi-ui-admin-vben/src/assets/icons/dynamic-avatar-5.svg create mode 100644 yunxi-ui-admin-vben/src/assets/icons/dynamic-avatar-6.svg create mode 100644 yunxi-ui-admin-vben/src/assets/icons/moon.svg create mode 100644 yunxi-ui-admin-vben/src/assets/icons/sun.svg create mode 100644 yunxi-ui-admin-vben/src/assets/icons/test.svg create mode 100644 yunxi-ui-admin-vben/src/assets/icons/total-sales.svg create mode 100644 yunxi-ui-admin-vben/src/assets/icons/transaction.svg create mode 100644 yunxi-ui-admin-vben/src/assets/icons/visit-count.svg create mode 100644 yunxi-ui-admin-vben/src/assets/images/demo.png create mode 100644 yunxi-ui-admin-vben/src/assets/images/header.jpg create mode 100644 yunxi-ui-admin-vben/src/assets/images/logo.png create mode 100644 yunxi-ui-admin-vben/src/assets/images/pay/icon/alipay_app.svg create mode 100644 yunxi-ui-admin-vben/src/assets/images/pay/icon/alipay_bar.svg create mode 100644 yunxi-ui-admin-vben/src/assets/images/pay/icon/alipay_pc.svg create mode 100644 yunxi-ui-admin-vben/src/assets/images/pay/icon/alipay_qr.svg create mode 100644 yunxi-ui-admin-vben/src/assets/images/pay/icon/alipay_wap.svg create mode 100644 yunxi-ui-admin-vben/src/assets/images/pay/icon/mock.svg create mode 100644 yunxi-ui-admin-vben/src/assets/images/pay/icon/wx_app.svg create mode 100644 yunxi-ui-admin-vben/src/assets/images/pay/icon/wx_lite.svg create mode 100644 yunxi-ui-admin-vben/src/assets/images/pay/icon/wx_pub.svg create mode 100644 yunxi-ui-admin-vben/src/assets/images/test/w100h100.png create mode 100644 yunxi-ui-admin-vben/src/assets/svg/illustration.svg create mode 100644 yunxi-ui-admin-vben/src/assets/svg/login-bg-dark.svg create mode 100644 yunxi-ui-admin-vben/src/assets/svg/login-bg.svg create mode 100644 yunxi-ui-admin-vben/src/assets/svg/login-box-bg.svg create mode 100644 yunxi-ui-admin-vben/src/assets/svg/net-error.svg create mode 100644 yunxi-ui-admin-vben/src/assets/svg/no-data.svg create mode 100644 yunxi-ui-admin-vben/src/assets/svg/preview/p-rotate.svg create mode 100644 yunxi-ui-admin-vben/src/assets/svg/preview/resume.svg create mode 100644 yunxi-ui-admin-vben/src/assets/svg/preview/scale.svg create mode 100644 yunxi-ui-admin-vben/src/assets/svg/preview/unrotate.svg create mode 100644 yunxi-ui-admin-vben/src/assets/svg/preview/unscale.svg create mode 100644 yunxi-ui-admin-vben/src/components/Application/index.ts create mode 100644 yunxi-ui-admin-vben/src/components/Application/src/AppDarkModeToggle.vue create mode 100644 yunxi-ui-admin-vben/src/components/Application/src/AppLocalePicker.vue create mode 100644 yunxi-ui-admin-vben/src/components/Application/src/AppLogo.vue create mode 100644 yunxi-ui-admin-vben/src/components/Application/src/AppProvider.vue create mode 100644 yunxi-ui-admin-vben/src/components/Application/src/AppSizePicker.vue create mode 100644 yunxi-ui-admin-vben/src/components/Application/src/search/AppSearch.vue create mode 100644 yunxi-ui-admin-vben/src/components/Application/src/search/AppSearchFooter.vue create mode 100644 yunxi-ui-admin-vben/src/components/Application/src/search/AppSearchKeyItem.vue create mode 100644 yunxi-ui-admin-vben/src/components/Application/src/search/AppSearchModal.vue create mode 100644 yunxi-ui-admin-vben/src/components/Application/src/search/useMenuSearch.ts create mode 100644 yunxi-ui-admin-vben/src/components/Application/src/useAppContext.ts create mode 100644 yunxi-ui-admin-vben/src/components/Authority/index.ts create mode 100644 yunxi-ui-admin-vben/src/components/Authority/src/Authority.vue create mode 100644 yunxi-ui-admin-vben/src/components/Basic/index.ts create mode 100644 yunxi-ui-admin-vben/src/components/Basic/src/BasicArrow.vue create mode 100644 yunxi-ui-admin-vben/src/components/Basic/src/BasicHelp.vue create mode 100644 yunxi-ui-admin-vben/src/components/Basic/src/BasicTitle.vue create mode 100644 yunxi-ui-admin-vben/src/components/Button/index.ts create mode 100644 yunxi-ui-admin-vben/src/components/Button/src/BasicButton.vue create mode 100644 yunxi-ui-admin-vben/src/components/Button/src/PopConfirmButton.vue create mode 100644 yunxi-ui-admin-vben/src/components/Button/src/props.ts create mode 100644 yunxi-ui-admin-vben/src/components/CardList/index.ts create mode 100644 yunxi-ui-admin-vben/src/components/CardList/src/CardList.vue create mode 100644 yunxi-ui-admin-vben/src/components/CardList/src/data.ts create mode 100644 yunxi-ui-admin-vben/src/components/CodeEditor/index.ts create mode 100644 yunxi-ui-admin-vben/src/components/CodeEditor/src/CodeEditor.vue create mode 100644 yunxi-ui-admin-vben/src/components/CodeEditor/src/codemirror/CodeMirror.vue create mode 100644 yunxi-ui-admin-vben/src/components/CodeEditor/src/codemirror/codeMirror.ts create mode 100644 yunxi-ui-admin-vben/src/components/CodeEditor/src/codemirror/codemirror.css create mode 100644 yunxi-ui-admin-vben/src/components/CodeEditor/src/json-preview/JsonPreview.vue create mode 100644 yunxi-ui-admin-vben/src/components/CodeEditor/src/typing.ts create mode 100644 yunxi-ui-admin-vben/src/components/Container/index.ts create mode 100644 yunxi-ui-admin-vben/src/components/Container/src/LazyContainer.vue create mode 100644 yunxi-ui-admin-vben/src/components/Container/src/ScrollContainer.vue create mode 100644 yunxi-ui-admin-vben/src/components/Container/src/collapse/CollapseContainer.vue create mode 100644 yunxi-ui-admin-vben/src/components/Container/src/collapse/CollapseHeader.vue create mode 100644 yunxi-ui-admin-vben/src/components/Container/src/typing.ts create mode 100644 yunxi-ui-admin-vben/src/components/ContextMenu/index.ts create mode 100644 yunxi-ui-admin-vben/src/components/ContextMenu/src/ContextMenu.vue create mode 100644 yunxi-ui-admin-vben/src/components/ContextMenu/src/createContextMenu.ts create mode 100644 yunxi-ui-admin-vben/src/components/ContextMenu/src/typing.ts create mode 100644 yunxi-ui-admin-vben/src/components/CountDown/index.ts create mode 100644 yunxi-ui-admin-vben/src/components/CountDown/src/CountButton.vue create mode 100644 yunxi-ui-admin-vben/src/components/CountDown/src/CountdownInput.vue create mode 100644 yunxi-ui-admin-vben/src/components/CountDown/src/useCountdown.ts create mode 100644 yunxi-ui-admin-vben/src/components/CountTo/index.ts create mode 100644 yunxi-ui-admin-vben/src/components/CountTo/src/CountTo.vue create mode 100644 yunxi-ui-admin-vben/src/components/CronTab/index.ts create mode 100644 yunxi-ui-admin-vben/src/components/CronTab/src/CronTabInner.vue create mode 100644 yunxi-ui-admin-vben/src/components/CronTab/src/CronTabInput.vue create mode 100644 yunxi-ui-admin-vben/src/components/CronTab/src/CronTabModal.vue create mode 100644 yunxi-ui-admin-vben/src/components/CronTab/src/cron.data.ts create mode 100644 yunxi-ui-admin-vben/src/components/CronTab/src/tabs/DayUI.vue create mode 100644 yunxi-ui-admin-vben/src/components/CronTab/src/tabs/HourUI.vue create mode 100644 yunxi-ui-admin-vben/src/components/CronTab/src/tabs/MinuteUI.vue create mode 100644 yunxi-ui-admin-vben/src/components/CronTab/src/tabs/MonthUI.vue create mode 100644 yunxi-ui-admin-vben/src/components/CronTab/src/tabs/SecondUI.vue create mode 100644 yunxi-ui-admin-vben/src/components/CronTab/src/tabs/WeekUI.vue create mode 100644 yunxi-ui-admin-vben/src/components/CronTab/src/tabs/YearUI.vue create mode 100644 yunxi-ui-admin-vben/src/components/CronTab/src/tabs/useTabMixin.ts create mode 100644 yunxi-ui-admin-vben/src/components/CronTab/src/validator.ts create mode 100644 yunxi-ui-admin-vben/src/components/Cropper/index.ts create mode 100644 yunxi-ui-admin-vben/src/components/Cropper/src/CopperModal.vue create mode 100644 yunxi-ui-admin-vben/src/components/Cropper/src/Cropper.vue create mode 100644 yunxi-ui-admin-vben/src/components/Cropper/src/CropperAvatar.vue create mode 100644 yunxi-ui-admin-vben/src/components/Cropper/src/typing.ts create mode 100644 yunxi-ui-admin-vben/src/components/Description/index.ts create mode 100644 yunxi-ui-admin-vben/src/components/Description/src/Description.vue create mode 100644 yunxi-ui-admin-vben/src/components/Description/src/typing.ts create mode 100644 yunxi-ui-admin-vben/src/components/Description/src/useDescription.ts create mode 100644 yunxi-ui-admin-vben/src/components/DictTag/index.ts create mode 100644 yunxi-ui-admin-vben/src/components/DictTag/src/DictTag.vue create mode 100644 yunxi-ui-admin-vben/src/components/Drawer/index.ts create mode 100644 yunxi-ui-admin-vben/src/components/Drawer/src/BasicDrawer.vue create mode 100644 yunxi-ui-admin-vben/src/components/Drawer/src/components/DrawerFooter.vue create mode 100644 yunxi-ui-admin-vben/src/components/Drawer/src/components/DrawerHeader.vue create mode 100644 yunxi-ui-admin-vben/src/components/Drawer/src/props.ts create mode 100644 yunxi-ui-admin-vben/src/components/Drawer/src/typing.ts create mode 100644 yunxi-ui-admin-vben/src/components/Drawer/src/useDrawer.ts create mode 100644 yunxi-ui-admin-vben/src/components/Dropdown/index.ts create mode 100644 yunxi-ui-admin-vben/src/components/Dropdown/src/Dropdown.vue create mode 100644 yunxi-ui-admin-vben/src/components/Dropdown/src/typing.ts create mode 100644 yunxi-ui-admin-vben/src/components/Excel/index.ts create mode 100644 yunxi-ui-admin-vben/src/components/Excel/src/Export2Excel.ts create mode 100644 yunxi-ui-admin-vben/src/components/Excel/src/ExportExcelModal.vue create mode 100644 yunxi-ui-admin-vben/src/components/Excel/src/ImportExcel.vue create mode 100644 yunxi-ui-admin-vben/src/components/Excel/src/typing.ts create mode 100644 yunxi-ui-admin-vben/src/components/Form/index.ts create mode 100644 yunxi-ui-admin-vben/src/components/Form/src/BasicForm.vue create mode 100644 yunxi-ui-admin-vben/src/components/Form/src/componentMap.ts create mode 100644 yunxi-ui-admin-vben/src/components/Form/src/components/ApiCascader.vue create mode 100644 yunxi-ui-admin-vben/src/components/Form/src/components/ApiRadioGroup.vue create mode 100644 yunxi-ui-admin-vben/src/components/Form/src/components/ApiSelect.vue create mode 100644 yunxi-ui-admin-vben/src/components/Form/src/components/ApiTransfer.vue create mode 100644 yunxi-ui-admin-vben/src/components/Form/src/components/ApiTree.vue create mode 100644 yunxi-ui-admin-vben/src/components/Form/src/components/ApiTreeSelect.vue create mode 100644 yunxi-ui-admin-vben/src/components/Form/src/components/FileUpload.vue create mode 100644 yunxi-ui-admin-vben/src/components/Form/src/components/FormAction.vue create mode 100644 yunxi-ui-admin-vben/src/components/Form/src/components/FormItem.vue create mode 100644 yunxi-ui-admin-vben/src/components/Form/src/components/RadioButtonGroup.vue create mode 100644 yunxi-ui-admin-vben/src/components/Form/src/components/UploadItemActions.vue create mode 100644 yunxi-ui-admin-vben/src/components/Form/src/helper.ts create mode 100644 yunxi-ui-admin-vben/src/components/Form/src/hooks/useAdvanced.ts create mode 100644 yunxi-ui-admin-vben/src/components/Form/src/hooks/useAutoFocus.ts create mode 100644 yunxi-ui-admin-vben/src/components/Form/src/hooks/useComponentRegister.ts create mode 100644 yunxi-ui-admin-vben/src/components/Form/src/hooks/useForm.ts create mode 100644 yunxi-ui-admin-vben/src/components/Form/src/hooks/useFormContext.ts create mode 100644 yunxi-ui-admin-vben/src/components/Form/src/hooks/useFormEvents.ts create mode 100644 yunxi-ui-admin-vben/src/components/Form/src/hooks/useFormValues.ts create mode 100644 yunxi-ui-admin-vben/src/components/Form/src/hooks/useLabelWidth.ts create mode 100644 yunxi-ui-admin-vben/src/components/Form/src/props.ts create mode 100644 yunxi-ui-admin-vben/src/components/Form/src/types/form.ts create mode 100644 yunxi-ui-admin-vben/src/components/Form/src/types/formItem.ts create mode 100644 yunxi-ui-admin-vben/src/components/Form/src/types/hooks.ts create mode 100644 yunxi-ui-admin-vben/src/components/Form/src/types/index.ts create mode 100644 yunxi-ui-admin-vben/src/components/FormDesign/index.ts create mode 100644 yunxi-ui-admin-vben/src/components/FormDesign/src/components/VFormCreate/components/FormRender.vue create mode 100644 yunxi-ui-admin-vben/src/components/FormDesign/src/components/VFormCreate/index.vue create mode 100644 yunxi-ui-admin-vben/src/components/FormDesign/src/components/VFormDesign/components/CodeModal.vue create mode 100644 yunxi-ui-admin-vben/src/components/FormDesign/src/components/VFormDesign/components/ComponentProps.vue create mode 100644 yunxi-ui-admin-vben/src/components/FormDesign/src/components/VFormDesign/components/FormItemColumnProps.vue create mode 100644 yunxi-ui-admin-vben/src/components/FormDesign/src/components/VFormDesign/components/FormItemProps.vue create mode 100644 yunxi-ui-admin-vben/src/components/FormDesign/src/components/VFormDesign/components/FormNode.vue create mode 100644 yunxi-ui-admin-vben/src/components/FormDesign/src/components/VFormDesign/components/FormNodeOperate.vue create mode 100644 yunxi-ui-admin-vben/src/components/FormDesign/src/components/VFormDesign/components/FormOptions.vue create mode 100644 yunxi-ui-admin-vben/src/components/FormDesign/src/components/VFormDesign/components/FormProps.vue create mode 100644 yunxi-ui-admin-vben/src/components/FormDesign/src/components/VFormDesign/components/ImportJsonModal.vue create mode 100644 yunxi-ui-admin-vben/src/components/FormDesign/src/components/VFormDesign/components/JsonModal.vue create mode 100644 yunxi-ui-admin-vben/src/components/FormDesign/src/components/VFormDesign/components/LayoutItem.vue create mode 100644 yunxi-ui-admin-vben/src/components/FormDesign/src/components/VFormDesign/components/PreviewCode.vue create mode 100644 yunxi-ui-admin-vben/src/components/FormDesign/src/components/VFormDesign/components/RuleProps.vue create mode 100644 yunxi-ui-admin-vben/src/components/FormDesign/src/components/VFormDesign/config/componentPropsConfig.ts create mode 100644 yunxi-ui-admin-vben/src/components/FormDesign/src/components/VFormDesign/config/formItemPropsConfig.ts create mode 100644 yunxi-ui-admin-vben/src/components/FormDesign/src/components/VFormDesign/index.vue create mode 100644 yunxi-ui-admin-vben/src/components/FormDesign/src/components/VFormDesign/modules/CollapseItem.vue create mode 100644 yunxi-ui-admin-vben/src/components/FormDesign/src/components/VFormDesign/modules/FormComponentPanel.vue create mode 100644 yunxi-ui-admin-vben/src/components/FormDesign/src/components/VFormDesign/modules/PropsPanel.vue create mode 100644 yunxi-ui-admin-vben/src/components/FormDesign/src/components/VFormDesign/modules/Toolbar.vue create mode 100644 yunxi-ui-admin-vben/src/components/FormDesign/src/components/VFormDesign/styles/drag.less create mode 100644 yunxi-ui-admin-vben/src/components/FormDesign/src/components/VFormDesign/styles/variable.less create mode 100644 yunxi-ui-admin-vben/src/components/FormDesign/src/components/VFormItem/index.vue create mode 100644 yunxi-ui-admin-vben/src/components/FormDesign/src/components/VFormItem/vFormItem.vue create mode 100644 yunxi-ui-admin-vben/src/components/FormDesign/src/components/VFormPreview/index.vue create mode 100644 yunxi-ui-admin-vben/src/components/FormDesign/src/components/VFormPreview/useForm.vue create mode 100644 yunxi-ui-admin-vben/src/components/FormDesign/src/components/index.ts create mode 100644 yunxi-ui-admin-vben/src/components/FormDesign/src/core/formItemConfig.ts create mode 100644 yunxi-ui-admin-vben/src/components/FormDesign/src/core/iconConfig.ts create mode 100644 yunxi-ui-admin-vben/src/components/FormDesign/src/hooks/useFormDesignState.ts create mode 100644 yunxi-ui-admin-vben/src/components/FormDesign/src/hooks/useFormInstanceMethods.ts create mode 100644 yunxi-ui-admin-vben/src/components/FormDesign/src/hooks/useVFormMethods.ts create mode 100644 yunxi-ui-admin-vben/src/components/FormDesign/src/typings/base-type.ts create mode 100644 yunxi-ui-admin-vben/src/components/FormDesign/src/typings/form-type.ts create mode 100644 yunxi-ui-admin-vben/src/components/FormDesign/src/typings/v-form-component.ts create mode 100644 yunxi-ui-admin-vben/src/components/FormDesign/src/utils/index.ts create mode 100644 yunxi-ui-admin-vben/src/components/FormDesign/src/utils/message.ts create mode 100644 yunxi-ui-admin-vben/src/components/IFrame/index.ts create mode 100644 yunxi-ui-admin-vben/src/components/IFrame/src/IFrame.vue create mode 100644 yunxi-ui-admin-vben/src/components/Icon/data/icons.data.ts create mode 100644 yunxi-ui-admin-vben/src/components/Icon/index.ts create mode 100644 yunxi-ui-admin-vben/src/components/Icon/src/Icon.vue create mode 100644 yunxi-ui-admin-vben/src/components/Icon/src/IconPicker.vue create mode 100644 yunxi-ui-admin-vben/src/components/Icon/src/SvgIcon.vue create mode 100644 yunxi-ui-admin-vben/src/components/Loading/index.ts create mode 100644 yunxi-ui-admin-vben/src/components/Loading/src/Loading.vue create mode 100644 yunxi-ui-admin-vben/src/components/Loading/src/createLoading.ts create mode 100644 yunxi-ui-admin-vben/src/components/Loading/src/typing.ts create mode 100644 yunxi-ui-admin-vben/src/components/Loading/src/useLoading.ts create mode 100644 yunxi-ui-admin-vben/src/components/Markdown/index.ts create mode 100644 yunxi-ui-admin-vben/src/components/Markdown/src/Markdown.vue create mode 100644 yunxi-ui-admin-vben/src/components/Markdown/src/MarkdownViewer.vue create mode 100644 yunxi-ui-admin-vben/src/components/Markdown/src/getTheme.ts create mode 100644 yunxi-ui-admin-vben/src/components/Markdown/src/typing.ts create mode 100644 yunxi-ui-admin-vben/src/components/Menu/index.ts create mode 100644 yunxi-ui-admin-vben/src/components/Menu/src/BasicMenu.vue create mode 100644 yunxi-ui-admin-vben/src/components/Menu/src/components/BasicMenuItem.vue create mode 100644 yunxi-ui-admin-vben/src/components/Menu/src/components/BasicSubMenuItem.vue create mode 100644 yunxi-ui-admin-vben/src/components/Menu/src/components/MenuItemContent.vue create mode 100644 yunxi-ui-admin-vben/src/components/Menu/src/index.less create mode 100644 yunxi-ui-admin-vben/src/components/Menu/src/props.ts create mode 100644 yunxi-ui-admin-vben/src/components/Menu/src/types.ts create mode 100644 yunxi-ui-admin-vben/src/components/Menu/src/useOpenKeys.ts create mode 100644 yunxi-ui-admin-vben/src/components/Modal/index.ts create mode 100644 yunxi-ui-admin-vben/src/components/Modal/src/BasicModal.vue create mode 100644 yunxi-ui-admin-vben/src/components/Modal/src/components/Modal.tsx create mode 100644 yunxi-ui-admin-vben/src/components/Modal/src/components/ModalClose.vue create mode 100644 yunxi-ui-admin-vben/src/components/Modal/src/components/ModalFooter.vue create mode 100644 yunxi-ui-admin-vben/src/components/Modal/src/components/ModalHeader.vue create mode 100644 yunxi-ui-admin-vben/src/components/Modal/src/components/ModalWrapper.vue create mode 100644 yunxi-ui-admin-vben/src/components/Modal/src/hooks/useModal.ts create mode 100644 yunxi-ui-admin-vben/src/components/Modal/src/hooks/useModalContext.ts create mode 100644 yunxi-ui-admin-vben/src/components/Modal/src/hooks/useModalDrag.ts create mode 100644 yunxi-ui-admin-vben/src/components/Modal/src/hooks/useModalFullScreen.ts create mode 100644 yunxi-ui-admin-vben/src/components/Modal/src/index.less create mode 100644 yunxi-ui-admin-vben/src/components/Modal/src/props.ts create mode 100644 yunxi-ui-admin-vben/src/components/Modal/src/typing.ts create mode 100644 yunxi-ui-admin-vben/src/components/Page/index.ts create mode 100644 yunxi-ui-admin-vben/src/components/Page/src/PageFooter.vue create mode 100644 yunxi-ui-admin-vben/src/components/Page/src/PageWrapper.vue create mode 100644 yunxi-ui-admin-vben/src/components/Preview/index.ts create mode 100644 yunxi-ui-admin-vben/src/components/Preview/src/Functional.vue create mode 100644 yunxi-ui-admin-vben/src/components/Preview/src/Preview.vue create mode 100644 yunxi-ui-admin-vben/src/components/Preview/src/functional.ts create mode 100644 yunxi-ui-admin-vben/src/components/Preview/src/typing.ts create mode 100644 yunxi-ui-admin-vben/src/components/Scrollbar/index.ts create mode 100644 yunxi-ui-admin-vben/src/components/Scrollbar/src/Scrollbar.vue create mode 100644 yunxi-ui-admin-vben/src/components/Scrollbar/src/bar.ts create mode 100644 yunxi-ui-admin-vben/src/components/Scrollbar/src/types.d.ts create mode 100644 yunxi-ui-admin-vben/src/components/Scrollbar/src/util.ts create mode 100644 yunxi-ui-admin-vben/src/components/SimpleMenu/index.ts create mode 100644 yunxi-ui-admin-vben/src/components/SimpleMenu/src/SimpleMenu.vue create mode 100644 yunxi-ui-admin-vben/src/components/SimpleMenu/src/SimpleMenuTag.vue create mode 100644 yunxi-ui-admin-vben/src/components/SimpleMenu/src/SimpleSubMenu.vue create mode 100644 yunxi-ui-admin-vben/src/components/SimpleMenu/src/components/Menu.vue create mode 100644 yunxi-ui-admin-vben/src/components/SimpleMenu/src/components/MenuCollapseTransition.vue create mode 100644 yunxi-ui-admin-vben/src/components/SimpleMenu/src/components/MenuItem.vue create mode 100644 yunxi-ui-admin-vben/src/components/SimpleMenu/src/components/SubMenuItem.vue create mode 100644 yunxi-ui-admin-vben/src/components/SimpleMenu/src/components/menu.less create mode 100644 yunxi-ui-admin-vben/src/components/SimpleMenu/src/components/types.ts create mode 100644 yunxi-ui-admin-vben/src/components/SimpleMenu/src/components/useMenu.ts create mode 100644 yunxi-ui-admin-vben/src/components/SimpleMenu/src/components/useSimpleMenuContext.ts create mode 100644 yunxi-ui-admin-vben/src/components/SimpleMenu/src/index.less create mode 100644 yunxi-ui-admin-vben/src/components/SimpleMenu/src/types.ts create mode 100644 yunxi-ui-admin-vben/src/components/SimpleMenu/src/useOpenKeys.ts create mode 100644 yunxi-ui-admin-vben/src/components/StrengthMeter/index.ts create mode 100644 yunxi-ui-admin-vben/src/components/StrengthMeter/src/StrengthMeter.vue create mode 100644 yunxi-ui-admin-vben/src/components/Table/index.ts create mode 100644 yunxi-ui-admin-vben/src/components/Table/src/BasicTable.vue create mode 100644 yunxi-ui-admin-vben/src/components/Table/src/componentMap.ts create mode 100644 yunxi-ui-admin-vben/src/components/Table/src/components/EditTableHeaderIcon.vue create mode 100644 yunxi-ui-admin-vben/src/components/Table/src/components/HeaderCell.vue create mode 100644 yunxi-ui-admin-vben/src/components/Table/src/components/TableAction.vue create mode 100644 yunxi-ui-admin-vben/src/components/Table/src/components/TableActionIcon.ts create mode 100644 yunxi-ui-admin-vben/src/components/Table/src/components/TableFooter.vue create mode 100644 yunxi-ui-admin-vben/src/components/Table/src/components/TableHeader.vue create mode 100644 yunxi-ui-admin-vben/src/components/Table/src/components/TableImg.vue create mode 100644 yunxi-ui-admin-vben/src/components/Table/src/components/TableTitle.vue create mode 100644 yunxi-ui-admin-vben/src/components/Table/src/components/editable/CellComponent.ts create mode 100644 yunxi-ui-admin-vben/src/components/Table/src/components/editable/EditableCell.vue create mode 100644 yunxi-ui-admin-vben/src/components/Table/src/components/editable/helper.ts create mode 100644 yunxi-ui-admin-vben/src/components/Table/src/components/editable/index.ts create mode 100644 yunxi-ui-admin-vben/src/components/Table/src/components/settings/ColumnSetting.vue create mode 100644 yunxi-ui-admin-vben/src/components/Table/src/components/settings/FormSetting.vue create mode 100644 yunxi-ui-admin-vben/src/components/Table/src/components/settings/FullScreenSetting.vue create mode 100644 yunxi-ui-admin-vben/src/components/Table/src/components/settings/RedoSetting.vue create mode 100644 yunxi-ui-admin-vben/src/components/Table/src/components/settings/SizeSetting.vue create mode 100644 yunxi-ui-admin-vben/src/components/Table/src/components/settings/index.vue create mode 100644 yunxi-ui-admin-vben/src/components/Table/src/const.ts create mode 100644 yunxi-ui-admin-vben/src/components/Table/src/hooks/useColumns.ts create mode 100644 yunxi-ui-admin-vben/src/components/Table/src/hooks/useCustomRow.ts create mode 100644 yunxi-ui-admin-vben/src/components/Table/src/hooks/useDataSource.ts create mode 100644 yunxi-ui-admin-vben/src/components/Table/src/hooks/useLoading.ts create mode 100644 yunxi-ui-admin-vben/src/components/Table/src/hooks/usePagination.tsx create mode 100644 yunxi-ui-admin-vben/src/components/Table/src/hooks/useRender.ts create mode 100644 yunxi-ui-admin-vben/src/components/Table/src/hooks/useRowSelection.ts create mode 100644 yunxi-ui-admin-vben/src/components/Table/src/hooks/useScrollTo.ts create mode 100644 yunxi-ui-admin-vben/src/components/Table/src/hooks/useTable.ts create mode 100644 yunxi-ui-admin-vben/src/components/Table/src/hooks/useTableContext.ts create mode 100644 yunxi-ui-admin-vben/src/components/Table/src/hooks/useTableExpand.ts create mode 100644 yunxi-ui-admin-vben/src/components/Table/src/hooks/useTableFooter.ts create mode 100644 yunxi-ui-admin-vben/src/components/Table/src/hooks/useTableForm.ts create mode 100644 yunxi-ui-admin-vben/src/components/Table/src/hooks/useTableHeader.ts create mode 100644 yunxi-ui-admin-vben/src/components/Table/src/hooks/useTableScroll.ts create mode 100644 yunxi-ui-admin-vben/src/components/Table/src/hooks/useTableStyle.ts create mode 100644 yunxi-ui-admin-vben/src/components/Table/src/props.ts create mode 100644 yunxi-ui-admin-vben/src/components/Table/src/types/column.ts create mode 100644 yunxi-ui-admin-vben/src/components/Table/src/types/componentType.ts create mode 100644 yunxi-ui-admin-vben/src/components/Table/src/types/pagination.ts create mode 100644 yunxi-ui-admin-vben/src/components/Table/src/types/table.ts create mode 100644 yunxi-ui-admin-vben/src/components/Table/src/types/tableAction.ts create mode 100644 yunxi-ui-admin-vben/src/components/Tinymce/index.ts create mode 100644 yunxi-ui-admin-vben/src/components/Tinymce/src/Editor.vue create mode 100644 yunxi-ui-admin-vben/src/components/Tinymce/src/ImgUpload.vue create mode 100644 yunxi-ui-admin-vben/src/components/Tinymce/src/helper.ts create mode 100644 yunxi-ui-admin-vben/src/components/Tinymce/src/tinymce.ts create mode 100644 yunxi-ui-admin-vben/src/components/Transition/index.ts create mode 100644 yunxi-ui-admin-vben/src/components/Transition/src/CollapseTransition.vue create mode 100644 yunxi-ui-admin-vben/src/components/Transition/src/CreateTransition.tsx create mode 100644 yunxi-ui-admin-vben/src/components/Transition/src/ExpandTransition.ts create mode 100644 yunxi-ui-admin-vben/src/components/Tree/index.ts create mode 100644 yunxi-ui-admin-vben/src/components/Tree/src/BasicTree.vue create mode 100644 yunxi-ui-admin-vben/src/components/Tree/src/TreeIcon.ts create mode 100644 yunxi-ui-admin-vben/src/components/Tree/src/components/TreeHeader.vue create mode 100644 yunxi-ui-admin-vben/src/components/Tree/src/hooks/useTree.ts create mode 100644 yunxi-ui-admin-vben/src/components/Tree/src/types/tree.ts create mode 100644 yunxi-ui-admin-vben/src/components/Tree/style/index.less create mode 100644 yunxi-ui-admin-vben/src/components/Tree/style/index.ts create mode 100644 yunxi-ui-admin-vben/src/components/Upload/index.ts create mode 100644 yunxi-ui-admin-vben/src/components/Upload/src/BasicUpload.vue create mode 100644 yunxi-ui-admin-vben/src/components/Upload/src/FileList.vue create mode 100644 yunxi-ui-admin-vben/src/components/Upload/src/ThumbUrl.vue create mode 100644 yunxi-ui-admin-vben/src/components/Upload/src/UploadModal.vue create mode 100644 yunxi-ui-admin-vben/src/components/Upload/src/UploadPreviewModal.vue create mode 100644 yunxi-ui-admin-vben/src/components/Upload/src/data.tsx create mode 100644 yunxi-ui-admin-vben/src/components/Upload/src/helper.ts create mode 100644 yunxi-ui-admin-vben/src/components/Upload/src/props.ts create mode 100644 yunxi-ui-admin-vben/src/components/Upload/src/typing.ts create mode 100644 yunxi-ui-admin-vben/src/components/Upload/src/useUpload.ts create mode 100644 yunxi-ui-admin-vben/src/components/Verifition/index.ts create mode 100644 yunxi-ui-admin-vben/src/components/Verifition/src/Verify.vue create mode 100644 yunxi-ui-admin-vben/src/components/Verifition/src/Verify/VerifyPoints.vue create mode 100644 yunxi-ui-admin-vben/src/components/Verifition/src/Verify/VerifySlide.vue create mode 100644 yunxi-ui-admin-vben/src/components/Verifition/src/Verify/index.ts create mode 100644 yunxi-ui-admin-vben/src/components/Verifition/src/style/verify.css create mode 100644 yunxi-ui-admin-vben/src/components/Verifition/src/utils/ase.ts create mode 100644 yunxi-ui-admin-vben/src/components/Verifition/src/utils/util.ts create mode 100644 yunxi-ui-admin-vben/src/components/VirtualScroll/index.ts create mode 100644 yunxi-ui-admin-vben/src/components/VirtualScroll/src/VirtualScroll.vue create mode 100644 yunxi-ui-admin-vben/src/components/registerGlobComp.ts create mode 100644 yunxi-ui-admin-vben/src/design/color.less create mode 100644 yunxi-ui-admin-vben/src/design/config.less create mode 100644 yunxi-ui-admin-vben/src/design/entry.css create mode 100644 yunxi-ui-admin-vben/src/design/index.less create mode 100644 yunxi-ui-admin-vben/src/design/public.less create mode 100644 yunxi-ui-admin-vben/src/design/theme.less create mode 100644 yunxi-ui-admin-vben/src/design/transition/base.less create mode 100644 yunxi-ui-admin-vben/src/design/transition/fade.less create mode 100644 yunxi-ui-admin-vben/src/design/transition/index.less create mode 100644 yunxi-ui-admin-vben/src/design/transition/scale.less create mode 100644 yunxi-ui-admin-vben/src/design/transition/scroll.less create mode 100644 yunxi-ui-admin-vben/src/design/transition/slide.less create mode 100644 yunxi-ui-admin-vben/src/design/transition/zoom.less create mode 100644 yunxi-ui-admin-vben/src/design/var/breakpoint.less create mode 100644 yunxi-ui-admin-vben/src/design/var/easing.less create mode 100644 yunxi-ui-admin-vben/src/design/var/index.less create mode 100644 yunxi-ui-admin-vben/src/directives/clickOutside.ts create mode 100644 yunxi-ui-admin-vben/src/directives/index.ts create mode 100644 yunxi-ui-admin-vben/src/directives/loading.ts create mode 100644 yunxi-ui-admin-vben/src/directives/permission.ts create mode 100644 yunxi-ui-admin-vben/src/directives/repeatClick.ts create mode 100644 yunxi-ui-admin-vben/src/directives/ripple/index.less create mode 100644 yunxi-ui-admin-vben/src/directives/ripple/index.ts create mode 100644 yunxi-ui-admin-vben/src/enums/appEnum.ts create mode 100644 yunxi-ui-admin-vben/src/enums/breakpointEnum.ts create mode 100644 yunxi-ui-admin-vben/src/enums/cacheEnum.ts create mode 100644 yunxi-ui-admin-vben/src/enums/exceptionEnum.ts create mode 100644 yunxi-ui-admin-vben/src/enums/httpEnum.ts create mode 100644 yunxi-ui-admin-vben/src/enums/menuEnum.ts create mode 100644 yunxi-ui-admin-vben/src/enums/pageEnum.ts create mode 100644 yunxi-ui-admin-vben/src/enums/roleEnum.ts create mode 100644 yunxi-ui-admin-vben/src/enums/sizeEnum.ts create mode 100644 yunxi-ui-admin-vben/src/enums/systemEnum.ts create mode 100644 yunxi-ui-admin-vben/src/hooks/component/useFormItem.ts create mode 100644 yunxi-ui-admin-vben/src/hooks/component/usePageContext.ts create mode 100644 yunxi-ui-admin-vben/src/hooks/core/onMountedOrActivated.ts create mode 100644 yunxi-ui-admin-vben/src/hooks/core/useAttrs.ts create mode 100644 yunxi-ui-admin-vben/src/hooks/core/useContext.ts create mode 100644 yunxi-ui-admin-vben/src/hooks/core/useLockFn.ts create mode 100644 yunxi-ui-admin-vben/src/hooks/core/useRefs.ts create mode 100644 yunxi-ui-admin-vben/src/hooks/event/useBreakpoint.ts create mode 100644 yunxi-ui-admin-vben/src/hooks/event/useEventListener.ts create mode 100644 yunxi-ui-admin-vben/src/hooks/event/useIntersectionObserver.ts create mode 100644 yunxi-ui-admin-vben/src/hooks/event/useScroll.ts create mode 100644 yunxi-ui-admin-vben/src/hooks/event/useScrollTo.ts create mode 100644 yunxi-ui-admin-vben/src/hooks/event/useWindowSizeFn.ts create mode 100644 yunxi-ui-admin-vben/src/hooks/setting/index.ts create mode 100644 yunxi-ui-admin-vben/src/hooks/setting/useHeaderSetting.ts create mode 100644 yunxi-ui-admin-vben/src/hooks/setting/useMenuSetting.ts create mode 100644 yunxi-ui-admin-vben/src/hooks/setting/useMultipleTabSetting.ts create mode 100644 yunxi-ui-admin-vben/src/hooks/setting/useRootSetting.ts create mode 100644 yunxi-ui-admin-vben/src/hooks/setting/useTransitionSetting.ts create mode 100644 yunxi-ui-admin-vben/src/hooks/web/useAppInject.ts create mode 100644 yunxi-ui-admin-vben/src/hooks/web/useContentHeight.ts create mode 100644 yunxi-ui-admin-vben/src/hooks/web/useContextMenu.ts create mode 100644 yunxi-ui-admin-vben/src/hooks/web/useCopyToClipboard.ts create mode 100644 yunxi-ui-admin-vben/src/hooks/web/useDesign.ts create mode 100644 yunxi-ui-admin-vben/src/hooks/web/useECharts.ts create mode 100644 yunxi-ui-admin-vben/src/hooks/web/useFullContent.ts create mode 100644 yunxi-ui-admin-vben/src/hooks/web/useI18n.ts create mode 100644 yunxi-ui-admin-vben/src/hooks/web/useLockPage.ts create mode 100644 yunxi-ui-admin-vben/src/hooks/web/useMessage.tsx create mode 100644 yunxi-ui-admin-vben/src/hooks/web/usePage.ts create mode 100644 yunxi-ui-admin-vben/src/hooks/web/usePagination.ts create mode 100644 yunxi-ui-admin-vben/src/hooks/web/usePermission.ts create mode 100644 yunxi-ui-admin-vben/src/hooks/web/useScript.ts create mode 100644 yunxi-ui-admin-vben/src/hooks/web/useSortable.ts create mode 100644 yunxi-ui-admin-vben/src/hooks/web/useTabs.ts create mode 100644 yunxi-ui-admin-vben/src/hooks/web/useTitle.ts create mode 100644 yunxi-ui-admin-vben/src/layouts/default/content/index.vue create mode 100644 yunxi-ui-admin-vben/src/layouts/default/content/useContentContext.ts create mode 100644 yunxi-ui-admin-vben/src/layouts/default/content/useContentViewHeight.ts create mode 100644 yunxi-ui-admin-vben/src/layouts/default/feature/index.vue create mode 100644 yunxi-ui-admin-vben/src/layouts/default/footer/index.vue create mode 100644 yunxi-ui-admin-vben/src/layouts/default/header/MultipleHeader.vue create mode 100644 yunxi-ui-admin-vben/src/layouts/default/header/components/Breadcrumb.vue create mode 100644 yunxi-ui-admin-vben/src/layouts/default/header/components/ErrorAction.vue create mode 100644 yunxi-ui-admin-vben/src/layouts/default/header/components/FullScreen.vue create mode 100644 yunxi-ui-admin-vben/src/layouts/default/header/components/index.ts create mode 100644 yunxi-ui-admin-vben/src/layouts/default/header/components/lock/LockModal.vue create mode 100644 yunxi-ui-admin-vben/src/layouts/default/header/components/notify/NoticeList.vue create mode 100644 yunxi-ui-admin-vben/src/layouts/default/header/components/notify/data.ts create mode 100644 yunxi-ui-admin-vben/src/layouts/default/header/components/notify/index.vue create mode 100644 yunxi-ui-admin-vben/src/layouts/default/header/components/user-dropdown/DropMenuItem.vue create mode 100644 yunxi-ui-admin-vben/src/layouts/default/header/components/user-dropdown/index.vue create mode 100644 yunxi-ui-admin-vben/src/layouts/default/header/components/user-dropdown/index1.vue create mode 100644 yunxi-ui-admin-vben/src/layouts/default/header/index.less create mode 100644 yunxi-ui-admin-vben/src/layouts/default/header/index.vue create mode 100644 yunxi-ui-admin-vben/src/layouts/default/index.vue create mode 100644 yunxi-ui-admin-vben/src/layouts/default/menu/index.vue create mode 100644 yunxi-ui-admin-vben/src/layouts/default/menu/useLayoutMenu.ts create mode 100644 yunxi-ui-admin-vben/src/layouts/default/setting/SettingDrawer.tsx create mode 100644 yunxi-ui-admin-vben/src/layouts/default/setting/components/InputNumberItem.vue create mode 100644 yunxi-ui-admin-vben/src/layouts/default/setting/components/SelectItem.vue create mode 100644 yunxi-ui-admin-vben/src/layouts/default/setting/components/SettingFooter.vue create mode 100644 yunxi-ui-admin-vben/src/layouts/default/setting/components/SwitchItem.vue create mode 100644 yunxi-ui-admin-vben/src/layouts/default/setting/components/ThemeColorPicker.vue create mode 100644 yunxi-ui-admin-vben/src/layouts/default/setting/components/TypePicker.vue create mode 100644 yunxi-ui-admin-vben/src/layouts/default/setting/components/index.ts create mode 100644 yunxi-ui-admin-vben/src/layouts/default/setting/enum.ts create mode 100644 yunxi-ui-admin-vben/src/layouts/default/setting/handler.ts create mode 100644 yunxi-ui-admin-vben/src/layouts/default/setting/index.vue create mode 100644 yunxi-ui-admin-vben/src/layouts/default/sider/DragBar.vue create mode 100644 yunxi-ui-admin-vben/src/layouts/default/sider/LayoutSider.vue create mode 100644 yunxi-ui-admin-vben/src/layouts/default/sider/MixSider.vue create mode 100644 yunxi-ui-admin-vben/src/layouts/default/sider/index.vue create mode 100644 yunxi-ui-admin-vben/src/layouts/default/sider/useLayoutSider.ts create mode 100644 yunxi-ui-admin-vben/src/layouts/default/tabs/components/FoldButton.vue create mode 100644 yunxi-ui-admin-vben/src/layouts/default/tabs/components/TabContent.vue create mode 100644 yunxi-ui-admin-vben/src/layouts/default/tabs/components/TabRedo.vue create mode 100644 yunxi-ui-admin-vben/src/layouts/default/tabs/index.less create mode 100644 yunxi-ui-admin-vben/src/layouts/default/tabs/index.vue create mode 100644 yunxi-ui-admin-vben/src/layouts/default/tabs/types.ts create mode 100644 yunxi-ui-admin-vben/src/layouts/default/tabs/useMultipleTabs.ts create mode 100644 yunxi-ui-admin-vben/src/layouts/default/tabs/useTabDropdown.ts create mode 100644 yunxi-ui-admin-vben/src/layouts/default/trigger/HeaderTrigger.vue create mode 100644 yunxi-ui-admin-vben/src/layouts/default/trigger/SiderTrigger.vue create mode 100644 yunxi-ui-admin-vben/src/layouts/default/trigger/index.vue create mode 100644 yunxi-ui-admin-vben/src/layouts/iframe/index.vue create mode 100644 yunxi-ui-admin-vben/src/layouts/iframe/useFrameKeepAlive.ts create mode 100644 yunxi-ui-admin-vben/src/layouts/page/index.vue create mode 100644 yunxi-ui-admin-vben/src/layouts/page/transition.ts create mode 100644 yunxi-ui-admin-vben/src/locales/helper.ts create mode 100644 yunxi-ui-admin-vben/src/locales/lang/en.ts create mode 100644 yunxi-ui-admin-vben/src/locales/lang/en/action.ts create mode 100644 yunxi-ui-admin-vben/src/locales/lang/en/common.ts create mode 100644 yunxi-ui-admin-vben/src/locales/lang/en/component.ts create mode 100644 yunxi-ui-admin-vben/src/locales/lang/en/layout.ts create mode 100644 yunxi-ui-admin-vben/src/locales/lang/en/profile.ts create mode 100644 yunxi-ui-admin-vben/src/locales/lang/en/routes/basic.ts create mode 100644 yunxi-ui-admin-vben/src/locales/lang/en/routes/dashboard.ts create mode 100644 yunxi-ui-admin-vben/src/locales/lang/en/sys.ts create mode 100644 yunxi-ui-admin-vben/src/locales/lang/zh-CN/action.ts create mode 100644 yunxi-ui-admin-vben/src/locales/lang/zh-CN/antdLocale/DatePicker.ts create mode 100644 yunxi-ui-admin-vben/src/locales/lang/zh-CN/common.ts create mode 100644 yunxi-ui-admin-vben/src/locales/lang/zh-CN/component.ts create mode 100644 yunxi-ui-admin-vben/src/locales/lang/zh-CN/layout.ts create mode 100644 yunxi-ui-admin-vben/src/locales/lang/zh-CN/profile.ts create mode 100644 yunxi-ui-admin-vben/src/locales/lang/zh-CN/routes/basic.ts create mode 100644 yunxi-ui-admin-vben/src/locales/lang/zh-CN/routes/dashboard.ts create mode 100644 yunxi-ui-admin-vben/src/locales/lang/zh-CN/sys.ts create mode 100644 yunxi-ui-admin-vben/src/locales/lang/zh_CN.ts create mode 100644 yunxi-ui-admin-vben/src/locales/setupI18n.ts create mode 100644 yunxi-ui-admin-vben/src/locales/useLocale.ts create mode 100644 yunxi-ui-admin-vben/src/logics/error-handle/index.ts create mode 100644 yunxi-ui-admin-vben/src/logics/initAppConfig.ts create mode 100644 yunxi-ui-admin-vben/src/logics/mitt/routeChange.ts create mode 100644 yunxi-ui-admin-vben/src/logics/theme/dark.ts create mode 100644 yunxi-ui-admin-vben/src/logics/theme/index.ts create mode 100644 yunxi-ui-admin-vben/src/logics/theme/updateBackground.ts create mode 100644 yunxi-ui-admin-vben/src/logics/theme/updateColorWeak.ts create mode 100644 yunxi-ui-admin-vben/src/logics/theme/updateGrayMode.ts create mode 100644 yunxi-ui-admin-vben/src/logics/theme/util.ts create mode 100644 yunxi-ui-admin-vben/src/main.ts create mode 100644 yunxi-ui-admin-vben/src/router/constant.ts create mode 100644 yunxi-ui-admin-vben/src/router/guard/index.ts create mode 100644 yunxi-ui-admin-vben/src/router/guard/paramMenuGuard.ts create mode 100644 yunxi-ui-admin-vben/src/router/guard/permissionGuard.ts create mode 100644 yunxi-ui-admin-vben/src/router/guard/stateGuard.ts create mode 100644 yunxi-ui-admin-vben/src/router/helper/menuHelper.ts create mode 100644 yunxi-ui-admin-vben/src/router/helper/routeHelper.ts create mode 100644 yunxi-ui-admin-vben/src/router/index.ts create mode 100644 yunxi-ui-admin-vben/src/router/menus/index.ts create mode 100644 yunxi-ui-admin-vben/src/router/routes/basic.ts create mode 100644 yunxi-ui-admin-vben/src/router/routes/index.ts create mode 100644 yunxi-ui-admin-vben/src/router/routes/modules/about.ts create mode 100644 yunxi-ui-admin-vben/src/router/routes/modules/dashboard.ts create mode 100644 yunxi-ui-admin-vben/src/router/types.ts create mode 100644 yunxi-ui-admin-vben/src/settings/componentSetting.ts create mode 100644 yunxi-ui-admin-vben/src/settings/designSetting.ts create mode 100644 yunxi-ui-admin-vben/src/settings/encryptionSetting.ts create mode 100644 yunxi-ui-admin-vben/src/settings/localeSetting.ts create mode 100644 yunxi-ui-admin-vben/src/settings/projectSetting.ts create mode 100644 yunxi-ui-admin-vben/src/settings/siteSetting.ts create mode 100644 yunxi-ui-admin-vben/src/settings/sizeSetting.ts create mode 100644 yunxi-ui-admin-vben/src/store/index.ts create mode 100644 yunxi-ui-admin-vben/src/store/modules/app.ts create mode 100644 yunxi-ui-admin-vben/src/store/modules/dict.ts create mode 100644 yunxi-ui-admin-vben/src/store/modules/errorLog.ts create mode 100644 yunxi-ui-admin-vben/src/store/modules/locale.ts create mode 100644 yunxi-ui-admin-vben/src/store/modules/lock.ts create mode 100644 yunxi-ui-admin-vben/src/store/modules/multipleTab.ts create mode 100644 yunxi-ui-admin-vben/src/store/modules/permission.ts create mode 100644 yunxi-ui-admin-vben/src/store/modules/user.ts create mode 100644 yunxi-ui-admin-vben/src/store/modules/userMessage.ts create mode 100644 yunxi-ui-admin-vben/src/types/axios.d.ts create mode 100644 yunxi-ui-admin-vben/src/types/config.d.ts create mode 100644 yunxi-ui-admin-vben/src/types/global.d.ts create mode 100644 yunxi-ui-admin-vben/src/types/index.d.ts create mode 100644 yunxi-ui-admin-vben/src/types/module.d.ts create mode 100644 yunxi-ui-admin-vben/src/types/store.d.ts create mode 100644 yunxi-ui-admin-vben/src/types/utils.d.ts create mode 100644 yunxi-ui-admin-vben/src/types/vue-router.d.ts create mode 100644 yunxi-ui-admin-vben/src/utils/auth/index.ts create mode 100644 yunxi-ui-admin-vben/src/utils/bem.ts create mode 100644 yunxi-ui-admin-vben/src/utils/cache/index.ts create mode 100644 yunxi-ui-admin-vben/src/utils/cache/memory.ts create mode 100644 yunxi-ui-admin-vben/src/utils/cache/persistent.ts create mode 100644 yunxi-ui-admin-vben/src/utils/cache/storageCache.ts create mode 100644 yunxi-ui-admin-vben/src/utils/cipher.ts create mode 100644 yunxi-ui-admin-vben/src/utils/color.ts create mode 100644 yunxi-ui-admin-vben/src/utils/dateUtil.ts create mode 100644 yunxi-ui-admin-vben/src/utils/dict.ts create mode 100644 yunxi-ui-admin-vben/src/utils/domUtils.ts create mode 100644 yunxi-ui-admin-vben/src/utils/env.ts create mode 100644 yunxi-ui-admin-vben/src/utils/event/index.ts create mode 100644 yunxi-ui-admin-vben/src/utils/factory/createAsyncComponent.tsx create mode 100644 yunxi-ui-admin-vben/src/utils/file/base64Conver.ts create mode 100644 yunxi-ui-admin-vben/src/utils/file/download.ts create mode 100644 yunxi-ui-admin-vben/src/utils/helper/treeHelper.ts create mode 100644 yunxi-ui-admin-vben/src/utils/helper/tsxHelper.tsx create mode 100644 yunxi-ui-admin-vben/src/utils/http/axios/Axios.ts create mode 100644 yunxi-ui-admin-vben/src/utils/http/axios/axiosCancel.ts create mode 100644 yunxi-ui-admin-vben/src/utils/http/axios/axiosRetry.ts create mode 100644 yunxi-ui-admin-vben/src/utils/http/axios/axiosTransform.ts create mode 100644 yunxi-ui-admin-vben/src/utils/http/axios/checkStatus.ts create mode 100644 yunxi-ui-admin-vben/src/utils/http/axios/helper.ts create mode 100644 yunxi-ui-admin-vben/src/utils/http/axios/index.ts create mode 100644 yunxi-ui-admin-vben/src/utils/index.ts create mode 100644 yunxi-ui-admin-vben/src/utils/is.ts create mode 100644 yunxi-ui-admin-vben/src/utils/lib/echarts.ts create mode 100644 yunxi-ui-admin-vben/src/utils/log.ts create mode 100644 yunxi-ui-admin-vben/src/utils/mitt.ts create mode 100644 yunxi-ui-admin-vben/src/utils/propTypes.ts create mode 100644 yunxi-ui-admin-vben/src/utils/props.ts create mode 100644 yunxi-ui-admin-vben/src/utils/tongji.ts create mode 100644 yunxi-ui-admin-vben/src/utils/tree.ts create mode 100644 yunxi-ui-admin-vben/src/utils/types.ts create mode 100644 yunxi-ui-admin-vben/src/utils/uuid.ts create mode 100644 yunxi-ui-admin-vben/src/views/base/about/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/base/exception/Exception.vue create mode 100644 yunxi-ui-admin-vben/src/views/base/exception/index.ts create mode 100644 yunxi-ui-admin-vben/src/views/base/iframe/FrameBlank.vue create mode 100644 yunxi-ui-admin-vben/src/views/base/iframe/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/base/lock/LockPage.vue create mode 100644 yunxi-ui-admin-vben/src/views/base/lock/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/base/lock/useNow.ts create mode 100644 yunxi-ui-admin-vben/src/views/base/login/ForgetPasswordForm.vue create mode 100644 yunxi-ui-admin-vben/src/views/base/login/Login.vue create mode 100644 yunxi-ui-admin-vben/src/views/base/login/LoginForm.vue create mode 100644 yunxi-ui-admin-vben/src/views/base/login/LoginFormTitle.vue create mode 100644 yunxi-ui-admin-vben/src/views/base/login/MobileForm.vue create mode 100644 yunxi-ui-admin-vben/src/views/base/login/QrCodeForm.vue create mode 100644 yunxi-ui-admin-vben/src/views/base/login/RegisterForm.vue create mode 100644 yunxi-ui-admin-vben/src/views/base/login/SSOForm.vue create mode 100644 yunxi-ui-admin-vben/src/views/base/login/SessionTimeoutLogin.vue create mode 100644 yunxi-ui-admin-vben/src/views/base/login/sso.vue create mode 100644 yunxi-ui-admin-vben/src/views/base/login/useLogin.ts create mode 100644 yunxi-ui-admin-vben/src/views/base/profile/AccountBind.vue create mode 100644 yunxi-ui-admin-vben/src/views/base/profile/BaseSetting.vue create mode 100644 yunxi-ui-admin-vben/src/views/base/profile/MsgNotify.vue create mode 100644 yunxi-ui-admin-vben/src/views/base/profile/PasswordModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/base/profile/SecureSetting.vue create mode 100644 yunxi-ui-admin-vben/src/views/base/profile/data.ts create mode 100644 yunxi-ui-admin-vben/src/views/base/profile/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/base/profile/index1.vue create mode 100644 yunxi-ui-admin-vben/src/views/base/redirect/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/bpm/definition/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/bpm/form/FormModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/bpm/form/editor/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/bpm/form/form.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/bpm/form/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/bpm/group/GroupModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/bpm/group/group.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/bpm/group/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/bpm/model/ModelImportModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/bpm/model/ModelModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/bpm/model/editor/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/bpm/model/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/bpm/model/model.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/bpm/oa/leave/create.vue create mode 100644 yunxi-ui-admin-vben/src/views/bpm/oa/leave/detail.vue create mode 100644 yunxi-ui-admin-vben/src/views/bpm/oa/leave/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/bpm/oa/leave/leave.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/bpm/processInstance/create/create.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/bpm/processInstance/create/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/bpm/processInstance/detail/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/bpm/processInstance/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/bpm/processInstance/processInstance.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/bpm/task/done/done.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/bpm/task/done/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/bpm/task/todo/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/bpm/task/todo/todo.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/bpm/taskAssignRule/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/dashboard/analysis/components/GrowCard.vue create mode 100644 yunxi-ui-admin-vben/src/views/dashboard/analysis/components/SalesProductPie.vue create mode 100644 yunxi-ui-admin-vben/src/views/dashboard/analysis/components/SiteAnalysis.vue create mode 100644 yunxi-ui-admin-vben/src/views/dashboard/analysis/components/VisitAnalysis.vue create mode 100644 yunxi-ui-admin-vben/src/views/dashboard/analysis/components/VisitAnalysisBar.vue create mode 100644 yunxi-ui-admin-vben/src/views/dashboard/analysis/components/VisitRadar.vue create mode 100644 yunxi-ui-admin-vben/src/views/dashboard/analysis/components/VisitSource.vue create mode 100644 yunxi-ui-admin-vben/src/views/dashboard/analysis/components/props.ts create mode 100644 yunxi-ui-admin-vben/src/views/dashboard/analysis/data.ts create mode 100644 yunxi-ui-admin-vben/src/views/dashboard/analysis/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/dashboard/workbench/components/DynamicInfo.vue create mode 100644 yunxi-ui-admin-vben/src/views/dashboard/workbench/components/ProjectCard.vue create mode 100644 yunxi-ui-admin-vben/src/views/dashboard/workbench/components/QuickNav.vue create mode 100644 yunxi-ui-admin-vben/src/views/dashboard/workbench/components/SaleRadar.vue create mode 100644 yunxi-ui-admin-vben/src/views/dashboard/workbench/components/WorkbenchHeader.vue create mode 100644 yunxi-ui-admin-vben/src/views/dashboard/workbench/components/data.ts create mode 100644 yunxi-ui-admin-vben/src/views/dashboard/workbench/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/infra/apiAccessLog/AccessLogModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/infra/apiAccessLog/apiAccessLog.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/infra/apiAccessLog/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/infra/apiErrorLog/ErrorLogModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/infra/apiErrorLog/apiErrorLog.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/infra/apiErrorLog/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/infra/build/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/infra/codegen/EditTable.vue create mode 100644 yunxi-ui-admin-vben/src/views/infra/codegen/codegen.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/infra/codegen/components/BasicInfoForm.vue create mode 100644 yunxi-ui-admin-vben/src/views/infra/codegen/components/CloumInfoForm.vue create mode 100644 yunxi-ui-admin-vben/src/views/infra/codegen/components/FinishForm.vue create mode 100644 yunxi-ui-admin-vben/src/views/infra/codegen/components/ImportTableModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/infra/codegen/components/PreviewModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/infra/codegen/components/data.ts create mode 100644 yunxi-ui-admin-vben/src/views/infra/codegen/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/infra/config/ConfigModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/infra/config/config.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/infra/config/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/infra/dataSourceConfig/DataSourceConfigModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/infra/dataSourceConfig/dataSourceConfig.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/infra/dataSourceConfig/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/infra/dbDoc/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/infra/druid/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/infra/file/file.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/infra/file/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/infra/fileConfig/FileConfigModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/infra/fileConfig/ficleConfig.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/infra/fileConfig/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/infra/job/JobModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/infra/job/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/infra/job/job.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/infra/job/logger/JobLogModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/infra/job/logger/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/infra/job/logger/jobLog.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/infra/redis/components/CommandStats.vue create mode 100644 yunxi-ui-admin-vben/src/views/infra/redis/components/Memory.vue create mode 100644 yunxi-ui-admin-vben/src/views/infra/redis/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/infra/redis/redis.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/infra/server/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/infra/skywalking/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/infra/swagger/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/infra/testDemo/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/infra/webSocket/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/mall/market/banner/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/mall/product/brand/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/mall/product/category/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/mall/product/property/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/mall/product/spu/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/mall/promotion/coupon/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/mall/promotion/couponTemplate/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/mall/promotion/discountActivity/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/mall/promotion/rewardActivity/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/mall/promotion/seckill/seckillActivity/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/mall/promotion/seckill/seckillTime/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/mall/trade/afterSale/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/mall/trade/expressCompany/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/mall/trade/order/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/member/group/GroupModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/member/group/group.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/member/group/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/member/level/LevelModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/member/level/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/member/level/level.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/member/point/config/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/member/point/record/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/member/point/record/record.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/member/signin/config/ConfigModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/member/signin/config/config.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/member/signin/config/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/member/signin/record/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/member/signin/record/record.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/member/tag/TagModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/member/tag/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/member/tag/tag.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/member/user/UpdateLevelModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/member/user/UserDetailDrawer.vue create mode 100644 yunxi-ui-admin-vben/src/views/member/user/UserModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/member/user/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/member/user/user.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/mp/account/AccountModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/mp/account/account.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/mp/account/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/mp/autoReply/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/mp/components/WxAccountSelect/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/mp/components/WxLocation/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/mp/components/WxMaterialSelect/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/mp/components/WxMaterialSelect/type.ts create mode 100644 yunxi-ui-admin-vben/src/views/mp/components/WxMsg/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/mp/components/WxMusic/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/mp/components/WxNews/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/mp/components/WxReply/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/mp/components/WxVideoPlay/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/mp/components/WxVoicePlay/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/mp/components/index.ts create mode 100644 yunxi-ui-admin-vben/src/views/mp/draft/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/mp/freePublish/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/mp/material/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/mp/menu/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/mp/message/MessageModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/mp/message/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/mp/message/message.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/mp/statistics/components/InterfaceSummaryChart.vue create mode 100644 yunxi-ui-admin-vben/src/views/mp/statistics/components/UpstreamMessageChart.vue create mode 100644 yunxi-ui-admin-vben/src/views/mp/statistics/components/UserCumulateChart.vue create mode 100644 yunxi-ui-admin-vben/src/views/mp/statistics/components/UserSummaryChart.vue create mode 100644 yunxi-ui-admin-vben/src/views/mp/statistics/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/mp/statistics/statistics.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/mp/tag/TagModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/mp/tag/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/mp/tag/tag.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/mp/user/MpUserModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/mp/user/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/mp/user/mpuser.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/pay/app/AppModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/pay/app/ChannelModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/pay/app/app.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/pay/app/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/pay/cashier/cashier.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/pay/cashier/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/pay/demo/DemoModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/pay/demo/demo.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/pay/demo/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/pay/notify/NotifyModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/pay/notify/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/pay/notify/notify.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/pay/order/OrderModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/pay/order/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/pay/order/order.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/pay/refund/RefundModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/pay/refund/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/pay/refund/refund.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/report/goview/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/report/jmreport/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/stpagea/enterpriseCentre/branch/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/stpagea/enterpriseCentre/branch/src/ConfirmDel.vue create mode 100644 yunxi-ui-admin-vben/src/views/stpagea/enterpriseCentre/branch/src/ModalAdd.vue create mode 100644 yunxi-ui-admin-vben/src/views/stpagea/enterpriseCentre/branch/src/ModalEdit.vue create mode 100644 yunxi-ui-admin-vben/src/views/stpagea/enterpriseCentre/branch/src/TransferList.vue create mode 100644 yunxi-ui-admin-vben/src/views/stpagea/enterpriseCentre/enterpriseDetails/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/stpagea/enterpriseCentre/enterpriseDetails/src/AuthInfo.vue create mode 100644 yunxi-ui-admin-vben/src/views/stpagea/enterpriseCentre/enterpriseDetails/src/BasicInfo.vue create mode 100644 yunxi-ui-admin-vben/src/views/stpagea/enterpriseCentre/enterpriseDetails/src/Branch.vue create mode 100644 yunxi-ui-admin-vben/src/views/stpagea/enterpriseCentre/enterpriseDetails/src/CustomerInfo.vue create mode 100644 yunxi-ui-admin-vben/src/views/stpagea/enterpriseCentre/enterpriseDetails/src/EmployeeInfo.vue create mode 100644 yunxi-ui-admin-vben/src/views/stpagea/enterpriseCentre/enterpriseDetails/src/OperateRecords.vue create mode 100644 yunxi-ui-admin-vben/src/views/stpagea/enterpriseCentre/enterpriseDetails/src/OrgInfo.vue create mode 100644 yunxi-ui-admin-vben/src/views/stpagea/enterpriseCentre/enterpriseDetails/src/ProviderInfo.vue create mode 100644 yunxi-ui-admin-vben/src/views/stpagea/enterpriseCentre/enterpriseDetails/src/SupplierInfo.vue create mode 100644 yunxi-ui-admin-vben/src/views/system/area/AreaModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/system/area/area.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/system/area/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/system/dept/DeptModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/system/dept/dept.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/system/dept/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/system/dict/DictData.vue create mode 100644 yunxi-ui-admin-vben/src/views/system/dict/DictDataModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/system/dict/DictTypeModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/system/dict/dict.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/system/dict/dict.type.ts create mode 100644 yunxi-ui-admin-vben/src/views/system/dict/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/system/errorCode/ErrorCodeModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/system/errorCode/errorCode.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/system/errorCode/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/system/loginlog/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/system/loginlog/index1.vue create mode 100644 yunxi-ui-admin-vben/src/views/system/loginlog/loginLog.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/system/mail/account/AccountModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/system/mail/account/account.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/system/mail/account/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/system/mail/log/MailLogModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/system/mail/log/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/system/mail/log/mailLog.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/system/mail/template/SendMailModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/system/mail/template/TemplateModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/system/mail/template/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/system/mail/template/template.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/system/menu/MenuModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/system/menu/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/system/menu/menu.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/system/notice/NoticeModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/system/notice/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/system/notice/index1.vue create mode 100644 yunxi-ui-admin-vben/src/views/system/notice/notice.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/system/notify/components/MessageInfoModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/system/notify/components/message.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/system/notify/message/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/system/notify/message/index1.vue create mode 100644 yunxi-ui-admin-vben/src/views/system/notify/message/message.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/system/notify/my/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/system/notify/my/my.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/system/notify/template/SendNotifyModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/system/notify/template/TemplateModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/system/notify/template/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/system/notify/template/template.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/system/oauth2/client/ClientModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/system/oauth2/client/client.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/system/oauth2/client/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/system/oauth2/token/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/system/oauth2/token/token.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/system/operatelog/LogInfoModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/system/operatelog/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/system/operatelog/operateLog.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/system/post/PostModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/system/post/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/system/post/post.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/system/role/RoleMenuModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/system/role/RoleModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/system/role/RoleScopeModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/system/role/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/system/role/role.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/system/sensitiveWord/SensitiveWordModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/system/sensitiveWord/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/system/sensitiveWord/sensitiveWord.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/system/sms/channel/SmsChannelModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/system/sms/channel/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/system/sms/channel/smsChannel.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/system/sms/log/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/system/sms/log/smsLog.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/system/sms/template/SendSmsModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/system/sms/template/SmsTemplateModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/system/sms/template/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/system/sms/template/smsTemplate.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/system/tenant/TenantModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/system/tenant/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/system/tenant/tenant.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/system/tenantPackage/TenantPackageModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/system/tenantPackage/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/system/tenantPackage/tenantPackage.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/system/user/DeptTree.vue create mode 100644 yunxi-ui-admin-vben/src/views/system/user/ResetPwdModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/system/user/UserModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/system/user/UserRoleModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/system/user/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/system/user/index1.vue create mode 100644 yunxi-ui-admin-vben/src/views/system/user/user.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/users/configuration/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/users/mine/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/users/newNustomer/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/xxjj/businessOrganization/BusinessOrganizationModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/xxjj/businessOrganization/businessOrganization.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/xxjj/businessOrganization/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/xxjj/businessOrganizationConfig/BusinessTree.vue create mode 100644 yunxi-ui-admin-vben/src/views/xxjj/businessOrganizationConfig/BusinessWarehouseModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/xxjj/businessOrganizationConfig/businessWarehouse.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/xxjj/businessOrganizationConfig/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/xxjj/businessWarehouse/BusinessWarehouseModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/xxjj/businessWarehouse/businessWarehouse.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/xxjj/businessWarehouse/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/xxjj/customer/SubjectBasicModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/xxjj/customer/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/xxjj/customer/subjectBasic.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/xxjj/enterprise/EnterpriseModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/xxjj/enterprise/enterprise.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/xxjj/enterprise/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/xxjj/enterprisebranching/EnterpriseModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/xxjj/enterprisebranching/enterprise.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/xxjj/enterprisebranching/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/xxjj/service/SubjectBasicModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/xxjj/service/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/xxjj/service/subjectBasic.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/xxjj/subjectFollowManagement/SubjectFollowManagementModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/xxjj/subjectFollowManagement/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/xxjj/subjectFollowManagement/subjectFollowManagement.data.ts create mode 100644 yunxi-ui-admin-vben/src/views/xxjj/supplier/SubjectBasicModal.vue create mode 100644 yunxi-ui-admin-vben/src/views/xxjj/supplier/index.vue create mode 100644 yunxi-ui-admin-vben/src/views/xxjj/supplier/subjectBasic.data.ts create mode 100644 yunxi-ui-admin-vben/stylelint.config.js create mode 100644 yunxi-ui-admin-vben/tsconfig.json create mode 100644 yunxi-ui-admin-vben/uno.config.ts create mode 100644 yunxi-ui-admin-vben/vite.config.ts diff --git a/yunxi-ui-admin-vben/.editorconfig b/yunxi-ui-admin-vben/.editorconfig new file mode 100644 index 0000000..dccf841 --- /dev/null +++ b/yunxi-ui-admin-vben/.editorconfig @@ -0,0 +1,19 @@ +root = true + +[*] +charset=utf-8 +end_of_line=lf +insert_final_newline=true +indent_style=space +indent_size=2 +max_line_length = 100 + +[*.{yml,yaml,json}] +indent_style = space +indent_size = 2 + +[*.md] +trim_trailing_whitespace = false + +[Makefile] +indent_style = tab diff --git a/yunxi-ui-admin-vben/.env b/yunxi-ui-admin-vben/.env new file mode 100644 index 0000000..40b893d --- /dev/null +++ b/yunxi-ui-admin-vben/.env @@ -0,0 +1,17 @@ +# 端口号 +VITE_PORT = 8090 + +# 网站标题 +VITE_GLOB_APP_TITLE = 云息Saas平台 + +# 简称,用于配置文件名字 不要出现空格、数字开头等特殊字符 +VITE_GLOB_APP_SHORT_NAME = Yunxi_Saas_Admin + +# 租户开关 +VITE_GLOB_APP_TENANT_ENABLE = true + +# 验证码的开关 +VITE_GLOB_APP_CAPTCHA_ENABLE = true + +# 百度统计 +VITE_APP_BAIDU_CODE = eb21166668bf766b9d059a6fd1c10777 diff --git a/yunxi-ui-admin-vben/.env.front b/yunxi-ui-admin-vben/.env.front new file mode 100644 index 0000000..6d8443d --- /dev/null +++ b/yunxi-ui-admin-vben/.env.front @@ -0,0 +1,28 @@ +# 本地开发环境 +NODE_ENV=development + +# 资源公共路径,需要以 /开头和结尾 +VITE_PUBLIC_PATH = / + +# 本地开发代理,可以解决跨域及多地址代理 +# 如果接口地址匹配到,则会转发到http://localhost:3000,防止本地出现跨域问题 +# 可以有多个,注意多个不能换行,否则代理将会失效 +VITE_PROXY = [["/dev-api","http://api-dashboard.yudao.iocoder.cn/admin-api"],["/upload","http://api-dashboard.yudao.iocoder.cn/admin-api/infra/file/upload"]] +# VITE_PROXY=[["/api","http://vben.xingyuv.com/test"]] + +# 是否删除Console.log +VITE_DROP_CONSOLE = false + +# 基础页面地址,例如 swagger 等页面 +VITE_GLOB_BASE_URL = "http://api-dashboard.yudao.iocoder.cn" +# 接口地址,如果没有跨域问题,直接在这里配置即可 +VITE_GLOB_API_URL = /dev-api + +# 文件上传接口 可选 +VITE_GLOB_UPLOAD_URL = /upload + +# 接口地址前缀,有些系统所有接口地址都有前缀,可以在这里统一加,方便切换 +VITE_GLOB_API_URL_PREFIX = + +# 百度统计 +VITE_APP_BAIDU_CODE = eb21166668bf766b9d059a6fd1c10777 diff --git a/yunxi-ui-admin-vben/.env.production b/yunxi-ui-admin-vben/.env.production new file mode 100644 index 0000000..9ebe49a --- /dev/null +++ b/yunxi-ui-admin-vben/.env.production @@ -0,0 +1,30 @@ +# 资源公共路径,需要以 / 开头和结尾 +VITE_PUBLIC_PATH = / + +# 是否删除Console.log +VITE_DROP_CONSOLE = true + +# 打包是否输出gz|br文件 +# 可选: gzip | brotli | none +# 也可以有多个, 例如 ‘gzip’|'brotli',这样会同时生成 .gz和.br文件 +VITE_BUILD_COMPRESS = 'gzip' + +# 使用compress时是否删除源文件,默认false +VITE_BUILD_COMPRESS_DELETE_ORIGIN_FILE = false + +# 基础页面地址,例如 swagger 等页面 +VITE_GLOB_BASE_URL = "http://localhost:48080" +# 接口地址 可以由nginx做转发或者直接写实际地址 +VITE_GLOB_API_URL = http://localhost:48080/admin-api + +# 文件上传地址 可以由nginx做转发或者直接写实际地址 +VITE_GLOB_UPLOAD_URL = /upload + +# 接口地址前缀,有些系统所有接口地址都有前缀,可以在这里统一加,方便切换 +VITE_GLOB_API_URL_PREFIX = + +# 打包是否开启pwa功能 +VITE_USE_PWA = false + +# 百度统计 +VITE_APP_BAIDU_CODE = eb21166668bf766b9d059a6fd1c10777 diff --git a/yunxi-ui-admin-vben/.env.static b/yunxi-ui-admin-vben/.env.static new file mode 100644 index 0000000..dca1756 --- /dev/null +++ b/yunxi-ui-admin-vben/.env.static @@ -0,0 +1,30 @@ +# 资源公共路径,需要以 / 开头和结尾 +VITE_PUBLIC_PATH = / + +# 是否删除Console.log +VITE_DROP_CONSOLE = true + +# 打包是否输出gz|br文件 +# 可选: gzip | brotli | none +# 也可以有多个, 例如 ‘gzip’|'brotli',这样会同时生成 .gz和.br文件 +VITE_BUILD_COMPRESS = 'gzip' + +# 使用compress时是否删除源文件,默认false +VITE_BUILD_COMPRESS_DELETE_ORIGIN_FILE = false + +# 基础页面地址,例如 swagger 等页面 +VITE_GLOB_BASE_URL = "http://api-dashboard.yudao.iocoder.cn" +# 接口地址,如果没有跨域问题,直接在这里配置即可 +VITE_GLOB_API_URL = http://api-dashboard.yudao.iocoder.cn/admin-api + +# 文件上传地址 可以由nginx做转发或者直接写实际地址 +VITE_GLOB_UPLOAD_URL = http://api-dashboard.yudao.iocoder.cn/admin-api/infra/file/upload + +# 接口地址前缀,有些系统所有接口地址都有前缀,可以在这里统一加,方便切换 +VITE_GLOB_API_URL_PREFIX = + +# 打包是否开启pwa功能 +VITE_USE_PWA = false + +# 百度统计 +VITE_APP_BAIDU_CODE = eb21166668bf766b9d059a6fd1c10777 diff --git a/yunxi-ui-admin-vben/.env.test b/yunxi-ui-admin-vben/.env.test new file mode 100644 index 0000000..7c78cb5 --- /dev/null +++ b/yunxi-ui-admin-vben/.env.test @@ -0,0 +1,30 @@ +# 资源公共路径,需要以 / 开头和结尾 +VITE_PUBLIC_PATH = / + +# 是否删除Console.log +VITE_DROP_CONSOLE = true + +# 打包是否输出gz|br文件 +# 可选: gzip | brotli | none +# 也可以有多个, 例如 ‘gzip’|'brotli',这样会同时生成 .gz和.br文件 +VITE_BUILD_COMPRESS = 'gzip' + +# 使用compress时是否删除源文件,默认false +VITE_BUILD_COMPRESS_DELETE_ORIGIN_FILE = false + +# 基础页面地址,例如 swagger 等页面 +VITE_GLOB_BASE_URL = "http://localhost:48080" +# 接口地址,如果没有跨域问题,直接在这里配置即可 +VITE_GLOB_API_URL = http://localhost:48080/admin-api + +# 文件上传地址 可以由nginx做转发或者直接写实际地址 +VITE_GLOB_UPLOAD_URL = /upload + +# 接口地址前缀,有些系统所有接口地址都有前缀,可以在这里统一加,方便切换 +VITE_GLOB_API_URL_PREFIX = + +# 打包是否开启pwa功能 +VITE_USE_PWA = false + +# 百度统计 +VITE_APP_BAIDU_CODE = eb21166668bf766b9d059a6fd1c10777 diff --git a/yunxi-ui-admin-vben/.eslintignore b/yunxi-ui-admin-vben/.eslintignore new file mode 100644 index 0000000..897dede --- /dev/null +++ b/yunxi-ui-admin-vben/.eslintignore @@ -0,0 +1,13 @@ +*.sh +node_modules +*.md +*.woff +*.ttf +.vscode +.idea +dist +/public +/docs +.local +/bin +Dockerfile diff --git a/yunxi-ui-admin-vben/.eslintrc.js b/yunxi-ui-admin-vben/.eslintrc.js new file mode 100644 index 0000000..288e452 --- /dev/null +++ b/yunxi-ui-admin-vben/.eslintrc.js @@ -0,0 +1,10 @@ +const process = require('node:process') + +process.env.ESLINT_TSCONFIG = 'tsconfig.json' + +module.exports = { + extends: ['@xingyuv', '@unocss'], + rules: { + 'no-console': 'off', + }, +} diff --git a/yunxi-ui-admin-vben/.gitattributes b/yunxi-ui-admin-vben/.gitattributes new file mode 100644 index 0000000..d4e5bd3 --- /dev/null +++ b/yunxi-ui-admin-vben/.gitattributes @@ -0,0 +1,11 @@ +# https://docs.github.com/cn/get-started/getting-started-with-git/configuring-git-to-handle-line-endings + +# Automatically normalize line endings (to LF) for all text-based files. +* text=auto eol=lf + +# Declare files that will always have CRLF line endings on checkout. +*.{cmd,[cC][mM][dD]} text eol=crlf +*.{bat,[bB][aA][tT]} text eol=crlf + +# Denote all files that are truly binary and should not be modified. +*.{ico,png,jpg,jpeg,gif,webp,svg,woff,woff2} binary \ No newline at end of file diff --git a/yunxi-ui-admin-vben/.gitignore b/yunxi-ui-admin-vben/.gitignore new file mode 100644 index 0000000..4c6447b --- /dev/null +++ b/yunxi-ui-admin-vben/.gitignore @@ -0,0 +1,39 @@ +node_modules +.DS_Store +dist +.npmrc +.cache + +tests/server/static +tests/server/static/upload + +*.local +# local env files +.env.local +.env.*.local +.env.development +.eslintcache + +# Log files +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* + +# Editor directories and files +.idea +# .vscode +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? + +package-lock.json + +.history +.vscode +.vite + + + diff --git a/yunxi-ui-admin-vben/.gitpod.yml b/yunxi-ui-admin-vben/.gitpod.yml new file mode 100644 index 0000000..866381f --- /dev/null +++ b/yunxi-ui-admin-vben/.gitpod.yml @@ -0,0 +1,6 @@ +ports: + - port: 3344 + onOpen: open-preview +tasks: + - init: pnpm install + command: pnpm run dev diff --git a/yunxi-ui-admin-vben/.hintrc b/yunxi-ui-admin-vben/.hintrc new file mode 100644 index 0000000..455c781 --- /dev/null +++ b/yunxi-ui-admin-vben/.hintrc @@ -0,0 +1,16 @@ +{ + "extends": [ + "development" + ], + "hints": { + "compat-api/css": [ + "default", + { + "ignore": [ + "-webkit-tap-highlight-color", + "text-size-adjust" + ] + } + ] + } +} \ No newline at end of file diff --git a/yunxi-ui-admin-vben/.prettierignore b/yunxi-ui-admin-vben/.prettierignore new file mode 100644 index 0000000..f7e39e6 --- /dev/null +++ b/yunxi-ui-admin-vben/.prettierignore @@ -0,0 +1,9 @@ +/dist/* +.local +.output.js +/node_modules/** + +**/*.svg +**/*.sh + +/public/* diff --git a/yunxi-ui-admin-vben/.stylelintignore b/yunxi-ui-admin-vben/.stylelintignore new file mode 100644 index 0000000..0517076 --- /dev/null +++ b/yunxi-ui-admin-vben/.stylelintignore @@ -0,0 +1,3 @@ +/dist/* +/public/* +public/* diff --git a/yunxi-ui-admin-vben/LICENSE b/yunxi-ui-admin-vben/LICENSE new file mode 100644 index 0000000..b9c65c2 --- /dev/null +++ b/yunxi-ui-admin-vben/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023-present, xingyuv + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/yunxi-ui-admin-vben/README.md b/yunxi-ui-admin-vben/README.md new file mode 100644 index 0000000..f24bb95 --- /dev/null +++ b/yunxi-ui-admin-vben/README.md @@ -0,0 +1,132 @@ +# yudao-ui-admin-vben + +[![license](https://img.shields.io/github/license/xingyuv/vue-vben-admin.svg)](LICENSE) + +**严肃声明:现在、未来都不会有商业版本,所有代码全部开源!!** + +**「我喜欢写代码,乐此不疲」** +**「我喜欢做开源,以此为乐」** + +如果这个项目让你有所收获,记得 Star 关注哦,这对我是非常不错的鼓励与支持。 + +## 预览地址 + +- [预览地址](http://dashboard-vben.yudao.iocoder.cn/) +- [启动文档](https://doc.iocoder.cn/quick-start/) +- [开发文档](http://vben-doc.x-surge.com/) +- [视频教程](https://doc.iocoder.cn/video/) + +## 外包项目请联系 [ xinyu370 ] + +- ![alt 定制开发](./public/resource/img/wx2.png) + +## 交流群 + +- ![alt 交流群](./public/resource/img/wx.png) + +## 框架 + +| 框架 | 说明 | 版本 | +| -------------------------------------------------------------------- | --------------------- | ------ | +| [Vue](https://staging-cn.vuejs.org/) | Vue 框架 | 3.3.4 | +| [Vite](https://cn.vitejs.dev//) | 开发与构建工具 | 4.4.9 | +| [ant-design-vue](https://antdv.com/) | ant-design-vue | 4.0.3 | +| [TypeScript](https://www.typescriptlang.org/docs/) | JavaScript 的超集 | 5.1.6 | +| [pinia](https://pinia.vuejs.org/) | Vue 存储库 替代 vuex5 | 2.1.6 | +| [vueuse](https://vueuse.org/) | 常用工具集 | 10.4.1 | +| [vue-i18n](https://kazupon.github.io/vue-i18n/zh/introduction.html/) | 国际化 | 9.4.1 | +| [vue-router](https://router.vuejs.org/) | Vue 路由 | 4.2.5 | +| [unocss](https://uno.antfu.me/) | 原子 css | 0.56.1 | +| [iconify](https://icon-sets.iconify.design/) | 在线图标库 | 3.1.1 | + +- ![alt VbenAdmin](https://anncwb.github.io/anncwb/images/preview1.png) +- ![alt VbenAdmin](https://anncwb.github.io/anncwb/images/preview2.png) +- ![alt VbenAdmin](https://anncwb.github.io/anncwb/images/preview3.png) + +## 准备 + +- [node](http://nodejs.org/) 和 [git](https://git-scm.com/) -项目开发环境 +- [Vite4](https://vitejs.dev/) - 熟悉 vite 特性 +- [Vue3](https://v3.vuejs.org/) - 熟悉 Vue 基础语法 +- [TypeScript](https://www.typescriptlang.org/) - 熟悉`TypeScript`基本语法 +- [Es6+](http://es6.ruanyifeng.com/) - 熟悉 es6 基本语法 +- [Vue-Router-Next](https://next.router.vuejs.org/) - 熟悉 vue-router 基本使用 +- [Ant-Design-Vue-4.0](https://antdv.com/) - ui 基本使用 + +## 安装使用 + +- 获取项目代码 + +```bash +git clone https://gitee.com/xingyuv/yudao-ui-admin-vben.git +or +git clone https://github.com/xingyuv/yudao-ui-admin-vben.git +``` + +- 安装依赖 + +```bash +pnpm i + +如提示 Expected version: >=8.6.0 + +使用 cmd 等升级 pnpm 版本 +npm add -g pnpm + +``` + +- 运行 + +```bash +pnpm dev + +or +// 如果不想启动后端 + +pnpm front + +``` + +- 打包 + +```bash +pnpm build +``` + +## 开发进度 + +- 系统管理 已完成 +- 基础设施 已完成 +- 支付管理 已完成 +- 升级 antdv 4.0 已完成 +- 公众号 进行中 50% 预计年底 +- 工作流 进行中 40% 预计年底 + +## Git 贡献提交规范 + +- 参考 [vue](https://github.com/vuejs/vue/blob/dev/.github/COMMIT_CONVENTION.md) 规范 ([Angular](https://github.com/conventional-changelog/conventional-changelog/tree/master/packages/conventional-changelog-angular)) + + - `feat` 增加新功能 + - `fix` 修复问题/BUG + - `style` 代码风格相关无影响运行结果的 + - `perf` 优化/性能提升 + - `refactor` 重构 + - `revert` 撤销修改 + - `test` 测试相关 + - `docs` 文档/注释 + - `chore` 依赖更新/脚手架配置修改等 + - `workflow` 工作流改进 + - `ci` 持续集成 + - `types` 类型定义文件更改 + - `wip` 开发中 + +## 浏览器支持 + +本地开发推荐使用`Chrome 80+` 浏览器 + +支持现代浏览器, 不支持 IE + +| ![alt IE](https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_32x32.png) | ![alt Edge](https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_32x32.png) | ![alt Firefox](https://raw.githubusercontent.com/alrra/browser-logos/master/src/firefox/firefox_32x32.png) | ![alt Chrome](https://raw.githubusercontent.com/alrra/browser-logos/master/src/chrome/chrome_32x32.png) | ![alt Safari](https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari/safari_32x32.png) | +| :---------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------: | +| [IE](http://godban.github.io/browsers-support-badges/) | [Edge](http://godban.github.io/browsers-support-badgess/) | [Firefox](http://godban.github.io/browsers-support-badges/) | [Chrome](http://godban.github.io/browsers-support-badges/) | [Safari](http://godban.github.io/browsers-support-badges/) | +| not support | last 2 versions | last 2 versions | last 2 versions | last 2 versions | diff --git a/yunxi-ui-admin-vben/commitlint.config.js b/yunxi-ui-admin-vben/commitlint.config.js new file mode 100644 index 0000000..906d79e --- /dev/null +++ b/yunxi-ui-admin-vben/commitlint.config.js @@ -0,0 +1,91 @@ +const fs = require('node:fs') +const path = require('node:path') +const { execSync } = require('node:child_process') + +const scopes = fs + .readdirSync(path.resolve(__dirname, 'src'), { withFileTypes: true }) + .filter(dirent => dirent.isDirectory()) + .map(dirent => dirent.name.replace(/s$/, '')) + +// precomputed scope +const scopeComplete = execSync('git status --porcelain || true') + .toString() + .trim() + .split('\n') + .find(r => ~r.indexOf('M src')) + ?.replace(/(\/)/g, '%%') + ?.match(/src%%((\w|-)*)/)?.[1] + ?.replace(/s$/, '') + +/** @type {import('cz-git').UserConfig} */ +module.exports = { + ignores: [commit => commit.includes('init')], + extends: ['@commitlint/config-conventional'], + rules: { + 'body-leading-blank': [2, 'always'], + 'footer-leading-blank': [1, 'always'], + 'header-max-length': [2, 'always', 108], + 'subject-empty': [2, 'never'], + 'type-empty': [2, 'never'], + 'subject-case': [0], + 'type-enum': [ + 2, + 'always', + ['feat', 'fix', 'perf', 'style', 'docs', 'test', 'refactor', 'build', 'ci', 'chore', 'revert', 'wip', 'workflow', 'types', 'release'], + ], + }, + prompt: { + /** @use `yarn commit :f` */ + alias: { + f: 'docs: fix typos', + r: 'docs: update README', + s: 'style: update code format', + b: 'build: bump dependencies', + c: 'chore: update config', + }, + customScopesAlign: !scopeComplete ? 'top' : 'bottom', + defaultScope: scopeComplete, + scopes: [...scopes, 'mock'], + allowEmptyIssuePrefixs: false, + allowCustomIssuePrefixs: false, + + // English + typesAppend: [ + { value: 'wip', name: 'wip: work in process' }, + { value: 'workflow', name: 'workflow: workflow improvements' }, + { value: 'types', name: 'types: type definition file changes' }, + ], + + // 中英文对照版 + messages: { + type: '选择你要提交的类型 :', + scope: '选择一个提交范围 (可选):', + customScope: '请输入自定义的提交范围 :', + subject: '填写简短精炼的变更描述 :\n', + body: '填写更加详细的变更描述 (可选)。使用 "|" 换行 :\n', + breaking: '列举非兼容性重大的变更 (可选)。使用 "|" 换行 :\n', + footerPrefixsSelect: '选择关联issue前缀 (可选):', + customFooterPrefixs: '输入自定义issue前缀 :', + footer: '列举关联issue (可选) 例如: #31, #I3244 :\n', + confirmCommit: '是否提交或修改commit ?', + }, + types: [ + { value: 'feat', name: 'feat: 新增功能' }, + { value: 'fix', name: 'fix: 修复缺陷' }, + { value: 'docs', name: 'docs: 文档变更' }, + { value: 'style', name: 'style: 代码格式' }, + { value: 'refactor', name: 'refactor: 代码重构' }, + { value: 'perf', name: 'perf: 性能优化' }, + { value: 'test', name: 'test: 添加疏漏测试或已有测试改动' }, + { value: 'build', name: 'build: 构建流程、外部依赖变更 (如升级 npm 包、修改打包配置等)' }, + { value: 'ci', name: 'ci: 修改 CI 配置、脚本' }, + { value: 'revert', name: 'revert: 回滚 commit' }, + { value: 'chore', name: 'chore: 对构建过程或辅助工具和库的更改 (不影响源文件、测试用例)' }, + { value: 'wip', name: 'wip: 正在开发中' }, + { value: 'workflow', name: 'workflow: 工作流程改进' }, + { value: 'types', name: 'types: 类型定义文件修改' }, + ], + emptyScopesAlias: 'empty: 不填写', + customScopesAlias: 'custom: 自定义', + }, +} diff --git a/yunxi-ui-admin-vben/index.html b/yunxi-ui-admin-vben/index.html new file mode 100644 index 0000000..ed0f37c --- /dev/null +++ b/yunxi-ui-admin-vben/index.html @@ -0,0 +1,161 @@ + + + + + + + + %VITE_GLOB_APP_TITLE% + + + + +
+ +
+
+ +
+ +
+
%VITE_GLOB_APP_TITLE%
+
+
+
+ + + diff --git a/yunxi-ui-admin-vben/npm b/yunxi-ui-admin-vben/npm new file mode 100644 index 0000000..e69de29 diff --git a/yunxi-ui-admin-vben/package.json b/yunxi-ui-admin-vben/package.json new file mode 100644 index 0000000..e62ca14 --- /dev/null +++ b/yunxi-ui-admin-vben/package.json @@ -0,0 +1,169 @@ +{ + "name": "yudao-ui-admin-vben", + "version": "1.8.1-snapshot", + "packageManager": "pnpm@8.6.0", + "author": { + "name": "xingyuv", + "email": "xingyu4j@vip.qq.com", + "url": "https://gitee.com/xingyuv" + }, + "license": "MIT", + "homepage": "https://gitee.com/xingyuv", + "repository": { + "type": "git", + "url": "git+https://gitee.com/xingyuv/vue-vben-admin.git" + }, + "bugs": { + "url": "https://gitee.com/xingyuv/issues" + }, + "engines": { + "node": ">= 18.0.0", + "pnpm": ">=8.6.0" + }, + "scripts": { + "commit": "czg", + "bootstrap": "pnpm install", + "serve": "pnpm dev", + "dev": "vite", + "front": "vite --mode front", + "build": "cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=8192 vite build && esno ./build/script/postBuild.ts", + "build:test": "cross-env NODE_OPTIONS=--max-old-space-size=8192 vite build --mode test && esno ./build/script/postBuild.ts", + "build:static": "cross-env NODE_OPTIONS=--max-old-space-size=8192 vite build --mode static && esno ./build/script/postBuild.ts", + "build:no-cache": "pnpm clean:cache && pnpm build", + "report": "cross-env REPORT=true pnpm build", + "type:check": "vue-tsc --noEmit --skipLibCheck", + "preview": "pnpm build && vite preview", + "preview:dist": "vite preview", + "clean:cache": "rimraf node_modules/.cache/ && rimraf node_modules/.vite", + "clean:lib": "rimraf node_modules", + "lint": "eslint \"src/**/*.{vue,ts,tsx}\"", + "lint:fix": "eslint \"src/**/*.{vue,ts,tsx}\" --fix", + "lint:stylelint": "stylelint \"src/**/*.{vue,css,less,scss}\" --fix --cache --cache-location node_modules/.cache/stylelint/", + "lint:lint-staged": "lint-staged", + "npm:check": "npx npm-check-updates", + "reinstall": "rimraf pnpm-lock.yaml && rimraf package.lock.json && rimraf node_modules && pnpm bootstrap", + "prepare": "husky install", + "gen:icon": "esno ./build/generate/icon/index.ts" + }, + "dependencies": { + "@ant-design/colors": "^7.0.0", + "@ant-design/icons-vue": "^7.0.0", + "@iconify/iconify": "^3.1.1", + "@videojs-player/vue": "^1.0.0", + "@vue/runtime-core": "^3.3.4", + "@vueuse/core": "^10.4.1", + "@zxcvbn-ts/core": "^3.0.4", + "ant-design-vue": "^4.0.3", + "axios": "^1.5.0", + "benz-amr-recorder": "^1.1.5", + "codemirror": "^5.65.3", + "cron-parser": "^4.9.0", + "cropperjs": "^1.6.1", + "crypto-js": "^4.1.1", + "dayjs": "^1.11.10", + "echarts": "^5.4.3", + "lodash-es": "^4.17.21", + "nprogress": "^0.2.0", + "path-to-regexp": "^6.2.1", + "pinia": "^2.1.6", + "print-js": "^1.6.0", + "qs": "^6.11.2", + "resize-observer-polyfill": "^1.5.1", + "sortablejs": "^1.15.0", + "tinymce": "^5.10.7", + "vditor": "^3.9.5", + "video-js": "^0.7.0", + "vue": "^3.3.4", + "vue-i18n": "^9.4.1", + "vue-json-pretty": "^2.2.4", + "vue-router": "^4.2.5", + "vue-types": "^5.1.1", + "vuedraggable": "^4.1.0", + "xlsx": "^0.18.5" + }, + "devDependencies": { + "@commitlint/cli": "^17.7.1", + "@commitlint/config-conventional": "^17.7.0", + "@iconify/json": "^2.2.119", + "@purge-icons/generated": "^0.9.0", + "@types/codemirror": "^5.60.10", + "@types/crypto-js": "^4.1.2", + "@types/fs-extra": "^11.0.2", + "@types/inquirer": "^9.0.3", + "@types/lodash-es": "^4.17.9", + "@types/node": "^20.6.0", + "@types/nprogress": "^0.2.1", + "@types/qs": "^6.9.8", + "@types/sortablejs": "^1.15.2", + "@unocss/eslint-config": "^0.56.1", + "@vitejs/plugin-vue": "4.3.4", + "@vitejs/plugin-vue-jsx": "^3.0.2", + "@vue/compiler-sfc": "^3.3.4", + "@xingyuv/eslint-config": "^0.1.6", + "cross-env": "^7.0.3", + "cz-git": "^1.7.1", + "czg": "^1.7.1", + "dotenv": "^16.3.1", + "eslint": "^8.50.0", + "esno": "^0.17.0", + "fs-extra": "^11.1.1", + "husky": "^8.0.3", + "inquirer": "^9.2.11", + "less": "^4.2.0", + "lint-staged": "^14.0.1", + "picocolors": "^1.0.0", + "postcss": "^8.4.30", + "postcss-html": "^1.5.0", + "postcss-less": "^6.0.0", + "prettier": "^3.0.3", + "rimraf": "^5.0.1", + "rollup": "^3.29.3", + "rollup-plugin-visualizer": "^5.9.2", + "stylelint": "^15.10.3", + "stylelint-config-recess-order": "^4.3.0", + "stylelint-config-recommended": "^13.0.0", + "stylelint-config-recommended-vue": "^1.5.0", + "stylelint-config-standard": "^34.0.0", + "stylelint-order": "^6.0.3", + "stylelint-prettier": "^4.0.2", + "terser": "^5.20.0", + "typescript": "^5.2.2", + "unocss": "^0.56.1", + "vite": "^4.4.9", + "vite-plugin-compression": "^0.5.1", + "vite-plugin-mkcert": "^1.16.0", + "vite-plugin-progress": "^0.0.7", + "vite-plugin-purge-icons": "^0.9.2", + "vite-plugin-pwa": "^0.16.5", + "vite-plugin-svg-icons": "^2.0.1", + "vite-vue-plugin-html": "^1.0.2", + "vue-eslint-parser": "^9.3.1", + "vue-tsc": "^1.8.13" + }, + "lint-staged": { + "*.{js,jsx,ts,tsx}": [ + "eslint --fix" + ], + "{!(package)*.json,*.code-snippets,.!(browserslist)*rc}": [ + "prettier --write--parser json" + ], + "package.json": [ + "prettier --write" + ], + "*.vue": [ + "eslint --fix", + "stylelint --fix" + ], + "*.{scss,less,styl,html}": [ + "stylelint --fix" + ], + "*.md": [ + "prettier --write" + ] + }, + "config": { + "commitizen": { + "path": "node_modules/cz-git" + } + } +} diff --git a/yunxi-ui-admin-vben/pnpm-lock.yaml b/yunxi-ui-admin-vben/pnpm-lock.yaml new file mode 100644 index 0000000..06ea66f --- /dev/null +++ b/yunxi-ui-admin-vben/pnpm-lock.yaml @@ -0,0 +1,9973 @@ +lockfileVersion: '6.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +dependencies: + '@ant-design/colors': + specifier: ^7.0.0 + version: 7.0.0 + '@ant-design/icons-vue': + specifier: ^7.0.0 + version: 7.0.0(vue@3.3.4) + '@iconify/iconify': + specifier: ^3.1.1 + version: 3.1.1 + '@videojs-player/vue': + specifier: ^1.0.0 + version: 1.0.0(@types/video.js@7.3.52)(video.js@7.21.5)(vue@3.3.4) + '@vue/runtime-core': + specifier: ^3.3.4 + version: 3.3.4 + '@vueuse/core': + specifier: ^10.4.1 + version: 10.4.1(vue@3.3.4) + '@zxcvbn-ts/core': + specifier: ^3.0.4 + version: 3.0.4 + ant-design-vue: + specifier: ^4.0.3 + version: 4.0.3(vue@3.3.4) + axios: + specifier: ^1.5.0 + version: 1.5.0(debug@4.3.4) + benz-amr-recorder: + specifier: ^1.1.5 + version: 1.1.5 + codemirror: + specifier: ^5.65.3 + version: 5.65.15 + cron-parser: + specifier: ^4.9.0 + version: 4.9.0 + cropperjs: + specifier: ^1.6.1 + version: 1.6.1 + crypto-js: + specifier: ^4.1.1 + version: 4.1.1 + dayjs: + specifier: ^1.11.10 + version: 1.11.10 + echarts: + specifier: ^5.4.3 + version: 5.4.3 + lodash-es: + specifier: ^4.17.21 + version: 4.17.21 + nprogress: + specifier: ^0.2.0 + version: 0.2.0 + path-to-regexp: + specifier: ^6.2.1 + version: 6.2.1 + pinia: + specifier: ^2.1.6 + version: 2.1.6(typescript@5.2.2)(vue@3.3.4) + print-js: + specifier: ^1.6.0 + version: 1.6.0 + qs: + specifier: ^6.11.2 + version: 6.11.2 + resize-observer-polyfill: + specifier: ^1.5.1 + version: 1.5.1 + sortablejs: + specifier: ^1.15.0 + version: 1.15.0 + tinymce: + specifier: ^5.10.7 + version: 5.10.7 + vditor: + specifier: ^3.9.5 + version: 3.9.5 + video-js: + specifier: ^0.7.0 + version: 0.7.0 + vue: + specifier: ^3.3.4 + version: 3.3.4 + vue-i18n: + specifier: ^9.4.1 + version: 9.4.1(vue@3.3.4) + vue-json-pretty: + specifier: ^2.2.4 + version: 2.2.4(vue@3.3.4) + vue-router: + specifier: ^4.2.5 + version: 4.2.5(vue@3.3.4) + vue-types: + specifier: ^5.1.1 + version: 5.1.1(vue@3.3.4) + vuedraggable: + specifier: ^4.1.0 + version: 4.1.0(vue@3.3.4) + xlsx: + specifier: ^0.18.5 + version: 0.18.5 + +devDependencies: + '@commitlint/cli': + specifier: ^17.7.1 + version: 17.7.1 + '@commitlint/config-conventional': + specifier: ^17.7.0 + version: 17.7.0 + '@iconify/json': + specifier: ^2.2.119 + version: 2.2.119 + '@purge-icons/generated': + specifier: ^0.9.0 + version: 0.9.0 + '@types/codemirror': + specifier: ^5.60.10 + version: 5.60.10 + '@types/crypto-js': + specifier: ^4.1.2 + version: 4.1.2 + '@types/fs-extra': + specifier: ^11.0.2 + version: 11.0.2 + '@types/inquirer': + specifier: ^9.0.3 + version: 9.0.3 + '@types/lodash-es': + specifier: ^4.17.9 + version: 4.17.9 + '@types/node': + specifier: ^20.6.0 + version: 20.6.4 + '@types/nprogress': + specifier: ^0.2.1 + version: 0.2.1 + '@types/qs': + specifier: ^6.9.8 + version: 6.9.8 + '@types/sortablejs': + specifier: ^1.15.2 + version: 1.15.2 + '@unocss/eslint-config': + specifier: ^0.56.1 + version: 0.56.1(eslint@8.50.0)(typescript@5.2.2) + '@vitejs/plugin-vue': + specifier: 4.3.4 + version: 4.3.4(vite@4.4.9)(vue@3.3.4) + '@vitejs/plugin-vue-jsx': + specifier: ^3.0.2 + version: 3.0.2(vite@4.4.9)(vue@3.3.4) + '@vue/compiler-sfc': + specifier: ^3.3.4 + version: 3.3.4 + '@xingyuv/eslint-config': + specifier: ^0.1.6 + version: 0.1.6(eslint@8.50.0)(typescript@5.2.2) + cross-env: + specifier: ^7.0.3 + version: 7.0.3 + cz-git: + specifier: ^1.7.1 + version: 1.7.1 + czg: + specifier: ^1.7.1 + version: 1.7.1 + dotenv: + specifier: ^16.3.1 + version: 16.3.1 + eslint: + specifier: ^8.50.0 + version: 8.50.0 + esno: + specifier: ^0.17.0 + version: 0.17.0 + fs-extra: + specifier: ^11.1.1 + version: 11.1.1 + husky: + specifier: ^8.0.3 + version: 8.0.3 + inquirer: + specifier: ^9.2.11 + version: 9.2.11 + less: + specifier: ^4.2.0 + version: 4.2.0 + lint-staged: + specifier: ^14.0.1 + version: 14.0.1 + picocolors: + specifier: ^1.0.0 + version: 1.0.0 + postcss: + specifier: ^8.4.30 + version: 8.4.30 + postcss-html: + specifier: ^1.5.0 + version: 1.5.0 + postcss-less: + specifier: ^6.0.0 + version: 6.0.0(postcss@8.4.30) + prettier: + specifier: ^3.0.3 + version: 3.0.3 + rimraf: + specifier: ^5.0.1 + version: 5.0.1 + rollup: + specifier: ^3.29.3 + version: 3.29.3 + rollup-plugin-visualizer: + specifier: ^5.9.2 + version: 5.9.2(rollup@3.29.3) + stylelint: + specifier: ^15.10.3 + version: 15.10.3(typescript@5.2.2) + stylelint-config-recess-order: + specifier: ^4.3.0 + version: 4.3.0(stylelint@15.10.3) + stylelint-config-recommended: + specifier: ^13.0.0 + version: 13.0.0(stylelint@15.10.3) + stylelint-config-recommended-vue: + specifier: ^1.5.0 + version: 1.5.0(postcss-html@1.5.0)(stylelint@15.10.3) + stylelint-config-standard: + specifier: ^34.0.0 + version: 34.0.0(stylelint@15.10.3) + stylelint-order: + specifier: ^6.0.3 + version: 6.0.3(stylelint@15.10.3) + stylelint-prettier: + specifier: ^4.0.2 + version: 4.0.2(prettier@3.0.3)(stylelint@15.10.3) + terser: + specifier: ^5.20.0 + version: 5.20.0 + typescript: + specifier: ^5.2.2 + version: 5.2.2 + unocss: + specifier: ^0.56.1 + version: 0.56.1(postcss@8.4.30)(rollup@3.29.3)(vite@4.4.9) + vite: + specifier: ^4.4.9 + version: 4.4.9(@types/node@20.6.4)(less@4.2.0)(terser@5.20.0) + vite-plugin-compression: + specifier: ^0.5.1 + version: 0.5.1(vite@4.4.9) + vite-plugin-mkcert: + specifier: ^1.16.0 + version: 1.16.0(vite@4.4.9) + vite-plugin-progress: + specifier: ^0.0.7 + version: 0.0.7(vite@4.4.9) + vite-plugin-purge-icons: + specifier: ^0.9.2 + version: 0.9.2(vite@4.4.9) + vite-plugin-pwa: + specifier: ^0.16.5 + version: 0.16.5(vite@4.4.9)(workbox-build@7.0.0)(workbox-window@7.0.0) + vite-plugin-svg-icons: + specifier: ^2.0.1 + version: 2.0.1(vite@4.4.9) + vite-vue-plugin-html: + specifier: ^1.0.2 + version: 1.0.2(rollup@3.29.3)(vite@4.4.9) + vue-eslint-parser: + specifier: ^9.3.1 + version: 9.3.1(eslint@8.50.0) + vue-tsc: + specifier: ^1.8.13 + version: 1.8.13(typescript@5.2.2) + +packages: + + /@aashutoshrathi/word-wrap@1.2.6: + resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} + engines: {node: '>=0.10.0'} + dev: true + + /@ampproject/remapping@2.2.1: + resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.19 + dev: true + + /@ant-design/colors@6.0.0: + resolution: {integrity: sha512-qAZRvPzfdWHtfameEGP2Qvuf838NhergR35o+EuVyB5XvSA98xod5r4utvi4TJ3ywmevm290g9nsCG5MryrdWQ==} + dependencies: + '@ctrl/tinycolor': 3.6.1 + dev: false + + /@ant-design/colors@7.0.0: + resolution: {integrity: sha512-iVm/9PfGCbC0dSMBrz7oiEXZaaGH7ceU40OJEfKmyuzR9R5CRimJYPlRiFtMQGQcbNMea/ePcoIebi4ASGYXtg==} + dependencies: + '@ctrl/tinycolor': 3.6.1 + dev: false + + /@ant-design/icons-svg@4.3.1: + resolution: {integrity: sha512-4QBZg8ccyC6LPIRii7A0bZUk3+lEDCLnhB+FVsflGdcWPPmV+j3fire4AwwoqHV/BibgvBmR9ZIo4s867smv+g==} + dev: false + + /@ant-design/icons-vue@7.0.0(vue@3.3.4): + resolution: {integrity: sha512-VEb0r/Jqo2qi9olfBephYlyxbmhQVZ5+tJ3Zw5VaBd5h0wV1zdjGt5mJxSbRRs2mnnOWpsa1s4PeoLwNnkLV/w==} + peerDependencies: + vue: '>=3.0.3' + dependencies: + '@ant-design/colors': 6.0.0 + '@ant-design/icons-svg': 4.3.1 + vue: 3.3.4 + dev: false + + /@antfu/install-pkg@0.1.1: + resolution: {integrity: sha512-LyB/8+bSfa0DFGC06zpCEfs89/XoWZwws5ygEa5D+Xsm3OfI+aXQ86VgVG7Acyef+rSZ5HE7J8rrxzrQeM3PjQ==} + dependencies: + execa: 5.1.1 + find-up: 5.0.0 + dev: true + + /@antfu/utils@0.7.6: + resolution: {integrity: sha512-pvFiLP2BeOKA/ZOS6jxx4XhKzdVLHDhGlFEaZ2flWWYf2xOqVniqpk38I04DFRyz+L0ASggl7SkItTc+ZLju4w==} + dev: true + + /@apideck/better-ajv-errors@0.3.6(ajv@8.12.0): + resolution: {integrity: sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==} + engines: {node: '>=10'} + peerDependencies: + ajv: '>=8' + dependencies: + ajv: 8.12.0 + json-schema: 0.4.0 + jsonpointer: 5.0.1 + leven: 3.1.0 + dev: true + + /@babel/code-frame@7.22.13: + resolution: {integrity: sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.22.20 + chalk: 2.4.2 + dev: true + + /@babel/compat-data@7.22.20: + resolution: {integrity: sha512-BQYjKbpXjoXwFW5jGqiizJQQT/aC7pFm9Ok1OWssonuguICi264lbgMzRp2ZMmRSlfkX6DsWDDcsrctK8Rwfiw==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/core@7.22.20: + resolution: {integrity: sha512-Y6jd1ahLubuYweD/zJH+vvOY141v4f9igNQAQ+MBgq9JlHS2iTsZKn1aMsb3vGccZsXI16VzTBw52Xx0DWmtnA==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.2.1 + '@babel/code-frame': 7.22.13 + '@babel/generator': 7.22.15 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-module-transforms': 7.22.20(@babel/core@7.22.20) + '@babel/helpers': 7.22.15 + '@babel/parser': 7.22.16 + '@babel/template': 7.22.15 + '@babel/traverse': 7.22.20 + '@babel/types': 7.22.19 + convert-source-map: 1.9.0 + debug: 4.3.4 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/generator@7.22.15: + resolution: {integrity: sha512-Zu9oWARBqeVOW0dZOjXc3JObrzuqothQ3y/n1kUtrjCoCPLkXUwMvOo/F/TCfoHMbWIFlWwpZtkZVb9ga4U2pA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.19 + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.19 + jsesc: 2.5.2 + dev: true + + /@babel/helper-annotate-as-pure@7.22.5: + resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.19 + dev: true + + /@babel/helper-builder-binary-assignment-operator-visitor@7.22.15: + resolution: {integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.19 + dev: true + + /@babel/helper-compilation-targets@7.22.15: + resolution: {integrity: sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/compat-data': 7.22.20 + '@babel/helper-validator-option': 7.22.15 + browserslist: 4.21.11 + lru-cache: 5.1.1 + semver: 6.3.1 + dev: true + + /@babel/helper-create-class-features-plugin@7.22.15(@babel/core@7.22.20): + resolution: {integrity: sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.22.5 + '@babel/helper-member-expression-to-functions': 7.22.15 + '@babel/helper-optimise-call-expression': 7.22.5 + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.22.20) + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + semver: 6.3.1 + dev: true + + /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.22.20): + resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-annotate-as-pure': 7.22.5 + regexpu-core: 5.3.2 + semver: 6.3.1 + dev: true + + /@babel/helper-define-polyfill-provider@0.4.2(@babel/core@7.22.20): + resolution: {integrity: sha512-k0qnnOqHn5dK9pZpfD5XXZ9SojAITdCKRn2Lp6rnDGzIbaP0rHyMPk/4wsSxVBVz4RfN0q6VpXWP2pDGIoQ7hw==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + debug: 4.3.4 + lodash.debounce: 4.0.8 + resolve: 1.22.6 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-environment-visitor@7.22.20: + resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-function-name@7.22.5: + resolution: {integrity: sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.22.15 + '@babel/types': 7.22.19 + dev: true + + /@babel/helper-hoist-variables@7.22.5: + resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.19 + dev: true + + /@babel/helper-member-expression-to-functions@7.22.15: + resolution: {integrity: sha512-qLNsZbgrNh0fDQBCPocSL8guki1hcPvltGDv/NxvUoABwFq7GkKSu1nRXeJkVZc+wJvne2E0RKQz+2SQrz6eAA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.19 + dev: true + + /@babel/helper-module-imports@7.22.15: + resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.19 + dev: true + + /@babel/helper-module-transforms@7.22.20(@babel/core@7.22.20): + resolution: {integrity: sha512-dLT7JVWIUUxKOs1UnJUBR3S70YK+pKX6AbJgB2vMIvEkZkrfJDbYDJesnPshtKV4LhDOR3Oc5YULeDizRek+5A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-simple-access': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-validator-identifier': 7.22.20 + dev: true + + /@babel/helper-optimise-call-expression@7.22.5: + resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.19 + dev: true + + /@babel/helper-plugin-utils@7.22.5: + resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.22.20): + resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-wrap-function': 7.22.20 + dev: true + + /@babel/helper-replace-supers@7.22.20(@babel/core@7.22.20): + resolution: {integrity: sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-member-expression-to-functions': 7.22.15 + '@babel/helper-optimise-call-expression': 7.22.5 + dev: true + + /@babel/helper-simple-access@7.22.5: + resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.19 + dev: true + + /@babel/helper-skip-transparent-expression-wrappers@7.22.5: + resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.19 + dev: true + + /@babel/helper-split-export-declaration@7.22.6: + resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.19 + dev: true + + /@babel/helper-string-parser@7.22.5: + resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==} + engines: {node: '>=6.9.0'} + + /@babel/helper-validator-identifier@7.22.20: + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + engines: {node: '>=6.9.0'} + + /@babel/helper-validator-option@7.22.15: + resolution: {integrity: sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-wrap-function@7.22.20: + resolution: {integrity: sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-function-name': 7.22.5 + '@babel/template': 7.22.15 + '@babel/types': 7.22.19 + dev: true + + /@babel/helpers@7.22.15: + resolution: {integrity: sha512-7pAjK0aSdxOwR+CcYAqgWOGy5dcfvzsTIfFTb2odQqW47MDfv14UaJDY6eng8ylM2EaeKXdxaSWESbkmaQHTmw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.22.15 + '@babel/traverse': 7.22.20 + '@babel/types': 7.22.19 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/highlight@7.22.20: + resolution: {integrity: sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.22.20 + chalk: 2.4.2 + js-tokens: 4.0.0 + dev: true + + /@babel/parser@7.22.16: + resolution: {integrity: sha512-+gPfKv8UWeKKeJTUxe59+OobVcrYHETCsORl61EmSkmgymguYk/X5bp7GuUIXaFsc6y++v8ZxPsLSSuujqDphA==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.22.19 + + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.22.15(@babel/core@7.22.20): + resolution: {integrity: sha512-FB9iYlz7rURmRJyXRKEnalYPPdn87H5no108cyuQQyMwlpJ2SJtpIUBI27kdTin956pz+LPypkPVPUTlxOmrsg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.22.15(@babel/core@7.22.20): + resolution: {integrity: sha512-Hyph9LseGvAeeXzikV88bczhsrLrIZqDPxO+sSmAunMPaGrBGhfMWzCPYTtiW9t+HzSE2wtV8e5cc5P6r1xMDQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.13.0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/plugin-transform-optional-chaining': 7.22.15(@babel/core@7.22.20) + dev: true + + /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.22.20): + resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + dev: true + + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.22.20): + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.22.20): + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.22.20): + resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.22.20): + resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.22.20): + resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-import-assertions@7.22.5(@babel/core@7.22.20): + resolution: {integrity: sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-import-attributes@7.22.5(@babel/core@7.22.20): + resolution: {integrity: sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.22.20): + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.22.20): + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.22.20): + resolution: {integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.22.20): + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.22.20): + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.22.20): + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.22.20): + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.22.20): + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.22.20): + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.22.20): + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.22.20): + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.22.20): + resolution: {integrity: sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.22.20): + resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.22.20) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-arrow-functions@7.22.5(@babel/core@7.22.20): + resolution: {integrity: sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-async-generator-functions@7.22.15(@babel/core@7.22.20): + resolution: {integrity: sha512-jBm1Es25Y+tVoTi5rfd5t1KLmL8ogLKpXszboWOTTtGFGz2RKnQe2yn7HbZ+kb/B8N0FVSGQo874NSlOU1T4+w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.22.20) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.20) + dev: true + + /@babel/plugin-transform-async-to-generator@7.22.5(@babel/core@7.22.20): + resolution: {integrity: sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.22.20) + dev: true + + /@babel/plugin-transform-block-scoped-functions@7.22.5(@babel/core@7.22.20): + resolution: {integrity: sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-block-scoping@7.22.15(@babel/core@7.22.20): + resolution: {integrity: sha512-G1czpdJBZCtngoK1sJgloLiOHUnkb/bLZwqVZD8kXmq0ZnVfTTWUcs9OWtp0mBtYJ+4LQY1fllqBkOIPhXmFmw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-class-properties@7.22.5(@babel/core@7.22.20): + resolution: {integrity: sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.22.20) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-class-static-block@7.22.11(@babel/core@7.22.20): + resolution: {integrity: sha512-GMM8gGmqI7guS/llMFk1bJDkKfn3v3C4KHK9Yg1ey5qcHcOlKb0QvcMrgzvxo+T03/4szNh5lghY+fEC98Kq9g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.12.0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.22.20) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.22.20) + dev: true + + /@babel/plugin-transform-classes@7.22.15(@babel/core@7.22.20): + resolution: {integrity: sha512-VbbC3PGjBdE0wAWDdHM9G8Gm977pnYI0XpqMd6LrKISj8/DJXEsWqgRuTYaNE9Bv0JGhTZUzHDlMk18IpOuoqw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.22.5 + '@babel/helper-optimise-call-expression': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.22.20) + '@babel/helper-split-export-declaration': 7.22.6 + globals: 11.12.0 + dev: true + + /@babel/plugin-transform-computed-properties@7.22.5(@babel/core@7.22.20): + resolution: {integrity: sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/template': 7.22.15 + dev: true + + /@babel/plugin-transform-destructuring@7.22.15(@babel/core@7.22.20): + resolution: {integrity: sha512-HzG8sFl1ZVGTme74Nw+X01XsUTqERVQ6/RLHo3XjGRzm7XD6QTtfS3NJotVgCGy8BzkDqRjRBD8dAyJn5TuvSQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-dotall-regex@7.22.5(@babel/core@7.22.20): + resolution: {integrity: sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.22.20) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-duplicate-keys@7.22.5(@babel/core@7.22.20): + resolution: {integrity: sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-dynamic-import@7.22.11(@babel/core@7.22.20): + resolution: {integrity: sha512-g/21plo58sfteWjaO0ZNVb+uEOkJNjAaHhbejrnBmu011l/eNDScmkbjCC3l4FKb10ViaGU4aOkFznSu2zRHgA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.20) + dev: true + + /@babel/plugin-transform-exponentiation-operator@7.22.5(@babel/core@7.22.20): + resolution: {integrity: sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-export-namespace-from@7.22.11(@babel/core@7.22.20): + resolution: {integrity: sha512-xa7aad7q7OiT8oNZ1mU7NrISjlSkVdMbNxn9IuLZyL9AJEhs1Apba3I+u5riX1dIkdptP5EKDG5XDPByWxtehw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.22.20) + dev: true + + /@babel/plugin-transform-for-of@7.22.15(@babel/core@7.22.20): + resolution: {integrity: sha512-me6VGeHsx30+xh9fbDLLPi0J1HzmeIIyenoOQHuw2D4m2SAU3NrspX5XxJLBpqn5yrLzrlw2Iy3RA//Bx27iOA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-function-name@7.22.5(@babel/core@7.22.20): + resolution: {integrity: sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-function-name': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-json-strings@7.22.11(@babel/core@7.22.20): + resolution: {integrity: sha512-CxT5tCqpA9/jXFlme9xIBCc5RPtdDq3JpkkhgHQqtDdiTnTI0jtZ0QzXhr5DILeYifDPp2wvY2ad+7+hLMW5Pw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.20) + dev: true + + /@babel/plugin-transform-literals@7.22.5(@babel/core@7.22.20): + resolution: {integrity: sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-logical-assignment-operators@7.22.11(@babel/core@7.22.20): + resolution: {integrity: sha512-qQwRTP4+6xFCDV5k7gZBF3C31K34ut0tbEcTKxlX/0KXxm9GLcO14p570aWxFvVzx6QAfPgq7gaeIHXJC8LswQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.20) + dev: true + + /@babel/plugin-transform-member-expression-literals@7.22.5(@babel/core@7.22.20): + resolution: {integrity: sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-modules-amd@7.22.5(@babel/core@7.22.20): + resolution: {integrity: sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-module-transforms': 7.22.20(@babel/core@7.22.20) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-modules-commonjs@7.22.15(@babel/core@7.22.20): + resolution: {integrity: sha512-jWL4eh90w0HQOTKP2MoXXUpVxilxsB2Vl4ji69rSjS3EcZ/v4sBmn+A3NpepuJzBhOaEBbR7udonlHHn5DWidg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-module-transforms': 7.22.20(@babel/core@7.22.20) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-simple-access': 7.22.5 + dev: true + + /@babel/plugin-transform-modules-systemjs@7.22.11(@babel/core@7.22.20): + resolution: {integrity: sha512-rIqHmHoMEOhI3VkVf5jQ15l539KrwhzqcBO6wdCNWPWc/JWt9ILNYNUssbRpeq0qWns8svuw8LnMNCvWBIJ8wA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-module-transforms': 7.22.20(@babel/core@7.22.20) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-validator-identifier': 7.22.20 + dev: true + + /@babel/plugin-transform-modules-umd@7.22.5(@babel/core@7.22.20): + resolution: {integrity: sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-module-transforms': 7.22.20(@babel/core@7.22.20) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.22.20): + resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.22.20) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-new-target@7.22.5(@babel/core@7.22.20): + resolution: {integrity: sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-nullish-coalescing-operator@7.22.11(@babel/core@7.22.20): + resolution: {integrity: sha512-YZWOw4HxXrotb5xsjMJUDlLgcDXSfO9eCmdl1bgW4+/lAGdkjaEvOnQ4p5WKKdUgSzO39dgPl0pTnfxm0OAXcg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.20) + dev: true + + /@babel/plugin-transform-numeric-separator@7.22.11(@babel/core@7.22.20): + resolution: {integrity: sha512-3dzU4QGPsILdJbASKhF/V2TVP+gJya1PsueQCxIPCEcerqF21oEcrob4mzjsp2Py/1nLfF5m+xYNMDpmA8vffg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.20) + dev: true + + /@babel/plugin-transform-object-rest-spread@7.22.15(@babel/core@7.22.20): + resolution: {integrity: sha512-fEB+I1+gAmfAyxZcX1+ZUwLeAuuf8VIg67CTznZE0MqVFumWkh8xWtn58I4dxdVf080wn7gzWoF8vndOViJe9Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.22.20 + '@babel/core': 7.22.20 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.20) + '@babel/plugin-transform-parameters': 7.22.15(@babel/core@7.22.20) + dev: true + + /@babel/plugin-transform-object-super@7.22.5(@babel/core@7.22.20): + resolution: {integrity: sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.22.20) + dev: true + + /@babel/plugin-transform-optional-catch-binding@7.22.11(@babel/core@7.22.20): + resolution: {integrity: sha512-rli0WxesXUeCJnMYhzAglEjLWVDF6ahb45HuprcmQuLidBJFWjNnOzssk2kuc6e33FlLaiZhG/kUIzUMWdBKaQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.20) + dev: true + + /@babel/plugin-transform-optional-chaining@7.22.15(@babel/core@7.22.20): + resolution: {integrity: sha512-ngQ2tBhq5vvSJw2Q2Z9i7ealNkpDMU0rGWnHPKqRZO0tzZ5tlaoz4hDvhXioOoaE0X2vfNss1djwg0DXlfu30A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.20) + dev: true + + /@babel/plugin-transform-parameters@7.22.15(@babel/core@7.22.20): + resolution: {integrity: sha512-hjk7qKIqhyzhhUvRT683TYQOFa/4cQKwQy7ALvTpODswN40MljzNDa0YldevS6tGbxwaEKVn502JmY0dP7qEtQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-private-methods@7.22.5(@babel/core@7.22.20): + resolution: {integrity: sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.22.20) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-private-property-in-object@7.22.11(@babel/core@7.22.20): + resolution: {integrity: sha512-sSCbqZDBKHetvjSwpyWzhuHkmW5RummxJBVbYLkGkaiTOWGxml7SXt0iWa03bzxFIx7wOj3g/ILRd0RcJKBeSQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.22.20) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.20) + dev: true + + /@babel/plugin-transform-property-literals@7.22.5(@babel/core@7.22.20): + resolution: {integrity: sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-regenerator@7.22.10(@babel/core@7.22.20): + resolution: {integrity: sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + regenerator-transform: 0.15.2 + dev: true + + /@babel/plugin-transform-reserved-words@7.22.5(@babel/core@7.22.20): + resolution: {integrity: sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-shorthand-properties@7.22.5(@babel/core@7.22.20): + resolution: {integrity: sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-spread@7.22.5(@babel/core@7.22.20): + resolution: {integrity: sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + dev: true + + /@babel/plugin-transform-sticky-regex@7.22.5(@babel/core@7.22.20): + resolution: {integrity: sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-template-literals@7.22.5(@babel/core@7.22.20): + resolution: {integrity: sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-typeof-symbol@7.22.5(@babel/core@7.22.20): + resolution: {integrity: sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-typescript@7.22.15(@babel/core@7.22.20): + resolution: {integrity: sha512-1uirS0TnijxvQLnlv5wQBwOX3E1wCFX7ITv+9pBV2wKEk4K+M5tqDaoNXnTH8tjEIYHLO98MwiTWO04Ggz4XuA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.22.20) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.22.20) + dev: true + + /@babel/plugin-transform-unicode-escapes@7.22.10(@babel/core@7.22.20): + resolution: {integrity: sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-unicode-property-regex@7.22.5(@babel/core@7.22.20): + resolution: {integrity: sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.22.20) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-unicode-regex@7.22.5(@babel/core@7.22.20): + resolution: {integrity: sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.22.20) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-unicode-sets-regex@7.22.5(@babel/core@7.22.20): + resolution: {integrity: sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.22.20) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/preset-env@7.22.20(@babel/core@7.22.20): + resolution: {integrity: sha512-11MY04gGC4kSzlPHRfvVkNAZhUxOvm7DCJ37hPDnUENwe06npjIRAfInEMTGSb4LZK5ZgDFkv5hw0lGebHeTyg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.22.20 + '@babel/core': 7.22.20 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-validator-option': 7.22.15 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.22.15(@babel/core@7.22.20) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.22.15(@babel/core@7.22.20) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.22.20) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.20) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.22.20) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.22.20) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.20) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.22.20) + '@babel/plugin-syntax-import-assertions': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-syntax-import-attributes': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.22.20) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.20) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.20) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.20) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.20) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.20) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.20) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.20) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.20) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.22.20) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.22.20) + '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-async-generator-functions': 7.22.15(@babel/core@7.22.20) + '@babel/plugin-transform-async-to-generator': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-block-scoped-functions': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-block-scoping': 7.22.15(@babel/core@7.22.20) + '@babel/plugin-transform-class-properties': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-class-static-block': 7.22.11(@babel/core@7.22.20) + '@babel/plugin-transform-classes': 7.22.15(@babel/core@7.22.20) + '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-destructuring': 7.22.15(@babel/core@7.22.20) + '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-duplicate-keys': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-dynamic-import': 7.22.11(@babel/core@7.22.20) + '@babel/plugin-transform-exponentiation-operator': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-export-namespace-from': 7.22.11(@babel/core@7.22.20) + '@babel/plugin-transform-for-of': 7.22.15(@babel/core@7.22.20) + '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-json-strings': 7.22.11(@babel/core@7.22.20) + '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-logical-assignment-operators': 7.22.11(@babel/core@7.22.20) + '@babel/plugin-transform-member-expression-literals': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-modules-amd': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-modules-commonjs': 7.22.15(@babel/core@7.22.20) + '@babel/plugin-transform-modules-systemjs': 7.22.11(@babel/core@7.22.20) + '@babel/plugin-transform-modules-umd': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-new-target': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-nullish-coalescing-operator': 7.22.11(@babel/core@7.22.20) + '@babel/plugin-transform-numeric-separator': 7.22.11(@babel/core@7.22.20) + '@babel/plugin-transform-object-rest-spread': 7.22.15(@babel/core@7.22.20) + '@babel/plugin-transform-object-super': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-optional-catch-binding': 7.22.11(@babel/core@7.22.20) + '@babel/plugin-transform-optional-chaining': 7.22.15(@babel/core@7.22.20) + '@babel/plugin-transform-parameters': 7.22.15(@babel/core@7.22.20) + '@babel/plugin-transform-private-methods': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-private-property-in-object': 7.22.11(@babel/core@7.22.20) + '@babel/plugin-transform-property-literals': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-regenerator': 7.22.10(@babel/core@7.22.20) + '@babel/plugin-transform-reserved-words': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-sticky-regex': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-template-literals': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-typeof-symbol': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-unicode-escapes': 7.22.10(@babel/core@7.22.20) + '@babel/plugin-transform-unicode-property-regex': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-unicode-regex': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-unicode-sets-regex': 7.22.5(@babel/core@7.22.20) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.22.20) + '@babel/types': 7.22.19 + babel-plugin-polyfill-corejs2: 0.4.5(@babel/core@7.22.20) + babel-plugin-polyfill-corejs3: 0.8.4(@babel/core@7.22.20) + babel-plugin-polyfill-regenerator: 0.5.2(@babel/core@7.22.20) + core-js-compat: 3.32.2 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.22.20): + resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} + peerDependencies: + '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/types': 7.22.19 + esutils: 2.0.3 + dev: true + + /@babel/regjsgen@0.8.0: + resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} + dev: true + + /@babel/runtime@7.22.15: + resolution: {integrity: sha512-T0O+aa+4w0u06iNmapipJXMV4HoUir03hpx3/YqXXhu9xim3w+dVphjFWl1OH8NbZHw5Lbm9k45drDkgq2VNNA==} + engines: {node: '>=6.9.0'} + dependencies: + regenerator-runtime: 0.14.0 + + /@babel/template@7.22.15: + resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.22.13 + '@babel/parser': 7.22.16 + '@babel/types': 7.22.19 + dev: true + + /@babel/traverse@7.22.20: + resolution: {integrity: sha512-eU260mPZbU7mZ0N+X10pxXhQFMGTeLb9eFS0mxehS8HZp9o1uSnFeWQuG1UPrlxgA7QoUzFhOnilHDp0AXCyHw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.22.13 + '@babel/generator': 7.22.15 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.22.5 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/parser': 7.22.16 + '@babel/types': 7.22.19 + debug: 4.3.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/types@7.22.19: + resolution: {integrity: sha512-P7LAw/LbojPzkgp5oznjE6tQEIWbp4PkkfrZDINTro9zgBRtI324/EYsiSI7lhPbpIQ+DCeR2NNmMWANGGfZsg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.22.5 + '@babel/helper-validator-identifier': 7.22.20 + to-fast-properties: 2.0.0 + + /@commitlint/cli@17.7.1: + resolution: {integrity: sha512-BCm/AT06SNCQtvFv921iNhudOHuY16LswT0R3OeolVGLk8oP+Rk9TfQfgjH7QPMjhvp76bNqGFEcpKojxUNW1g==} + engines: {node: '>=v14'} + hasBin: true + dependencies: + '@commitlint/format': 17.4.4 + '@commitlint/lint': 17.7.0 + '@commitlint/load': 17.7.1 + '@commitlint/read': 17.5.1 + '@commitlint/types': 17.4.4 + execa: 5.1.1 + lodash.isfunction: 3.0.9 + resolve-from: 5.0.0 + resolve-global: 1.0.0 + yargs: 17.7.2 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + dev: true + + /@commitlint/config-conventional@17.7.0: + resolution: {integrity: sha512-iicqh2o6et+9kWaqsQiEYZzfLbtoWv9uZl8kbI8EGfnc0HeGafQBF7AJ0ylN9D/2kj6txltsdyQs8+2fTMwWEw==} + engines: {node: '>=v14'} + dependencies: + conventional-changelog-conventionalcommits: 6.1.0 + dev: true + + /@commitlint/config-validator@17.6.7: + resolution: {integrity: sha512-vJSncmnzwMvpr3lIcm0I8YVVDJTzyjy7NZAeXbTXy+MPUdAr9pKyyg7Tx/ebOQ9kqzE6O9WT6jg2164br5UdsQ==} + engines: {node: '>=v14'} + dependencies: + '@commitlint/types': 17.4.4 + ajv: 8.12.0 + dev: true + + /@commitlint/ensure@17.6.7: + resolution: {integrity: sha512-mfDJOd1/O/eIb/h4qwXzUxkmskXDL9vNPnZ4AKYKiZALz4vHzwMxBSYtyL2mUIDeU9DRSpEUins8SeKtFkYHSw==} + engines: {node: '>=v14'} + dependencies: + '@commitlint/types': 17.4.4 + lodash.camelcase: 4.3.0 + lodash.kebabcase: 4.1.1 + lodash.snakecase: 4.1.1 + lodash.startcase: 4.4.0 + lodash.upperfirst: 4.3.1 + dev: true + + /@commitlint/execute-rule@17.4.0: + resolution: {integrity: sha512-LIgYXuCSO5Gvtc0t9bebAMSwd68ewzmqLypqI2Kke1rqOqqDbMpYcYfoPfFlv9eyLIh4jocHWwCK5FS7z9icUA==} + engines: {node: '>=v14'} + dev: true + + /@commitlint/format@17.4.4: + resolution: {integrity: sha512-+IS7vpC4Gd/x+uyQPTAt3hXs5NxnkqAZ3aqrHd5Bx/R9skyCAWusNlNbw3InDbAK6j166D9asQM8fnmYIa+CXQ==} + engines: {node: '>=v14'} + dependencies: + '@commitlint/types': 17.4.4 + chalk: 4.1.2 + dev: true + + /@commitlint/is-ignored@17.7.0: + resolution: {integrity: sha512-043rA7m45tyEfW7Zv2vZHF++176MLHH9h70fnPoYlB1slKBeKl8BwNIlnPg4xBdRBVNPaCqvXxWswx2GR4c9Hw==} + engines: {node: '>=v14'} + dependencies: + '@commitlint/types': 17.4.4 + semver: 7.5.4 + dev: true + + /@commitlint/lint@17.7.0: + resolution: {integrity: sha512-TCQihm7/uszA5z1Ux1vw+Nf3yHTgicus/+9HiUQk+kRSQawByxZNESeQoX9ujfVd3r4Sa+3fn0JQAguG4xvvbA==} + engines: {node: '>=v14'} + dependencies: + '@commitlint/is-ignored': 17.7.0 + '@commitlint/parse': 17.7.0 + '@commitlint/rules': 17.7.0 + '@commitlint/types': 17.4.4 + dev: true + + /@commitlint/load@17.7.1: + resolution: {integrity: sha512-S/QSOjE1ztdogYj61p6n3UbkUvweR17FQ0zDbNtoTLc+Hz7vvfS7ehoTMQ27hPSjVBpp7SzEcOQu081RLjKHJQ==} + engines: {node: '>=v14'} + dependencies: + '@commitlint/config-validator': 17.6.7 + '@commitlint/execute-rule': 17.4.0 + '@commitlint/resolve-extends': 17.6.7 + '@commitlint/types': 17.4.4 + '@types/node': 20.4.7 + chalk: 4.1.2 + cosmiconfig: 8.3.6(typescript@5.2.2) + cosmiconfig-typescript-loader: 4.4.0(@types/node@20.4.7)(cosmiconfig@8.3.6)(ts-node@10.9.1)(typescript@5.2.2) + lodash.isplainobject: 4.0.6 + lodash.merge: 4.6.2 + lodash.uniq: 4.5.0 + resolve-from: 5.0.0 + ts-node: 10.9.1(@types/node@20.6.4)(typescript@5.2.2) + typescript: 5.2.2 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + dev: true + + /@commitlint/message@17.4.2: + resolution: {integrity: sha512-3XMNbzB+3bhKA1hSAWPCQA3lNxR4zaeQAQcHj0Hx5sVdO6ryXtgUBGGv+1ZCLMgAPRixuc6en+iNAzZ4NzAa8Q==} + engines: {node: '>=v14'} + dev: true + + /@commitlint/parse@17.7.0: + resolution: {integrity: sha512-dIvFNUMCUHqq5Abv80mIEjLVfw8QNuA4DS7OWip4pcK/3h5wggmjVnlwGCDvDChkw2TjK1K6O+tAEV78oxjxag==} + engines: {node: '>=v14'} + dependencies: + '@commitlint/types': 17.4.4 + conventional-changelog-angular: 6.0.0 + conventional-commits-parser: 4.0.0 + dev: true + + /@commitlint/read@17.5.1: + resolution: {integrity: sha512-7IhfvEvB//p9aYW09YVclHbdf1u7g7QhxeYW9ZHSO8Huzp8Rz7m05aCO1mFG7G8M+7yfFnXB5xOmG18brqQIBg==} + engines: {node: '>=v14'} + dependencies: + '@commitlint/top-level': 17.4.0 + '@commitlint/types': 17.4.4 + fs-extra: 11.1.1 + git-raw-commits: 2.0.11 + minimist: 1.2.8 + dev: true + + /@commitlint/resolve-extends@17.6.7: + resolution: {integrity: sha512-PfeoAwLHtbOaC9bGn/FADN156CqkFz6ZKiVDMjuC2N5N0740Ke56rKU7Wxdwya8R8xzLK9vZzHgNbuGhaOVKIg==} + engines: {node: '>=v14'} + dependencies: + '@commitlint/config-validator': 17.6.7 + '@commitlint/types': 17.4.4 + import-fresh: 3.3.0 + lodash.mergewith: 4.6.2 + resolve-from: 5.0.0 + resolve-global: 1.0.0 + dev: true + + /@commitlint/rules@17.7.0: + resolution: {integrity: sha512-J3qTh0+ilUE5folSaoK91ByOb8XeQjiGcdIdiB/8UT1/Rd1itKo0ju/eQVGyFzgTMYt8HrDJnGTmNWwcMR1rmA==} + engines: {node: '>=v14'} + dependencies: + '@commitlint/ensure': 17.6.7 + '@commitlint/message': 17.4.2 + '@commitlint/to-lines': 17.4.0 + '@commitlint/types': 17.4.4 + execa: 5.1.1 + dev: true + + /@commitlint/to-lines@17.4.0: + resolution: {integrity: sha512-LcIy/6ZZolsfwDUWfN1mJ+co09soSuNASfKEU5sCmgFCvX5iHwRYLiIuoqXzOVDYOy7E7IcHilr/KS0e5T+0Hg==} + engines: {node: '>=v14'} + dev: true + + /@commitlint/top-level@17.4.0: + resolution: {integrity: sha512-/1loE/g+dTTQgHnjoCy0AexKAEFyHsR2zRB4NWrZ6lZSMIxAhBJnmCqwao7b4H8888PsfoTBCLBYIw8vGnej8g==} + engines: {node: '>=v14'} + dependencies: + find-up: 5.0.0 + dev: true + + /@commitlint/types@17.4.4: + resolution: {integrity: sha512-amRN8tRLYOsxRr6mTnGGGvB5EmW/4DDjLMgiwK3CCVEmN6Sr/6xePGEpWaspKkckILuUORCwe6VfDBw6uj4axQ==} + engines: {node: '>=v14'} + dependencies: + chalk: 4.1.2 + dev: true + + /@cspotcode/source-map-support@0.8.1: + resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/trace-mapping': 0.3.9 + dev: true + + /@csstools/css-parser-algorithms@2.3.1(@csstools/css-tokenizer@2.2.0): + resolution: {integrity: sha512-xrvsmVUtefWMWQsGgFffqWSK03pZ1vfDki4IVIIUxxDKnGBzqNgv0A7SB1oXtVNEkcVO8xi1ZrTL29HhSu5kGA==} + engines: {node: ^14 || ^16 || >=18} + peerDependencies: + '@csstools/css-tokenizer': ^2.2.0 + dependencies: + '@csstools/css-tokenizer': 2.2.0 + dev: true + + /@csstools/css-tokenizer@2.2.0: + resolution: {integrity: sha512-wErmsWCbsmig8sQKkM6pFhr/oPha1bHfvxsUY5CYSQxwyhA9Ulrs8EqCgClhg4Tgg2XapVstGqSVcz0xOYizZA==} + engines: {node: ^14 || ^16 || >=18} + dev: true + + /@csstools/media-query-list-parser@2.1.4(@csstools/css-parser-algorithms@2.3.1)(@csstools/css-tokenizer@2.2.0): + resolution: {integrity: sha512-V/OUXYX91tAC1CDsiY+HotIcJR+vPtzrX8pCplCpT++i8ThZZsq5F5dzZh/bDM3WUOjrvC1ljed1oSJxMfjqhw==} + engines: {node: ^14 || ^16 || >=18} + peerDependencies: + '@csstools/css-parser-algorithms': ^2.3.1 + '@csstools/css-tokenizer': ^2.2.0 + dependencies: + '@csstools/css-parser-algorithms': 2.3.1(@csstools/css-tokenizer@2.2.0) + '@csstools/css-tokenizer': 2.2.0 + dev: true + + /@csstools/selector-specificity@3.0.0(postcss-selector-parser@6.0.13): + resolution: {integrity: sha512-hBI9tfBtuPIi885ZsZ32IMEU/5nlZH/KOVYJCOh7gyMxaVLGmLedYqFN6Ui1LXkI8JlC8IsuC0rF0btcRZKd5g==} + engines: {node: ^14 || ^16 || >=18} + peerDependencies: + postcss-selector-parser: ^6.0.13 + dependencies: + postcss-selector-parser: 6.0.13 + dev: true + + /@ctrl/tinycolor@3.6.1: + resolution: {integrity: sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==} + engines: {node: '>=10'} + dev: false + + /@emotion/hash@0.9.1: + resolution: {integrity: sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==} + dev: false + + /@emotion/unitless@0.8.1: + resolution: {integrity: sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==} + dev: false + + /@es-joy/jsdoccomment@0.40.1: + resolution: {integrity: sha512-YORCdZSusAlBrFpZ77pJjc5r1bQs5caPWtAu+WWmiSo+8XaUzseapVrfAtiRFbQWnrBxxLLEwF6f6ZG/UgCQCg==} + engines: {node: '>=16'} + dependencies: + comment-parser: 1.4.0 + esquery: 1.5.0 + jsdoc-type-pratt-parser: 4.0.0 + dev: true + + /@esbuild-kit/cjs-loader@2.4.4: + resolution: {integrity: sha512-NfsJX4PdzhwSkfJukczyUiZGc7zNNWZcEAyqeISpDnn0PTfzMJR1aR8xAIPskBejIxBJbIgCCMzbaYa9SXepIg==} + dependencies: + '@esbuild-kit/core-utils': 3.3.2 + get-tsconfig: 4.7.2 + dev: true + + /@esbuild-kit/core-utils@3.3.2: + resolution: {integrity: sha512-sPRAnw9CdSsRmEtnsl2WXWdyquogVpB3yZ3dgwJfe8zrOzTsV7cJvmwrKVa+0ma5BoiGJ+BoqkMvawbayKUsqQ==} + dependencies: + esbuild: 0.18.20 + source-map-support: 0.5.21 + dev: true + + /@esbuild-kit/esm-loader@2.6.5: + resolution: {integrity: sha512-FxEMIkJKnodyA1OaCUoEvbYRkoZlLZ4d/eXFu9Fh8CbBBgP5EmZxrfTRyN0qpXZ4vOvqnE5YdRdcrmUUXuU+dA==} + dependencies: + '@esbuild-kit/core-utils': 3.3.2 + get-tsconfig: 4.7.2 + dev: true + + /@esbuild/android-arm64@0.18.20: + resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm@0.18.20: + resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-x64@0.18.20: + resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-arm64@0.18.20: + resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-x64@0.18.20: + resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-arm64@0.18.20: + resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-x64@0.18.20: + resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm64@0.18.20: + resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm@0.18.20: + resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ia32@0.18.20: + resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-loong64@0.18.20: + resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-mips64el@0.18.20: + resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ppc64@0.18.20: + resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-riscv64@0.18.20: + resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-s390x@0.18.20: + resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-x64@0.18.20: + resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/netbsd-x64@0.18.20: + resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/openbsd-x64@0.18.20: + resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/sunos-x64@0.18.20: + resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-arm64@0.18.20: + resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-ia32@0.18.20: + resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-x64@0.18.20: + resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@eslint-community/eslint-utils@4.4.0(eslint@8.50.0): + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.50.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@eslint-community/regexpp@4.8.1: + resolution: {integrity: sha512-PWiOzLIUAjN/w5K17PoF4n6sKBw0gqLHPhywmYHP4t1VFQQVYeb1yWsJwnMVEMl3tUHME7X/SJPZLmtG7XBDxQ==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + dev: true + + /@eslint/eslintrc@2.1.2: + resolution: {integrity: sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 9.6.1 + globals: 13.22.0 + ignore: 5.2.4 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@eslint/js@8.50.0: + resolution: {integrity: sha512-NCC3zz2+nvYd+Ckfh87rA47zfu2QsQpvc6k1yzTk+b9KzRj0wkGa8LSoGOXN6Zv4lRf/EIoZ80biDh9HOI+RNQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /@humanwhocodes/config-array@0.11.11: + resolution: {integrity: sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==} + engines: {node: '>=10.10.0'} + dependencies: + '@humanwhocodes/object-schema': 1.2.1 + debug: 4.3.4 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@humanwhocodes/module-importer@1.0.1: + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + dev: true + + /@humanwhocodes/object-schema@1.2.1: + resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} + dev: true + + /@iconify/iconify@2.1.2: + resolution: {integrity: sha512-QcUzFeEWkE/mW+BVtEGmcWATClcCOIJFiYUD/PiCWuTcdEA297o8D4oN6Ra44WrNOHu1wqNW4J0ioaDIiqaFOQ==} + dependencies: + cross-fetch: 3.1.8 + transitivePeerDependencies: + - encoding + dev: true + + /@iconify/iconify@3.1.1: + resolution: {integrity: sha512-1nemfyD/OJzh9ALepH7YfuuP8BdEB24Skhd8DXWh0hzcOxImbb1ZizSZkpCzAwSZSGcJFmscIBaBQu+yLyWaxQ==} + dependencies: + '@iconify/types': 2.0.0 + + /@iconify/json@2.2.119: + resolution: {integrity: sha512-tYvxJpBds6UgXe6/iq2pW7hblsniDGWuKEwCr8PnSKLmZMilrtzHX7v+pg7FFmV2l2qA2Iw4toMRpe11tWBI4Q==} + dependencies: + '@iconify/types': 2.0.0 + pathe: 1.1.1 + dev: true + + /@iconify/types@2.0.0: + resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} + + /@iconify/utils@2.1.10: + resolution: {integrity: sha512-0/+5hxjzCZ9RoYpqxnOzbnpQyMdZRuHcMxPJeuX+x/aZkAAD/N4TajDjAPT7LpX+M0bfLExj/p0bbDkUfp0lrg==} + dependencies: + '@antfu/install-pkg': 0.1.1 + '@antfu/utils': 0.7.6 + '@iconify/types': 2.0.0 + debug: 4.3.4 + kolorist: 1.8.0 + local-pkg: 0.4.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@intlify/core-base@9.4.1: + resolution: {integrity: sha512-WIwx+elsZbxSMxRG5+LC+utRohFvmZMoDevfKOfnYMLbpCjCSavqTfHJAtfsY6ruowzqXeKkeLhRHbYbjoJx5g==} + engines: {node: '>= 16'} + dependencies: + '@intlify/message-compiler': 9.4.1 + '@intlify/shared': 9.4.1 + dev: false + + /@intlify/message-compiler@9.4.1: + resolution: {integrity: sha512-aN2N+dUx320108QhH51Ycd2LEpZ+NKbzyQ2kjjhqMcxhHdxtOnkgdx+MDBhOy/CObwBmhC3Nygzc6hNlfKvPNw==} + engines: {node: '>= 16'} + dependencies: + '@intlify/shared': 9.4.1 + source-map-js: 1.0.2 + dev: false + + /@intlify/shared@9.4.1: + resolution: {integrity: sha512-A51elBmZWf1FS80inf/32diO9DeXoqg9GR9aUDHFcfHoNDuT46Q+fpPOdj8jiJnSHSBh8E1E+6qWRhAZXdK3Ng==} + engines: {node: '>= 16'} + dev: false + + /@isaacs/cliui@8.0.2: + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + dependencies: + string-width: 5.1.2 + string-width-cjs: /string-width@4.2.3 + strip-ansi: 7.1.0 + strip-ansi-cjs: /strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: /wrap-ansi@7.0.0 + dev: true + + /@jridgewell/gen-mapping@0.3.3: + resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.19 + dev: true + + /@jridgewell/resolve-uri@3.1.1: + resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/set-array@1.1.2: + resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/source-map@0.3.5: + resolution: {integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==} + dependencies: + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.19 + dev: true + + /@jridgewell/sourcemap-codec@1.4.15: + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + + /@jridgewell/trace-mapping@0.3.19: + resolution: {integrity: sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==} + dependencies: + '@jridgewell/resolve-uri': 3.1.1 + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + + /@jridgewell/trace-mapping@0.3.9: + resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + dependencies: + '@jridgewell/resolve-uri': 3.1.1 + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + + /@ljharb/through@2.3.9: + resolution: {integrity: sha512-yN599ZBuMPPK4tdoToLlvgJB4CLK8fGl7ntfy0Wn7U6ttNvHYurd81bfUiK/6sMkiIwm65R6ck4L6+Y3DfVbNQ==} + engines: {node: '>= 0.4'} + dev: true + + /@nodelib/fs.scandir@2.1.5: + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + dev: true + + /@nodelib/fs.stat@2.0.5: + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + dev: true + + /@nodelib/fs.walk@1.2.8: + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.15.0 + dev: true + + /@octokit/auth-token@3.0.4: + resolution: {integrity: sha512-TWFX7cZF2LXoCvdmJWY7XVPi74aSY0+FfBZNSXEXFkMpjcqsQwDSYVv5FhRFaI0V1ECnwbz4j59T/G+rXNWaIQ==} + engines: {node: '>= 14'} + dev: true + + /@octokit/core@4.2.4: + resolution: {integrity: sha512-rYKilwgzQ7/imScn3M9/pFfUf4I1AZEH3KhyJmtPdE2zfaXAn2mFfUy4FbKewzc2We5y/LlKLj36fWJLKC2SIQ==} + engines: {node: '>= 14'} + dependencies: + '@octokit/auth-token': 3.0.4 + '@octokit/graphql': 5.0.6 + '@octokit/request': 6.2.8 + '@octokit/request-error': 3.0.3 + '@octokit/types': 9.3.2 + before-after-hook: 2.2.3 + universal-user-agent: 6.0.0 + transitivePeerDependencies: + - encoding + dev: true + + /@octokit/endpoint@7.0.6: + resolution: {integrity: sha512-5L4fseVRUsDFGR00tMWD/Trdeeihn999rTMGRMC1G/Ldi1uWlWJzI98H4Iak5DB/RVvQuyMYKqSK/R6mbSOQyg==} + engines: {node: '>= 14'} + dependencies: + '@octokit/types': 9.3.2 + is-plain-object: 5.0.0 + universal-user-agent: 6.0.0 + dev: true + + /@octokit/graphql@5.0.6: + resolution: {integrity: sha512-Fxyxdy/JH0MnIB5h+UQ3yCoh1FG4kWXfFKkpWqjZHw/p+Kc8Y44Hu/kCgNBT6nU1shNumEchmW/sUO1JuQnPcw==} + engines: {node: '>= 14'} + dependencies: + '@octokit/request': 6.2.8 + '@octokit/types': 9.3.2 + universal-user-agent: 6.0.0 + transitivePeerDependencies: + - encoding + dev: true + + /@octokit/openapi-types@18.1.1: + resolution: {integrity: sha512-VRaeH8nCDtF5aXWnjPuEMIYf1itK/s3JYyJcWFJT8X9pSNnBtriDf7wlEWsGuhPLl4QIH4xM8fqTXDwJ3Mu6sw==} + dev: true + + /@octokit/plugin-paginate-rest@6.1.2(@octokit/core@4.2.4): + resolution: {integrity: sha512-qhrmtQeHU/IivxucOV1bbI/xZyC/iOBhclokv7Sut5vnejAIAEXVcGQeRpQlU39E0WwK9lNvJHphHri/DB6lbQ==} + engines: {node: '>= 14'} + peerDependencies: + '@octokit/core': '>=4' + dependencies: + '@octokit/core': 4.2.4 + '@octokit/tsconfig': 1.0.2 + '@octokit/types': 9.3.2 + dev: true + + /@octokit/plugin-request-log@1.0.4(@octokit/core@4.2.4): + resolution: {integrity: sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==} + peerDependencies: + '@octokit/core': '>=3' + dependencies: + '@octokit/core': 4.2.4 + dev: true + + /@octokit/plugin-rest-endpoint-methods@7.2.3(@octokit/core@4.2.4): + resolution: {integrity: sha512-I5Gml6kTAkzVlN7KCtjOM+Ruwe/rQppp0QU372K1GP7kNOYEKe8Xn5BW4sE62JAHdwpq95OQK/qGNyKQMUzVgA==} + engines: {node: '>= 14'} + peerDependencies: + '@octokit/core': '>=3' + dependencies: + '@octokit/core': 4.2.4 + '@octokit/types': 10.0.0 + dev: true + + /@octokit/request-error@3.0.3: + resolution: {integrity: sha512-crqw3V5Iy2uOU5Np+8M/YexTlT8zxCfI+qu+LxUB7SZpje4Qmx3mub5DfEKSO8Ylyk0aogi6TYdf6kxzh2BguQ==} + engines: {node: '>= 14'} + dependencies: + '@octokit/types': 9.3.2 + deprecation: 2.3.1 + once: 1.4.0 + dev: true + + /@octokit/request@6.2.8: + resolution: {integrity: sha512-ow4+pkVQ+6XVVsekSYBzJC0VTVvh/FCTUUgTsboGq+DTeWdyIFV8WSCdo0RIxk6wSkBTHqIK1mYuY7nOBXOchw==} + engines: {node: '>= 14'} + dependencies: + '@octokit/endpoint': 7.0.6 + '@octokit/request-error': 3.0.3 + '@octokit/types': 9.3.2 + is-plain-object: 5.0.0 + node-fetch: 2.7.0 + universal-user-agent: 6.0.0 + transitivePeerDependencies: + - encoding + dev: true + + /@octokit/rest@19.0.13: + resolution: {integrity: sha512-/EzVox5V9gYGdbAI+ovYj3nXQT1TtTHRT+0eZPcuC05UFSWO3mdO9UY1C0i2eLF9Un1ONJkAk+IEtYGAC+TahA==} + engines: {node: '>= 14'} + dependencies: + '@octokit/core': 4.2.4 + '@octokit/plugin-paginate-rest': 6.1.2(@octokit/core@4.2.4) + '@octokit/plugin-request-log': 1.0.4(@octokit/core@4.2.4) + '@octokit/plugin-rest-endpoint-methods': 7.2.3(@octokit/core@4.2.4) + transitivePeerDependencies: + - encoding + dev: true + + /@octokit/tsconfig@1.0.2: + resolution: {integrity: sha512-I0vDR0rdtP8p2lGMzvsJzbhdOWy405HcGovrspJ8RRibHnyRgggUSNO5AIox5LmqiwmatHKYsvj6VGFHkqS7lA==} + dev: true + + /@octokit/types@10.0.0: + resolution: {integrity: sha512-Vm8IddVmhCgU1fxC1eyinpwqzXPEYu0NrYzD3YZjlGjyftdLBTeqNblRC0jmJmgxbJIsQlyogVeGnrNaaMVzIg==} + dependencies: + '@octokit/openapi-types': 18.1.1 + dev: true + + /@octokit/types@9.3.2: + resolution: {integrity: sha512-D4iHGTdAnEEVsB8fl95m1hiz7D5YiRdQ9b/OEb3BYRVwbLsGHcRVPz+u+BgRLNk0Q0/4iZCBqDN96j2XNxfXrA==} + dependencies: + '@octokit/openapi-types': 18.1.1 + dev: true + + /@pkgjs/parseargs@0.11.0: + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + requiresBuild: true + dev: true + optional: true + + /@pkgr/utils@2.4.2: + resolution: {integrity: sha512-POgTXhjrTfbTV63DiFXav4lBHiICLKKwDeaKn9Nphwj7WH6m0hMMCaJkMyRWjgtPFyRKRVoMXXjczsTQRDEhYw==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + dependencies: + cross-spawn: 7.0.3 + fast-glob: 3.3.1 + is-glob: 4.0.3 + open: 9.1.0 + picocolors: 1.0.0 + tslib: 2.6.2 + dev: true + + /@polka/url@1.0.0-next.23: + resolution: {integrity: sha512-C16M+IYz0rgRhWZdCmK+h58JMv8vijAA61gmz2rspCSwKwzBebpdcsiUmwrtJRdphuY30i6BSLEOP8ppbNLyLg==} + dev: true + + /@purge-icons/core@0.9.1: + resolution: {integrity: sha512-sx8/a30MbbqQVEqhuMPE1wJpdVRRbEmwEPZpFzVkcDixzX4p+R2A0WVxqkb0xfHUBAVQwrSE2SeAyniIQLqbLw==} + dependencies: + '@iconify/iconify': 2.1.2 + axios: 0.26.1(debug@4.3.4) + debug: 4.3.4 + fast-glob: 3.3.1 + fs-extra: 10.1.0 + transitivePeerDependencies: + - encoding + - supports-color + dev: true + + /@purge-icons/generated@0.9.0: + resolution: {integrity: sha512-s2t+1oVtGDV6KtqfCXtUOhxfeYvOdDF90IVm+nMs/6bUP0HeGZLslguuL/AibpwtfL4FA/oCsIu/RhwapgAdJw==} + dependencies: + '@iconify/iconify': 3.1.1 + dev: true + + /@rollup/plugin-babel@5.3.1(@babel/core@7.22.20)(rollup@2.79.1): + resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==} + engines: {node: '>= 10.0.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@types/babel__core': ^7.1.9 + rollup: ^1.20.0||^2.0.0 + peerDependenciesMeta: + '@types/babel__core': + optional: true + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-module-imports': 7.22.15 + '@rollup/pluginutils': 3.1.0(rollup@2.79.1) + rollup: 2.79.1 + dev: true + + /@rollup/plugin-node-resolve@11.2.1(rollup@2.79.1): + resolution: {integrity: sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==} + engines: {node: '>= 10.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0 + dependencies: + '@rollup/pluginutils': 3.1.0(rollup@2.79.1) + '@types/resolve': 1.17.1 + builtin-modules: 3.3.0 + deepmerge: 4.3.1 + is-module: 1.0.0 + resolve: 1.22.6 + rollup: 2.79.1 + dev: true + + /@rollup/plugin-replace@2.4.2(rollup@2.79.1): + resolution: {integrity: sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==} + peerDependencies: + rollup: ^1.20.0 || ^2.0.0 + dependencies: + '@rollup/pluginutils': 3.1.0(rollup@2.79.1) + magic-string: 0.25.9 + rollup: 2.79.1 + dev: true + + /@rollup/pluginutils@3.1.0(rollup@2.79.1): + resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==} + engines: {node: '>= 8.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0 + dependencies: + '@types/estree': 0.0.39 + estree-walker: 1.0.1 + picomatch: 2.3.1 + rollup: 2.79.1 + dev: true + + /@rollup/pluginutils@5.0.4(rollup@3.29.3): + resolution: {integrity: sha512-0KJnIoRI8A+a1dqOYLxH8vBf8bphDmty5QvIm2hqm7oFCFYKCAZWWd2hXgMibaPsNDhI0AtpYfQZJG47pt/k4g==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@types/estree': 1.0.2 + estree-walker: 2.0.2 + picomatch: 2.3.1 + rollup: 3.29.3 + dev: true + + /@simonwep/pickr@1.8.2: + resolution: {integrity: sha512-/l5w8BIkrpP6n1xsetx9MWPWlU6OblN5YgZZphxan0Tq4BByTCETL6lyIeY8lagalS2Nbt4F2W034KHLIiunKA==} + dependencies: + core-js: 3.32.2 + nanopop: 2.3.0 + dev: false + + /@stylistic/eslint-plugin-js@0.0.3: + resolution: {integrity: sha512-yC9tsmFxlgoDyD/B+93IH2TSe1Ca46s2uf+oUfkCLWTXFKTmPPy0YLDcme9Ha1Qydx5U+1lehe1jwG9VxtIdtw==} + dependencies: + acorn: 8.10.0 + escape-string-regexp: 4.0.0 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esutils: 2.0.3 + graphemer: 1.4.0 + dev: true + + /@stylistic/eslint-plugin-ts@0.0.3(eslint@8.50.0)(typescript@5.2.2): + resolution: {integrity: sha512-G/jZ+XHlZtkxABOXswJNTmN4h8qNmECTjPLkWPMykPlfQeD1RSpBMEQHiJHZ3GAxnEcqAgi7CNA1FTvGWz6qwQ==} + peerDependencies: + eslint: '*' + typescript: '*' + dependencies: + '@stylistic/eslint-plugin-js': 0.0.3 + '@typescript-eslint/scope-manager': 6.7.2 + '@typescript-eslint/type-utils': 6.7.2(eslint@8.50.0)(typescript@5.2.2) + '@typescript-eslint/utils': 6.7.2(eslint@8.50.0)(typescript@5.2.2) + eslint: 8.50.0 + graphemer: 1.4.0 + semver: 7.5.4 + typescript: 5.2.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@surma/rollup-plugin-off-main-thread@2.2.3: + resolution: {integrity: sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==} + dependencies: + ejs: 3.1.9 + json5: 2.2.3 + magic-string: 0.25.9 + string.prototype.matchall: 4.0.10 + dev: true + + /@trysound/sax@0.2.0: + resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} + engines: {node: '>=10.13.0'} + dev: true + + /@tsconfig/node10@1.0.9: + resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} + dev: true + + /@tsconfig/node12@1.0.11: + resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} + dev: true + + /@tsconfig/node14@1.0.3: + resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} + dev: true + + /@tsconfig/node16@1.0.4: + resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} + dev: true + + /@types/codemirror@5.60.10: + resolution: {integrity: sha512-ZTA3teiCWKT8HUUofqlGPlShu5ojdIajizsS0HpH6GL0/iEdjRt7fXbCLHHqKYP5k7dC/HnnWIjZAiELUwBdjQ==} + dependencies: + '@types/tern': 0.23.5 + dev: true + + /@types/crypto-js@4.1.2: + resolution: {integrity: sha512-t33RNmTu5ufG/sorROIafiCVJMx3jz95bXUMoPAZcUD14fxMXnuTzqzXZoxpR0tNx2xpw11Dlmem9vGCsrSOfA==} + dev: true + + /@types/estree@0.0.39: + resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==} + dev: true + + /@types/estree@1.0.2: + resolution: {integrity: sha512-VeiPZ9MMwXjO32/Xu7+OwflfmeoRwkE/qzndw42gGtgJwZopBnzy2gD//NN1+go1mADzkDcqf/KnFRSjTJ8xJA==} + dev: true + + /@types/fs-extra@11.0.2: + resolution: {integrity: sha512-c0hrgAOVYr21EX8J0jBMXGLMgJqVf/v6yxi0dLaJboW9aQPh16Id+z6w2Tx1hm+piJOLv8xPfVKZCLfjPw/IMQ==} + dependencies: + '@types/jsonfile': 6.1.2 + '@types/node': 20.6.4 + dev: true + + /@types/inquirer@9.0.3: + resolution: {integrity: sha512-CzNkWqQftcmk2jaCWdBTf9Sm7xSw4rkI1zpU/Udw3HX5//adEZUIm9STtoRP1qgWj0CWQtJ9UTvqmO2NNjhMJw==} + dependencies: + '@types/through': 0.0.31 + rxjs: 7.8.1 + dev: true + + /@types/json-schema@7.0.13: + resolution: {integrity: sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ==} + dev: true + + /@types/jsonfile@6.1.2: + resolution: {integrity: sha512-8t92P+oeW4d/CRQfJaSqEwXujrhH4OEeHRjGU3v1Q8mUS8GPF3yiX26sw4svv6faL2HfBtGTe2xWIoVgN3dy9w==} + dependencies: + '@types/node': 20.6.4 + dev: true + + /@types/lodash-es@4.17.9: + resolution: {integrity: sha512-ZTcmhiI3NNU7dEvWLZJkzG6ao49zOIjEgIE0RgV7wbPxU0f2xT3VSAHw2gmst8swH6V0YkLRGp4qPlX/6I90MQ==} + dependencies: + '@types/lodash': 4.14.199 + dev: true + + /@types/lodash@4.14.199: + resolution: {integrity: sha512-Vrjz5N5Ia4SEzWWgIVwnHNEnb1UE1XMkvY5DGXrAeOGE9imk0hgTHh5GyDjLDJi9OTCn9oo9dXH1uToK1VRfrg==} + dev: true + + /@types/mdast@3.0.12: + resolution: {integrity: sha512-DT+iNIRNX884cx0/Q1ja7NyUPpZuv0KPyL5rGNxm1WC1OtHstl7n4Jb7nk+xacNShQMbczJjt8uFzznpp6kYBg==} + dependencies: + '@types/unist': 2.0.8 + dev: true + + /@types/minimist@1.2.2: + resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} + dev: true + + /@types/node@10.17.60: + resolution: {integrity: sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==} + dev: true + + /@types/node@20.4.7: + resolution: {integrity: sha512-bUBrPjEry2QUTsnuEjzjbS7voGWCc30W0qzgMf90GPeDGFRakvrz47ju+oqDAKCXLUCe39u57/ORMl/O/04/9g==} + dev: true + + /@types/node@20.6.4: + resolution: {integrity: sha512-nU6d9MPY0NBUMiE/nXd2IIoC4OLvsLpwAjheoAeuzgvDZA1Cb10QYg+91AF6zQiKWRN5i1m07x6sMe0niBznoQ==} + dev: true + + /@types/normalize-package-data@2.4.2: + resolution: {integrity: sha512-lqa4UEhhv/2sjjIQgjX8B+RBjj47eo0mzGasklVJ78UKGQY1r0VpB9XHDaZZO9qzEFDdy4MrXLuEaSmPrPSe/A==} + dev: true + + /@types/nprogress@0.2.1: + resolution: {integrity: sha512-TYuyVnp+nOnimgdOydDIDYIxv2kSeuJZw4tF0p/KG7hpzcMF1WkHaREwM8O4blqfT1F7rq0nht6Ko2KVUfWzBA==} + dev: true + + /@types/qs@6.9.8: + resolution: {integrity: sha512-u95svzDlTysU5xecFNTgfFG5RUWu1A9P0VzgpcIiGZA9iraHOdSzcxMxQ55DyeRaGCSxQi7LxXDI4rzq/MYfdg==} + dev: true + + /@types/resolve@1.17.1: + resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} + dependencies: + '@types/node': 20.6.4 + dev: true + + /@types/semver@7.5.2: + resolution: {integrity: sha512-7aqorHYgdNO4DM36stTiGO3DvKoex9TQRwsJU6vMaFGyqpBA1MNZkz+PG3gaNUPpTAOYhT1WR7M1JyA3fbS9Cw==} + dev: true + + /@types/sortablejs@1.15.2: + resolution: {integrity: sha512-mOIv/EnPMzAZAVbuh9uGjOZ1BBdimP9Y6IPGntsvQJtko5yapSDKB7GwB3AOlF5N3bkpk4sBwQRpS3aEkiUbaA==} + dev: true + + /@types/svgo@2.6.4: + resolution: {integrity: sha512-l4cmyPEckf8moNYHdJ+4wkHvFxjyW6ulm9l4YGaOxeyBWPhBOT0gvni1InpFPdzx1dKf/2s62qGITwxNWnPQng==} + dependencies: + '@types/node': 20.6.4 + dev: true + + /@types/tern@0.23.5: + resolution: {integrity: sha512-POau56wDk3TQ0mQ0qG7XDzv96U5whSENZ9lC0htDvEH+9YUREo+J2U+apWcVRgR2UydEE70JXZo44goG+akTNQ==} + dependencies: + '@types/estree': 1.0.2 + dev: true + + /@types/through@0.0.31: + resolution: {integrity: sha512-LpKpmb7FGevYgXnBXYs6HWnmiFyVG07Pt1cnbgM1IhEacITTiUaBXXvOR3Y50ksaJWGSfhbEvQFivQEFGCC55w==} + dependencies: + '@types/node': 20.6.4 + dev: true + + /@types/trusted-types@2.0.4: + resolution: {integrity: sha512-IDaobHimLQhjwsQ/NMwRVfa/yL7L/wriQPMhw1ZJall0KX6E1oxk29XMDeilW5qTIg5aoiqf5Udy8U/51aNoQQ==} + dev: true + + /@types/unist@2.0.8: + resolution: {integrity: sha512-d0XxK3YTObnWVp6rZuev3c49+j4Lo8g4L1ZRm9z5L0xpoZycUPshHgczK5gsUMaZOstjVYYi09p5gYvUtfChYw==} + dev: true + + /@types/video.js@7.3.52: + resolution: {integrity: sha512-WFj/HkNVCfkchXDeDU0QbimC356FB5vva3g5mgsjk8n3UMKqP9S522rQAmu9LGPiCmShZRPuAlkXmbp5WId6ow==} + dev: false + + /@types/web-bluetooth@0.0.17: + resolution: {integrity: sha512-4p9vcSmxAayx72yn70joFoL44c9MO/0+iVEBIQXe3v2h2SiAsEIo/G5v6ObFWvNKRFjbrVadNf9LqEEZeQPzdA==} + dev: false + + /@typescript-eslint/eslint-plugin@6.7.2(@typescript-eslint/parser@6.7.2)(eslint@8.50.0)(typescript@5.2.2): + resolution: {integrity: sha512-ooaHxlmSgZTM6CHYAFRlifqh1OAr3PAQEwi7lhYhaegbnXrnh7CDcHmc3+ihhbQC7H0i4JF0psI5ehzkF6Yl6Q==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@eslint-community/regexpp': 4.8.1 + '@typescript-eslint/parser': 6.7.2(eslint@8.50.0)(typescript@5.2.2) + '@typescript-eslint/scope-manager': 6.7.2 + '@typescript-eslint/type-utils': 6.7.2(eslint@8.50.0)(typescript@5.2.2) + '@typescript-eslint/utils': 6.7.2(eslint@8.50.0)(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 6.7.2 + debug: 4.3.4 + eslint: 8.50.0 + graphemer: 1.4.0 + ignore: 5.2.4 + natural-compare: 1.4.0 + semver: 7.5.4 + ts-api-utils: 1.0.3(typescript@5.2.2) + typescript: 5.2.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/parser@6.7.2(eslint@8.50.0)(typescript@5.2.2): + resolution: {integrity: sha512-KA3E4ox0ws+SPyxQf9iSI25R6b4Ne78ORhNHeVKrPQnoYsb9UhieoiRoJgrzgEeKGOXhcY1i8YtOeCHHTDa6Fw==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/scope-manager': 6.7.2 + '@typescript-eslint/types': 6.7.2 + '@typescript-eslint/typescript-estree': 6.7.2(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 6.7.2 + debug: 4.3.4 + eslint: 8.50.0 + typescript: 5.2.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/scope-manager@5.62.0: + resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/visitor-keys': 5.62.0 + dev: true + + /@typescript-eslint/scope-manager@6.7.2: + resolution: {integrity: sha512-bgi6plgyZjEqapr7u2mhxGR6E8WCzKNUFWNh6fkpVe9+yzRZeYtDTbsIBzKbcxI+r1qVWt6VIoMSNZ4r2A+6Yw==} + engines: {node: ^16.0.0 || >=18.0.0} + dependencies: + '@typescript-eslint/types': 6.7.2 + '@typescript-eslint/visitor-keys': 6.7.2 + dev: true + + /@typescript-eslint/type-utils@6.7.2(eslint@8.50.0)(typescript@5.2.2): + resolution: {integrity: sha512-36F4fOYIROYRl0qj95dYKx6kybddLtsbmPIYNK0OBeXv2j9L5nZ17j9jmfy+bIDHKQgn2EZX+cofsqi8NPATBQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/typescript-estree': 6.7.2(typescript@5.2.2) + '@typescript-eslint/utils': 6.7.2(eslint@8.50.0)(typescript@5.2.2) + debug: 4.3.4 + eslint: 8.50.0 + ts-api-utils: 1.0.3(typescript@5.2.2) + typescript: 5.2.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/types@5.62.0: + resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /@typescript-eslint/types@6.7.2: + resolution: {integrity: sha512-flJYwMYgnUNDAN9/GAI3l8+wTmvTYdv64fcH8aoJK76Y+1FCZ08RtI5zDerM/FYT5DMkAc+19E4aLmd5KqdFyg==} + engines: {node: ^16.0.0 || >=18.0.0} + dev: true + + /@typescript-eslint/typescript-estree@5.62.0(typescript@5.2.2): + resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/visitor-keys': 5.62.0 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + semver: 7.5.4 + tsutils: 3.21.0(typescript@5.2.2) + typescript: 5.2.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/typescript-estree@6.7.2(typescript@5.2.2): + resolution: {integrity: sha512-kiJKVMLkoSciGyFU0TOY0fRxnp9qq1AzVOHNeN1+B9erKFCJ4Z8WdjAkKQPP+b1pWStGFqezMLltxO+308dJTQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 6.7.2 + '@typescript-eslint/visitor-keys': 6.7.2 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + semver: 7.5.4 + ts-api-utils: 1.0.3(typescript@5.2.2) + typescript: 5.2.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/utils@5.62.0(eslint@8.50.0)(typescript@5.2.2): + resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.50.0) + '@types/json-schema': 7.0.13 + '@types/semver': 7.5.2 + '@typescript-eslint/scope-manager': 5.62.0 + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.2.2) + eslint: 8.50.0 + eslint-scope: 5.1.1 + semver: 7.5.4 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@typescript-eslint/utils@6.7.2(eslint@8.50.0)(typescript@5.2.2): + resolution: {integrity: sha512-ZCcBJug/TS6fXRTsoTkgnsvyWSiXwMNiPzBUani7hDidBdj1779qwM1FIAmpH4lvlOZNF3EScsxxuGifjpLSWQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.50.0) + '@types/json-schema': 7.0.13 + '@types/semver': 7.5.2 + '@typescript-eslint/scope-manager': 6.7.2 + '@typescript-eslint/types': 6.7.2 + '@typescript-eslint/typescript-estree': 6.7.2(typescript@5.2.2) + eslint: 8.50.0 + semver: 7.5.4 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@typescript-eslint/visitor-keys@5.62.0: + resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': 5.62.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@typescript-eslint/visitor-keys@6.7.2: + resolution: {integrity: sha512-uVw9VIMFBUTz8rIeaUT3fFe8xIUx8r4ywAdlQv1ifH+6acn/XF8Y6rwJ7XNmkNMDrTW+7+vxFFPIF40nJCVsMQ==} + engines: {node: ^16.0.0 || >=18.0.0} + dependencies: + '@typescript-eslint/types': 6.7.2 + eslint-visitor-keys: 3.4.3 + dev: true + + /@unocss/astro@0.56.1(rollup@3.29.3)(vite@4.4.9): + resolution: {integrity: sha512-ivWm69J76DRwCiEFM75qR4WPMCC6nyOrUM5iQDTypwKbBX26XlXcYYCN3DLoQTmWdp5f2BubZXAg3KIdgVxrYg==} + peerDependencies: + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 + peerDependenciesMeta: + vite: + optional: true + dependencies: + '@unocss/core': 0.56.1 + '@unocss/reset': 0.56.1 + '@unocss/vite': 0.56.1(rollup@3.29.3)(vite@4.4.9) + vite: 4.4.9(@types/node@20.6.4)(less@4.2.0)(terser@5.20.0) + transitivePeerDependencies: + - rollup + dev: true + + /@unocss/cli@0.56.1(rollup@3.29.3): + resolution: {integrity: sha512-s7lRtPkNw7GXdej3uYKFgfyal3Bq0Ux9oJKQ3rV7ysvY5AMfHs+ayc1EC6vXsAunziJ39dloPrRY5cx1H7abkQ==} + engines: {node: '>=14'} + hasBin: true + dependencies: + '@ampproject/remapping': 2.2.1 + '@rollup/pluginutils': 5.0.4(rollup@3.29.3) + '@unocss/config': 0.56.1 + '@unocss/core': 0.56.1 + '@unocss/preset-uno': 0.56.1 + cac: 6.7.14 + chokidar: 3.5.3 + colorette: 2.0.20 + consola: 3.2.3 + fast-glob: 3.3.1 + magic-string: 0.30.3 + pathe: 1.1.1 + perfect-debounce: 1.0.0 + transitivePeerDependencies: + - rollup + dev: true + + /@unocss/config@0.56.1: + resolution: {integrity: sha512-ZwKWtbMfg38laUNwjERkiTo3JKCgpw+hZMBqbbr2N4Rhc1ZaT4EJyQmcc/+P05JoNNr+ueYMoCMOCOtn/wuheQ==} + engines: {node: '>=14'} + dependencies: + '@unocss/core': 0.56.1 + unconfig: 0.3.10 + dev: true + + /@unocss/core@0.56.1: + resolution: {integrity: sha512-2qmb/+hQ2CXmIgSqaeL6Pw2reO2MxsZlLMFuu71J8T3+UKrkI9NAwkZ4sdb38EoOisVIr2lvE48uc44XBfaOdg==} + dev: true + + /@unocss/eslint-config@0.56.1(eslint@8.50.0)(typescript@5.2.2): + resolution: {integrity: sha512-ph1w2FO+wCHq0jz0iQyxUbjwLSVjSz6wQ2yd0fCsm6mHNlewWHmu6gD3Grs9j5XDyFJEwz4HZZRHspJanqSJyA==} + engines: {node: '>=14'} + dependencies: + '@unocss/eslint-plugin': 0.56.1(eslint@8.50.0)(typescript@5.2.2) + transitivePeerDependencies: + - eslint + - supports-color + - typescript + dev: true + + /@unocss/eslint-plugin@0.56.1(eslint@8.50.0)(typescript@5.2.2): + resolution: {integrity: sha512-WLTybFXK9FJUMmEdUBa4Yj6uZx4qTCThGVej5Rn3XA+5f58zNmcSbipUG5oz16Z/QqYKP8iKhtg5zAQJMi0erg==} + engines: {node: '>=14'} + dependencies: + '@typescript-eslint/utils': 6.7.2(eslint@8.50.0)(typescript@5.2.2) + '@unocss/config': 0.56.1 + '@unocss/core': 0.56.1 + magic-string: 0.30.3 + synckit: 0.8.5 + transitivePeerDependencies: + - eslint + - supports-color + - typescript + dev: true + + /@unocss/extractor-arbitrary-variants@0.56.1: + resolution: {integrity: sha512-2vEcVwUTpC0yROjvKGjR3HSE8jaf1cwQqL+Ba5oP+Y4Vrjlf8hqvoSowgVT+wp/ecPH8z82xFNhS+XMOdgXpGA==} + dependencies: + '@unocss/core': 0.56.1 + dev: true + + /@unocss/inspector@0.56.1: + resolution: {integrity: sha512-PJ3MEwOvUjLaiySPQQKlw0XgwpReNK7c+nDX0D8ZBmUyw3swSn8wSar2cCOLsKLRtKRRp4kz1brM/BaleyYyeg==} + dependencies: + '@unocss/rule-utils': 0.56.1 + gzip-size: 6.0.0 + sirv: 2.0.3 + dev: true + + /@unocss/postcss@0.56.1(postcss@8.4.30): + resolution: {integrity: sha512-8jUS5ynopvMbZmdUQhGv+lvKziuAPHHl9LaZzCJ4uHgPOwITNXWTi4dmNbytdYC3iYPQ++8eOph93VPCxdqVsw==} + engines: {node: '>=14'} + peerDependencies: + postcss: ^8.4.21 + dependencies: + '@unocss/config': 0.56.1 + '@unocss/core': 0.56.1 + '@unocss/rule-utils': 0.56.1 + css-tree: 2.3.1 + fast-glob: 3.3.1 + magic-string: 0.30.3 + postcss: 8.4.30 + dev: true + + /@unocss/preset-attributify@0.56.1: + resolution: {integrity: sha512-z+riyM9Fl+aYReg3cgxDRrI52teOL6ebj1UkMOje5sXuhneEQobUkg3k4Oi9NGTdalO5PU/jwcYCNfVksMPWZg==} + dependencies: + '@unocss/core': 0.56.1 + dev: true + + /@unocss/preset-icons@0.56.1: + resolution: {integrity: sha512-Jwyy7i39Hvt4gf+/vtlIcKucNP2y7IV5nF9KPuDnikho4xS/D24z3lbUclrscbH8XGfRcsUzGHI/y+8gD7zZjQ==} + dependencies: + '@iconify/utils': 2.1.10 + '@unocss/core': 0.56.1 + ofetch: 1.3.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@unocss/preset-mini@0.56.1: + resolution: {integrity: sha512-hOujmUN5kiA7KCkH1mUFf3cStsa3WZTi3g/I91VQ8EM4S6R7aRvME7LBXlb38z68+pckoDLhOhbN7gSg2iZTjA==} + dependencies: + '@unocss/core': 0.56.1 + '@unocss/extractor-arbitrary-variants': 0.56.1 + '@unocss/rule-utils': 0.56.1 + dev: true + + /@unocss/preset-tagify@0.56.1: + resolution: {integrity: sha512-cd1McbaEpoerduOt8dA6MOkVZQIutuF3dHyjrI/pXbDtoyzBWjT9MLEeV77Hlz3S09+9cqGZddBBkqo0WGsM0w==} + dependencies: + '@unocss/core': 0.56.1 + dev: true + + /@unocss/preset-typography@0.56.1: + resolution: {integrity: sha512-3p+dWEtMDe8MSPbUZseS94OpdYbv/pMTs2K1NBysE5BjIEVlyxRNWcZ8FC6risAJ1U0Ouctb6BqP6IA8r9BiWQ==} + dependencies: + '@unocss/core': 0.56.1 + '@unocss/preset-mini': 0.56.1 + dev: true + + /@unocss/preset-uno@0.56.1: + resolution: {integrity: sha512-rNnjpmnfrP/1P462dyELBQHe5NDlFSrJevwjCpAOeFXdO0XCCULpHokuaovZYwesNvzzWu+cZequya38n5hkSw==} + dependencies: + '@unocss/core': 0.56.1 + '@unocss/preset-mini': 0.56.1 + '@unocss/preset-wind': 0.56.1 + '@unocss/rule-utils': 0.56.1 + dev: true + + /@unocss/preset-web-fonts@0.56.1: + resolution: {integrity: sha512-SO2ZjrcFSi02QgQT3UVUtIlZE59A92gB1pzmYTMGZhjhmxqq6aghvBKEC00LfnQ200MRtAawgiZ+5Xysi/XsGg==} + dependencies: + '@unocss/core': 0.56.1 + ofetch: 1.3.3 + dev: true + + /@unocss/preset-wind@0.56.1: + resolution: {integrity: sha512-/fR0eYlmezu6R3wWvN5zVNAfOE6rcC1CsEZKH0SdwchMvNDjJNd0rmAechI2BnVBaa3++H2Cz+0AfCDEP8tsjg==} + dependencies: + '@unocss/core': 0.56.1 + '@unocss/preset-mini': 0.56.1 + '@unocss/rule-utils': 0.56.1 + dev: true + + /@unocss/reset@0.56.1: + resolution: {integrity: sha512-nfzLKv2W9Y3fZLny6lYTroa/YExczGYHsVPCBPGkVt0TrM0yDA+ZKOHbN93b5myY9hzJ3pHTEQmYFsFwzzr6Kg==} + dev: true + + /@unocss/rule-utils@0.56.1: + resolution: {integrity: sha512-mmmbx10eELAyhYZqBWlQFPOafnL1hHp2fo18rUbZLedvMJWds3Z23Q/u3VKEpJnCszNkr03BXVwscR5+ZdF4uw==} + engines: {node: '>=14'} + dependencies: + '@unocss/core': 0.56.1 + dev: true + + /@unocss/scope@0.56.1: + resolution: {integrity: sha512-qIq/JuibrVOAJw/TCUm54XwHRcDImgrb1abZVuaicFh6fjmpdOi/iglYxoFqXS5gusp0m2vNnOLbaBB4LrPf5Q==} + dev: true + + /@unocss/transformer-attributify-jsx-babel@0.56.1: + resolution: {integrity: sha512-8+l4tfifHiSnga3iaxqXfAMgEJG7yLphKPDSm6DHEMUqKeia9rn3V/bABx5KZxpMmnH6FoiYboJL4uf5W58a5Q==} + dependencies: + '@unocss/core': 0.56.1 + dev: true + + /@unocss/transformer-attributify-jsx@0.56.1: + resolution: {integrity: sha512-2dQ7immRBnZJQ9aU+VIiAbcFCycXq8yXG2RPd82Pl0tAV8f5DtLbbuTC5mzo5lGOhuXJ+/u+IpuL9xchjOV7WQ==} + dependencies: + '@unocss/core': 0.56.1 + dev: true + + /@unocss/transformer-compile-class@0.56.1: + resolution: {integrity: sha512-v3ICzTWj3oQ1S6qkGzg/oyzrk05ZgdcvjYFSZlgBIu2iUJldBhO0+7ZMuDpniaT21GjJvukLwiWrOF4mYyJCyg==} + dependencies: + '@unocss/core': 0.56.1 + dev: true + + /@unocss/transformer-directives@0.56.1: + resolution: {integrity: sha512-Pwh+JUxxn8ECqpEWETeD38OON5Y2oYAOC1CFKAyXoK22J7f51THoS07z2rZpDNdQA2T/szxenNCdRt72/NJ/pg==} + dependencies: + '@unocss/core': 0.56.1 + '@unocss/rule-utils': 0.56.1 + css-tree: 2.3.1 + dev: true + + /@unocss/transformer-variant-group@0.56.1: + resolution: {integrity: sha512-UwXNcW00R6MjHZajy8lmSfwWDwhnvd+rF9eRGfcJTEzWr+LtEmgw8SJBr7STCB4ZwRE37NIp4oLLl1jF8omGNg==} + dependencies: + '@unocss/core': 0.56.1 + dev: true + + /@unocss/vite@0.56.1(rollup@3.29.3)(vite@4.4.9): + resolution: {integrity: sha512-IztLc304zP2LYQMsP3yVHmLwXlLUgCY3q6Nkqw6Hpds7l5JXBsE7Q19DtNW+4nDOp9wvWhw7CjQLmoh8d+V0lQ==} + peerDependencies: + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 + dependencies: + '@ampproject/remapping': 2.2.1 + '@rollup/pluginutils': 5.0.4(rollup@3.29.3) + '@unocss/config': 0.56.1 + '@unocss/core': 0.56.1 + '@unocss/inspector': 0.56.1 + '@unocss/scope': 0.56.1 + '@unocss/transformer-directives': 0.56.1 + chokidar: 3.5.3 + fast-glob: 3.3.1 + magic-string: 0.30.3 + vite: 4.4.9(@types/node@20.6.4)(less@4.2.0)(terser@5.20.0) + transitivePeerDependencies: + - rollup + dev: true + + /@videojs-player/vue@1.0.0(@types/video.js@7.3.52)(video.js@7.21.5)(vue@3.3.4): + resolution: {integrity: sha512-WonTezRfKu3fYdQLt/ta+nuKH6gMZUv8l40Jke/j4Lae7IqeO/+lLAmBnh3ni88bwR+vkFXIlZ2Ci7VKInIYJg==} + peerDependencies: + '@types/video.js': 7.x + video.js: 7.x + vue: 3.x + dependencies: + '@types/video.js': 7.3.52 + video.js: 7.21.5 + vue: 3.3.4 + dev: false + + /@videojs/http-streaming@2.16.2(video.js@7.21.5): + resolution: {integrity: sha512-etPTUdCFu7gUWc+1XcbiPr+lrhOcBu3rV5OL1M+3PDW89zskScAkkcdqYzP4pFodBPye/ydamQoTDScOnElw5A==} + engines: {node: '>=8', npm: '>=5'} + peerDependencies: + video.js: ^6 || ^7 + dependencies: + '@babel/runtime': 7.22.15 + '@videojs/vhs-utils': 3.0.5 + aes-decrypter: 3.1.3 + global: 4.4.0 + m3u8-parser: 4.8.0 + mpd-parser: 0.22.1 + mux.js: 6.0.1 + video.js: 7.21.5 + dev: false + + /@videojs/vhs-utils@3.0.5: + resolution: {integrity: sha512-PKVgdo8/GReqdx512F+ombhS+Bzogiofy1LgAj4tN8PfdBx3HSS7V5WfJotKTqtOWGwVfSWsrYN/t09/DSryrw==} + engines: {node: '>=8', npm: '>=5'} + dependencies: + '@babel/runtime': 7.22.15 + global: 4.4.0 + url-toolkit: 2.2.5 + dev: false + + /@videojs/xhr@2.6.0: + resolution: {integrity: sha512-7J361GiN1tXpm+gd0xz2QWr3xNWBE+rytvo8J3KuggFaLg+U37gZQ2BuPLcnkfGffy2e+ozY70RHC8jt7zjA6Q==} + dependencies: + '@babel/runtime': 7.22.15 + global: 4.4.0 + is-function: 1.0.2 + dev: false + + /@vitejs/plugin-vue-jsx@3.0.2(vite@4.4.9)(vue@3.3.4): + resolution: {integrity: sha512-obF26P2Z4Ogy3cPp07B4VaW6rpiu0ue4OT2Y15UxT5BZZ76haUY9guOsZV3uWh/I6xc+VeiW+ZVabRE82FyzWw==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + vite: ^4.0.0 + vue: ^3.0.0 + dependencies: + '@babel/core': 7.22.20 + '@babel/plugin-transform-typescript': 7.22.15(@babel/core@7.22.20) + '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.22.20) + vite: 4.4.9(@types/node@20.6.4)(less@4.2.0)(terser@5.20.0) + vue: 3.3.4 + transitivePeerDependencies: + - supports-color + dev: true + + /@vitejs/plugin-vue@4.3.4(vite@4.4.9)(vue@3.3.4): + resolution: {integrity: sha512-ciXNIHKPriERBisHFBvnTbfKa6r9SAesOYXeGDzgegcvy9Q4xdScSHAmKbNT0M3O0S9LKhIf5/G+UYG4NnnzYw==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + vite: ^4.0.0 + vue: ^3.2.25 + dependencies: + vite: 4.4.9(@types/node@20.6.4)(less@4.2.0)(terser@5.20.0) + vue: 3.3.4 + dev: true + + /@volar/language-core@1.10.1: + resolution: {integrity: sha512-JnsM1mIPdfGPxmoOcK1c7HYAsL6YOv0TCJ4aW3AXPZN/Jb4R77epDyMZIVudSGjWMbvv/JfUa+rQ+dGKTmgwBA==} + dependencies: + '@volar/source-map': 1.10.1 + dev: true + + /@volar/source-map@1.10.1: + resolution: {integrity: sha512-3/S6KQbqa7pGC8CxPrg69qHLpOvkiPHGJtWPkI/1AXCsktkJ6gIk/5z4hyuMp8Anvs6eS/Kvp/GZa3ut3votKA==} + dependencies: + muggle-string: 0.3.1 + dev: true + + /@volar/typescript@1.10.1: + resolution: {integrity: sha512-+iiO9yUSRHIYjlteT+QcdRq8b44qH19/eiUZtjNtuh6D9ailYM7DVR0zO2sEgJlvCaunw/CF9Ov2KooQBpR4VQ==} + dependencies: + '@volar/language-core': 1.10.1 + dev: true + + /@vue/babel-helper-vue-transform-on@1.1.5: + resolution: {integrity: sha512-SgUymFpMoAyWeYWLAY+MkCK3QEROsiUnfaw5zxOVD/M64KQs8D/4oK6Q5omVA2hnvEOE0SCkH2TZxs/jnnUj7w==} + dev: true + + /@vue/babel-plugin-jsx@1.1.5(@babel/core@7.22.20): + resolution: {integrity: sha512-nKs1/Bg9U1n3qSWnsHhCVQtAzI6aQXqua8j/bZrau8ywT1ilXQbK4FwEJGmU8fV7tcpuFvWmmN7TMmV1OBma1g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-module-imports': 7.22.15 + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.20) + '@babel/template': 7.22.15 + '@babel/traverse': 7.22.20 + '@babel/types': 7.22.19 + '@vue/babel-helper-vue-transform-on': 1.1.5 + camelcase: 6.3.0 + html-tags: 3.3.1 + svg-tags: 1.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@vue/compiler-core@3.3.4: + resolution: {integrity: sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==} + dependencies: + '@babel/parser': 7.22.16 + '@vue/shared': 3.3.4 + estree-walker: 2.0.2 + source-map-js: 1.0.2 + + /@vue/compiler-dom@3.3.4: + resolution: {integrity: sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==} + dependencies: + '@vue/compiler-core': 3.3.4 + '@vue/shared': 3.3.4 + + /@vue/compiler-sfc@3.3.4: + resolution: {integrity: sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==} + dependencies: + '@babel/parser': 7.22.16 + '@vue/compiler-core': 3.3.4 + '@vue/compiler-dom': 3.3.4 + '@vue/compiler-ssr': 3.3.4 + '@vue/reactivity-transform': 3.3.4 + '@vue/shared': 3.3.4 + estree-walker: 2.0.2 + magic-string: 0.30.3 + postcss: 8.4.30 + source-map-js: 1.0.2 + + /@vue/compiler-ssr@3.3.4: + resolution: {integrity: sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==} + dependencies: + '@vue/compiler-dom': 3.3.4 + '@vue/shared': 3.3.4 + + /@vue/devtools-api@6.5.0: + resolution: {integrity: sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==} + dev: false + + /@vue/language-core@1.8.13(typescript@5.2.2): + resolution: {integrity: sha512-nata2fYBZAkl4QJrU+IcArJCMTHt1VP8ePL/Z7eUPC2AF+Cm7Qgo9ksNCPBzZRh1LYjCaSaqV7njqNogwpsMVg==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@volar/language-core': 1.10.1 + '@volar/source-map': 1.10.1 + '@vue/compiler-dom': 3.3.4 + '@vue/reactivity': 3.3.4 + '@vue/shared': 3.3.4 + minimatch: 9.0.3 + muggle-string: 0.3.1 + typescript: 5.2.2 + vue-template-compiler: 2.7.14 + dev: true + + /@vue/reactivity-transform@3.3.4: + resolution: {integrity: sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==} + dependencies: + '@babel/parser': 7.22.16 + '@vue/compiler-core': 3.3.4 + '@vue/shared': 3.3.4 + estree-walker: 2.0.2 + magic-string: 0.30.3 + + /@vue/reactivity@3.3.4: + resolution: {integrity: sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==} + dependencies: + '@vue/shared': 3.3.4 + + /@vue/runtime-core@3.3.4: + resolution: {integrity: sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA==} + dependencies: + '@vue/reactivity': 3.3.4 + '@vue/shared': 3.3.4 + + /@vue/runtime-dom@3.3.4: + resolution: {integrity: sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ==} + dependencies: + '@vue/runtime-core': 3.3.4 + '@vue/shared': 3.3.4 + csstype: 3.1.2 + + /@vue/server-renderer@3.3.4(vue@3.3.4): + resolution: {integrity: sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ==} + peerDependencies: + vue: 3.3.4 + dependencies: + '@vue/compiler-ssr': 3.3.4 + '@vue/shared': 3.3.4 + vue: 3.3.4 + + /@vue/shared@3.3.4: + resolution: {integrity: sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==} + + /@vue/typescript@1.8.13(typescript@5.2.2): + resolution: {integrity: sha512-ALJjHFqQ3dgZVCI/ogAS/dZ7JEhIi1N0Em5I7uwabY1p9RDRK3odLsycMHyxZRjm5dLI15c07eeBloHiD2Otlg==} + dependencies: + '@volar/typescript': 1.10.1 + '@vue/language-core': 1.8.13(typescript@5.2.2) + transitivePeerDependencies: + - typescript + dev: true + + /@vueuse/core@10.4.1(vue@3.3.4): + resolution: {integrity: sha512-DkHIfMIoSIBjMgRRvdIvxsyboRZQmImofLyOHADqiVbQVilP8VVHDhBX2ZqoItOgu7dWa8oXiNnScOdPLhdEXg==} + dependencies: + '@types/web-bluetooth': 0.0.17 + '@vueuse/metadata': 10.4.1 + '@vueuse/shared': 10.4.1(vue@3.3.4) + vue-demi: 0.14.6(vue@3.3.4) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + dev: false + + /@vueuse/metadata@10.4.1: + resolution: {integrity: sha512-2Sc8X+iVzeuMGHr6O2j4gv/zxvQGGOYETYXEc41h0iZXIRnRbJZGmY/QP8dvzqUelf8vg0p/yEA5VpCEu+WpZg==} + dev: false + + /@vueuse/shared@10.4.1(vue@3.3.4): + resolution: {integrity: sha512-vz5hbAM4qA0lDKmcr2y3pPdU+2EVw/yzfRsBdu+6+USGa4PxqSQRYIUC9/NcT06y+ZgaTsyURw2I9qOFaaXHAg==} + dependencies: + vue-demi: 0.14.6(vue@3.3.4) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + dev: false + + /@xingyuv/eslint-config-basic@0.1.6(@typescript-eslint/eslint-plugin@6.7.2)(@typescript-eslint/parser@6.7.2)(eslint@8.50.0)(typescript@5.2.2): + resolution: {integrity: sha512-JTwjfotgqyiBkgRX4eQmnEYMhYYIkclQCvddswnfLWsI9XrGz/78Jzc/J+VHCeLCBAuUvhVlOYQpNEg7PJ85ww==} + peerDependencies: + eslint: '>=7.4.0' + dependencies: + '@stylistic/eslint-plugin-js': 0.0.3 + eslint: 8.50.0 + eslint-plugin-eslint-comments: 3.2.0(eslint@8.50.0) + eslint-plugin-html: 7.1.0 + eslint-plugin-import: /eslint-plugin-i@2.28.1(@typescript-eslint/parser@6.7.2)(eslint@8.50.0) + eslint-plugin-jsdoc: 46.8.2(eslint@8.50.0) + eslint-plugin-jsonc: 2.9.0(eslint@8.50.0) + eslint-plugin-markdown: 3.0.1(eslint@8.50.0) + eslint-plugin-n: 16.1.0(eslint@8.50.0) + eslint-plugin-no-only-tests: 3.1.0 + eslint-plugin-promise: 6.1.1(eslint@8.50.0) + eslint-plugin-unicorn: 48.0.1(eslint@8.50.0) + eslint-plugin-unused-imports: 3.0.0(@typescript-eslint/eslint-plugin@6.7.2)(eslint@8.50.0) + eslint-plugin-xingyuv: 0.1.6(eslint@8.50.0)(typescript@5.2.2) + eslint-plugin-yml: 1.9.0(eslint@8.50.0) + jsonc-eslint-parser: 2.3.0 + yaml-eslint-parser: 1.2.2 + transitivePeerDependencies: + - '@typescript-eslint/eslint-plugin' + - '@typescript-eslint/parser' + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + - typescript + dev: true + + /@xingyuv/eslint-config-ts@0.1.6(eslint@8.50.0)(typescript@5.2.2): + resolution: {integrity: sha512-Lr4VwHMaO0iBtkRztiypyUCOaBbc8ToSiXPy1M+vhSkMNGyAyln5u61o/Er8bMwSuY5x5YtcsFA5PTapT897zg==} + peerDependencies: + eslint: '>=7.4.0' + typescript: '>=3.9' + dependencies: + '@stylistic/eslint-plugin-ts': 0.0.3(eslint@8.50.0)(typescript@5.2.2) + '@typescript-eslint/eslint-plugin': 6.7.2(@typescript-eslint/parser@6.7.2)(eslint@8.50.0)(typescript@5.2.2) + '@typescript-eslint/parser': 6.7.2(eslint@8.50.0)(typescript@5.2.2) + '@xingyuv/eslint-config-basic': 0.1.6(@typescript-eslint/eslint-plugin@6.7.2)(@typescript-eslint/parser@6.7.2)(eslint@8.50.0)(typescript@5.2.2) + eslint: 8.50.0 + eslint-plugin-jest: 27.4.0(@typescript-eslint/eslint-plugin@6.7.2)(eslint@8.50.0)(typescript@5.2.2) + typescript: 5.2.2 + transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - jest + - supports-color + dev: true + + /@xingyuv/eslint-config-vue@0.1.6(@typescript-eslint/eslint-plugin@6.7.2)(@typescript-eslint/parser@6.7.2)(eslint@8.50.0)(typescript@5.2.2): + resolution: {integrity: sha512-swe4T0yG9FEGWuLInpXAZgQuxsRrkk/UfCfo8hc9Y/WOtNe2JqIaqh5EJhr7ERtRzpGeCnqVzm5+udd0dhxivA==} + peerDependencies: + eslint: '>=7.4.0' + dependencies: + '@xingyuv/eslint-config-basic': 0.1.6(@typescript-eslint/eslint-plugin@6.7.2)(@typescript-eslint/parser@6.7.2)(eslint@8.50.0)(typescript@5.2.2) + '@xingyuv/eslint-config-ts': 0.1.6(eslint@8.50.0)(typescript@5.2.2) + eslint: 8.50.0 + eslint-plugin-vue: 9.17.0(eslint@8.50.0) + local-pkg: 0.4.3 + transitivePeerDependencies: + - '@typescript-eslint/eslint-plugin' + - '@typescript-eslint/parser' + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - jest + - supports-color + - typescript + dev: true + + /@xingyuv/eslint-config@0.1.6(eslint@8.50.0)(typescript@5.2.2): + resolution: {integrity: sha512-ka4tHMcHDlIaBUaD95PsprWif2VZAqfRUvd/ft1rtpQEq7py5zAGLXRDXzdveafhUKdDDuT9mdjbDDD4qYQgAA==} + peerDependencies: + eslint: '>=7.4.0' + dependencies: + '@typescript-eslint/eslint-plugin': 6.7.2(@typescript-eslint/parser@6.7.2)(eslint@8.50.0)(typescript@5.2.2) + '@typescript-eslint/parser': 6.7.2(eslint@8.50.0)(typescript@5.2.2) + '@xingyuv/eslint-config-vue': 0.1.6(@typescript-eslint/eslint-plugin@6.7.2)(@typescript-eslint/parser@6.7.2)(eslint@8.50.0)(typescript@5.2.2) + eslint: 8.50.0 + eslint-plugin-eslint-comments: 3.2.0(eslint@8.50.0) + eslint-plugin-html: 7.1.0 + eslint-plugin-import: /eslint-plugin-i@2.28.1(@typescript-eslint/parser@6.7.2)(eslint@8.50.0) + eslint-plugin-jsonc: 2.9.0(eslint@8.50.0) + eslint-plugin-n: 16.1.0(eslint@8.50.0) + eslint-plugin-promise: 6.1.1(eslint@8.50.0) + eslint-plugin-unicorn: 48.0.1(eslint@8.50.0) + eslint-plugin-vue: 9.17.0(eslint@8.50.0) + eslint-plugin-yml: 1.9.0(eslint@8.50.0) + jsonc-eslint-parser: 2.3.0 + yaml-eslint-parser: 1.2.2 + transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - jest + - supports-color + - typescript + dev: true + + /@xmldom/xmldom@0.8.10: + resolution: {integrity: sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==} + engines: {node: '>=10.0.0'} + dev: false + + /@zxcvbn-ts/core@3.0.4: + resolution: {integrity: sha512-aQeiT0F09FuJaAqNrxynlAwZ2mW/1MdXakKWNmGM1Qp/VaY6CnB/GfnMS2T8gB2231Esp1/maCWd8vTG4OuShw==} + dependencies: + fastest-levenshtein: 1.0.16 + dev: false + + /JSONStream@1.3.5: + resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} + hasBin: true + dependencies: + jsonparse: 1.3.1 + through: 2.3.8 + dev: true + + /acorn-jsx@5.3.2(acorn@8.10.0): + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 8.10.0 + dev: true + + /acorn-walk@8.2.0: + resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} + engines: {node: '>=0.4.0'} + dev: true + + /acorn@8.10.0: + resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + + /adler-32@1.3.1: + resolution: {integrity: sha512-ynZ4w/nUUv5rrsR8UUGoe1VC9hZj6V5hU9Qw1HlMDJGEJw5S7TfTErWTjMys6M7vr0YWcPqs3qAr4ss0nDfP+A==} + engines: {node: '>=0.8'} + dev: false + + /aes-decrypter@3.1.3: + resolution: {integrity: sha512-VkG9g4BbhMBy+N5/XodDeV6F02chEk9IpgRTq/0bS80y4dzy79VH2Gtms02VXomf3HmyRe3yyJYkJ990ns+d6A==} + dependencies: + '@babel/runtime': 7.22.15 + '@videojs/vhs-utils': 3.0.5 + global: 4.4.0 + pkcs7: 1.0.4 + dev: false + + /ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + dev: true + + /ajv@8.12.0: + resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + dev: true + + /ansi-escapes@4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.21.3 + dev: true + + /ansi-escapes@5.0.0: + resolution: {integrity: sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==} + engines: {node: '>=12'} + dependencies: + type-fest: 1.4.0 + dev: true + + /ansi-regex@2.1.1: + resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==} + engines: {node: '>=0.10.0'} + dev: true + + /ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + dev: true + + /ansi-regex@6.0.1: + resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + engines: {node: '>=12'} + dev: true + + /ansi-styles@2.2.1: + resolution: {integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==} + engines: {node: '>=0.10.0'} + dev: true + + /ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + dependencies: + color-convert: 1.9.3 + dev: true + + /ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + dependencies: + color-convert: 2.0.1 + dev: true + + /ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + dev: true + + /ant-design-vue@4.0.3(vue@3.3.4): + resolution: {integrity: sha512-fbgZbbirLx7rc19ytaGxApwS01CKLRzvEZmH0TVF06niQA9ekx7xkvfQGlmiSaCs4b8nWZi4Bo7gUzRNRt5YJA==} + engines: {node: '>=12.22.0'} + peerDependencies: + vue: '>=3.2.0' + dependencies: + '@ant-design/colors': 6.0.0 + '@ant-design/icons-vue': 7.0.0(vue@3.3.4) + '@babel/runtime': 7.22.15 + '@ctrl/tinycolor': 3.6.1 + '@emotion/hash': 0.9.1 + '@emotion/unitless': 0.8.1 + '@simonwep/pickr': 1.8.2 + array-tree-filter: 2.1.0 + async-validator: 4.2.5 + csstype: 3.1.2 + dayjs: 1.11.10 + dom-align: 1.12.4 + dom-scroll-into-view: 2.0.1 + lodash: 4.17.21 + lodash-es: 4.17.21 + resize-observer-polyfill: 1.5.1 + scroll-into-view-if-needed: 2.2.31 + shallow-equal: 1.2.1 + stylis: 4.3.0 + throttle-debounce: 5.0.0 + vue: 3.3.4 + vue-types: 3.0.2(vue@3.3.4) + warning: 4.0.3 + dev: false + + /anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + dev: true + + /are-docs-informative@0.0.2: + resolution: {integrity: sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==} + engines: {node: '>=14'} + dev: true + + /arg@4.1.3: + resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} + dev: true + + /argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + dev: true + + /arr-diff@4.0.0: + resolution: {integrity: sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==} + engines: {node: '>=0.10.0'} + dev: true + + /arr-flatten@1.1.0: + resolution: {integrity: sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==} + engines: {node: '>=0.10.0'} + dev: true + + /arr-union@3.1.0: + resolution: {integrity: sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==} + engines: {node: '>=0.10.0'} + dev: true + + /array-buffer-byte-length@1.0.0: + resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} + dependencies: + call-bind: 1.0.2 + is-array-buffer: 3.0.2 + dev: true + + /array-ify@1.0.0: + resolution: {integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==} + dev: true + + /array-tree-filter@2.1.0: + resolution: {integrity: sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw==} + dev: false + + /array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + dev: true + + /array-unique@0.3.2: + resolution: {integrity: sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==} + engines: {node: '>=0.10.0'} + dev: true + + /arraybuffer.prototype.slice@1.0.2: + resolution: {integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==} + engines: {node: '>= 0.4'} + dependencies: + array-buffer-byte-length: 1.0.0 + call-bind: 1.0.2 + define-properties: 1.2.1 + es-abstract: 1.22.2 + get-intrinsic: 1.2.1 + is-array-buffer: 3.0.2 + is-shared-array-buffer: 1.0.2 + dev: true + + /arrify@1.0.1: + resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} + engines: {node: '>=0.10.0'} + dev: true + + /asap@2.0.6: + resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} + dev: false + + /assign-symbols@1.0.0: + resolution: {integrity: sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==} + engines: {node: '>=0.10.0'} + dev: true + + /astral-regex@2.0.0: + resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} + engines: {node: '>=8'} + dev: true + + /async-validator@4.2.5: + resolution: {integrity: sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==} + dev: false + + /async@3.2.4: + resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} + dev: true + + /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'} + dev: true + + /atob@2.1.2: + resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==} + engines: {node: '>= 4.5.0'} + hasBin: true + dev: true + + /available-typed-arrays@1.0.5: + resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} + engines: {node: '>= 0.4'} + dev: true + + /axios@0.26.1(debug@4.3.4): + resolution: {integrity: sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==} + dependencies: + follow-redirects: 1.15.3(debug@4.3.4) + transitivePeerDependencies: + - debug + dev: true + + /axios@1.5.0(debug@4.3.4): + resolution: {integrity: sha512-D4DdjDo5CY50Qms0qGQTTw6Q44jl7zRwY7bthds06pUGfChBCTcQs+N743eFWGEd6pRTMd6A+I87aWyFV5wiZQ==} + dependencies: + follow-redirects: 1.15.3(debug@4.3.4) + form-data: 4.0.0 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug + + /babel-plugin-polyfill-corejs2@0.4.5(@babel/core@7.22.20): + resolution: {integrity: sha512-19hwUH5FKl49JEsvyTcoHakh6BE0wgXLLptIyKZ3PijHc/Ci521wygORCUCCred+E/twuqRyAkE02BAWPmsHOg==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/compat-data': 7.22.20 + '@babel/core': 7.22.20 + '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.22.20) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + + /babel-plugin-polyfill-corejs3@0.8.4(@babel/core@7.22.20): + resolution: {integrity: sha512-9l//BZZsPR+5XjyJMPtZSK4jv0BsTO1zDac2GC6ygx9WLGlcsnRd1Co0B2zT5fF5Ic6BZy+9m3HNZ3QcOeDKfg==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.22.20) + core-js-compat: 3.32.2 + transitivePeerDependencies: + - supports-color + dev: true + + /babel-plugin-polyfill-regenerator@0.5.2(@babel/core@7.22.20): + resolution: {integrity: sha512-tAlOptU0Xj34V1Y2PNTL4Y0FOJMDB6bZmoW39FeCQIhigGLkqu3Fj6uiXpxIf6Ij274ENdYx64y6Au+ZKlb1IA==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.22.20) + transitivePeerDependencies: + - supports-color + dev: true + + /balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + dev: true + + /balanced-match@2.0.0: + resolution: {integrity: sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==} + dev: true + + /base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + dev: true + + /base@0.11.2: + resolution: {integrity: sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==} + engines: {node: '>=0.10.0'} + dependencies: + cache-base: 1.0.1 + class-utils: 0.3.6 + component-emitter: 1.3.0 + define-property: 1.0.0 + isobject: 3.0.1 + mixin-deep: 1.3.2 + pascalcase: 0.1.1 + dev: true + + /before-after-hook@2.2.3: + resolution: {integrity: sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==} + dev: true + + /benz-amr-recorder@1.1.5: + resolution: {integrity: sha512-NepctcNTsZHK8NxBb5uKO5p8S+xkbm+vD6GLSkCYdJeEsriexvgumLHpDkanX4QJBcLRMVtg16buWMs+gUPB3g==} + dependencies: + benz-recorderjs: 1.0.5 + dev: false + + /benz-recorderjs@1.0.5: + resolution: {integrity: sha512-EwedOQo9KLti7HxDi/eZY51PSRbAXnOdEZmLvJ6ro3QQSoF9Y3AXBt57MIllGvVz5vtFYMeikG+GD7qTm3+p9w==} + dev: false + + /big-integer@1.6.51: + resolution: {integrity: sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==} + engines: {node: '>=0.6'} + dev: true + + /big.js@5.2.2: + resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} + dev: true + + /binary-extensions@2.2.0: + resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + engines: {node: '>=8'} + dev: true + + /bl@4.1.0: + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + dependencies: + buffer: 5.7.1 + inherits: 2.0.4 + readable-stream: 3.6.2 + dev: true + + /bluebird@3.7.2: + resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} + dev: true + + /boolbase@1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + dev: true + + /bplist-parser@0.2.0: + resolution: {integrity: sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==} + engines: {node: '>= 5.10.0'} + dependencies: + big-integer: 1.6.51 + dev: true + + /brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + dev: true + + /brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + dependencies: + balanced-match: 1.0.2 + dev: true + + /braces@2.3.2: + resolution: {integrity: sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==} + engines: {node: '>=0.10.0'} + 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 + dev: true + + /braces@3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} + dependencies: + fill-range: 7.0.1 + dev: true + + /browserslist@4.21.11: + resolution: {integrity: sha512-xn1UXOKUz7DjdGlg9RrUr0GGiWzI97UQJnugHtH0OLDfJB7jMgoIkYvRIEO1l9EeEERVqeqLYOcFBW9ldjypbQ==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: 1.0.30001538 + electron-to-chromium: 1.4.528 + node-releases: 2.0.13 + update-browserslist-db: 1.0.13(browserslist@4.21.11) + dev: true + + /buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + dev: true + + /buffer@5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + dev: true + + /builtin-modules@3.3.0: + resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} + engines: {node: '>=6'} + dev: true + + /builtins@5.0.1: + resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==} + dependencies: + semver: 7.5.4 + dev: true + + /bundle-name@3.0.0: + resolution: {integrity: sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==} + engines: {node: '>=12'} + dependencies: + run-applescript: 5.0.0 + dev: true + + /cac@6.7.14: + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} + engines: {node: '>=8'} + dev: true + + /cache-base@1.0.1: + resolution: {integrity: sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==} + engines: {node: '>=0.10.0'} + dependencies: + collection-visit: 1.0.0 + component-emitter: 1.3.0 + 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 + dev: true + + /call-bind@1.0.2: + resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} + dependencies: + function-bind: 1.1.1 + get-intrinsic: 1.2.1 + + /callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + dev: true + + /camel-case@4.1.2: + resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} + dependencies: + pascal-case: 3.1.2 + tslib: 2.6.2 + dev: true + + /camelcase-keys@6.2.2: + resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} + engines: {node: '>=8'} + dependencies: + camelcase: 5.3.1 + map-obj: 4.3.0 + quick-lru: 4.0.1 + dev: true + + /camelcase-keys@7.0.2: + resolution: {integrity: sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==} + engines: {node: '>=12'} + dependencies: + camelcase: 6.3.0 + map-obj: 4.3.0 + quick-lru: 5.1.1 + type-fest: 1.4.0 + dev: true + + /camelcase@5.3.1: + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} + dev: true + + /camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + dev: true + + /caniuse-lite@1.0.30001538: + resolution: {integrity: sha512-HWJnhnID+0YMtGlzcp3T9drmBJUVDchPJ08tpUGFLs9CYlwWPH2uLgpHn8fND5pCgXVtnGS3H4QR9XLMHVNkHw==} + dev: true + + /cfb@1.2.2: + resolution: {integrity: sha512-KfdUZsSOw19/ObEWasvBP/Ac4reZvAGauZhs6S/gqNhXhI7cKwvlH7ulj+dOEYnca4bm4SGo8C1bTAQvnTjgQA==} + engines: {node: '>=0.8'} + dependencies: + adler-32: 1.3.1 + crc-32: 1.2.2 + dev: false + + /chalk@1.1.3: + resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==} + engines: {node: '>=0.10.0'} + dependencies: + ansi-styles: 2.2.1 + escape-string-regexp: 1.0.5 + has-ansi: 2.0.0 + strip-ansi: 3.0.1 + supports-color: 2.0.0 + dev: true + + /chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + dev: true + + /chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + dev: true + + /chalk@5.3.0: + resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + dev: true + + /character-entities-legacy@1.1.4: + resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==} + dev: true + + /character-entities@1.2.4: + resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==} + dev: true + + /character-reference-invalid@1.1.4: + resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==} + dev: true + + /chardet@0.7.0: + resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} + dev: true + + /chokidar@3.5.3: + resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.3 + braces: 3.0.2 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /ci-info@3.8.0: + resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} + engines: {node: '>=8'} + dev: true + + /class-utils@0.3.6: + resolution: {integrity: sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==} + engines: {node: '>=0.10.0'} + dependencies: + arr-union: 3.1.0 + define-property: 0.2.5 + isobject: 3.0.1 + static-extend: 0.1.2 + dev: true + + /clean-css@5.3.2: + resolution: {integrity: sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==} + engines: {node: '>= 10.0'} + dependencies: + source-map: 0.6.1 + dev: true + + /clean-regexp@1.0.0: + resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} + engines: {node: '>=4'} + dependencies: + escape-string-regexp: 1.0.5 + dev: true + + /cli-cursor@3.1.0: + resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} + engines: {node: '>=8'} + dependencies: + restore-cursor: 3.1.0 + dev: true + + /cli-cursor@4.0.0: + resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + restore-cursor: 4.0.0 + dev: true + + /cli-spinners@2.9.1: + resolution: {integrity: sha512-jHgecW0pxkonBJdrKsqxgRX9AcG+u/5k0Q7WPDfi8AogLAdwxEkyYYNWwZ5GvVFoFx2uiY1eNcSK00fh+1+FyQ==} + engines: {node: '>=6'} + dev: true + + /cli-truncate@3.1.0: + resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + slice-ansi: 5.0.0 + string-width: 5.1.2 + dev: true + + /cli-width@4.1.0: + resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} + engines: {node: '>= 12'} + dev: true + + /cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + dev: true + + /clone@1.0.4: + resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} + engines: {node: '>=0.8'} + dev: true + + /clone@2.1.2: + resolution: {integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==} + engines: {node: '>=0.8'} + dev: true + + /codemirror@5.65.15: + resolution: {integrity: sha512-YC4EHbbwQeubZzxLl5G4nlbLc1T21QTrKGaOal/Pkm9dVDMZXMH7+ieSPEOZCtO9I68i8/oteJKOxzHC2zR+0g==} + dev: false + + /codepage@1.15.0: + resolution: {integrity: sha512-3g6NUTPd/YtuuGrhMnOMRjFc+LJw/bnMp3+0r/Wcz3IXUuCosKRJvMphm5+Q+bvTVGcJJuRvVLuYba+WojaFaA==} + engines: {node: '>=0.8'} + dev: false + + /collection-visit@1.0.0: + resolution: {integrity: sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==} + engines: {node: '>=0.10.0'} + dependencies: + map-visit: 1.0.0 + object-visit: 1.0.1 + dev: true + + /color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + dependencies: + color-name: 1.1.3 + dev: true + + /color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + dependencies: + color-name: 1.1.4 + dev: true + + /color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + dev: true + + /color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + dev: true + + /colord@2.9.3: + resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} + dev: true + + /colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + dev: true + + /combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + dependencies: + delayed-stream: 1.0.0 + + /commander@10.0.1: + resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} + engines: {node: '>=14'} + dev: true + + /commander@11.0.0: + resolution: {integrity: sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ==} + engines: {node: '>=16'} + dev: true + + /commander@2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + dev: true + + /commander@7.2.0: + resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} + engines: {node: '>= 10'} + dev: true + + /comment-parser@1.4.0: + resolution: {integrity: sha512-QLyTNiZ2KDOibvFPlZ6ZngVsZ/0gYnE6uTXi5aoDg8ed3AkJAz4sEje3Y8a29hQ1s6A99MZXe47fLAXQ1rTqaw==} + engines: {node: '>= 12.0.0'} + dev: true + + /common-tags@1.8.2: + resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==} + engines: {node: '>=4.0.0'} + dev: true + + /compare-func@2.0.0: + resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==} + dependencies: + array-ify: 1.0.0 + dot-prop: 5.3.0 + dev: true + + /component-emitter@1.3.0: + resolution: {integrity: sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==} + dev: true + + /compute-scroll-into-view@1.0.20: + resolution: {integrity: sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg==} + dev: false + + /concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + dev: true + + /connect-history-api-fallback@2.0.0: + resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==} + engines: {node: '>=0.8'} + dev: true + + /consola@3.2.3: + resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} + engines: {node: ^14.18.0 || >=16.10.0} + dev: true + + /conventional-changelog-angular@6.0.0: + resolution: {integrity: sha512-6qLgrBF4gueoC7AFVHu51nHL9pF9FRjXrH+ceVf7WmAfH3gs+gEYOkvxhjMPjZu57I4AGUGoNTY8V7Hrgf1uqg==} + engines: {node: '>=14'} + dependencies: + compare-func: 2.0.0 + dev: true + + /conventional-changelog-conventionalcommits@6.1.0: + resolution: {integrity: sha512-3cS3GEtR78zTfMzk0AizXKKIdN4OvSh7ibNz6/DPbhWWQu7LqE/8+/GqSodV+sywUR2gpJAdP/1JFf4XtN7Zpw==} + engines: {node: '>=14'} + dependencies: + compare-func: 2.0.0 + dev: true + + /conventional-commits-parser@4.0.0: + resolution: {integrity: sha512-WRv5j1FsVM5FISJkoYMR6tPk07fkKT0UodruX4je86V4owk451yjXAKzKAPOs9l7y59E2viHUS9eQ+dfUA9NSg==} + engines: {node: '>=14'} + hasBin: true + dependencies: + JSONStream: 1.3.5 + is-text-path: 1.0.1 + meow: 8.1.2 + split2: 3.2.2 + dev: true + + /convert-source-map@1.9.0: + resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} + dev: true + + /copy-anything@2.0.6: + resolution: {integrity: sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==} + dependencies: + is-what: 3.14.1 + dev: true + + /copy-descriptor@0.1.1: + resolution: {integrity: sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==} + engines: {node: '>=0.10.0'} + dev: true + + /core-js-compat@3.32.2: + resolution: {integrity: sha512-+GjlguTDINOijtVRUxrQOv3kfu9rl+qPNdX2LTbJ/ZyVTuxK+ksVSAGX1nHstu4hrv1En/uPTtWgq2gI5wt4AQ==} + dependencies: + browserslist: 4.21.11 + dev: true + + /core-js@3.32.2: + resolution: {integrity: sha512-pxXSw1mYZPDGvTQqEc5vgIb83jGQKFGYWY76z4a7weZXUolw3G+OvpZqSRcfYOoOVUQJYEPsWeQK8pKEnUtWxQ==} + requiresBuild: true + dev: false + + /cors@2.8.5: + resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} + engines: {node: '>= 0.10'} + dependencies: + object-assign: 4.1.1 + vary: 1.1.2 + dev: true + + /cosmiconfig-typescript-loader@4.4.0(@types/node@20.4.7)(cosmiconfig@8.3.6)(ts-node@10.9.1)(typescript@5.2.2): + resolution: {integrity: sha512-BabizFdC3wBHhbI4kJh0VkQP9GkBfoHPydD0COMce1nJ1kJAB3F2TmJ/I7diULBKtmEWSwEbuN/KDtgnmUUVmw==} + engines: {node: '>=v14.21.3'} + peerDependencies: + '@types/node': '*' + cosmiconfig: '>=7' + ts-node: '>=10' + typescript: '>=4' + dependencies: + '@types/node': 20.4.7 + cosmiconfig: 8.3.6(typescript@5.2.2) + ts-node: 10.9.1(@types/node@20.6.4)(typescript@5.2.2) + typescript: 5.2.2 + dev: true + + /cosmiconfig@8.3.6(typescript@5.2.2): + resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} + engines: {node: '>=14'} + peerDependencies: + typescript: '>=4.9.5' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + import-fresh: 3.3.0 + js-yaml: 4.1.0 + parse-json: 5.2.0 + path-type: 4.0.0 + typescript: 5.2.2 + dev: true + + /crc-32@1.2.2: + resolution: {integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==} + engines: {node: '>=0.8'} + hasBin: true + dev: false + + /create-require@1.1.1: + resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} + dev: true + + /cron-parser@4.9.0: + resolution: {integrity: sha512-p0SaNjrHOnQeR8/VnfGbmg9te2kfyYSQ7Sc/j/6DtPL3JQvKxmjO9TSjNFpujqV3vEYYBvNNvXSxzyksBWAx1Q==} + engines: {node: '>=12.0.0'} + dependencies: + luxon: 3.4.3 + dev: false + + /cropperjs@1.6.1: + resolution: {integrity: sha512-F4wsi+XkDHCOMrHMYjrTEE4QBOrsHHN5/2VsVAaRq8P7E5z7xQpT75S+f/9WikmBEailas3+yo+6zPIomW+NOA==} + dev: false + + /cross-env@7.0.3: + resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==} + engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'} + hasBin: true + dependencies: + cross-spawn: 7.0.3 + dev: true + + /cross-fetch@3.1.8: + resolution: {integrity: sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==} + dependencies: + node-fetch: 2.7.0 + transitivePeerDependencies: + - encoding + dev: true + + /cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: true + + /crypto-js@4.1.1: + resolution: {integrity: sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==} + dev: false + + /crypto-random-string@2.0.0: + resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} + engines: {node: '>=8'} + dev: true + + /css-functions-list@3.2.0: + resolution: {integrity: sha512-d/jBMPyYybkkLVypgtGv12R+pIFw4/f/IHtCTxWpZc8ofTYOPigIgmA6vu5rMHartZC+WuXhBUHfnyNUIQSYrg==} + engines: {node: '>=12.22'} + dev: true + + /css-select@4.3.0: + resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} + dependencies: + boolbase: 1.0.0 + css-what: 6.1.0 + domhandler: 4.3.1 + domutils: 2.8.0 + nth-check: 2.1.1 + dev: true + + /css-select@5.1.0: + resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==} + dependencies: + boolbase: 1.0.0 + css-what: 6.1.0 + domhandler: 5.0.3 + domutils: 3.1.0 + nth-check: 2.1.1 + dev: true + + /css-tree@1.1.3: + resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==} + engines: {node: '>=8.0.0'} + dependencies: + mdn-data: 2.0.14 + source-map: 0.6.1 + dev: true + + /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} + dependencies: + mdn-data: 2.0.30 + source-map-js: 1.0.2 + dev: true + + /css-what@6.1.0: + resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} + engines: {node: '>= 6'} + dev: true + + /cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /csso@4.2.0: + resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==} + engines: {node: '>=8.0.0'} + dependencies: + css-tree: 1.1.3 + dev: true + + /csstype@3.1.2: + resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} + + /cz-git@1.7.1: + resolution: {integrity: sha512-NMe4REukCS7op1YA1jixRXOgII8Um2/Ii8TeyFEOISgp2ZzeobzkMOP8dXSrTQ3bvmm7YpPOdr2301yJkOJcbA==} + engines: {node: '>=v12.20.0'} + dev: true + + /czg@1.7.1: + resolution: {integrity: sha512-KP93cTbZxgWYDKJzZpjnLe0sy/2FwyegatnrOaqsath04WinvsdhZl5QCGkxTKBY2DavpKloIBW/WGZzCKmrlA==} + engines: {node: '>=v12.20.0'} + hasBin: true + dev: true + + /dargs@7.0.0: + resolution: {integrity: sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==} + engines: {node: '>=8'} + dev: true + + /dayjs@1.11.10: + resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==} + dev: false + + /de-indent@1.0.2: + resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} + dev: true + + /debug@2.6.9: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.0.0 + dev: true + + /debug@3.2.7: + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.3 + dev: true + + /debug@4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + + /decamelize-keys@1.1.1: + resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} + engines: {node: '>=0.10.0'} + dependencies: + decamelize: 1.2.0 + map-obj: 1.0.1 + dev: true + + /decamelize@1.2.0: + resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} + engines: {node: '>=0.10.0'} + dev: true + + /decamelize@5.0.1: + resolution: {integrity: sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA==} + engines: {node: '>=10'} + dev: true + + /decode-uri-component@0.2.2: + resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} + engines: {node: '>=0.10'} + dev: true + + /deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + dev: true + + /deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + dev: true + + /default-browser-id@3.0.0: + resolution: {integrity: sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==} + engines: {node: '>=12'} + dependencies: + bplist-parser: 0.2.0 + untildify: 4.0.0 + dev: true + + /default-browser@4.0.0: + resolution: {integrity: sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==} + engines: {node: '>=14.16'} + dependencies: + bundle-name: 3.0.0 + default-browser-id: 3.0.0 + execa: 7.2.0 + titleize: 3.0.0 + dev: true + + /defaults@1.0.4: + resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} + dependencies: + clone: 1.0.4 + dev: true + + /define-data-property@1.1.0: + resolution: {integrity: sha512-UzGwzcjyv3OtAvolTj1GoyNYzfFR+iqbGjcnBEENZVCpM4/Ng1yhGNvS3lR/xDS74Tb2wGG9WzNSNIOS9UVb2g==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.1 + gopd: 1.0.1 + has-property-descriptors: 1.0.0 + dev: true + + /define-lazy-prop@2.0.0: + resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} + engines: {node: '>=8'} + dev: true + + /define-lazy-prop@3.0.0: + resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} + engines: {node: '>=12'} + dev: true + + /define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.0 + has-property-descriptors: 1.0.0 + object-keys: 1.1.1 + dev: true + + /define-property@0.2.5: + resolution: {integrity: sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==} + engines: {node: '>=0.10.0'} + dependencies: + is-descriptor: 0.1.6 + dev: true + + /define-property@1.0.0: + resolution: {integrity: sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==} + engines: {node: '>=0.10.0'} + dependencies: + is-descriptor: 1.0.2 + dev: true + + /define-property@2.0.2: + resolution: {integrity: sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==} + engines: {node: '>=0.10.0'} + dependencies: + is-descriptor: 1.0.2 + isobject: 3.0.1 + dev: true + + /defu@6.1.2: + resolution: {integrity: sha512-+uO4+qr7msjNNWKYPHqN/3+Dx3NFkmIzayk2L1MyZQlvgZb/J1A0fo410dpKrN2SnqFjt8n4JL8fDJE0wIgjFQ==} + dev: true + + /delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + + /deprecation@2.3.1: + resolution: {integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==} + dev: true + + /destr@2.0.1: + resolution: {integrity: sha512-M1Ob1zPSIvlARiJUkKqvAZ3VAqQY6Jcuth/pBKQ2b1dX/Qx0OnJ8Vux6J2H5PTMQeRzWrrbTu70VxBfv/OPDJA==} + dev: true + + /diff-match-patch@1.0.5: + resolution: {integrity: sha512-IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw==} + dev: false + + /diff@4.0.2: + resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} + engines: {node: '>=0.3.1'} + dev: true + + /dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + dependencies: + path-type: 4.0.0 + dev: true + + /doctrine@2.1.0: + resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} + engines: {node: '>=0.10.0'} + dependencies: + esutils: 2.0.3 + dev: true + + /doctrine@3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + dependencies: + esutils: 2.0.3 + dev: true + + /dom-align@1.12.4: + resolution: {integrity: sha512-R8LUSEay/68zE5c8/3BDxiTEvgb4xZTF0RKmAHfiEVN3klfIpXfi2/QCoiWPccVQ0J/ZGdz9OjzL4uJEP/MRAw==} + dev: false + + /dom-scroll-into-view@2.0.1: + resolution: {integrity: sha512-bvVTQe1lfaUr1oFzZX80ce9KLDlZ3iU+XGNE/bz9HnGdklTieqsbmsLHe+rT2XWqopvL0PckkYqN7ksmm5pe3w==} + dev: false + + /dom-serializer@0.2.2: + resolution: {integrity: sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==} + dependencies: + domelementtype: 2.3.0 + entities: 2.2.0 + dev: true + + /dom-serializer@1.4.1: + resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} + dependencies: + domelementtype: 2.3.0 + domhandler: 4.3.1 + entities: 2.2.0 + dev: true + + /dom-serializer@2.0.0: + resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + entities: 4.5.0 + dev: true + + /dom-walk@0.1.2: + resolution: {integrity: sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==} + dev: false + + /domelementtype@1.3.1: + resolution: {integrity: sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==} + dev: true + + /domelementtype@2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + dev: true + + /domhandler@2.4.2: + resolution: {integrity: sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==} + dependencies: + domelementtype: 1.3.1 + dev: true + + /domhandler@4.3.1: + resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} + engines: {node: '>= 4'} + dependencies: + domelementtype: 2.3.0 + dev: true + + /domhandler@5.0.3: + resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} + engines: {node: '>= 4'} + dependencies: + domelementtype: 2.3.0 + dev: true + + /domutils@1.7.0: + resolution: {integrity: sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==} + dependencies: + dom-serializer: 0.2.2 + domelementtype: 1.3.1 + dev: true + + /domutils@2.8.0: + resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} + dependencies: + dom-serializer: 1.4.1 + domelementtype: 2.3.0 + domhandler: 4.3.1 + dev: true + + /domutils@3.1.0: + resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} + dependencies: + dom-serializer: 2.0.0 + domelementtype: 2.3.0 + domhandler: 5.0.3 + dev: true + + /dot-case@3.0.4: + resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} + dependencies: + no-case: 3.0.4 + tslib: 2.6.2 + dev: true + + /dot-prop@5.3.0: + resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} + engines: {node: '>=8'} + dependencies: + is-obj: 2.0.0 + dev: true + + /dotenv-expand@10.0.0: + resolution: {integrity: sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==} + engines: {node: '>=12'} + dev: true + + /dotenv@16.3.1: + resolution: {integrity: sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==} + engines: {node: '>=12'} + dev: true + + /duplexer@0.1.2: + resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} + dev: true + + /eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + dev: true + + /echarts@5.4.3: + resolution: {integrity: sha512-mYKxLxhzy6zyTi/FaEbJMOZU1ULGEQHaeIeuMR5L+JnJTpz+YR03mnnpBhbR4+UYJAgiXgpyTVLffPAjOTLkZA==} + dependencies: + tslib: 2.3.0 + zrender: 5.4.4 + dev: false + + /ejs@3.1.9: + resolution: {integrity: sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==} + engines: {node: '>=0.10.0'} + hasBin: true + dependencies: + jake: 10.8.7 + dev: true + + /electron-to-chromium@1.4.528: + resolution: {integrity: sha512-UdREXMXzLkREF4jA8t89FQjA8WHI6ssP38PMY4/4KhXFQbtImnghh4GkCgrtiZwLKUKVD2iTVXvDVQjfomEQuA==} + dev: true + + /element-kit@1.0.6: + resolution: {integrity: sha512-cH29YJ5n/cp36+a376JkYkcpvGJWIRRmrw1h8gAoRXMJwLUmmJvOZzssR6fHqGz0QSSJ7pq46XuEHdpEjoOXlQ==} + deprecated: package has been deprecated and is no longer maintained. Please see https://github.com/mkay581/element-kit + dependencies: + promise: 7.3.1 + string: 3.3.3 + dev: false + + /emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + dev: true + + /emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + dev: true + + /emojis-list@3.0.0: + resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} + engines: {node: '>= 4'} + dev: true + + /entities@1.1.2: + resolution: {integrity: sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==} + dev: true + + /entities@2.2.0: + resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} + dev: true + + /entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + dev: true + + /errno@0.1.8: + resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==} + hasBin: true + requiresBuild: true + dependencies: + prr: 1.0.1 + dev: true + optional: true + + /error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + dependencies: + is-arrayish: 0.2.1 + dev: true + + /es-abstract@1.22.2: + resolution: {integrity: sha512-YoxfFcDmhjOgWPWsV13+2RNjq1F6UQnfs+8TftwNqtzlmFzEXvlUwdrNrYeaizfjQzRMxkZ6ElWMOJIFKdVqwA==} + engines: {node: '>= 0.4'} + dependencies: + array-buffer-byte-length: 1.0.0 + arraybuffer.prototype.slice: 1.0.2 + available-typed-arrays: 1.0.5 + call-bind: 1.0.2 + es-set-tostringtag: 2.0.1 + es-to-primitive: 1.2.1 + function.prototype.name: 1.1.6 + get-intrinsic: 1.2.1 + get-symbol-description: 1.0.0 + globalthis: 1.0.3 + gopd: 1.0.1 + has: 1.0.3 + has-property-descriptors: 1.0.0 + has-proto: 1.0.1 + has-symbols: 1.0.3 + internal-slot: 1.0.5 + is-array-buffer: 3.0.2 + is-callable: 1.2.7 + is-negative-zero: 2.0.2 + is-regex: 1.1.4 + is-shared-array-buffer: 1.0.2 + is-string: 1.0.7 + is-typed-array: 1.1.12 + is-weakref: 1.0.2 + object-inspect: 1.12.3 + object-keys: 1.1.1 + object.assign: 4.1.4 + regexp.prototype.flags: 1.5.1 + safe-array-concat: 1.0.1 + safe-regex-test: 1.0.0 + string.prototype.trim: 1.2.8 + string.prototype.trimend: 1.0.7 + string.prototype.trimstart: 1.0.7 + typed-array-buffer: 1.0.0 + typed-array-byte-length: 1.0.0 + typed-array-byte-offset: 1.0.0 + typed-array-length: 1.0.4 + unbox-primitive: 1.0.2 + which-typed-array: 1.1.11 + dev: true + + /es-set-tostringtag@2.0.1: + resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.1 + has: 1.0.3 + has-tostringtag: 1.0.0 + dev: true + + /es-to-primitive@1.2.1: + resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} + engines: {node: '>= 0.4'} + dependencies: + is-callable: 1.2.7 + is-date-object: 1.0.5 + is-symbol: 1.0.4 + dev: true + + /esbuild@0.18.20: + resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/android-arm': 0.18.20 + '@esbuild/android-arm64': 0.18.20 + '@esbuild/android-x64': 0.18.20 + '@esbuild/darwin-arm64': 0.18.20 + '@esbuild/darwin-x64': 0.18.20 + '@esbuild/freebsd-arm64': 0.18.20 + '@esbuild/freebsd-x64': 0.18.20 + '@esbuild/linux-arm': 0.18.20 + '@esbuild/linux-arm64': 0.18.20 + '@esbuild/linux-ia32': 0.18.20 + '@esbuild/linux-loong64': 0.18.20 + '@esbuild/linux-mips64el': 0.18.20 + '@esbuild/linux-ppc64': 0.18.20 + '@esbuild/linux-riscv64': 0.18.20 + '@esbuild/linux-s390x': 0.18.20 + '@esbuild/linux-x64': 0.18.20 + '@esbuild/netbsd-x64': 0.18.20 + '@esbuild/openbsd-x64': 0.18.20 + '@esbuild/sunos-x64': 0.18.20 + '@esbuild/win32-arm64': 0.18.20 + '@esbuild/win32-ia32': 0.18.20 + '@esbuild/win32-x64': 0.18.20 + dev: true + + /escalade@3.1.1: + resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + engines: {node: '>=6'} + dev: true + + /escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + dev: true + + /escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + dev: true + + /escape-string-regexp@5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} + dev: true + + /eslint-import-resolver-node@0.3.9: + resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} + dependencies: + debug: 3.2.7 + is-core-module: 2.13.0 + resolve: 1.22.6 + transitivePeerDependencies: + - supports-color + dev: true + + /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.7.2)(eslint-import-resolver-node@0.3.9)(eslint@8.50.0): + resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: '*' + eslint-import-resolver-node: '*' + eslint-import-resolver-typescript: '*' + eslint-import-resolver-webpack: '*' + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + eslint: + optional: true + eslint-import-resolver-node: + optional: true + eslint-import-resolver-typescript: + optional: true + eslint-import-resolver-webpack: + optional: true + dependencies: + '@typescript-eslint/parser': 6.7.2(eslint@8.50.0)(typescript@5.2.2) + debug: 3.2.7 + eslint: 8.50.0 + eslint-import-resolver-node: 0.3.9 + transitivePeerDependencies: + - supports-color + dev: true + + /eslint-plugin-es-x@7.2.0(eslint@8.50.0): + resolution: {integrity: sha512-9dvv5CcvNjSJPqnS5uZkqb3xmbeqRLnvXKK7iI5+oK/yTusyc46zbBZKENGsOfojm/mKfszyZb+wNqNPAPeGXA==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + eslint: '>=8' + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.50.0) + '@eslint-community/regexpp': 4.8.1 + eslint: 8.50.0 + dev: true + + /eslint-plugin-eslint-comments@3.2.0(eslint@8.50.0): + resolution: {integrity: sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==} + engines: {node: '>=6.5.0'} + peerDependencies: + eslint: '>=4.19.1' + dependencies: + escape-string-regexp: 1.0.5 + eslint: 8.50.0 + ignore: 5.2.4 + dev: true + + /eslint-plugin-html@7.1.0: + resolution: {integrity: sha512-fNLRraV/e6j8e3XYOC9xgND4j+U7b1Rq+OygMlLcMg+wI/IpVbF+ubQa3R78EjKB9njT6TQOlcK5rFKBVVtdfg==} + dependencies: + htmlparser2: 8.0.2 + dev: true + + /eslint-plugin-i@2.28.1(@typescript-eslint/parser@6.7.2)(eslint@8.50.0): + resolution: {integrity: sha512-a4oVt0j3ixNhGhvV4XF6NS7OWRFK2rrJ0Q5C4S2dSRb8FxZi31J0uUd5WJLL58wnVJ/OiQ1BxiXnFA4dWQO1Cg==} + engines: {node: '>=12'} + peerDependencies: + eslint: ^7.2.0 || ^8 + dependencies: + debug: 3.2.7 + doctrine: 2.1.0 + eslint: 8.50.0 + eslint-import-resolver-node: 0.3.9 + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.7.2)(eslint-import-resolver-node@0.3.9)(eslint@8.50.0) + get-tsconfig: 4.7.2 + is-glob: 4.0.3 + minimatch: 3.1.2 + resolve: 1.22.6 + semver: 7.5.4 + transitivePeerDependencies: + - '@typescript-eslint/parser' + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + dev: true + + /eslint-plugin-jest@27.4.0(@typescript-eslint/eslint-plugin@6.7.2)(eslint@8.50.0)(typescript@5.2.2): + resolution: {integrity: sha512-ukVeKmMPAUA5SWjHenvyyXnirKfHKMdOsTZdn5tZx5EW05HGVQwBohigjFZGGj3zuv1cV6hc82FvWv6LdIbkgg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@typescript-eslint/eslint-plugin': ^5.0.0 || ^6.0.0 + eslint: ^7.0.0 || ^8.0.0 + jest: '*' + peerDependenciesMeta: + '@typescript-eslint/eslint-plugin': + optional: true + jest: + optional: true + dependencies: + '@typescript-eslint/eslint-plugin': 6.7.2(@typescript-eslint/parser@6.7.2)(eslint@8.50.0)(typescript@5.2.2) + '@typescript-eslint/utils': 5.62.0(eslint@8.50.0)(typescript@5.2.2) + eslint: 8.50.0 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /eslint-plugin-jsdoc@46.8.2(eslint@8.50.0): + resolution: {integrity: sha512-5TSnD018f3tUJNne4s4gDWQflbsgOycIKEUBoCLn6XtBMgNHxQFmV8vVxUtiPxAQq8lrX85OaSG/2gnctxw9uQ==} + engines: {node: '>=16'} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + dependencies: + '@es-joy/jsdoccomment': 0.40.1 + are-docs-informative: 0.0.2 + comment-parser: 1.4.0 + debug: 4.3.4 + escape-string-regexp: 4.0.0 + eslint: 8.50.0 + esquery: 1.5.0 + is-builtin-module: 3.2.1 + semver: 7.5.4 + spdx-expression-parse: 3.0.1 + transitivePeerDependencies: + - supports-color + dev: true + + /eslint-plugin-jsonc@2.9.0(eslint@8.50.0): + resolution: {integrity: sha512-RK+LeONVukbLwT2+t7/OY54NJRccTXh/QbnXzPuTLpFMVZhPuq1C9E07+qWenGx7rrQl0kAalAWl7EmB+RjpGA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '>=6.0.0' + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.50.0) + eslint: 8.50.0 + jsonc-eslint-parser: 2.3.0 + natural-compare: 1.4.0 + dev: true + + /eslint-plugin-markdown@3.0.1(eslint@8.50.0): + resolution: {integrity: sha512-8rqoc148DWdGdmYF6WSQFT3uQ6PO7zXYgeBpHAOAakX/zpq+NvFYbDA/H7PYzHajwtmaOzAwfxyl++x0g1/N9A==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + eslint: 8.50.0 + mdast-util-from-markdown: 0.8.5 + transitivePeerDependencies: + - supports-color + dev: true + + /eslint-plugin-n@16.1.0(eslint@8.50.0): + resolution: {integrity: sha512-3wv/TooBst0N4ND+pnvffHuz9gNPmk/NkLwAxOt2JykTl/hcuECe6yhTtLJcZjIxtZwN+GX92ACp/QTLpHA3Hg==} + engines: {node: '>=16.0.0'} + peerDependencies: + eslint: '>=7.0.0' + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.50.0) + builtins: 5.0.1 + eslint: 8.50.0 + eslint-plugin-es-x: 7.2.0(eslint@8.50.0) + get-tsconfig: 4.7.2 + ignore: 5.2.4 + is-core-module: 2.13.0 + minimatch: 3.1.2 + resolve: 1.22.6 + semver: 7.5.4 + dev: true + + /eslint-plugin-no-only-tests@3.1.0: + resolution: {integrity: sha512-Lf4YW/bL6Un1R6A76pRZyE1dl1vr31G/ev8UzIc/geCgFWyrKil8hVjYqWVKGB/UIGmb6Slzs9T0wNezdSVegw==} + engines: {node: '>=5.0.0'} + dev: true + + /eslint-plugin-promise@6.1.1(eslint@8.50.0): + resolution: {integrity: sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + dependencies: + eslint: 8.50.0 + dev: true + + /eslint-plugin-unicorn@48.0.1(eslint@8.50.0): + resolution: {integrity: sha512-FW+4r20myG/DqFcCSzoumaddKBicIPeFnTrifon2mWIzlfyvzwyqZjqVP7m4Cqr/ZYisS2aiLghkUWaPg6vtCw==} + engines: {node: '>=16'} + peerDependencies: + eslint: '>=8.44.0' + dependencies: + '@babel/helper-validator-identifier': 7.22.20 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.50.0) + ci-info: 3.8.0 + clean-regexp: 1.0.0 + eslint: 8.50.0 + esquery: 1.5.0 + indent-string: 4.0.0 + is-builtin-module: 3.2.1 + jsesc: 3.0.2 + lodash: 4.17.21 + pluralize: 8.0.0 + read-pkg-up: 7.0.1 + regexp-tree: 0.1.27 + regjsparser: 0.10.0 + semver: 7.5.4 + strip-indent: 3.0.0 + dev: true + + /eslint-plugin-unused-imports@3.0.0(@typescript-eslint/eslint-plugin@6.7.2)(eslint@8.50.0): + resolution: {integrity: sha512-sduiswLJfZHeeBJ+MQaG+xYzSWdRXoSw61DpU13mzWumCkR0ufD0HmO4kdNokjrkluMHpj/7PJeN35pgbhW3kw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + '@typescript-eslint/eslint-plugin': ^6.0.0 + eslint: ^8.0.0 + peerDependenciesMeta: + '@typescript-eslint/eslint-plugin': + optional: true + dependencies: + '@typescript-eslint/eslint-plugin': 6.7.2(@typescript-eslint/parser@6.7.2)(eslint@8.50.0)(typescript@5.2.2) + eslint: 8.50.0 + eslint-rule-composer: 0.3.0 + dev: true + + /eslint-plugin-vue@9.17.0(eslint@8.50.0): + resolution: {integrity: sha512-r7Bp79pxQk9I5XDP0k2dpUC7Ots3OSWgvGZNu3BxmKK6Zg7NgVtcOB6OCna5Kb9oQwJPl5hq183WD0SY5tZtIQ==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.50.0) + eslint: 8.50.0 + natural-compare: 1.4.0 + nth-check: 2.1.1 + postcss-selector-parser: 6.0.13 + semver: 7.5.4 + vue-eslint-parser: 9.3.1(eslint@8.50.0) + xml-name-validator: 4.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /eslint-plugin-xingyuv@0.1.6(eslint@8.50.0)(typescript@5.2.2): + resolution: {integrity: sha512-ZKb+0FFVj/EpjuHRJBh5kjjKVrkTVpZWDO9PxtcWxee3a5+dQefNzN2Gltvbu03E/RsTP2pczEDa9Li4YtBfxA==} + dependencies: + '@typescript-eslint/utils': 6.7.2(eslint@8.50.0)(typescript@5.2.2) + transitivePeerDependencies: + - eslint + - supports-color + - typescript + dev: true + + /eslint-plugin-yml@1.9.0(eslint@8.50.0): + resolution: {integrity: sha512-ayuC57WyVQ5+QZ02y62GiB//5+zsiyzUGxUX/mrhLni+jfsKA4KoITjkbR65iUdjjhWpyTJHPcAIFLKQIOwgsw==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '>=6.0.0' + dependencies: + debug: 4.3.4 + eslint: 8.50.0 + lodash: 4.17.21 + natural-compare: 1.4.0 + yaml-eslint-parser: 1.2.2 + transitivePeerDependencies: + - supports-color + dev: true + + /eslint-rule-composer@0.3.0: + resolution: {integrity: sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==} + engines: {node: '>=4.0.0'} + dev: true + + /eslint-scope@5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} + dependencies: + esrecurse: 4.3.0 + estraverse: 4.3.0 + dev: true + + /eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + dev: true + + /eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /eslint@8.50.0: + resolution: {integrity: sha512-FOnOGSuFuFLv/Sa+FDVRZl4GGVAAFFi8LecRsI5a1tMO5HIE8nCm4ivAlzt4dT3ol/PaaGC0rJEEXQmHJBGoOg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.50.0) + '@eslint-community/regexpp': 4.8.1 + '@eslint/eslintrc': 2.1.2 + '@eslint/js': 8.50.0 + '@humanwhocodes/config-array': 0.11.11 + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.4 + doctrine: 3.0.0 + escape-string-regexp: 4.0.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.5.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.22.0 + graphemer: 1.4.0 + ignore: 5.2.4 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + is-path-inside: 3.0.3 + js-yaml: 4.1.0 + json-stable-stringify-without-jsonify: 1.0.1 + levn: 0.4.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.3 + strip-ansi: 6.0.1 + text-table: 0.2.0 + transitivePeerDependencies: + - supports-color + dev: true + + /esno@0.17.0: + resolution: {integrity: sha512-w78cQGlptQfsBYfootUCitsKS+MD74uR5L6kNsvwVkJsfzEepIafbvWsx2xK4rcFP4IUftt4F6J8EhagUxX+Bg==} + hasBin: true + dependencies: + tsx: 3.12.10 + dev: true + + /espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + acorn: 8.10.0 + acorn-jsx: 5.3.2(acorn@8.10.0) + eslint-visitor-keys: 3.4.3 + dev: true + + /esquery@1.5.0: + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} + dependencies: + estraverse: 5.3.0 + dev: true + + /esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + dependencies: + estraverse: 5.3.0 + dev: true + + /estraverse@4.3.0: + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} + dev: true + + /estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + dev: true + + /estree-walker@1.0.1: + resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==} + dev: true + + /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'} + dev: true + + /etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + dev: true + + /eventemitter3@5.0.1: + resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} + dev: true + + /execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + dependencies: + cross-spawn: 7.0.3 + 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 + dev: true + + /execa@7.2.0: + resolution: {integrity: sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==} + engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0} + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 4.3.1 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.1.0 + onetime: 6.0.0 + signal-exit: 3.0.7 + strip-final-newline: 3.0.0 + dev: true + + /expand-brackets@2.1.4: + resolution: {integrity: sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==} + engines: {node: '>=0.10.0'} + 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 + dev: true + + /extend-shallow@2.0.1: + resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} + engines: {node: '>=0.10.0'} + dependencies: + is-extendable: 0.1.1 + dev: true + + /extend-shallow@3.0.2: + resolution: {integrity: sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==} + engines: {node: '>=0.10.0'} + dependencies: + assign-symbols: 1.0.0 + is-extendable: 1.0.1 + dev: true + + /external-editor@3.1.0: + resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} + engines: {node: '>=4'} + dependencies: + chardet: 0.7.0 + iconv-lite: 0.4.24 + tmp: 0.0.33 + dev: true + + /extglob@2.0.4: + resolution: {integrity: sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==} + engines: {node: '>=0.10.0'} + 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 + dev: true + + /fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + dev: true + + /fast-diff@1.3.0: + resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} + dev: true + + /fast-glob@3.3.1: + resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==} + engines: {node: '>=8.6.0'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.5 + dev: true + + /fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + dev: true + + /fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + dev: true + + /fastest-levenshtein@1.0.16: + resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==} + engines: {node: '>= 4.9.1'} + + /fastq@1.15.0: + resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + dependencies: + reusify: 1.0.4 + dev: true + + /figures@5.0.0: + resolution: {integrity: sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==} + engines: {node: '>=14'} + dependencies: + escape-string-regexp: 5.0.0 + is-unicode-supported: 1.3.0 + dev: true + + /file-entry-cache@6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flat-cache: 3.1.0 + dev: true + + /filelist@1.0.4: + resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} + dependencies: + minimatch: 5.1.6 + dev: true + + /fill-range@4.0.0: + resolution: {integrity: sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==} + engines: {node: '>=0.10.0'} + dependencies: + extend-shallow: 2.0.1 + is-number: 3.0.0 + repeat-string: 1.6.1 + to-regex-range: 2.1.1 + dev: true + + /fill-range@7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} + dependencies: + to-regex-range: 5.0.1 + dev: true + + /find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + dev: true + + /find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + dev: true + + /flat-cache@3.1.0: + resolution: {integrity: sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew==} + engines: {node: '>=12.0.0'} + dependencies: + flatted: 3.2.9 + keyv: 4.5.3 + rimraf: 3.0.2 + dev: true + + /flatted@3.2.9: + resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} + dev: true + + /follow-redirects@1.15.3(debug@4.3.4): + resolution: {integrity: sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + dependencies: + debug: 4.3.4 + + /for-each@0.3.3: + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + dependencies: + is-callable: 1.2.7 + dev: true + + /for-in@1.0.2: + resolution: {integrity: sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==} + engines: {node: '>=0.10.0'} + dev: true + + /foreground-child@3.1.1: + resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} + engines: {node: '>=14'} + dependencies: + cross-spawn: 7.0.3 + signal-exit: 4.1.0 + dev: true + + /form-data@4.0.0: + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} + engines: {node: '>= 6'} + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + + /frac@1.1.2: + resolution: {integrity: sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA==} + engines: {node: '>=0.8'} + dev: false + + /fragment-cache@0.2.1: + resolution: {integrity: sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==} + engines: {node: '>=0.10.0'} + dependencies: + map-cache: 0.2.2 + dev: true + + /fs-extra@10.1.0: + resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} + engines: {node: '>=12'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.0 + dev: true + + /fs-extra@11.1.1: + resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==} + engines: {node: '>=14.14'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.0 + dev: true + + /fs-extra@9.1.0: + resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} + engines: {node: '>=10'} + dependencies: + at-least-node: 1.0.0 + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.0 + dev: true + + /fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + dev: true + + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /function-bind@1.1.1: + resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} + + /function.prototype.name@1.1.6: + resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.1 + es-abstract: 1.22.2 + functions-have-names: 1.2.3 + dev: true + + /functions-have-names@1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + dev: true + + /gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + dev: true + + /get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + dev: true + + /get-intrinsic@1.2.1: + resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==} + dependencies: + function-bind: 1.1.1 + has: 1.0.3 + has-proto: 1.0.1 + has-symbols: 1.0.3 + + /get-own-enumerable-property-symbols@3.0.2: + resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==} + dev: true + + /get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + dev: true + + /get-symbol-description@1.0.0: + resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.1 + dev: true + + /get-tsconfig@4.7.2: + resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==} + dependencies: + resolve-pkg-maps: 1.0.0 + dev: true + + /get-value@2.0.6: + resolution: {integrity: sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==} + engines: {node: '>=0.10.0'} + dev: true + + /git-raw-commits@2.0.11: + resolution: {integrity: sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==} + engines: {node: '>=10'} + hasBin: true + dependencies: + dargs: 7.0.0 + lodash: 4.17.21 + meow: 8.1.2 + split2: 3.2.2 + through2: 4.0.2 + dev: true + + /glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + dependencies: + is-glob: 4.0.3 + dev: true + + /glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + dependencies: + is-glob: 4.0.3 + dev: true + + /glob@10.3.6: + resolution: {integrity: sha512-mEfImdc/fiYHEcF6pHFfD2b/KrdFB1qH9mRe5vI5HROF8G51SWxQJ2V56Ezl6ZL9y86gsxQ1Lgo2S746KGUPSQ==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + dependencies: + foreground-child: 3.1.1 + jackspeak: 2.3.3 + minimatch: 9.0.3 + minipass: 7.0.3 + path-scurry: 1.10.1 + dev: true + + /glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + + /global-dirs@0.1.1: + resolution: {integrity: sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==} + engines: {node: '>=4'} + dependencies: + ini: 1.3.8 + dev: true + + /global-modules@2.0.0: + resolution: {integrity: sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==} + engines: {node: '>=6'} + dependencies: + global-prefix: 3.0.0 + dev: true + + /global-prefix@3.0.0: + resolution: {integrity: sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==} + engines: {node: '>=6'} + dependencies: + ini: 1.3.8 + kind-of: 6.0.3 + which: 1.3.1 + dev: true + + /global@4.4.0: + resolution: {integrity: sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==} + dependencies: + min-document: 2.19.0 + process: 0.11.10 + dev: false + + /globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + dev: true + + /globals@13.22.0: + resolution: {integrity: sha512-H1Ddc/PbZHTDVJSnj8kWptIRSD6AM3pK+mKytuIVF4uoBV7rshFlhhvA58ceJ5wp3Er58w6zj7bykMpYXt3ETw==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.20.2 + dev: true + + /globalthis@1.0.3: + resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} + engines: {node: '>= 0.4'} + dependencies: + define-properties: 1.2.1 + dev: true + + /globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.3.1 + ignore: 5.2.4 + merge2: 1.4.1 + slash: 3.0.0 + dev: true + + /globjoin@0.1.4: + resolution: {integrity: sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==} + dev: true + + /gopd@1.0.1: + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + dependencies: + get-intrinsic: 1.2.1 + dev: true + + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + dev: true + + /graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + dev: true + + /gzip-size@6.0.0: + resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} + engines: {node: '>=10'} + dependencies: + duplexer: 0.1.2 + dev: true + + /hard-rejection@2.1.0: + resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} + engines: {node: '>=6'} + dev: true + + /has-ansi@2.0.0: + resolution: {integrity: sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==} + engines: {node: '>=0.10.0'} + dependencies: + ansi-regex: 2.1.1 + dev: true + + /has-bigints@1.0.2: + resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + dev: true + + /has-flag@1.0.0: + resolution: {integrity: sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==} + engines: {node: '>=0.10.0'} + dev: true + + /has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + dev: true + + /has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + dev: true + + /has-property-descriptors@1.0.0: + resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} + dependencies: + get-intrinsic: 1.2.1 + dev: true + + /has-proto@1.0.1: + resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} + engines: {node: '>= 0.4'} + + /has-symbols@1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} + + /has-tostringtag@1.0.0: + resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.0.3 + dev: true + + /has-value@0.3.1: + resolution: {integrity: sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==} + engines: {node: '>=0.10.0'} + dependencies: + get-value: 2.0.6 + has-values: 0.1.4 + isobject: 2.1.0 + dev: true + + /has-value@1.0.0: + resolution: {integrity: sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==} + engines: {node: '>=0.10.0'} + dependencies: + get-value: 2.0.6 + has-values: 1.0.0 + isobject: 3.0.1 + dev: true + + /has-values@0.1.4: + resolution: {integrity: sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==} + engines: {node: '>=0.10.0'} + dev: true + + /has-values@1.0.0: + resolution: {integrity: sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==} + engines: {node: '>=0.10.0'} + dependencies: + is-number: 3.0.0 + kind-of: 4.0.0 + dev: true + + /has@1.0.3: + resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} + engines: {node: '>= 0.4.0'} + dependencies: + function-bind: 1.1.1 + + /he@1.2.0: + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + hasBin: true + dev: true + + /hosted-git-info@2.8.9: + resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} + dev: true + + /hosted-git-info@4.1.0: + resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} + engines: {node: '>=10'} + dependencies: + lru-cache: 6.0.0 + dev: true + + /html-minifier-terser@7.2.0: + resolution: {integrity: sha512-tXgn3QfqPIpGl9o+K5tpcj3/MN4SfLtsx2GWwBC3SSd0tXQGyF3gsSqad8loJgKZGM3ZxbYDd5yhiBIdWpmvLA==} + engines: {node: ^14.13.1 || >=16.0.0} + hasBin: true + dependencies: + camel-case: 4.1.2 + clean-css: 5.3.2 + commander: 10.0.1 + entities: 4.5.0 + param-case: 3.0.4 + relateurl: 0.2.7 + terser: 5.20.0 + dev: true + + /html-tags@3.3.1: + resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} + engines: {node: '>=8'} + dev: true + + /htmlparser2@3.10.1: + resolution: {integrity: sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==} + 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 + dev: true + + /htmlparser2@8.0.2: + resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + domutils: 3.1.0 + entities: 4.5.0 + dev: true + + /human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + dev: true + + /human-signals@4.3.1: + resolution: {integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==} + engines: {node: '>=14.18.0'} + dev: true + + /husky@8.0.3: + resolution: {integrity: sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==} + engines: {node: '>=14'} + hasBin: true + dev: true + + /iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: 2.1.2 + dev: true + + /iconv-lite@0.6.3: + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} + requiresBuild: true + dependencies: + safer-buffer: 2.1.2 + dev: true + optional: true + + /idb@7.1.1: + resolution: {integrity: sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==} + dev: true + + /ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + dev: true + + /ignore@5.2.4: + resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} + engines: {node: '>= 4'} + dev: true + + /image-size@0.5.5: + resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==} + engines: {node: '>=0.10.0'} + hasBin: true + dev: true + + /import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + dev: true + + /import-lazy@4.0.0: + resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} + engines: {node: '>=8'} + dev: true + + /imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + dev: true + + /indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + dev: true + + /indent-string@5.0.0: + resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} + engines: {node: '>=12'} + dev: true + + /individual@2.0.0: + resolution: {integrity: sha512-pWt8hBCqJsUWI/HtcfWod7+N9SgAqyPEaF7JQjwzjn5vGrpg6aQ5qeAFQ7dx//UH4J1O+7xqew+gCeeFt6xN/g==} + dev: false + + /inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + dev: true + + /inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + dev: true + + /ini@1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + dev: true + + /inquirer@9.2.11: + resolution: {integrity: sha512-B2LafrnnhbRzCWfAdOXisUzL89Kg8cVJlYmhqoi3flSiV/TveO+nsXwgKr9h9PIo+J1hz7nBSk6gegRIMBBf7g==} + engines: {node: '>=14.18.0'} + dependencies: + '@ljharb/through': 2.3.9 + ansi-escapes: 4.3.2 + chalk: 5.3.0 + cli-cursor: 3.1.0 + cli-width: 4.1.0 + external-editor: 3.1.0 + figures: 5.0.0 + lodash: 4.17.21 + mute-stream: 1.0.0 + ora: 5.4.1 + run-async: 3.0.0 + rxjs: 7.8.1 + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 6.2.0 + dev: true + + /internal-slot@1.0.5: + resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.1 + has: 1.0.3 + side-channel: 1.0.4 + dev: true + + /is-accessor-descriptor@0.1.6: + resolution: {integrity: sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==} + engines: {node: '>=0.10.0'} + dependencies: + kind-of: 3.2.2 + dev: true + + /is-accessor-descriptor@1.0.0: + resolution: {integrity: sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==} + engines: {node: '>=0.10.0'} + dependencies: + kind-of: 6.0.3 + dev: true + + /is-alphabetical@1.0.4: + resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==} + dev: true + + /is-alphanumerical@1.0.4: + resolution: {integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==} + dependencies: + is-alphabetical: 1.0.4 + is-decimal: 1.0.4 + dev: true + + /is-array-buffer@3.0.2: + resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.1 + is-typed-array: 1.1.12 + dev: true + + /is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + dev: true + + /is-bigint@1.0.4: + resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + dependencies: + has-bigints: 1.0.2 + dev: true + + /is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.2.0 + dev: true + + /is-boolean-object@1.1.2: + resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + has-tostringtag: 1.0.0 + dev: true + + /is-buffer@1.1.6: + resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} + dev: true + + /is-builtin-module@3.2.1: + resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} + engines: {node: '>=6'} + dependencies: + builtin-modules: 3.3.0 + dev: true + + /is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + dev: true + + /is-core-module@2.13.0: + resolution: {integrity: sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==} + dependencies: + has: 1.0.3 + dev: true + + /is-data-descriptor@0.1.4: + resolution: {integrity: sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==} + engines: {node: '>=0.10.0'} + dependencies: + kind-of: 3.2.2 + dev: true + + /is-data-descriptor@1.0.0: + resolution: {integrity: sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==} + engines: {node: '>=0.10.0'} + dependencies: + kind-of: 6.0.3 + dev: true + + /is-date-object@1.0.5: + resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + + /is-decimal@1.0.4: + resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==} + dev: true + + /is-descriptor@0.1.6: + resolution: {integrity: sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==} + engines: {node: '>=0.10.0'} + dependencies: + is-accessor-descriptor: 0.1.6 + is-data-descriptor: 0.1.4 + kind-of: 5.1.0 + dev: true + + /is-descriptor@1.0.2: + resolution: {integrity: sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==} + engines: {node: '>=0.10.0'} + dependencies: + is-accessor-descriptor: 1.0.0 + is-data-descriptor: 1.0.0 + kind-of: 6.0.3 + dev: true + + /is-docker@2.2.1: + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} + hasBin: true + dev: true + + /is-docker@3.0.0: + resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + hasBin: true + dev: true + + /is-extendable@0.1.1: + resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} + engines: {node: '>=0.10.0'} + dev: true + + /is-extendable@1.0.1: + resolution: {integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==} + engines: {node: '>=0.10.0'} + dependencies: + is-plain-object: 2.0.4 + dev: true + + /is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + dev: true + + /is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + dev: true + + /is-fullwidth-code-point@4.0.0: + resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} + engines: {node: '>=12'} + dev: true + + /is-function@1.0.2: + resolution: {integrity: sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==} + dev: false + + /is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + dev: true + + /is-hexadecimal@1.0.4: + resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==} + dev: true + + /is-inside-container@1.0.0: + resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} + engines: {node: '>=14.16'} + hasBin: true + dependencies: + is-docker: 3.0.0 + dev: true + + /is-interactive@1.0.0: + resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} + engines: {node: '>=8'} + dev: true + + /is-module@1.0.0: + resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} + dev: true + + /is-negative-zero@2.0.2: + resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} + engines: {node: '>= 0.4'} + dev: true + + /is-number-object@1.0.7: + resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + + /is-number@3.0.0: + resolution: {integrity: sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==} + engines: {node: '>=0.10.0'} + dependencies: + kind-of: 3.2.2 + dev: true + + /is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + dev: true + + /is-obj@1.0.1: + resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==} + engines: {node: '>=0.10.0'} + dev: true + + /is-obj@2.0.0: + resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} + engines: {node: '>=8'} + dev: true + + /is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + dev: true + + /is-plain-obj@1.1.0: + resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} + engines: {node: '>=0.10.0'} + dev: true + + /is-plain-object@2.0.4: + resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} + engines: {node: '>=0.10.0'} + dependencies: + isobject: 3.0.1 + dev: true + + /is-plain-object@3.0.1: + resolution: {integrity: sha512-Xnpx182SBMrr/aBik8y+GuR4U1L9FqMSojwDQwPMmxyC6bvEqly9UBCxhauBF5vNh2gwWJNX6oDV7O+OM4z34g==} + engines: {node: '>=0.10.0'} + dev: false + + /is-plain-object@5.0.0: + resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} + engines: {node: '>=0.10.0'} + + /is-regex@1.1.4: + resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + has-tostringtag: 1.0.0 + dev: true + + /is-regexp@1.0.0: + resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==} + engines: {node: '>=0.10.0'} + dev: true + + /is-shared-array-buffer@1.0.2: + resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} + dependencies: + call-bind: 1.0.2 + dev: true + + /is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + dev: true + + /is-stream@3.0.0: + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + + /is-string@1.0.7: + resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + + /is-symbol@1.0.4: + resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.0.3 + dev: true + + /is-text-path@1.0.1: + resolution: {integrity: sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==} + engines: {node: '>=0.10.0'} + dependencies: + text-extensions: 1.9.0 + dev: true + + /is-typed-array@1.1.12: + resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} + engines: {node: '>= 0.4'} + dependencies: + which-typed-array: 1.1.11 + dev: true + + /is-unicode-supported@0.1.0: + resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} + engines: {node: '>=10'} + dev: true + + /is-unicode-supported@1.3.0: + resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} + engines: {node: '>=12'} + dev: true + + /is-weakref@1.0.2: + resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + dependencies: + call-bind: 1.0.2 + dev: true + + /is-what@3.14.1: + resolution: {integrity: sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==} + dev: true + + /is-windows@1.0.2: + resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} + engines: {node: '>=0.10.0'} + dev: true + + /is-wsl@2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} + dependencies: + is-docker: 2.2.1 + dev: true + + /isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + dev: true + + /isarray@2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + dev: true + + /isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: true + + /isobject@2.1.0: + resolution: {integrity: sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==} + engines: {node: '>=0.10.0'} + dependencies: + isarray: 1.0.0 + dev: true + + /isobject@3.0.1: + resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} + engines: {node: '>=0.10.0'} + dev: true + + /jackspeak@2.3.3: + resolution: {integrity: sha512-R2bUw+kVZFS/h1AZqBKrSgDmdmjApzgY0AlCPumopFiAlbUxE2gf+SCuBzQ0cP5hHmUmFYF5yw55T97Th5Kstg==} + engines: {node: '>=14'} + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + dev: true + + /jake@10.8.7: + resolution: {integrity: sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==} + engines: {node: '>=10'} + hasBin: true + dependencies: + async: 3.2.4 + chalk: 4.1.2 + filelist: 1.0.4 + minimatch: 3.1.2 + dev: true + + /jest-worker@26.6.2: + resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==} + engines: {node: '>= 10.13.0'} + dependencies: + '@types/node': 20.6.4 + merge-stream: 2.0.0 + supports-color: 7.2.0 + dev: true + + /jiti@1.20.0: + resolution: {integrity: sha512-3TV69ZbrvV6U5DfQimop50jE9Dl6J8O1ja1dvBbMba/sZ3YBEQqJ2VZRoQPVnhlzjNtU1vaXRZVrVjU4qtm8yA==} + hasBin: true + dev: true + + /js-base64@2.6.4: + resolution: {integrity: sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==} + dev: true + + /js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + /js-tokens@8.0.2: + resolution: {integrity: sha512-Olnt+V7xYdvGze9YTbGFZIfQXuGV4R3nQwwl8BrtgaPE/wq8UFpUHWuTNc05saowhSr1ZO6tx+V6RjE9D5YQog==} + dev: true + + /js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + dependencies: + argparse: 2.0.1 + dev: true + + /jsdoc-type-pratt-parser@4.0.0: + resolution: {integrity: sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ==} + engines: {node: '>=12.0.0'} + dev: true + + /jsesc@0.5.0: + resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} + hasBin: true + dev: true + + /jsesc@2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /jsesc@3.0.2: + resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} + engines: {node: '>=6'} + hasBin: true + dev: true + + /json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + dev: true + + /json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + dev: true + + /json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + dev: true + + /json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + dev: true + + /json-schema@0.4.0: + resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} + dev: true + + /json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + dev: true + + /json5@1.0.2: + resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} + hasBin: true + dependencies: + minimist: 1.2.8 + dev: true + + /json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + dev: true + + /jsonc-eslint-parser@2.3.0: + resolution: {integrity: sha512-9xZPKVYp9DxnM3sd1yAsh/d59iIaswDkai8oTxbursfKYbg/ibjX0IzFt35+VZ8iEW453TVTXztnRvYUQlAfUQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + acorn: 8.10.0 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + semver: 7.5.4 + dev: true + + /jsonc-parser@3.2.0: + resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} + dev: true + + /jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + dependencies: + universalify: 2.0.0 + optionalDependencies: + graceful-fs: 4.2.11 + dev: true + + /jsonparse@1.3.1: + resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} + engines: {'0': node >= 0.2.0} + dev: true + + /jsonpointer@5.0.1: + resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} + engines: {node: '>=0.10.0'} + dev: true + + /keycode@2.2.1: + resolution: {integrity: sha512-Rdgz9Hl9Iv4QKi8b0OlCRQEzp4AgVxyCtz5S/+VIHezDmrDhkp2N2TqBWOLz0/gbeREXOOiI9/4b8BY9uw2vFg==} + dev: false + + /keyv@4.5.3: + resolution: {integrity: sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==} + dependencies: + json-buffer: 3.0.1 + dev: true + + /kind-of@3.2.2: + resolution: {integrity: sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==} + engines: {node: '>=0.10.0'} + dependencies: + is-buffer: 1.1.6 + dev: true + + /kind-of@4.0.0: + resolution: {integrity: sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==} + engines: {node: '>=0.10.0'} + dependencies: + is-buffer: 1.1.6 + dev: true + + /kind-of@5.1.0: + resolution: {integrity: sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==} + engines: {node: '>=0.10.0'} + dev: true + + /kind-of@6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + dev: true + + /known-css-properties@0.28.0: + resolution: {integrity: sha512-9pSL5XB4J+ifHP0e0jmmC98OGC1nL8/JjS+fi6mnTlIf//yt/MfVLtKg7S6nCtj/8KTcWX7nRlY0XywoYY1ISQ==} + dev: true + + /kolorist@1.8.0: + resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} + dev: true + + /less@4.2.0: + resolution: {integrity: sha512-P3b3HJDBtSzsXUl0im2L7gTO5Ubg8mEN6G8qoTS77iXxXX4Hvu4Qj540PZDvQ8V6DmX6iXo98k7Md0Cm1PrLaA==} + engines: {node: '>=6'} + hasBin: true + dependencies: + copy-anything: 2.0.6 + parse-node-version: 1.0.1 + tslib: 2.6.2 + optionalDependencies: + errno: 0.1.8 + graceful-fs: 4.2.11 + image-size: 0.5.5 + make-dir: 2.1.0 + mime: 1.6.0 + needle: 3.2.0 + source-map: 0.6.1 + transitivePeerDependencies: + - supports-color + dev: true + + /leven@3.1.0: + resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} + engines: {node: '>=6'} + dev: true + + /levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /lilconfig@2.1.0: + resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} + engines: {node: '>=10'} + dev: true + + /lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + dev: true + + /lint-staged@14.0.1: + resolution: {integrity: sha512-Mw0cL6HXnHN1ag0mN/Dg4g6sr8uf8sn98w2Oc1ECtFto9tvRF7nkXGJRbx8gPlHyoR0pLyBr2lQHbWwmUHe1Sw==} + engines: {node: ^16.14.0 || >=18.0.0} + hasBin: true + dependencies: + chalk: 5.3.0 + commander: 11.0.0 + debug: 4.3.4 + execa: 7.2.0 + lilconfig: 2.1.0 + listr2: 6.6.1 + micromatch: 4.0.5 + pidtree: 0.6.0 + string-argv: 0.3.2 + yaml: 2.3.1 + transitivePeerDependencies: + - enquirer + - supports-color + dev: true + + /listr2@6.6.1: + resolution: {integrity: sha512-+rAXGHh0fkEWdXBmX+L6mmfmXmXvDGEKzkjxO+8mP3+nI/r/CWznVBvsibXdxda9Zz0OW2e2ikphN3OwCT/jSg==} + engines: {node: '>=16.0.0'} + peerDependencies: + enquirer: '>= 2.3.0 < 3' + peerDependenciesMeta: + enquirer: + optional: true + dependencies: + cli-truncate: 3.1.0 + colorette: 2.0.20 + eventemitter3: 5.0.1 + log-update: 5.0.1 + rfdc: 1.3.0 + wrap-ansi: 8.1.0 + dev: true + + /loader-utils@1.4.2: + resolution: {integrity: sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==} + engines: {node: '>=4.0.0'} + dependencies: + big.js: 5.2.2 + emojis-list: 3.0.0 + json5: 1.0.2 + dev: true + + /local-pkg@0.4.3: + resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==} + engines: {node: '>=14'} + dev: true + + /locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + dependencies: + p-locate: 4.1.0 + dev: true + + /locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + dependencies: + p-locate: 5.0.0 + dev: true + + /lodash-es@4.17.21: + resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} + dev: false + + /lodash.camelcase@4.3.0: + resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} + dev: true + + /lodash.debounce@4.0.8: + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} + dev: true + + /lodash.isfunction@3.0.9: + resolution: {integrity: sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==} + dev: true + + /lodash.isplainobject@4.0.6: + resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} + dev: true + + /lodash.kebabcase@4.1.1: + resolution: {integrity: sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==} + dev: true + + /lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + dev: true + + /lodash.mergewith@4.6.2: + resolution: {integrity: sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==} + dev: true + + /lodash.snakecase@4.1.1: + resolution: {integrity: sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==} + dev: true + + /lodash.sortby@4.7.0: + resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} + dev: true + + /lodash.startcase@4.4.0: + resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} + dev: true + + /lodash.truncate@4.4.2: + resolution: {integrity: sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==} + dev: true + + /lodash.uniq@4.5.0: + resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} + dev: true + + /lodash.upperfirst@4.3.1: + resolution: {integrity: sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==} + dev: true + + /lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + + /log-symbols@4.1.0: + resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} + engines: {node: '>=10'} + dependencies: + chalk: 4.1.2 + is-unicode-supported: 0.1.0 + dev: true + + /log-update@5.0.1: + resolution: {integrity: sha512-5UtUDQ/6edw4ofyljDNcOVJQ4c7OjDro4h3y8e1GQL5iYElYclVHJ3zeWchylvMaKnDbDilC8irOVyexnA/Slw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + ansi-escapes: 5.0.0 + cli-cursor: 4.0.0 + slice-ansi: 5.0.0 + strip-ansi: 7.1.0 + wrap-ansi: 8.1.0 + dev: true + + /loose-envify@1.4.0: + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + hasBin: true + dependencies: + js-tokens: 4.0.0 + dev: false + + /lower-case@2.0.2: + resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} + dependencies: + tslib: 2.6.2 + dev: true + + /lru-cache@10.0.1: + resolution: {integrity: sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==} + engines: {node: 14 || >=16.14} + dev: true + + /lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + dependencies: + yallist: 3.1.1 + dev: true + + /lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + dependencies: + yallist: 4.0.0 + dev: true + + /luxon@3.4.3: + resolution: {integrity: sha512-tFWBiv3h7z+T/tDaoxA8rqTxy1CHV6gHS//QdaH4pulbq/JuBSGgQspQQqcgnwdAx6pNI7cmvz5Sv/addzHmUg==} + engines: {node: '>=12'} + dev: false + + /m3u8-parser@4.8.0: + resolution: {integrity: sha512-UqA2a/Pw3liR6Df3gwxrqghCP17OpPlQj6RBPLYygf/ZSQ4MoSgvdvhvt35qV+3NaaA0FSZx93Ix+2brT1U7cA==} + dependencies: + '@babel/runtime': 7.22.15 + '@videojs/vhs-utils': 3.0.5 + global: 4.4.0 + dev: false + + /magic-string@0.25.9: + resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} + dependencies: + sourcemap-codec: 1.4.8 + dev: true + + /magic-string@0.30.3: + resolution: {integrity: sha512-B7xGbll2fG/VjP+SWg4sX3JynwIU0mjoTc6MPpKNuIvftk6u6vqhDnk1R80b8C2GBR6ywqy+1DcKBrevBg+bmw==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + + /make-dir@2.1.0: + resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} + engines: {node: '>=6'} + requiresBuild: true + dependencies: + pify: 4.0.1 + semver: 5.7.2 + dev: true + optional: true + + /make-error@1.3.6: + resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} + dev: true + + /map-cache@0.2.2: + resolution: {integrity: sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==} + engines: {node: '>=0.10.0'} + dev: true + + /map-obj@1.0.1: + resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} + engines: {node: '>=0.10.0'} + dev: true + + /map-obj@4.3.0: + resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} + engines: {node: '>=8'} + dev: true + + /map-visit@1.0.0: + resolution: {integrity: sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==} + engines: {node: '>=0.10.0'} + dependencies: + object-visit: 1.0.1 + dev: true + + /mathml-tag-names@2.1.3: + resolution: {integrity: sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==} + dev: true + + /mdast-util-from-markdown@0.8.5: + resolution: {integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==} + dependencies: + '@types/mdast': 3.0.12 + mdast-util-to-string: 2.0.0 + micromark: 2.11.4 + parse-entities: 2.0.0 + unist-util-stringify-position: 2.0.3 + transitivePeerDependencies: + - supports-color + dev: true + + /mdast-util-to-string@2.0.0: + resolution: {integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==} + dev: true + + /mdn-data@2.0.14: + resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} + dev: true + + /mdn-data@2.0.30: + resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} + dev: true + + /meow@10.1.5: + resolution: {integrity: sha512-/d+PQ4GKmGvM9Bee/DPa8z3mXs/pkvJE2KEThngVNOqtmljC6K7NMPxtc2JeZYTmpWb9k/TmxjeL18ez3h7vCw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + '@types/minimist': 1.2.2 + camelcase-keys: 7.0.2 + decamelize: 5.0.1 + decamelize-keys: 1.1.1 + hard-rejection: 2.1.0 + minimist-options: 4.1.0 + normalize-package-data: 3.0.3 + read-pkg-up: 8.0.0 + redent: 4.0.0 + trim-newlines: 4.1.1 + type-fest: 1.4.0 + yargs-parser: 20.2.9 + dev: true + + /meow@8.1.2: + resolution: {integrity: sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==} + engines: {node: '>=10'} + dependencies: + '@types/minimist': 1.2.2 + camelcase-keys: 6.2.2 + decamelize-keys: 1.1.1 + hard-rejection: 2.1.0 + minimist-options: 4.1.0 + normalize-package-data: 3.0.3 + read-pkg-up: 7.0.1 + redent: 3.0.0 + trim-newlines: 3.0.1 + type-fest: 0.18.1 + yargs-parser: 20.2.9 + dev: true + + /merge-options@1.0.1: + resolution: {integrity: sha512-iuPV41VWKWBIOpBsjoxjDZw8/GbSfZ2mk7N1453bwMrfzdrIk7EzBd+8UVR6rkw67th7xnk9Dytl3J+lHPdxvg==} + engines: {node: '>=4'} + dependencies: + is-plain-obj: 1.1.0 + dev: true + + /merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: true + + /merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + dev: true + + /micromark@2.11.4: + resolution: {integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==} + dependencies: + debug: 4.3.4 + parse-entities: 2.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /micromatch@3.1.0: + resolution: {integrity: sha512-3StSelAE+hnRvMs8IdVW7Uhk8CVed5tp+kLLGlBP6WiRAXS21GPGu/Nat4WNPXj2Eoc24B02SaeoyozPMfj0/g==} + engines: {node: '>=0.10.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 + dev: true + + /micromatch@4.0.5: + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} + dependencies: + braces: 3.0.2 + picomatch: 2.3.1 + dev: true + + /mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + /mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + dependencies: + mime-db: 1.52.0 + + /mime@1.6.0: + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + engines: {node: '>=4'} + hasBin: true + requiresBuild: true + dev: true + optional: true + + /mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + dev: true + + /mimic-fn@4.0.0: + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} + dev: true + + /min-document@2.19.0: + resolution: {integrity: sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==} + dependencies: + dom-walk: 0.1.2 + dev: false + + /min-indent@1.0.1: + resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} + engines: {node: '>=4'} + dev: true + + /minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + dependencies: + brace-expansion: 1.1.11 + dev: true + + /minimatch@5.1.6: + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} + dependencies: + brace-expansion: 2.0.1 + dev: true + + /minimatch@9.0.3: + resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + brace-expansion: 2.0.1 + dev: true + + /minimist-options@4.1.0: + resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} + engines: {node: '>= 6'} + dependencies: + arrify: 1.0.1 + is-plain-obj: 1.1.0 + kind-of: 6.0.3 + dev: true + + /minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + dev: true + + /minipass@7.0.3: + resolution: {integrity: sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==} + engines: {node: '>=16 || 14 >=14.17'} + dev: true + + /mixin-deep@1.3.2: + resolution: {integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==} + engines: {node: '>=0.10.0'} + dependencies: + for-in: 1.0.2 + is-extendable: 1.0.1 + dev: true + + /mlly@1.4.2: + resolution: {integrity: sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg==} + dependencies: + acorn: 8.10.0 + pathe: 1.1.1 + pkg-types: 1.0.3 + ufo: 1.3.0 + dev: true + + /mpd-parser@0.22.1: + resolution: {integrity: sha512-fwBebvpyPUU8bOzvhX0VQZgSohncbgYwUyJJoTSNpmy7ccD2ryiCvM7oRkn/xQH5cv73/xU7rJSNCLjdGFor0Q==} + hasBin: true + dependencies: + '@babel/runtime': 7.22.15 + '@videojs/vhs-utils': 3.0.5 + '@xmldom/xmldom': 0.8.10 + global: 4.4.0 + dev: false + + /mrmime@1.0.1: + resolution: {integrity: sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==} + engines: {node: '>=10'} + dev: true + + /ms@2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + dev: true + + /ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + + /ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + requiresBuild: true + dev: true + + /muggle-string@0.3.1: + resolution: {integrity: sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==} + dev: true + + /mute-stream@1.0.0: + resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dev: true + + /mux.js@6.0.1: + resolution: {integrity: sha512-22CHb59rH8pWGcPGW5Og7JngJ9s+z4XuSlYvnxhLuc58cA1WqGDQPzuG8I+sPm1/p0CdgpzVTaKW408k5DNn8w==} + engines: {node: '>=8', npm: '>=5'} + hasBin: true + dependencies: + '@babel/runtime': 7.22.15 + global: 4.4.0 + dev: false + + /nanoid@3.3.6: + resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} + 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'} + 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 + dev: true + + /nanopop@2.3.0: + resolution: {integrity: sha512-fzN+T2K7/Ah25XU02MJkPZ5q4Tj5FpjmIYq4rvoHX4yb16HzFdCO6JxFFn5Y/oBhQ8no8fUZavnyIv9/+xkBBw==} + dev: false + + /natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + dev: true + + /needle@3.2.0: + resolution: {integrity: sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ==} + engines: {node: '>= 4.4.x'} + hasBin: true + requiresBuild: true + dependencies: + debug: 3.2.7 + iconv-lite: 0.6.3 + sax: 1.2.4 + transitivePeerDependencies: + - supports-color + dev: true + optional: true + + /no-case@3.0.4: + resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} + dependencies: + lower-case: 2.0.2 + tslib: 2.6.2 + dev: true + + /node-fetch-native@1.4.0: + resolution: {integrity: sha512-F5kfEj95kX8tkDhUCYdV8dg3/8Olx/94zB8+ZNthFs6Bz31UpUi8Xh40TN3thLwXgrwXry1pEg9lJ++tLWTcqA==} + dev: true + + /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 + dependencies: + whatwg-url: 5.0.0 + dev: true + + /node-html-parser@6.1.10: + resolution: {integrity: sha512-6/uWdWxjQWQ7tMcFK2wWlrflsQUzh1HsEzlIf2j5+TtzfhT2yUvg3DwZYAmjEHeR3uX74ko7exjHW69J0tOzIg==} + dependencies: + css-select: 5.1.0 + he: 1.2.0 + dev: true + + /node-releases@2.0.13: + resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==} + dev: true + + /normalize-package-data@2.5.0: + resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + dependencies: + hosted-git-info: 2.8.9 + resolve: 1.22.6 + semver: 5.7.2 + validate-npm-package-license: 3.0.4 + dev: true + + /normalize-package-data@3.0.3: + resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==} + engines: {node: '>=10'} + dependencies: + hosted-git-info: 4.1.0 + is-core-module: 2.13.0 + semver: 7.5.4 + validate-npm-package-license: 3.0.4 + dev: true + + /normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + dev: true + + /npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + dependencies: + path-key: 3.1.1 + dev: true + + /npm-run-path@5.1.0: + resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + path-key: 4.0.0 + dev: true + + /nprogress@0.2.0: + resolution: {integrity: sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==} + dev: false + + /nth-check@2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + dependencies: + boolbase: 1.0.0 + dev: true + + /object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + dev: true + + /object-copy@0.1.0: + resolution: {integrity: sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==} + engines: {node: '>=0.10.0'} + dependencies: + copy-descriptor: 0.1.1 + define-property: 0.2.5 + kind-of: 3.2.2 + dev: true + + /object-inspect@1.12.3: + resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} + + /object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + dev: true + + /object-visit@1.0.1: + resolution: {integrity: sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==} + engines: {node: '>=0.10.0'} + dependencies: + isobject: 3.0.1 + dev: true + + /object.assign@4.1.4: + resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.1 + has-symbols: 1.0.3 + object-keys: 1.1.1 + dev: true + + /object.pick@1.3.0: + resolution: {integrity: sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==} + engines: {node: '>=0.10.0'} + dependencies: + isobject: 3.0.1 + dev: true + + /ofetch@1.3.3: + resolution: {integrity: sha512-s1ZCMmQWXy4b5K/TW9i/DtiN8Ku+xCiHcjQ6/J/nDdssirrQNOoB165Zu8EqLMA2lln1JUth9a0aW9Ap2ctrUg==} + dependencies: + destr: 2.0.1 + node-fetch-native: 1.4.0 + ufo: 1.3.0 + dev: true + + /once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + dependencies: + wrappy: 1.0.2 + dev: true + + /onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + dependencies: + mimic-fn: 2.1.0 + dev: true + + /onetime@6.0.0: + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} + dependencies: + mimic-fn: 4.0.0 + dev: true + + /open@8.4.2: + resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} + engines: {node: '>=12'} + dependencies: + define-lazy-prop: 2.0.0 + is-docker: 2.2.1 + is-wsl: 2.2.0 + dev: true + + /open@9.1.0: + resolution: {integrity: sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==} + engines: {node: '>=14.16'} + dependencies: + default-browser: 4.0.0 + define-lazy-prop: 3.0.0 + is-inside-container: 1.0.0 + is-wsl: 2.2.0 + dev: true + + /optionator@0.9.3: + resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + engines: {node: '>= 0.8.0'} + dependencies: + '@aashutoshrathi/word-wrap': 1.2.6 + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /ora@5.4.1: + resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} + engines: {node: '>=10'} + dependencies: + bl: 4.1.0 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-spinners: 2.9.1 + 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 + dev: true + + /os-tmpdir@1.0.2: + resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} + engines: {node: '>=0.10.0'} + dev: true + + /p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + dependencies: + p-try: 2.2.0 + dev: true + + /p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + dependencies: + yocto-queue: 0.1.0 + dev: true + + /p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + dependencies: + p-limit: 2.3.0 + dev: true + + /p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + dependencies: + p-limit: 3.1.0 + dev: true + + /p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + dev: true + + /param-case@3.0.4: + resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} + dependencies: + dot-case: 3.0.4 + tslib: 2.6.2 + dev: true + + /parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + dependencies: + callsites: 3.1.0 + dev: true + + /parse-entities@2.0.0: + resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==} + dependencies: + character-entities: 1.2.4 + character-entities-legacy: 1.1.4 + character-reference-invalid: 1.1.4 + is-alphanumerical: 1.0.4 + is-decimal: 1.0.4 + is-hexadecimal: 1.0.4 + dev: true + + /parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + dependencies: + '@babel/code-frame': 7.22.13 + error-ex: 1.3.2 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + dev: true + + /parse-node-version@1.0.1: + resolution: {integrity: sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==} + engines: {node: '>= 0.10'} + dev: true + + /pascal-case@3.1.2: + resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} + dependencies: + no-case: 3.0.4 + tslib: 2.6.2 + dev: true + + /pascalcase@0.1.1: + resolution: {integrity: sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==} + engines: {node: '>=0.10.0'} + dev: true + + /path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + dev: true + + /path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + dev: true + + /path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: true + + /path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + dev: true + + /path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + dev: true + + /path-scurry@1.10.1: + resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + lru-cache: 10.0.1 + minipass: 7.0.3 + dev: true + + /path-to-regexp@6.2.1: + resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==} + dev: false + + /path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + dev: true + + /pathe@0.2.0: + resolution: {integrity: sha512-sTitTPYnn23esFR3RlqYBWn4c45WGeLcsKzQiUpXJAyfcWkolvlYpV8FLo7JishK946oQwMFUCHXQ9AjGPKExw==} + dev: true + + /pathe@1.1.1: + resolution: {integrity: sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==} + dev: true + + /perfect-debounce@1.0.0: + resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} + dev: true + + /picocolors@1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + + /picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + dev: true + + /pidtree@0.6.0: + resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} + engines: {node: '>=0.10'} + hasBin: true + dev: true + + /pify@4.0.1: + resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} + engines: {node: '>=6'} + requiresBuild: true + dev: true + optional: true + + /pinia@2.1.6(typescript@5.2.2)(vue@3.3.4): + resolution: {integrity: sha512-bIU6QuE5qZviMmct5XwCesXelb5VavdOWKWaB17ggk++NUwQWWbP5YnsONTk3b752QkW9sACiR81rorpeOMSvQ==} + peerDependencies: + '@vue/composition-api': ^1.4.0 + typescript: '>=4.4.4' + vue: ^2.6.14 || ^3.3.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + typescript: + optional: true + dependencies: + '@vue/devtools-api': 6.5.0 + typescript: 5.2.2 + vue: 3.3.4 + vue-demi: 0.14.6(vue@3.3.4) + dev: false + + /pkcs7@1.0.4: + resolution: {integrity: sha512-afRERtHn54AlwaF2/+LFszyAANTCggGilmcmILUzEjvs3XgFZT+xE6+QWQcAGmu4xajy+Xtj7acLOPdx5/eXWQ==} + hasBin: true + dependencies: + '@babel/runtime': 7.22.15 + dev: false + + /pkg-types@1.0.3: + resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} + dependencies: + jsonc-parser: 3.2.0 + mlly: 1.4.2 + pathe: 1.1.1 + dev: true + + /pluralize@8.0.0: + resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} + engines: {node: '>=4'} + dev: true + + /posix-character-classes@0.1.1: + resolution: {integrity: sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==} + engines: {node: '>=0.10.0'} + dev: true + + /postcss-html@1.5.0: + resolution: {integrity: sha512-kCMRWJRHKicpA166kc2lAVUGxDZL324bkj/pVOb6RhjB0Z5Krl7mN0AsVkBhVIRZZirY0lyQXG38HCVaoKVNoA==} + engines: {node: ^12 || >=14} + dependencies: + htmlparser2: 8.0.2 + js-tokens: 8.0.2 + postcss: 8.4.30 + postcss-safe-parser: 6.0.0(postcss@8.4.30) + dev: true + + /postcss-less@6.0.0(postcss@8.4.30): + resolution: {integrity: sha512-FPX16mQLyEjLzEuuJtxA8X3ejDLNGGEG503d2YGZR5Ask1SpDN8KmZUMpzCvyalWRywAn1n1VOA5dcqfCLo5rg==} + engines: {node: '>=12'} + peerDependencies: + postcss: ^8.3.5 + dependencies: + postcss: 8.4.30 + dev: true + + /postcss-prefix-selector@1.16.0(postcss@5.2.18): + resolution: {integrity: sha512-rdVMIi7Q4B0XbXqNUEI+Z4E+pueiu/CS5E6vRCQommzdQ/sgsS4dK42U7GX8oJR+TJOtT+Qv3GkNo6iijUMp3Q==} + peerDependencies: + postcss: '>4 <9' + dependencies: + postcss: 5.2.18 + dev: true + + /postcss-resolve-nested-selector@0.1.1: + resolution: {integrity: sha512-HvExULSwLqHLgUy1rl3ANIqCsvMS0WHss2UOsXhXnQaZ9VCc2oBvIpXrl00IUFT5ZDITME0o6oiXeiHr2SAIfw==} + dev: true + + /postcss-safe-parser@6.0.0(postcss@8.4.30): + resolution: {integrity: sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.3.3 + dependencies: + postcss: 8.4.30 + dev: true + + /postcss-selector-parser@6.0.13: + resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==} + engines: {node: '>=4'} + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + dev: true + + /postcss-sorting@8.0.2(postcss@8.4.30): + resolution: {integrity: sha512-M9dkSrmU00t/jK7rF6BZSZauA5MAaBW4i5EnJXspMwt4iqTh/L9j6fgMnbElEOfyRyfLfVbIHj/R52zHzAPe1Q==} + peerDependencies: + postcss: ^8.4.20 + dependencies: + postcss: 8.4.30 + dev: true + + /postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + dev: true + + /postcss@5.2.18: + resolution: {integrity: sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==} + engines: {node: '>=0.12'} + dependencies: + chalk: 1.1.3 + js-base64: 2.6.4 + source-map: 0.5.7 + supports-color: 3.2.3 + dev: true + + /postcss@8.4.30: + resolution: {integrity: sha512-7ZEao1g4kd68l97aWG/etQKPKq07us0ieSZ2TnFDk11i0ZfDW2AwKHYU8qv4MZKqN2fdBfg+7q0ES06UA73C1g==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.6 + picocolors: 1.0.0 + source-map-js: 1.0.2 + + /posthtml-parser@0.2.1: + resolution: {integrity: sha512-nPC53YMqJnc/+1x4fRYFfm81KV2V+G9NZY+hTohpYg64Ay7NemWWcV4UWuy/SgMupqQ3kJ88M/iRfZmSnxT+pw==} + dependencies: + htmlparser2: 3.10.1 + isobject: 2.1.0 + dev: true + + /posthtml-rename-id@1.0.12: + resolution: {integrity: sha512-UKXf9OF/no8WZo9edRzvuMenb6AD5hDLzIepJW+a4oJT+T/Lx7vfMYWT4aWlGNQh0WMhnUx1ipN9OkZ9q+ddEw==} + dependencies: + escape-string-regexp: 1.0.5 + dev: true + + /posthtml-render@1.4.0: + resolution: {integrity: sha512-W1779iVHGfq0Fvh2PROhCe2QhB8mEErgqzo1wpIt36tCgChafP+hbXIhLDOM8ePJrZcFs0vkNEtdibEWVqChqw==} + engines: {node: '>=10'} + dev: true + + /posthtml-svg-mode@1.0.3: + resolution: {integrity: sha512-hEqw9NHZ9YgJ2/0G7CECOeuLQKZi8HjWLkBaSVtOWjygQ9ZD8P7tqeowYs7WrFdKsWEKG7o+IlsPY8jrr0CJpQ==} + dependencies: + merge-options: 1.0.1 + posthtml: 0.9.2 + posthtml-parser: 0.2.1 + posthtml-render: 1.4.0 + dev: true + + /posthtml@0.9.2: + resolution: {integrity: sha512-spBB5sgC4cv2YcW03f/IAUN1pgDJWNWD8FzkyY4mArLUMJW+KlQhlmUdKAHQuPfb00Jl5xIfImeOsf6YL8QK7Q==} + engines: {node: '>=0.10.0'} + dependencies: + posthtml-parser: 0.2.1 + posthtml-render: 1.4.0 + dev: true + + /prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + dev: true + + /prettier-linter-helpers@1.0.0: + resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} + engines: {node: '>=6.0.0'} + dependencies: + fast-diff: 1.3.0 + dev: true + + /prettier@3.0.3: + resolution: {integrity: sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==} + engines: {node: '>=14'} + hasBin: true + dev: true + + /pretty-bytes@5.6.0: + resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} + engines: {node: '>=6'} + dev: true + + /pretty-bytes@6.1.1: + resolution: {integrity: sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==} + engines: {node: ^14.13.1 || >=16.0.0} + dev: true + + /print-js@1.6.0: + resolution: {integrity: sha512-BfnOIzSKbqGRtO4o0rnj/K3681BSd2QUrsIZy/+WdCIugjIswjmx3lDEZpXB2ruGf9d4b3YNINri81+J0FsBWg==} + dev: false + + /process@0.11.10: + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} + engines: {node: '>= 0.6.0'} + dev: false + + /progress@2.0.3: + resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} + engines: {node: '>=0.4.0'} + dev: true + + /promise@7.3.1: + resolution: {integrity: sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==} + dependencies: + asap: 2.0.6 + dev: false + + /proxy-from-env@1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + + /prr@1.0.1: + resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==} + requiresBuild: true + dev: true + optional: true + + /punycode@2.3.0: + resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} + engines: {node: '>=6'} + dev: true + + /qs@6.11.2: + resolution: {integrity: sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==} + engines: {node: '>=0.6'} + dependencies: + side-channel: 1.0.4 + dev: false + + /query-string@4.3.4: + resolution: {integrity: sha512-O2XLNDBIg1DnTOa+2XrIwSiXEV8h2KImXUnjhhn2+UsvZ+Es2uyd5CCRTNQlDGbzUQOW3aYCBx9rVA6dzsiY7Q==} + engines: {node: '>=0.10.0'} + dependencies: + object-assign: 4.1.1 + strict-uri-encode: 1.1.0 + dev: true + + /queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + dev: true + + /quick-lru@4.0.1: + resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} + engines: {node: '>=8'} + dev: true + + /quick-lru@5.1.1: + resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} + engines: {node: '>=10'} + dev: true + + /randombytes@2.1.0: + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + dependencies: + safe-buffer: 5.2.1 + dev: true + + /rd@2.0.1: + resolution: {integrity: sha512-/XdKU4UazUZTXFmI0dpABt8jSXPWcEyaGdk340KdHnsEOdkTctlX23aAK7ChQDn39YGNlAJr1M5uvaKt4QnpNw==} + dependencies: + '@types/node': 10.17.60 + dev: true + + /read-pkg-up@7.0.1: + resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} + engines: {node: '>=8'} + dependencies: + find-up: 4.1.0 + read-pkg: 5.2.0 + type-fest: 0.8.1 + dev: true + + /read-pkg-up@8.0.0: + resolution: {integrity: sha512-snVCqPczksT0HS2EC+SxUndvSzn6LRCwpfSvLrIfR5BKDQQZMaI6jPRC9dYvYFDRAuFEAnkwww8kBBNE/3VvzQ==} + engines: {node: '>=12'} + dependencies: + find-up: 5.0.0 + read-pkg: 6.0.0 + type-fest: 1.4.0 + dev: true + + /read-pkg@5.2.0: + resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} + engines: {node: '>=8'} + dependencies: + '@types/normalize-package-data': 2.4.2 + normalize-package-data: 2.5.0 + parse-json: 5.2.0 + type-fest: 0.6.0 + dev: true + + /read-pkg@6.0.0: + resolution: {integrity: sha512-X1Fu3dPuk/8ZLsMhEj5f4wFAF0DWoK7qhGJvgaijocXxBmSToKfbFtqbxMO7bVjNA1dmE5huAzjXj/ey86iw9Q==} + engines: {node: '>=12'} + dependencies: + '@types/normalize-package-data': 2.4.2 + normalize-package-data: 3.0.3 + parse-json: 5.2.0 + type-fest: 1.4.0 + dev: true + + /readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + dev: true + + /readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + dev: true + + /redent@3.0.0: + resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} + engines: {node: '>=8'} + dependencies: + indent-string: 4.0.0 + strip-indent: 3.0.0 + dev: true + + /redent@4.0.0: + resolution: {integrity: sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag==} + engines: {node: '>=12'} + dependencies: + indent-string: 5.0.0 + strip-indent: 4.0.0 + dev: true + + /regenerate-unicode-properties@10.1.1: + resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==} + engines: {node: '>=4'} + dependencies: + regenerate: 1.4.2 + dev: true + + /regenerate@1.4.2: + resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} + dev: true + + /regenerator-runtime@0.14.0: + resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==} + + /regenerator-transform@0.15.2: + resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} + dependencies: + '@babel/runtime': 7.22.15 + dev: true + + /regex-not@1.0.2: + resolution: {integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==} + engines: {node: '>=0.10.0'} + dependencies: + extend-shallow: 3.0.2 + safe-regex: 1.1.0 + dev: true + + /regexp-tree@0.1.27: + resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} + hasBin: true + dev: true + + /regexp.prototype.flags@1.5.1: + resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.1 + set-function-name: 2.0.1 + dev: true + + /regexpu-core@5.3.2: + resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==} + engines: {node: '>=4'} + dependencies: + '@babel/regjsgen': 0.8.0 + regenerate: 1.4.2 + regenerate-unicode-properties: 10.1.1 + regjsparser: 0.9.1 + unicode-match-property-ecmascript: 2.0.0 + unicode-match-property-value-ecmascript: 2.1.0 + dev: true + + /regjsparser@0.10.0: + resolution: {integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==} + hasBin: true + dependencies: + jsesc: 0.5.0 + dev: true + + /regjsparser@0.9.1: + resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} + hasBin: true + dependencies: + jsesc: 0.5.0 + dev: true + + /relateurl@0.2.7: + resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==} + engines: {node: '>= 0.10'} + dev: true + + /repeat-element@1.1.4: + resolution: {integrity: sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==} + engines: {node: '>=0.10.0'} + dev: true + + /repeat-string@1.6.1: + resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} + engines: {node: '>=0.10'} + dev: true + + /require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + dev: true + + /require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + dev: true + + /resize-observer-polyfill@1.5.1: + resolution: {integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==} + dev: false + + /resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + dev: true + + /resolve-from@5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + dev: true + + /resolve-global@1.0.0: + resolution: {integrity: sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==} + engines: {node: '>=8'} + dependencies: + global-dirs: 0.1.1 + dev: true + + /resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + dev: true + + /resolve-url@0.2.1: + resolution: {integrity: sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==} + deprecated: https://github.com/lydell/resolve-url#deprecated + dev: true + + /resolve@1.22.6: + resolution: {integrity: sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw==} + hasBin: true + dependencies: + is-core-module: 2.13.0 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + + /restore-cursor@3.1.0: + resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} + engines: {node: '>=8'} + dependencies: + onetime: 5.1.2 + signal-exit: 3.0.7 + dev: true + + /restore-cursor@4.0.0: + resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + onetime: 5.1.2 + signal-exit: 3.0.7 + dev: true + + /ret@0.1.15: + resolution: {integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==} + engines: {node: '>=0.12'} + dev: true + + /reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + dev: true + + /rfdc@1.3.0: + resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} + dev: true + + /rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + hasBin: true + dependencies: + glob: 7.2.3 + dev: true + + /rimraf@5.0.1: + resolution: {integrity: sha512-OfFZdwtd3lZ+XZzYP/6gTACubwFcHdLRqS9UX3UwpU2dnGQYkPFISRwvM3w9IiB2w7bW5qGo/uAwE4SmXXSKvg==} + engines: {node: '>=14'} + hasBin: true + dependencies: + glob: 10.3.6 + dev: true + + /rollup-plugin-purge-icons@0.9.1: + resolution: {integrity: sha512-hRDKBsPUz47UMdBufki2feTmBF2ClEJlYqL7N6vpVAHSLd7V2BJUaNKOF7YYbLMofVVF+9hm44YSkYO6k9hUgg==} + engines: {node: '>= 12'} + dependencies: + '@purge-icons/core': 0.9.1 + '@purge-icons/generated': 0.9.0 + transitivePeerDependencies: + - encoding + - supports-color + dev: true + + /rollup-plugin-terser@7.0.2(rollup@2.79.1): + resolution: {integrity: sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==} + deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser + peerDependencies: + rollup: ^2.0.0 + dependencies: + '@babel/code-frame': 7.22.13 + jest-worker: 26.6.2 + rollup: 2.79.1 + serialize-javascript: 4.0.0 + terser: 5.20.0 + dev: true + + /rollup-plugin-visualizer@5.9.2(rollup@3.29.3): + resolution: {integrity: sha512-waHktD5mlWrYFrhOLbti4YgQCn1uR24nYsNuXxg7LkPH8KdTXVWR9DNY1WU0QqokyMixVXJS4J04HNrVTMP01A==} + engines: {node: '>=14'} + hasBin: true + peerDependencies: + rollup: 2.x || 3.x + peerDependenciesMeta: + rollup: + optional: true + dependencies: + open: 8.4.2 + picomatch: 2.3.1 + rollup: 3.29.3 + source-map: 0.7.4 + yargs: 17.7.2 + dev: true + + /rollup@2.79.1: + resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==} + engines: {node: '>=10.0.0'} + hasBin: true + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /rollup@3.29.3: + resolution: {integrity: sha512-T7du6Hum8jOkSWetjRgbwpM6Sy0nECYrYRSmZjayFcOddtKJWU4d17AC3HNUk7HRuqy4p+G7aEZclSHytqUmEg==} + engines: {node: '>=14.18.0', npm: '>=8.0.0'} + hasBin: true + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /run-applescript@5.0.0: + resolution: {integrity: sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==} + engines: {node: '>=12'} + dependencies: + execa: 5.1.1 + dev: true + + /run-async@3.0.0: + resolution: {integrity: sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==} + engines: {node: '>=0.12.0'} + dev: true + + /run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + dependencies: + queue-microtask: 1.2.3 + dev: true + + /rust-result@1.0.0: + resolution: {integrity: sha512-6cJzSBU+J/RJCF063onnQf0cDUOHs9uZI1oroSGnHOph+CQTIJ5Pp2hK5kEQq1+7yE/EEWfulSNXAQ2jikPthA==} + dependencies: + individual: 2.0.0 + dev: false + + /rxjs@7.8.1: + resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} + dependencies: + tslib: 2.6.2 + dev: true + + /safe-array-concat@1.0.1: + resolution: {integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==} + engines: {node: '>=0.4'} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.1 + has-symbols: 1.0.3 + isarray: 2.0.5 + dev: true + + /safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + dev: true + + /safe-json-parse@4.0.0: + resolution: {integrity: sha512-RjZPPHugjK0TOzFrLZ8inw44s9bKox99/0AZW9o/BEQVrJfhI+fIHMErnPyRa89/yRXUUr93q+tiN6zhoVV4wQ==} + dependencies: + rust-result: 1.0.0 + dev: false + + /safe-regex-test@1.0.0: + resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.1 + is-regex: 1.1.4 + dev: true + + /safe-regex@1.1.0: + resolution: {integrity: sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==} + dependencies: + ret: 0.1.15 + dev: true + + /safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + dev: true + + /sax@1.2.4: + resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} + requiresBuild: true + dev: true + optional: true + + /scroll-into-view-if-needed@2.2.31: + resolution: {integrity: sha512-dGCXy99wZQivjmjIqihaBQNjryrz5rueJY7eHfTdyWEiR4ttYpsajb14rn9s5d4DY4EcY6+4+U/maARBXJedkA==} + dependencies: + compute-scroll-into-view: 1.0.20 + dev: false + + /semver@5.7.2: + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} + hasBin: true + dev: true + + /semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + dev: true + + /semver@7.5.4: + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + + /serialize-javascript@4.0.0: + resolution: {integrity: sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==} + dependencies: + randombytes: 2.1.0 + dev: true + + /set-function-name@2.0.1: + resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.0 + functions-have-names: 1.2.3 + has-property-descriptors: 1.0.0 + dev: true + + /set-value@2.0.1: + resolution: {integrity: sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==} + engines: {node: '>=0.10.0'} + dependencies: + extend-shallow: 2.0.1 + is-extendable: 0.1.1 + is-plain-object: 2.0.4 + split-string: 3.1.0 + dev: true + + /shallow-equal@1.2.1: + resolution: {integrity: sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA==} + dev: false + + /shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + dev: true + + /shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: true + + /side-channel@1.0.4: + resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.1 + object-inspect: 1.12.3 + + /signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + dev: true + + /signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + dev: true + + /sirv@2.0.3: + resolution: {integrity: sha512-O9jm9BsID1P+0HOi81VpXPoDxYP374pkOLzACAoyUQ/3OUVndNpsz6wMnY2z+yOxzbllCKZrM+9QrWsv4THnyA==} + engines: {node: '>= 10'} + dependencies: + '@polka/url': 1.0.0-next.23 + mrmime: 1.0.1 + totalist: 3.0.1 + dev: true + + /slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + dev: true + + /slice-ansi@4.0.0: + resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + astral-regex: 2.0.0 + is-fullwidth-code-point: 3.0.0 + dev: true + + /slice-ansi@5.0.0: + resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} + engines: {node: '>=12'} + dependencies: + ansi-styles: 6.2.1 + is-fullwidth-code-point: 4.0.0 + dev: true + + /snapdragon-node@2.1.1: + resolution: {integrity: sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==} + engines: {node: '>=0.10.0'} + dependencies: + define-property: 1.0.0 + isobject: 3.0.1 + snapdragon-util: 3.0.1 + dev: true + + /snapdragon-util@3.0.1: + resolution: {integrity: sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==} + engines: {node: '>=0.10.0'} + dependencies: + kind-of: 3.2.2 + dev: true + + /snapdragon@0.8.2: + resolution: {integrity: sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==} + engines: {node: '>=0.10.0'} + 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 + dev: true + + /sortablejs@1.14.0: + resolution: {integrity: sha512-pBXvQCs5/33fdN1/39pPL0NZF20LeRbLQ5jtnheIPN9JQAaufGjKdWduZn4U7wCtVuzKhmRkI0DFYHYRbB2H1w==} + dev: false + + /sortablejs@1.15.0: + resolution: {integrity: sha512-bv9qgVMjUMf89wAvM6AxVvS/4MX3sPeN0+agqShejLU5z5GX4C75ow1O2e5k4L6XItUyAK3gH6AxSbXrOM5e8w==} + dev: false + + /source-map-js@1.0.2: + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + 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 + 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 + dev: true + + /source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + dev: true + + /source-map-url@0.4.1: + resolution: {integrity: sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==} + deprecated: See https://github.com/lydell/source-map-url#deprecated + dev: true + + /source-map@0.5.7: + resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} + engines: {node: '>=0.10.0'} + dev: true + + /source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + dev: true + + /source-map@0.7.4: + resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} + engines: {node: '>= 8'} + dev: true + + /source-map@0.8.0-beta.0: + resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} + engines: {node: '>= 8'} + dependencies: + whatwg-url: 7.1.0 + dev: true + + /sourcemap-codec@1.4.8: + resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} + deprecated: Please use @jridgewell/sourcemap-codec instead + dev: true + + /spdx-correct@3.2.0: + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} + dependencies: + spdx-expression-parse: 3.0.1 + spdx-license-ids: 3.0.15 + dev: true + + /spdx-exceptions@2.3.0: + resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} + dev: true + + /spdx-expression-parse@3.0.1: + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + dependencies: + spdx-exceptions: 2.3.0 + spdx-license-ids: 3.0.15 + dev: true + + /spdx-license-ids@3.0.15: + resolution: {integrity: sha512-lpT8hSQp9jAKp9mhtBU4Xjon8LPGBvLIuBiSVhMEtmLecTh2mO0tlqrAMp47tBXzMr13NJMQ2lf7RpQGLJ3HsQ==} + dev: true + + /split-string@3.1.0: + resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==} + engines: {node: '>=0.10.0'} + dependencies: + extend-shallow: 3.0.2 + dev: true + + /split2@3.2.2: + resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==} + dependencies: + readable-stream: 3.6.2 + dev: true + + /ssf@0.11.2: + resolution: {integrity: sha512-+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g==} + engines: {node: '>=0.8'} + dependencies: + frac: 1.1.2 + dev: false + + /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' + dev: true + + /static-extend@0.1.2: + resolution: {integrity: sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==} + engines: {node: '>=0.10.0'} + dependencies: + define-property: 0.2.5 + object-copy: 0.1.0 + dev: true + + /strict-uri-encode@1.1.0: + resolution: {integrity: sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==} + engines: {node: '>=0.10.0'} + dev: true + + /string-argv@0.3.2: + resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} + engines: {node: '>=0.6.19'} + dev: true + + /string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + dev: true + + /string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.0 + dev: true + + /string.prototype.matchall@4.0.10: + resolution: {integrity: sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.1 + es-abstract: 1.22.2 + get-intrinsic: 1.2.1 + has-symbols: 1.0.3 + internal-slot: 1.0.5 + regexp.prototype.flags: 1.5.1 + set-function-name: 2.0.1 + side-channel: 1.0.4 + dev: true + + /string.prototype.trim@1.2.8: + resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.1 + es-abstract: 1.22.2 + dev: true + + /string.prototype.trimend@1.0.7: + resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.1 + es-abstract: 1.22.2 + dev: true + + /string.prototype.trimstart@1.0.7: + resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.1 + es-abstract: 1.22.2 + dev: true + + /string@3.3.3: + resolution: {integrity: sha512-LbvprpPZT/39QKfNrlPX9vXtS7If80vqbPQ7clnHQb5oVOM5hz/cs3iQCCZjvQDwsAWl+HpLQX3gRgN6IC8t3g==} + dev: false + + /string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + dependencies: + safe-buffer: 5.2.1 + dev: true + + /stringify-object@3.3.0: + resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==} + engines: {node: '>=4'} + dependencies: + get-own-enumerable-property-symbols: 3.0.2 + is-obj: 1.0.1 + is-regexp: 1.0.0 + dev: true + + /strip-ansi@3.0.1: + resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==} + engines: {node: '>=0.10.0'} + dependencies: + ansi-regex: 2.1.1 + dev: true + + /strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + dependencies: + ansi-regex: 5.0.1 + dev: true + + /strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + dependencies: + ansi-regex: 6.0.1 + dev: true + + /strip-comments@2.0.1: + resolution: {integrity: sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==} + engines: {node: '>=10'} + dev: true + + /strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + dev: true + + /strip-final-newline@3.0.0: + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} + dev: true + + /strip-indent@3.0.0: + resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} + engines: {node: '>=8'} + dependencies: + min-indent: 1.0.1 + dev: true + + /strip-indent@4.0.0: + resolution: {integrity: sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==} + engines: {node: '>=12'} + dependencies: + min-indent: 1.0.1 + dev: true + + /strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + dev: true + + /style-search@0.1.0: + resolution: {integrity: sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==} + dev: true + + /stylelint-config-html@1.1.0(postcss-html@1.5.0)(stylelint@15.10.3): + resolution: {integrity: sha512-IZv4IVESjKLumUGi+HWeb7skgO6/g4VMuAYrJdlqQFndgbj6WJAXPhaysvBiXefX79upBdQVumgYcdd17gCpjQ==} + engines: {node: ^12 || >=14} + peerDependencies: + postcss-html: ^1.0.0 + stylelint: '>=14.0.0' + dependencies: + postcss-html: 1.5.0 + stylelint: 15.10.3(typescript@5.2.2) + dev: true + + /stylelint-config-recess-order@4.3.0(stylelint@15.10.3): + resolution: {integrity: sha512-EWVtxZ8oq4/meTrRNUDrS5TqMz6TX72JjKDwVQq0JJDXE+P/o7UuFw3wWV/0O9yvJfh/da6nJY71ZUn/wSfB4g==} + peerDependencies: + stylelint: '>=15' + dependencies: + stylelint: 15.10.3(typescript@5.2.2) + stylelint-order: 6.0.3(stylelint@15.10.3) + dev: true + + /stylelint-config-recommended-vue@1.5.0(postcss-html@1.5.0)(stylelint@15.10.3): + resolution: {integrity: sha512-65TAK/clUqkNtkZLcuytoxU0URQYlml+30Nhop7sRkCZ/mtWdXt7T+spPSB3KMKlb+82aEVJ4OrcstyDBdbosg==} + engines: {node: ^12 || >=14} + peerDependencies: + postcss-html: ^1.0.0 + stylelint: '>=14.0.0' + dependencies: + postcss-html: 1.5.0 + semver: 7.5.4 + stylelint: 15.10.3(typescript@5.2.2) + stylelint-config-html: 1.1.0(postcss-html@1.5.0)(stylelint@15.10.3) + stylelint-config-recommended: 13.0.0(stylelint@15.10.3) + dev: true + + /stylelint-config-recommended@13.0.0(stylelint@15.10.3): + resolution: {integrity: sha512-EH+yRj6h3GAe/fRiyaoO2F9l9Tgg50AOFhaszyfov9v6ayXJ1IkSHwTxd7lB48FmOeSGDPLjatjO11fJpmarkQ==} + engines: {node: ^14.13.1 || >=16.0.0} + peerDependencies: + stylelint: ^15.10.0 + dependencies: + stylelint: 15.10.3(typescript@5.2.2) + dev: true + + /stylelint-config-standard@34.0.0(stylelint@15.10.3): + resolution: {integrity: sha512-u0VSZnVyW9VSryBG2LSO+OQTjN7zF9XJaAJRX/4EwkmU0R2jYwmBSN10acqZisDitS0CLiEiGjX7+Hrq8TAhfQ==} + engines: {node: ^14.13.1 || >=16.0.0} + peerDependencies: + stylelint: ^15.10.0 + dependencies: + stylelint: 15.10.3(typescript@5.2.2) + stylelint-config-recommended: 13.0.0(stylelint@15.10.3) + dev: true + + /stylelint-order@6.0.3(stylelint@15.10.3): + resolution: {integrity: sha512-1j1lOb4EU/6w49qZeT2SQVJXm0Ht+Qnq9GMfUa3pMwoyojIWfuA+JUDmoR97Bht1RLn4ei0xtLGy87M7d29B1w==} + peerDependencies: + stylelint: ^14.0.0 || ^15.0.0 + dependencies: + postcss: 8.4.30 + postcss-sorting: 8.0.2(postcss@8.4.30) + stylelint: 15.10.3(typescript@5.2.2) + dev: true + + /stylelint-prettier@4.0.2(prettier@3.0.3)(stylelint@15.10.3): + resolution: {integrity: sha512-EoHnR2PiaWgpGtoI4VW7AzneMfwmwQsNwQ+3/E2k/a+ju5yO6rfPfop4vzPQKcJN4ZM1YbspEOPu88D8538sbg==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + prettier: '>=3.0.0' + stylelint: '>=15.8.0' + dependencies: + prettier: 3.0.3 + prettier-linter-helpers: 1.0.0 + stylelint: 15.10.3(typescript@5.2.2) + dev: true + + /stylelint@15.10.3(typescript@5.2.2): + resolution: {integrity: sha512-aBQMMxYvFzJJwkmg+BUUg3YfPyeuCuKo2f+LOw7yYbU8AZMblibwzp9OV4srHVeQldxvSFdz0/Xu8blq2AesiA==} + engines: {node: ^14.13.1 || >=16.0.0} + hasBin: true + dependencies: + '@csstools/css-parser-algorithms': 2.3.1(@csstools/css-tokenizer@2.2.0) + '@csstools/css-tokenizer': 2.2.0 + '@csstools/media-query-list-parser': 2.1.4(@csstools/css-parser-algorithms@2.3.1)(@csstools/css-tokenizer@2.2.0) + '@csstools/selector-specificity': 3.0.0(postcss-selector-parser@6.0.13) + balanced-match: 2.0.0 + colord: 2.9.3 + cosmiconfig: 8.3.6(typescript@5.2.2) + css-functions-list: 3.2.0 + css-tree: 2.3.1 + debug: 4.3.4 + fast-glob: 3.3.1 + fastest-levenshtein: 1.0.16 + file-entry-cache: 6.0.1 + global-modules: 2.0.0 + globby: 11.1.0 + globjoin: 0.1.4 + html-tags: 3.3.1 + ignore: 5.2.4 + import-lazy: 4.0.0 + imurmurhash: 0.1.4 + is-plain-object: 5.0.0 + known-css-properties: 0.28.0 + mathml-tag-names: 2.1.3 + meow: 10.1.5 + micromatch: 4.0.5 + normalize-path: 3.0.0 + picocolors: 1.0.0 + postcss: 8.4.30 + postcss-resolve-nested-selector: 0.1.1 + postcss-safe-parser: 6.0.0(postcss@8.4.30) + postcss-selector-parser: 6.0.13 + postcss-value-parser: 4.2.0 + resolve-from: 5.0.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + style-search: 0.1.0 + supports-hyperlinks: 3.0.0 + svg-tags: 1.0.0 + table: 6.8.1 + write-file-atomic: 5.0.1 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /stylis@4.3.0: + resolution: {integrity: sha512-E87pIogpwUsUwXw7dNyU4QDjdgVMy52m+XEOPEKUn161cCzWjjhPSQhByfd1CcNvrOLnXQ6OnnZDwnJrz/Z4YQ==} + dev: false + + /supports-color@2.0.0: + resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==} + engines: {node: '>=0.8.0'} + dev: true + + /supports-color@3.2.3: + resolution: {integrity: sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==} + engines: {node: '>=0.8.0'} + dependencies: + has-flag: 1.0.0 + dev: true + + /supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + dependencies: + has-flag: 3.0.0 + dev: true + + /supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-hyperlinks@3.0.0: + resolution: {integrity: sha512-QBDPHyPQDRTy9ku4URNGY5Lah8PAaXs6tAAwp55sL5WCsSW7GIfdf6W5ixfziW+t7wh3GVvHyHHyQ1ESsoRvaA==} + engines: {node: '>=14.18'} + dependencies: + has-flag: 4.0.0 + supports-color: 7.2.0 + dev: true + + /supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + dev: true + + /svg-baker@1.7.0: + resolution: {integrity: sha512-nibslMbkXOIkqKVrfcncwha45f97fGuAOn1G99YwnwTj8kF9YiM6XexPcUso97NxOm6GsP0SIvYVIosBis1xLg==} + 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.0(postcss@5.2.18) + posthtml-rename-id: 1.0.12 + posthtml-svg-mode: 1.0.3 + query-string: 4.3.4 + traverse: 0.6.7 + transitivePeerDependencies: + - supports-color + dev: true + + /svg-tags@1.0.0: + resolution: {integrity: sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==} + dev: true + + /svgo@2.8.0: + resolution: {integrity: sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==} + engines: {node: '>=10.13.0'} + hasBin: true + dependencies: + '@trysound/sax': 0.2.0 + commander: 7.2.0 + css-select: 4.3.0 + css-tree: 1.1.3 + csso: 4.2.0 + picocolors: 1.0.0 + stable: 0.1.8 + dev: true + + /synckit@0.8.5: + resolution: {integrity: sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==} + engines: {node: ^14.18.0 || >=16.0.0} + dependencies: + '@pkgr/utils': 2.4.2 + tslib: 2.6.2 + dev: true + + /table@6.8.1: + resolution: {integrity: sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==} + engines: {node: '>=10.0.0'} + dependencies: + ajv: 8.12.0 + lodash.truncate: 4.4.2 + slice-ansi: 4.0.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + + /temp-dir@2.0.0: + resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==} + engines: {node: '>=8'} + dev: true + + /tempy@0.6.0: + resolution: {integrity: sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==} + engines: {node: '>=10'} + dependencies: + is-stream: 2.0.1 + temp-dir: 2.0.0 + type-fest: 0.16.0 + unique-string: 2.0.0 + dev: true + + /terser@5.20.0: + resolution: {integrity: sha512-e56ETryaQDyebBwJIWYB2TT6f2EZ0fL0sW/JRXNMN26zZdKi2u/E/5my5lG6jNxym6qsrVXfFRmOdV42zlAgLQ==} + engines: {node: '>=10'} + hasBin: true + dependencies: + '@jridgewell/source-map': 0.3.5 + acorn: 8.10.0 + commander: 2.20.3 + source-map-support: 0.5.21 + dev: true + + /text-extensions@1.9.0: + resolution: {integrity: sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==} + engines: {node: '>=0.10'} + dev: true + + /text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + dev: true + + /throttle-debounce@5.0.0: + resolution: {integrity: sha512-2iQTSgkkc1Zyk0MeVrt/3BvuOXYPl/R8Z0U2xxo9rjwNciaHDG3R+Lm6dh4EeUci49DanvBnuqI6jshoQQRGEg==} + engines: {node: '>=12.22'} + dev: false + + /through2@4.0.2: + resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==} + dependencies: + readable-stream: 3.6.2 + dev: true + + /through@2.3.8: + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + dev: true + + /tinymce@5.10.7: + resolution: {integrity: sha512-9UUjaO0R7FxcFo0oxnd1lMs7H+D0Eh+dDVo5hKbVe1a+VB0nit97vOqlinj+YwgoBDt6/DSCUoWqAYlLI8BLYA==} + dev: false + + /titleize@3.0.0: + resolution: {integrity: sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==} + engines: {node: '>=12'} + dev: true + + /tmp@0.0.33: + resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} + engines: {node: '>=0.6.0'} + dependencies: + os-tmpdir: 1.0.2 + dev: true + + /to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + + /to-object-path@0.3.0: + resolution: {integrity: sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==} + engines: {node: '>=0.10.0'} + dependencies: + kind-of: 3.2.2 + dev: true + + /to-regex-range@2.1.1: + resolution: {integrity: sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==} + engines: {node: '>=0.10.0'} + dependencies: + is-number: 3.0.0 + repeat-string: 1.6.1 + dev: true + + /to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + dependencies: + is-number: 7.0.0 + dev: true + + /to-regex@3.0.2: + resolution: {integrity: sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==} + engines: {node: '>=0.10.0'} + dependencies: + define-property: 2.0.2 + extend-shallow: 3.0.2 + regex-not: 1.0.2 + safe-regex: 1.1.0 + dev: true + + /totalist@3.0.1: + resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} + engines: {node: '>=6'} + dev: true + + /tr46@0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + dev: true + + /tr46@1.0.1: + resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} + dependencies: + punycode: 2.3.0 + dev: true + + /traverse@0.6.7: + resolution: {integrity: sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg==} + dev: true + + /trim-newlines@3.0.1: + resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} + engines: {node: '>=8'} + dev: true + + /trim-newlines@4.1.1: + resolution: {integrity: sha512-jRKj0n0jXWo6kh62nA5TEh3+4igKDXLvzBJcPpiizP7oOolUrYIxmVBG9TOtHYFHoddUk6YvAkGeGoSVTXfQXQ==} + engines: {node: '>=12'} + dev: true + + /ts-api-utils@1.0.3(typescript@5.2.2): + resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==} + engines: {node: '>=16.13.0'} + peerDependencies: + typescript: '>=4.2.0' + dependencies: + typescript: 5.2.2 + dev: true + + /ts-node@10.9.1(@types/node@20.6.4)(typescript@5.2.2): + resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} + hasBin: true + peerDependencies: + '@swc/core': '>=1.2.50' + '@swc/wasm': '>=1.2.50' + '@types/node': '*' + typescript: '>=2.7' + peerDependenciesMeta: + '@swc/core': + optional: true + '@swc/wasm': + optional: true + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.9 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.4 + '@types/node': 20.6.4 + acorn: 8.10.0 + acorn-walk: 8.2.0 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 5.2.2 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + dev: true + + /tslib@1.14.1: + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + dev: true + + /tslib@2.3.0: + resolution: {integrity: sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==} + dev: false + + /tslib@2.6.2: + resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + dev: true + + /tsutils@3.21.0(typescript@5.2.2): + resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} + engines: {node: '>= 6'} + peerDependencies: + typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' + dependencies: + tslib: 1.14.1 + typescript: 5.2.2 + dev: true + + /tsx@3.12.10: + resolution: {integrity: sha512-2+46h4xvUt1aLDNvk5YBT8Uzw+b7BolGbn7iSMucYqCXZiDc+1IMghLVdw8kKjING32JFOeO+Am9posvjkeclA==} + hasBin: true + dependencies: + '@esbuild-kit/cjs-loader': 2.4.4 + '@esbuild-kit/core-utils': 3.3.2 + '@esbuild-kit/esm-loader': 2.6.5 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + dev: true + + /type-fest@0.16.0: + resolution: {integrity: sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==} + engines: {node: '>=10'} + dev: true + + /type-fest@0.18.1: + resolution: {integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==} + engines: {node: '>=10'} + dev: true + + /type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + dev: true + + /type-fest@0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} + dev: true + + /type-fest@0.6.0: + resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} + engines: {node: '>=8'} + dev: true + + /type-fest@0.8.1: + resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} + engines: {node: '>=8'} + dev: true + + /type-fest@1.4.0: + resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} + engines: {node: '>=10'} + dev: true + + /typed-array-buffer@1.0.0: + resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.1 + is-typed-array: 1.1.12 + dev: true + + /typed-array-byte-length@1.0.0: + resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + for-each: 0.3.3 + has-proto: 1.0.1 + is-typed-array: 1.1.12 + dev: true + + /typed-array-byte-offset@1.0.0: + resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.5 + call-bind: 1.0.2 + for-each: 0.3.3 + has-proto: 1.0.1 + is-typed-array: 1.1.12 + dev: true + + /typed-array-length@1.0.4: + resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} + dependencies: + call-bind: 1.0.2 + for-each: 0.3.3 + is-typed-array: 1.1.12 + dev: true + + /typescript@5.2.2: + resolution: {integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==} + engines: {node: '>=14.17'} + hasBin: true + + /ufo@1.3.0: + resolution: {integrity: sha512-bRn3CsoojyNStCZe0BG0Mt4Nr/4KF+rhFlnNXybgqt5pXHNFRlqinSoQaTrGyzE4X8aHplSb+TorH+COin9Yxw==} + dev: true + + /unbox-primitive@1.0.2: + resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + dependencies: + call-bind: 1.0.2 + has-bigints: 1.0.2 + has-symbols: 1.0.3 + which-boxed-primitive: 1.0.2 + dev: true + + /unconfig@0.3.10: + resolution: {integrity: sha512-tj317lhIq2iZF/NXrJnU1t2UaGUKKz1eL1sK2t63Oq66V9BxqvZV12m55fp/fpQJ+DDmVlLgo7cnLVOZkhlO/A==} + dependencies: + '@antfu/utils': 0.7.6 + defu: 6.1.2 + jiti: 1.20.0 + mlly: 1.4.2 + dev: true + + /underscore@1.13.6: + resolution: {integrity: sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==} + dev: false + + /unicode-canonical-property-names-ecmascript@2.0.0: + resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} + engines: {node: '>=4'} + dev: true + + /unicode-match-property-ecmascript@2.0.0: + resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} + engines: {node: '>=4'} + dependencies: + unicode-canonical-property-names-ecmascript: 2.0.0 + unicode-property-aliases-ecmascript: 2.1.0 + dev: true + + /unicode-match-property-value-ecmascript@2.1.0: + resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==} + engines: {node: '>=4'} + dev: true + + /unicode-property-aliases-ecmascript@2.1.0: + resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} + engines: {node: '>=4'} + dev: true + + /union-value@1.0.1: + resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==} + engines: {node: '>=0.10.0'} + dependencies: + arr-union: 3.1.0 + get-value: 2.0.6 + is-extendable: 0.1.1 + set-value: 2.0.1 + dev: true + + /unique-string@2.0.0: + resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==} + engines: {node: '>=8'} + dependencies: + crypto-random-string: 2.0.0 + dev: true + + /unist-util-stringify-position@2.0.3: + resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==} + dependencies: + '@types/unist': 2.0.8 + dev: true + + /universal-user-agent@6.0.0: + resolution: {integrity: sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==} + dev: true + + /universalify@2.0.0: + resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} + engines: {node: '>= 10.0.0'} + dev: true + + /unocss@0.56.1(postcss@8.4.30)(rollup@3.29.3)(vite@4.4.9): + resolution: {integrity: sha512-jjkcyXfW90CUjN4tBV6SrHX9ifi5GQgcwAQlMRB0copJEW3ejM/nyZnRgNexaV7hi7Ao76XMVqCKbOC5B+IuOA==} + engines: {node: '>=14'} + peerDependencies: + '@unocss/webpack': 0.56.1 + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 + peerDependenciesMeta: + '@unocss/webpack': + optional: true + vite: + optional: true + dependencies: + '@unocss/astro': 0.56.1(rollup@3.29.3)(vite@4.4.9) + '@unocss/cli': 0.56.1(rollup@3.29.3) + '@unocss/core': 0.56.1 + '@unocss/extractor-arbitrary-variants': 0.56.1 + '@unocss/postcss': 0.56.1(postcss@8.4.30) + '@unocss/preset-attributify': 0.56.1 + '@unocss/preset-icons': 0.56.1 + '@unocss/preset-mini': 0.56.1 + '@unocss/preset-tagify': 0.56.1 + '@unocss/preset-typography': 0.56.1 + '@unocss/preset-uno': 0.56.1 + '@unocss/preset-web-fonts': 0.56.1 + '@unocss/preset-wind': 0.56.1 + '@unocss/reset': 0.56.1 + '@unocss/transformer-attributify-jsx': 0.56.1 + '@unocss/transformer-attributify-jsx-babel': 0.56.1 + '@unocss/transformer-compile-class': 0.56.1 + '@unocss/transformer-directives': 0.56.1 + '@unocss/transformer-variant-group': 0.56.1 + '@unocss/vite': 0.56.1(rollup@3.29.3)(vite@4.4.9) + vite: 4.4.9(@types/node@20.6.4)(less@4.2.0)(terser@5.20.0) + transitivePeerDependencies: + - postcss + - rollup + - supports-color + dev: true + + /unset-value@1.0.0: + resolution: {integrity: sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==} + engines: {node: '>=0.10.0'} + dependencies: + has-value: 0.3.1 + isobject: 3.0.1 + dev: true + + /untildify@4.0.0: + resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} + engines: {node: '>=8'} + dev: true + + /upath@1.2.0: + resolution: {integrity: sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==} + engines: {node: '>=4'} + dev: true + + /update-browserslist-db@1.0.13(browserslist@4.21.11): + resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.21.11 + escalade: 3.1.1 + picocolors: 1.0.0 + dev: true + + /uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + dependencies: + punycode: 2.3.0 + dev: true + + /urix@0.1.0: + resolution: {integrity: sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==} + deprecated: Please see https://github.com/lydell/urix#deprecated + dev: true + + /url-toolkit@2.2.5: + resolution: {integrity: sha512-mtN6xk+Nac+oyJ/PrI7tzfmomRVNFIWKUbG8jdYFt52hxbiReFAXIjYskvu64/dvuW71IcB7lV8l0HvZMac6Jg==} + dev: false + + /use@3.1.1: + resolution: {integrity: sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==} + engines: {node: '>=0.10.0'} + dev: true + + /util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + dev: true + + /v8-compile-cache-lib@3.0.1: + resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} + dev: true + + /validate-npm-package-license@3.0.4: + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + dependencies: + spdx-correct: 3.2.0 + spdx-expression-parse: 3.0.1 + dev: true + + /vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + dev: true + + /vditor@3.9.5: + resolution: {integrity: sha512-yRFyEOoJ0GQGAjfzDBV9ZKemCleqspSf3Jg3XtKVj8RwnjnF6oScLQCAwSgRzCamYl+F+rIX9at0c3tEsatY/A==} + dependencies: + diff-match-patch: 1.0.5 + dev: false + + /video-js@0.7.0: + resolution: {integrity: sha512-bnVzEmW+wHV+X4jdRVCUm85xWnLnQtOjvn6lGJMt9CmZo+gb6fNeobcnX41S2ILwSdNEz2FFXfBHy/+/v0Xbfg==} + deprecated: Your installed version of the video-js package is now under the youtube-video-js. Please use that instead + dependencies: + element-kit: 1.0.6 + promise: 7.3.1 + underscore: 1.13.6 + dev: false + + /video.js@7.21.5: + resolution: {integrity: sha512-WRq86tXZKrThA9mK+IR+v4tIQVVvnb5LhvL71fD2AX7TxVOPdaeK1X/wyuUruBqWaOG3w2sZXoMY6HF2Jlo9qA==} + dependencies: + '@babel/runtime': 7.22.15 + '@videojs/http-streaming': 2.16.2(video.js@7.21.5) + '@videojs/vhs-utils': 3.0.5 + '@videojs/xhr': 2.6.0 + aes-decrypter: 3.1.3 + global: 4.4.0 + keycode: 2.2.1 + m3u8-parser: 4.8.0 + mpd-parser: 0.22.1 + mux.js: 6.0.1 + safe-json-parse: 4.0.0 + videojs-font: 3.2.0 + videojs-vtt.js: 0.15.5 + dev: false + + /videojs-font@3.2.0: + resolution: {integrity: sha512-g8vHMKK2/JGorSfqAZQUmYYNnXmfec4MLhwtEFS+mMs2IDY398GLysy6BH6K+aS1KMNu/xWZ8Sue/X/mdQPliA==} + dev: false + + /videojs-vtt.js@0.15.5: + resolution: {integrity: sha512-yZbBxvA7QMYn15Lr/ZfhhLPrNpI/RmCSCqgIff57GC2gIrV5YfyzLfLyZMj0NnZSAz8syB4N0nHXpZg9MyrMOQ==} + dependencies: + global: 4.4.0 + dev: false + + /vite-plugin-compression@0.5.1(vite@4.4.9): + resolution: {integrity: sha512-5QJKBDc+gNYVqL/skgFAP81Yuzo9R+EAf19d+EtsMF/i8kFUpNi3J/H01QD3Oo8zBQn+NzoCIFkpPLynoOzaJg==} + peerDependencies: + vite: '>=2.0.0' + dependencies: + chalk: 4.1.2 + debug: 4.3.4 + fs-extra: 10.1.0 + vite: 4.4.9(@types/node@20.6.4)(less@4.2.0)(terser@5.20.0) + transitivePeerDependencies: + - supports-color + dev: true + + /vite-plugin-mkcert@1.16.0(vite@4.4.9): + resolution: {integrity: sha512-5r+g8SB9wZzLNUFekGwZo3e0P6QlS6rbxK5p9z/itxNAimsYohgjK/YfVPVxM9EuglP9hjridq0lUejo9v1nVg==} + engines: {node: '>=v16.7.0'} + peerDependencies: + vite: '>=3' + dependencies: + '@octokit/rest': 19.0.13 + axios: 1.5.0(debug@4.3.4) + debug: 4.3.4 + picocolors: 1.0.0 + vite: 4.4.9(@types/node@20.6.4)(less@4.2.0)(terser@5.20.0) + transitivePeerDependencies: + - encoding + - supports-color + dev: true + + /vite-plugin-progress@0.0.7(vite@4.4.9): + resolution: {integrity: sha512-zyvKdcc/X+6hnw3J1HVV1TKrlFKC4Rh8GnDnWG/2qhRXjqytTcM++xZ+SAPnoDsSyWl8O93ymK0wZRgHAoglEQ==} + engines: {node: '>=14', pnpm: '>=7.0.0'} + peerDependencies: + vite: '>2.0.0-0' + dependencies: + picocolors: 1.0.0 + progress: 2.0.3 + rd: 2.0.1 + vite: 4.4.9(@types/node@20.6.4)(less@4.2.0)(terser@5.20.0) + dev: true + + /vite-plugin-purge-icons@0.9.2(vite@4.4.9): + resolution: {integrity: sha512-vxJEMyNyckqLr/4HPsW9P6BMLUvOVMvjjFz3jLl4Wke1KWE8ITJUxIUwodxaOmEp9L2lxVk5an3TYeycZCfqFw==} + engines: {node: '>= 12'} + peerDependencies: + vite: ^2.0.0 || ^3.0.0 || ^4.0.0 + dependencies: + '@purge-icons/core': 0.9.1 + '@purge-icons/generated': 0.9.0 + rollup-plugin-purge-icons: 0.9.1 + vite: 4.4.9(@types/node@20.6.4)(less@4.2.0)(terser@5.20.0) + transitivePeerDependencies: + - encoding + - supports-color + dev: true + + /vite-plugin-pwa@0.16.5(vite@4.4.9)(workbox-build@7.0.0)(workbox-window@7.0.0): + resolution: {integrity: sha512-Ahol4dwhMP2UHPQXkllSlXbihOaDFnvBIDPmAxoSZ1EObBUJGP4CMRyCyAVkIHjd6/H+//vH0DM2ON+XxHr81g==} + engines: {node: '>=16.0.0'} + peerDependencies: + vite: ^3.1.0 || ^4.0.0 + workbox-build: ^7.0.0 + workbox-window: ^7.0.0 + dependencies: + debug: 4.3.4 + fast-glob: 3.3.1 + pretty-bytes: 6.1.1 + vite: 4.4.9(@types/node@20.6.4)(less@4.2.0)(terser@5.20.0) + workbox-build: 7.0.0 + workbox-window: 7.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /vite-plugin-svg-icons@2.0.1(vite@4.4.9): + resolution: {integrity: sha512-6ktD+DhV6Rz3VtedYvBKKVA2eXF+sAQVaKkKLDSqGUfnhqXl3bj5PPkVTl3VexfTuZy66PmINi8Q6eFnVfRUmA==} + peerDependencies: + vite: '>=2.0.0' + dependencies: + '@types/svgo': 2.6.4 + cors: 2.8.5 + debug: 4.3.4 + etag: 1.8.1 + fs-extra: 10.1.0 + pathe: 0.2.0 + svg-baker: 1.7.0 + svgo: 2.8.0 + vite: 4.4.9(@types/node@20.6.4)(less@4.2.0)(terser@5.20.0) + transitivePeerDependencies: + - supports-color + dev: true + + /vite-vue-plugin-html@1.0.2(rollup@3.29.3)(vite@4.4.9): + resolution: {integrity: sha512-MADzWRhKRXQDefI2ttVukx5NMMh+Wh9S2bhmXW4Kce4F4IfTgy5dain6KYZvS5NtqMXiTj/bURPpdaAxwrQ9DA==} + peerDependencies: + vite: '>=4.2.0' + dependencies: + '@rollup/pluginutils': 5.0.4(rollup@3.29.3) + colorette: 2.0.20 + connect-history-api-fallback: 2.0.0 + consola: 3.2.3 + dotenv: 16.3.1 + dotenv-expand: 10.0.0 + ejs: 3.1.9 + fast-glob: 3.3.1 + fs-extra: 11.1.1 + html-minifier-terser: 7.2.0 + node-html-parser: 6.1.10 + pathe: 1.1.1 + vite: 4.4.9(@types/node@20.6.4)(less@4.2.0)(terser@5.20.0) + transitivePeerDependencies: + - rollup + dev: true + + /vite@4.4.9(@types/node@20.6.4)(less@4.2.0)(terser@5.20.0): + resolution: {integrity: sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==} + engines: {node: ^14.18.0 || >=16.0.0} + hasBin: true + peerDependencies: + '@types/node': '>= 14' + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 20.6.4 + esbuild: 0.18.20 + less: 4.2.0 + postcss: 8.4.30 + rollup: 3.29.3 + terser: 5.20.0 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /vue-demi@0.14.6(vue@3.3.4): + resolution: {integrity: sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + peerDependencies: + '@vue/composition-api': ^1.0.0-rc.1 + vue: ^3.0.0-0 || ^2.6.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + dependencies: + vue: 3.3.4 + dev: false + + /vue-eslint-parser@9.3.1(eslint@8.50.0): + resolution: {integrity: sha512-Clr85iD2XFZ3lJ52/ppmUDG/spxQu6+MAeHXjjyI4I1NUYZ9xmenQp4N0oaHJhrA8OOxltCVxMRfANGa70vU0g==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '>=6.0.0' + dependencies: + debug: 4.3.4 + eslint: 8.50.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.5.0 + lodash: 4.17.21 + semver: 7.5.4 + transitivePeerDependencies: + - supports-color + dev: true + + /vue-i18n@9.4.1(vue@3.3.4): + resolution: {integrity: sha512-vnQyYE9LBuNOqPpETIcCaGnAyLEqfeIvDcyZ9T+WBCWFTqWw1J8FuF1jfeDwpHBi5JKgAwgXyq1mt8jp/x/GPA==} + engines: {node: '>= 16'} + peerDependencies: + vue: ^3.0.0 + dependencies: + '@intlify/core-base': 9.4.1 + '@intlify/shared': 9.4.1 + '@vue/devtools-api': 6.5.0 + vue: 3.3.4 + dev: false + + /vue-json-pretty@2.2.4(vue@3.3.4): + resolution: {integrity: sha512-JX80b3QDrspcH43C53CdtYeq/froApQGSV5y43bEMWFj2LGOxB96aH1VmvrFA21nD1WTP6nwfFMQqGXuS4jyFQ==} + engines: {node: '>= 10.0.0', npm: '>= 5.0.0'} + peerDependencies: + vue: '>=3.0.0' + dependencies: + vue: 3.3.4 + dev: false + + /vue-router@4.2.5(vue@3.3.4): + resolution: {integrity: sha512-DIUpKcyg4+PTQKfFPX88UWhlagBEBEfJ5A8XDXRJLUnZOvcpMF8o/dnL90vpVkGaPbjvXazV/rC1qBKrZlFugw==} + peerDependencies: + vue: ^3.2.0 + dependencies: + '@vue/devtools-api': 6.5.0 + vue: 3.3.4 + dev: false + + /vue-template-compiler@2.7.14: + resolution: {integrity: sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==} + dependencies: + de-indent: 1.0.2 + he: 1.2.0 + dev: true + + /vue-tsc@1.8.13(typescript@5.2.2): + resolution: {integrity: sha512-Hl8zUXPVK2KzPtbXeMCN0CSFkwvD96YOtYt9KvJPG9W8QGcNpGk9KHwPuGMxA8blWXSIli7gtsoC+clICEVdVg==} + hasBin: true + peerDependencies: + typescript: '*' + dependencies: + '@vue/language-core': 1.8.13(typescript@5.2.2) + '@vue/typescript': 1.8.13(typescript@5.2.2) + semver: 7.5.4 + typescript: 5.2.2 + dev: true + + /vue-types@3.0.2(vue@3.3.4): + resolution: {integrity: sha512-IwUC0Aq2zwaXqy74h4WCvFCUtoV0iSWr0snWnE9TnU18S66GAQyqQbRf2qfJtUuiFsBf6qp0MEwdonlwznlcrw==} + engines: {node: '>=10.15.0'} + peerDependencies: + vue: ^3.0.0 + dependencies: + is-plain-object: 3.0.1 + vue: 3.3.4 + dev: false + + /vue-types@5.1.1(vue@3.3.4): + resolution: {integrity: sha512-FMY/JCLWePXgGIcMDqYdJsQm1G0CDxEjq6W0+tZMJZlX37q/61eSGSIa/XFRwa9T7kkKXuxxl94/2kgxyWQqKw==} + engines: {node: '>=14.0.0'} + peerDependencies: + vue: ^2.0.0 || ^3.0.0 + peerDependenciesMeta: + vue: + optional: true + dependencies: + is-plain-object: 5.0.0 + vue: 3.3.4 + dev: false + + /vue@3.3.4: + resolution: {integrity: sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw==} + dependencies: + '@vue/compiler-dom': 3.3.4 + '@vue/compiler-sfc': 3.3.4 + '@vue/runtime-dom': 3.3.4 + '@vue/server-renderer': 3.3.4(vue@3.3.4) + '@vue/shared': 3.3.4 + + /vuedraggable@4.1.0(vue@3.3.4): + resolution: {integrity: sha512-FU5HCWBmsf20GpP3eudURW3WdWTKIbEIQxh9/8GE806hydR9qZqRRxRE3RjqX7PkuLuMQG/A7n3cfj9rCEchww==} + peerDependencies: + vue: ^3.0.1 + dependencies: + sortablejs: 1.14.0 + vue: 3.3.4 + dev: false + + /warning@4.0.3: + resolution: {integrity: sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==} + dependencies: + loose-envify: 1.4.0 + dev: false + + /wcwidth@1.0.1: + resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} + dependencies: + defaults: 1.0.4 + dev: true + + /webidl-conversions@3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + dev: true + + /webidl-conversions@4.0.2: + resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} + dev: true + + /whatwg-url@5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + dependencies: + tr46: 0.0.3 + webidl-conversions: 3.0.1 + dev: true + + /whatwg-url@7.1.0: + resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} + dependencies: + lodash.sortby: 4.7.0 + tr46: 1.0.1 + webidl-conversions: 4.0.2 + dev: true + + /which-boxed-primitive@1.0.2: + resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + dependencies: + is-bigint: 1.0.4 + is-boolean-object: 1.1.2 + is-number-object: 1.0.7 + is-string: 1.0.7 + is-symbol: 1.0.4 + dev: true + + /which-typed-array@1.1.11: + resolution: {integrity: sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.5 + call-bind: 1.0.2 + for-each: 0.3.3 + gopd: 1.0.1 + has-tostringtag: 1.0.0 + dev: true + + /which@1.3.1: + resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + + /which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + + /wmf@1.0.2: + resolution: {integrity: sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw==} + engines: {node: '>=0.8'} + dev: false + + /word@0.3.0: + resolution: {integrity: sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA==} + engines: {node: '>=0.8'} + dev: false + + /workbox-background-sync@7.0.0: + resolution: {integrity: sha512-S+m1+84gjdueM+jIKZ+I0Lx0BDHkk5Nu6a3kTVxP4fdj3gKouRNmhO8H290ybnJTOPfBDtTMXSQA/QLTvr7PeA==} + dependencies: + idb: 7.1.1 + workbox-core: 7.0.0 + dev: true + + /workbox-broadcast-update@7.0.0: + resolution: {integrity: sha512-oUuh4jzZrLySOo0tC0WoKiSg90bVAcnE98uW7F8GFiSOXnhogfNDGZelPJa+6KpGBO5+Qelv04Hqx2UD+BJqNQ==} + dependencies: + workbox-core: 7.0.0 + dev: true + + /workbox-build@7.0.0: + resolution: {integrity: sha512-CttE7WCYW9sZC+nUYhQg3WzzGPr4IHmrPnjKiu3AMXsiNQKx+l4hHl63WTrnicLmKEKHScWDH8xsGBdrYgtBzg==} + engines: {node: '>=16.0.0'} + dependencies: + '@apideck/better-ajv-errors': 0.3.6(ajv@8.12.0) + '@babel/core': 7.22.20 + '@babel/preset-env': 7.22.20(@babel/core@7.22.20) + '@babel/runtime': 7.22.15 + '@rollup/plugin-babel': 5.3.1(@babel/core@7.22.20)(rollup@2.79.1) + '@rollup/plugin-node-resolve': 11.2.1(rollup@2.79.1) + '@rollup/plugin-replace': 2.4.2(rollup@2.79.1) + '@surma/rollup-plugin-off-main-thread': 2.2.3 + ajv: 8.12.0 + common-tags: 1.8.2 + fast-json-stable-stringify: 2.1.0 + fs-extra: 9.1.0 + glob: 7.2.3 + lodash: 4.17.21 + pretty-bytes: 5.6.0 + rollup: 2.79.1 + rollup-plugin-terser: 7.0.2(rollup@2.79.1) + source-map: 0.8.0-beta.0 + stringify-object: 3.3.0 + strip-comments: 2.0.1 + tempy: 0.6.0 + upath: 1.2.0 + workbox-background-sync: 7.0.0 + workbox-broadcast-update: 7.0.0 + workbox-cacheable-response: 7.0.0 + workbox-core: 7.0.0 + workbox-expiration: 7.0.0 + workbox-google-analytics: 7.0.0 + workbox-navigation-preload: 7.0.0 + workbox-precaching: 7.0.0 + workbox-range-requests: 7.0.0 + workbox-recipes: 7.0.0 + workbox-routing: 7.0.0 + workbox-strategies: 7.0.0 + workbox-streams: 7.0.0 + workbox-sw: 7.0.0 + workbox-window: 7.0.0 + transitivePeerDependencies: + - '@types/babel__core' + - supports-color + dev: true + + /workbox-cacheable-response@7.0.0: + resolution: {integrity: sha512-0lrtyGHn/LH8kKAJVOQfSu3/80WDc9Ma8ng0p2i/5HuUndGttH+mGMSvOskjOdFImLs2XZIimErp7tSOPmu/6g==} + dependencies: + workbox-core: 7.0.0 + dev: true + + /workbox-core@7.0.0: + resolution: {integrity: sha512-81JkAAZtfVP8darBpfRTovHg8DGAVrKFgHpOArZbdFd78VqHr5Iw65f2guwjE2NlCFbPFDoez3D3/6ZvhI/rwQ==} + dev: true + + /workbox-expiration@7.0.0: + resolution: {integrity: sha512-MLK+fogW+pC3IWU9SFE+FRStvDVutwJMR5if1g7oBJx3qwmO69BNoJQVaMXq41R0gg3MzxVfwOGKx3i9P6sOLQ==} + dependencies: + idb: 7.1.1 + workbox-core: 7.0.0 + dev: true + + /workbox-google-analytics@7.0.0: + resolution: {integrity: sha512-MEYM1JTn/qiC3DbpvP2BVhyIH+dV/5BjHk756u9VbwuAhu0QHyKscTnisQuz21lfRpOwiS9z4XdqeVAKol0bzg==} + dependencies: + workbox-background-sync: 7.0.0 + workbox-core: 7.0.0 + workbox-routing: 7.0.0 + workbox-strategies: 7.0.0 + dev: true + + /workbox-navigation-preload@7.0.0: + resolution: {integrity: sha512-juWCSrxo/fiMz3RsvDspeSLGmbgC0U9tKqcUPZBCf35s64wlaLXyn2KdHHXVQrb2cqF7I0Hc9siQalainmnXJA==} + dependencies: + workbox-core: 7.0.0 + dev: true + + /workbox-precaching@7.0.0: + resolution: {integrity: sha512-EC0vol623LJqTJo1mkhD9DZmMP604vHqni3EohhQVwhJlTgyKyOkMrZNy5/QHfOby+39xqC01gv4LjOm4HSfnA==} + dependencies: + workbox-core: 7.0.0 + workbox-routing: 7.0.0 + workbox-strategies: 7.0.0 + dev: true + + /workbox-range-requests@7.0.0: + resolution: {integrity: sha512-SxAzoVl9j/zRU9OT5+IQs7pbJBOUOlriB8Gn9YMvi38BNZRbM+RvkujHMo8FOe9IWrqqwYgDFBfv6sk76I1yaQ==} + dependencies: + workbox-core: 7.0.0 + dev: true + + /workbox-recipes@7.0.0: + resolution: {integrity: sha512-DntcK9wuG3rYQOONWC0PejxYYIDHyWWZB/ueTbOUDQgefaeIj1kJ7pdP3LZV2lfrj8XXXBWt+JDRSw1lLLOnww==} + dependencies: + workbox-cacheable-response: 7.0.0 + workbox-core: 7.0.0 + workbox-expiration: 7.0.0 + workbox-precaching: 7.0.0 + workbox-routing: 7.0.0 + workbox-strategies: 7.0.0 + dev: true + + /workbox-routing@7.0.0: + resolution: {integrity: sha512-8YxLr3xvqidnbVeGyRGkaV4YdlKkn5qZ1LfEePW3dq+ydE73hUUJJuLmGEykW3fMX8x8mNdL0XrWgotcuZjIvA==} + dependencies: + workbox-core: 7.0.0 + dev: true + + /workbox-strategies@7.0.0: + resolution: {integrity: sha512-dg3qJU7tR/Gcd/XXOOo7x9QoCI9nk74JopaJaYAQ+ugLi57gPsXycVdBnYbayVj34m6Y8ppPwIuecrzkpBVwbA==} + dependencies: + workbox-core: 7.0.0 + dev: true + + /workbox-streams@7.0.0: + resolution: {integrity: sha512-moVsh+5to//l6IERWceYKGiftc+prNnqOp2sgALJJFbnNVpTXzKISlTIsrWY+ogMqt+x1oMazIdHj25kBSq/HQ==} + dependencies: + workbox-core: 7.0.0 + workbox-routing: 7.0.0 + dev: true + + /workbox-sw@7.0.0: + resolution: {integrity: sha512-SWfEouQfjRiZ7GNABzHUKUyj8pCoe+RwjfOIajcx6J5mtgKkN+t8UToHnpaJL5UVVOf5YhJh+OHhbVNIHe+LVA==} + dev: true + + /workbox-window@7.0.0: + resolution: {integrity: sha512-j7P/bsAWE/a7sxqTzXo3P2ALb1reTfZdvVp6OJ/uLr/C2kZAMvjeWGm8V4htQhor7DOvYg0sSbFN2+flT5U0qA==} + dependencies: + '@types/trusted-types': 2.0.4 + workbox-core: 7.0.0 + dev: true + + /wrap-ansi@6.2.0: + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + + /wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + + /wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + dependencies: + ansi-styles: 6.2.1 + string-width: 5.1.2 + strip-ansi: 7.1.0 + dev: true + + /wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + dev: true + + /write-file-atomic@5.0.1: + resolution: {integrity: sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + imurmurhash: 0.1.4 + signal-exit: 4.1.0 + dev: true + + /xlsx@0.18.5: + resolution: {integrity: sha512-dmg3LCjBPHZnQp5/F/+nnTa+miPJxUXB6vtk42YjBBKayDNagxGEeIdWApkYPOf3Z3pm3k62Knjzp7lMeTEtFQ==} + engines: {node: '>=0.8'} + hasBin: true + 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 + dev: false + + /xml-name-validator@4.0.0: + resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} + engines: {node: '>=12'} + dev: true + + /y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + dev: true + + /yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + dev: true + + /yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + dev: true + + /yaml-eslint-parser@1.2.2: + resolution: {integrity: sha512-pEwzfsKbTrB8G3xc/sN7aw1v6A6c/pKxLAkjclnAyo5g5qOh6eL9WGu0o3cSDQZKrTNk4KL4lQSwZW+nBkANEg==} + engines: {node: ^14.17.0 || >=16.0.0} + dependencies: + eslint-visitor-keys: 3.4.3 + lodash: 4.17.21 + yaml: 2.3.2 + dev: true + + /yaml@2.3.1: + resolution: {integrity: sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==} + engines: {node: '>= 14'} + dev: true + + /yaml@2.3.2: + resolution: {integrity: sha512-N/lyzTPaJasoDmfV7YTrYCI0G/3ivm/9wdG0aHuheKowWQwGTsK0Eoiw6utmzAnI6pkJa0DUVygvp3spqqEKXg==} + engines: {node: '>= 14'} + dev: true + + /yargs-parser@20.2.9: + resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} + engines: {node: '>=10'} + dev: true + + /yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + dev: true + + /yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + dependencies: + cliui: 8.0.1 + escalade: 3.1.1 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + dev: true + + /yn@3.1.1: + resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} + engines: {node: '>=6'} + dev: true + + /yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + dev: true + + /zrender@5.4.4: + resolution: {integrity: sha512-0VxCNJ7AGOMCWeHVyTrGzUgrK4asT4ml9PEkeGirAkKNYXYzoPJCLvmyfdoOXcjTHPs10OZVMfD1Rwg16AZyYw==} + dependencies: + tslib: 2.3.0 + dev: false diff --git a/yunxi-ui-admin-vben/public/favicon.ico b/yunxi-ui-admin-vben/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..522fa268888771f5112509cfb0b6b53e52a6331b GIT binary patch literal 4286 zcmchZ4OCM{7RPS_Cn{DzbS;LgrJ&ZLRhHUf#R@9A9@JVtpe?l)t5&yFmaVL=idw`L z0#X!8(Pddw1Vm&td>UiG6k_-=B53V)t&5yiF@})jg;XtsyLS@V!*awPH=I7skC``< zng857_s%>39{qWG0{agqTmi-az$Aj2Ac$b?)`$9@_EGHwkvs~V`i@KR{Ow#qO-Km8 zzI}sLZ`=odm-j*SrM-Z)yTDSt4brpbxcEKNL@EgpCOq$9p?WUWg@dJiISxcuK8JX9 z9Awq+hJ59Am{A!8uU7sEB;{)bx>L(sasNaQO!Rig{V$Hh(d9w5B$E~5G zeB?M?xr^v=eZ6hX@i3I^9NPQdzm!FS@O&iX&^j!t9f0as9-avwhN;sTj`-zkeEia% z${GCZn@2`@k)AJ`qrKFDuPYmxtt)jf>58r4@IO)`&G2*C0UfQo3qf|Wcx6v)HOV8FjE09MNH z6!O#Biy@|6Vza6J3`mJwCQke1*t-bQ4kNO^OM#N>NsvZ+zJUC$X!w-&JqEDmFMt=e zK+CyJu)O?3m|eOa20TJY$R{VL?ZjKuA8sYqy+L+|kk97> z9uDGRL8#3)Y=4T$Cpn9p;z-kr%|~U7*xOxvD2O+Ow7bY2O@Eyyy_>He@-;Q?x~-Q_ zFS=6zvvb~r5VE^0>-T_voeP-pI*-L49$(6{`swT+0Hq&6The%s3i7*X|0K6@=>ZNg z$Cd)0VyBJvR{tcu$Mw+~rV@IiayjaX9i>J)%ywN9u_Nq;?#+EarZKiztzt7Ij=0vf% zIT1~lwxF)m728Y67iB}7Q>HmBq%+AZ_8yC0`MVWfc>49cMt7sjJw&{xEHy)&Dbt+X1-9iVA z`_+VagJOxBUOq$GA@v?T;KWbSVN&m0O^^?^qp@Zcwx1q?x{BXacbpXp#9qQp6mxhu zzy-fab;5ripDkxo>&i!l=}HB%r;r)&r(9j6fUEyRW2%oru09g=@&NL~5bTgXcaROD zyGcgtz)Smh_`}J-A6OfmhkQDVG;}6}uy=bOu6AP0_Mf>1p(aU^h zCXOHLLwjJ6ZV=#)g)iT~M>)&%?&U+%y*v=xtIft6FTVegQMnq8%2h-->Z<}#Cjs)o z1QqKi9~9*+9)Y({dZFexWNMDVR>DF=uzq_VLv`qCV|6GRt5=}m>t$$AEG7GgqpsWy z^_2lZiQdBCL;j=iPM-6_yGLOXQKUHnahjvRw^y5uHz*dz5@@&(LM%i>)dK7|=SBL? z6c7HnX|IfMOn&iM?VTK6+hFMRox@Ny$H`DNuSH)qhinZbW)U+J7kjyAEuASua~npjB3r`W!R&s zubS&gIn zP3Ray^)e}oZ=1c$)|VdHO7@=jrS<@d|GC6GBG`(t=B@OKKL+{SJpyj_=(Dk$@;yG~ zT8yE3WtT19Sj;W5!D3Lc{hrVg#|q2AzSN6>3+lqq}KSmAzU6jprJ+IGP%w zW4Zb$3s?6s)3V-$>^|h`H>0Ux3!2p1D+U@rSnZwaoxvvc4vnc{D`{>c%^0Nb1N`aR zOzdnDTfeynOKYHcIvZn!^evz;UroWE{*{9dS|s@J$4WFe?;n(VW+2_Z?dGP>9nDSR z`1>~tEI(^6W0&>{(tAYT-~1YNvN_~_OOf_xO)Z+QCQtn}H2Z7NH>${dEv>|S?cfvd zIqXL4aSg=oi02S*4avR;yv77y;N1fF6z@VbnqU?_xFEvrsOPcUeH!*W^DLsk1CdWS oj75wcPNX41wv`@e!3RKd!5%92U^mf2AmajYi!dNEVeG;G034l#KmY&$ literal 0 HcmV?d00001 diff --git a/yunxi-ui-admin-vben/public/resource/img/logo.png b/yunxi-ui-admin-vben/public/resource/img/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..3a9cd65c155f4cc0f49006871b60cb3ef9b37d16 GIT binary patch literal 9360 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 KMNUMnLSTXx#LXK3 literal 0 HcmV?d00001 diff --git a/yunxi-ui-admin-vben/public/resource/img/pwa-512x512.png b/yunxi-ui-admin-vben/public/resource/img/pwa-512x512.png new file mode 100644 index 0000000000000000000000000000000000000000..314fa529584cc98b39f5857de9c61840620b7283 GIT binary patch literal 59425 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 z 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 JLe=ig{{hr59321v literal 0 HcmV?d00001 diff --git a/yunxi-ui-admin-vben/public/resource/img/wx.png b/yunxi-ui-admin-vben/public/resource/img/wx.png new file mode 100644 index 0000000000000000000000000000000000000000..d56ec6ad3617415e1d9f273fa0971b2e7328fb80 GIT binary patch literal 177785 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 literal 0 HcmV?d00001 diff --git a/yunxi-ui-admin-vben/public/resource/img/wx2.png b/yunxi-ui-admin-vben/public/resource/img/wx2.png new file mode 100644 index 0000000000000000000000000000000000000000..9ff8d18ff87416a3a2cbdaf88b95dadab85e9d05 GIT binary patch literal 138181 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 \ No newline at end of file diff --git a/yunxi-ui-admin-vben/src/assets/images/pay/icon/alipay_bar.svg b/yunxi-ui-admin-vben/src/assets/images/pay/icon/alipay_bar.svg new file mode 100644 index 0000000..eb1e1e8 --- /dev/null +++ b/yunxi-ui-admin-vben/src/assets/images/pay/icon/alipay_bar.svg @@ -0,0 +1,2 @@ + diff --git a/yunxi-ui-admin-vben/src/assets/images/pay/icon/alipay_pc.svg b/yunxi-ui-admin-vben/src/assets/images/pay/icon/alipay_pc.svg new file mode 100644 index 0000000..2a75277 --- /dev/null +++ b/yunxi-ui-admin-vben/src/assets/images/pay/icon/alipay_pc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/yunxi-ui-admin-vben/src/assets/images/pay/icon/alipay_qr.svg b/yunxi-ui-admin-vben/src/assets/images/pay/icon/alipay_qr.svg new file mode 100644 index 0000000..4833750 --- /dev/null +++ b/yunxi-ui-admin-vben/src/assets/images/pay/icon/alipay_qr.svg @@ -0,0 +1,2 @@ + \ No newline at end of file diff --git a/yunxi-ui-admin-vben/src/assets/images/pay/icon/alipay_wap.svg b/yunxi-ui-admin-vben/src/assets/images/pay/icon/alipay_wap.svg new file mode 100644 index 0000000..87075db --- /dev/null +++ b/yunxi-ui-admin-vben/src/assets/images/pay/icon/alipay_wap.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/yunxi-ui-admin-vben/src/assets/images/pay/icon/mock.svg b/yunxi-ui-admin-vben/src/assets/images/pay/icon/mock.svg new file mode 100644 index 0000000..27b09ea --- /dev/null +++ b/yunxi-ui-admin-vben/src/assets/images/pay/icon/mock.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/yunxi-ui-admin-vben/src/assets/images/pay/icon/wx_app.svg b/yunxi-ui-admin-vben/src/assets/images/pay/icon/wx_app.svg new file mode 100644 index 0000000..ad40b2a --- /dev/null +++ b/yunxi-ui-admin-vben/src/assets/images/pay/icon/wx_app.svg @@ -0,0 +1,2 @@ + \ No newline at end of file diff --git a/yunxi-ui-admin-vben/src/assets/images/pay/icon/wx_lite.svg b/yunxi-ui-admin-vben/src/assets/images/pay/icon/wx_lite.svg new file mode 100644 index 0000000..0c925cf --- /dev/null +++ b/yunxi-ui-admin-vben/src/assets/images/pay/icon/wx_lite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/yunxi-ui-admin-vben/src/assets/images/pay/icon/wx_pub.svg b/yunxi-ui-admin-vben/src/assets/images/pay/icon/wx_pub.svg new file mode 100644 index 0000000..3a6d15b --- /dev/null +++ b/yunxi-ui-admin-vben/src/assets/images/pay/icon/wx_pub.svg @@ -0,0 +1,2 @@ + \ No newline at end of file diff --git a/yunxi-ui-admin-vben/src/assets/images/test/w100h100.png b/yunxi-ui-admin-vben/src/assets/images/test/w100h100.png new file mode 100644 index 0000000000000000000000000000000000000000..d359d8ffeceee4677030d20800f3589dcfc36999 GIT binary patch literal 22985 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 QVgLXD07*qoM6N<$f=@_y0ssI2 literal 0 HcmV?d00001 diff --git a/yunxi-ui-admin-vben/src/assets/svg/illustration.svg b/yunxi-ui-admin-vben/src/assets/svg/illustration.svg new file mode 100644 index 0000000..b45215b --- /dev/null +++ b/yunxi-ui-admin-vben/src/assets/svg/illustration.svg @@ -0,0 +1 @@ +Asset 336 \ No newline at end of file diff --git a/yunxi-ui-admin-vben/src/assets/svg/login-bg-dark.svg b/yunxi-ui-admin-vben/src/assets/svg/login-bg-dark.svg new file mode 100644 index 0000000..888da7a --- /dev/null +++ b/yunxi-ui-admin-vben/src/assets/svg/login-bg-dark.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/yunxi-ui-admin-vben/src/assets/svg/login-bg.svg b/yunxi-ui-admin-vben/src/assets/svg/login-bg.svg new file mode 100644 index 0000000..7b66baf --- /dev/null +++ b/yunxi-ui-admin-vben/src/assets/svg/login-bg.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/yunxi-ui-admin-vben/src/assets/svg/login-box-bg.svg b/yunxi-ui-admin-vben/src/assets/svg/login-box-bg.svg new file mode 100644 index 0000000..ee7dbdc --- /dev/null +++ b/yunxi-ui-admin-vben/src/assets/svg/login-box-bg.svg @@ -0,0 +1 @@ +responsive \ No newline at end of file diff --git a/yunxi-ui-admin-vben/src/assets/svg/net-error.svg b/yunxi-ui-admin-vben/src/assets/svg/net-error.svg new file mode 100644 index 0000000..81f2004 --- /dev/null +++ b/yunxi-ui-admin-vben/src/assets/svg/net-error.svg @@ -0,0 +1 @@ +personal settings \ No newline at end of file diff --git a/yunxi-ui-admin-vben/src/assets/svg/no-data.svg b/yunxi-ui-admin-vben/src/assets/svg/no-data.svg new file mode 100644 index 0000000..2b9f257 --- /dev/null +++ b/yunxi-ui-admin-vben/src/assets/svg/no-data.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/yunxi-ui-admin-vben/src/assets/svg/preview/p-rotate.svg b/yunxi-ui-admin-vben/src/assets/svg/preview/p-rotate.svg new file mode 100644 index 0000000..5153a81 --- /dev/null +++ b/yunxi-ui-admin-vben/src/assets/svg/preview/p-rotate.svg @@ -0,0 +1 @@ + diff --git a/yunxi-ui-admin-vben/src/assets/svg/preview/resume.svg b/yunxi-ui-admin-vben/src/assets/svg/preview/resume.svg new file mode 100644 index 0000000..0e86c5f --- /dev/null +++ b/yunxi-ui-admin-vben/src/assets/svg/preview/resume.svg @@ -0,0 +1 @@ + diff --git a/yunxi-ui-admin-vben/src/assets/svg/preview/scale.svg b/yunxi-ui-admin-vben/src/assets/svg/preview/scale.svg new file mode 100644 index 0000000..1f7adae --- /dev/null +++ b/yunxi-ui-admin-vben/src/assets/svg/preview/scale.svg @@ -0,0 +1 @@ + diff --git a/yunxi-ui-admin-vben/src/assets/svg/preview/unrotate.svg b/yunxi-ui-admin-vben/src/assets/svg/preview/unrotate.svg new file mode 100644 index 0000000..e4708be --- /dev/null +++ b/yunxi-ui-admin-vben/src/assets/svg/preview/unrotate.svg @@ -0,0 +1 @@ + diff --git a/yunxi-ui-admin-vben/src/assets/svg/preview/unscale.svg b/yunxi-ui-admin-vben/src/assets/svg/preview/unscale.svg new file mode 100644 index 0000000..1359b34 --- /dev/null +++ b/yunxi-ui-admin-vben/src/assets/svg/preview/unscale.svg @@ -0,0 +1 @@ + diff --git a/yunxi-ui-admin-vben/src/components/Application/index.ts b/yunxi-ui-admin-vben/src/components/Application/index.ts new file mode 100644 index 0000000..d7ffa26 --- /dev/null +++ b/yunxi-ui-admin-vben/src/components/Application/index.ts @@ -0,0 +1,16 @@ +import appLogo from './src/AppLogo.vue' +import appProvider from './src/AppProvider.vue' +import appSearch from './src/search/AppSearch.vue' +import appSizePicker from './src/AppSizePicker.vue' +import appLocalePicker from './src/AppLocalePicker.vue' +import appDarkModeToggle from './src/AppDarkModeToggle.vue' +import { withInstall } from '@/utils' + +export { useAppProviderContext } from './src/useAppContext' + +export const AppLogo = withInstall(appLogo) +export const AppProvider = withInstall(appProvider) +export const AppSearch = withInstall(appSearch) +export const AppSizePicker = withInstall(appSizePicker) +export const AppLocalePicker = withInstall(appLocalePicker) +export const AppDarkModeToggle = withInstall(appDarkModeToggle) diff --git a/yunxi-ui-admin-vben/src/components/Application/src/AppDarkModeToggle.vue b/yunxi-ui-admin-vben/src/components/Application/src/AppDarkModeToggle.vue new file mode 100644 index 0000000..1a51fca --- /dev/null +++ b/yunxi-ui-admin-vben/src/components/Application/src/AppDarkModeToggle.vue @@ -0,0 +1,80 @@ + + + + + diff --git a/yunxi-ui-admin-vben/src/components/Application/src/AppLocalePicker.vue b/yunxi-ui-admin-vben/src/components/Application/src/AppLocalePicker.vue new file mode 100644 index 0000000..d9ae5e6 --- /dev/null +++ b/yunxi-ui-admin-vben/src/components/Application/src/AppLocalePicker.vue @@ -0,0 +1,73 @@ + + + + + diff --git a/yunxi-ui-admin-vben/src/components/Application/src/AppLogo.vue b/yunxi-ui-admin-vben/src/components/Application/src/AppLogo.vue new file mode 100644 index 0000000..c1917db --- /dev/null +++ b/yunxi-ui-admin-vben/src/components/Application/src/AppLogo.vue @@ -0,0 +1,75 @@ + + + + + diff --git a/yunxi-ui-admin-vben/src/components/Application/src/AppProvider.vue b/yunxi-ui-admin-vben/src/components/Application/src/AppProvider.vue new file mode 100644 index 0000000..f3b3cae --- /dev/null +++ b/yunxi-ui-admin-vben/src/components/Application/src/AppProvider.vue @@ -0,0 +1,78 @@ + diff --git a/yunxi-ui-admin-vben/src/components/Application/src/AppSizePicker.vue b/yunxi-ui-admin-vben/src/components/Application/src/AppSizePicker.vue new file mode 100644 index 0000000..fc9103f --- /dev/null +++ b/yunxi-ui-admin-vben/src/components/Application/src/AppSizePicker.vue @@ -0,0 +1,69 @@ + + + + + diff --git a/yunxi-ui-admin-vben/src/components/Application/src/search/AppSearch.vue b/yunxi-ui-admin-vben/src/components/Application/src/search/AppSearch.vue new file mode 100644 index 0000000..69f64a8 --- /dev/null +++ b/yunxi-ui-admin-vben/src/components/Application/src/search/AppSearch.vue @@ -0,0 +1,33 @@ + diff --git a/yunxi-ui-admin-vben/src/components/Application/src/search/AppSearchFooter.vue b/yunxi-ui-admin-vben/src/components/Application/src/search/AppSearchFooter.vue new file mode 100644 index 0000000..2b44980 --- /dev/null +++ b/yunxi-ui-admin-vben/src/components/Application/src/search/AppSearchFooter.vue @@ -0,0 +1,48 @@ + + + + + diff --git a/yunxi-ui-admin-vben/src/components/Application/src/search/AppSearchKeyItem.vue b/yunxi-ui-admin-vben/src/components/Application/src/search/AppSearchKeyItem.vue new file mode 100644 index 0000000..6dfa964 --- /dev/null +++ b/yunxi-ui-admin-vben/src/components/Application/src/search/AppSearchKeyItem.vue @@ -0,0 +1,13 @@ + + + diff --git a/yunxi-ui-admin-vben/src/components/Application/src/search/AppSearchModal.vue b/yunxi-ui-admin-vben/src/components/Application/src/search/AppSearchModal.vue new file mode 100644 index 0000000..006c977 --- /dev/null +++ b/yunxi-ui-admin-vben/src/components/Application/src/search/AppSearchModal.vue @@ -0,0 +1,257 @@ + + + + + diff --git a/yunxi-ui-admin-vben/src/components/Application/src/search/useMenuSearch.ts b/yunxi-ui-admin-vben/src/components/Application/src/search/useMenuSearch.ts new file mode 100644 index 0000000..ac508f5 --- /dev/null +++ b/yunxi-ui-admin-vben/src/components/Application/src/search/useMenuSearch.ts @@ -0,0 +1,167 @@ +import type { Ref } from 'vue' +import { nextTick, onBeforeMount, ref, unref } from 'vue' +import { cloneDeep } from 'lodash-es' +import { onKeyStroke, useDebounceFn } from '@vueuse/core' +import type { Menu } from '@/router/types' +import { getMenus } from '@/router/menus' +import { filter, forEach } from '@/utils/helper/treeHelper' +import { useGo } from '@/hooks/web/usePage' +import { useScrollTo } from '@/hooks/event/useScrollTo' +import { useI18n } from '@/hooks/web/useI18n' + +export interface SearchResult { + name: string + path: string + icon?: string +} + +// Translate special characters +function transform(c: string) { + const code: string[] = ['$', '(', ')', '*', '+', '.', '[', ']', '?', '\\', '^', '{', '}', '|'] + return code.includes(c) ? `\\${c}` : c +} + +function createSearchReg(key: string) { + const keys = [...key].map(item => transform(item)) + const str = ['', ...keys, ''].join('.*') + return new RegExp(str) +} + +export function useMenuSearch(refs: Ref, scrollWrap: Ref, emit: EmitType) { + const searchResult = ref([]) + const keyword = ref('') + const activeIndex = ref(-1) + + let menuList: Menu[] = [] + + const { t } = useI18n() + const go = useGo() + const handleSearch = useDebounceFn(search, 200) + + onBeforeMount(async () => { + const list = await getMenus() + menuList = cloneDeep(list) + forEach(menuList, (item) => { + item.name = t(item.name) + }) + }) + + function search(e: ChangeEvent) { + e?.stopPropagation() + const key = e.target.value + keyword.value = key.trim() + if (!key) { + searchResult.value = [] + return + } + const reg = createSearchReg(unref(keyword)) + const filterMenu = filter(menuList, (item) => { + return reg.test(item.name) && !item.hideMenu + }) + searchResult.value = handlerSearchResult(filterMenu, reg) + activeIndex.value = 0 + } + + function handlerSearchResult(filterMenu: Menu[], reg: RegExp, parent?: Menu) { + const ret: SearchResult[] = [] + filterMenu.forEach((item) => { + const { name, path, icon, children, hideMenu, meta } = item + if (!hideMenu && reg.test(name) && (!children?.length || meta?.hideChildrenInMenu)) { + ret.push({ + name: parent?.name ? `${parent.name} > ${name}` : name, + path, + icon, + }) + } + if (!meta?.hideChildrenInMenu && Array.isArray(children) && children.length) + ret.push(...handlerSearchResult(children, reg, item)) + }) + return ret + } + + // Activate when the mouse moves to a certain line + function handleMouseenter(e: any) { + const index = e.target.dataset.index + activeIndex.value = Number(index) + } + + // Arrow key up + function handleUp() { + if (!searchResult.value.length) + return + activeIndex.value-- + if (activeIndex.value < 0) + activeIndex.value = searchResult.value.length - 1 + + handleScroll() + } + + // Arrow key down + function handleDown() { + if (!searchResult.value.length) + return + activeIndex.value++ + if (activeIndex.value > searchResult.value.length - 1) + activeIndex.value = 0 + + handleScroll() + } + + // When the keyboard up and down keys move to an invisible place + // the scroll bar needs to scroll automatically + function handleScroll() { + const refList = unref(refs) + if (!refList || !Array.isArray(refList) || refList.length === 0 || !unref(scrollWrap)) + return + + const index = unref(activeIndex) + const currentRef = refList[index] + if (!currentRef) + return + + const wrapEl = unref(scrollWrap) + if (!wrapEl) + return + + const scrollHeight = currentRef.offsetTop + currentRef.offsetHeight + const wrapHeight = wrapEl.offsetHeight + const { start } = useScrollTo({ + el: wrapEl, + duration: 100, + to: scrollHeight - wrapHeight, + }) + start() + } + + // enter keyboard event + async function handleEnter() { + if (!searchResult.value.length) + return + + const result = unref(searchResult) + const index = unref(activeIndex) + if (result.length === 0 || index < 0) + return + + const to = result[index] + handleClose() + await nextTick() + go(to.path) + } + + // close search modal + function handleClose() { + searchResult.value = [] + emit('close') + } + + // enter search + onKeyStroke('Enter', handleEnter) + // Monitor keyboard arrow keys + onKeyStroke('ArrowUp', handleUp) + onKeyStroke('ArrowDown', handleDown) + // esc close + onKeyStroke('Escape', handleClose) + + return { handleSearch, searchResult, keyword, activeIndex, handleMouseenter, handleEnter } +} diff --git a/yunxi-ui-admin-vben/src/components/Application/src/useAppContext.ts b/yunxi-ui-admin-vben/src/components/Application/src/useAppContext.ts new file mode 100644 index 0000000..2152e02 --- /dev/null +++ b/yunxi-ui-admin-vben/src/components/Application/src/useAppContext.ts @@ -0,0 +1,17 @@ +import type { InjectionKey, Ref } from 'vue' +import { createContext, useContext } from '@/hooks/core/useContext' + +export interface AppProviderContextProps { + prefixCls: Ref + isMobile: Ref +} + +const key: InjectionKey = Symbol('app-context') + +export function createAppProviderContext(context: AppProviderContextProps) { + return createContext(context, key) +} + +export function useAppProviderContext() { + return useContext(key) +} diff --git a/yunxi-ui-admin-vben/src/components/Authority/index.ts b/yunxi-ui-admin-vben/src/components/Authority/index.ts new file mode 100644 index 0000000..5e86cc5 --- /dev/null +++ b/yunxi-ui-admin-vben/src/components/Authority/index.ts @@ -0,0 +1,4 @@ +import authority from './src/Authority.vue' +import { withInstall } from '@/utils' + +export const Authority = withInstall(authority) diff --git a/yunxi-ui-admin-vben/src/components/Authority/src/Authority.vue b/yunxi-ui-admin-vben/src/components/Authority/src/Authority.vue new file mode 100644 index 0000000..2ba3e26 --- /dev/null +++ b/yunxi-ui-admin-vben/src/components/Authority/src/Authority.vue @@ -0,0 +1,44 @@ + + diff --git a/yunxi-ui-admin-vben/src/components/Basic/index.ts b/yunxi-ui-admin-vben/src/components/Basic/index.ts new file mode 100644 index 0000000..bd292e9 --- /dev/null +++ b/yunxi-ui-admin-vben/src/components/Basic/index.ts @@ -0,0 +1,8 @@ +import basicArrow from './src/BasicArrow.vue' +import basicTitle from './src/BasicTitle.vue' +import basicHelp from './src/BasicHelp.vue' +import { withInstall } from '@/utils' + +export const BasicArrow = withInstall(basicArrow) +export const BasicTitle = withInstall(basicTitle) +export const BasicHelp = withInstall(basicHelp) diff --git a/yunxi-ui-admin-vben/src/components/Basic/src/BasicArrow.vue b/yunxi-ui-admin-vben/src/components/Basic/src/BasicArrow.vue new file mode 100644 index 0000000..4445e0e --- /dev/null +++ b/yunxi-ui-admin-vben/src/components/Basic/src/BasicArrow.vue @@ -0,0 +1,82 @@ + + + + + diff --git a/yunxi-ui-admin-vben/src/components/Basic/src/BasicHelp.vue b/yunxi-ui-admin-vben/src/components/Basic/src/BasicHelp.vue new file mode 100644 index 0000000..8990fdb --- /dev/null +++ b/yunxi-ui-admin-vben/src/components/Basic/src/BasicHelp.vue @@ -0,0 +1,96 @@ + + + diff --git a/yunxi-ui-admin-vben/src/components/Basic/src/BasicTitle.vue b/yunxi-ui-admin-vben/src/components/Basic/src/BasicTitle.vue new file mode 100644 index 0000000..6c4fb6f --- /dev/null +++ b/yunxi-ui-admin-vben/src/components/Basic/src/BasicTitle.vue @@ -0,0 +1,75 @@ + + + + + diff --git a/yunxi-ui-admin-vben/src/components/Button/index.ts b/yunxi-ui-admin-vben/src/components/Button/index.ts new file mode 100644 index 0000000..005b210 --- /dev/null +++ b/yunxi-ui-admin-vben/src/components/Button/index.ts @@ -0,0 +1,9 @@ +import type { ExtractPropTypes } from 'vue' +import button from './src/BasicButton.vue' +import popConfirmButton from './src/PopConfirmButton.vue' +import type { buttonProps } from './src/props' +import { withInstall } from '@/utils' + +export const Button = withInstall(button) +export const PopConfirmButton = withInstall(popConfirmButton) +export declare type ButtonProps = Partial> diff --git a/yunxi-ui-admin-vben/src/components/Button/src/BasicButton.vue b/yunxi-ui-admin-vben/src/components/Button/src/BasicButton.vue new file mode 100644 index 0000000..bc0d535 --- /dev/null +++ b/yunxi-ui-admin-vben/src/components/Button/src/BasicButton.vue @@ -0,0 +1,35 @@ + + + diff --git a/yunxi-ui-admin-vben/src/components/Button/src/PopConfirmButton.vue b/yunxi-ui-admin-vben/src/components/Button/src/PopConfirmButton.vue new file mode 100644 index 0000000..22879ad --- /dev/null +++ b/yunxi-ui-admin-vben/src/components/Button/src/PopConfirmButton.vue @@ -0,0 +1,55 @@ + diff --git a/yunxi-ui-admin-vben/src/components/Button/src/props.ts b/yunxi-ui-admin-vben/src/components/Button/src/props.ts new file mode 100644 index 0000000..d2a9a5b --- /dev/null +++ b/yunxi-ui-admin-vben/src/components/Button/src/props.ts @@ -0,0 +1,26 @@ +const validColors = ['primary', 'error', 'warning', 'success', ''] as const +type ButtonColorType = (typeof validColors)[number] + +export const buttonProps = { + color: { + type: String as PropType, + validator: v => validColors.includes(v), + default: '', + }, + loading: { type: Boolean }, + disabled: { type: Boolean }, + /** + * Text before icon. + */ + preIcon: { type: String }, + /** + * Text after icon. + */ + postIcon: { type: String }, + /** + * preIcon and postIcon icon size. + * @default: 14 + */ + iconSize: { type: Number, default: 14 }, + onClick: { type: [Function, Array] as PropType<(() => any) | (() => any)[]>, default: null }, +} diff --git a/yunxi-ui-admin-vben/src/components/CardList/index.ts b/yunxi-ui-admin-vben/src/components/CardList/index.ts new file mode 100644 index 0000000..7616639 --- /dev/null +++ b/yunxi-ui-admin-vben/src/components/CardList/index.ts @@ -0,0 +1,4 @@ +import cardList from './src/CardList.vue' +import { withInstall } from '@/utils' + +export const CardList = withInstall(cardList) diff --git a/yunxi-ui-admin-vben/src/components/CardList/src/CardList.vue b/yunxi-ui-admin-vben/src/components/CardList/src/CardList.vue new file mode 100644 index 0000000..3d26a41 --- /dev/null +++ b/yunxi-ui-admin-vben/src/components/CardList/src/CardList.vue @@ -0,0 +1,175 @@ + + +

lhXl+;Ad7OBgk2~hOhu79vT7T*tbZNl< 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:not(.tox-checklist--hidden){list-style:none;margin:.25em 0}.tox-checklist>li:not(.tox-checklist--hidden)::before{content:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A");cursor:pointer;height:1em;margin-left:-1.5em;margin-top:.125em;position:absolute;width:1em}.tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before{content:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A")}[dir=rtl] .tox-checklist>li:not(.tox-checklist--hidden)::before{margin-left:0;margin-right:-1.5em}code[class*=language-],pre[class*=language-]{color:#000;background:0 0;text-shadow:0 1px #fff;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,pre[class*=language-]::-moz-selection{text-shadow:none;background:#b3d4fc}code[class*=language-] ::selection,code[class*=language-]::selection,pre[class*=language-] ::selection,pre[class*=language-]::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f5f2f0}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#708090}.token.punctuation{color:#999}.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#905}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#690}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url{color:#9a6e3a;background:hsla(0,0%,100%,.5)}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.class-name,.token.function{color:#dd4a68}.token.important,.token.regex,.token.variable{color:#e90}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.mce-content-body{overflow-wrap:break-word;word-wrap:break-word}.mce-content-body .mce-visual-caret{background-color:#000;background-color:currentColor;position:absolute}.mce-content-body .mce-visual-caret-hidden{display:none}.mce-content-body [data-mce-caret]{left:-1000px;margin:0;padding:0;position:absolute;right:auto;top:0}.mce-content-body .mce-offscreen-selection{left:-2000000px;max-width:1000000px;position:absolute}.mce-content-body [contentEditable=false]{cursor:default}.mce-content-body [contentEditable=true]{cursor:text}.tox-cursor-format-painter{cursor:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A"),default}.mce-content-body figure.align-left{float:left}.mce-content-body figure.align-right{float:right}.mce-content-body figure.image.align-center{display:table;margin-left:auto;margin-right:auto}.mce-preview-object{border:1px solid gray;display:inline-block;line-height:0;margin:0 2px 0 2px;position:relative}.mce-preview-object .mce-shim{background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);height:100%;left:0;position:absolute;top:0;width:100%}.mce-preview-object[data-mce-selected="2"] .mce-shim{display:none}.mce-object{background:transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;border:1px dashed #aaa}.mce-pagebreak{border:1px dashed #aaa;cursor:default;display:block;height:5px;margin-top:15px;page-break-before:always;width:100%}@media print{.mce-pagebreak{border:0}}.tiny-pageembed .mce-shim{background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);height:100%;left:0;position:absolute;top:0;width:100%}.tiny-pageembed[data-mce-selected="2"] .mce-shim{display:none}.tiny-pageembed{display:inline-block;position:relative}.tiny-pageembed--16by9,.tiny-pageembed--1by1,.tiny-pageembed--21by9,.tiny-pageembed--4by3{display:block;overflow:hidden;padding:0;position:relative;width:100%}.tiny-pageembed--21by9{padding-top:42.857143%}.tiny-pageembed--16by9{padding-top:56.25%}.tiny-pageembed--4by3{padding-top:75%}.tiny-pageembed--1by1{padding-top:100%}.tiny-pageembed--16by9 iframe,.tiny-pageembed--1by1 iframe,.tiny-pageembed--21by9 iframe,.tiny-pageembed--4by3 iframe{border:0;height:100%;left:0;position:absolute;top:0;width:100%}.mce-content-body[data-mce-placeholder]{position:relative}.mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before{color:rgba(34,47,62,.7);content:attr(data-mce-placeholder);position:absolute}.mce-content-body:not([dir=rtl])[data-mce-placeholder]:not(.mce-visualblocks)::before{left:1px}.mce-content-body[dir=rtl][data-mce-placeholder]:not(.mce-visualblocks)::before{right:1px}.mce-content-body div.mce-resizehandle{background-color:#4099ff;border-color:#4099ff;border-style:solid;border-width:1px;box-sizing:border-box;height:10px;position:absolute;width:10px;z-index:1298}.mce-content-body div.mce-resizehandle:hover{background-color:#4099ff}.mce-content-body div.mce-resizehandle:nth-of-type(1){cursor:nwse-resize}.mce-content-body div.mce-resizehandle:nth-of-type(2){cursor:nesw-resize}.mce-content-body div.mce-resizehandle:nth-of-type(3){cursor:nwse-resize}.mce-content-body div.mce-resizehandle:nth-of-type(4){cursor:nesw-resize}.mce-content-body .mce-resize-backdrop{z-index:10000}.mce-content-body .mce-clonedresizable{cursor:default;opacity:.5;outline:1px dashed #000;position:absolute;z-index:10001}.mce-content-body .mce-clonedresizable.mce-resizetable-columns td,.mce-content-body .mce-clonedresizable.mce-resizetable-columns th{border:0}.mce-content-body .mce-resize-helper{background:#555;background:rgba(0,0,0,.75);border:1px;border-radius:3px;color:#fff;display:none;font-family:sans-serif;font-size:12px;line-height:14px;margin:5px 10px;padding:5px;position:absolute;white-space:nowrap;z-index:10002}.tox-rtc-user-selection{position:relative}.tox-rtc-user-cursor{bottom:0;cursor:default;position:absolute;top:0;width:2px}.tox-rtc-user-cursor::before{background-color:inherit;border-radius:50%;content:'';display:block;height:8px;position:absolute;right:-3px;top:-3px;width:8px}.tox-rtc-user-cursor:hover::after{background-color:inherit;border-radius:100px;box-sizing:border-box;color:#fff;content:attr(data-user);display:block;font-size:12px;font-weight:700;left:-5px;min-height:8px;min-width:8px;padding:0 12px;position:absolute;top:-11px;white-space:nowrap;z-index:1000}.tox-rtc-user-selection--1 .tox-rtc-user-cursor{background-color:#2dc26b}.tox-rtc-user-selection--2 .tox-rtc-user-cursor{background-color:#e03e2d}.tox-rtc-user-selection--3 .tox-rtc-user-cursor{background-color:#f1c40f}.tox-rtc-user-selection--4 .tox-rtc-user-cursor{background-color:#3598db}.tox-rtc-user-selection--5 .tox-rtc-user-cursor{background-color:#b96ad9}.tox-rtc-user-selection--6 .tox-rtc-user-cursor{background-color:#e67e23}.tox-rtc-user-selection--7 .tox-rtc-user-cursor{background-color:#aaa69d}.tox-rtc-user-selection--8 .tox-rtc-user-cursor{background-color:#f368e0}.tox-rtc-remote-image{background:#eaeaea url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A") no-repeat center center;border:1px solid #ccc;min-height:240px;min-width:320px}.mce-match-marker{background:#aaa;color:#fff}.mce-match-marker-selected{background:#39f;color:#fff}.mce-match-marker-selected::-moz-selection{background:#39f;color:#fff}.mce-match-marker-selected::selection{background:#39f;color:#fff}.mce-content-body audio[data-mce-selected],.mce-content-body embed[data-mce-selected],.mce-content-body img[data-mce-selected],.mce-content-body object[data-mce-selected],.mce-content-body table[data-mce-selected],.mce-content-body video[data-mce-selected]{outline:3px solid #b4d7ff}.mce-content-body hr[data-mce-selected]{outline:3px solid #b4d7ff;outline-offset:1px}.mce-content-body [contentEditable=false] [contentEditable=true]:focus{outline:3px solid #b4d7ff}.mce-content-body [contentEditable=false] [contentEditable=true]:hover{outline:3px solid #b4d7ff}.mce-content-body [contentEditable=false][data-mce-selected]{cursor:not-allowed;outline:3px solid #b4d7ff}.mce-content-body.mce-content-readonly [contentEditable=true]:focus,.mce-content-body.mce-content-readonly [contentEditable=true]:hover{outline:0}.mce-content-body [data-mce-selected=inline-boundary]{background-color:#b4d7ff}.mce-content-body .mce-edit-focus{outline:3px solid #b4d7ff}.mce-content-body td[data-mce-selected],.mce-content-body th[data-mce-selected]{position:relative}.mce-content-body td[data-mce-selected]::-moz-selection,.mce-content-body th[data-mce-selected]::-moz-selection{background:0 0}.mce-content-body td[data-mce-selected]::selection,.mce-content-body th[data-mce-selected]::selection{background:0 0}.mce-content-body td[data-mce-selected] *,.mce-content-body th[data-mce-selected] *{outline:0;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mce-content-body td[data-mce-selected]::after,.mce-content-body th[data-mce-selected]::after{background-color:rgba(180,215,255,.7);border:1px solid rgba(180,215,255,.7);bottom:-1px;content:'';left:-1px;mix-blend-mode:multiply;position:absolute;right:-1px;top:-1px}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){.mce-content-body td[data-mce-selected]::after,.mce-content-body th[data-mce-selected]::after{border-color:rgba(0,84,180,.7)}}.mce-content-body img::-moz-selection{background:0 0}.mce-content-body img::selection{background:0 0}.ephox-snooker-resizer-bar{background-color:#b4d7ff;opacity:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ephox-snooker-resizer-cols{cursor:col-resize}.ephox-snooker-resizer-rows{cursor:row-resize}.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging{opacity:1}.mce-spellchecker-word{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A");background-position:0 calc(100% + 1px);background-repeat:repeat-x;background-size:auto 6px;cursor:default;height:2rem}.mce-spellchecker-grammar{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A");background-position:0 calc(100% + 1px);background-repeat:repeat-x;background-size:auto 6px;cursor:default}.mce-toc{border:1px solid gray}.mce-toc h2{margin:4px}.mce-toc li{list-style-type:none}.mce-item-table:not([border]),.mce-item-table:not([border]) caption,.mce-item-table:not([border]) td,.mce-item-table:not([border]) th,.mce-item-table[border="0"],.mce-item-table[border="0"] caption,.mce-item-table[border="0"] td,.mce-item-table[border="0"] th,table[style*="border-width: 0px"],table[style*="border-width: 0px"] caption,table[style*="border-width: 0px"] td,table[style*="border-width: 0px"] th{border:1px dashed #bbb}.mce-visualblocks address,.mce-visualblocks article,.mce-visualblocks aside,.mce-visualblocks blockquote,.mce-visualblocks div:not([data-mce-bogus]),.mce-visualblocks dl,.mce-visualblocks figcaption,.mce-visualblocks figure,.mce-visualblocks h1,.mce-visualblocks h2,.mce-visualblocks h3,.mce-visualblocks h4,.mce-visualblocks h5,.mce-visualblocks h6,.mce-visualblocks hgroup,.mce-visualblocks ol,.mce-visualblocks p,.mce-visualblocks pre,.mce-visualblocks section,.mce-visualblocks ul{background-repeat:no-repeat;border:1px dashed #bbb;margin-left:3px;padding-top:10px}.mce-visualblocks p{background-image:url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7)}.mce-visualblocks h1{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==)}.mce-visualblocks h2{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==)}.mce-visualblocks h3{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7)}.mce-visualblocks h4{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==)}.mce-visualblocks h5{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==)}.mce-visualblocks h6{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==)}.mce-visualblocks div:not([data-mce-bogus]){background-image:url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7)}.mce-visualblocks section{background-image:url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=)}.mce-visualblocks article{background-image:url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7)}.mce-visualblocks blockquote{background-image:url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7)}.mce-visualblocks address{background-image:url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=)}.mce-visualblocks pre{background-image:url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==)}.mce-visualblocks figure{background-image:url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7)}.mce-visualblocks figcaption{border:1px dashed #bbb}.mce-visualblocks hgroup{background-image:url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7)}.mce-visualblocks aside{background-image:url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=)}.mce-visualblocks ul{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==)}.mce-visualblocks ol{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==)}.mce-visualblocks dl{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==)}.mce-visualblocks:not([dir=rtl]) address,.mce-visualblocks:not([dir=rtl]) article,.mce-visualblocks:not([dir=rtl]) aside,.mce-visualblocks:not([dir=rtl]) blockquote,.mce-visualblocks:not([dir=rtl]) div:not([data-mce-bogus]),.mce-visualblocks:not([dir=rtl]) dl,.mce-visualblocks:not([dir=rtl]) figcaption,.mce-visualblocks:not([dir=rtl]) figure,.mce-visualblocks:not([dir=rtl]) h1,.mce-visualblocks:not([dir=rtl]) h2,.mce-visualblocks:not([dir=rtl]) h3,.mce-visualblocks:not([dir=rtl]) h4,.mce-visualblocks:not([dir=rtl]) h5,.mce-visualblocks:not([dir=rtl]) h6,.mce-visualblocks:not([dir=rtl]) hgroup,.mce-visualblocks:not([dir=rtl]) ol,.mce-visualblocks:not([dir=rtl]) p,.mce-visualblocks:not([dir=rtl]) pre,.mce-visualblocks:not([dir=rtl]) section,.mce-visualblocks:not([dir=rtl]) ul{margin-left:3px}.mce-visualblocks[dir=rtl] address,.mce-visualblocks[dir=rtl] article,.mce-visualblocks[dir=rtl] aside,.mce-visualblocks[dir=rtl] blockquote,.mce-visualblocks[dir=rtl] div:not([data-mce-bogus]),.mce-visualblocks[dir=rtl] dl,.mce-visualblocks[dir=rtl] figcaption,.mce-visualblocks[dir=rtl] figure,.mce-visualblocks[dir=rtl] h1,.mce-visualblocks[dir=rtl] h2,.mce-visualblocks[dir=rtl] h3,.mce-visualblocks[dir=rtl] h4,.mce-visualblocks[dir=rtl] h5,.mce-visualblocks[dir=rtl] h6,.mce-visualblocks[dir=rtl] hgroup,.mce-visualblocks[dir=rtl] ol,.mce-visualblocks[dir=rtl] p,.mce-visualblocks[dir=rtl] pre,.mce-visualblocks[dir=rtl] section,.mce-visualblocks[dir=rtl] ul{background-position-x:right;margin-right:3px}.mce-nbsp,.mce-shy{background:#aaa}.mce-shy::after{content:'-'} diff --git a/yunxi-ui-admin-vben/public/resource/tinymce/skins/ui/oxide-dark/content.min.css b/yunxi-ui-admin-vben/public/resource/tinymce/skins/ui/oxide-dark/content.min.css new file mode 100644 index 0000000..e27b8a0 --- /dev/null +++ b/yunxi-ui-admin-vben/public/resource/tinymce/skins/ui/oxide-dark/content.min.css @@ -0,0 +1,7 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +.mce-content-body .mce-item-anchor{background:transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%20fill%3D%22%23cccccc%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;cursor:default;display:inline-block;height:12px!important;padding:0 2px;-webkit-user-modify:read-only;-moz-user-modify:read-only;-webkit-user-select:all;-moz-user-select:all;-ms-user-select:all;user-select:all;width:8px!important}.mce-content-body .mce-item-anchor[data-mce-selected]{outline-offset:1px}.tox-comments-visible .tox-comment{background-color:#fff0b7}.tox-comments-visible .tox-comment--active{background-color:#ffe168}.tox-checklist>li:not(.tox-checklist--hidden){list-style:none;margin:.25em 0}.tox-checklist>li:not(.tox-checklist--hidden)::before{content:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%236d737b%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A");cursor:pointer;height:1em;margin-left:-1.5em;margin-top:.125em;position:absolute;width:1em}.tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before{content:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A")}[dir=rtl] .tox-checklist>li:not(.tox-checklist--hidden)::before{margin-left:0;margin-right:-1.5em}code[class*=language-],pre[class*=language-]{color:#f8f8f2;background:0 0;text-shadow:0 1px rgba(0,0,0,.3);font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto;border-radius:.3em}:not(pre)>code[class*=language-],pre[class*=language-]{background:#282a36}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#6272a4}.token.punctuation{color:#f8f8f2}.namespace{opacity:.7}.token.constant,.token.deleted,.token.property,.token.symbol,.token.tag{color:#ff79c6}.token.boolean,.token.number{color:#bd93f9}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#50fa7b}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url,.token.variable{color:#f8f8f2}.token.atrule,.token.attr-value,.token.class-name,.token.function{color:#f1fa8c}.token.keyword{color:#8be9fd}.token.important,.token.regex{color:#ffb86c}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.mce-content-body{overflow-wrap:break-word;word-wrap:break-word}.mce-content-body .mce-visual-caret{background-color:#000;background-color:currentColor;position:absolute}.mce-content-body .mce-visual-caret-hidden{display:none}.mce-content-body [data-mce-caret]{left:-1000px;margin:0;padding:0;position:absolute;right:auto;top:0}.mce-content-body .mce-offscreen-selection{left:-2000000px;max-width:1000000px;position:absolute}.mce-content-body [contentEditable=false]{cursor:default}.mce-content-body [contentEditable=true]{cursor:text}.tox-cursor-format-painter{cursor:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A"),default}.mce-content-body figure.align-left{float:left}.mce-content-body figure.align-right{float:right}.mce-content-body figure.image.align-center{display:table;margin-left:auto;margin-right:auto}.mce-preview-object{border:1px solid gray;display:inline-block;line-height:0;margin:0 2px 0 2px;position:relative}.mce-preview-object .mce-shim{background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);height:100%;left:0;position:absolute;top:0;width:100%}.mce-preview-object[data-mce-selected="2"] .mce-shim{display:none}.mce-object{background:transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%20fill%3D%22%23cccccc%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;border:1px dashed #aaa}.mce-pagebreak{border:1px dashed #aaa;cursor:default;display:block;height:5px;margin-top:15px;page-break-before:always;width:100%}@media print{.mce-pagebreak{border:0}}.tiny-pageembed .mce-shim{background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);height:100%;left:0;position:absolute;top:0;width:100%}.tiny-pageembed[data-mce-selected="2"] .mce-shim{display:none}.tiny-pageembed{display:inline-block;position:relative}.tiny-pageembed--16by9,.tiny-pageembed--1by1,.tiny-pageembed--21by9,.tiny-pageembed--4by3{display:block;overflow:hidden;padding:0;position:relative;width:100%}.tiny-pageembed--21by9{padding-top:42.857143%}.tiny-pageembed--16by9{padding-top:56.25%}.tiny-pageembed--4by3{padding-top:75%}.tiny-pageembed--1by1{padding-top:100%}.tiny-pageembed--16by9 iframe,.tiny-pageembed--1by1 iframe,.tiny-pageembed--21by9 iframe,.tiny-pageembed--4by3 iframe{border:0;height:100%;left:0;position:absolute;top:0;width:100%}.mce-content-body[data-mce-placeholder]{position:relative}.mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before{color:rgba(34,47,62,.7);content:attr(data-mce-placeholder);position:absolute}.mce-content-body:not([dir=rtl])[data-mce-placeholder]:not(.mce-visualblocks)::before{left:1px}.mce-content-body[dir=rtl][data-mce-placeholder]:not(.mce-visualblocks)::before{right:1px}.mce-content-body div.mce-resizehandle{background-color:#4099ff;border-color:#4099ff;border-style:solid;border-width:1px;box-sizing:border-box;height:10px;position:absolute;width:10px;z-index:1298}.mce-content-body div.mce-resizehandle:hover{background-color:#4099ff}.mce-content-body div.mce-resizehandle:nth-of-type(1){cursor:nwse-resize}.mce-content-body div.mce-resizehandle:nth-of-type(2){cursor:nesw-resize}.mce-content-body div.mce-resizehandle:nth-of-type(3){cursor:nwse-resize}.mce-content-body div.mce-resizehandle:nth-of-type(4){cursor:nesw-resize}.mce-content-body .mce-resize-backdrop{z-index:10000}.mce-content-body .mce-clonedresizable{cursor:default;opacity:.5;outline:1px dashed #000;position:absolute;z-index:10001}.mce-content-body .mce-clonedresizable.mce-resizetable-columns td,.mce-content-body .mce-clonedresizable.mce-resizetable-columns th{border:0}.mce-content-body .mce-resize-helper{background:#555;background:rgba(0,0,0,.75);border:1px;border-radius:3px;color:#fff;display:none;font-family:sans-serif;font-size:12px;line-height:14px;margin:5px 10px;padding:5px;position:absolute;white-space:nowrap;z-index:10002}.tox-rtc-user-selection{position:relative}.tox-rtc-user-cursor{bottom:0;cursor:default;position:absolute;top:0;width:2px}.tox-rtc-user-cursor::before{background-color:inherit;border-radius:50%;content:'';display:block;height:8px;position:absolute;right:-3px;top:-3px;width:8px}.tox-rtc-user-cursor:hover::after{background-color:inherit;border-radius:100px;box-sizing:border-box;color:#fff;content:attr(data-user);display:block;font-size:12px;font-weight:700;left:-5px;min-height:8px;min-width:8px;padding:0 12px;position:absolute;top:-11px;white-space:nowrap;z-index:1000}.tox-rtc-user-selection--1 .tox-rtc-user-cursor{background-color:#2dc26b}.tox-rtc-user-selection--2 .tox-rtc-user-cursor{background-color:#e03e2d}.tox-rtc-user-selection--3 .tox-rtc-user-cursor{background-color:#f1c40f}.tox-rtc-user-selection--4 .tox-rtc-user-cursor{background-color:#3598db}.tox-rtc-user-selection--5 .tox-rtc-user-cursor{background-color:#b96ad9}.tox-rtc-user-selection--6 .tox-rtc-user-cursor{background-color:#e67e23}.tox-rtc-user-selection--7 .tox-rtc-user-cursor{background-color:#aaa69d}.tox-rtc-user-selection--8 .tox-rtc-user-cursor{background-color:#f368e0}.tox-rtc-remote-image{background:#eaeaea url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A") no-repeat center center;border:1px solid #ccc;min-height:240px;min-width:320px}.mce-match-marker{background:#aaa;color:#fff}.mce-match-marker-selected{background:#39f;color:#fff}.mce-match-marker-selected::-moz-selection{background:#39f;color:#fff}.mce-match-marker-selected::selection{background:#39f;color:#fff}.mce-content-body audio[data-mce-selected],.mce-content-body embed[data-mce-selected],.mce-content-body img[data-mce-selected],.mce-content-body object[data-mce-selected],.mce-content-body table[data-mce-selected],.mce-content-body video[data-mce-selected]{outline:3px solid #4099ff}.mce-content-body hr[data-mce-selected]{outline:3px solid #4099ff;outline-offset:1px}.mce-content-body [contentEditable=false] [contentEditable=true]:focus{outline:3px solid #4099ff}.mce-content-body [contentEditable=false] [contentEditable=true]:hover{outline:3px solid #4099ff}.mce-content-body [contentEditable=false][data-mce-selected]{cursor:not-allowed;outline:3px solid #4099ff}.mce-content-body.mce-content-readonly [contentEditable=true]:focus,.mce-content-body.mce-content-readonly [contentEditable=true]:hover{outline:0}.mce-content-body [data-mce-selected=inline-boundary]{background-color:#4099ff}.mce-content-body .mce-edit-focus{outline:3px solid #4099ff}.mce-content-body td[data-mce-selected],.mce-content-body th[data-mce-selected]{position:relative}.mce-content-body td[data-mce-selected]::-moz-selection,.mce-content-body th[data-mce-selected]::-moz-selection{background:0 0}.mce-content-body td[data-mce-selected]::selection,.mce-content-body th[data-mce-selected]::selection{background:0 0}.mce-content-body td[data-mce-selected] *,.mce-content-body th[data-mce-selected] *{outline:0;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mce-content-body td[data-mce-selected]::after,.mce-content-body th[data-mce-selected]::after{background-color:rgba(180,215,255,.7);border:1px solid transparent;bottom:-1px;content:'';left:-1px;mix-blend-mode:lighten;position:absolute;right:-1px;top:-1px}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){.mce-content-body td[data-mce-selected]::after,.mce-content-body th[data-mce-selected]::after{border-color:rgba(0,84,180,.7)}}.mce-content-body img::-moz-selection{background:0 0}.mce-content-body img::selection{background:0 0}.ephox-snooker-resizer-bar{background-color:#4099ff;opacity:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ephox-snooker-resizer-cols{cursor:col-resize}.ephox-snooker-resizer-rows{cursor:row-resize}.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging{opacity:1}.mce-spellchecker-word{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A");background-position:0 calc(100% + 1px);background-repeat:repeat-x;background-size:auto 6px;cursor:default;height:2rem}.mce-spellchecker-grammar{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A");background-position:0 calc(100% + 1px);background-repeat:repeat-x;background-size:auto 6px;cursor:default}.mce-toc{border:1px solid gray}.mce-toc h2{margin:4px}.mce-toc li{list-style-type:none}.mce-item-table:not([border]),.mce-item-table:not([border]) caption,.mce-item-table:not([border]) td,.mce-item-table:not([border]) th,.mce-item-table[border="0"],.mce-item-table[border="0"] caption,.mce-item-table[border="0"] td,.mce-item-table[border="0"] th,table[style*="border-width: 0px"],table[style*="border-width: 0px"] caption,table[style*="border-width: 0px"] td,table[style*="border-width: 0px"] th{border:1px dashed #bbb}.mce-visualblocks address,.mce-visualblocks article,.mce-visualblocks aside,.mce-visualblocks blockquote,.mce-visualblocks div:not([data-mce-bogus]),.mce-visualblocks dl,.mce-visualblocks figcaption,.mce-visualblocks figure,.mce-visualblocks h1,.mce-visualblocks h2,.mce-visualblocks h3,.mce-visualblocks h4,.mce-visualblocks h5,.mce-visualblocks h6,.mce-visualblocks hgroup,.mce-visualblocks ol,.mce-visualblocks p,.mce-visualblocks pre,.mce-visualblocks section,.mce-visualblocks ul{background-repeat:no-repeat;border:1px dashed #bbb;margin-left:3px;padding-top:10px}.mce-visualblocks p{background-image:url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7)}.mce-visualblocks h1{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==)}.mce-visualblocks h2{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==)}.mce-visualblocks h3{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7)}.mce-visualblocks h4{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==)}.mce-visualblocks h5{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==)}.mce-visualblocks h6{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==)}.mce-visualblocks div:not([data-mce-bogus]){background-image:url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7)}.mce-visualblocks section{background-image:url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=)}.mce-visualblocks article{background-image:url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7)}.mce-visualblocks blockquote{background-image:url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7)}.mce-visualblocks address{background-image:url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=)}.mce-visualblocks pre{background-image:url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==)}.mce-visualblocks figure{background-image:url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7)}.mce-visualblocks figcaption{border:1px dashed #bbb}.mce-visualblocks hgroup{background-image:url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7)}.mce-visualblocks aside{background-image:url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=)}.mce-visualblocks ul{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==)}.mce-visualblocks ol{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==)}.mce-visualblocks dl{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==)}.mce-visualblocks:not([dir=rtl]) address,.mce-visualblocks:not([dir=rtl]) article,.mce-visualblocks:not([dir=rtl]) aside,.mce-visualblocks:not([dir=rtl]) blockquote,.mce-visualblocks:not([dir=rtl]) div:not([data-mce-bogus]),.mce-visualblocks:not([dir=rtl]) dl,.mce-visualblocks:not([dir=rtl]) figcaption,.mce-visualblocks:not([dir=rtl]) figure,.mce-visualblocks:not([dir=rtl]) h1,.mce-visualblocks:not([dir=rtl]) h2,.mce-visualblocks:not([dir=rtl]) h3,.mce-visualblocks:not([dir=rtl]) h4,.mce-visualblocks:not([dir=rtl]) h5,.mce-visualblocks:not([dir=rtl]) h6,.mce-visualblocks:not([dir=rtl]) hgroup,.mce-visualblocks:not([dir=rtl]) ol,.mce-visualblocks:not([dir=rtl]) p,.mce-visualblocks:not([dir=rtl]) pre,.mce-visualblocks:not([dir=rtl]) section,.mce-visualblocks:not([dir=rtl]) ul{margin-left:3px}.mce-visualblocks[dir=rtl] address,.mce-visualblocks[dir=rtl] article,.mce-visualblocks[dir=rtl] aside,.mce-visualblocks[dir=rtl] blockquote,.mce-visualblocks[dir=rtl] div:not([data-mce-bogus]),.mce-visualblocks[dir=rtl] dl,.mce-visualblocks[dir=rtl] figcaption,.mce-visualblocks[dir=rtl] figure,.mce-visualblocks[dir=rtl] h1,.mce-visualblocks[dir=rtl] h2,.mce-visualblocks[dir=rtl] h3,.mce-visualblocks[dir=rtl] h4,.mce-visualblocks[dir=rtl] h5,.mce-visualblocks[dir=rtl] h6,.mce-visualblocks[dir=rtl] hgroup,.mce-visualblocks[dir=rtl] ol,.mce-visualblocks[dir=rtl] p,.mce-visualblocks[dir=rtl] pre,.mce-visualblocks[dir=rtl] section,.mce-visualblocks[dir=rtl] ul{background-position-x:right;margin-right:3px}.mce-nbsp,.mce-shy{background:#aaa}.mce-shy::after{content:'-'}body{font-family:sans-serif}table{border-collapse:collapse} diff --git a/yunxi-ui-admin-vben/public/resource/tinymce/skins/ui/oxide-dark/content.mobile.min.css b/yunxi-ui-admin-vben/public/resource/tinymce/skins/ui/oxide-dark/content.mobile.min.css new file mode 100644 index 0000000..35f7dc0 --- /dev/null +++ b/yunxi-ui-admin-vben/public/resource/tinymce/skins/ui/oxide-dark/content.mobile.min.css @@ -0,0 +1,7 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +.tinymce-mobile-unfocused-selections .tinymce-mobile-unfocused-selection{background-color:green;display:inline-block;opacity:.5;position:absolute}body{-webkit-text-size-adjust:none}body img{max-width:96vw}body table img{max-width:95%}body{font-family:sans-serif}table{border-collapse:collapse} diff --git a/yunxi-ui-admin-vben/public/resource/tinymce/skins/ui/oxide-dark/skin.min.css b/yunxi-ui-admin-vben/public/resource/tinymce/skins/ui/oxide-dark/skin.min.css new file mode 100644 index 0000000..e71f6f0 --- /dev/null +++ b/yunxi-ui-admin-vben/public/resource/tinymce/skins/ui/oxide-dark/skin.min.css @@ -0,0 +1,7 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +.tox{box-shadow:none;box-sizing:content-box;color:#2a3746;cursor:auto;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:16px;font-style:normal;font-weight:400;line-height:normal;-webkit-tap-highlight-color:transparent;text-decoration:none;text-shadow:none;text-transform:none;vertical-align:initial;white-space:normal}.tox :not(svg):not(rect){box-sizing:inherit;color:inherit;cursor:inherit;direction:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;line-height:inherit;-webkit-tap-highlight-color:inherit;text-align:inherit;text-decoration:inherit;text-shadow:inherit;text-transform:inherit;vertical-align:inherit;white-space:inherit}.tox :not(svg):not(rect){background:0 0;border:0;box-shadow:none;float:none;height:auto;margin:0;max-width:none;outline:0;padding:0;position:static;width:auto}.tox:not([dir=rtl]){direction:ltr;text-align:left}.tox[dir=rtl]{direction:rtl;text-align:right}.tox-tinymce{border:1px solid #000;border-radius:0;box-shadow:none;box-sizing:border-box;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;overflow:hidden;position:relative;visibility:inherit!important}.tox-tinymce-inline{border:none;box-shadow:none}.tox-tinymce-inline .tox-editor-header{background-color:transparent;border:1px solid #000;border-radius:0;box-shadow:none}.tox-tinymce-aux{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;z-index:1300}.tox-tinymce :focus,.tox-tinymce-aux :focus{outline:0}button::-moz-focus-inner{border:0}.tox[dir=rtl] .tox-icon--flip svg{transform:rotateY(180deg)}.tox .accessibility-issue__header{align-items:center;display:flex;margin-bottom:4px}.tox .accessibility-issue__description{align-items:stretch;border:1px solid #000;border-radius:3px;display:flex;justify-content:space-between}.tox .accessibility-issue__description>div{padding-bottom:4px}.tox .accessibility-issue__description>div>div{align-items:center;display:flex;margin-bottom:4px}.tox .accessibility-issue__description>:last-child:not(:only-child){border-color:#000;border-style:solid}.tox .accessibility-issue__repair{margin-top:16px}.tox .tox-dialog__body-content .accessibility-issue--info .accessibility-issue__description{background-color:rgba(32,122,183,.5);border-color:#207ab7;color:#fff}.tox .tox-dialog__body-content .accessibility-issue--info .accessibility-issue__description>:last-child{border-color:#207ab7}.tox .tox-dialog__body-content .accessibility-issue--info .tox-form__group h2{color:#fff}.tox .tox-dialog__body-content .accessibility-issue--info .tox-icon svg{fill:#fff}.tox .tox-dialog__body-content .accessibility-issue--info a .tox-icon{color:#fff}.tox .tox-dialog__body-content .accessibility-issue--warn .accessibility-issue__description{background-color:rgba(255,165,0,.5);border-color:rgba(255,165,0,.8);color:#fff}.tox .tox-dialog__body-content .accessibility-issue--warn .accessibility-issue__description>:last-child{border-color:rgba(255,165,0,.8)}.tox .tox-dialog__body-content .accessibility-issue--warn .tox-form__group h2{color:#fff}.tox .tox-dialog__body-content .accessibility-issue--warn .tox-icon svg{fill:#fff}.tox .tox-dialog__body-content .accessibility-issue--warn a .tox-icon{color:#fff}.tox .tox-dialog__body-content .accessibility-issue--error .accessibility-issue__description{background-color:rgba(204,0,0,.5);border-color:rgba(204,0,0,.8);color:#fff}.tox .tox-dialog__body-content .accessibility-issue--error .accessibility-issue__description>:last-child{border-color:rgba(204,0,0,.8)}.tox .tox-dialog__body-content .accessibility-issue--error .tox-form__group h2{color:#fff}.tox .tox-dialog__body-content .accessibility-issue--error .tox-icon svg{fill:#fff}.tox .tox-dialog__body-content .accessibility-issue--error a .tox-icon{color:#fff}.tox .tox-dialog__body-content .accessibility-issue--success .accessibility-issue__description{background-color:rgba(120,171,70,.5);border-color:rgba(120,171,70,.8);color:#fff}.tox .tox-dialog__body-content .accessibility-issue--success .accessibility-issue__description>:last-child{border-color:rgba(120,171,70,.8)}.tox .tox-dialog__body-content .accessibility-issue--success .tox-form__group h2{color:#fff}.tox .tox-dialog__body-content .accessibility-issue--success .tox-icon svg{fill:#fff}.tox .tox-dialog__body-content .accessibility-issue--success a .tox-icon{color:#fff}.tox .tox-dialog__body-content .accessibility-issue__header h1,.tox .tox-dialog__body-content .tox-form__group .accessibility-issue__description h2{margin-top:0}.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__header .tox-button{margin-left:4px}.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__header>:nth-last-child(2){margin-left:auto}.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__description{padding:4px 4px 4px 8px}.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__description>:last-child{border-left-width:1px;padding-left:4px}.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__header .tox-button{margin-right:4px}.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__header>:nth-last-child(2){margin-right:auto}.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__description{padding:4px 8px 4px 4px}.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__description>:last-child{border-right-width:1px;padding-right:4px}.tox .tox-anchorbar{display:flex;flex:0 0 auto}.tox .tox-bar{display:flex;flex:0 0 auto}.tox .tox-button{background-color:#207ab7;background-image:none;background-position:0 0;background-repeat:repeat;border-color:#207ab7;border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;color:#fff;cursor:pointer;display:inline-block;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;font-style:normal;font-weight:700;letter-spacing:normal;line-height:24px;margin:0;outline:0;padding:4px 16px;text-align:center;text-decoration:none;text-transform:none;white-space:nowrap}.tox .tox-button[disabled]{background-color:#207ab7;background-image:none;border-color:#207ab7;box-shadow:none;color:rgba(255,255,255,.5);cursor:not-allowed}.tox .tox-button:focus:not(:disabled){background-color:#1c6ca1;background-image:none;border-color:#1c6ca1;box-shadow:none;color:#fff}.tox .tox-button:hover:not(:disabled){background-color:#1c6ca1;background-image:none;border-color:#1c6ca1;box-shadow:none;color:#fff}.tox .tox-button:active:not(:disabled){background-color:#185d8c;background-image:none;border-color:#185d8c;box-shadow:none;color:#fff}.tox .tox-button--secondary{background-color:#3d546f;background-image:none;background-position:0 0;background-repeat:repeat;border-color:#3d546f;border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;color:#fff;font-size:14px;font-style:normal;font-weight:700;letter-spacing:normal;outline:0;padding:4px 16px;text-decoration:none;text-transform:none}.tox .tox-button--secondary[disabled]{background-color:#3d546f;background-image:none;border-color:#3d546f;box-shadow:none;color:rgba(255,255,255,.5)}.tox .tox-button--secondary:focus:not(:disabled){background-color:#34485f;background-image:none;border-color:#34485f;box-shadow:none;color:#fff}.tox .tox-button--secondary:hover:not(:disabled){background-color:#34485f;background-image:none;border-color:#34485f;box-shadow:none;color:#fff}.tox .tox-button--secondary:active:not(:disabled){background-color:#2b3b4e;background-image:none;border-color:#2b3b4e;box-shadow:none;color:#fff}.tox .tox-button--icon,.tox .tox-button.tox-button--icon,.tox .tox-button.tox-button--secondary.tox-button--icon{padding:4px}.tox .tox-button--icon .tox-icon svg,.tox .tox-button.tox-button--icon .tox-icon svg,.tox .tox-button.tox-button--secondary.tox-button--icon .tox-icon svg{display:block;fill:currentColor}.tox .tox-button-link{background:0;border:none;box-sizing:border-box;cursor:pointer;display:inline-block;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:16px;font-weight:400;line-height:1.3;margin:0;padding:0;white-space:nowrap}.tox .tox-button-link--sm{font-size:14px}.tox .tox-button--naked{background-color:transparent;border-color:transparent;box-shadow:unset;color:#fff}.tox .tox-button--naked[disabled]{background-color:#3d546f;border-color:#3d546f;box-shadow:none;color:rgba(255,255,255,.5)}.tox .tox-button--naked:hover:not(:disabled){background-color:#34485f;border-color:#34485f;box-shadow:none;color:#fff}.tox .tox-button--naked:focus:not(:disabled){background-color:#34485f;border-color:#34485f;box-shadow:none;color:#fff}.tox .tox-button--naked:active:not(:disabled){background-color:#2b3b4e;border-color:#2b3b4e;box-shadow:none;color:#fff}.tox .tox-button--naked .tox-icon svg{fill:currentColor}.tox .tox-button--naked.tox-button--icon:hover:not(:disabled){color:#fff}.tox .tox-checkbox{align-items:center;border-radius:3px;cursor:pointer;display:flex;height:36px;min-width:36px}.tox .tox-checkbox__input{height:1px;overflow:hidden;position:absolute;top:auto;width:1px}.tox .tox-checkbox__icons{align-items:center;border-radius:3px;box-shadow:0 0 0 2px transparent;box-sizing:content-box;display:flex;height:24px;justify-content:center;padding:calc(4px - 1px);width:24px}.tox .tox-checkbox__icons .tox-checkbox-icon__unchecked svg{display:block;fill:rgba(255,255,255,.2)}.tox .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg{display:none;fill:#207ab7}.tox .tox-checkbox__icons .tox-checkbox-icon__checked svg{display:none;fill:#207ab7}.tox .tox-checkbox--disabled{color:rgba(255,255,255,.5);cursor:not-allowed}.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__checked svg{fill:rgba(255,255,255,.5)}.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__unchecked svg{fill:rgba(255,255,255,.5)}.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg{fill:rgba(255,255,255,.5)}.tox input.tox-checkbox__input:checked+.tox-checkbox__icons .tox-checkbox-icon__unchecked svg{display:none}.tox input.tox-checkbox__input:checked+.tox-checkbox__icons .tox-checkbox-icon__checked svg{display:block}.tox input.tox-checkbox__input:indeterminate+.tox-checkbox__icons .tox-checkbox-icon__unchecked svg{display:none}.tox input.tox-checkbox__input:indeterminate+.tox-checkbox__icons .tox-checkbox-icon__indeterminate svg{display:block}.tox input.tox-checkbox__input:focus+.tox-checkbox__icons{border-radius:3px;box-shadow:inset 0 0 0 1px #207ab7;padding:calc(4px - 1px)}.tox:not([dir=rtl]) .tox-checkbox__label{margin-left:4px}.tox:not([dir=rtl]) .tox-checkbox__input{left:-10000px}.tox:not([dir=rtl]) .tox-bar .tox-checkbox{margin-left:4px}.tox[dir=rtl] .tox-checkbox__label{margin-right:4px}.tox[dir=rtl] .tox-checkbox__input{right:-10000px}.tox[dir=rtl] .tox-bar .tox-checkbox{margin-right:4px}.tox .tox-collection--toolbar .tox-collection__group{display:flex;padding:0}.tox .tox-collection--grid .tox-collection__group{display:flex;flex-wrap:wrap;max-height:208px;overflow-x:hidden;overflow-y:auto;padding:0}.tox .tox-collection--list .tox-collection__group{border-bottom-width:0;border-color:#1a1a1a;border-left-width:0;border-right-width:0;border-style:solid;border-top-width:1px;padding:4px 0}.tox .tox-collection--list .tox-collection__group:first-child{border-top-width:0}.tox .tox-collection__group-heading{background-color:#333;color:#fff;cursor:default;font-size:12px;font-style:normal;font-weight:400;margin-bottom:4px;margin-top:-4px;padding:4px 8px;text-transform:none;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tox .tox-collection__item{align-items:center;color:#fff;cursor:pointer;display:flex;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tox .tox-collection--list .tox-collection__item{padding:4px 8px}.tox .tox-collection--toolbar .tox-collection__item{border-radius:3px;padding:4px}.tox .tox-collection--grid .tox-collection__item{border-radius:3px;padding:4px}.tox .tox-collection--list .tox-collection__item--enabled{background-color:#2b3b4e;color:#fff}.tox .tox-collection--list .tox-collection__item--active{background-color:#4a5562}.tox .tox-collection--toolbar .tox-collection__item--enabled{background-color:#757d87;color:#fff}.tox .tox-collection--toolbar .tox-collection__item--active{background-color:#4a5562}.tox .tox-collection--grid .tox-collection__item--enabled{background-color:#757d87;color:#fff}.tox .tox-collection--grid .tox-collection__item--active:not(.tox-collection__item--state-disabled){background-color:#4a5562;color:#fff}.tox .tox-collection--list .tox-collection__item--active:not(.tox-collection__item--state-disabled){color:#fff}.tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled){color:#fff}.tox .tox-collection__item-checkmark,.tox .tox-collection__item-icon{align-items:center;display:flex;height:24px;justify-content:center;width:24px}.tox .tox-collection__item-checkmark svg,.tox .tox-collection__item-icon svg{fill:currentColor}.tox .tox-collection--toolbar-lg .tox-collection__item-icon{height:48px;width:48px}.tox .tox-collection__item-label{color:currentColor;display:inline-block;flex:1;-ms-flex-preferred-size:auto;font-size:14px;font-style:normal;font-weight:400;line-height:24px;text-transform:none;word-break:break-all}.tox .tox-collection__item-accessory{color:rgba(255,255,255,.5);display:inline-block;font-size:14px;height:24px;line-height:24px;text-transform:none}.tox .tox-collection__item-caret{align-items:center;display:flex;min-height:24px}.tox .tox-collection__item-caret::after{content:'';font-size:0;min-height:inherit}.tox .tox-collection__item-caret svg{fill:#fff}.tox .tox-collection__item--state-disabled{background-color:transparent;color:rgba(255,255,255,.5);cursor:not-allowed}.tox .tox-collection__item--state-disabled .tox-collection__item-caret svg{fill:rgba(255,255,255,.5)}.tox .tox-collection--list .tox-collection__item:not(.tox-collection__item--enabled) .tox-collection__item-checkmark svg{display:none}.tox .tox-collection--list .tox-collection__item:not(.tox-collection__item--enabled) .tox-collection__item-accessory+.tox-collection__item-checkmark{display:none}.tox .tox-collection--horizontal{background-color:#2b3b4e;border:1px solid #1a1a1a;border-radius:3px;box-shadow:0 1px 3px rgba(0,0,0,.15);display:flex;flex:0 0 auto;flex-shrink:0;flex-wrap:nowrap;margin-bottom:0;overflow-x:auto;padding:0}.tox .tox-collection--horizontal .tox-collection__group{align-items:center;display:flex;flex-wrap:nowrap;margin:0;padding:0 4px}.tox .tox-collection--horizontal .tox-collection__item{height:34px;margin:2px 0 3px 0;padding:0 4px}.tox .tox-collection--horizontal .tox-collection__item-label{white-space:nowrap}.tox .tox-collection--horizontal .tox-collection__item-caret{margin-left:4px}.tox .tox-collection__item-container{display:flex}.tox .tox-collection__item-container--row{align-items:center;flex:1 1 auto;flex-direction:row}.tox .tox-collection__item-container--row.tox-collection__item-container--align-left{margin-right:auto}.tox .tox-collection__item-container--row.tox-collection__item-container--align-right{justify-content:flex-end;margin-left:auto}.tox .tox-collection__item-container--row.tox-collection__item-container--valign-top{align-items:flex-start;margin-bottom:auto}.tox .tox-collection__item-container--row.tox-collection__item-container--valign-middle{align-items:center}.tox .tox-collection__item-container--row.tox-collection__item-container--valign-bottom{align-items:flex-end;margin-top:auto}.tox .tox-collection__item-container--column{-ms-grid-row-align:center;align-self:center;flex:1 1 auto;flex-direction:column}.tox .tox-collection__item-container--column.tox-collection__item-container--align-left{align-items:flex-start}.tox .tox-collection__item-container--column.tox-collection__item-container--align-right{align-items:flex-end}.tox .tox-collection__item-container--column.tox-collection__item-container--valign-top{align-self:flex-start}.tox .tox-collection__item-container--column.tox-collection__item-container--valign-middle{-ms-grid-row-align:center;align-self:center}.tox .tox-collection__item-container--column.tox-collection__item-container--valign-bottom{align-self:flex-end}.tox:not([dir=rtl]) .tox-collection--horizontal .tox-collection__group:not(:last-of-type){border-right:1px solid #000}.tox:not([dir=rtl]) .tox-collection--list .tox-collection__item>:not(:first-child){margin-left:8px}.tox:not([dir=rtl]) .tox-collection--list .tox-collection__item>.tox-collection__item-label:first-child{margin-left:4px}.tox:not([dir=rtl]) .tox-collection__item-accessory{margin-left:16px;text-align:right}.tox:not([dir=rtl]) .tox-collection .tox-collection__item-caret{margin-left:16px}.tox[dir=rtl] .tox-collection--horizontal .tox-collection__group:not(:last-of-type){border-left:1px solid #000}.tox[dir=rtl] .tox-collection--list .tox-collection__item>:not(:first-child){margin-right:8px}.tox[dir=rtl] .tox-collection--list .tox-collection__item>.tox-collection__item-label:first-child{margin-right:4px}.tox[dir=rtl] .tox-collection__item-accessory{margin-right:16px;text-align:left}.tox[dir=rtl] .tox-collection .tox-collection__item-caret{margin-right:16px;transform:rotateY(180deg)}.tox[dir=rtl] .tox-collection--horizontal .tox-collection__item-caret{margin-right:4px}.tox .tox-color-picker-container{display:flex;flex-direction:row;height:225px;margin:0}.tox .tox-sv-palette{box-sizing:border-box;display:flex;height:100%}.tox .tox-sv-palette-spectrum{height:100%}.tox .tox-sv-palette,.tox .tox-sv-palette-spectrum{width:225px}.tox .tox-sv-palette-thumb{background:0 0;border:1px solid #000;border-radius:50%;box-sizing:content-box;height:12px;position:absolute;width:12px}.tox .tox-sv-palette-inner-thumb{border:1px solid #fff;border-radius:50%;height:10px;position:absolute;width:10px}.tox .tox-hue-slider{box-sizing:border-box;height:100%;width:25px}.tox .tox-hue-slider-spectrum{background:linear-gradient(to bottom,red,#ff0080,#f0f,#8000ff,#00f,#0080ff,#0ff,#00ff80,#0f0,#80ff00,#ff0,#ff8000,red);height:100%;width:100%}.tox .tox-hue-slider,.tox .tox-hue-slider-spectrum{width:20px}.tox .tox-hue-slider-thumb{background:#fff;border:1px solid #000;box-sizing:content-box;height:4px;width:100%}.tox .tox-rgb-form{display:flex;flex-direction:column;justify-content:space-between}.tox .tox-rgb-form div{align-items:center;display:flex;justify-content:space-between;margin-bottom:5px;width:inherit}.tox .tox-rgb-form input{width:6em}.tox .tox-rgb-form input.tox-invalid{border:1px solid red!important}.tox .tox-rgb-form .tox-rgba-preview{border:1px solid #000;flex-grow:2;margin-bottom:0}.tox:not([dir=rtl]) .tox-sv-palette{margin-right:15px}.tox:not([dir=rtl]) .tox-hue-slider{margin-right:15px}.tox:not([dir=rtl]) .tox-hue-slider-thumb{margin-left:-1px}.tox:not([dir=rtl]) .tox-rgb-form label{margin-right:.5em}.tox[dir=rtl] .tox-sv-palette{margin-left:15px}.tox[dir=rtl] .tox-hue-slider{margin-left:15px}.tox[dir=rtl] .tox-hue-slider-thumb{margin-right:-1px}.tox[dir=rtl] .tox-rgb-form label{margin-left:.5em}.tox .tox-toolbar .tox-swatches,.tox .tox-toolbar__overflow .tox-swatches,.tox .tox-toolbar__primary .tox-swatches{margin:2px 0 3px 4px}.tox .tox-collection--list .tox-collection__group .tox-swatches-menu{border:0;margin:-4px 0}.tox .tox-swatches__row{display:flex}.tox .tox-swatch{height:30px;transition:transform .15s,box-shadow .15s;width:30px}.tox .tox-swatch:focus,.tox .tox-swatch:hover{box-shadow:0 0 0 1px rgba(127,127,127,.3) inset;transform:scale(.8)}.tox .tox-swatch--remove{align-items:center;display:flex;justify-content:center}.tox .tox-swatch--remove svg path{stroke:#e74c3c}.tox .tox-swatches__picker-btn{align-items:center;background-color:transparent;border:0;cursor:pointer;display:flex;height:30px;justify-content:center;outline:0;padding:0;width:30px}.tox .tox-swatches__picker-btn svg{height:24px;width:24px}.tox .tox-swatches__picker-btn:hover{background:#4a5562}.tox:not([dir=rtl]) .tox-swatches__picker-btn{margin-left:auto}.tox[dir=rtl] .tox-swatches__picker-btn{margin-right:auto}.tox .tox-comment-thread{background:#2b3b4e;position:relative}.tox .tox-comment-thread>:not(:first-child){margin-top:8px}.tox .tox-comment{background:#2b3b4e;border:1px solid #000;border-radius:3px;box-shadow:0 4px 8px 0 rgba(42,55,70,.1);padding:8px 8px 16px 8px;position:relative}.tox .tox-comment__header{align-items:center;color:#fff;display:flex;justify-content:space-between}.tox .tox-comment__date{color:rgba(255,255,255,.5);font-size:12px}.tox .tox-comment__body{color:#fff;font-size:14px;font-style:normal;font-weight:400;line-height:1.3;margin-top:8px;position:relative;text-transform:initial}.tox .tox-comment__body textarea{resize:none;white-space:normal;width:100%}.tox .tox-comment__expander{padding-top:8px}.tox .tox-comment__expander p{color:rgba(255,255,255,.5);font-size:14px;font-style:normal}.tox .tox-comment__body p{margin:0}.tox .tox-comment__buttonspacing{padding-top:16px;text-align:center}.tox .tox-comment-thread__overlay::after{background:#2b3b4e;bottom:0;content:"";display:flex;left:0;opacity:.9;position:absolute;right:0;top:0;z-index:5}.tox .tox-comment__reply{display:flex;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end;margin-top:8px}.tox .tox-comment__reply>:first-child{margin-bottom:8px;width:100%}.tox .tox-comment__edit{display:flex;flex-wrap:wrap;justify-content:flex-end;margin-top:16px}.tox .tox-comment__gradient::after{background:linear-gradient(rgba(43,59,78,0),#2b3b4e);bottom:0;content:"";display:block;height:5em;margin-top:-40px;position:absolute;width:100%}.tox .tox-comment__overlay{background:#2b3b4e;bottom:0;display:flex;flex-direction:column;flex-grow:1;left:0;opacity:.9;position:absolute;right:0;text-align:center;top:0;z-index:5}.tox .tox-comment__loading-text{align-items:center;color:#fff;display:flex;flex-direction:column;position:relative}.tox .tox-comment__loading-text>div{padding-bottom:16px}.tox .tox-comment__overlaytext{bottom:0;flex-direction:column;font-size:14px;left:0;padding:1em;position:absolute;right:0;top:0;z-index:10}.tox .tox-comment__overlaytext p{background-color:#2b3b4e;box-shadow:0 0 8px 8px #2b3b4e;color:#fff;text-align:center}.tox .tox-comment__overlaytext div:nth-of-type(2){font-size:.8em}.tox .tox-comment__busy-spinner{align-items:center;background-color:#2b3b4e;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:20}.tox .tox-comment__scroll{display:flex;flex-direction:column;flex-shrink:1;overflow:auto}.tox .tox-conversations{margin:8px}.tox:not([dir=rtl]) .tox-comment__edit{margin-left:8px}.tox:not([dir=rtl]) .tox-comment__buttonspacing>:last-child,.tox:not([dir=rtl]) .tox-comment__edit>:last-child,.tox:not([dir=rtl]) .tox-comment__reply>:last-child{margin-left:8px}.tox[dir=rtl] .tox-comment__edit{margin-right:8px}.tox[dir=rtl] .tox-comment__buttonspacing>:last-child,.tox[dir=rtl] .tox-comment__edit>:last-child,.tox[dir=rtl] .tox-comment__reply>:last-child{margin-right:8px}.tox .tox-user{align-items:center;display:flex}.tox .tox-user__avatar svg{fill:rgba(255,255,255,.5)}.tox .tox-user__name{color:rgba(255,255,255,.5);font-size:12px;font-style:normal;font-weight:700;text-transform:uppercase}.tox:not([dir=rtl]) .tox-user__avatar svg{margin-right:8px}.tox:not([dir=rtl]) .tox-user__avatar+.tox-user__name{margin-left:8px}.tox[dir=rtl] .tox-user__avatar svg{margin-left:8px}.tox[dir=rtl] .tox-user__avatar+.tox-user__name{margin-right:8px}.tox .tox-dialog-wrap{align-items:center;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1100}.tox .tox-dialog-wrap__backdrop{background-color:rgba(34,47,62,.75);bottom:0;left:0;position:absolute;right:0;top:0;z-index:1}.tox .tox-dialog-wrap__backdrop--opaque{background-color:#222f3e}.tox .tox-dialog{background-color:#2b3b4e;border-color:#000;border-radius:3px;border-style:solid;border-width:1px;box-shadow:0 16px 16px -10px rgba(42,55,70,.15),0 0 40px 1px rgba(42,55,70,.15);display:flex;flex-direction:column;max-height:100%;max-width:480px;overflow:hidden;position:relative;width:95vw;z-index:2}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox .tox-dialog{align-self:flex-start;margin:8px auto;width:calc(100vw - 16px)}}.tox .tox-dialog-inline{z-index:1100}.tox .tox-dialog__header{align-items:center;background-color:#2b3b4e;border-bottom:none;color:#fff;display:flex;font-size:16px;justify-content:space-between;padding:8px 16px 0 16px;position:relative}.tox .tox-dialog__header .tox-button{z-index:1}.tox .tox-dialog__draghandle{cursor:grab;height:100%;left:0;position:absolute;top:0;width:100%}.tox .tox-dialog__draghandle:active{cursor:grabbing}.tox .tox-dialog__dismiss{margin-left:auto}.tox .tox-dialog__title{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:20px;font-style:normal;font-weight:400;line-height:1.3;margin:0;text-transform:none}.tox .tox-dialog__body{color:#fff;display:flex;flex:1;-ms-flex-preferred-size:auto;font-size:16px;font-style:normal;font-weight:400;line-height:1.3;min-width:0;text-align:left;text-transform:none}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox .tox-dialog__body{flex-direction:column}}.tox .tox-dialog__body-nav{align-items:flex-start;display:flex;flex-direction:column;padding:16px 16px}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox .tox-dialog__body-nav{flex-direction:row;-webkit-overflow-scrolling:touch;overflow-x:auto;padding-bottom:0}}.tox .tox-dialog__body-nav-item{border-bottom:2px solid transparent;color:rgba(255,255,255,.5);display:inline-block;font-size:14px;line-height:1.3;margin-bottom:8px;text-decoration:none;white-space:nowrap}.tox .tox-dialog__body-nav-item:focus{background-color:rgba(32,122,183,.1)}.tox .tox-dialog__body-nav-item--active{border-bottom:2px solid #207ab7;color:#207ab7}.tox .tox-dialog__body-content{box-sizing:border-box;display:flex;flex:1;flex-direction:column;-ms-flex-preferred-size:auto;max-height:650px;overflow:auto;-webkit-overflow-scrolling:touch;padding:16px 16px}.tox .tox-dialog__body-content>*{margin-bottom:0;margin-top:16px}.tox .tox-dialog__body-content>:first-child{margin-top:0}.tox .tox-dialog__body-content>:last-child{margin-bottom:0}.tox .tox-dialog__body-content>:only-child{margin-bottom:0;margin-top:0}.tox .tox-dialog__body-content a{color:#207ab7;cursor:pointer;text-decoration:none}.tox .tox-dialog__body-content a:focus,.tox .tox-dialog__body-content a:hover{color:#185d8c;text-decoration:none}.tox .tox-dialog__body-content a:active{color:#185d8c;text-decoration:none}.tox .tox-dialog__body-content svg{fill:#fff}.tox .tox-dialog__body-content ul{display:block;list-style-type:disc;margin-bottom:16px;-webkit-margin-end:0;margin-inline-end:0;-webkit-margin-start:0;margin-inline-start:0;-webkit-padding-start:2.5rem;padding-inline-start:2.5rem}.tox .tox-dialog__body-content .tox-form__group h1{color:#fff;font-size:20px;font-style:normal;font-weight:700;letter-spacing:normal;margin-bottom:16px;margin-top:2rem;text-transform:none}.tox .tox-dialog__body-content .tox-form__group h2{color:#fff;font-size:16px;font-style:normal;font-weight:700;letter-spacing:normal;margin-bottom:16px;margin-top:2rem;text-transform:none}.tox .tox-dialog__body-content .tox-form__group p{margin-bottom:16px}.tox .tox-dialog__body-content .tox-form__group h1:first-child,.tox .tox-dialog__body-content .tox-form__group h2:first-child,.tox .tox-dialog__body-content .tox-form__group p:first-child{margin-top:0}.tox .tox-dialog__body-content .tox-form__group h1:last-child,.tox .tox-dialog__body-content .tox-form__group h2:last-child,.tox .tox-dialog__body-content .tox-form__group p:last-child{margin-bottom:0}.tox .tox-dialog__body-content .tox-form__group h1:only-child,.tox .tox-dialog__body-content .tox-form__group h2:only-child,.tox .tox-dialog__body-content .tox-form__group p:only-child{margin-bottom:0;margin-top:0}.tox .tox-dialog--width-lg{height:650px;max-width:1200px}.tox .tox-dialog--width-md{max-width:800px}.tox .tox-dialog--width-md .tox-dialog__body-content{overflow:auto}.tox .tox-dialog__body-content--centered{text-align:center}.tox .tox-dialog__footer{align-items:center;background-color:#2b3b4e;border-top:1px solid #000;display:flex;justify-content:space-between;padding:8px 16px}.tox .tox-dialog__footer-end,.tox .tox-dialog__footer-start{display:flex}.tox .tox-dialog__busy-spinner{align-items:center;background-color:rgba(34,47,62,.75);bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:3}.tox .tox-dialog__table{border-collapse:collapse;width:100%}.tox .tox-dialog__table thead th{font-weight:700;padding-bottom:8px}.tox .tox-dialog__table tbody tr{border-bottom:1px solid #000}.tox .tox-dialog__table tbody tr:last-child{border-bottom:none}.tox .tox-dialog__table td{padding-bottom:8px;padding-top:8px}.tox .tox-dialog__popups{position:absolute;width:100%;z-index:1100}.tox .tox-dialog__body-iframe{display:flex;flex:1;flex-direction:column;-ms-flex-preferred-size:auto}.tox .tox-dialog__body-iframe .tox-navobj{display:flex;flex:1;-ms-flex-preferred-size:auto}.tox .tox-dialog__body-iframe .tox-navobj :nth-child(2){flex:1;-ms-flex-preferred-size:auto;height:100%}.tox .tox-dialog-dock-fadeout{opacity:0;visibility:hidden}.tox .tox-dialog-dock-fadein{opacity:1;visibility:visible}.tox .tox-dialog-dock-transition{transition:visibility 0s linear .3s,opacity .3s ease}.tox .tox-dialog-dock-transition.tox-dialog-dock-fadein{transition-delay:0s}.tox.tox-platform-ie .tox-dialog-wrap{position:-ms-device-fixed}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox:not([dir=rtl]) .tox-dialog__body-nav{margin-right:0}}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox:not([dir=rtl]) .tox-dialog__body-nav-item:not(:first-child){margin-left:8px}}.tox:not([dir=rtl]) .tox-dialog__footer .tox-dialog__footer-end>*,.tox:not([dir=rtl]) .tox-dialog__footer .tox-dialog__footer-start>*{margin-left:8px}.tox[dir=rtl] .tox-dialog__body{text-align:right}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox[dir=rtl] .tox-dialog__body-nav{margin-left:0}}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox[dir=rtl] .tox-dialog__body-nav-item:not(:first-child){margin-right:8px}}.tox[dir=rtl] .tox-dialog__footer .tox-dialog__footer-end>*,.tox[dir=rtl] .tox-dialog__footer .tox-dialog__footer-start>*{margin-right:8px}body.tox-dialog__disable-scroll{overflow:hidden}.tox .tox-dropzone-container{display:flex;flex:1;-ms-flex-preferred-size:auto}.tox .tox-dropzone{align-items:center;background:#fff;border:2px dashed #000;box-sizing:border-box;display:flex;flex-direction:column;flex-grow:1;justify-content:center;min-height:100px;padding:10px}.tox .tox-dropzone p{color:rgba(255,255,255,.5);margin:0 0 16px 0}.tox .tox-edit-area{display:flex;flex:1;-ms-flex-preferred-size:auto;overflow:hidden;position:relative}.tox .tox-edit-area__iframe{background-color:#fff;border:0;box-sizing:border-box;flex:1;-ms-flex-preferred-size:auto;height:100%;position:absolute;width:100%}.tox.tox-inline-edit-area{border:1px dotted #000}.tox .tox-editor-container{display:flex;flex:1 1 auto;flex-direction:column;overflow:hidden}.tox .tox-editor-header{z-index:1}.tox:not(.tox-tinymce-inline) .tox-editor-header{box-shadow:none;transition:box-shadow .5s}.tox.tox-tinymce--toolbar-bottom .tox-editor-header,.tox.tox-tinymce-inline .tox-editor-header{margin-bottom:-1px}.tox.tox-tinymce--toolbar-sticky-on .tox-editor-header{background-color:transparent;box-shadow:0 4px 4px -3px rgba(0,0,0,.25)}.tox-editor-dock-fadeout{opacity:0;visibility:hidden}.tox-editor-dock-fadein{opacity:1;visibility:visible}.tox-editor-dock-transition{transition:visibility 0s linear .25s,opacity .25s ease}.tox-editor-dock-transition.tox-editor-dock-fadein{transition-delay:0s}.tox .tox-control-wrap{flex:1;position:relative}.tox .tox-control-wrap:not(.tox-control-wrap--status-invalid) .tox-control-wrap__status-icon-invalid,.tox .tox-control-wrap:not(.tox-control-wrap--status-unknown) .tox-control-wrap__status-icon-unknown,.tox .tox-control-wrap:not(.tox-control-wrap--status-valid) .tox-control-wrap__status-icon-valid{display:none}.tox .tox-control-wrap svg{display:block}.tox .tox-control-wrap__status-icon-wrap{position:absolute;top:50%;transform:translateY(-50%)}.tox .tox-control-wrap__status-icon-invalid svg{fill:#c00}.tox .tox-control-wrap__status-icon-unknown svg{fill:orange}.tox .tox-control-wrap__status-icon-valid svg{fill:green}.tox:not([dir=rtl]) .tox-control-wrap--status-invalid .tox-textfield,.tox:not([dir=rtl]) .tox-control-wrap--status-unknown .tox-textfield,.tox:not([dir=rtl]) .tox-control-wrap--status-valid .tox-textfield{padding-right:32px}.tox:not([dir=rtl]) .tox-control-wrap__status-icon-wrap{right:4px}.tox[dir=rtl] .tox-control-wrap--status-invalid .tox-textfield,.tox[dir=rtl] .tox-control-wrap--status-unknown .tox-textfield,.tox[dir=rtl] .tox-control-wrap--status-valid .tox-textfield{padding-left:32px}.tox[dir=rtl] .tox-control-wrap__status-icon-wrap{left:4px}.tox .tox-autocompleter{max-width:25em}.tox .tox-autocompleter .tox-menu{max-width:25em}.tox .tox-autocompleter .tox-autocompleter-highlight{font-weight:700}.tox .tox-color-input{display:flex;position:relative;z-index:1}.tox .tox-color-input .tox-textfield{z-index:-1}.tox .tox-color-input span{border-color:rgba(42,55,70,.2);border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;height:24px;position:absolute;top:6px;width:24px}.tox .tox-color-input span:focus:not([aria-disabled=true]),.tox .tox-color-input span:hover:not([aria-disabled=true]){border-color:#207ab7;cursor:pointer}.tox .tox-color-input span::before{background-image:linear-gradient(45deg,rgba(255,255,255,.25) 25%,transparent 25%),linear-gradient(-45deg,rgba(255,255,255,.25) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(255,255,255,.25) 75%),linear-gradient(-45deg,transparent 75%,rgba(255,255,255,.25) 75%);background-position:0 0,0 6px,6px -6px,-6px 0;background-size:12px 12px;border:1px solid #2b3b4e;border-radius:3px;box-sizing:border-box;content:'';height:24px;left:-1px;position:absolute;top:-1px;width:24px;z-index:-1}.tox .tox-color-input span[aria-disabled=true]{cursor:not-allowed}.tox:not([dir=rtl]) .tox-color-input .tox-textfield{padding-left:36px}.tox:not([dir=rtl]) .tox-color-input span{left:6px}.tox[dir=rtl] .tox-color-input .tox-textfield{padding-right:36px}.tox[dir=rtl] .tox-color-input span{right:6px}.tox .tox-label,.tox .tox-toolbar-label{color:rgba(255,255,255,.5);display:block;font-size:14px;font-style:normal;font-weight:400;line-height:1.3;padding:0 8px 0 0;text-transform:none;white-space:nowrap}.tox .tox-toolbar-label{padding:0 8px}.tox[dir=rtl] .tox-label{padding:0 0 0 8px}.tox .tox-form{display:flex;flex:1;flex-direction:column;-ms-flex-preferred-size:auto}.tox .tox-form__group{box-sizing:border-box;margin-bottom:4px}.tox .tox-form-group--maximize{flex:1}.tox .tox-form__group--error{color:#c00}.tox .tox-form__group--collection{display:flex}.tox .tox-form__grid{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between}.tox .tox-form__grid--2col>.tox-form__group{width:calc(50% - (8px / 2))}.tox .tox-form__grid--3col>.tox-form__group{width:calc(100% / 3 - (8px / 2))}.tox .tox-form__grid--4col>.tox-form__group{width:calc(25% - (8px / 2))}.tox .tox-form__controls-h-stack{align-items:center;display:flex}.tox .tox-form__group--inline{align-items:center;display:flex}.tox .tox-form__group--stretched{display:flex;flex:1;flex-direction:column;-ms-flex-preferred-size:auto}.tox .tox-form__group--stretched .tox-textarea{flex:1;-ms-flex-preferred-size:auto}.tox .tox-form__group--stretched .tox-navobj{display:flex;flex:1;-ms-flex-preferred-size:auto}.tox .tox-form__group--stretched .tox-navobj :nth-child(2){flex:1;-ms-flex-preferred-size:auto;height:100%}.tox:not([dir=rtl]) .tox-form__controls-h-stack>:not(:first-child){margin-left:4px}.tox[dir=rtl] .tox-form__controls-h-stack>:not(:first-child){margin-right:4px}.tox .tox-lock.tox-locked .tox-lock-icon__unlock,.tox .tox-lock:not(.tox-locked) .tox-lock-icon__lock{display:none}.tox .tox-listboxfield .tox-listbox--select,.tox .tox-textarea,.tox .tox-textfield,.tox .tox-toolbar-textfield{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#2b3b4e;border-color:#000;border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;color:#fff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:16px;line-height:24px;margin:0;min-height:34px;outline:0;padding:5px 4.75px;resize:none;width:100%}.tox .tox-textarea[disabled],.tox .tox-textfield[disabled]{background-color:#222f3e;color:rgba(255,255,255,.85);cursor:not-allowed}.tox .tox-listboxfield .tox-listbox--select:focus,.tox .tox-textarea:focus,.tox .tox-textfield:focus{background-color:#2b3b4e;border-color:#207ab7;box-shadow:none;outline:0}.tox .tox-toolbar-textfield{border-width:0;margin-bottom:3px;margin-top:2px;max-width:250px}.tox .tox-naked-btn{background-color:transparent;border:0;border-color:transparent;box-shadow:unset;color:#207ab7;cursor:pointer;display:block;margin:0;padding:0}.tox .tox-naked-btn svg{display:block;fill:#fff}.tox:not([dir=rtl]) .tox-toolbar-textfield+*{margin-left:4px}.tox[dir=rtl] .tox-toolbar-textfield+*{margin-right:4px}.tox .tox-listboxfield{cursor:pointer;position:relative}.tox .tox-listboxfield .tox-listbox--select[disabled]{background-color:#19232e;color:rgba(255,255,255,.85);cursor:not-allowed}.tox .tox-listbox__select-label{cursor:default;flex:1;margin:0 4px}.tox .tox-listbox__select-chevron{align-items:center;display:flex;justify-content:center;width:16px}.tox .tox-listbox__select-chevron svg{fill:#fff}.tox .tox-listboxfield .tox-listbox--select{align-items:center;display:flex}.tox:not([dir=rtl]) .tox-listboxfield svg{right:8px}.tox[dir=rtl] .tox-listboxfield svg{left:8px}.tox .tox-selectfield{cursor:pointer;position:relative}.tox .tox-selectfield select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#2b3b4e;border-color:#000;border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;color:#fff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:16px;line-height:24px;margin:0;min-height:34px;outline:0;padding:5px 4.75px;resize:none;width:100%}.tox .tox-selectfield select[disabled]{background-color:#19232e;color:rgba(255,255,255,.85);cursor:not-allowed}.tox .tox-selectfield select::-ms-expand{display:none}.tox .tox-selectfield select:focus{background-color:#2b3b4e;border-color:#207ab7;box-shadow:none;outline:0}.tox .tox-selectfield svg{pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.tox:not([dir=rtl]) .tox-selectfield select[size="0"],.tox:not([dir=rtl]) .tox-selectfield select[size="1"]{padding-right:24px}.tox:not([dir=rtl]) .tox-selectfield svg{right:8px}.tox[dir=rtl] .tox-selectfield select[size="0"],.tox[dir=rtl] .tox-selectfield select[size="1"]{padding-left:24px}.tox[dir=rtl] .tox-selectfield svg{left:8px}.tox .tox-textarea{-webkit-appearance:textarea;-moz-appearance:textarea;appearance:textarea;white-space:pre-wrap}.tox-fullscreen{border:0;height:100%;margin:0;overflow:hidden;-ms-scroll-chaining:none;overscroll-behavior:none;padding:0;touch-action:pinch-zoom;width:100%}.tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle{display:none}.tox-shadowhost.tox-fullscreen,.tox.tox-tinymce.tox-fullscreen{left:0;position:fixed;top:0;z-index:1200}.tox.tox-tinymce.tox-fullscreen{background-color:transparent}.tox-fullscreen .tox.tox-tinymce-aux,.tox-fullscreen~.tox.tox-tinymce-aux{z-index:1201}.tox .tox-help__more-link{list-style:none;margin-top:1em}.tox .tox-image-tools{width:100%}.tox .tox-image-tools__toolbar{align-items:center;display:flex;justify-content:center}.tox .tox-image-tools__image{background-color:#666;height:380px;overflow:auto;position:relative;width:100%}.tox .tox-image-tools__image,.tox .tox-image-tools__image+.tox-image-tools__toolbar{margin-top:8px}.tox .tox-image-tools__image-bg{background:url(data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==)}.tox .tox-image-tools__toolbar>.tox-spacer{flex:1;-ms-flex-preferred-size:auto}.tox .tox-croprect-block{background:#000;opacity:.5;position:absolute;zoom:1}.tox .tox-croprect-handle{border:2px solid #fff;height:20px;left:0;position:absolute;top:0;width:20px}.tox .tox-croprect-handle-move{border:0;cursor:move;position:absolute}.tox .tox-croprect-handle-nw{border-width:2px 0 0 2px;cursor:nw-resize;left:100px;margin:-2px 0 0 -2px;top:100px}.tox .tox-croprect-handle-ne{border-width:2px 2px 0 0;cursor:ne-resize;left:200px;margin:-2px 0 0 -20px;top:100px}.tox .tox-croprect-handle-sw{border-width:0 0 2px 2px;cursor:sw-resize;left:100px;margin:-20px 2px 0 -2px;top:200px}.tox .tox-croprect-handle-se{border-width:0 2px 2px 0;cursor:se-resize;left:200px;margin:-20px 0 0 -20px;top:200px}.tox:not([dir=rtl]) .tox-image-tools__toolbar>.tox-slider:not(:first-of-type){margin-left:8px}.tox:not([dir=rtl]) .tox-image-tools__toolbar>.tox-button+.tox-slider{margin-left:32px}.tox:not([dir=rtl]) .tox-image-tools__toolbar>.tox-slider+.tox-button{margin-left:32px}.tox[dir=rtl] .tox-image-tools__toolbar>.tox-slider:not(:first-of-type){margin-right:8px}.tox[dir=rtl] .tox-image-tools__toolbar>.tox-button+.tox-slider{margin-right:32px}.tox[dir=rtl] .tox-image-tools__toolbar>.tox-slider+.tox-button{margin-right:32px}.tox .tox-insert-table-picker{display:flex;flex-wrap:wrap;width:170px}.tox .tox-insert-table-picker>div{border-color:#000;border-style:solid;border-width:0 1px 1px 0;box-sizing:border-box;height:17px;width:17px}.tox .tox-collection--list .tox-collection__group .tox-insert-table-picker{margin:-4px 0}.tox .tox-insert-table-picker .tox-insert-table-picker__selected{background-color:rgba(32,122,183,.5);border-color:rgba(32,122,183,.5)}.tox .tox-insert-table-picker__label{color:#fff;display:block;font-size:14px;padding:4px;text-align:center;width:100%}.tox:not([dir=rtl]) .tox-insert-table-picker>div:nth-child(10n){border-right:0}.tox[dir=rtl] .tox-insert-table-picker>div:nth-child(10n+1){border-right:0}.tox .tox-menu{background-color:#2b3b4e;border:1px solid #000;border-radius:3px;box-shadow:0 4px 8px 0 rgba(42,55,70,.1);display:inline-block;overflow:hidden;vertical-align:top;z-index:1150}.tox .tox-menu.tox-collection.tox-collection--list{padding:0}.tox .tox-menu.tox-collection.tox-collection--toolbar{padding:4px}.tox .tox-menu.tox-collection.tox-collection--grid{padding:4px}.tox .tox-menu__label blockquote,.tox .tox-menu__label code,.tox .tox-menu__label h1,.tox .tox-menu__label h2,.tox .tox-menu__label h3,.tox .tox-menu__label h4,.tox .tox-menu__label h5,.tox .tox-menu__label h6,.tox .tox-menu__label p{margin:0}.tox .tox-menubar{background:url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%23000000'/%3E%3C/svg%3E") left 0 top 0 #222f3e;background-color:#222f3e;display:flex;flex:0 0 auto;flex-shrink:0;flex-wrap:wrap;padding:0 4px 0 4px}.tox.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-menubar{border-top:1px solid #000}.tox .tox-mbtn{align-items:center;background:0 0;border:0;border-radius:3px;box-shadow:none;color:#fff;display:flex;flex:0 0 auto;font-size:14px;font-style:normal;font-weight:400;height:34px;justify-content:center;margin:2px 0 3px 0;outline:0;overflow:hidden;padding:0 4px;text-transform:none;width:auto}.tox .tox-mbtn[disabled]{background-color:transparent;border:0;box-shadow:none;color:rgba(255,255,255,.5);cursor:not-allowed}.tox .tox-mbtn:focus:not(:disabled){background:#4a5562;border:0;box-shadow:none;color:#fff}.tox .tox-mbtn--active{background:#757d87;border:0;box-shadow:none;color:#fff}.tox .tox-mbtn:hover:not(:disabled):not(.tox-mbtn--active){background:#4a5562;border:0;box-shadow:none;color:#fff}.tox .tox-mbtn__select-label{cursor:default;font-weight:400;margin:0 4px}.tox .tox-mbtn[disabled] .tox-mbtn__select-label{cursor:not-allowed}.tox .tox-mbtn__select-chevron{align-items:center;display:flex;justify-content:center;width:16px;display:none}.tox .tox-notification{border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;display:-ms-grid;display:grid;font-size:14px;font-weight:400;-ms-grid-columns:minmax(40px,1fr) auto minmax(40px,1fr);grid-template-columns:minmax(40px,1fr) auto minmax(40px,1fr);margin-top:4px;opacity:0;padding:4px;transition:transform .1s ease-in,opacity 150ms ease-in}.tox .tox-notification p{font-size:14px;font-weight:400}.tox .tox-notification a{cursor:pointer;text-decoration:underline}.tox .tox-notification--in{opacity:1}.tox .tox-notification--success{background-color:#e4eeda;border-color:#d7e6c8;color:#fff}.tox .tox-notification--success p{color:#fff}.tox .tox-notification--success a{color:#547831}.tox .tox-notification--success svg{fill:#fff}.tox .tox-notification--error{background-color:#f8dede;border-color:#f2bfbf;color:#fff}.tox .tox-notification--error p{color:#fff}.tox .tox-notification--error a{color:#c00}.tox .tox-notification--error svg{fill:#fff}.tox .tox-notification--warn,.tox .tox-notification--warning{background-color:#fffaea;border-color:#ffe89d;color:#fff}.tox .tox-notification--warn p,.tox .tox-notification--warning p{color:#fff}.tox .tox-notification--warn a,.tox .tox-notification--warning a{color:#fff}.tox .tox-notification--warn svg,.tox .tox-notification--warning svg{fill:#fff}.tox .tox-notification--info{background-color:#d9edf7;border-color:#779ecb;color:#fff}.tox .tox-notification--info p{color:#fff}.tox .tox-notification--info a{color:#fff}.tox .tox-notification--info svg{fill:#fff}.tox .tox-notification__body{-ms-grid-row-align:center;align-self:center;color:#fff;font-size:14px;-ms-grid-column-span:1;grid-column-end:3;-ms-grid-column:2;grid-column-start:2;-ms-grid-row-span:1;grid-row-end:2;-ms-grid-row:1;grid-row-start:1;text-align:center;white-space:normal;word-break:break-all;word-break:break-word}.tox .tox-notification__body>*{margin:0}.tox .tox-notification__body>*+*{margin-top:1rem}.tox .tox-notification__icon{-ms-grid-row-align:center;align-self:center;-ms-grid-column-span:1;grid-column-end:2;-ms-grid-column:1;grid-column-start:1;-ms-grid-row-span:1;grid-row-end:2;-ms-grid-row:1;grid-row-start:1;-ms-grid-column-align:end;justify-self:end}.tox .tox-notification__icon svg{display:block}.tox .tox-notification__dismiss{-ms-grid-row-align:start;align-self:start;-ms-grid-column-span:1;grid-column-end:4;-ms-grid-column:3;grid-column-start:3;-ms-grid-row-span:1;grid-row-end:2;-ms-grid-row:1;grid-row-start:1;-ms-grid-column-align:end;justify-self:end}.tox .tox-notification .tox-progress-bar{-ms-grid-column-span:3;grid-column-end:4;-ms-grid-column:1;grid-column-start:1;-ms-grid-row-span:1;grid-row-end:3;-ms-grid-row:2;grid-row-start:2;-ms-grid-column-align:center;justify-self:center}.tox .tox-pop{display:inline-block;position:relative}.tox .tox-pop--resizing{transition:width .1s ease}.tox .tox-pop--resizing .tox-toolbar,.tox .tox-pop--resizing .tox-toolbar__group{flex-wrap:nowrap}.tox .tox-pop--transition{transition:.15s ease;transition-property:left,right,top,bottom}.tox .tox-pop--transition::after,.tox .tox-pop--transition::before{transition:all .15s,visibility 0s,opacity 75ms ease 75ms}.tox .tox-pop__dialog{background-color:#222f3e;border:1px solid #000;border-radius:3px;box-shadow:0 1px 3px rgba(0,0,0,.15);min-width:0;overflow:hidden}.tox .tox-pop__dialog>:not(.tox-toolbar){margin:4px 4px 4px 8px}.tox .tox-pop__dialog .tox-toolbar{background-color:transparent;margin-bottom:-1px}.tox .tox-pop::after,.tox .tox-pop::before{border-style:solid;content:'';display:block;height:0;opacity:1;position:absolute;width:0}.tox .tox-pop.tox-pop--inset::after,.tox .tox-pop.tox-pop--inset::before{opacity:0;transition:all 0s .15s,visibility 0s,opacity 75ms ease}.tox .tox-pop.tox-pop--bottom::after,.tox .tox-pop.tox-pop--bottom::before{left:50%;top:100%}.tox .tox-pop.tox-pop--bottom::after{border-color:#222f3e transparent transparent transparent;border-width:8px;margin-left:-8px;margin-top:-1px}.tox .tox-pop.tox-pop--bottom::before{border-color:#000 transparent transparent transparent;border-width:9px;margin-left:-9px}.tox .tox-pop.tox-pop--top::after,.tox .tox-pop.tox-pop--top::before{left:50%;top:0;transform:translateY(-100%)}.tox .tox-pop.tox-pop--top::after{border-color:transparent transparent #222f3e transparent;border-width:8px;margin-left:-8px;margin-top:1px}.tox .tox-pop.tox-pop--top::before{border-color:transparent transparent #000 transparent;border-width:9px;margin-left:-9px}.tox .tox-pop.tox-pop--left::after,.tox .tox-pop.tox-pop--left::before{left:0;top:calc(50% - 1px);transform:translateY(-50%)}.tox .tox-pop.tox-pop--left::after{border-color:transparent #222f3e transparent transparent;border-width:8px;margin-left:-15px}.tox .tox-pop.tox-pop--left::before{border-color:transparent #000 transparent transparent;border-width:10px;margin-left:-19px}.tox .tox-pop.tox-pop--right::after,.tox .tox-pop.tox-pop--right::before{left:100%;top:calc(50% + 1px);transform:translateY(-50%)}.tox .tox-pop.tox-pop--right::after{border-color:transparent transparent transparent #222f3e;border-width:8px;margin-left:-1px}.tox .tox-pop.tox-pop--right::before{border-color:transparent transparent transparent #000;border-width:10px;margin-left:-1px}.tox .tox-pop.tox-pop--align-left::after,.tox .tox-pop.tox-pop--align-left::before{left:20px}.tox .tox-pop.tox-pop--align-right::after,.tox .tox-pop.tox-pop--align-right::before{left:calc(100% - 20px)}.tox .tox-sidebar-wrap{display:flex;flex-direction:row;flex-grow:1;-ms-flex-preferred-size:0;min-height:0}.tox .tox-sidebar{background-color:#222f3e;display:flex;flex-direction:row;justify-content:flex-end}.tox .tox-sidebar__slider{display:flex;overflow:hidden}.tox .tox-sidebar__pane-container{display:flex}.tox .tox-sidebar__pane{display:flex}.tox .tox-sidebar--sliding-closed{opacity:0}.tox .tox-sidebar--sliding-open{opacity:1}.tox .tox-sidebar--sliding-growing,.tox .tox-sidebar--sliding-shrinking{transition:width .5s ease,opacity .5s ease}.tox .tox-selector{background-color:#4099ff;border-color:#4099ff;border-style:solid;border-width:1px;box-sizing:border-box;display:inline-block;height:10px;position:absolute;width:10px}.tox.tox-platform-touch .tox-selector{height:12px;width:12px}.tox .tox-slider{align-items:center;display:flex;flex:1;-ms-flex-preferred-size:auto;height:24px;justify-content:center;position:relative}.tox .tox-slider__rail{background-color:transparent;border:1px solid #000;border-radius:3px;height:10px;min-width:120px;width:100%}.tox .tox-slider__handle{background-color:#207ab7;border:2px solid #185d8c;border-radius:3px;box-shadow:none;height:24px;left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%);width:14px}.tox .tox-source-code{overflow:auto}.tox .tox-spinner{display:flex}.tox .tox-spinner>div{animation:tam-bouncing-dots 1.5s ease-in-out 0s infinite both;background-color:rgba(255,255,255,.5);border-radius:100%;height:8px;width:8px}.tox .tox-spinner>div:nth-child(1){animation-delay:-.32s}.tox .tox-spinner>div:nth-child(2){animation-delay:-.16s}@keyframes tam-bouncing-dots{0%,100%,80%{transform:scale(0)}40%{transform:scale(1)}}.tox:not([dir=rtl]) .tox-spinner>div:not(:first-child){margin-left:4px}.tox[dir=rtl] .tox-spinner>div:not(:first-child){margin-right:4px}.tox .tox-statusbar{align-items:center;background-color:#222f3e;border-top:1px solid #000;color:#fff;display:flex;flex:0 0 auto;font-size:12px;font-weight:400;height:18px;overflow:hidden;padding:0 8px;position:relative;text-transform:uppercase}.tox .tox-statusbar__text-container{display:flex;flex:1 1 auto;justify-content:flex-end;overflow:hidden}.tox .tox-statusbar__path{display:flex;flex:1 1 auto;margin-right:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tox .tox-statusbar__path>*{display:inline;white-space:nowrap}.tox .tox-statusbar__wordcount{flex:0 0 auto;margin-left:1ch}.tox .tox-statusbar a,.tox .tox-statusbar__path-item,.tox .tox-statusbar__wordcount{color:#fff;text-decoration:none}.tox .tox-statusbar a:focus:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar a:hover:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__path-item:focus:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__path-item:hover:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__wordcount:focus:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__wordcount:hover:not(:disabled):not([aria-disabled=true]){cursor:pointer;text-decoration:underline}.tox .tox-statusbar__resize-handle{align-items:flex-end;align-self:stretch;cursor:nwse-resize;display:flex;flex:0 0 auto;justify-content:flex-end;margin-left:auto;margin-right:-8px;padding-left:1ch}.tox .tox-statusbar__resize-handle svg{display:block;fill:#fff}.tox .tox-statusbar__resize-handle:focus svg{background-color:#4a5562;border-radius:1px;box-shadow:0 0 0 2px #4a5562}.tox:not([dir=rtl]) .tox-statusbar__path>*{margin-right:4px}.tox:not([dir=rtl]) .tox-statusbar__branding{margin-left:1ch}.tox[dir=rtl] .tox-statusbar{flex-direction:row-reverse}.tox[dir=rtl] .tox-statusbar__path>*{margin-left:4px}.tox .tox-throbber{z-index:1299}.tox .tox-throbber__busy-spinner{align-items:center;background-color:rgba(34,47,62,.6);bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0}.tox .tox-tbtn{align-items:center;background:0 0;border:0;border-radius:3px;box-shadow:none;color:#fff;display:flex;flex:0 0 auto;font-size:14px;font-style:normal;font-weight:400;height:34px;justify-content:center;margin:2px 0 3px 0;outline:0;overflow:hidden;padding:0;text-transform:none;width:34px}.tox .tox-tbtn svg{display:block;fill:#fff}.tox .tox-tbtn.tox-tbtn-more{padding-left:5px;padding-right:5px;width:inherit}.tox .tox-tbtn:focus{background:#4a5562;border:0;box-shadow:none}.tox .tox-tbtn:hover{background:#4a5562;border:0;box-shadow:none;color:#fff}.tox .tox-tbtn:hover svg{fill:#fff}.tox .tox-tbtn:active{background:#757d87;border:0;box-shadow:none;color:#fff}.tox .tox-tbtn:active svg{fill:#fff}.tox .tox-tbtn--disabled,.tox .tox-tbtn--disabled:hover,.tox .tox-tbtn:disabled,.tox .tox-tbtn:disabled:hover{background:0 0;border:0;box-shadow:none;color:rgba(255,255,255,.5);cursor:not-allowed}.tox .tox-tbtn--disabled svg,.tox .tox-tbtn--disabled:hover svg,.tox .tox-tbtn:disabled svg,.tox .tox-tbtn:disabled:hover svg{fill:rgba(255,255,255,.5)}.tox .tox-tbtn--enabled,.tox .tox-tbtn--enabled:hover{background:#757d87;border:0;box-shadow:none;color:#fff}.tox .tox-tbtn--enabled:hover>*,.tox .tox-tbtn--enabled>*{transform:none}.tox .tox-tbtn--enabled svg,.tox .tox-tbtn--enabled:hover svg{fill:#fff}.tox .tox-tbtn:focus:not(.tox-tbtn--disabled){color:#fff}.tox .tox-tbtn:focus:not(.tox-tbtn--disabled) svg{fill:#fff}.tox .tox-tbtn:active>*{transform:none}.tox .tox-tbtn--md{height:51px;width:51px}.tox .tox-tbtn--lg{flex-direction:column;height:68px;width:68px}.tox .tox-tbtn--return{-ms-grid-row-align:stretch;align-self:stretch;height:unset;width:16px}.tox .tox-tbtn--labeled{padding:0 4px;width:unset}.tox .tox-tbtn__vlabel{display:block;font-size:10px;font-weight:400;letter-spacing:-.025em;margin-bottom:4px;white-space:nowrap}.tox .tox-tbtn--select{margin:2px 0 3px 0;padding:0 4px;width:auto}.tox .tox-tbtn__select-label{cursor:default;font-weight:400;margin:0 4px}.tox .tox-tbtn__select-chevron{align-items:center;display:flex;justify-content:center;width:16px}.tox .tox-tbtn__select-chevron svg{fill:rgba(255,255,255,.5)}.tox .tox-tbtn--bespoke .tox-tbtn__select-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:7em}.tox .tox-split-button{border:0;border-radius:3px;box-sizing:border-box;display:flex;margin:2px 0 3px 0;overflow:hidden}.tox .tox-split-button:hover{box-shadow:0 0 0 1px #4a5562 inset}.tox .tox-split-button:focus{background:#4a5562;box-shadow:none;color:#fff}.tox .tox-split-button>*{border-radius:0}.tox .tox-split-button__chevron{width:16px}.tox .tox-split-button__chevron svg{fill:rgba(255,255,255,.5)}.tox .tox-split-button .tox-tbtn{margin:0}.tox.tox-platform-touch .tox-split-button .tox-tbtn:first-child{width:30px}.tox.tox-platform-touch .tox-split-button__chevron{width:20px}.tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:focus,.tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:hover,.tox .tox-split-button.tox-tbtn--disabled:focus,.tox .tox-split-button.tox-tbtn--disabled:hover{background:0 0;box-shadow:none;color:rgba(255,255,255,.5)}.tox .tox-toolbar-overlord{background-color:#222f3e}.tox .tox-toolbar,.tox .tox-toolbar__overflow,.tox .tox-toolbar__primary{background:url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%23000000'/%3E%3C/svg%3E") left 0 top 0 #222f3e;background-color:#222f3e;display:flex;flex:0 0 auto;flex-shrink:0;flex-wrap:wrap;padding:0 0}.tox .tox-toolbar__overflow.tox-toolbar__overflow--closed{height:0;opacity:0;padding-bottom:0;padding-top:0;visibility:hidden}.tox .tox-toolbar__overflow--growing{transition:height .3s ease,opacity .2s linear .1s}.tox .tox-toolbar__overflow--shrinking{transition:opacity .3s ease,height .2s linear .1s,visibility 0s linear .3s}.tox .tox-menubar+.tox-toolbar,.tox .tox-menubar+.tox-toolbar-overlord .tox-toolbar__primary{border-top:1px solid #000;margin-top:-1px}.tox .tox-toolbar--scrolling{flex-wrap:nowrap;overflow-x:auto}.tox .tox-pop .tox-toolbar{border-width:0}.tox .tox-toolbar--no-divider{background-image:none}.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-toolbar-overlord:first-child .tox-toolbar__primary,.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-toolbar:first-child{border-top:1px solid #000}.tox.tox-tinymce-aux .tox-toolbar__overflow{background-color:#222f3e;border:1px solid #000;border-radius:3px;box-shadow:0 1px 3px rgba(0,0,0,.15)}.tox .tox-toolbar__group{align-items:center;display:flex;flex-wrap:wrap;margin:0 0;padding:0 4px 0 4px}.tox .tox-toolbar__group--pull-right{margin-left:auto}.tox .tox-toolbar--scrolling .tox-toolbar__group{flex-shrink:0;flex-wrap:nowrap}.tox:not([dir=rtl]) .tox-toolbar__group:not(:last-of-type){border-right:1px solid #000}.tox[dir=rtl] .tox-toolbar__group:not(:last-of-type){border-left:1px solid #000}.tox .tox-tooltip{display:inline-block;padding:8px;position:relative}.tox .tox-tooltip__body{background-color:#3d546f;border-radius:3px;box-shadow:0 2px 4px rgba(42,55,70,.3);color:rgba(255,255,255,.75);font-size:14px;font-style:normal;font-weight:400;padding:4px 8px;text-transform:none}.tox .tox-tooltip__arrow{position:absolute}.tox .tox-tooltip--down .tox-tooltip__arrow{border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #3d546f;bottom:0;left:50%;position:absolute;transform:translateX(-50%)}.tox .tox-tooltip--up .tox-tooltip__arrow{border-bottom:8px solid #3d546f;border-left:8px solid transparent;border-right:8px solid transparent;left:50%;position:absolute;top:0;transform:translateX(-50%)}.tox .tox-tooltip--right .tox-tooltip__arrow{border-bottom:8px solid transparent;border-left:8px solid #3d546f;border-top:8px solid transparent;position:absolute;right:0;top:50%;transform:translateY(-50%)}.tox .tox-tooltip--left .tox-tooltip__arrow{border-bottom:8px solid transparent;border-right:8px solid #3d546f;border-top:8px solid transparent;left:0;position:absolute;top:50%;transform:translateY(-50%)}.tox .tox-well{border:1px solid #000;border-radius:3px;padding:8px;width:100%}.tox .tox-well>:first-child{margin-top:0}.tox .tox-well>:last-child{margin-bottom:0}.tox .tox-well>:only-child{margin:0}.tox .tox-custom-editor{border:1px solid #000;border-radius:3px;display:flex;flex:1;position:relative}.tox .tox-dialog-loading::before{background-color:rgba(0,0,0,.5);content:"";height:100%;position:absolute;width:100%;z-index:1000}.tox .tox-tab{cursor:pointer}.tox .tox-dialog__content-js{display:flex;flex:1;-ms-flex-preferred-size:auto}.tox .tox-dialog__body-content .tox-collection{display:flex;flex:1;-ms-flex-preferred-size:auto}.tox .tox-image-tools-edit-panel{height:60px}.tox .tox-image-tools__sidebar{height:60px} diff --git a/yunxi-ui-admin-vben/public/resource/tinymce/skins/ui/oxide-dark/skin.mobile.min.css b/yunxi-ui-admin-vben/public/resource/tinymce/skins/ui/oxide-dark/skin.mobile.min.css new file mode 100644 index 0000000..3a45cac --- /dev/null +++ b/yunxi-ui-admin-vben/public/resource/tinymce/skins/ui/oxide-dark/skin.mobile.min.css @@ -0,0 +1,7 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +.tinymce-mobile-outer-container{all:initial;display:block}.tinymce-mobile-outer-container *{border:0;box-sizing:initial;cursor:inherit;float:none;line-height:1;margin:0;outline:0;padding:0;-webkit-tap-highlight-color:transparent;text-shadow:none;white-space:nowrap}.tinymce-mobile-icon-arrow-back::before{content:"\e5cd"}.tinymce-mobile-icon-image::before{content:"\e412"}.tinymce-mobile-icon-cancel-circle::before{content:"\e5c9"}.tinymce-mobile-icon-full-dot::before{content:"\e061"}.tinymce-mobile-icon-align-center::before{content:"\e234"}.tinymce-mobile-icon-align-left::before{content:"\e236"}.tinymce-mobile-icon-align-right::before{content:"\e237"}.tinymce-mobile-icon-bold::before{content:"\e238"}.tinymce-mobile-icon-italic::before{content:"\e23f"}.tinymce-mobile-icon-unordered-list::before{content:"\e241"}.tinymce-mobile-icon-ordered-list::before{content:"\e242"}.tinymce-mobile-icon-font-size::before{content:"\e245"}.tinymce-mobile-icon-underline::before{content:"\e249"}.tinymce-mobile-icon-link::before{content:"\e157"}.tinymce-mobile-icon-unlink::before{content:"\eca2"}.tinymce-mobile-icon-color::before{content:"\e891"}.tinymce-mobile-icon-previous::before{content:"\e314"}.tinymce-mobile-icon-next::before{content:"\e315"}.tinymce-mobile-icon-large-font::before,.tinymce-mobile-icon-style-formats::before{content:"\e264"}.tinymce-mobile-icon-undo::before{content:"\e166"}.tinymce-mobile-icon-redo::before{content:"\e15a"}.tinymce-mobile-icon-removeformat::before{content:"\e239"}.tinymce-mobile-icon-small-font::before{content:"\e906"}.tinymce-mobile-format-matches::after,.tinymce-mobile-icon-readonly-back::before{content:"\e5ca"}.tinymce-mobile-icon-small-heading::before{content:"small"}.tinymce-mobile-icon-large-heading::before{content:"large"}.tinymce-mobile-icon-large-heading::before,.tinymce-mobile-icon-small-heading::before{font-family:sans-serif;font-size:80%}.tinymce-mobile-mask-edit-icon::before{content:"\e254"}.tinymce-mobile-icon-back::before{content:"\e5c4"}.tinymce-mobile-icon-heading::before{content:"Headings";font-family:sans-serif;font-size:80%;font-weight:700}.tinymce-mobile-icon-h1::before{content:"H1";font-weight:700}.tinymce-mobile-icon-h2::before{content:"H2";font-weight:700}.tinymce-mobile-icon-h3::before{content:"H3";font-weight:700}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask{align-items:center;display:flex;justify-content:center;background:rgba(51,51,51,.5);height:100%;position:absolute;top:0;width:100%}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container{align-items:center;border-radius:50%;display:flex;flex-direction:column;font-family:sans-serif;font-size:1em;justify-content:space-between}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .mixin-menu-item{align-items:center;display:flex;justify-content:center;border-radius:50%;height:2.1em;width:2.1em}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section{align-items:center;display:flex;justify-content:center;flex-direction:column;font-size:1em}@media only screen and (min-device-width:700px){.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section{font-size:1.2em}}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section .tinymce-mobile-mask-tap-icon{align-items:center;display:flex;justify-content:center;border-radius:50%;height:2.1em;width:2.1em;background-color:#fff;color:#207ab7}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section .tinymce-mobile-mask-tap-icon::before{content:"\e900";font-family:tinymce-mobile,sans-serif}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section:not(.tinymce-mobile-mask-tap-icon-selected) .tinymce-mobile-mask-tap-icon{z-index:2}.tinymce-mobile-android-container.tinymce-mobile-android-maximized{background:#fff;border:none;bottom:0;display:flex;flex-direction:column;left:0;position:fixed;right:0;top:0}.tinymce-mobile-android-container:not(.tinymce-mobile-android-maximized){position:relative}.tinymce-mobile-android-container .tinymce-mobile-editor-socket{display:flex;flex-grow:1}.tinymce-mobile-android-container .tinymce-mobile-editor-socket iframe{display:flex!important;flex-grow:1;height:auto!important}.tinymce-mobile-android-scroll-reload{overflow:hidden}:not(.tinymce-mobile-readonly-mode)>.tinymce-mobile-android-selection-context-toolbar{margin-top:23px}.tinymce-mobile-toolstrip{background:#fff;display:flex;flex:0 0 auto;z-index:1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar{align-items:center;background-color:#fff;border-bottom:1px solid #ccc;display:flex;flex:1;height:2.5em;width:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group{align-items:center;display:flex;height:100%;flex-shrink:1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group>div{align-items:center;display:flex;height:100%;flex:1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group.tinymce-mobile-exit-container{background:#f44336}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group.tinymce-mobile-toolbar-scrollable-group{flex-grow:1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item{padding-left:.5em;padding-right:.5em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item.tinymce-mobile-toolbar-button{align-items:center;display:flex;height:80%;margin-left:2px;margin-right:2px}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item.tinymce-mobile-toolbar-button.tinymce-mobile-toolbar-button-selected{background:#c8cbcf;color:#ccc}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group:first-of-type,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group:last-of-type{background:#207ab7;color:#eceff1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group{align-items:center;display:flex;height:100%;flex:1;padding-bottom:.4em;padding-top:.4em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog{display:flex;min-height:1.5em;overflow:hidden;padding-left:0;padding-right:0;position:relative;width:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain{display:flex;height:100%;transition:left cubic-bezier(.4,0,1,1) .15s;width:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen{display:flex;flex:0 0 auto;justify-content:space-between;width:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen input{font-family:Sans-serif}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container{display:flex;flex-grow:1;position:relative}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container .tinymce-mobile-input-container-x{-ms-grid-row-align:center;align-self:center;background:inherit;border:none;border-radius:50%;color:#888;font-size:.6em;font-weight:700;height:100%;padding-right:2px;position:absolute;right:0}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container.tinymce-mobile-input-container-empty .tinymce-mobile-input-container-x{display:none}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous{align-items:center;display:flex}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next::before,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous::before{align-items:center;display:flex;font-weight:700;height:100%;padding-left:.5em;padding-right:.5em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next.tinymce-mobile-toolbar-navigation-disabled::before,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous.tinymce-mobile-toolbar-navigation-disabled::before{visibility:hidden}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-item{color:#ccc;font-size:10px;line-height:10px;margin:0 2px;padding-top:3px}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-item.tinymce-mobile-dot-active{color:#c8cbcf}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-large-font::before,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-large-heading::before{margin-left:.5em;margin-right:.9em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-small-font::before,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-small-heading::before{margin-left:.9em;margin-right:.5em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider{display:flex;flex:1;margin-left:0;margin-right:0;padding:.28em 0;position:relative}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-size-container{align-items:center;display:flex;flex-grow:1;height:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-size-container .tinymce-mobile-slider-size-line{background:#ccc;display:flex;flex:1;height:.2em;margin-bottom:.3em;margin-top:.3em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container{padding-left:2em;padding-right:2em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-slider-gradient-container{align-items:center;display:flex;flex-grow:1;height:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-slider-gradient-container .tinymce-mobile-slider-gradient{background:linear-gradient(to right,red 0,#feff00 17%,#0f0 33%,#00feff 50%,#00f 67%,#ff00fe 83%,red 100%);display:flex;flex:1;height:.2em;margin-bottom:.3em;margin-top:.3em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-hue-slider-black{background:#000;height:.2em;margin-bottom:.3em;margin-top:.3em;width:1.2em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-hue-slider-white{background:#fff;height:.2em;margin-bottom:.3em;margin-top:.3em;width:1.2em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-thumb{align-items:center;background-clip:padding-box;background-color:#455a64;border:.5em solid rgba(136,136,136,0);border-radius:3em;bottom:0;color:#fff;display:flex;height:.5em;justify-content:center;left:-10px;margin:auto;position:absolute;top:0;transition:border 120ms cubic-bezier(.39,.58,.57,1);width:.5em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-thumb.tinymce-mobile-thumb-active{border:.5em solid rgba(136,136,136,.39)}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serializer-wrapper,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group>div{align-items:center;display:flex;height:100%;flex:1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serializer-wrapper{flex-direction:column;justify-content:center}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item{align-items:center;display:flex}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item:not(.tinymce-mobile-serialised-dialog){height:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-container{display:flex}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input{background:#fff;border:none;border-radius:0;color:#455a64;flex-grow:1;font-size:.85em;padding-bottom:.1em;padding-left:5px;padding-top:.1em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input::-webkit-input-placeholder{color:#888}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input::placeholder{color:#888}.tinymce-mobile-dropup{background:#fff;display:flex;overflow:hidden;width:100%}.tinymce-mobile-dropup.tinymce-mobile-dropup-shrinking{transition:height .3s ease-out}.tinymce-mobile-dropup.tinymce-mobile-dropup-growing{transition:height .3s ease-in}.tinymce-mobile-dropup.tinymce-mobile-dropup-closed{flex-grow:0}.tinymce-mobile-dropup.tinymce-mobile-dropup-open:not(.tinymce-mobile-dropup-growing){flex-grow:1}.tinymce-mobile-ios-container .tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed){min-height:200px}@media only screen and (orientation:landscape){.tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed){min-height:200px}}@media only screen and (min-device-width :320px) and (max-device-width :568px) and (orientation :landscape){.tinymce-mobile-ios-container .tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed){min-height:150px}}.tinymce-mobile-styles-menu{font-family:sans-serif;outline:4px solid #000;overflow:hidden;position:relative;width:100%}.tinymce-mobile-styles-menu [role=menu]{display:flex;flex-direction:column;height:100%;position:absolute;width:100%}.tinymce-mobile-styles-menu [role=menu].transitioning{transition:transform .5s ease-in-out}.tinymce-mobile-styles-menu .tinymce-mobile-styles-item{border-bottom:1px solid #ddd;color:#455a64;cursor:pointer;display:flex;padding:1em 1em;position:relative}.tinymce-mobile-styles-menu .tinymce-mobile-styles-collapser .tinymce-mobile-styles-collapse-icon::before{color:#455a64;content:"\e314";font-family:tinymce-mobile,sans-serif}.tinymce-mobile-styles-menu .tinymce-mobile-styles-item.tinymce-mobile-styles-item-is-menu::after{color:#455a64;content:"\e315";font-family:tinymce-mobile,sans-serif;padding-left:1em;padding-right:1em;position:absolute;right:0}.tinymce-mobile-styles-menu .tinymce-mobile-styles-item.tinymce-mobile-format-matches::after{font-family:tinymce-mobile,sans-serif;padding-left:1em;padding-right:1em;position:absolute;right:0}.tinymce-mobile-styles-menu .tinymce-mobile-styles-collapser,.tinymce-mobile-styles-menu .tinymce-mobile-styles-separator{align-items:center;background:#fff;border-top:#455a64;color:#455a64;display:flex;min-height:2.5em;padding-left:1em;padding-right:1em}.tinymce-mobile-styles-menu [data-transitioning-destination=before][data-transitioning-state],.tinymce-mobile-styles-menu [data-transitioning-state=before]{transform:translate(-100%)}.tinymce-mobile-styles-menu [data-transitioning-destination=current][data-transitioning-state],.tinymce-mobile-styles-menu [data-transitioning-state=current]{transform:translate(0)}.tinymce-mobile-styles-menu [data-transitioning-destination=after][data-transitioning-state],.tinymce-mobile-styles-menu [data-transitioning-state=after]{transform:translate(100%)}@font-face{font-family:tinymce-mobile;font-style:normal;font-weight:400;src:url(fonts/tinymce-mobile.woff?8x92w3) format('woff')}@media (min-device-width:700px){.tinymce-mobile-outer-container,.tinymce-mobile-outer-container input{font-size:25px}}@media (max-device-width:700px){.tinymce-mobile-outer-container,.tinymce-mobile-outer-container input{font-size:18px}}.tinymce-mobile-icon{font-family:tinymce-mobile,sans-serif}.mixin-flex-and-centre{align-items:center;display:flex;justify-content:center}.mixin-flex-bar{align-items:center;display:flex;height:100%}.tinymce-mobile-outer-container .tinymce-mobile-editor-socket iframe{background-color:#fff;width:100%}.tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon{background-color:#207ab7;border-radius:50%;bottom:1em;color:#fff;font-size:1em;height:2.1em;position:fixed;right:2em;width:2.1em;align-items:center;display:flex;justify-content:center}@media only screen and (min-device-width:700px){.tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon{font-size:1.2em}}.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-editor-socket{height:300px;overflow:hidden}.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-editor-socket iframe{height:100%}.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-toolstrip{display:none}input[type=file]::-webkit-file-upload-button{display:none}@media only screen and (min-device-width :320px) and (max-device-width :568px) and (orientation :landscape){.tinymce-mobile-ios-container .tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon{bottom:50%}} diff --git a/yunxi-ui-admin-vben/public/resource/tinymce/skins/ui/oxide-dark/skin.shadowdom.min.css b/yunxi-ui-admin-vben/public/resource/tinymce/skins/ui/oxide-dark/skin.shadowdom.min.css new file mode 100644 index 0000000..a0893b9 --- /dev/null +++ b/yunxi-ui-admin-vben/public/resource/tinymce/skins/ui/oxide-dark/skin.shadowdom.min.css @@ -0,0 +1,7 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +body.tox-dialog__disable-scroll{overflow:hidden}.tox-fullscreen{border:0;height:100%;margin:0;overflow:hidden;-ms-scroll-chaining:none;overscroll-behavior:none;padding:0;touch-action:pinch-zoom;width:100%}.tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle{display:none}.tox-shadowhost.tox-fullscreen,.tox.tox-tinymce.tox-fullscreen{left:0;position:fixed;top:0;z-index:1200}.tox.tox-tinymce.tox-fullscreen{background-color:transparent}.tox-fullscreen .tox.tox-tinymce-aux,.tox-fullscreen~.tox.tox-tinymce-aux{z-index:1201} diff --git a/yunxi-ui-admin-vben/public/resource/tinymce/skins/ui/oxide/content.inline.min.css b/yunxi-ui-admin-vben/public/resource/tinymce/skins/ui/oxide/content.inline.min.css new file mode 100644 index 0000000..b4ab9a3 --- /dev/null +++ b/yunxi-ui-admin-vben/public/resource/tinymce/skins/ui/oxide/content.inline.min.css @@ -0,0 +1,7 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +.mce-content-body .mce-item-anchor{background:transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;cursor:default;display:inline-block;height:12px!important;padding:0 2px;-webkit-user-modify:read-only;-moz-user-modify:read-only;-webkit-user-select:all;-moz-user-select:all;-ms-user-select:all;user-select:all;width:8px!important}.mce-content-body .mce-item-anchor[data-mce-selected]{outline-offset:1px}.tox-comments-visible .tox-comment{background-color:#fff0b7}.tox-comments-visible .tox-comment--active{background-color:#ffe168}.tox-checklist>li:not(.tox-checklist--hidden){list-style:none;margin:.25em 0}.tox-checklist>li:not(.tox-checklist--hidden)::before{content:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A");cursor:pointer;height:1em;margin-left:-1.5em;margin-top:.125em;position:absolute;width:1em}.tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before{content:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A")}[dir=rtl] .tox-checklist>li:not(.tox-checklist--hidden)::before{margin-left:0;margin-right:-1.5em}code[class*=language-],pre[class*=language-]{color:#000;background:0 0;text-shadow:0 1px #fff;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,pre[class*=language-]::-moz-selection{text-shadow:none;background:#b3d4fc}code[class*=language-] ::selection,code[class*=language-]::selection,pre[class*=language-] ::selection,pre[class*=language-]::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f5f2f0}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#708090}.token.punctuation{color:#999}.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#905}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#690}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url{color:#9a6e3a;background:hsla(0,0%,100%,.5)}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.class-name,.token.function{color:#dd4a68}.token.important,.token.regex,.token.variable{color:#e90}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.mce-content-body{overflow-wrap:break-word;word-wrap:break-word}.mce-content-body .mce-visual-caret{background-color:#000;background-color:currentColor;position:absolute}.mce-content-body .mce-visual-caret-hidden{display:none}.mce-content-body [data-mce-caret]{left:-1000px;margin:0;padding:0;position:absolute;right:auto;top:0}.mce-content-body .mce-offscreen-selection{left:-2000000px;max-width:1000000px;position:absolute}.mce-content-body [contentEditable=false]{cursor:default}.mce-content-body [contentEditable=true]{cursor:text}.tox-cursor-format-painter{cursor:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A"),default}.mce-content-body figure.align-left{float:left}.mce-content-body figure.align-right{float:right}.mce-content-body figure.image.align-center{display:table;margin-left:auto;margin-right:auto}.mce-preview-object{border:1px solid gray;display:inline-block;line-height:0;margin:0 2px 0 2px;position:relative}.mce-preview-object .mce-shim{background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);height:100%;left:0;position:absolute;top:0;width:100%}.mce-preview-object[data-mce-selected="2"] .mce-shim{display:none}.mce-object{background:transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;border:1px dashed #aaa}.mce-pagebreak{border:1px dashed #aaa;cursor:default;display:block;height:5px;margin-top:15px;page-break-before:always;width:100%}@media print{.mce-pagebreak{border:0}}.tiny-pageembed .mce-shim{background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);height:100%;left:0;position:absolute;top:0;width:100%}.tiny-pageembed[data-mce-selected="2"] .mce-shim{display:none}.tiny-pageembed{display:inline-block;position:relative}.tiny-pageembed--16by9,.tiny-pageembed--1by1,.tiny-pageembed--21by9,.tiny-pageembed--4by3{display:block;overflow:hidden;padding:0;position:relative;width:100%}.tiny-pageembed--21by9{padding-top:42.857143%}.tiny-pageembed--16by9{padding-top:56.25%}.tiny-pageembed--4by3{padding-top:75%}.tiny-pageembed--1by1{padding-top:100%}.tiny-pageembed--16by9 iframe,.tiny-pageembed--1by1 iframe,.tiny-pageembed--21by9 iframe,.tiny-pageembed--4by3 iframe{border:0;height:100%;left:0;position:absolute;top:0;width:100%}.mce-content-body[data-mce-placeholder]{position:relative}.mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before{color:rgba(34,47,62,.7);content:attr(data-mce-placeholder);position:absolute}.mce-content-body:not([dir=rtl])[data-mce-placeholder]:not(.mce-visualblocks)::before{left:1px}.mce-content-body[dir=rtl][data-mce-placeholder]:not(.mce-visualblocks)::before{right:1px}.mce-content-body div.mce-resizehandle{background-color:#4099ff;border-color:#4099ff;border-style:solid;border-width:1px;box-sizing:border-box;height:10px;position:absolute;width:10px;z-index:1298}.mce-content-body div.mce-resizehandle:hover{background-color:#4099ff}.mce-content-body div.mce-resizehandle:nth-of-type(1){cursor:nwse-resize}.mce-content-body div.mce-resizehandle:nth-of-type(2){cursor:nesw-resize}.mce-content-body div.mce-resizehandle:nth-of-type(3){cursor:nwse-resize}.mce-content-body div.mce-resizehandle:nth-of-type(4){cursor:nesw-resize}.mce-content-body .mce-resize-backdrop{z-index:10000}.mce-content-body .mce-clonedresizable{cursor:default;opacity:.5;outline:1px dashed #000;position:absolute;z-index:10001}.mce-content-body .mce-clonedresizable.mce-resizetable-columns td,.mce-content-body .mce-clonedresizable.mce-resizetable-columns th{border:0}.mce-content-body .mce-resize-helper{background:#555;background:rgba(0,0,0,.75);border:1px;border-radius:3px;color:#fff;display:none;font-family:sans-serif;font-size:12px;line-height:14px;margin:5px 10px;padding:5px;position:absolute;white-space:nowrap;z-index:10002}.tox-rtc-user-selection{position:relative}.tox-rtc-user-cursor{bottom:0;cursor:default;position:absolute;top:0;width:2px}.tox-rtc-user-cursor::before{background-color:inherit;border-radius:50%;content:'';display:block;height:8px;position:absolute;right:-3px;top:-3px;width:8px}.tox-rtc-user-cursor:hover::after{background-color:inherit;border-radius:100px;box-sizing:border-box;color:#fff;content:attr(data-user);display:block;font-size:12px;font-weight:700;left:-5px;min-height:8px;min-width:8px;padding:0 12px;position:absolute;top:-11px;white-space:nowrap;z-index:1000}.tox-rtc-user-selection--1 .tox-rtc-user-cursor{background-color:#2dc26b}.tox-rtc-user-selection--2 .tox-rtc-user-cursor{background-color:#e03e2d}.tox-rtc-user-selection--3 .tox-rtc-user-cursor{background-color:#f1c40f}.tox-rtc-user-selection--4 .tox-rtc-user-cursor{background-color:#3598db}.tox-rtc-user-selection--5 .tox-rtc-user-cursor{background-color:#b96ad9}.tox-rtc-user-selection--6 .tox-rtc-user-cursor{background-color:#e67e23}.tox-rtc-user-selection--7 .tox-rtc-user-cursor{background-color:#aaa69d}.tox-rtc-user-selection--8 .tox-rtc-user-cursor{background-color:#f368e0}.tox-rtc-remote-image{background:#eaeaea url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A") no-repeat center center;border:1px solid #ccc;min-height:240px;min-width:320px}.mce-match-marker{background:#aaa;color:#fff}.mce-match-marker-selected{background:#39f;color:#fff}.mce-match-marker-selected::-moz-selection{background:#39f;color:#fff}.mce-match-marker-selected::selection{background:#39f;color:#fff}.mce-content-body audio[data-mce-selected],.mce-content-body embed[data-mce-selected],.mce-content-body img[data-mce-selected],.mce-content-body object[data-mce-selected],.mce-content-body table[data-mce-selected],.mce-content-body video[data-mce-selected]{outline:3px solid #b4d7ff}.mce-content-body hr[data-mce-selected]{outline:3px solid #b4d7ff;outline-offset:1px}.mce-content-body [contentEditable=false] [contentEditable=true]:focus{outline:3px solid #b4d7ff}.mce-content-body [contentEditable=false] [contentEditable=true]:hover{outline:3px solid #b4d7ff}.mce-content-body [contentEditable=false][data-mce-selected]{cursor:not-allowed;outline:3px solid #b4d7ff}.mce-content-body.mce-content-readonly [contentEditable=true]:focus,.mce-content-body.mce-content-readonly [contentEditable=true]:hover{outline:0}.mce-content-body [data-mce-selected=inline-boundary]{background-color:#b4d7ff}.mce-content-body .mce-edit-focus{outline:3px solid #b4d7ff}.mce-content-body td[data-mce-selected],.mce-content-body th[data-mce-selected]{position:relative}.mce-content-body td[data-mce-selected]::-moz-selection,.mce-content-body th[data-mce-selected]::-moz-selection{background:0 0}.mce-content-body td[data-mce-selected]::selection,.mce-content-body th[data-mce-selected]::selection{background:0 0}.mce-content-body td[data-mce-selected] *,.mce-content-body th[data-mce-selected] *{outline:0;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mce-content-body td[data-mce-selected]::after,.mce-content-body th[data-mce-selected]::after{background-color:rgba(180,215,255,.7);border:1px solid rgba(180,215,255,.7);bottom:-1px;content:'';left:-1px;mix-blend-mode:multiply;position:absolute;right:-1px;top:-1px}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){.mce-content-body td[data-mce-selected]::after,.mce-content-body th[data-mce-selected]::after{border-color:rgba(0,84,180,.7)}}.mce-content-body img::-moz-selection{background:0 0}.mce-content-body img::selection{background:0 0}.ephox-snooker-resizer-bar{background-color:#b4d7ff;opacity:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ephox-snooker-resizer-cols{cursor:col-resize}.ephox-snooker-resizer-rows{cursor:row-resize}.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging{opacity:1}.mce-spellchecker-word{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A");background-position:0 calc(100% + 1px);background-repeat:repeat-x;background-size:auto 6px;cursor:default;height:2rem}.mce-spellchecker-grammar{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A");background-position:0 calc(100% + 1px);background-repeat:repeat-x;background-size:auto 6px;cursor:default}.mce-toc{border:1px solid gray}.mce-toc h2{margin:4px}.mce-toc li{list-style-type:none}.mce-item-table:not([border]),.mce-item-table:not([border]) caption,.mce-item-table:not([border]) td,.mce-item-table:not([border]) th,.mce-item-table[border="0"],.mce-item-table[border="0"] caption,.mce-item-table[border="0"] td,.mce-item-table[border="0"] th,table[style*="border-width: 0px"],table[style*="border-width: 0px"] caption,table[style*="border-width: 0px"] td,table[style*="border-width: 0px"] th{border:1px dashed #bbb}.mce-visualblocks address,.mce-visualblocks article,.mce-visualblocks aside,.mce-visualblocks blockquote,.mce-visualblocks div:not([data-mce-bogus]),.mce-visualblocks dl,.mce-visualblocks figcaption,.mce-visualblocks figure,.mce-visualblocks h1,.mce-visualblocks h2,.mce-visualblocks h3,.mce-visualblocks h4,.mce-visualblocks h5,.mce-visualblocks h6,.mce-visualblocks hgroup,.mce-visualblocks ol,.mce-visualblocks p,.mce-visualblocks pre,.mce-visualblocks section,.mce-visualblocks ul{background-repeat:no-repeat;border:1px dashed #bbb;margin-left:3px;padding-top:10px}.mce-visualblocks p{background-image:url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7)}.mce-visualblocks h1{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==)}.mce-visualblocks h2{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==)}.mce-visualblocks h3{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7)}.mce-visualblocks h4{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==)}.mce-visualblocks h5{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==)}.mce-visualblocks h6{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==)}.mce-visualblocks div:not([data-mce-bogus]){background-image:url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7)}.mce-visualblocks section{background-image:url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=)}.mce-visualblocks article{background-image:url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7)}.mce-visualblocks blockquote{background-image:url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7)}.mce-visualblocks address{background-image:url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=)}.mce-visualblocks pre{background-image:url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==)}.mce-visualblocks figure{background-image:url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7)}.mce-visualblocks figcaption{border:1px dashed #bbb}.mce-visualblocks hgroup{background-image:url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7)}.mce-visualblocks aside{background-image:url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=)}.mce-visualblocks ul{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==)}.mce-visualblocks ol{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==)}.mce-visualblocks dl{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==)}.mce-visualblocks:not([dir=rtl]) address,.mce-visualblocks:not([dir=rtl]) article,.mce-visualblocks:not([dir=rtl]) aside,.mce-visualblocks:not([dir=rtl]) blockquote,.mce-visualblocks:not([dir=rtl]) div:not([data-mce-bogus]),.mce-visualblocks:not([dir=rtl]) dl,.mce-visualblocks:not([dir=rtl]) figcaption,.mce-visualblocks:not([dir=rtl]) figure,.mce-visualblocks:not([dir=rtl]) h1,.mce-visualblocks:not([dir=rtl]) h2,.mce-visualblocks:not([dir=rtl]) h3,.mce-visualblocks:not([dir=rtl]) h4,.mce-visualblocks:not([dir=rtl]) h5,.mce-visualblocks:not([dir=rtl]) h6,.mce-visualblocks:not([dir=rtl]) hgroup,.mce-visualblocks:not([dir=rtl]) ol,.mce-visualblocks:not([dir=rtl]) p,.mce-visualblocks:not([dir=rtl]) pre,.mce-visualblocks:not([dir=rtl]) section,.mce-visualblocks:not([dir=rtl]) ul{margin-left:3px}.mce-visualblocks[dir=rtl] address,.mce-visualblocks[dir=rtl] article,.mce-visualblocks[dir=rtl] aside,.mce-visualblocks[dir=rtl] blockquote,.mce-visualblocks[dir=rtl] div:not([data-mce-bogus]),.mce-visualblocks[dir=rtl] dl,.mce-visualblocks[dir=rtl] figcaption,.mce-visualblocks[dir=rtl] figure,.mce-visualblocks[dir=rtl] h1,.mce-visualblocks[dir=rtl] h2,.mce-visualblocks[dir=rtl] h3,.mce-visualblocks[dir=rtl] h4,.mce-visualblocks[dir=rtl] h5,.mce-visualblocks[dir=rtl] h6,.mce-visualblocks[dir=rtl] hgroup,.mce-visualblocks[dir=rtl] ol,.mce-visualblocks[dir=rtl] p,.mce-visualblocks[dir=rtl] pre,.mce-visualblocks[dir=rtl] section,.mce-visualblocks[dir=rtl] ul{background-position-x:right;margin-right:3px}.mce-nbsp,.mce-shy{background:#aaa}.mce-shy::after{content:'-'} diff --git a/yunxi-ui-admin-vben/public/resource/tinymce/skins/ui/oxide/content.min.css b/yunxi-ui-admin-vben/public/resource/tinymce/skins/ui/oxide/content.min.css new file mode 100644 index 0000000..844858d --- /dev/null +++ b/yunxi-ui-admin-vben/public/resource/tinymce/skins/ui/oxide/content.min.css @@ -0,0 +1,7 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +.mce-content-body .mce-item-anchor{background:transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;cursor:default;display:inline-block;height:12px!important;padding:0 2px;-webkit-user-modify:read-only;-moz-user-modify:read-only;-webkit-user-select:all;-moz-user-select:all;-ms-user-select:all;user-select:all;width:8px!important}.mce-content-body .mce-item-anchor[data-mce-selected]{outline-offset:1px}.tox-comments-visible .tox-comment{background-color:#fff0b7}.tox-comments-visible .tox-comment--active{background-color:#ffe168}.tox-checklist>li:not(.tox-checklist--hidden){list-style:none;margin:.25em 0}.tox-checklist>li:not(.tox-checklist--hidden)::before{content:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A");cursor:pointer;height:1em;margin-left:-1.5em;margin-top:.125em;position:absolute;width:1em}.tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before{content:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A")}[dir=rtl] .tox-checklist>li:not(.tox-checklist--hidden)::before{margin-left:0;margin-right:-1.5em}code[class*=language-],pre[class*=language-]{color:#000;background:0 0;text-shadow:0 1px #fff;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,pre[class*=language-]::-moz-selection{text-shadow:none;background:#b3d4fc}code[class*=language-] ::selection,code[class*=language-]::selection,pre[class*=language-] ::selection,pre[class*=language-]::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f5f2f0}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#708090}.token.punctuation{color:#999}.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#905}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#690}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url{color:#9a6e3a;background:hsla(0,0%,100%,.5)}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.class-name,.token.function{color:#dd4a68}.token.important,.token.regex,.token.variable{color:#e90}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.mce-content-body{overflow-wrap:break-word;word-wrap:break-word}.mce-content-body .mce-visual-caret{background-color:#000;background-color:currentColor;position:absolute}.mce-content-body .mce-visual-caret-hidden{display:none}.mce-content-body [data-mce-caret]{left:-1000px;margin:0;padding:0;position:absolute;right:auto;top:0}.mce-content-body .mce-offscreen-selection{left:-2000000px;max-width:1000000px;position:absolute}.mce-content-body [contentEditable=false]{cursor:default}.mce-content-body [contentEditable=true]{cursor:text}.tox-cursor-format-painter{cursor:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A"),default}.mce-content-body figure.align-left{float:left}.mce-content-body figure.align-right{float:right}.mce-content-body figure.image.align-center{display:table;margin-left:auto;margin-right:auto}.mce-preview-object{border:1px solid gray;display:inline-block;line-height:0;margin:0 2px 0 2px;position:relative}.mce-preview-object .mce-shim{background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);height:100%;left:0;position:absolute;top:0;width:100%}.mce-preview-object[data-mce-selected="2"] .mce-shim{display:none}.mce-object{background:transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;border:1px dashed #aaa}.mce-pagebreak{border:1px dashed #aaa;cursor:default;display:block;height:5px;margin-top:15px;page-break-before:always;width:100%}@media print{.mce-pagebreak{border:0}}.tiny-pageembed .mce-shim{background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);height:100%;left:0;position:absolute;top:0;width:100%}.tiny-pageembed[data-mce-selected="2"] .mce-shim{display:none}.tiny-pageembed{display:inline-block;position:relative}.tiny-pageembed--16by9,.tiny-pageembed--1by1,.tiny-pageembed--21by9,.tiny-pageembed--4by3{display:block;overflow:hidden;padding:0;position:relative;width:100%}.tiny-pageembed--21by9{padding-top:42.857143%}.tiny-pageembed--16by9{padding-top:56.25%}.tiny-pageembed--4by3{padding-top:75%}.tiny-pageembed--1by1{padding-top:100%}.tiny-pageembed--16by9 iframe,.tiny-pageembed--1by1 iframe,.tiny-pageembed--21by9 iframe,.tiny-pageembed--4by3 iframe{border:0;height:100%;left:0;position:absolute;top:0;width:100%}.mce-content-body[data-mce-placeholder]{position:relative}.mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before{color:rgba(34,47,62,.7);content:attr(data-mce-placeholder);position:absolute}.mce-content-body:not([dir=rtl])[data-mce-placeholder]:not(.mce-visualblocks)::before{left:1px}.mce-content-body[dir=rtl][data-mce-placeholder]:not(.mce-visualblocks)::before{right:1px}.mce-content-body div.mce-resizehandle{background-color:#4099ff;border-color:#4099ff;border-style:solid;border-width:1px;box-sizing:border-box;height:10px;position:absolute;width:10px;z-index:1298}.mce-content-body div.mce-resizehandle:hover{background-color:#4099ff}.mce-content-body div.mce-resizehandle:nth-of-type(1){cursor:nwse-resize}.mce-content-body div.mce-resizehandle:nth-of-type(2){cursor:nesw-resize}.mce-content-body div.mce-resizehandle:nth-of-type(3){cursor:nwse-resize}.mce-content-body div.mce-resizehandle:nth-of-type(4){cursor:nesw-resize}.mce-content-body .mce-resize-backdrop{z-index:10000}.mce-content-body .mce-clonedresizable{cursor:default;opacity:.5;outline:1px dashed #000;position:absolute;z-index:10001}.mce-content-body .mce-clonedresizable.mce-resizetable-columns td,.mce-content-body .mce-clonedresizable.mce-resizetable-columns th{border:0}.mce-content-body .mce-resize-helper{background:#555;background:rgba(0,0,0,.75);border:1px;border-radius:3px;color:#fff;display:none;font-family:sans-serif;font-size:12px;line-height:14px;margin:5px 10px;padding:5px;position:absolute;white-space:nowrap;z-index:10002}.tox-rtc-user-selection{position:relative}.tox-rtc-user-cursor{bottom:0;cursor:default;position:absolute;top:0;width:2px}.tox-rtc-user-cursor::before{background-color:inherit;border-radius:50%;content:'';display:block;height:8px;position:absolute;right:-3px;top:-3px;width:8px}.tox-rtc-user-cursor:hover::after{background-color:inherit;border-radius:100px;box-sizing:border-box;color:#fff;content:attr(data-user);display:block;font-size:12px;font-weight:700;left:-5px;min-height:8px;min-width:8px;padding:0 12px;position:absolute;top:-11px;white-space:nowrap;z-index:1000}.tox-rtc-user-selection--1 .tox-rtc-user-cursor{background-color:#2dc26b}.tox-rtc-user-selection--2 .tox-rtc-user-cursor{background-color:#e03e2d}.tox-rtc-user-selection--3 .tox-rtc-user-cursor{background-color:#f1c40f}.tox-rtc-user-selection--4 .tox-rtc-user-cursor{background-color:#3598db}.tox-rtc-user-selection--5 .tox-rtc-user-cursor{background-color:#b96ad9}.tox-rtc-user-selection--6 .tox-rtc-user-cursor{background-color:#e67e23}.tox-rtc-user-selection--7 .tox-rtc-user-cursor{background-color:#aaa69d}.tox-rtc-user-selection--8 .tox-rtc-user-cursor{background-color:#f368e0}.tox-rtc-remote-image{background:#eaeaea url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A") no-repeat center center;border:1px solid #ccc;min-height:240px;min-width:320px}.mce-match-marker{background:#aaa;color:#fff}.mce-match-marker-selected{background:#39f;color:#fff}.mce-match-marker-selected::-moz-selection{background:#39f;color:#fff}.mce-match-marker-selected::selection{background:#39f;color:#fff}.mce-content-body audio[data-mce-selected],.mce-content-body embed[data-mce-selected],.mce-content-body img[data-mce-selected],.mce-content-body object[data-mce-selected],.mce-content-body table[data-mce-selected],.mce-content-body video[data-mce-selected]{outline:3px solid #b4d7ff}.mce-content-body hr[data-mce-selected]{outline:3px solid #b4d7ff;outline-offset:1px}.mce-content-body [contentEditable=false] [contentEditable=true]:focus{outline:3px solid #b4d7ff}.mce-content-body [contentEditable=false] [contentEditable=true]:hover{outline:3px solid #b4d7ff}.mce-content-body [contentEditable=false][data-mce-selected]{cursor:not-allowed;outline:3px solid #b4d7ff}.mce-content-body.mce-content-readonly [contentEditable=true]:focus,.mce-content-body.mce-content-readonly [contentEditable=true]:hover{outline:0}.mce-content-body [data-mce-selected=inline-boundary]{background-color:#b4d7ff}.mce-content-body .mce-edit-focus{outline:3px solid #b4d7ff}.mce-content-body td[data-mce-selected],.mce-content-body th[data-mce-selected]{position:relative}.mce-content-body td[data-mce-selected]::-moz-selection,.mce-content-body th[data-mce-selected]::-moz-selection{background:0 0}.mce-content-body td[data-mce-selected]::selection,.mce-content-body th[data-mce-selected]::selection{background:0 0}.mce-content-body td[data-mce-selected] *,.mce-content-body th[data-mce-selected] *{outline:0;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mce-content-body td[data-mce-selected]::after,.mce-content-body th[data-mce-selected]::after{background-color:rgba(180,215,255,.7);border:1px solid rgba(180,215,255,.7);bottom:-1px;content:'';left:-1px;mix-blend-mode:multiply;position:absolute;right:-1px;top:-1px}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){.mce-content-body td[data-mce-selected]::after,.mce-content-body th[data-mce-selected]::after{border-color:rgba(0,84,180,.7)}}.mce-content-body img::-moz-selection{background:0 0}.mce-content-body img::selection{background:0 0}.ephox-snooker-resizer-bar{background-color:#b4d7ff;opacity:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ephox-snooker-resizer-cols{cursor:col-resize}.ephox-snooker-resizer-rows{cursor:row-resize}.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging{opacity:1}.mce-spellchecker-word{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A");background-position:0 calc(100% + 1px);background-repeat:repeat-x;background-size:auto 6px;cursor:default;height:2rem}.mce-spellchecker-grammar{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A");background-position:0 calc(100% + 1px);background-repeat:repeat-x;background-size:auto 6px;cursor:default}.mce-toc{border:1px solid gray}.mce-toc h2{margin:4px}.mce-toc li{list-style-type:none}.mce-item-table:not([border]),.mce-item-table:not([border]) caption,.mce-item-table:not([border]) td,.mce-item-table:not([border]) th,.mce-item-table[border="0"],.mce-item-table[border="0"] caption,.mce-item-table[border="0"] td,.mce-item-table[border="0"] th,table[style*="border-width: 0px"],table[style*="border-width: 0px"] caption,table[style*="border-width: 0px"] td,table[style*="border-width: 0px"] th{border:1px dashed #bbb}.mce-visualblocks address,.mce-visualblocks article,.mce-visualblocks aside,.mce-visualblocks blockquote,.mce-visualblocks div:not([data-mce-bogus]),.mce-visualblocks dl,.mce-visualblocks figcaption,.mce-visualblocks figure,.mce-visualblocks h1,.mce-visualblocks h2,.mce-visualblocks h3,.mce-visualblocks h4,.mce-visualblocks h5,.mce-visualblocks h6,.mce-visualblocks hgroup,.mce-visualblocks ol,.mce-visualblocks p,.mce-visualblocks pre,.mce-visualblocks section,.mce-visualblocks ul{background-repeat:no-repeat;border:1px dashed #bbb;margin-left:3px;padding-top:10px}.mce-visualblocks p{background-image:url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7)}.mce-visualblocks h1{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==)}.mce-visualblocks h2{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==)}.mce-visualblocks h3{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7)}.mce-visualblocks h4{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==)}.mce-visualblocks h5{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==)}.mce-visualblocks h6{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==)}.mce-visualblocks div:not([data-mce-bogus]){background-image:url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7)}.mce-visualblocks section{background-image:url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=)}.mce-visualblocks article{background-image:url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7)}.mce-visualblocks blockquote{background-image:url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7)}.mce-visualblocks address{background-image:url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=)}.mce-visualblocks pre{background-image:url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==)}.mce-visualblocks figure{background-image:url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7)}.mce-visualblocks figcaption{border:1px dashed #bbb}.mce-visualblocks hgroup{background-image:url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7)}.mce-visualblocks aside{background-image:url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=)}.mce-visualblocks ul{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==)}.mce-visualblocks ol{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==)}.mce-visualblocks dl{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==)}.mce-visualblocks:not([dir=rtl]) address,.mce-visualblocks:not([dir=rtl]) article,.mce-visualblocks:not([dir=rtl]) aside,.mce-visualblocks:not([dir=rtl]) blockquote,.mce-visualblocks:not([dir=rtl]) div:not([data-mce-bogus]),.mce-visualblocks:not([dir=rtl]) dl,.mce-visualblocks:not([dir=rtl]) figcaption,.mce-visualblocks:not([dir=rtl]) figure,.mce-visualblocks:not([dir=rtl]) h1,.mce-visualblocks:not([dir=rtl]) h2,.mce-visualblocks:not([dir=rtl]) h3,.mce-visualblocks:not([dir=rtl]) h4,.mce-visualblocks:not([dir=rtl]) h5,.mce-visualblocks:not([dir=rtl]) h6,.mce-visualblocks:not([dir=rtl]) hgroup,.mce-visualblocks:not([dir=rtl]) ol,.mce-visualblocks:not([dir=rtl]) p,.mce-visualblocks:not([dir=rtl]) pre,.mce-visualblocks:not([dir=rtl]) section,.mce-visualblocks:not([dir=rtl]) ul{margin-left:3px}.mce-visualblocks[dir=rtl] address,.mce-visualblocks[dir=rtl] article,.mce-visualblocks[dir=rtl] aside,.mce-visualblocks[dir=rtl] blockquote,.mce-visualblocks[dir=rtl] div:not([data-mce-bogus]),.mce-visualblocks[dir=rtl] dl,.mce-visualblocks[dir=rtl] figcaption,.mce-visualblocks[dir=rtl] figure,.mce-visualblocks[dir=rtl] h1,.mce-visualblocks[dir=rtl] h2,.mce-visualblocks[dir=rtl] h3,.mce-visualblocks[dir=rtl] h4,.mce-visualblocks[dir=rtl] h5,.mce-visualblocks[dir=rtl] h6,.mce-visualblocks[dir=rtl] hgroup,.mce-visualblocks[dir=rtl] ol,.mce-visualblocks[dir=rtl] p,.mce-visualblocks[dir=rtl] pre,.mce-visualblocks[dir=rtl] section,.mce-visualblocks[dir=rtl] ul{background-position-x:right;margin-right:3px}.mce-nbsp,.mce-shy{background:#aaa}.mce-shy::after{content:'-'}body{font-family:sans-serif}table{border-collapse:collapse} diff --git a/yunxi-ui-admin-vben/public/resource/tinymce/skins/ui/oxide/content.mobile.min.css b/yunxi-ui-admin-vben/public/resource/tinymce/skins/ui/oxide/content.mobile.min.css new file mode 100644 index 0000000..35f7dc0 --- /dev/null +++ b/yunxi-ui-admin-vben/public/resource/tinymce/skins/ui/oxide/content.mobile.min.css @@ -0,0 +1,7 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +.tinymce-mobile-unfocused-selections .tinymce-mobile-unfocused-selection{background-color:green;display:inline-block;opacity:.5;position:absolute}body{-webkit-text-size-adjust:none}body img{max-width:96vw}body table img{max-width:95%}body{font-family:sans-serif}table{border-collapse:collapse} diff --git a/yunxi-ui-admin-vben/public/resource/tinymce/skins/ui/oxide/fonts/tinymce-mobile.woff b/yunxi-ui-admin-vben/public/resource/tinymce/skins/ui/oxide/fonts/tinymce-mobile.woff new file mode 100644 index 0000000000000000000000000000000000000000..1e3be038a607cb7c2544ed8ae3d6621f77bf4c38 GIT binary patch literal 4624 zcmb7IeQaFC5#QN&AGUL{efE7g{=BM1W-|RaVdWQe^e?BC`eGz4^i8S3PQw?Hhd_eQHxTkckXZB zdzU((wCVGko!Qyh+1c6InRotvZ%+>+hNrBQtrFOI4t*}DZ$7=>Sr=uD3c$ZlKuKBQ z8~ervCczs9SOk2!>AAqrz+v$CC}f1JfYPDSqx->|V$6{ekbe8M#Bh3Gkg?)-Fdi3B zeB$}UFqn*$pv&q7*net~hsUOlfG7Ho2zaowY%JPRytMvu{&xRPm(h_~w##F>vqE&a5-ssH##mlfAk}44^ zXRJKd!Ifw&ce{$Y9BAg5c>e>p_Z;t!=P{izddGWie?aHLdKL3Cn9rG=d2vt;esWqH zoD}uAoi3Z~4+LABvADt+so4~t%VlyIJ{O3tm$NC+(!yenQD%NVr*btG$T3+_WX=LH z#1M2ZNEtrO+-x;l2i>M^5o%GQ@s?N+gw*19H@G~vl3Q5Zf*t6jjW0GOTmAmlWYgSS zJeiEo%~LA-FW|YAd_Em$OE#@dw)y*#@p!UtnWa);V1HY3ZBw!>(3gY{iFFa_c6iW9 zIQ@xck^{xu9_o;UyQH#ba@y?L$xW?8J35?$p1z46ZjIctZ8QCKCa29bMC1-t@pT>S zTUT1WMjQz-75d)5zJxv~@Yd)bY)ejQBx_XQiaMJ z>$5`NO3?L*ND{UQeF8%xl)$_>w9tmQpfEebzedazFeh#~d}suN+vzsqLiW~@TLhoe zk1%xEcxP2ZL)FuoXeYzb-J5goljDxPL2@@#RW)d&X#&6QO5U=04_628@ONSvtgpha zDqqmoVep`A4<+PK$V>K+T}}{8Rj+Q|UAzCtl!Fh)uXJg{x$}HMJH7LcBLzj-r{h;< zzote8Id%pcAyE;87D<8glyaFeq#k)OEDB%yA ze%CeZ!?4TEs#pj+%14DBZHn8jxaF2as6}p3+!6p-&@I>5lbP3&N$svcIF-`0R5(o2 zh7la++|;-euckH44a4BAwB++#-cZ z)kFyC=eUS-4D0t}H8LdZY!JD^sW@F85io)%=8HU)ouhEeo-K_dJ3BV+8fo0JXIjlP zZt0H`0=Yv~I|PpRZ)r5_iAYmY9V=wT@BsoN9<3vftB|}TOH;|yNk_e7(2-?y{&cSK zG=E5Nz^Ko4>KxcbY!Q13!=HBS$lM96_+0y3M1yWTAt2u5C;6MWMXbRN?RI{$eHnAx z&t=-PSjZ>Qe2V2-YGs1YWemAq zVHdG{9V$QvsY~Cgq-L*PZqMPGv|px$)K~3<%+fBtG{oIRPL_7ye$-(`C=tS)^xC}% zue73qiF&{nXJ*>-@668G!`IrAeB;ad09shzt{O?7omLE_X@H|#ozGt&64 zb-&_lLkZI8TzigPZvUr=4g2-8M6M8b9EQLgoPswYg)d)j&%gZHJO!2>(?;I*8d>aG z#oS295Kcq{uD4R2@VEG($}WWiF-6YK)kjqks%o_U{CIAVX2;tX7o|unkew5?Gn3(| zOePS^{$(;Xi4ph;`KO#;k+vaLt8n5@doi+OEvH&?*+3(WgqkT9-$b0fTHm;)r=NmR zJnJ9o>UvNR(JMoIdRBf{%kd}jmZ)b)#4>dnDfq0G(?~S%d zv50QeMR$Kzd*S$AEXdp5Fhqe0Pz zZ!oS2e!i-tWEJ2^YoVo}V7S0tV7CujimbVJtVNb#yB&<-f&xpSb@m2=wBZ|qU-_^; z?C{lk+;tlxk&Sh3Pwh(D7~kNh`O=~TMWuRUu^0=9)`CYEVwhvGWUt4Wd3`6*H)Zs>LLYQcC#*~B78EfTt7RQ*l)b{v zqntLNsC`h&zZCY{x*}gfPU4at;nfileU3>zeyLdO7;;lFIft~ zsm6#wb5Jjtv;_VxleU0<%cQON-O*ywHt`@C4fn-Y83}=|hJPOpN>1H%C#7)9etg_yG)$div{padding-bottom:4px}.tox .accessibility-issue__description>div>div{align-items:center;display:flex;margin-bottom:4px}.tox .accessibility-issue__description>:last-child:not(:only-child){border-color:#ccc;border-style:solid}.tox .accessibility-issue__repair{margin-top:16px}.tox .tox-dialog__body-content .accessibility-issue--info .accessibility-issue__description{background-color:rgba(32,122,183,.1);border-color:rgba(32,122,183,.4);color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--info .accessibility-issue__description>:last-child{border-color:rgba(32,122,183,.4)}.tox .tox-dialog__body-content .accessibility-issue--info .tox-form__group h2{color:#207ab7}.tox .tox-dialog__body-content .accessibility-issue--info .tox-icon svg{fill:#207ab7}.tox .tox-dialog__body-content .accessibility-issue--info a .tox-icon{color:#207ab7}.tox .tox-dialog__body-content .accessibility-issue--warn .accessibility-issue__description{background-color:rgba(255,165,0,.1);border-color:rgba(255,165,0,.5);color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--warn .accessibility-issue__description>:last-child{border-color:rgba(255,165,0,.5)}.tox .tox-dialog__body-content .accessibility-issue--warn .tox-form__group h2{color:#cc8500}.tox .tox-dialog__body-content .accessibility-issue--warn .tox-icon svg{fill:#cc8500}.tox .tox-dialog__body-content .accessibility-issue--warn a .tox-icon{color:#cc8500}.tox .tox-dialog__body-content .accessibility-issue--error .accessibility-issue__description{background-color:rgba(204,0,0,.1);border-color:rgba(204,0,0,.4);color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--error .accessibility-issue__description>:last-child{border-color:rgba(204,0,0,.4)}.tox .tox-dialog__body-content .accessibility-issue--error .tox-form__group h2{color:#c00}.tox .tox-dialog__body-content .accessibility-issue--error .tox-icon svg{fill:#c00}.tox .tox-dialog__body-content .accessibility-issue--error a .tox-icon{color:#c00}.tox .tox-dialog__body-content .accessibility-issue--success .accessibility-issue__description{background-color:rgba(120,171,70,.1);border-color:rgba(120,171,70,.4);color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--success .accessibility-issue__description>:last-child{border-color:rgba(120,171,70,.4)}.tox .tox-dialog__body-content .accessibility-issue--success .tox-form__group h2{color:#78ab46}.tox .tox-dialog__body-content .accessibility-issue--success .tox-icon svg{fill:#78ab46}.tox .tox-dialog__body-content .accessibility-issue--success a .tox-icon{color:#78ab46}.tox .tox-dialog__body-content .accessibility-issue__header h1,.tox .tox-dialog__body-content .tox-form__group .accessibility-issue__description h2{margin-top:0}.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__header .tox-button{margin-left:4px}.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__header>:nth-last-child(2){margin-left:auto}.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__description{padding:4px 4px 4px 8px}.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__description>:last-child{border-left-width:1px;padding-left:4px}.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__header .tox-button{margin-right:4px}.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__header>:nth-last-child(2){margin-right:auto}.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__description{padding:4px 8px 4px 4px}.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__description>:last-child{border-right-width:1px;padding-right:4px}.tox .tox-anchorbar{display:flex;flex:0 0 auto}.tox .tox-bar{display:flex;flex:0 0 auto}.tox .tox-button{background-color:#207ab7;background-image:none;background-position:0 0;background-repeat:repeat;border-color:#207ab7;border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;color:#fff;cursor:pointer;display:inline-block;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;font-style:normal;font-weight:700;letter-spacing:normal;line-height:24px;margin:0;outline:0;padding:4px 16px;text-align:center;text-decoration:none;text-transform:none;white-space:nowrap}.tox .tox-button[disabled]{background-color:#207ab7;background-image:none;border-color:#207ab7;box-shadow:none;color:rgba(255,255,255,.5);cursor:not-allowed}.tox .tox-button:focus:not(:disabled){background-color:#1c6ca1;background-image:none;border-color:#1c6ca1;box-shadow:none;color:#fff}.tox .tox-button:hover:not(:disabled){background-color:#1c6ca1;background-image:none;border-color:#1c6ca1;box-shadow:none;color:#fff}.tox .tox-button:active:not(:disabled){background-color:#185d8c;background-image:none;border-color:#185d8c;box-shadow:none;color:#fff}.tox .tox-button--secondary{background-color:#f0f0f0;background-image:none;background-position:0 0;background-repeat:repeat;border-color:#f0f0f0;border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;color:#222f3e;font-size:14px;font-style:normal;font-weight:700;letter-spacing:normal;outline:0;padding:4px 16px;text-decoration:none;text-transform:none}.tox .tox-button--secondary[disabled]{background-color:#f0f0f0;background-image:none;border-color:#f0f0f0;box-shadow:none;color:rgba(34,47,62,.5)}.tox .tox-button--secondary:focus:not(:disabled){background-color:#e3e3e3;background-image:none;border-color:#e3e3e3;box-shadow:none;color:#222f3e}.tox .tox-button--secondary:hover:not(:disabled){background-color:#e3e3e3;background-image:none;border-color:#e3e3e3;box-shadow:none;color:#222f3e}.tox .tox-button--secondary:active:not(:disabled){background-color:#d6d6d6;background-image:none;border-color:#d6d6d6;box-shadow:none;color:#222f3e}.tox .tox-button--icon,.tox .tox-button.tox-button--icon,.tox .tox-button.tox-button--secondary.tox-button--icon{padding:4px}.tox .tox-button--icon .tox-icon svg,.tox .tox-button.tox-button--icon .tox-icon svg,.tox .tox-button.tox-button--secondary.tox-button--icon .tox-icon svg{display:block;fill:currentColor}.tox .tox-button-link{background:0;border:none;box-sizing:border-box;cursor:pointer;display:inline-block;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:16px;font-weight:400;line-height:1.3;margin:0;padding:0;white-space:nowrap}.tox .tox-button-link--sm{font-size:14px}.tox .tox-button--naked{background-color:transparent;border-color:transparent;box-shadow:unset;color:#222f3e}.tox .tox-button--naked[disabled]{background-color:#f0f0f0;border-color:#f0f0f0;box-shadow:none;color:rgba(34,47,62,.5)}.tox .tox-button--naked:hover:not(:disabled){background-color:#e3e3e3;border-color:#e3e3e3;box-shadow:none;color:#222f3e}.tox .tox-button--naked:focus:not(:disabled){background-color:#e3e3e3;border-color:#e3e3e3;box-shadow:none;color:#222f3e}.tox .tox-button--naked:active:not(:disabled){background-color:#d6d6d6;border-color:#d6d6d6;box-shadow:none;color:#222f3e}.tox .tox-button--naked .tox-icon svg{fill:currentColor}.tox .tox-button--naked.tox-button--icon:hover:not(:disabled){color:#222f3e}.tox .tox-checkbox{align-items:center;border-radius:3px;cursor:pointer;display:flex;height:36px;min-width:36px}.tox .tox-checkbox__input{height:1px;overflow:hidden;position:absolute;top:auto;width:1px}.tox .tox-checkbox__icons{align-items:center;border-radius:3px;box-shadow:0 0 0 2px transparent;box-sizing:content-box;display:flex;height:24px;justify-content:center;padding:calc(4px - 1px);width:24px}.tox .tox-checkbox__icons .tox-checkbox-icon__unchecked svg{display:block;fill:rgba(34,47,62,.3)}.tox .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg{display:none;fill:#207ab7}.tox .tox-checkbox__icons .tox-checkbox-icon__checked svg{display:none;fill:#207ab7}.tox .tox-checkbox--disabled{color:rgba(34,47,62,.5);cursor:not-allowed}.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__checked svg{fill:rgba(34,47,62,.5)}.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__unchecked svg{fill:rgba(34,47,62,.5)}.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg{fill:rgba(34,47,62,.5)}.tox input.tox-checkbox__input:checked+.tox-checkbox__icons .tox-checkbox-icon__unchecked svg{display:none}.tox input.tox-checkbox__input:checked+.tox-checkbox__icons .tox-checkbox-icon__checked svg{display:block}.tox input.tox-checkbox__input:indeterminate+.tox-checkbox__icons .tox-checkbox-icon__unchecked svg{display:none}.tox input.tox-checkbox__input:indeterminate+.tox-checkbox__icons .tox-checkbox-icon__indeterminate svg{display:block}.tox input.tox-checkbox__input:focus+.tox-checkbox__icons{border-radius:3px;box-shadow:inset 0 0 0 1px #207ab7;padding:calc(4px - 1px)}.tox:not([dir=rtl]) .tox-checkbox__label{margin-left:4px}.tox:not([dir=rtl]) .tox-checkbox__input{left:-10000px}.tox:not([dir=rtl]) .tox-bar .tox-checkbox{margin-left:4px}.tox[dir=rtl] .tox-checkbox__label{margin-right:4px}.tox[dir=rtl] .tox-checkbox__input{right:-10000px}.tox[dir=rtl] .tox-bar .tox-checkbox{margin-right:4px}.tox .tox-collection--toolbar .tox-collection__group{display:flex;padding:0}.tox .tox-collection--grid .tox-collection__group{display:flex;flex-wrap:wrap;max-height:208px;overflow-x:hidden;overflow-y:auto;padding:0}.tox .tox-collection--list .tox-collection__group{border-bottom-width:0;border-color:#ccc;border-left-width:0;border-right-width:0;border-style:solid;border-top-width:1px;padding:4px 0}.tox .tox-collection--list .tox-collection__group:first-child{border-top-width:0}.tox .tox-collection__group-heading{background-color:#e6e6e6;color:rgba(34,47,62,.7);cursor:default;font-size:12px;font-style:normal;font-weight:400;margin-bottom:4px;margin-top:-4px;padding:4px 8px;text-transform:none;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tox .tox-collection__item{align-items:center;color:#222f3e;cursor:pointer;display:flex;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tox .tox-collection--list .tox-collection__item{padding:4px 8px}.tox .tox-collection--toolbar .tox-collection__item{border-radius:3px;padding:4px}.tox .tox-collection--grid .tox-collection__item{border-radius:3px;padding:4px}.tox .tox-collection--list .tox-collection__item--enabled{background-color:#fff;color:#222f3e}.tox .tox-collection--list .tox-collection__item--active{background-color:#dee0e2}.tox .tox-collection--toolbar .tox-collection__item--enabled{background-color:#c8cbcf;color:#222f3e}.tox .tox-collection--toolbar .tox-collection__item--active{background-color:#dee0e2}.tox .tox-collection--grid .tox-collection__item--enabled{background-color:#c8cbcf;color:#222f3e}.tox .tox-collection--grid .tox-collection__item--active:not(.tox-collection__item--state-disabled){background-color:#dee0e2;color:#222f3e}.tox .tox-collection--list .tox-collection__item--active:not(.tox-collection__item--state-disabled){color:#222f3e}.tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled){color:#222f3e}.tox .tox-collection__item-checkmark,.tox .tox-collection__item-icon{align-items:center;display:flex;height:24px;justify-content:center;width:24px}.tox .tox-collection__item-checkmark svg,.tox .tox-collection__item-icon svg{fill:currentColor}.tox .tox-collection--toolbar-lg .tox-collection__item-icon{height:48px;width:48px}.tox .tox-collection__item-label{color:currentColor;display:inline-block;flex:1;-ms-flex-preferred-size:auto;font-size:14px;font-style:normal;font-weight:400;line-height:24px;text-transform:none;word-break:break-all}.tox .tox-collection__item-accessory{color:rgba(34,47,62,.7);display:inline-block;font-size:14px;height:24px;line-height:24px;text-transform:none}.tox .tox-collection__item-caret{align-items:center;display:flex;min-height:24px}.tox .tox-collection__item-caret::after{content:'';font-size:0;min-height:inherit}.tox .tox-collection__item-caret svg{fill:#222f3e}.tox .tox-collection__item--state-disabled{background-color:transparent;color:rgba(34,47,62,.5);cursor:not-allowed}.tox .tox-collection__item--state-disabled .tox-collection__item-caret svg{fill:rgba(34,47,62,.5)}.tox .tox-collection--list .tox-collection__item:not(.tox-collection__item--enabled) .tox-collection__item-checkmark svg{display:none}.tox .tox-collection--list .tox-collection__item:not(.tox-collection__item--enabled) .tox-collection__item-accessory+.tox-collection__item-checkmark{display:none}.tox .tox-collection--horizontal{background-color:#fff;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 3px rgba(0,0,0,.15);display:flex;flex:0 0 auto;flex-shrink:0;flex-wrap:nowrap;margin-bottom:0;overflow-x:auto;padding:0}.tox .tox-collection--horizontal .tox-collection__group{align-items:center;display:flex;flex-wrap:nowrap;margin:0;padding:0 4px}.tox .tox-collection--horizontal .tox-collection__item{height:34px;margin:2px 0 3px 0;padding:0 4px}.tox .tox-collection--horizontal .tox-collection__item-label{white-space:nowrap}.tox .tox-collection--horizontal .tox-collection__item-caret{margin-left:4px}.tox .tox-collection__item-container{display:flex}.tox .tox-collection__item-container--row{align-items:center;flex:1 1 auto;flex-direction:row}.tox .tox-collection__item-container--row.tox-collection__item-container--align-left{margin-right:auto}.tox .tox-collection__item-container--row.tox-collection__item-container--align-right{justify-content:flex-end;margin-left:auto}.tox .tox-collection__item-container--row.tox-collection__item-container--valign-top{align-items:flex-start;margin-bottom:auto}.tox .tox-collection__item-container--row.tox-collection__item-container--valign-middle{align-items:center}.tox .tox-collection__item-container--row.tox-collection__item-container--valign-bottom{align-items:flex-end;margin-top:auto}.tox .tox-collection__item-container--column{-ms-grid-row-align:center;align-self:center;flex:1 1 auto;flex-direction:column}.tox .tox-collection__item-container--column.tox-collection__item-container--align-left{align-items:flex-start}.tox .tox-collection__item-container--column.tox-collection__item-container--align-right{align-items:flex-end}.tox .tox-collection__item-container--column.tox-collection__item-container--valign-top{align-self:flex-start}.tox .tox-collection__item-container--column.tox-collection__item-container--valign-middle{-ms-grid-row-align:center;align-self:center}.tox .tox-collection__item-container--column.tox-collection__item-container--valign-bottom{align-self:flex-end}.tox:not([dir=rtl]) .tox-collection--horizontal .tox-collection__group:not(:last-of-type){border-right:1px solid #ccc}.tox:not([dir=rtl]) .tox-collection--list .tox-collection__item>:not(:first-child){margin-left:8px}.tox:not([dir=rtl]) .tox-collection--list .tox-collection__item>.tox-collection__item-label:first-child{margin-left:4px}.tox:not([dir=rtl]) .tox-collection__item-accessory{margin-left:16px;text-align:right}.tox:not([dir=rtl]) .tox-collection .tox-collection__item-caret{margin-left:16px}.tox[dir=rtl] .tox-collection--horizontal .tox-collection__group:not(:last-of-type){border-left:1px solid #ccc}.tox[dir=rtl] .tox-collection--list .tox-collection__item>:not(:first-child){margin-right:8px}.tox[dir=rtl] .tox-collection--list .tox-collection__item>.tox-collection__item-label:first-child{margin-right:4px}.tox[dir=rtl] .tox-collection__item-accessory{margin-right:16px;text-align:left}.tox[dir=rtl] .tox-collection .tox-collection__item-caret{margin-right:16px;transform:rotateY(180deg)}.tox[dir=rtl] .tox-collection--horizontal .tox-collection__item-caret{margin-right:4px}.tox .tox-color-picker-container{display:flex;flex-direction:row;height:225px;margin:0}.tox .tox-sv-palette{box-sizing:border-box;display:flex;height:100%}.tox .tox-sv-palette-spectrum{height:100%}.tox .tox-sv-palette,.tox .tox-sv-palette-spectrum{width:225px}.tox .tox-sv-palette-thumb{background:0 0;border:1px solid #000;border-radius:50%;box-sizing:content-box;height:12px;position:absolute;width:12px}.tox .tox-sv-palette-inner-thumb{border:1px solid #fff;border-radius:50%;height:10px;position:absolute;width:10px}.tox .tox-hue-slider{box-sizing:border-box;height:100%;width:25px}.tox .tox-hue-slider-spectrum{background:linear-gradient(to bottom,red,#ff0080,#f0f,#8000ff,#00f,#0080ff,#0ff,#00ff80,#0f0,#80ff00,#ff0,#ff8000,red);height:100%;width:100%}.tox .tox-hue-slider,.tox .tox-hue-slider-spectrum{width:20px}.tox .tox-hue-slider-thumb{background:#fff;border:1px solid #000;box-sizing:content-box;height:4px;width:100%}.tox .tox-rgb-form{display:flex;flex-direction:column;justify-content:space-between}.tox .tox-rgb-form div{align-items:center;display:flex;justify-content:space-between;margin-bottom:5px;width:inherit}.tox .tox-rgb-form input{width:6em}.tox .tox-rgb-form input.tox-invalid{border:1px solid red!important}.tox .tox-rgb-form .tox-rgba-preview{border:1px solid #000;flex-grow:2;margin-bottom:0}.tox:not([dir=rtl]) .tox-sv-palette{margin-right:15px}.tox:not([dir=rtl]) .tox-hue-slider{margin-right:15px}.tox:not([dir=rtl]) .tox-hue-slider-thumb{margin-left:-1px}.tox:not([dir=rtl]) .tox-rgb-form label{margin-right:.5em}.tox[dir=rtl] .tox-sv-palette{margin-left:15px}.tox[dir=rtl] .tox-hue-slider{margin-left:15px}.tox[dir=rtl] .tox-hue-slider-thumb{margin-right:-1px}.tox[dir=rtl] .tox-rgb-form label{margin-left:.5em}.tox .tox-toolbar .tox-swatches,.tox .tox-toolbar__overflow .tox-swatches,.tox .tox-toolbar__primary .tox-swatches{margin:2px 0 3px 4px}.tox .tox-collection--list .tox-collection__group .tox-swatches-menu{border:0;margin:-4px 0}.tox .tox-swatches__row{display:flex}.tox .tox-swatch{height:30px;transition:transform .15s,box-shadow .15s;width:30px}.tox .tox-swatch:focus,.tox .tox-swatch:hover{box-shadow:0 0 0 1px rgba(127,127,127,.3) inset;transform:scale(.8)}.tox .tox-swatch--remove{align-items:center;display:flex;justify-content:center}.tox .tox-swatch--remove svg path{stroke:#e74c3c}.tox .tox-swatches__picker-btn{align-items:center;background-color:transparent;border:0;cursor:pointer;display:flex;height:30px;justify-content:center;outline:0;padding:0;width:30px}.tox .tox-swatches__picker-btn svg{height:24px;width:24px}.tox .tox-swatches__picker-btn:hover{background:#dee0e2}.tox:not([dir=rtl]) .tox-swatches__picker-btn{margin-left:auto}.tox[dir=rtl] .tox-swatches__picker-btn{margin-right:auto}.tox .tox-comment-thread{background:#fff;position:relative}.tox .tox-comment-thread>:not(:first-child){margin-top:8px}.tox .tox-comment{background:#fff;border:1px solid #ccc;border-radius:3px;box-shadow:0 4px 8px 0 rgba(34,47,62,.1);padding:8px 8px 16px 8px;position:relative}.tox .tox-comment__header{align-items:center;color:#222f3e;display:flex;justify-content:space-between}.tox .tox-comment__date{color:rgba(34,47,62,.7);font-size:12px}.tox .tox-comment__body{color:#222f3e;font-size:14px;font-style:normal;font-weight:400;line-height:1.3;margin-top:8px;position:relative;text-transform:initial}.tox .tox-comment__body textarea{resize:none;white-space:normal;width:100%}.tox .tox-comment__expander{padding-top:8px}.tox .tox-comment__expander p{color:rgba(34,47,62,.7);font-size:14px;font-style:normal}.tox .tox-comment__body p{margin:0}.tox .tox-comment__buttonspacing{padding-top:16px;text-align:center}.tox .tox-comment-thread__overlay::after{background:#fff;bottom:0;content:"";display:flex;left:0;opacity:.9;position:absolute;right:0;top:0;z-index:5}.tox .tox-comment__reply{display:flex;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end;margin-top:8px}.tox .tox-comment__reply>:first-child{margin-bottom:8px;width:100%}.tox .tox-comment__edit{display:flex;flex-wrap:wrap;justify-content:flex-end;margin-top:16px}.tox .tox-comment__gradient::after{background:linear-gradient(rgba(255,255,255,0),#fff);bottom:0;content:"";display:block;height:5em;margin-top:-40px;position:absolute;width:100%}.tox .tox-comment__overlay{background:#fff;bottom:0;display:flex;flex-direction:column;flex-grow:1;left:0;opacity:.9;position:absolute;right:0;text-align:center;top:0;z-index:5}.tox .tox-comment__loading-text{align-items:center;color:#222f3e;display:flex;flex-direction:column;position:relative}.tox .tox-comment__loading-text>div{padding-bottom:16px}.tox .tox-comment__overlaytext{bottom:0;flex-direction:column;font-size:14px;left:0;padding:1em;position:absolute;right:0;top:0;z-index:10}.tox .tox-comment__overlaytext p{background-color:#fff;box-shadow:0 0 8px 8px #fff;color:#222f3e;text-align:center}.tox .tox-comment__overlaytext div:nth-of-type(2){font-size:.8em}.tox .tox-comment__busy-spinner{align-items:center;background-color:#fff;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:20}.tox .tox-comment__scroll{display:flex;flex-direction:column;flex-shrink:1;overflow:auto}.tox .tox-conversations{margin:8px}.tox:not([dir=rtl]) .tox-comment__edit{margin-left:8px}.tox:not([dir=rtl]) .tox-comment__buttonspacing>:last-child,.tox:not([dir=rtl]) .tox-comment__edit>:last-child,.tox:not([dir=rtl]) .tox-comment__reply>:last-child{margin-left:8px}.tox[dir=rtl] .tox-comment__edit{margin-right:8px}.tox[dir=rtl] .tox-comment__buttonspacing>:last-child,.tox[dir=rtl] .tox-comment__edit>:last-child,.tox[dir=rtl] .tox-comment__reply>:last-child{margin-right:8px}.tox .tox-user{align-items:center;display:flex}.tox .tox-user__avatar svg{fill:rgba(34,47,62,.7)}.tox .tox-user__name{color:rgba(34,47,62,.7);font-size:12px;font-style:normal;font-weight:700;text-transform:uppercase}.tox:not([dir=rtl]) .tox-user__avatar svg{margin-right:8px}.tox:not([dir=rtl]) .tox-user__avatar+.tox-user__name{margin-left:8px}.tox[dir=rtl] .tox-user__avatar svg{margin-left:8px}.tox[dir=rtl] .tox-user__avatar+.tox-user__name{margin-right:8px}.tox .tox-dialog-wrap{align-items:center;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1100}.tox .tox-dialog-wrap__backdrop{background-color:rgba(255,255,255,.75);bottom:0;left:0;position:absolute;right:0;top:0;z-index:1}.tox .tox-dialog-wrap__backdrop--opaque{background-color:#fff}.tox .tox-dialog{background-color:#fff;border-color:#ccc;border-radius:3px;border-style:solid;border-width:1px;box-shadow:0 16px 16px -10px rgba(34,47,62,.15),0 0 40px 1px rgba(34,47,62,.15);display:flex;flex-direction:column;max-height:100%;max-width:480px;overflow:hidden;position:relative;width:95vw;z-index:2}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox .tox-dialog{align-self:flex-start;margin:8px auto;width:calc(100vw - 16px)}}.tox .tox-dialog-inline{z-index:1100}.tox .tox-dialog__header{align-items:center;background-color:#fff;border-bottom:none;color:#222f3e;display:flex;font-size:16px;justify-content:space-between;padding:8px 16px 0 16px;position:relative}.tox .tox-dialog__header .tox-button{z-index:1}.tox .tox-dialog__draghandle{cursor:grab;height:100%;left:0;position:absolute;top:0;width:100%}.tox .tox-dialog__draghandle:active{cursor:grabbing}.tox .tox-dialog__dismiss{margin-left:auto}.tox .tox-dialog__title{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:20px;font-style:normal;font-weight:400;line-height:1.3;margin:0;text-transform:none}.tox .tox-dialog__body{color:#222f3e;display:flex;flex:1;-ms-flex-preferred-size:auto;font-size:16px;font-style:normal;font-weight:400;line-height:1.3;min-width:0;text-align:left;text-transform:none}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox .tox-dialog__body{flex-direction:column}}.tox .tox-dialog__body-nav{align-items:flex-start;display:flex;flex-direction:column;padding:16px 16px}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox .tox-dialog__body-nav{flex-direction:row;-webkit-overflow-scrolling:touch;overflow-x:auto;padding-bottom:0}}.tox .tox-dialog__body-nav-item{border-bottom:2px solid transparent;color:rgba(34,47,62,.7);display:inline-block;font-size:14px;line-height:1.3;margin-bottom:8px;text-decoration:none;white-space:nowrap}.tox .tox-dialog__body-nav-item:focus{background-color:rgba(32,122,183,.1)}.tox .tox-dialog__body-nav-item--active{border-bottom:2px solid #207ab7;color:#207ab7}.tox .tox-dialog__body-content{box-sizing:border-box;display:flex;flex:1;flex-direction:column;-ms-flex-preferred-size:auto;max-height:650px;overflow:auto;-webkit-overflow-scrolling:touch;padding:16px 16px}.tox .tox-dialog__body-content>*{margin-bottom:0;margin-top:16px}.tox .tox-dialog__body-content>:first-child{margin-top:0}.tox .tox-dialog__body-content>:last-child{margin-bottom:0}.tox .tox-dialog__body-content>:only-child{margin-bottom:0;margin-top:0}.tox .tox-dialog__body-content a{color:#207ab7;cursor:pointer;text-decoration:none}.tox .tox-dialog__body-content a:focus,.tox .tox-dialog__body-content a:hover{color:#185d8c;text-decoration:none}.tox .tox-dialog__body-content a:active{color:#185d8c;text-decoration:none}.tox .tox-dialog__body-content svg{fill:#222f3e}.tox .tox-dialog__body-content ul{display:block;list-style-type:disc;margin-bottom:16px;-webkit-margin-end:0;margin-inline-end:0;-webkit-margin-start:0;margin-inline-start:0;-webkit-padding-start:2.5rem;padding-inline-start:2.5rem}.tox .tox-dialog__body-content .tox-form__group h1{color:#222f3e;font-size:20px;font-style:normal;font-weight:700;letter-spacing:normal;margin-bottom:16px;margin-top:2rem;text-transform:none}.tox .tox-dialog__body-content .tox-form__group h2{color:#222f3e;font-size:16px;font-style:normal;font-weight:700;letter-spacing:normal;margin-bottom:16px;margin-top:2rem;text-transform:none}.tox .tox-dialog__body-content .tox-form__group p{margin-bottom:16px}.tox .tox-dialog__body-content .tox-form__group h1:first-child,.tox .tox-dialog__body-content .tox-form__group h2:first-child,.tox .tox-dialog__body-content .tox-form__group p:first-child{margin-top:0}.tox .tox-dialog__body-content .tox-form__group h1:last-child,.tox .tox-dialog__body-content .tox-form__group h2:last-child,.tox .tox-dialog__body-content .tox-form__group p:last-child{margin-bottom:0}.tox .tox-dialog__body-content .tox-form__group h1:only-child,.tox .tox-dialog__body-content .tox-form__group h2:only-child,.tox .tox-dialog__body-content .tox-form__group p:only-child{margin-bottom:0;margin-top:0}.tox .tox-dialog--width-lg{height:650px;max-width:1200px}.tox .tox-dialog--width-md{max-width:800px}.tox .tox-dialog--width-md .tox-dialog__body-content{overflow:auto}.tox .tox-dialog__body-content--centered{text-align:center}.tox .tox-dialog__footer{align-items:center;background-color:#fff;border-top:1px solid #ccc;display:flex;justify-content:space-between;padding:8px 16px}.tox .tox-dialog__footer-end,.tox .tox-dialog__footer-start{display:flex}.tox .tox-dialog__busy-spinner{align-items:center;background-color:rgba(255,255,255,.75);bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:3}.tox .tox-dialog__table{border-collapse:collapse;width:100%}.tox .tox-dialog__table thead th{font-weight:700;padding-bottom:8px}.tox .tox-dialog__table tbody tr{border-bottom:1px solid #ccc}.tox .tox-dialog__table tbody tr:last-child{border-bottom:none}.tox .tox-dialog__table td{padding-bottom:8px;padding-top:8px}.tox .tox-dialog__popups{position:absolute;width:100%;z-index:1100}.tox .tox-dialog__body-iframe{display:flex;flex:1;flex-direction:column;-ms-flex-preferred-size:auto}.tox .tox-dialog__body-iframe .tox-navobj{display:flex;flex:1;-ms-flex-preferred-size:auto}.tox .tox-dialog__body-iframe .tox-navobj :nth-child(2){flex:1;-ms-flex-preferred-size:auto;height:100%}.tox .tox-dialog-dock-fadeout{opacity:0;visibility:hidden}.tox .tox-dialog-dock-fadein{opacity:1;visibility:visible}.tox .tox-dialog-dock-transition{transition:visibility 0s linear .3s,opacity .3s ease}.tox .tox-dialog-dock-transition.tox-dialog-dock-fadein{transition-delay:0s}.tox.tox-platform-ie .tox-dialog-wrap{position:-ms-device-fixed}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox:not([dir=rtl]) .tox-dialog__body-nav{margin-right:0}}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox:not([dir=rtl]) .tox-dialog__body-nav-item:not(:first-child){margin-left:8px}}.tox:not([dir=rtl]) .tox-dialog__footer .tox-dialog__footer-end>*,.tox:not([dir=rtl]) .tox-dialog__footer .tox-dialog__footer-start>*{margin-left:8px}.tox[dir=rtl] .tox-dialog__body{text-align:right}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox[dir=rtl] .tox-dialog__body-nav{margin-left:0}}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox[dir=rtl] .tox-dialog__body-nav-item:not(:first-child){margin-right:8px}}.tox[dir=rtl] .tox-dialog__footer .tox-dialog__footer-end>*,.tox[dir=rtl] .tox-dialog__footer .tox-dialog__footer-start>*{margin-right:8px}body.tox-dialog__disable-scroll{overflow:hidden}.tox .tox-dropzone-container{display:flex;flex:1;-ms-flex-preferred-size:auto}.tox .tox-dropzone{align-items:center;background:#fff;border:2px dashed #ccc;box-sizing:border-box;display:flex;flex-direction:column;flex-grow:1;justify-content:center;min-height:100px;padding:10px}.tox .tox-dropzone p{color:rgba(34,47,62,.7);margin:0 0 16px 0}.tox .tox-edit-area{display:flex;flex:1;-ms-flex-preferred-size:auto;overflow:hidden;position:relative}.tox .tox-edit-area__iframe{background-color:#fff;border:0;box-sizing:border-box;flex:1;-ms-flex-preferred-size:auto;height:100%;position:absolute;width:100%}.tox.tox-inline-edit-area{border:1px dotted #ccc}.tox .tox-editor-container{display:flex;flex:1 1 auto;flex-direction:column;overflow:hidden}.tox .tox-editor-header{z-index:1}.tox:not(.tox-tinymce-inline) .tox-editor-header{box-shadow:none;transition:box-shadow .5s}.tox.tox-tinymce--toolbar-bottom .tox-editor-header,.tox.tox-tinymce-inline .tox-editor-header{margin-bottom:-1px}.tox.tox-tinymce--toolbar-sticky-on .tox-editor-header{background-color:transparent;box-shadow:0 4px 4px -3px rgba(0,0,0,.25)}.tox-editor-dock-fadeout{opacity:0;visibility:hidden}.tox-editor-dock-fadein{opacity:1;visibility:visible}.tox-editor-dock-transition{transition:visibility 0s linear .25s,opacity .25s ease}.tox-editor-dock-transition.tox-editor-dock-fadein{transition-delay:0s}.tox .tox-control-wrap{flex:1;position:relative}.tox .tox-control-wrap:not(.tox-control-wrap--status-invalid) .tox-control-wrap__status-icon-invalid,.tox .tox-control-wrap:not(.tox-control-wrap--status-unknown) .tox-control-wrap__status-icon-unknown,.tox .tox-control-wrap:not(.tox-control-wrap--status-valid) .tox-control-wrap__status-icon-valid{display:none}.tox .tox-control-wrap svg{display:block}.tox .tox-control-wrap__status-icon-wrap{position:absolute;top:50%;transform:translateY(-50%)}.tox .tox-control-wrap__status-icon-invalid svg{fill:#c00}.tox .tox-control-wrap__status-icon-unknown svg{fill:orange}.tox .tox-control-wrap__status-icon-valid svg{fill:green}.tox:not([dir=rtl]) .tox-control-wrap--status-invalid .tox-textfield,.tox:not([dir=rtl]) .tox-control-wrap--status-unknown .tox-textfield,.tox:not([dir=rtl]) .tox-control-wrap--status-valid .tox-textfield{padding-right:32px}.tox:not([dir=rtl]) .tox-control-wrap__status-icon-wrap{right:4px}.tox[dir=rtl] .tox-control-wrap--status-invalid .tox-textfield,.tox[dir=rtl] .tox-control-wrap--status-unknown .tox-textfield,.tox[dir=rtl] .tox-control-wrap--status-valid .tox-textfield{padding-left:32px}.tox[dir=rtl] .tox-control-wrap__status-icon-wrap{left:4px}.tox .tox-autocompleter{max-width:25em}.tox .tox-autocompleter .tox-menu{max-width:25em}.tox .tox-autocompleter .tox-autocompleter-highlight{font-weight:700}.tox .tox-color-input{display:flex;position:relative;z-index:1}.tox .tox-color-input .tox-textfield{z-index:-1}.tox .tox-color-input span{border-color:rgba(34,47,62,.2);border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;height:24px;position:absolute;top:6px;width:24px}.tox .tox-color-input span:focus:not([aria-disabled=true]),.tox .tox-color-input span:hover:not([aria-disabled=true]){border-color:#207ab7;cursor:pointer}.tox .tox-color-input span::before{background-image:linear-gradient(45deg,rgba(0,0,0,.25) 25%,transparent 25%),linear-gradient(-45deg,rgba(0,0,0,.25) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(0,0,0,.25) 75%),linear-gradient(-45deg,transparent 75%,rgba(0,0,0,.25) 75%);background-position:0 0,0 6px,6px -6px,-6px 0;background-size:12px 12px;border:1px solid #fff;border-radius:3px;box-sizing:border-box;content:'';height:24px;left:-1px;position:absolute;top:-1px;width:24px;z-index:-1}.tox .tox-color-input span[aria-disabled=true]{cursor:not-allowed}.tox:not([dir=rtl]) .tox-color-input .tox-textfield{padding-left:36px}.tox:not([dir=rtl]) .tox-color-input span{left:6px}.tox[dir=rtl] .tox-color-input .tox-textfield{padding-right:36px}.tox[dir=rtl] .tox-color-input span{right:6px}.tox .tox-label,.tox .tox-toolbar-label{color:rgba(34,47,62,.7);display:block;font-size:14px;font-style:normal;font-weight:400;line-height:1.3;padding:0 8px 0 0;text-transform:none;white-space:nowrap}.tox .tox-toolbar-label{padding:0 8px}.tox[dir=rtl] .tox-label{padding:0 0 0 8px}.tox .tox-form{display:flex;flex:1;flex-direction:column;-ms-flex-preferred-size:auto}.tox .tox-form__group{box-sizing:border-box;margin-bottom:4px}.tox .tox-form-group--maximize{flex:1}.tox .tox-form__group--error{color:#c00}.tox .tox-form__group--collection{display:flex}.tox .tox-form__grid{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between}.tox .tox-form__grid--2col>.tox-form__group{width:calc(50% - (8px / 2))}.tox .tox-form__grid--3col>.tox-form__group{width:calc(100% / 3 - (8px / 2))}.tox .tox-form__grid--4col>.tox-form__group{width:calc(25% - (8px / 2))}.tox .tox-form__controls-h-stack{align-items:center;display:flex}.tox .tox-form__group--inline{align-items:center;display:flex}.tox .tox-form__group--stretched{display:flex;flex:1;flex-direction:column;-ms-flex-preferred-size:auto}.tox .tox-form__group--stretched .tox-textarea{flex:1;-ms-flex-preferred-size:auto}.tox .tox-form__group--stretched .tox-navobj{display:flex;flex:1;-ms-flex-preferred-size:auto}.tox .tox-form__group--stretched .tox-navobj :nth-child(2){flex:1;-ms-flex-preferred-size:auto;height:100%}.tox:not([dir=rtl]) .tox-form__controls-h-stack>:not(:first-child){margin-left:4px}.tox[dir=rtl] .tox-form__controls-h-stack>:not(:first-child){margin-right:4px}.tox .tox-lock.tox-locked .tox-lock-icon__unlock,.tox .tox-lock:not(.tox-locked) .tox-lock-icon__lock{display:none}.tox .tox-listboxfield .tox-listbox--select,.tox .tox-textarea,.tox .tox-textfield,.tox .tox-toolbar-textfield{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#ccc;border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;color:#222f3e;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:16px;line-height:24px;margin:0;min-height:34px;outline:0;padding:5px 4.75px;resize:none;width:100%}.tox .tox-textarea[disabled],.tox .tox-textfield[disabled]{background-color:#f2f2f2;color:rgba(34,47,62,.85);cursor:not-allowed}.tox .tox-listboxfield .tox-listbox--select:focus,.tox .tox-textarea:focus,.tox .tox-textfield:focus{background-color:#fff;border-color:#207ab7;box-shadow:none;outline:0}.tox .tox-toolbar-textfield{border-width:0;margin-bottom:3px;margin-top:2px;max-width:250px}.tox .tox-naked-btn{background-color:transparent;border:0;border-color:transparent;box-shadow:unset;color:#207ab7;cursor:pointer;display:block;margin:0;padding:0}.tox .tox-naked-btn svg{display:block;fill:#222f3e}.tox:not([dir=rtl]) .tox-toolbar-textfield+*{margin-left:4px}.tox[dir=rtl] .tox-toolbar-textfield+*{margin-right:4px}.tox .tox-listboxfield{cursor:pointer;position:relative}.tox .tox-listboxfield .tox-listbox--select[disabled]{background-color:#f2f2f2;color:rgba(34,47,62,.85);cursor:not-allowed}.tox .tox-listbox__select-label{cursor:default;flex:1;margin:0 4px}.tox .tox-listbox__select-chevron{align-items:center;display:flex;justify-content:center;width:16px}.tox .tox-listbox__select-chevron svg{fill:#222f3e}.tox .tox-listboxfield .tox-listbox--select{align-items:center;display:flex}.tox:not([dir=rtl]) .tox-listboxfield svg{right:8px}.tox[dir=rtl] .tox-listboxfield svg{left:8px}.tox .tox-selectfield{cursor:pointer;position:relative}.tox .tox-selectfield select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#ccc;border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;color:#222f3e;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:16px;line-height:24px;margin:0;min-height:34px;outline:0;padding:5px 4.75px;resize:none;width:100%}.tox .tox-selectfield select[disabled]{background-color:#f2f2f2;color:rgba(34,47,62,.85);cursor:not-allowed}.tox .tox-selectfield select::-ms-expand{display:none}.tox .tox-selectfield select:focus{background-color:#fff;border-color:#207ab7;box-shadow:none;outline:0}.tox .tox-selectfield svg{pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.tox:not([dir=rtl]) .tox-selectfield select[size="0"],.tox:not([dir=rtl]) .tox-selectfield select[size="1"]{padding-right:24px}.tox:not([dir=rtl]) .tox-selectfield svg{right:8px}.tox[dir=rtl] .tox-selectfield select[size="0"],.tox[dir=rtl] .tox-selectfield select[size="1"]{padding-left:24px}.tox[dir=rtl] .tox-selectfield svg{left:8px}.tox .tox-textarea{-webkit-appearance:textarea;-moz-appearance:textarea;appearance:textarea;white-space:pre-wrap}.tox-fullscreen{border:0;height:100%;margin:0;overflow:hidden;-ms-scroll-chaining:none;overscroll-behavior:none;padding:0;touch-action:pinch-zoom;width:100%}.tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle{display:none}.tox-shadowhost.tox-fullscreen,.tox.tox-tinymce.tox-fullscreen{left:0;position:fixed;top:0;z-index:1200}.tox.tox-tinymce.tox-fullscreen{background-color:transparent}.tox-fullscreen .tox.tox-tinymce-aux,.tox-fullscreen~.tox.tox-tinymce-aux{z-index:1201}.tox .tox-help__more-link{list-style:none;margin-top:1em}.tox .tox-image-tools{width:100%}.tox .tox-image-tools__toolbar{align-items:center;display:flex;justify-content:center}.tox .tox-image-tools__image{background-color:#666;height:380px;overflow:auto;position:relative;width:100%}.tox .tox-image-tools__image,.tox .tox-image-tools__image+.tox-image-tools__toolbar{margin-top:8px}.tox .tox-image-tools__image-bg{background:url(data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==)}.tox .tox-image-tools__toolbar>.tox-spacer{flex:1;-ms-flex-preferred-size:auto}.tox .tox-croprect-block{background:#000;opacity:.5;position:absolute;zoom:1}.tox .tox-croprect-handle{border:2px solid #fff;height:20px;left:0;position:absolute;top:0;width:20px}.tox .tox-croprect-handle-move{border:0;cursor:move;position:absolute}.tox .tox-croprect-handle-nw{border-width:2px 0 0 2px;cursor:nw-resize;left:100px;margin:-2px 0 0 -2px;top:100px}.tox .tox-croprect-handle-ne{border-width:2px 2px 0 0;cursor:ne-resize;left:200px;margin:-2px 0 0 -20px;top:100px}.tox .tox-croprect-handle-sw{border-width:0 0 2px 2px;cursor:sw-resize;left:100px;margin:-20px 2px 0 -2px;top:200px}.tox .tox-croprect-handle-se{border-width:0 2px 2px 0;cursor:se-resize;left:200px;margin:-20px 0 0 -20px;top:200px}.tox:not([dir=rtl]) .tox-image-tools__toolbar>.tox-slider:not(:first-of-type){margin-left:8px}.tox:not([dir=rtl]) .tox-image-tools__toolbar>.tox-button+.tox-slider{margin-left:32px}.tox:not([dir=rtl]) .tox-image-tools__toolbar>.tox-slider+.tox-button{margin-left:32px}.tox[dir=rtl] .tox-image-tools__toolbar>.tox-slider:not(:first-of-type){margin-right:8px}.tox[dir=rtl] .tox-image-tools__toolbar>.tox-button+.tox-slider{margin-right:32px}.tox[dir=rtl] .tox-image-tools__toolbar>.tox-slider+.tox-button{margin-right:32px}.tox .tox-insert-table-picker{display:flex;flex-wrap:wrap;width:170px}.tox .tox-insert-table-picker>div{border-color:#ccc;border-style:solid;border-width:0 1px 1px 0;box-sizing:border-box;height:17px;width:17px}.tox .tox-collection--list .tox-collection__group .tox-insert-table-picker{margin:-4px 0}.tox .tox-insert-table-picker .tox-insert-table-picker__selected{background-color:rgba(32,122,183,.5);border-color:rgba(32,122,183,.5)}.tox .tox-insert-table-picker__label{color:rgba(34,47,62,.7);display:block;font-size:14px;padding:4px;text-align:center;width:100%}.tox:not([dir=rtl]) .tox-insert-table-picker>div:nth-child(10n){border-right:0}.tox[dir=rtl] .tox-insert-table-picker>div:nth-child(10n+1){border-right:0}.tox .tox-menu{background-color:#fff;border:1px solid #ccc;border-radius:3px;box-shadow:0 4px 8px 0 rgba(34,47,62,.1);display:inline-block;overflow:hidden;vertical-align:top;z-index:1150}.tox .tox-menu.tox-collection.tox-collection--list{padding:0}.tox .tox-menu.tox-collection.tox-collection--toolbar{padding:4px}.tox .tox-menu.tox-collection.tox-collection--grid{padding:4px}.tox .tox-menu__label blockquote,.tox .tox-menu__label code,.tox .tox-menu__label h1,.tox .tox-menu__label h2,.tox .tox-menu__label h3,.tox .tox-menu__label h4,.tox .tox-menu__label h5,.tox .tox-menu__label h6,.tox .tox-menu__label p{margin:0}.tox .tox-menubar{background:url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%23cccccc'/%3E%3C/svg%3E") left 0 top 0 #fff;background-color:#fff;display:flex;flex:0 0 auto;flex-shrink:0;flex-wrap:wrap;padding:0 4px 0 4px}.tox.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-menubar{border-top:1px solid #ccc}.tox .tox-mbtn{align-items:center;background:0 0;border:0;border-radius:3px;box-shadow:none;color:#222f3e;display:flex;flex:0 0 auto;font-size:14px;font-style:normal;font-weight:400;height:34px;justify-content:center;margin:2px 0 3px 0;outline:0;overflow:hidden;padding:0 4px;text-transform:none;width:auto}.tox .tox-mbtn[disabled]{background-color:transparent;border:0;box-shadow:none;color:rgba(34,47,62,.5);cursor:not-allowed}.tox .tox-mbtn:focus:not(:disabled){background:#dee0e2;border:0;box-shadow:none;color:#222f3e}.tox .tox-mbtn--active{background:#c8cbcf;border:0;box-shadow:none;color:#222f3e}.tox .tox-mbtn:hover:not(:disabled):not(.tox-mbtn--active){background:#dee0e2;border:0;box-shadow:none;color:#222f3e}.tox .tox-mbtn__select-label{cursor:default;font-weight:400;margin:0 4px}.tox .tox-mbtn[disabled] .tox-mbtn__select-label{cursor:not-allowed}.tox .tox-mbtn__select-chevron{align-items:center;display:flex;justify-content:center;width:16px;display:none}.tox .tox-notification{border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;display:-ms-grid;display:grid;font-size:14px;font-weight:400;-ms-grid-columns:minmax(40px,1fr) auto minmax(40px,1fr);grid-template-columns:minmax(40px,1fr) auto minmax(40px,1fr);margin-top:4px;opacity:0;padding:4px;transition:transform .1s ease-in,opacity 150ms ease-in}.tox .tox-notification p{font-size:14px;font-weight:400}.tox .tox-notification a{cursor:pointer;text-decoration:underline}.tox .tox-notification--in{opacity:1}.tox .tox-notification--success{background-color:#e4eeda;border-color:#d7e6c8;color:#222f3e}.tox .tox-notification--success p{color:#222f3e}.tox .tox-notification--success a{color:#547831}.tox .tox-notification--success svg{fill:#222f3e}.tox .tox-notification--error{background-color:#f8dede;border-color:#f2bfbf;color:#222f3e}.tox .tox-notification--error p{color:#222f3e}.tox .tox-notification--error a{color:#c00}.tox .tox-notification--error svg{fill:#222f3e}.tox .tox-notification--warn,.tox .tox-notification--warning{background-color:#fffaea;border-color:#ffe89d;color:#222f3e}.tox .tox-notification--warn p,.tox .tox-notification--warning p{color:#222f3e}.tox .tox-notification--warn a,.tox .tox-notification--warning a{color:#222f3e}.tox .tox-notification--warn svg,.tox .tox-notification--warning svg{fill:#222f3e}.tox .tox-notification--info{background-color:#d9edf7;border-color:#779ecb;color:#222f3e}.tox .tox-notification--info p{color:#222f3e}.tox .tox-notification--info a{color:#222f3e}.tox .tox-notification--info svg{fill:#222f3e}.tox .tox-notification__body{-ms-grid-row-align:center;align-self:center;color:#222f3e;font-size:14px;-ms-grid-column-span:1;grid-column-end:3;-ms-grid-column:2;grid-column-start:2;-ms-grid-row-span:1;grid-row-end:2;-ms-grid-row:1;grid-row-start:1;text-align:center;white-space:normal;word-break:break-all;word-break:break-word}.tox .tox-notification__body>*{margin:0}.tox .tox-notification__body>*+*{margin-top:1rem}.tox .tox-notification__icon{-ms-grid-row-align:center;align-self:center;-ms-grid-column-span:1;grid-column-end:2;-ms-grid-column:1;grid-column-start:1;-ms-grid-row-span:1;grid-row-end:2;-ms-grid-row:1;grid-row-start:1;-ms-grid-column-align:end;justify-self:end}.tox .tox-notification__icon svg{display:block}.tox .tox-notification__dismiss{-ms-grid-row-align:start;align-self:start;-ms-grid-column-span:1;grid-column-end:4;-ms-grid-column:3;grid-column-start:3;-ms-grid-row-span:1;grid-row-end:2;-ms-grid-row:1;grid-row-start:1;-ms-grid-column-align:end;justify-self:end}.tox .tox-notification .tox-progress-bar{-ms-grid-column-span:3;grid-column-end:4;-ms-grid-column:1;grid-column-start:1;-ms-grid-row-span:1;grid-row-end:3;-ms-grid-row:2;grid-row-start:2;-ms-grid-column-align:center;justify-self:center}.tox .tox-pop{display:inline-block;position:relative}.tox .tox-pop--resizing{transition:width .1s ease}.tox .tox-pop--resizing .tox-toolbar,.tox .tox-pop--resizing .tox-toolbar__group{flex-wrap:nowrap}.tox .tox-pop--transition{transition:.15s ease;transition-property:left,right,top,bottom}.tox .tox-pop--transition::after,.tox .tox-pop--transition::before{transition:all .15s,visibility 0s,opacity 75ms ease 75ms}.tox .tox-pop__dialog{background-color:#fff;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 3px rgba(0,0,0,.15);min-width:0;overflow:hidden}.tox .tox-pop__dialog>:not(.tox-toolbar){margin:4px 4px 4px 8px}.tox .tox-pop__dialog .tox-toolbar{background-color:transparent;margin-bottom:-1px}.tox .tox-pop::after,.tox .tox-pop::before{border-style:solid;content:'';display:block;height:0;opacity:1;position:absolute;width:0}.tox .tox-pop.tox-pop--inset::after,.tox .tox-pop.tox-pop--inset::before{opacity:0;transition:all 0s .15s,visibility 0s,opacity 75ms ease}.tox .tox-pop.tox-pop--bottom::after,.tox .tox-pop.tox-pop--bottom::before{left:50%;top:100%}.tox .tox-pop.tox-pop--bottom::after{border-color:#fff transparent transparent transparent;border-width:8px;margin-left:-8px;margin-top:-1px}.tox .tox-pop.tox-pop--bottom::before{border-color:#ccc transparent transparent transparent;border-width:9px;margin-left:-9px}.tox .tox-pop.tox-pop--top::after,.tox .tox-pop.tox-pop--top::before{left:50%;top:0;transform:translateY(-100%)}.tox .tox-pop.tox-pop--top::after{border-color:transparent transparent #fff transparent;border-width:8px;margin-left:-8px;margin-top:1px}.tox .tox-pop.tox-pop--top::before{border-color:transparent transparent #ccc transparent;border-width:9px;margin-left:-9px}.tox .tox-pop.tox-pop--left::after,.tox .tox-pop.tox-pop--left::before{left:0;top:calc(50% - 1px);transform:translateY(-50%)}.tox .tox-pop.tox-pop--left::after{border-color:transparent #fff transparent transparent;border-width:8px;margin-left:-15px}.tox .tox-pop.tox-pop--left::before{border-color:transparent #ccc transparent transparent;border-width:10px;margin-left:-19px}.tox .tox-pop.tox-pop--right::after,.tox .tox-pop.tox-pop--right::before{left:100%;top:calc(50% + 1px);transform:translateY(-50%)}.tox .tox-pop.tox-pop--right::after{border-color:transparent transparent transparent #fff;border-width:8px;margin-left:-1px}.tox .tox-pop.tox-pop--right::before{border-color:transparent transparent transparent #ccc;border-width:10px;margin-left:-1px}.tox .tox-pop.tox-pop--align-left::after,.tox .tox-pop.tox-pop--align-left::before{left:20px}.tox .tox-pop.tox-pop--align-right::after,.tox .tox-pop.tox-pop--align-right::before{left:calc(100% - 20px)}.tox .tox-sidebar-wrap{display:flex;flex-direction:row;flex-grow:1;-ms-flex-preferred-size:0;min-height:0}.tox .tox-sidebar{background-color:#fff;display:flex;flex-direction:row;justify-content:flex-end}.tox .tox-sidebar__slider{display:flex;overflow:hidden}.tox .tox-sidebar__pane-container{display:flex}.tox .tox-sidebar__pane{display:flex}.tox .tox-sidebar--sliding-closed{opacity:0}.tox .tox-sidebar--sliding-open{opacity:1}.tox .tox-sidebar--sliding-growing,.tox .tox-sidebar--sliding-shrinking{transition:width .5s ease,opacity .5s ease}.tox .tox-selector{background-color:#4099ff;border-color:#4099ff;border-style:solid;border-width:1px;box-sizing:border-box;display:inline-block;height:10px;position:absolute;width:10px}.tox.tox-platform-touch .tox-selector{height:12px;width:12px}.tox .tox-slider{align-items:center;display:flex;flex:1;-ms-flex-preferred-size:auto;height:24px;justify-content:center;position:relative}.tox .tox-slider__rail{background-color:transparent;border:1px solid #ccc;border-radius:3px;height:10px;min-width:120px;width:100%}.tox .tox-slider__handle{background-color:#207ab7;border:2px solid #185d8c;border-radius:3px;box-shadow:none;height:24px;left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%);width:14px}.tox .tox-source-code{overflow:auto}.tox .tox-spinner{display:flex}.tox .tox-spinner>div{animation:tam-bouncing-dots 1.5s ease-in-out 0s infinite both;background-color:rgba(34,47,62,.7);border-radius:100%;height:8px;width:8px}.tox .tox-spinner>div:nth-child(1){animation-delay:-.32s}.tox .tox-spinner>div:nth-child(2){animation-delay:-.16s}@keyframes tam-bouncing-dots{0%,100%,80%{transform:scale(0)}40%{transform:scale(1)}}.tox:not([dir=rtl]) .tox-spinner>div:not(:first-child){margin-left:4px}.tox[dir=rtl] .tox-spinner>div:not(:first-child){margin-right:4px}.tox .tox-statusbar{align-items:center;background-color:#fff;border-top:1px solid #ccc;color:rgba(34,47,62,.7);display:flex;flex:0 0 auto;font-size:12px;font-weight:400;height:18px;overflow:hidden;padding:0 8px;position:relative;text-transform:uppercase}.tox .tox-statusbar__text-container{display:flex;flex:1 1 auto;justify-content:flex-end;overflow:hidden}.tox .tox-statusbar__path{display:flex;flex:1 1 auto;margin-right:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tox .tox-statusbar__path>*{display:inline;white-space:nowrap}.tox .tox-statusbar__wordcount{flex:0 0 auto;margin-left:1ch}.tox .tox-statusbar a,.tox .tox-statusbar__path-item,.tox .tox-statusbar__wordcount{color:rgba(34,47,62,.7);text-decoration:none}.tox .tox-statusbar a:focus:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar a:hover:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__path-item:focus:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__path-item:hover:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__wordcount:focus:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__wordcount:hover:not(:disabled):not([aria-disabled=true]){cursor:pointer;text-decoration:underline}.tox .tox-statusbar__resize-handle{align-items:flex-end;align-self:stretch;cursor:nwse-resize;display:flex;flex:0 0 auto;justify-content:flex-end;margin-left:auto;margin-right:-8px;padding-left:1ch}.tox .tox-statusbar__resize-handle svg{display:block;fill:rgba(34,47,62,.7)}.tox .tox-statusbar__resize-handle:focus svg{background-color:#dee0e2;border-radius:1px;box-shadow:0 0 0 2px #dee0e2}.tox:not([dir=rtl]) .tox-statusbar__path>*{margin-right:4px}.tox:not([dir=rtl]) .tox-statusbar__branding{margin-left:1ch}.tox[dir=rtl] .tox-statusbar{flex-direction:row-reverse}.tox[dir=rtl] .tox-statusbar__path>*{margin-left:4px}.tox .tox-throbber{z-index:1299}.tox .tox-throbber__busy-spinner{align-items:center;background-color:rgba(255,255,255,.6);bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0}.tox .tox-tbtn{align-items:center;background:0 0;border:0;border-radius:3px;box-shadow:none;color:#222f3e;display:flex;flex:0 0 auto;font-size:14px;font-style:normal;font-weight:400;height:34px;justify-content:center;margin:2px 0 3px 0;outline:0;overflow:hidden;padding:0;text-transform:none;width:34px}.tox .tox-tbtn svg{display:block;fill:#222f3e}.tox .tox-tbtn.tox-tbtn-more{padding-left:5px;padding-right:5px;width:inherit}.tox .tox-tbtn:focus{background:#dee0e2;border:0;box-shadow:none}.tox .tox-tbtn:hover{background:#dee0e2;border:0;box-shadow:none;color:#222f3e}.tox .tox-tbtn:hover svg{fill:#222f3e}.tox .tox-tbtn:active{background:#c8cbcf;border:0;box-shadow:none;color:#222f3e}.tox .tox-tbtn:active svg{fill:#222f3e}.tox .tox-tbtn--disabled,.tox .tox-tbtn--disabled:hover,.tox .tox-tbtn:disabled,.tox .tox-tbtn:disabled:hover{background:0 0;border:0;box-shadow:none;color:rgba(34,47,62,.5);cursor:not-allowed}.tox .tox-tbtn--disabled svg,.tox .tox-tbtn--disabled:hover svg,.tox .tox-tbtn:disabled svg,.tox .tox-tbtn:disabled:hover svg{fill:rgba(34,47,62,.5)}.tox .tox-tbtn--enabled,.tox .tox-tbtn--enabled:hover{background:#c8cbcf;border:0;box-shadow:none;color:#222f3e}.tox .tox-tbtn--enabled:hover>*,.tox .tox-tbtn--enabled>*{transform:none}.tox .tox-tbtn--enabled svg,.tox .tox-tbtn--enabled:hover svg{fill:#222f3e}.tox .tox-tbtn:focus:not(.tox-tbtn--disabled){color:#222f3e}.tox .tox-tbtn:focus:not(.tox-tbtn--disabled) svg{fill:#222f3e}.tox .tox-tbtn:active>*{transform:none}.tox .tox-tbtn--md{height:51px;width:51px}.tox .tox-tbtn--lg{flex-direction:column;height:68px;width:68px}.tox .tox-tbtn--return{-ms-grid-row-align:stretch;align-self:stretch;height:unset;width:16px}.tox .tox-tbtn--labeled{padding:0 4px;width:unset}.tox .tox-tbtn__vlabel{display:block;font-size:10px;font-weight:400;letter-spacing:-.025em;margin-bottom:4px;white-space:nowrap}.tox .tox-tbtn--select{margin:2px 0 3px 0;padding:0 4px;width:auto}.tox .tox-tbtn__select-label{cursor:default;font-weight:400;margin:0 4px}.tox .tox-tbtn__select-chevron{align-items:center;display:flex;justify-content:center;width:16px}.tox .tox-tbtn__select-chevron svg{fill:rgba(34,47,62,.5)}.tox .tox-tbtn--bespoke .tox-tbtn__select-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:7em}.tox .tox-split-button{border:0;border-radius:3px;box-sizing:border-box;display:flex;margin:2px 0 3px 0;overflow:hidden}.tox .tox-split-button:hover{box-shadow:0 0 0 1px #dee0e2 inset}.tox .tox-split-button:focus{background:#dee0e2;box-shadow:none;color:#222f3e}.tox .tox-split-button>*{border-radius:0}.tox .tox-split-button__chevron{width:16px}.tox .tox-split-button__chevron svg{fill:rgba(34,47,62,.5)}.tox .tox-split-button .tox-tbtn{margin:0}.tox.tox-platform-touch .tox-split-button .tox-tbtn:first-child{width:30px}.tox.tox-platform-touch .tox-split-button__chevron{width:20px}.tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:focus,.tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:hover,.tox .tox-split-button.tox-tbtn--disabled:focus,.tox .tox-split-button.tox-tbtn--disabled:hover{background:0 0;box-shadow:none;color:rgba(34,47,62,.5)}.tox .tox-toolbar-overlord{background-color:#fff}.tox .tox-toolbar,.tox .tox-toolbar__overflow,.tox .tox-toolbar__primary{background:url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%23cccccc'/%3E%3C/svg%3E") left 0 top 0 #fff;background-color:#fff;display:flex;flex:0 0 auto;flex-shrink:0;flex-wrap:wrap;padding:0 0}.tox .tox-toolbar__overflow.tox-toolbar__overflow--closed{height:0;opacity:0;padding-bottom:0;padding-top:0;visibility:hidden}.tox .tox-toolbar__overflow--growing{transition:height .3s ease,opacity .2s linear .1s}.tox .tox-toolbar__overflow--shrinking{transition:opacity .3s ease,height .2s linear .1s,visibility 0s linear .3s}.tox .tox-menubar+.tox-toolbar,.tox .tox-menubar+.tox-toolbar-overlord .tox-toolbar__primary{border-top:1px solid #ccc;margin-top:-1px}.tox .tox-toolbar--scrolling{flex-wrap:nowrap;overflow-x:auto}.tox .tox-pop .tox-toolbar{border-width:0}.tox .tox-toolbar--no-divider{background-image:none}.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-toolbar-overlord:first-child .tox-toolbar__primary,.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-toolbar:first-child{border-top:1px solid #ccc}.tox.tox-tinymce-aux .tox-toolbar__overflow{background-color:#fff;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 3px rgba(0,0,0,.15)}.tox .tox-toolbar__group{align-items:center;display:flex;flex-wrap:wrap;margin:0 0;padding:0 4px 0 4px}.tox .tox-toolbar__group--pull-right{margin-left:auto}.tox .tox-toolbar--scrolling .tox-toolbar__group{flex-shrink:0;flex-wrap:nowrap}.tox:not([dir=rtl]) .tox-toolbar__group:not(:last-of-type){border-right:1px solid #ccc}.tox[dir=rtl] .tox-toolbar__group:not(:last-of-type){border-left:1px solid #ccc}.tox .tox-tooltip{display:inline-block;padding:8px;position:relative}.tox .tox-tooltip__body{background-color:#222f3e;border-radius:3px;box-shadow:0 2px 4px rgba(34,47,62,.3);color:rgba(255,255,255,.75);font-size:14px;font-style:normal;font-weight:400;padding:4px 8px;text-transform:none}.tox .tox-tooltip__arrow{position:absolute}.tox .tox-tooltip--down .tox-tooltip__arrow{border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #222f3e;bottom:0;left:50%;position:absolute;transform:translateX(-50%)}.tox .tox-tooltip--up .tox-tooltip__arrow{border-bottom:8px solid #222f3e;border-left:8px solid transparent;border-right:8px solid transparent;left:50%;position:absolute;top:0;transform:translateX(-50%)}.tox .tox-tooltip--right .tox-tooltip__arrow{border-bottom:8px solid transparent;border-left:8px solid #222f3e;border-top:8px solid transparent;position:absolute;right:0;top:50%;transform:translateY(-50%)}.tox .tox-tooltip--left .tox-tooltip__arrow{border-bottom:8px solid transparent;border-right:8px solid #222f3e;border-top:8px solid transparent;left:0;position:absolute;top:50%;transform:translateY(-50%)}.tox .tox-well{border:1px solid #ccc;border-radius:3px;padding:8px;width:100%}.tox .tox-well>:first-child{margin-top:0}.tox .tox-well>:last-child{margin-bottom:0}.tox .tox-well>:only-child{margin:0}.tox .tox-custom-editor{border:1px solid #ccc;border-radius:3px;display:flex;flex:1;position:relative}.tox .tox-dialog-loading::before{background-color:rgba(0,0,0,.5);content:"";height:100%;position:absolute;width:100%;z-index:1000}.tox .tox-tab{cursor:pointer}.tox .tox-dialog__content-js{display:flex;flex:1;-ms-flex-preferred-size:auto}.tox .tox-dialog__body-content .tox-collection{display:flex;flex:1;-ms-flex-preferred-size:auto}.tox .tox-image-tools-edit-panel{height:60px}.tox .tox-image-tools__sidebar{height:60px} diff --git a/yunxi-ui-admin-vben/public/resource/tinymce/skins/ui/oxide/skin.mobile.min.css b/yunxi-ui-admin-vben/public/resource/tinymce/skins/ui/oxide/skin.mobile.min.css new file mode 100644 index 0000000..3a45cac --- /dev/null +++ b/yunxi-ui-admin-vben/public/resource/tinymce/skins/ui/oxide/skin.mobile.min.css @@ -0,0 +1,7 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +.tinymce-mobile-outer-container{all:initial;display:block}.tinymce-mobile-outer-container *{border:0;box-sizing:initial;cursor:inherit;float:none;line-height:1;margin:0;outline:0;padding:0;-webkit-tap-highlight-color:transparent;text-shadow:none;white-space:nowrap}.tinymce-mobile-icon-arrow-back::before{content:"\e5cd"}.tinymce-mobile-icon-image::before{content:"\e412"}.tinymce-mobile-icon-cancel-circle::before{content:"\e5c9"}.tinymce-mobile-icon-full-dot::before{content:"\e061"}.tinymce-mobile-icon-align-center::before{content:"\e234"}.tinymce-mobile-icon-align-left::before{content:"\e236"}.tinymce-mobile-icon-align-right::before{content:"\e237"}.tinymce-mobile-icon-bold::before{content:"\e238"}.tinymce-mobile-icon-italic::before{content:"\e23f"}.tinymce-mobile-icon-unordered-list::before{content:"\e241"}.tinymce-mobile-icon-ordered-list::before{content:"\e242"}.tinymce-mobile-icon-font-size::before{content:"\e245"}.tinymce-mobile-icon-underline::before{content:"\e249"}.tinymce-mobile-icon-link::before{content:"\e157"}.tinymce-mobile-icon-unlink::before{content:"\eca2"}.tinymce-mobile-icon-color::before{content:"\e891"}.tinymce-mobile-icon-previous::before{content:"\e314"}.tinymce-mobile-icon-next::before{content:"\e315"}.tinymce-mobile-icon-large-font::before,.tinymce-mobile-icon-style-formats::before{content:"\e264"}.tinymce-mobile-icon-undo::before{content:"\e166"}.tinymce-mobile-icon-redo::before{content:"\e15a"}.tinymce-mobile-icon-removeformat::before{content:"\e239"}.tinymce-mobile-icon-small-font::before{content:"\e906"}.tinymce-mobile-format-matches::after,.tinymce-mobile-icon-readonly-back::before{content:"\e5ca"}.tinymce-mobile-icon-small-heading::before{content:"small"}.tinymce-mobile-icon-large-heading::before{content:"large"}.tinymce-mobile-icon-large-heading::before,.tinymce-mobile-icon-small-heading::before{font-family:sans-serif;font-size:80%}.tinymce-mobile-mask-edit-icon::before{content:"\e254"}.tinymce-mobile-icon-back::before{content:"\e5c4"}.tinymce-mobile-icon-heading::before{content:"Headings";font-family:sans-serif;font-size:80%;font-weight:700}.tinymce-mobile-icon-h1::before{content:"H1";font-weight:700}.tinymce-mobile-icon-h2::before{content:"H2";font-weight:700}.tinymce-mobile-icon-h3::before{content:"H3";font-weight:700}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask{align-items:center;display:flex;justify-content:center;background:rgba(51,51,51,.5);height:100%;position:absolute;top:0;width:100%}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container{align-items:center;border-radius:50%;display:flex;flex-direction:column;font-family:sans-serif;font-size:1em;justify-content:space-between}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .mixin-menu-item{align-items:center;display:flex;justify-content:center;border-radius:50%;height:2.1em;width:2.1em}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section{align-items:center;display:flex;justify-content:center;flex-direction:column;font-size:1em}@media only screen and (min-device-width:700px){.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section{font-size:1.2em}}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section .tinymce-mobile-mask-tap-icon{align-items:center;display:flex;justify-content:center;border-radius:50%;height:2.1em;width:2.1em;background-color:#fff;color:#207ab7}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section .tinymce-mobile-mask-tap-icon::before{content:"\e900";font-family:tinymce-mobile,sans-serif}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section:not(.tinymce-mobile-mask-tap-icon-selected) .tinymce-mobile-mask-tap-icon{z-index:2}.tinymce-mobile-android-container.tinymce-mobile-android-maximized{background:#fff;border:none;bottom:0;display:flex;flex-direction:column;left:0;position:fixed;right:0;top:0}.tinymce-mobile-android-container:not(.tinymce-mobile-android-maximized){position:relative}.tinymce-mobile-android-container .tinymce-mobile-editor-socket{display:flex;flex-grow:1}.tinymce-mobile-android-container .tinymce-mobile-editor-socket iframe{display:flex!important;flex-grow:1;height:auto!important}.tinymce-mobile-android-scroll-reload{overflow:hidden}:not(.tinymce-mobile-readonly-mode)>.tinymce-mobile-android-selection-context-toolbar{margin-top:23px}.tinymce-mobile-toolstrip{background:#fff;display:flex;flex:0 0 auto;z-index:1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar{align-items:center;background-color:#fff;border-bottom:1px solid #ccc;display:flex;flex:1;height:2.5em;width:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group{align-items:center;display:flex;height:100%;flex-shrink:1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group>div{align-items:center;display:flex;height:100%;flex:1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group.tinymce-mobile-exit-container{background:#f44336}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group.tinymce-mobile-toolbar-scrollable-group{flex-grow:1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item{padding-left:.5em;padding-right:.5em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item.tinymce-mobile-toolbar-button{align-items:center;display:flex;height:80%;margin-left:2px;margin-right:2px}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item.tinymce-mobile-toolbar-button.tinymce-mobile-toolbar-button-selected{background:#c8cbcf;color:#ccc}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group:first-of-type,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group:last-of-type{background:#207ab7;color:#eceff1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group{align-items:center;display:flex;height:100%;flex:1;padding-bottom:.4em;padding-top:.4em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog{display:flex;min-height:1.5em;overflow:hidden;padding-left:0;padding-right:0;position:relative;width:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain{display:flex;height:100%;transition:left cubic-bezier(.4,0,1,1) .15s;width:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen{display:flex;flex:0 0 auto;justify-content:space-between;width:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen input{font-family:Sans-serif}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container{display:flex;flex-grow:1;position:relative}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container .tinymce-mobile-input-container-x{-ms-grid-row-align:center;align-self:center;background:inherit;border:none;border-radius:50%;color:#888;font-size:.6em;font-weight:700;height:100%;padding-right:2px;position:absolute;right:0}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container.tinymce-mobile-input-container-empty .tinymce-mobile-input-container-x{display:none}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous{align-items:center;display:flex}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next::before,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous::before{align-items:center;display:flex;font-weight:700;height:100%;padding-left:.5em;padding-right:.5em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next.tinymce-mobile-toolbar-navigation-disabled::before,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous.tinymce-mobile-toolbar-navigation-disabled::before{visibility:hidden}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-item{color:#ccc;font-size:10px;line-height:10px;margin:0 2px;padding-top:3px}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-item.tinymce-mobile-dot-active{color:#c8cbcf}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-large-font::before,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-large-heading::before{margin-left:.5em;margin-right:.9em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-small-font::before,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-small-heading::before{margin-left:.9em;margin-right:.5em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider{display:flex;flex:1;margin-left:0;margin-right:0;padding:.28em 0;position:relative}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-size-container{align-items:center;display:flex;flex-grow:1;height:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-size-container .tinymce-mobile-slider-size-line{background:#ccc;display:flex;flex:1;height:.2em;margin-bottom:.3em;margin-top:.3em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container{padding-left:2em;padding-right:2em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-slider-gradient-container{align-items:center;display:flex;flex-grow:1;height:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-slider-gradient-container .tinymce-mobile-slider-gradient{background:linear-gradient(to right,red 0,#feff00 17%,#0f0 33%,#00feff 50%,#00f 67%,#ff00fe 83%,red 100%);display:flex;flex:1;height:.2em;margin-bottom:.3em;margin-top:.3em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-hue-slider-black{background:#000;height:.2em;margin-bottom:.3em;margin-top:.3em;width:1.2em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-hue-slider-white{background:#fff;height:.2em;margin-bottom:.3em;margin-top:.3em;width:1.2em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-thumb{align-items:center;background-clip:padding-box;background-color:#455a64;border:.5em solid rgba(136,136,136,0);border-radius:3em;bottom:0;color:#fff;display:flex;height:.5em;justify-content:center;left:-10px;margin:auto;position:absolute;top:0;transition:border 120ms cubic-bezier(.39,.58,.57,1);width:.5em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-thumb.tinymce-mobile-thumb-active{border:.5em solid rgba(136,136,136,.39)}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serializer-wrapper,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group>div{align-items:center;display:flex;height:100%;flex:1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serializer-wrapper{flex-direction:column;justify-content:center}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item{align-items:center;display:flex}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item:not(.tinymce-mobile-serialised-dialog){height:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-container{display:flex}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input{background:#fff;border:none;border-radius:0;color:#455a64;flex-grow:1;font-size:.85em;padding-bottom:.1em;padding-left:5px;padding-top:.1em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input::-webkit-input-placeholder{color:#888}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input::placeholder{color:#888}.tinymce-mobile-dropup{background:#fff;display:flex;overflow:hidden;width:100%}.tinymce-mobile-dropup.tinymce-mobile-dropup-shrinking{transition:height .3s ease-out}.tinymce-mobile-dropup.tinymce-mobile-dropup-growing{transition:height .3s ease-in}.tinymce-mobile-dropup.tinymce-mobile-dropup-closed{flex-grow:0}.tinymce-mobile-dropup.tinymce-mobile-dropup-open:not(.tinymce-mobile-dropup-growing){flex-grow:1}.tinymce-mobile-ios-container .tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed){min-height:200px}@media only screen and (orientation:landscape){.tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed){min-height:200px}}@media only screen and (min-device-width :320px) and (max-device-width :568px) and (orientation :landscape){.tinymce-mobile-ios-container .tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed){min-height:150px}}.tinymce-mobile-styles-menu{font-family:sans-serif;outline:4px solid #000;overflow:hidden;position:relative;width:100%}.tinymce-mobile-styles-menu [role=menu]{display:flex;flex-direction:column;height:100%;position:absolute;width:100%}.tinymce-mobile-styles-menu [role=menu].transitioning{transition:transform .5s ease-in-out}.tinymce-mobile-styles-menu .tinymce-mobile-styles-item{border-bottom:1px solid #ddd;color:#455a64;cursor:pointer;display:flex;padding:1em 1em;position:relative}.tinymce-mobile-styles-menu .tinymce-mobile-styles-collapser .tinymce-mobile-styles-collapse-icon::before{color:#455a64;content:"\e314";font-family:tinymce-mobile,sans-serif}.tinymce-mobile-styles-menu .tinymce-mobile-styles-item.tinymce-mobile-styles-item-is-menu::after{color:#455a64;content:"\e315";font-family:tinymce-mobile,sans-serif;padding-left:1em;padding-right:1em;position:absolute;right:0}.tinymce-mobile-styles-menu .tinymce-mobile-styles-item.tinymce-mobile-format-matches::after{font-family:tinymce-mobile,sans-serif;padding-left:1em;padding-right:1em;position:absolute;right:0}.tinymce-mobile-styles-menu .tinymce-mobile-styles-collapser,.tinymce-mobile-styles-menu .tinymce-mobile-styles-separator{align-items:center;background:#fff;border-top:#455a64;color:#455a64;display:flex;min-height:2.5em;padding-left:1em;padding-right:1em}.tinymce-mobile-styles-menu [data-transitioning-destination=before][data-transitioning-state],.tinymce-mobile-styles-menu [data-transitioning-state=before]{transform:translate(-100%)}.tinymce-mobile-styles-menu [data-transitioning-destination=current][data-transitioning-state],.tinymce-mobile-styles-menu [data-transitioning-state=current]{transform:translate(0)}.tinymce-mobile-styles-menu [data-transitioning-destination=after][data-transitioning-state],.tinymce-mobile-styles-menu [data-transitioning-state=after]{transform:translate(100%)}@font-face{font-family:tinymce-mobile;font-style:normal;font-weight:400;src:url(fonts/tinymce-mobile.woff?8x92w3) format('woff')}@media (min-device-width:700px){.tinymce-mobile-outer-container,.tinymce-mobile-outer-container input{font-size:25px}}@media (max-device-width:700px){.tinymce-mobile-outer-container,.tinymce-mobile-outer-container input{font-size:18px}}.tinymce-mobile-icon{font-family:tinymce-mobile,sans-serif}.mixin-flex-and-centre{align-items:center;display:flex;justify-content:center}.mixin-flex-bar{align-items:center;display:flex;height:100%}.tinymce-mobile-outer-container .tinymce-mobile-editor-socket iframe{background-color:#fff;width:100%}.tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon{background-color:#207ab7;border-radius:50%;bottom:1em;color:#fff;font-size:1em;height:2.1em;position:fixed;right:2em;width:2.1em;align-items:center;display:flex;justify-content:center}@media only screen and (min-device-width:700px){.tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon{font-size:1.2em}}.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-editor-socket{height:300px;overflow:hidden}.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-editor-socket iframe{height:100%}.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-toolstrip{display:none}input[type=file]::-webkit-file-upload-button{display:none}@media only screen and (min-device-width :320px) and (max-device-width :568px) and (orientation :landscape){.tinymce-mobile-ios-container .tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon{bottom:50%}} diff --git a/yunxi-ui-admin-vben/public/resource/tinymce/skins/ui/oxide/skin.shadowdom.min.css b/yunxi-ui-admin-vben/public/resource/tinymce/skins/ui/oxide/skin.shadowdom.min.css new file mode 100644 index 0000000..a0893b9 --- /dev/null +++ b/yunxi-ui-admin-vben/public/resource/tinymce/skins/ui/oxide/skin.shadowdom.min.css @@ -0,0 +1,7 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +body.tox-dialog__disable-scroll{overflow:hidden}.tox-fullscreen{border:0;height:100%;margin:0;overflow:hidden;-ms-scroll-chaining:none;overscroll-behavior:none;padding:0;touch-action:pinch-zoom;width:100%}.tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle{display:none}.tox-shadowhost.tox-fullscreen,.tox.tox-tinymce.tox-fullscreen{left:0;position:fixed;top:0;z-index:1200}.tox.tox-tinymce.tox-fullscreen{background-color:transparent}.tox-fullscreen .tox.tox-tinymce-aux,.tox-fullscreen~.tox.tox-tinymce-aux{z-index:1201} diff --git a/yunxi-ui-admin-vben/src/App.vue b/yunxi-ui-admin-vben/src/App.vue new file mode 100644 index 0000000..9bc36ca --- /dev/null +++ b/yunxi-ui-admin-vben/src/App.vue @@ -0,0 +1,31 @@ + + + diff --git a/yunxi-ui-admin-vben/src/api/base/login.ts b/yunxi-ui-admin-vben/src/api/base/login.ts new file mode 100644 index 0000000..8583bcd --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/base/login.ts @@ -0,0 +1,91 @@ +import type { TentantNameVO } from './model/loginModel' +import { defHttp } from '@/utils/http/axios' +import { getRefreshToken } from '@/utils/auth' + +enum Api { + Login = '/system/auth/login', + RefreshToken = '/system/auth/refresh-token?refreshToken=', + GetTenantIdByName = '/system/tenant/get-id-by-name?name=', + GetTenantIdByUserName = '/system/tenant/get-tenantId-by-userName?name=', + LoginOut = '/system/auth/logout', + GetUserInfo = '/system/auth/get-permission-info', + GetCaptcha = '/system/captcha/get', + CheckCaptcha = '/system/captcha/check', +} + +// 刷新访问令牌 +export function refreshToken() { + const refreshToken: string = getRefreshToken() + return defHttp.post({ url: Api.RefreshToken + refreshToken }) +} + +// 使用租户名,获得租户编号 +export function getTenantIdByName(name: string) { + return defHttp.get({ url: Api.GetTenantIdByName + name }) +} +// 使用租户名,获得租户编号 +export function getTenantIdByUserName(name: string) { + return defHttp.get({ url: Api.GetTenantIdByUserName + name }) +} +// 登出 +export function loginOut() { + return defHttp.delete({ url: Api.LoginOut }) +} + +// 获取用户权限信息 +export function getUserInfo() { + return defHttp.get({ url: Api.GetUserInfo }) +} + +// 获取登录验证码 +export function sendSmsCode(mobile, scene) { + return defHttp.post({ + url: '/system/auth/send-sms-code', + data: { + mobile, + scene, + }, + }) +} + +// 获取验证图片 以及token +export function getCaptcha(data) { + return defHttp.post({ url: Api.GetCaptcha, data }, { isReturnNativeResponse: true }) +} + +// 滑动或者点选验证 +export function checkCaptcha(data) { + return defHttp.post({ url: Api.CheckCaptcha, data }, { isReturnNativeResponse: true }) +} + +// ========== OAUTH 2.0 相关 ========== + +export function getAuthorize(clientId) { + return defHttp.get({ url: `/system/oauth2/authorize?clientId=${clientId}` }) +} + +export function authorize(responseType, clientId, redirectUri, state, autoApprove, checkedScopes, uncheckedScopes) { + // 构建 scopes + const scopes = {} + for (const scope of checkedScopes) + scopes[scope] = true + + for (const scope of uncheckedScopes) + scopes[scope] = false + + // 发起请求 + return defHttp.post({ + url: '/system/oauth2/authorize', + headers: { + 'Content-type': 'application/x-www-form-urlencoded', + }, + params: { + response_type: responseType, + client_id: clientId, + redirect_uri: redirectUri, + state, + auto_approve: autoApprove, + scope: JSON.stringify(scopes), + }, + }) +} diff --git a/yunxi-ui-admin-vben/src/api/base/model/loginModel.ts b/yunxi-ui-admin-vben/src/api/base/model/loginModel.ts new file mode 100644 index 0000000..fa2761d --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/base/model/loginModel.ts @@ -0,0 +1,9 @@ +export interface UserLoginVO { + username: string + password: string + captchaVerification: string +} + +export interface TentantNameVO { + id: number +} diff --git a/yunxi-ui-admin-vben/src/api/base/model/menuModel.ts b/yunxi-ui-admin-vben/src/api/base/model/menuModel.ts new file mode 100644 index 0000000..ecd3168 --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/base/model/menuModel.ts @@ -0,0 +1,12 @@ +import type { RouteMeta } from 'vue-router' + +export interface RouteItem { + path: string + component: any + meta: RouteMeta + name?: string + alias?: string | string[] + redirect?: string + caseSensitive?: boolean + children?: RouteItem[] +} diff --git a/yunxi-ui-admin-vben/src/api/base/model/uploadModel.ts b/yunxi-ui-admin-vben/src/api/base/model/uploadModel.ts new file mode 100644 index 0000000..4d1698f --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/base/model/uploadModel.ts @@ -0,0 +1,5 @@ +export interface UploadApiResult { + message: string + code: number + url: string +} diff --git a/yunxi-ui-admin-vben/src/api/base/model/userModel.ts b/yunxi-ui-admin-vben/src/api/base/model/userModel.ts new file mode 100644 index 0000000..794efc7 --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/base/model/userModel.ts @@ -0,0 +1,45 @@ +import type { RouteItem } from './menuModel' + +/** + * @description: Login interface parameters + */ +export interface LoginParams { + username: string + password: string + captchaVerification: string +} + +/** + * @description: SmsLogin interface parameters + */ +export interface SmsLoginParams { + mobile: number + code: number +} + +/** + * @description: Login interface return value + */ +export interface LoginResultModel { + userId: string | number + accessToken: string + refreshToken: string + expiresTime: number +} + +/** + * @description: Get user information return value + */ +export interface GetUserInfoModel { + roles: string[] + permissions: string[] + menus: RouteItem[] + // 用户id + user: userModel +} + +export interface userModel { + id: string | number + avatar: string + nickname: string +} diff --git a/yunxi-ui-admin-vben/src/api/base/profile.ts b/yunxi-ui-admin-vben/src/api/base/profile.ts new file mode 100644 index 0000000..005b596 --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/base/profile.ts @@ -0,0 +1,128 @@ +import { ContentTypeEnum } from '@/enums/httpEnum' +import { defHttp } from '@/utils/http/axios' + +export interface ProfileDept { + id: number + name: string +} +export interface ProfileRole { + id: number + name: string +} +export interface ProfilePost { + id: number + name: string +} +export interface SocialUser { + id: number + type: number + openid: string + token: string + rawTokenInfo: string + nickname: string + avatar: string + rawUserInfo: string + code: string + state: string +} +export interface ProfileVO { + id: number + username: string + nickname: string + dept: ProfileDept + roles: ProfileRole[] + posts: ProfilePost[] + socialUsers: SocialUser[] + email: string + mobile: string + sex: number + avatar: string + status: number + remark: string + loginIp: string + loginDate: Date + createTime: Date +} + +export interface UserProfileUpdateReqVO { + nickname: string + email: string + mobile: string + sex: number +} + +enum Api { + getUserProfileApi = '/system/user/profile/get', + putUserProfileApi = '/system/user/profile/update', + uploadAvatarApi = '/system/user/profile/update-avatar', + updateUserPwdApi = '/system/user/profile/update-password', + socialBindApi = '/system/social-user/bind', + socialUnbindApi = '/system/social-user/unbind', +} + +/** + * @description: getUserProfileApi + */ +export function getUserProfileApi() { + return defHttp.get({ url: Api.getUserProfileApi }) +} + +/** + * @description: updateUserProfileApi + */ +export function updateUserProfileApi(data: UserProfileUpdateReqVO) { + return defHttp.put({ url: Api.putUserProfileApi, data }) +} + +// 用户密码重置 +export function updateUserPwdApi(oldPassword: string, newPassword: string) { + return defHttp.put({ + url: Api.updateUserPwdApi, + data: { + oldPassword, + newPassword, + }, + }) +} + +// 用户头像上传 +export function uploadAvatarApi(data) { + return defHttp.put({ + url: Api.uploadAvatarApi, + headers: { + 'Content-type': ContentTypeEnum.FORM_DATA, + 'ignoreCancelToken': true, + }, + data, + }) +} + +// 社交绑定,使用 code 授权码 +export function socialBind(type, code, state) { + return defHttp.post({ + url: Api.socialBindApi, + data: { + type, + code, + state, + }, + }) +} + +// 取消社交绑定 +export function socialUnbind(type, openid) { + return defHttp.delete({ + url: Api.socialUnbindApi, + data: { + type, + openid, + }, + }) +} + +// 社交授权的跳转 +export function socialAuthRedirect(type, redirectUri) { + return defHttp.get({ + url: `/system/auth/social-auth-redirect?type=${type}&redirectUri=${redirectUri}`, + }) +} diff --git a/yunxi-ui-admin-vben/src/api/base/upload.ts b/yunxi-ui-admin-vben/src/api/base/upload.ts new file mode 100644 index 0000000..9fdb525 --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/base/upload.ts @@ -0,0 +1,20 @@ +import type { AxiosProgressEvent } from 'axios' +import type { UploadApiResult } from './model/uploadModel' +import { defHttp } from '@/utils/http/axios' +import type { UploadFileParams } from '@/types/axios' +import { useGlobSetting } from '@/hooks/setting' + +const { uploadUrl = '' } = useGlobSetting() + +/** + * @description: Upload interface + */ +export function uploadApi(params: UploadFileParams, onUploadProgress: (progressEvent: AxiosProgressEvent) => void) { + return defHttp.uploadFile( + { + url: uploadUrl, + onUploadProgress, + }, + params, + ) +} diff --git a/yunxi-ui-admin-vben/src/api/base/user.ts b/yunxi-ui-admin-vben/src/api/base/user.ts new file mode 100644 index 0000000..082004d --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/base/user.ts @@ -0,0 +1,36 @@ +import type { GetUserInfoModel, LoginParams, LoginResultModel, SmsLoginParams } from './model/userModel' +import { defHttp } from '@/utils/http/axios' + +import type { ErrorMessageMode } from '@/types/axios' + +enum Api { + Login = '/system/auth/login', + Logout = '/system/auth/logout', + SmsLogin = '/system/auth/sms-login', + GetUserInfo = '/system/auth/get-permission-info', +} + +/** + * @description: user login api + */ +export function loginApi(params: LoginParams, mode: ErrorMessageMode = 'modal') { + return defHttp.post({ url: Api.Login, params }, { errorMessageMode: mode }) +} + +/** + * @description: user smslogin api + */ +export function smsLogin(params: SmsLoginParams, mode: ErrorMessageMode = 'modal') { + return defHttp.post({ url: Api.SmsLogin, params }, { errorMessageMode: mode }) +} + +/** + * @description: getUserInfo + */ +export function getUserInfo() { + return defHttp.get({ url: Api.GetUserInfo }, { errorMessageMode: 'none' }) +} + +export function doLogout() { + return defHttp.post({ url: Api.Logout }) +} diff --git a/yunxi-ui-admin-vben/src/api/bpm/activity/index.ts b/yunxi-ui-admin-vben/src/api/bpm/activity/index.ts new file mode 100644 index 0000000..7af0c2e --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/bpm/activity/index.ts @@ -0,0 +1,5 @@ +import { defHttp } from '@/utils/http/axios' + +export function getActivityList(params) { + return defHttp.get({ url: '/bpm/activity/list', params }) +} diff --git a/yunxi-ui-admin-vben/src/api/bpm/definition/index.ts b/yunxi-ui-admin-vben/src/api/bpm/definition/index.ts new file mode 100644 index 0000000..ec84edd --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/bpm/definition/index.ts @@ -0,0 +1,13 @@ +import { defHttp } from '@/utils/http/axios' + +export function getProcessDefinitionPage(params) { + return defHttp.get({ url: '/bpm/process-definition/page', params }) +} + +export function getProcessDefinitionList(params) { + return defHttp.get({ url: '/bpm/process-definition/list', params }) +} + +export function getProcessDefinitionBpmnXML(id) { + return defHttp.get({ url: `/bpm/process-definition/get-bpmn-xml?id=${id}` }) +} diff --git a/yunxi-ui-admin-vben/src/api/bpm/form/index.ts b/yunxi-ui-admin-vben/src/api/bpm/form/index.ts new file mode 100644 index 0000000..35bcfc4 --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/bpm/form/index.ts @@ -0,0 +1,41 @@ +import { defHttp } from '@/utils/http/axios' + +export interface FormVO { + id: number + name: string + conf: string + fields: string[] + status: number + remark: string + createTime: string +} + +// 创建工作流的表单定义 +export function createForm(data: FormVO) { + return defHttp.post({ url: '/bpm/form/create', data }) +} + +// 更新工作流的表单定义 +export function updateForm(data: FormVO) { + return defHttp.put({ url: '/bpm/form/update', data }) +} + +// 删除工作流的表单定义 +export function deleteForm(id: number) { + return defHttp.delete({ url: `/bpm/form/delete?id=${id}` }) +} + +// 获得工作流的表单定义 +export function getForm(id: number) { + return defHttp.get({ url: `/bpm/form/get?id=${id}` }) +} + +// 获得工作流的表单定义分页 +export function getFormPage(params) { + return defHttp.get({ url: '/bpm/form/page', params }) +} + +// 获得动态表单的精简列表 +export function getSimpleForms() { + return defHttp.get({ url: '/bpm/form/list-all-simple' }) +} diff --git a/yunxi-ui-admin-vben/src/api/bpm/leave/index.ts b/yunxi-ui-admin-vben/src/api/bpm/leave/index.ts new file mode 100644 index 0000000..01d156e --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/bpm/leave/index.ts @@ -0,0 +1,27 @@ +import { defHttp } from '@/utils/http/axios' + +export interface LeaveVO { + id: number + result: number + type: number + reason: string + processInstanceId: string + startTime: string + endTime: string + createTime: string +} + +// 创建请假申请 +export function createLeave(data: LeaveVO) { + return defHttp.post({ url: '/bpm/oa/leave/create', data }) +} + +// 获得请假申请 +export function getLeave(id: number) { + return defHttp.get({ url: `/bpm/oa/leave/get?id=${id}` }) +} + +// 获得请假申请分页 +export function getLeavePage(params) { + return defHttp.get({ url: '/bpm/oa/leave/page', params }) +} diff --git a/yunxi-ui-admin-vben/src/api/bpm/model/index.ts b/yunxi-ui-admin-vben/src/api/bpm/model/index.ts new file mode 100644 index 0000000..483e9d8 --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/bpm/model/index.ts @@ -0,0 +1,62 @@ +import { defHttp } from '@/utils/http/axios' + +export interface ProcessDefinitionVO { + id: string + version: number + deploymentTIme: string + suspensionState: number +} + +export interface ModelVO { + id: number + formName: string + key: string + name: string + description: string + category: string + formType: number + formId: number + formCustomCreatePath: string + formCustomViewPath: string + processDefinition: ProcessDefinitionVO + status: number + remark: string + createTime: string +} + +export function getModelPage(params) { + return defHttp.get({ url: '/bpm/model/page', params }) +} + +export function getModel(id: number) { + return defHttp.get({ url: `/bpm/model/get?id=${id}` }) +} + +export function updateModel(data: ModelVO) { + return defHttp.put({ url: '/bpm/model/update', data }) +} + +// 任务状态修改 +export function updateModelState(id: number, state: number) { + const data = { + id, + state, + } + return defHttp.put({ url: '/bpm/model/update-state', data }) +} + +export function createModel(data: ModelVO) { + return defHttp.post({ url: '/bpm/model/create', data }) +} + +export function deleteModel(id: number) { + return defHttp.delete({ url: `/bpm/model/delete?id=${id}` }) +} + +export function deployModel(id: number) { + return defHttp.post({ url: `/bpm/model/deploy?id=${id}` }) +} + +export function importModel(data) { + return defHttp.post({ url: '/bpm/model/import', data }) +} diff --git a/yunxi-ui-admin-vben/src/api/bpm/processInstance/index.ts b/yunxi-ui-admin-vben/src/api/bpm/processInstance/index.ts new file mode 100644 index 0000000..8f5866e --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/bpm/processInstance/index.ts @@ -0,0 +1,21 @@ +import { defHttp } from '@/utils/http/axios' + +export function getMyProcessInstancePage(params) { + return defHttp.get({ url: '/bpm/process-instance/my-page', params }) +} + +export function createProcessInstance(data) { + return defHttp.post({ url: '/bpm/process-instance/create', data }) +} + +export function cancelProcessInstance(id: number, reason: string) { + const data = { + id, + reason, + } + return defHttp.delete({ url: '/bpm/process-instance/cancel', data }) +} + +export function getProcessInstance(id: number) { + return defHttp.get({ url: `/bpm/process-instance/get?id=${id}` }) +} diff --git a/yunxi-ui-admin-vben/src/api/bpm/task/index.ts b/yunxi-ui-admin-vben/src/api/bpm/task/index.ts new file mode 100644 index 0000000..f3721b8 --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/bpm/task/index.ts @@ -0,0 +1,39 @@ +import { defHttp } from '@/utils/http/axios' + +export function getTodoTaskPage(params) { + return defHttp.get({ url: '/bpm/task/todo-page', params }) +} + +export function getDoneTaskPage(params) { + return defHttp.get({ url: '/bpm/task/done-page', params }) +} + +export function completeTask(data) { + return defHttp.put({ url: '/bpm/task/complete', data }) +} + +export function approveTask(data) { + return defHttp.put({ url: '/bpm/task/approve', data }) +} + +export function rejectTask(data) { + return defHttp.put({ url: '/bpm/task/reject', data }) +} +export function backTask(data) { + return defHttp.put({ url: '/bpm/task/back', data }) +} + +export function updateTaskAssignee(data) { + return defHttp.put({ url: '/bpm/task/update-assignee', data }) +} + +export function getTaskListByProcessInstanceId(processInstanceId) { + return defHttp.get({ + url: `/bpm/task/list-by-process-instance-id?processInstanceId=${processInstanceId}`, + }) +} + +// 导出任务 +export async function exportTask(params) { + return await defHttp.download({ url: '/bpm/task/export', params }) +} diff --git a/yunxi-ui-admin-vben/src/api/bpm/taskAssignRule/index.ts b/yunxi-ui-admin-vben/src/api/bpm/taskAssignRule/index.ts new file mode 100644 index 0000000..020122b --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/bpm/taskAssignRule/index.ts @@ -0,0 +1,23 @@ +import { defHttp } from '@/utils/http/axios' + +export interface TaskAssignVO { + id: number + modelId: string + processDefinitionId: string + taskDefinitionKey: string + taskDefinitionName: string + options: string[] + type: number +} + +export function getTaskAssignRuleList(params) { + return defHttp.get({ url: '/bpm/task-assign-rule/list', params }) +} + +export function createTaskAssignRule(data: TaskAssignVO) { + return defHttp.post({ url: '/bpm/task-assign-rule/create', data }) +} + +export function updateTaskAssignRule(data: TaskAssignVO) { + return defHttp.put({ url: '/bpm/task-assign-rule/update', data }) +} diff --git a/yunxi-ui-admin-vben/src/api/bpm/userGroup/index.ts b/yunxi-ui-admin-vben/src/api/bpm/userGroup/index.ts new file mode 100644 index 0000000..c18501d --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/bpm/userGroup/index.ts @@ -0,0 +1,41 @@ +import { defHttp } from '@/utils/http/axios' + +export interface UserGroupVO { + id: number + name: string + description: string + memberUserIds: number[] + status: number + remark: string + createTime: string +} + +// 创建用户组 +export function createUserGroup(data: UserGroupVO) { + return defHttp.post({ url: '/bpm/user-group/create', data }) +} + +// 更新用户组 +export function updateUserGroup(data: UserGroupVO) { + return defHttp.put({ url: '/bpm/user-group/update', data }) +} + +// 删除用户组 +export function deleteUserGroup(id: number) { + return defHttp.delete({ url: `/bpm/user-group/delete?id=${id}` }) +} + +// 获得用户组 +export function getUserGroup(id: number) { + return defHttp.get({ url: `/bpm/user-group/get?id=${id}` }) +} + +// 获得用户组分页 +export function getUserGroupPage(params) { + return defHttp.get({ url: '/bpm/user-group/page', params }) +} + +// 获取用户组精简信息列表 +export function listSimpleUserGroups() { + return defHttp.get({ url: '/bpm/user-group/list-all-simple' }) +} diff --git a/yunxi-ui-admin-vben/src/api/infra/apiAccessLog/index.ts b/yunxi-ui-admin-vben/src/api/infra/apiAccessLog/index.ts new file mode 100644 index 0000000..b76d00d --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/infra/apiAccessLog/index.ts @@ -0,0 +1,50 @@ +import { defHttp } from '@/utils/http/axios' + +export interface ApiAccessLogVO { + id: number + traceId: string + userId: number + userType: number + applicationName: string + requestMethod: string + requestParams: string + requestUrl: string + userIp: string + userAgent: string + beginTime: Date + endTIme: Date + duration: number + resultCode: number + resultMsg: string + createTime: Date +} + +export interface ApiAccessLogPageReqVO extends PageParam { + userId?: number + userType?: number + applicationName?: string + requestUrl?: string + beginTime?: Date[] + duration?: number + resultCode?: number +} + +export interface ApiAccessLogExportReqVO { + userId?: number + userType?: number + applicationName?: string + requestUrl?: string + beginTime?: Date[] + duration?: number + resultCode?: number +} + +// 查询列表API 访问日志 +export function getApiAccessLogPage(params: ApiAccessLogPageReqVO) { + return defHttp.get({ url: '/infra/api-access-log/page', params }) +} + +// 导出API 访问日志 +export function exportApiAccessLog(params: ApiAccessLogExportReqVO) { + return defHttp.download({ url: '/infra/api-access-log/export-excel', params }, '访问日志.xls') +} diff --git a/yunxi-ui-admin-vben/src/api/infra/apiErrorLog/index.ts b/yunxi-ui-admin-vben/src/api/infra/apiErrorLog/index.ts new file mode 100644 index 0000000..1368cc9 --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/infra/apiErrorLog/index.ts @@ -0,0 +1,69 @@ +import { defHttp } from '@/utils/http/axios' + +export interface ApiErrorLogVO { + id: number + traceId: string + userId: number + userType: number + applicationName: string + requestMethod: string + requestParams: string + requestUrl: string + userIp: string + userAgent: string + exceptionTime: Date + exceptionName: string + exceptionMessage: string + exceptionRootCauseMessage: string + exceptionStackTrace: string + exceptionClassName: string + exceptionFileName: string + exceptionMethodName: string + exceptionLineNumber: number + processUserId: number + processStatus: number + processTime: Date + resultCode: number + createTime: Date +} + +export interface ApiErrorLogPageReqVO extends PageParam { + userId?: number + userType?: number + applicationName?: string + requestUrl?: string + exceptionTime?: Date[] + processStatus: number +} + +export interface ApiErrorLogExportReqVO { + userId?: number + userType?: number + applicationName?: string + requestUrl?: string + exceptionTime?: Date[] + processStatus: number +} + +// 查询列表API 访问日志 +export function getApiErrorLogPage(params: ApiErrorLogPageReqVO) { + return defHttp.get({ url: '/infra/api-error-log/page', params }) +} + +// 更新 API 错误日志的处理状态 +export function updateApiErrorLogProcess(id: number, processStatus: number) { + return defHttp.put({ + url: `/infra/api-error-log/update-status?id=${id}&processStatus=${processStatus}`, + }) +} + +// 导出API 错误日志 +export function exportApiErrorLog(params: ApiErrorLogExportReqVO) { + return defHttp.download( + { + url: '/infra/api-error-log/export-excel', + params, + }, + '错误日志.xls', + ) +} diff --git a/yunxi-ui-admin-vben/src/api/infra/codegen/index.ts b/yunxi-ui-admin-vben/src/api/infra/codegen/index.ts new file mode 100644 index 0000000..d215fa9 --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/infra/codegen/index.ts @@ -0,0 +1,57 @@ +import type { CodegenCreateListReqVO, CodegenUpdateReqVO } from './types' +import { defHttp } from '@/utils/http/axios' + +// 查询列表代码生成表定义 +export function getCodegenTablePage(params) { + return defHttp.get({ url: '/infra/codegen/table/page', params }) +} + +// 查询详情代码生成表定义 +export function getCodegenTable(id: number) { + return defHttp.get({ url: `/infra/codegen/detail?tableId=${id}` }) +} + +// 新增代码生成表定义 +export function createCodegenTable(data: CodegenCreateListReqVO) { + return defHttp.post({ url: '/infra/codegen/create', data }) +} + +// 修改代码生成表定义 +export function updateCodegenTable(data: CodegenUpdateReqVO) { + return defHttp.put({ url: '/infra/codegen/update', data }) +} + +// 基于数据库的表结构,同步数据库的表和字段定义 +export function syncCodegenFromDB(id: number) { + return defHttp.put({ url: `/infra/codegen/sync-from-db?tableId=${id}` }) +} + +// 基于 SQL 建表语句,同步数据库的表和字段定义 +export function syncCodegenFromSQL(id: number, sql: string) { + return defHttp.put({ url: `/infra/codegen/sync-from-sql?tableId=${id}&sql=${sql}` }) +} + +// 预览生成代码 +export function previewCodegen(id: number) { + return defHttp.get({ url: `/infra/codegen/preview?tableId=${id}` }) +} + +// 下载生成代码 +export function downloadCodegen(data) { + return defHttp.download({ url: `/infra/codegen/download?tableId=${data.id}` }, `${data.tableName}.zip`) +} + +// 获得表定义 +export function getSchemaTableList(params) { + return defHttp.get({ url: '/infra/codegen/db/table/list', params }) +} + +// 基于数据库的表结构,创建代码生成器的表定义 +export function createCodegenList(data) { + return defHttp.post({ url: '/infra/codegen/create-list', data }) +} + +// 删除代码生成表定义 +export function deleteCodegenTable(id: number) { + return defHttp.delete({ url: `/infra/codegen/delete?tableId=${id}` }) +} diff --git a/yunxi-ui-admin-vben/src/api/infra/codegen/types.ts b/yunxi-ui-admin-vben/src/api/infra/codegen/types.ts new file mode 100644 index 0000000..741d0f6 --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/infra/codegen/types.ts @@ -0,0 +1,61 @@ +export interface CodegenTableVO { + id: number + tableId: number + isParentMenuIdValid: boolean + dataSourceConfigId: number + scene: number + tableName: string + tableComment: string + remark: string + moduleName: string + businessName: string + className: string + classComment: string + author: string + createTime: Date + updateTime: Date + templateType: number + parentMenuId: number +} + +export interface CodegenColumnVO { + id: number + tableId: number + columnName: string + dataType: string + columnComment: string + nullable: number + primaryKey: number + autoIncrement: string + ordinalPosition: number + javaType: string + javaField: string + dictType: string + example: string + createOperation: number + updateOperation: number + listOperation: number + listOperationCondition: string + listOperationResult: number + htmlType: string +} +export interface DatabaseTableVO { + name: string + comment: string +} +export interface CodegenDetailVO { + table: CodegenTableVO + columns: CodegenColumnVO[] +} +export interface CodegenPreviewVO { + filePath: string + code: string +} +export interface CodegenUpdateReqVO { + table: CodegenTableVO + columns: CodegenColumnVO[] +} +export interface CodegenCreateListReqVO { + dataSourceConfigId: number + tableNames: string[] +} diff --git a/yunxi-ui-admin-vben/src/api/infra/config/index.ts b/yunxi-ui-admin-vben/src/api/infra/config/index.ts new file mode 100644 index 0000000..a121586 --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/infra/config/index.ts @@ -0,0 +1,62 @@ +import { defHttp } from '@/utils/http/axios' + +export interface ConfigVO { + id: number + category: string + name: string + key: string + value: string + type: number + visible: boolean + remark: string + createTime: Date +} + +export interface ConfigPageReqVO extends PageParam { + name?: string + key?: string + type?: number + createTime?: Date[] +} + +export interface ConfigExportReqVO { + name?: string + key?: string + type?: number + createTime?: Date[] +} + +// 查询参数列表 +export function getConfigPage(params: ConfigPageReqVO) { + return defHttp.get({ url: '/infra/config/page', params }) +} + +// 查询参数详情 +export function getConfig(id: number) { + return defHttp.get({ url: `/infra/config/get?id=${id}` }) +} + +// 根据参数键名查询参数值 +export function getConfigKey(configKey: string) { + return defHttp.get({ url: `/infra/config/get-value-by-key?key=${configKey}` }) +} + +// 新增参数 +export function createConfig(data: ConfigVO) { + return defHttp.post({ url: '/infra/config/create', data }) +} + +// 修改参数 +export function updateConfig(data: ConfigVO) { + return defHttp.put({ url: '/infra/config/update', data }) +} + +// 删除参数 +export function deleteConfig(id: number) { + return defHttp.delete({ url: `/infra/config/delete?id=${id}` }) +} + +// 导出参数 +export function exportConfig(params: ConfigExportReqVO) { + return defHttp.download({ url: '/infra/config/export', params }, '参数.xls') +} diff --git a/yunxi-ui-admin-vben/src/api/infra/dataSourceConfig/index.ts b/yunxi-ui-admin-vben/src/api/infra/dataSourceConfig/index.ts new file mode 100644 index 0000000..b2e81a7 --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/infra/dataSourceConfig/index.ts @@ -0,0 +1,35 @@ +import { defHttp } from '@/utils/http/axios' + +export interface DataSourceConfigVO { + id: number + name: string + url: string + username: string + password: string + createTime: Date +} + +// 查询数据源配置列表 +export function getDataSourceConfigList() { + return defHttp.get({ url: '/infra/data-source-config/list' }) +} + +// 查询数据源配置详情 +export function getDataSourceConfig(id: number) { + return defHttp.get({ url: `/infra/data-source-config/get?id=${id}` }) +} + +// 新增数据源配置 +export function createDataSourceConfig(data: DataSourceConfigVO) { + return defHttp.post({ url: '/infra/data-source-config/create', data }) +} + +// 修改数据源配置 +export function updateDataSourceConfig(data: DataSourceConfigVO) { + return defHttp.put({ url: '/infra/data-source-config/update', data }) +} + +// 删除数据源配置 +export function deleteDataSourceConfig(id: number) { + return defHttp.delete({ url: `/infra/data-source-config/delete?id=${id}` }) +} diff --git a/yunxi-ui-admin-vben/src/api/infra/dbDoc/index.ts b/yunxi-ui-admin-vben/src/api/infra/dbDoc/index.ts new file mode 100644 index 0000000..39d3617 --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/infra/dbDoc/index.ts @@ -0,0 +1,16 @@ +import { defHttp } from '@/utils/http/axios' + +// 导出Html +export function exportHtml() { + return defHttp.get({ url: '/infra/db-doc/export-html', responseType: 'blob' }) +} + +// 导出Word +export function exportWord() { + return defHttp.get({ url: '/infra/db-doc/export-word', responseType: 'blob' }) +} + +// 导出Markdown +export function exportMarkdown() { + return defHttp.get({ url: '/infra/db-doc/export-markdown', responseType: 'blob' }) +} diff --git a/yunxi-ui-admin-vben/src/api/infra/file/index.ts b/yunxi-ui-admin-vben/src/api/infra/file/index.ts new file mode 100644 index 0000000..fc071a6 --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/infra/file/index.ts @@ -0,0 +1,28 @@ +import { defHttp } from '@/utils/http/axios' + +export interface FileVO { + id: number + configId: number + path: string + name: string + url: string + size: string + type: string + createTime: Date +} + +export interface FilePageReqVO extends PageParam { + path?: string + type?: string + createTime?: Date[] +} + +// 查询文件列表 +export function getFilePage(params: FilePageReqVO) { + return defHttp.get({ url: '/infra/file/page', params }) +} + +// 删除文件 +export function deleteFile(id: number) { + return defHttp.delete({ url: `/infra/file/delete?id=${id}` }) +} diff --git a/yunxi-ui-admin-vben/src/api/infra/fileConfig/index.ts b/yunxi-ui-admin-vben/src/api/infra/fileConfig/index.ts new file mode 100644 index 0000000..95b9ae0 --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/infra/fileConfig/index.ts @@ -0,0 +1,66 @@ +import { defHttp } from '@/utils/http/axios' + +export interface FileClientConfig { + basePath: string + host?: string + port?: number + username?: string + password?: string + mode?: string + endpoint?: string + bucket?: string + accessKey?: string + accessSecret?: string + domain: string +} +export interface FileConfigVO { + id: number + name: string + storage: number + master: boolean + visible: boolean + config: FileClientConfig + remark: string + createTime: Date +} + +export interface FileConfigPageReqVO extends PageParam { + name?: string + storage?: number + createTime?: Date[] +} + +// 查询文件配置列表 +export function getFileConfigPage(params: FileConfigPageReqVO) { + return defHttp.get({ url: '/infra/file-config/page', params }) +} + +// 查询文件配置详情 +export function getFileConfig(id: number) { + return defHttp.get({ url: `/infra/file-config/get?id=${id}` }) +} + +// 更新文件配置为主配置 +export function updateFileConfigMaster(id: number) { + return defHttp.put({ url: `/infra/file-config/update-master?id=${id}` }) +} + +// 新增文件配置 +export function createFileConfig(data: FileConfigVO) { + return defHttp.post({ url: '/infra/file-config/create', data }) +} + +// 修改文件配置 +export function updateFileConfig(data: FileConfigVO) { + return defHttp.put({ url: '/infra/file-config/update', data }) +} + +// 删除文件配置 +export function deleteFileConfig(id: number) { + return defHttp.delete({ url: `/infra/file-config/delete?id=${id}` }) +} + +// 测试文件配置 +export function testFileConfig(id: number) { + return defHttp.get({ url: `/infra/file-config/test?id=${id}` }) +} diff --git a/yunxi-ui-admin-vben/src/api/infra/job/index.ts b/yunxi-ui-admin-vben/src/api/infra/job/index.ts new file mode 100644 index 0000000..6c7ed9e --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/infra/job/index.ts @@ -0,0 +1,71 @@ +import { defHttp } from '@/utils/http/axios' + +export interface JobVO { + id: number + name: string + status: number + handlerName: string + handlerParam: string + cronExpression: string + retryCount: number + retryInterval: number + monitorTimeout: number + createTime: Date +} + +export interface JobPageReqVO extends PageParam { + name?: string + status?: number + handlerName?: string +} + +export interface JobExportReqVO { + name?: string + status?: number + handlerName?: string +} + +// 任务列表 +export function getJobPage(params: JobPageReqVO) { + return defHttp.get({ url: '/infra/job/page', params }) +} + +// 任务详情 +export function getJob(id: number) { + return defHttp.get({ url: `/infra/job/get?id=${id}` }) +} + +// 新增任务 +export function createJob(data: JobVO) { + return defHttp.post({ url: '/infra/job/create', data }) +} + +// 修改定时任务调度 +export function updateJob(data: JobVO) { + return defHttp.put({ url: '/infra/job/update', data }) +} + +// 删除定时任务调度 +export function deleteJob(id: number) { + return defHttp.delete({ url: `/infra/job/delete?id=${id}` }) +} + +// 导出定时任务调度 +export function exportJob(params: JobExportReqVO) { + return defHttp.download({ url: '/infra/job/export-excel', params }, '定时任务.xls') +} + +// 任务状态修改 +export function updateJobStatus(id: number, status: number) { + return defHttp.put({ url: `/infra/job/update-status?id=${id}&status=${status}` }) +} + +// 定时任务立即执行一次 +export function runJob(id: number) { + return defHttp.put({ url: `/infra/job/trigger?id=${id}` }) +} + +// 获得定时任务的下 n 次执行时间 +export function getJobNextTimes(id: number) { + return defHttp.get({ url: `/infra/job/get_next_times?id=${id}` }) +} diff --git a/yunxi-ui-admin-vben/src/api/infra/jobLog/index.ts b/yunxi-ui-admin-vben/src/api/infra/jobLog/index.ts new file mode 100644 index 0000000..cdb8ca6 --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/infra/jobLog/index.ts @@ -0,0 +1,46 @@ +import { defHttp } from '@/utils/http/axios' + +export interface JobLogVO { + id: number + jobId: number + handlerName: string + handlerParam: string + cronExpression: string + executeIndex: string + beginTime: string + endTime: string + duration: string + status: number + createTime: string +} + +export interface JobLogPageReqVO extends PageParam { + jobId?: number + handlerName?: string + beginTime?: string + endTime?: string + status?: number +} + +export interface JobLogExportReqVO { + jobId?: number + handlerName?: string + beginTime?: string + endTime?: string + status?: number +} + +// 任务日志列表 +export function getJobLogPage(params: JobLogPageReqVO) { + return defHttp.get({ url: '/infra/job-log/page', params }) +} + +// 任务日志详情 +export function getJobLog(id: number) { + return defHttp.get({ url: `/infra/job-log/get?id=${id}` }) +} + +// 导出定时任务日志 +export function exportJobLog(params: JobLogExportReqVO) { + return defHttp.download({ url: '/infra/job-log/export-excel', params }, '定时任务日志.xls') +} diff --git a/yunxi-ui-admin-vben/src/api/infra/redis/index.ts b/yunxi-ui-admin-vben/src/api/infra/redis/index.ts new file mode 100644 index 0000000..bc9a8f4 --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/infra/redis/index.ts @@ -0,0 +1,8 @@ +import { defHttp } from '@/utils/http/axios' + +/** + * 获取redis 监控信息 + */ +export function getCache() { + return defHttp.get({ url: '/infra/redis/get-monitor-info' }) +} diff --git a/yunxi-ui-admin-vben/src/api/infra/redis/types.ts b/yunxi-ui-admin-vben/src/api/infra/redis/types.ts new file mode 100644 index 0000000..2342e54 --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/infra/redis/types.ts @@ -0,0 +1,185 @@ +export interface RedisMonitorInfoVO { + info: RedisInfoVO + dbSize: number + commandStats: RedisCommandStatsVO[] +} + +export interface RedisInfoVO { + io_threaded_reads_processed: string + tracking_clients: string + uptime_in_seconds: string + cluster_connections: string + current_cow_size: string + maxmemory_human: string + aof_last_cow_size: string + master_replid2: string + mem_replication_backlog: string + aof_rewrite_scheduled: string + total_net_input_bytes: string + rss_overhead_ratio: string + hz: string + current_cow_size_age: string + redis_build_id: string + errorstat_BUSYGROUP: string + aof_last_bgrewrite_status: string + multiplexing_api: string + client_recent_max_output_buffer: string + allocator_resident: string + mem_fragmentation_bytes: string + aof_current_size: string + repl_backlog_first_byte_offset: string + tracking_total_prefixes: string + redis_mode: string + redis_git_dirty: string + aof_delayed_fsync: string + allocator_rss_bytes: string + repl_backlog_histlen: string + io_threads_active: string + rss_overhead_bytes: string + total_system_memory: string + loading: string + evicted_keys: string + maxclients: string + cluster_enabled: string + redis_version: string + repl_backlog_active: string + mem_aof_buffer: string + allocator_frag_bytes: string + io_threaded_writes_processed: string + instantaneous_ops_per_sec: string + used_memory_human: string + total_error_replies: string + role: string + maxmemory: string + used_memory_lua: string + rdb_current_bgsave_time_sec: string + used_memory_startup: string + used_cpu_sys_main_thread: string + lazyfree_pending_objects: string + aof_pending_bio_fsync: string + used_memory_dataset_perc: string + allocator_frag_ratio: string + arch_bits: string + used_cpu_user_main_thread: string + mem_clients_normal: string + expired_time_cap_reached_count: string + unexpected_error_replies: string + mem_fragmentation_ratio: string + aof_last_rewrite_time_sec: string + master_replid: string + aof_rewrite_in_progress: string + lru_clock: string + maxmemory_policy: string + run_id: string + latest_fork_usec: string + tracking_total_items: string + total_commands_processed: string + expired_keys: string + errorstat_ERR: string + used_memory: string + module_fork_in_progress: string + errorstat_WRONGPASS: string + aof_buffer_length: string + dump_payload_sanitizations: string + mem_clients_slaves: string + keyspace_misses: string + server_time_usec: string + executable: string + lazyfreed_objects: string + db0: string + used_memory_peak_human: string + keyspace_hits: string + rdb_last_cow_size: string + aof_pending_rewrite: string + used_memory_overhead: string + active_defrag_hits: string + tcp_port: string + uptime_in_days: string + used_memory_peak_perc: string + current_save_keys_processed: string + blocked_clients: string + total_reads_processed: string + expire_cycle_cpu_milliseconds: string + sync_partial_err: string + used_memory_scripts_human: string + aof_current_rewrite_time_sec: string + aof_enabled: string + process_supervised: string + master_repl_offset: string + used_memory_dataset: string + used_cpu_user: string + rdb_last_bgsave_status: string + tracking_total_keys: string + atomicvar_api: string + allocator_rss_ratio: string + client_recent_max_input_buffer: string + clients_in_timeout_table: string + aof_last_write_status: string + mem_allocator: string + used_memory_scripts: string + used_memory_peak: string + process_id: string + master_failover_state: string + errorstat_NOAUTH: string + used_cpu_sys: string + repl_backlog_size: string + connected_slaves: string + current_save_keys_total: string + gcc_version: string + total_system_memory_human: string + sync_full: string + connected_clients: string + module_fork_last_cow_size: string + total_writes_processed: string + allocator_active: string + total_net_output_bytes: string + pubsub_channels: string + current_fork_perc: string + active_defrag_key_hits: string + rdb_changes_since_last_save: string + instantaneous_input_kbps: string + used_memory_rss_human: string + configured_hz: string + expired_stale_perc: string + active_defrag_misses: string + used_cpu_sys_children: string + number_of_cached_scripts: string + sync_partial_ok: string + used_memory_lua_human: string + rdb_last_save_time: string + pubsub_patterns: string + slave_expires_tracked_keys: string + redis_git_sha1: string + used_memory_rss: string + rdb_last_bgsave_time_sec: string + os: string + mem_not_counted_for_evict: string + active_defrag_running: string + rejected_connections: string + aof_rewrite_buffer_length: string + total_forks: string + active_defrag_key_misses: string + allocator_allocated: string + aof_base_size: string + instantaneous_output_kbps: string + second_repl_offset: string + rdb_bgsave_in_progress: string + used_cpu_user_children: string + total_connections_received: string + migrate_cached_sockets: string +} + +export interface RedisCommandStatsVO { + command: string + calls: number + usec: number +} + +export interface RedisKeyInfo { + keyTemplate: string + keyType: string + valueType: string + timeoutType: number + timeout: number + memo: string +} diff --git a/yunxi-ui-admin-vben/src/api/member/address/index.ts b/yunxi-ui-admin-vben/src/api/member/address/index.ts new file mode 100644 index 0000000..1d8fb25 --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/member/address/index.ts @@ -0,0 +1,15 @@ +import { defHttp } from '@/utils/http/axios' + +export interface AddressVO { + id: number + name: string + mobile: string + areaId: number + detailAddress: string + defaultStatus: boolean +} + +// 查询用户收件地址列表 +export function getAddressList(params) { + return defHttp.get({ url: '/member/address/list', params }) +} diff --git a/yunxi-ui-admin-vben/src/api/member/group/index.ts b/yunxi-ui-admin-vben/src/api/member/group/index.ts new file mode 100644 index 0000000..1787fed --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/member/group/index.ts @@ -0,0 +1,38 @@ +import { defHttp } from '@/utils/http/axios' + +export interface GroupVO { + id: number + name: string + remark: string + status: number +} + +// 查询用户分组列表 +export function getGroupPage(params: any) { + return defHttp.get({ url: '/member/group/page', params }) +} + +// 查询用户分组详情 +export function getGroup(id: number) { + return defHttp.get({ url: `/member/group/get?id=${id}` }) +} + +// 新增用户分组 +export function createGroup(data: GroupVO) { + return defHttp.post({ url: '/member/group/create', data }) +} + +// 查询用户分组 - 精简信息列表 +export function getSimpleGroupList() { + return defHttp.get({ url: '/member/group/list-all-simple' }) +} + +// 修改用户分组 +export function updateGroup(data: GroupVO) { + return defHttp.put({ url: '/member/group/update', data }) +} + +// 删除用户分组 +export function deleteGroup(id: number) { + return defHttp.delete({ url: `/member/group/delete?id=${id}` }) +} diff --git a/yunxi-ui-admin-vben/src/api/member/level/index.ts b/yunxi-ui-admin-vben/src/api/member/level/index.ts new file mode 100644 index 0000000..d192124 --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/member/level/index.ts @@ -0,0 +1,42 @@ +import { defHttp } from '@/utils/http/axios' + +export interface LevelVO { + id: number + name: string + experience: number + value: number + discountPercent: number + icon: string + bgUrl: string + status: number +} + +// 查询会员等级列表 +export function getLevelList(params) { + return defHttp.get({ url: '/member/level/list', params }) +} + +// 查询会员等级详情 +export function getLevel(id: number) { + return defHttp.get({ url: `/member/level/get?id=${id}` }) +} + +// 查询会员等级 - 精简信息列表 +export function getSimpleLevelList() { + return defHttp.get({ url: '/member/level/list-all-simple' }) +} + +// 新增会员等级 +export function createLevel(data: LevelVO) { + return defHttp.post({ url: '/member/level/create', data }) +} + +// 修改会员等级 +export function updateLevel(data: LevelVO) { + return defHttp.put({ url: '/member/level/update', data }) +} + +// 删除会员等级 +export function deleteLevel(id: number) { + return defHttp.delete({ url: `/member/level/delete?id=${id}` }) +} diff --git a/yunxi-ui-admin-vben/src/api/member/point/config/index.ts b/yunxi-ui-admin-vben/src/api/member/point/config/index.ts new file mode 100644 index 0000000..d6abc99 --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/member/point/config/index.ts @@ -0,0 +1,19 @@ +import { defHttp } from '@/utils/http/axios' + +export interface ConfigVO { + id: number + tradeDeductEnable: number + tradeDeductUnitPrice: number + tradeDeductMaxPrice: number + tradeGivePoint: number +} + +// 查询积分设置详情 +export function getConfig() { + return defHttp.get({ url: '/member/point/config/get' }) +} + +// 新增修改积分设置 +export function saveConfig(data: ConfigVO) { + return defHttp.put({ url: '/member/point/config/save', data }) +} diff --git a/yunxi-ui-admin-vben/src/api/member/point/record/index.ts b/yunxi-ui-admin-vben/src/api/member/point/record/index.ts new file mode 100644 index 0000000..e209e11 --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/member/point/record/index.ts @@ -0,0 +1,21 @@ +import { defHttp } from '@/utils/http/axios' + +export interface RecordVO { + id: number + bizId: string + bizType: string + title: string + description: string + point: number + totalPoint: number + status: number + userId: number + freezingTime: Date + thawingTime: Date + createDate: Date +} + +// 查询用户积分记录列表 +export function getRecordPage(params) { + return defHttp.get({ url: '/member/point/record/page', params }) +} diff --git a/yunxi-ui-admin-vben/src/api/member/signin/config/index.ts b/yunxi-ui-admin-vben/src/api/member/signin/config/index.ts new file mode 100644 index 0000000..19aa5b8 --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/member/signin/config/index.ts @@ -0,0 +1,33 @@ +import { defHttp } from '@/utils/http/axios' + +export interface SignInConfigVO { + id: number + day: number | null + point: number | null + enable: boolean | null +} + +// 查询积分签到规则列表 +export function getSignInConfigList() { + return defHttp.get({ url: '/member/point/sign-in-config/list' }) +} + +// 查询积分签到规则详情 +export function getSignInConfig(id: number) { + return defHttp.get({ url: `/member/point/sign-in-config/get?id=${id}` }) +} + +// 新增积分签到规则 +export function createSignInConfig(data: SignInConfigVO) { + return defHttp.post({ url: '/member/point/sign-in-config/create', data }) +} + +// 修改积分签到规则 +export function updateSignInConfig(data: SignInConfigVO) { + return defHttp.put({ url: '/member/point/sign-in-config/update', data }) +} + +// 删除积分签到规则 +export function deleteSignInConfig(id: number) { + return defHttp.delete({ url: `/member/point/sign-in-config/delete?id=${id}` }) +} diff --git a/yunxi-ui-admin-vben/src/api/member/signin/record/index.ts b/yunxi-ui-admin-vben/src/api/member/signin/record/index.ts new file mode 100644 index 0000000..5836e09 --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/member/signin/record/index.ts @@ -0,0 +1,13 @@ +import { defHttp } from '@/utils/http/axios' + +export interface SignInRecordVO { + id: number + userId: number + day: number + point: number +} + +// 查询用户签到积分列表 +export function getSignInRecordPage(params) { + return defHttp.get({ url: '/member/point/sign-in-record/page', params }) +} diff --git a/yunxi-ui-admin-vben/src/api/member/tag/index.ts b/yunxi-ui-admin-vben/src/api/member/tag/index.ts new file mode 100644 index 0000000..b37914a --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/member/tag/index.ts @@ -0,0 +1,36 @@ +import { defHttp } from '@/utils/http/axios' + +export interface TagVO { + id: number + name: string +} + +// 查询会员标签列表 +export function getMemberTagPage(params) { + return defHttp.get({ url: '/member/tag/page', params }) +} + +// 查询会员标签详情 +export function getMemberTag(id: number) { + return defHttp.get({ url: `/member/tag/get?id=${id}` }) +} + +// 查询会员标签 - 精简信息列表 +export function getSimpleTagList() { + return defHttp.get({ url: '/member/tag/list-all-simple' }) +} + +// 新增会员标签 +export function createMemberTag(data: TagVO) { + return defHttp.post({ url: '/member/tag/create', data }) +} + +// 修改会员标签 +export function updateMemberTag(data: TagVO) { + return defHttp.put({ url: '/member/tag/update', data }) +} + +// 删除会员标签 +export function deleteMemberTag(id: number) { + return defHttp.delete({ url: `/member/tag/delete?id=${id}` }) +} diff --git a/yunxi-ui-admin-vben/src/api/member/user/index.ts b/yunxi-ui-admin-vben/src/api/member/user/index.ts new file mode 100644 index 0000000..3a4a13e --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/member/user/index.ts @@ -0,0 +1,39 @@ +import { defHttp } from '@/utils/http/axios' + +export interface UserVO { + id: number + mobile: string + password: string + status: number + registerIp: string + loginIp: string + loginDate: Date + nickname: string + avatar: string + name: string + sex: number + areaId: number + birthday: Date + mark: string + createTime: Date +} + +// 查询会员用户列表 +export function getUserPage(params) { + return defHttp.get({ url: '/member/user/page', params }) +} + +// 查询会员用户详情 +export function getUser(id: number) { + return defHttp.get({ url: `/member/user/get?id=${id}` }) +} + +// 修改会员用户 +export function updateUser(data: UserVO) { + return defHttp.put({ url: '/member/user/update', data }) +} + +// 修改会员用户等级 +export function updateUserLevel(data: any) { + return defHttp.put({ url: '/member/user/update-level', data }) +} diff --git a/yunxi-ui-admin-vben/src/api/mp/account/index.ts b/yunxi-ui-admin-vben/src/api/mp/account/index.ts new file mode 100644 index 0000000..631f182 --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/mp/account/index.ts @@ -0,0 +1,46 @@ +import { defHttp } from '@/utils/http/axios' + +export interface AccountVO { + id?: number + name: string +} + +// 创建公众号账号 +export function createAccount(data) { + return defHttp.post({ url: '/mp/account/create', data }) +} + +// 更新公众号账号 +export function updateAccount(data) { + return defHttp.put({ url: '/mp/account/update', data }) +} + +// 删除公众号账号 +export function deleteAccount(id) { + return defHttp.delete({ url: `/mp/account/delete?id=${id}`, method: 'delete' }) +} + +// 获得公众号账号 +export function getAccount(id) { + return defHttp.get({ url: `/mp/account/get?id=${id}` }) +} + +// 获得公众号账号分页 +export function getAccountPage(params) { + return defHttp.get({ url: '/mp/account/page', params }) +} + +// 获取公众号账号精简信息列表 +export function getSimpleAccounts() { + return defHttp.get({ url: '/mp/account/list-all-simple' }) +} + +// 生成公众号二维码 +export function generateAccountQrCode(id) { + return defHttp.put({ url: `/mp/account/generate-qr-code?id=${id}` }) +} + +// 清空公众号 API 配额 +export function clearAccountQuota(id) { + return defHttp.put({ url: `/mp/account/clear-quota?id=${id}` }) +} diff --git a/yunxi-ui-admin-vben/src/api/mp/autoReply/index.ts b/yunxi-ui-admin-vben/src/api/mp/autoReply/index.ts new file mode 100644 index 0000000..01b29f6 --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/mp/autoReply/index.ts @@ -0,0 +1,26 @@ +import { defHttp } from '@/utils/http/axios' + +// 创建公众号的自动回复 +export function createAutoReply(data) { + return defHttp.post({ url: '/mp/auto-reply/create', data }) +} + +// 更新公众号的自动回复 +export function updateAutoReply(data) { + return defHttp.put({ url: '/mp/auto-reply/update', data }) +} + +// 删除公众号的自动回复 +export function deleteAutoReply(id) { + return defHttp.delete({ url: `/mp/auto-reply/delete?id=${id}` }) +} + +// 获得公众号的自动回复 +export function getAutoReply(id) { + return defHttp.get({ url: `/mp/auto-reply/get?id=${id}` }) +} + +// 获得公众号的自动回复分页 +export function getAutoReplyPage(params) { + return defHttp.get({ url: '/mp/auto-reply/page', params }) +} diff --git a/yunxi-ui-admin-vben/src/api/mp/draft/index.ts b/yunxi-ui-admin-vben/src/api/mp/draft/index.ts new file mode 100644 index 0000000..dc68700 --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/mp/draft/index.ts @@ -0,0 +1,26 @@ +import { defHttp } from '@/utils/http/axios' + +// 获得公众号草稿分页 +export function getDraftPage(params) { + return defHttp.get({ url: '/mp/draft/page', params }) +} + +// 创建公众号草稿 +export function createDraft(accountId, articles) { + return defHttp.post({ + url: `/mp/draft/create?accountId=${accountId}`, + data: { + articles, + }, + }) +} + +// 更新公众号草稿 +export function updateDraft(accountId, mediaId, articles) { + return defHttp.put({ url: `/mp/draft/update?accountId=${accountId}&mediaId=${mediaId}`, data: articles }) +} + +// 删除公众号草稿 +export function deleteDraft(accountId, mediaId) { + return defHttp.delete({ url: `/mp/draft/delete?accountId=${accountId}&mediaId=${mediaId}` }) +} diff --git a/yunxi-ui-admin-vben/src/api/mp/freePublish/index.ts b/yunxi-ui-admin-vben/src/api/mp/freePublish/index.ts new file mode 100644 index 0000000..7d30314 --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/mp/freePublish/index.ts @@ -0,0 +1,16 @@ +import { defHttp } from '@/utils/http/axios' + +// 获得公众号素材分页 +export function getFreePublishPage(params) { + return defHttp.get({ url: '/mp/free-publish/page', params }) +} + +// 删除公众号素材 +export function deleteFreePublish(accountId, articleId) { + return defHttp.delete({ url: `/mp/free-publish/delete?accountId=${accountId}&&articleId=${articleId}` }) +} + +// 发布公众号素材 +export function submitFreePublish(accountId, mediaId) { + return defHttp.post({ url: `/mp/free-publish/submit?accountId=${accountId}&&mediaId=${mediaId}` }) +} diff --git a/yunxi-ui-admin-vben/src/api/mp/material/index.ts b/yunxi-ui-admin-vben/src/api/mp/material/index.ts new file mode 100644 index 0000000..28250fe --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/mp/material/index.ts @@ -0,0 +1,11 @@ +import { defHttp } from '@/utils/http/axios' + +// 获得公众号素材分页 +export function getMaterialPage(params) { + return defHttp.get({ url: '/mp/material/page', params }) +} + +// 删除公众号永久素材 +export function deletePermanentMaterial(id) { + return defHttp.delete({ url: `/mp/material/delete-permanent?id=${id}` }) +} diff --git a/yunxi-ui-admin-vben/src/api/mp/menu/index.ts b/yunxi-ui-admin-vben/src/api/mp/menu/index.ts new file mode 100644 index 0000000..f8efa21 --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/mp/menu/index.ts @@ -0,0 +1,22 @@ +import { defHttp } from '@/utils/http/axios' + +// 获得公众号菜单列表 +export function getMenuList(accountId) { + return defHttp.get({ url: `/mp/menu/list?accountId=${accountId}` }) +} + +// 保存公众号菜单 +export function saveMenu(accountId, menus) { + return defHttp.post({ + url: '/mp/menu/save', + data: { + accountId, + menus, + }, + }) +} + +// 删除公众号菜单 +export function deleteMenu(accountId) { + return defHttp.delete({ url: `/mp/menu/delete?accountId=${accountId}` }) +} diff --git a/yunxi-ui-admin-vben/src/api/mp/message/index.ts b/yunxi-ui-admin-vben/src/api/mp/message/index.ts new file mode 100644 index 0000000..aa4689a --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/mp/message/index.ts @@ -0,0 +1,11 @@ +import { defHttp } from '@/utils/http/axios' + +// 获得公众号消息分页 +export function getMessagePage(params) { + return defHttp.get({ url: '/mp/message/page', params }) +} + +// 给粉丝发送消息 +export function sendMessage(data) { + return defHttp.post({ url: '/mp/message/send', data }) +} diff --git a/yunxi-ui-admin-vben/src/api/mp/mpuser/index.ts b/yunxi-ui-admin-vben/src/api/mp/mpuser/index.ts new file mode 100644 index 0000000..fff41af --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/mp/mpuser/index.ts @@ -0,0 +1,21 @@ +import { defHttp } from '@/utils/http/axios' + +// 更新公众号粉丝 +export function updateUser(data) { + return defHttp.put({ url: '/mp/user/update', data }) +} + +// 获得公众号粉丝 +export function getUser(id) { + return defHttp.get({ url: `/mp/user/get?id=${id}` }) +} + +// 获得公众号粉丝分页 +export function getUserPage(params) { + return defHttp.get({ url: '/mp/user/page', params }) +} + +// 同步公众号粉丝 +export function syncUser(accountId) { + return defHttp.post({ url: `/mp/user/sync?accountId=${accountId}` }) +} diff --git a/yunxi-ui-admin-vben/src/api/mp/statistics/index.ts b/yunxi-ui-admin-vben/src/api/mp/statistics/index.ts new file mode 100644 index 0000000..00aeff9 --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/mp/statistics/index.ts @@ -0,0 +1,21 @@ +import { defHttp } from '@/utils/http/axios' + +// 获取消息发送概况数据 +export function getUpstreamMessage(params) { + return defHttp.get({ url: '/mp/statistics/upstream-message', params }) +} + +// 用户增减数据 +export function getUserSummary(params) { + return defHttp.get({ url: '/mp/statistics/user-summary', params }) +} + +// 获得用户累计数据 +export function getUserCumulate(params) { + return defHttp.get({ url: '/mp/statistics/user-cumulate', params }) +} + +// 获得接口分析数据 +export function getInterfaceSummary(params) { + return defHttp.get({ url: '/mp/statistics/interface-summary', params }) +} diff --git a/yunxi-ui-admin-vben/src/api/mp/tag/index.ts b/yunxi-ui-admin-vben/src/api/mp/tag/index.ts new file mode 100644 index 0000000..4b8d4a1 --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/mp/tag/index.ts @@ -0,0 +1,36 @@ +import { defHttp } from '@/utils/http/axios' + +// 创建公众号标签 +export function createTag(data) { + return defHttp.post({ url: '/mp/tag/create', data }) +} + +// 更新公众号标签 +export function updateTag(data) { + return defHttp.put({ url: '/mp/tag/update', data }) +} + +// 删除公众号标签 +export function deleteTag(id) { + return defHttp.delete({ url: `/mp/tag/delete?id=${id}` }) +} + +// 获得公众号标签 +export function getTag(id) { + return defHttp.get({ url: `/mp/tag/get?id=${id}` }) +} + +// 获得公众号标签分页 +export function getTagPage(params) { + return defHttp.get({ url: '/mp/tag/page', params }) +} + +// 获取公众号标签精简信息列表 +export function getSimpleTags() { + return defHttp.get({ url: '/mp/tag/list-all-simple' }) +} + +// 同步公众号标签 +export function syncTag(accountId) { + return defHttp.post({ url: `/mp/tag/sync?accountId=${accountId}` }) +} diff --git a/yunxi-ui-admin-vben/src/api/pay/app/index.ts b/yunxi-ui-admin-vben/src/api/pay/app/index.ts new file mode 100644 index 0000000..b68395e --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/pay/app/index.ts @@ -0,0 +1,63 @@ +import { defHttp } from '@/utils/http/axios' + +export interface AppVO { + id: number + name: string + status: number + remark: string + payNotifyUrl: string + refundNotifyUrl: string + merchantId: number + merchantName: string + createTime: Date +} + +export interface AppPageReqVO extends PageParam { + name?: string + status?: number + remark?: string + payNotifyUrl?: string + refundNotifyUrl?: string + merchantName?: string + createTime?: Date[] +} + +export interface AppUpdateStatusReqVO { + id: number + status: number +} + +// 查询列表支付应用 +export function getAppPage(params: AppPageReqVO) { + return defHttp.get({ url: '/pay/app/page', params }) +} + +// 查询详情支付应用 +export function getApp(id: number) { + return defHttp.get({ url: `/pay/app/get?id=${id}` }) +} + +// 新增支付应用 +export function createApp(data: AppVO) { + return defHttp.post({ url: '/pay/app/create', data }) +} + +// 修改支付应用 +export function updateApp(data: AppVO) { + return defHttp.put({ url: '/pay/app/update', data }) +} + +// 支付应用信息状态修改 +export function changeAppStatus(data: AppUpdateStatusReqVO) { + return defHttp.put({ url: '/pay/app/update-status', data }) +} + +// 删除支付应用 +export function deleteApp(id: number) { + return defHttp.delete({ url: `/pay/app/delete?id=${id}` }) +} + +// 获得支付应用列表 +export function getAppList() { + return defHttp.get({ url: '/pay/app/list' }) +} diff --git a/yunxi-ui-admin-vben/src/api/pay/channel/index.ts b/yunxi-ui-admin-vben/src/api/pay/channel/index.ts new file mode 100644 index 0000000..9a1f079 --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/pay/channel/index.ts @@ -0,0 +1,69 @@ +import { defHttp } from '@/utils/http/axios' + +export interface ChannelVO { + id: number + code: string + config: string + status: number + remark: string + feeRate: number + merchantId: number + appId: number + createTime: Date +} + +export interface ChannelPageReqVO extends PageParam { + code?: string + status?: number + remark?: string + feeRate?: number + merchantId?: number + appId?: number + config?: string + createTime?: Date[] +} + +export interface ChannelExportReqVO { + code?: string + status?: number + remark?: string + feeRate?: number + merchantId?: number + appId?: number + config?: string + createTime?: Date[] +} + +// 查询列表支付渠道 +export function getChannelPage(params: PageParam) { + return defHttp.get({ url: '/pay/channel/page', params }) +} + +// 查询详情支付渠道 +export function getChannel(appId: string, code: string) { + const params = { + appId, + code, + } + return defHttp.get({ url: '/pay/channel/get', params }) +} + +// 新增支付渠道 +export function createChannel(data: ChannelVO) { + return defHttp.post({ url: '/pay/channel/create', data }) +} + +// 修改支付渠道 +export function updateChannel(data: ChannelVO) { + return defHttp.put({ url: '/pay/channel/update', data }) +} + +// 删除支付渠道 +export function deleteChannel(id: number) { + return defHttp.delete({ url: `/pay/channel/delete?id=${id}` }) +} + +// 导出支付渠道 +export function exportChannel(params) { + return defHttp.download({ url: '/pay/channel/export-excel', params }, '支付渠道.xls') +} diff --git a/yunxi-ui-admin-vben/src/api/pay/demo/index.ts b/yunxi-ui-admin-vben/src/api/pay/demo/index.ts new file mode 100644 index 0000000..f61c75f --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/pay/demo/index.ts @@ -0,0 +1,21 @@ +import { defHttp } from '@/utils/http/axios' + +// 获得示例订单分页 +export function getDemoOrderPage(params) { + return defHttp.get({ url: '/pay/demo-order/page', params }) +} + +// 获得示例订单 +export function getDemoOrder(id: number) { + return defHttp.get({ url: `/pay/demo-order/get?id=${id}` }) +} + +// 创建示例订单 +export function createDemoOrder(data) { + return defHttp.post({ url: '/pay/demo-order/create', data }) +} + +// 退款示例订单 +export function refundDemoOrder(id: number) { + return defHttp.put({ url: `/pay/demo-order/refund?id=${id}` }) +} diff --git a/yunxi-ui-admin-vben/src/api/pay/notify/index.ts b/yunxi-ui-admin-vben/src/api/pay/notify/index.ts new file mode 100644 index 0000000..96f911f --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/pay/notify/index.ts @@ -0,0 +1,11 @@ +import { defHttp } from '@/utils/http/axios' + +// 获得支付通知明细 +export function getNotifyTaskDetail(id) { + return defHttp.get({ url: `/pay/notify/get-detail?id=${id}` }) +} + +// 获得支付通知分页 +export function getNotifyTaskPage(params) { + return defHttp.get({ url: '/pay/notify/page', params }) +} diff --git a/yunxi-ui-admin-vben/src/api/pay/order/index.ts b/yunxi-ui-admin-vben/src/api/pay/order/index.ts new file mode 100644 index 0000000..ea6a969 --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/pay/order/index.ts @@ -0,0 +1,104 @@ +import { defHttp } from '@/utils/http/axios' + +export interface OrderVO { + id: number + merchantId: number + appId: number + channelId: number + channelCode: string + merchantOrderId: string + subject: string + body: string + notifyUrl: string + notifyStatus: number + amount: number + channelFeeRate: number + channelFeeAmount: number + status: number + userIp: string + expireTime: Date + successTime: Date + notifyTime: Date + successExtensionId: number + refundStatus: number + refundTimes: number + refundAmount: number + channelUserId: string + channelOrderNo: string + createTime: Date +} + +export interface OrderPageReqVO extends PageParam { + merchantId?: number + appId?: number + channelId?: number + channelCode?: string + merchantOrderId?: string + subject?: string + body?: string + notifyUrl?: string + notifyStatus?: number + amount?: number + channelFeeRate?: number + channelFeeAmount?: number + status?: number + expireTime?: Date[] + successTime?: Date[] + notifyTime?: Date[] + successExtensionId?: number + refundStatus?: number + refundTimes?: number + channelUserId?: string + channelOrderNo?: string + createTime?: Date[] +} + +export interface OrderExportReqVO { + merchantId?: number + appId?: number + channelId?: number + channelCode?: string + merchantOrderId?: string + subject?: string + body?: string + notifyUrl?: string + notifyStatus?: number + amount?: number + channelFeeRate?: number + channelFeeAmount?: number + status?: number + expireTime?: Date[] + successTime?: Date[] + notifyTime?: Date[] + successExtensionId?: number + refundStatus?: number + refundTimes?: number + channelUserId?: string + channelOrderNo?: string + createTime?: Date[] +} + +// 查询列表支付订单 +export function getOrderPage(params: OrderPageReqVO) { + return defHttp.get({ url: '/pay/order/page', params }) +} + +// 查询详情支付订单 +export function getOrder(id: number) { + return defHttp.get({ url: `/pay/order/get?id=${id}` }) +} + +// 获得支付订单的明细 +export function getOrderDetail(id: number) { + return defHttp.get({ url: `/pay/order/get-detail?id=${id}` }) +} + +// 提交支付订单 +export function submitOrder(data: any) { + return defHttp.post({ url: '/pay/order/submit', data }) +} + +// 导出支付订单 +export function exportOrder(params: OrderExportReqVO) { + return defHttp.download({ url: '/pay/order/export-excel', params }) +} diff --git a/yunxi-ui-admin-vben/src/api/pay/refund/index.ts b/yunxi-ui-admin-vben/src/api/pay/refund/index.ts new file mode 100644 index 0000000..9770fa8 --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/pay/refund/index.ts @@ -0,0 +1,116 @@ +import { defHttp } from '@/utils/http/axios' + +export interface RefundVO { + id: number + merchantId: number + appId: number + channelId: number + channelCode: string + orderId: string + tradeNo: string + merchantOrderId: string + merchantRefundNo: string + notifyUrl: string + notifyStatus: number + status: number + type: number + payAmount: number + refundAmount: number + reason: string + userIp: string + channelOrderNo: string + channelRefundNo: string + channelErrorCode: string + channelErrorMsg: string + channelExtras: string + expireTime: Date + successTime: Date + notifyTime: Date + createTime: Date +} + +export interface RefundPageReqVO extends PageParam { + merchantId?: number + appId?: number + channelId?: number + channelCode?: string + orderId?: string + tradeNo?: string + merchantOrderId?: string + merchantRefundNo?: string + notifyUrl?: string + notifyStatus?: number + status?: number + type?: number + payAmount?: number + refundAmount?: number + reason?: string + userIp?: string + channelOrderNo?: string + channelRefundNo?: string + channelErrorCode?: string + channelErrorMsg?: string + channelExtras?: string + expireTime?: Date[] + successTime?: Date[] + notifyTime?: Date[] + createTime?: Date[] +} + +export interface PayRefundExportReqVO { + merchantId?: number + appId?: number + channelId?: number + channelCode?: string + orderId?: string + tradeNo?: string + merchantOrderId?: string + merchantRefundNo?: string + notifyUrl?: string + notifyStatus?: number + status?: number + type?: number + payAmount?: number + refundAmount?: number + reason?: string + userIp?: string + channelOrderNo?: string + channelRefundNo?: string + channelErrorCode?: string + channelErrorMsg?: string + channelExtras?: string + expireTime?: Date[] + successTime?: Date[] + notifyTime?: Date[] + createTime?: Date[] +} + +// 查询列表退款订单 +export function getRefundPage(params: RefundPageReqVO) { + return defHttp.get({ url: '/pay/refund/page', params }) +} + +// 查询详情退款订单 +export function getRefund(id: number) { + return defHttp.get({ url: `/pay/refund/get?id=${id}` }) +} + +// 新增退款订单 +export function createRefund(data: RefundVO) { + return defHttp.post({ url: '/pay/refund/create', data }) +} + +// 修改退款订单 +export function updateRefund(data: RefundVO) { + return defHttp.put({ url: '/pay/refund/update', data }) +} + +// 删除退款订单 +export function deleteRefund(id: number) { + return defHttp.delete({ url: `/pay/refund/delete?id=${id}` }) +} + +// 导出退款订单 +export function exportRefund(params: PayRefundExportReqVO) { + return defHttp.download({ url: '/pay/refund/export-excel', params }, '退款订单.xls') +} diff --git a/yunxi-ui-admin-vben/src/api/system/area/index.ts b/yunxi-ui-admin-vben/src/api/system/area/index.ts new file mode 100644 index 0000000..cf318f9 --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/system/area/index.ts @@ -0,0 +1,11 @@ +import { defHttp } from '@/utils/http/axios' + +// 获得地区树 +export function getAreaTree() { + return defHttp.get({ url: '/system/area/tree' }) +} + +// 获得 IP 对应的地区名 +export function getAreaByIp(ip: string) { + return defHttp.get({ url: `/system/area/get-by-ip?ip=${ip}` }) +} diff --git a/yunxi-ui-admin-vben/src/api/system/dept/index.ts b/yunxi-ui-admin-vben/src/api/system/dept/index.ts new file mode 100644 index 0000000..6ab2173 --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/system/dept/index.ts @@ -0,0 +1,48 @@ +import { defHttp } from '@/utils/http/axios' + +export interface DeptVO { + id?: number + name: string + parentId: number + status: number + sort: number + leaderUserId: number + phone: string + email: string + createTime: Date +} + +export interface DeptPageReqVO { + name?: string + status?: number +} + +// 查询部门(精简)列表 +export function listSimpleDept() { + return defHttp.get({ url: '/system/dept/list-all-simple' }) +} + +// 查询部门列表 +export function getDeptPage(params: DeptPageReqVO) { + return defHttp.get({ url: '/system/dept/list', params }) +} + +// 查询部门详情 +export function getDept(id: number) { + return defHttp.get({ url: `/system/dept/get?id=${id}` }) +} + +// 新增部门 +export function createDept(data: DeptVO) { + return defHttp.post({ url: '/system/dept/create', data }) +} + +// 修改部门 +export function updateDept(params: DeptVO) { + return defHttp.put({ url: '/system/dept/update', data: params }) +} + +// 删除部门 +export function deleteDept(id: number) { + return defHttp.delete({ url: `/system/dept/delete?id=${id}` }) +} diff --git a/yunxi-ui-admin-vben/src/api/system/dict/data.ts b/yunxi-ui-admin-vben/src/api/system/dict/data.ts new file mode 100644 index 0000000..1cb23ff --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/system/dict/data.ts @@ -0,0 +1,36 @@ +import type { DictDataExportReqVO, DictDataPageReqVO, DictDataVO } from './types' +import { defHttp } from '@/utils/http/axios' + +// 查询字典数据(精简)列表 +export function listSimpleDictData() { + return defHttp.get({ url: '/system/dict-data/list-all-simple' }) +} + +// 查询字典数据列表 +export function getDictDataPage(params: DictDataPageReqVO) { + return defHttp.get({ url: '/system/dict-data/page', params }) +} + +// 查询字典数据详情 +export function getDictData(id: number) { + return defHttp.get({ url: `/system/dict-data/get?id=${id}` }) +} + +// 新增字典数据 +export function createDictData(data: DictDataVO) { + return defHttp.post({ url: '/system/dict-data/create', data }) +} + +// 修改字典数据 +export function updateDictData(data: DictDataVO) { + return defHttp.put({ url: '/system/dict-data/update', data }) +} + +// 删除字典数据 +export function deleteDictData(id: number) { + return defHttp.delete({ url: `/system/dict-data/delete?id=${id}` }) +} +// 导出字典类型数据 +export function exportDictData(params: DictDataExportReqVO) { + return defHttp.get({ url: '/system/dict-data/export', params }) +} diff --git a/yunxi-ui-admin-vben/src/api/system/dict/type.ts b/yunxi-ui-admin-vben/src/api/system/dict/type.ts new file mode 100644 index 0000000..c07b585 --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/system/dict/type.ts @@ -0,0 +1,36 @@ +import type { DictTypeExportReqVO, DictTypePageReqVO, DictTypeVO } from './types' +import { defHttp } from '@/utils/http/axios' + +// 查询字典(精简)列表 +export function listSimpleDictType() { + return defHttp.get({ url: '/system/dict-type/list-all-simple' }) +} + +// 查询字典列表 +export function getDictTypePage(params: DictTypePageReqVO) { + return defHttp.get({ url: '/system/dict-type/page', params }) +} + +// 查询字典详情 +export function getDictType(id: number) { + return defHttp.get({ url: `/system/dict-type/get?id=${id}` }) +} + +// 新增字典 +export function createDictType(data: DictTypeVO) { + return defHttp.post({ url: '/system/dict-type/create', data }) +} + +// 修改字典 +export function updateDictType(data: DictTypeVO) { + return defHttp.put({ url: '/system/dict-type/update', data }) +} + +// 删除字典 +export function deleteDictType(id: number) { + return defHttp.delete({ url: `/system/dict-type/delete?id=${id}` }) +} +// 导出字典类型 +export function exportDictType(params: DictTypeExportReqVO) { + return defHttp.get({ url: '/system/dict-type/export', params }) +} diff --git a/yunxi-ui-admin-vben/src/api/system/dict/types.ts b/yunxi-ui-admin-vben/src/api/system/dict/types.ts new file mode 100644 index 0000000..4be0d98 --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/system/dict/types.ts @@ -0,0 +1,46 @@ +export interface DictTypeVO { + id: number + name: string + type: string + status: number + remark: string + createTime: Date +} + +export interface DictTypePageReqVO { + name: string + type: string + status: number + createTime: Date[] +} + +export interface DictTypeExportReqVO { + name: string + type: string + status: number + createTime: Date[] +} + +export interface DictDataVO { + id: number + sort: number + label: string + value: string + dictType: string + status: number + colorType: string + cssClass: string + remark: string + createTime: Date +} +export interface DictDataPageReqVO { + label: string + dictType: string + status: number +} + +export interface DictDataExportReqVO { + label: string + dictType: string + status: number +} diff --git a/yunxi-ui-admin-vben/src/api/system/enterprise/index.ts b/yunxi-ui-admin-vben/src/api/system/enterprise/index.ts new file mode 100644 index 0000000..0e3ef42 --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/system/enterprise/index.ts @@ -0,0 +1,37 @@ +import { defHttp } from '@/utils/http/axios' + +// 查询企业信息列表 +export function getEnterprisePage(params) { + return defHttp.get({ url: '/system/enterprise/page', params }) +} + +// 查询企业信息详情 +export function getEnterprise(id: number) { + return defHttp.get({ url: '/system/enterprise/get?id=' + id }) +} + +// 新增企业信息 +export function createEnterprise(data) { + return defHttp.post({ url: '/system/enterprise/create', data }) +} + +// 修改企业信息 +export function updateEnterprise(data) { + return defHttp.put({ url: '/system/enterprise/update', data }) +} + +// 修改企业状态 +export function updateEnterpriseStatus(data) { + return defHttp.put({ url: '/system/enterprise/updateStatus', data }) +} + + +// 删除企业信息 +export function deleteEnterprise(id: number) { + return defHttp.delete({ url: '/system/enterprise/delete?id=' + id }) +} + +// 导出企业信息 Excel +export function exportEnterprise(params) { + return defHttp.download({ url: '/system/enterprise/export-excel', params }, '企业信息.xls') +} diff --git a/yunxi-ui-admin-vben/src/api/system/errorCode/index.ts b/yunxi-ui-admin-vben/src/api/system/errorCode/index.ts new file mode 100644 index 0000000..de5a79a --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/system/errorCode/index.ts @@ -0,0 +1,49 @@ +import { defHttp } from '@/utils/http/axios' + +export interface ErrorCodeVO { + id: number + type: number + applicationName: string + code: number + message: string + memo: string + createTime: Date +} + +export interface ErrorCodePageReqVO extends PageParam { + type?: number + applicationName?: string + code?: number + message?: string + createTime?: Date[] +} + +// 查询错误码列表 +export function getErrorCodePage(params: ErrorCodePageReqVO) { + return defHttp.get({ url: '/system/error-code/page', params }) +} + +// 查询错误码详情 +export function getErrorCode(id: number) { + return defHttp.get({ url: `/system/error-code/get?id=${id}` }) +} + +// 新增错误码 +export function createErrorCode(data: ErrorCodeVO) { + return defHttp.post({ url: '/system/error-code/create', data }) +} + +// 修改错误码 +export function updateErrorCode(data: ErrorCodeVO) { + return defHttp.put({ url: '/system/error-code/update', data }) +} + +// 删除错误码 +export function deleteErrorCode(id: number) { + return defHttp.delete({ url: `/system/error-code/delete?id=${id}` }) +} + +// 导出错误码 +export function excelErrorCode(params: ErrorCodePageReqVO) { + return defHttp.download({ url: '/system/error-code/export-excel', params }, '错误码.xls') +} diff --git a/yunxi-ui-admin-vben/src/api/system/loginLog/index.ts b/yunxi-ui-admin-vben/src/api/system/loginLog/index.ts new file mode 100644 index 0000000..db9150a --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/system/loginLog/index.ts @@ -0,0 +1,30 @@ +import { defHttp } from '@/utils/http/axios' + +export interface LoginLogVO { + id: number + logType: number + traceId: number + userId: number + userType: number + username: string + status: number + userIp: string + userAgent: string + createTime: Date +} + +export interface LoginLogReqVO extends PageParam { + userIp?: string + username?: string + status?: boolean + createTime?: Date[] +} + +// 查询登录日志列表 +export function getLoginLogPage(params: LoginLogReqVO) { + return defHttp.get({ url: '/system/login-log/page', params }) +} +// 导出登录日志 +export function exportLoginLog(params: LoginLogReqVO) { + return defHttp.download({ url: '/system/login-log/export', params }, '登录日志.xls') +} diff --git a/yunxi-ui-admin-vben/src/api/system/mail/account.ts b/yunxi-ui-admin-vben/src/api/system/mail/account.ts new file mode 100644 index 0000000..ef71ae5 --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/system/mail/account.ts @@ -0,0 +1,31 @@ +import { defHttp } from '@/utils/http/axios' + +// 创建邮箱账号 +export function createMailAccount(data) { + return defHttp.post({ url: '/system/mail-account/create', data }) +} + +// 更新邮箱账号 +export function updateMailAccount(data) { + return defHttp.put({ url: '/system/mail-account/update', data }) +} + +// 删除邮箱账号 +export function deleteMailAccount(id: number) { + return defHttp.delete({ url: `/system/mail-account/delete?id=${id}` }) +} + +// 获得邮箱账号 +export function getMailAccount(id: number) { + return defHttp.get({ url: `/system/mail-account/get?id=${id}` }) +} + +// 获得邮箱账号分页 +export function getMailAccountPage(params) { + return defHttp.get({ url: '/system/mail-account/page', params }) +} + +// 获取邮箱账号的精简信息列表 +export function getSimpleMailAccountList() { + return defHttp.get({ url: '/system/mail-account/list-all-simple' }) +} diff --git a/yunxi-ui-admin-vben/src/api/system/mail/log.ts b/yunxi-ui-admin-vben/src/api/system/mail/log.ts new file mode 100644 index 0000000..3afebca --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/system/mail/log.ts @@ -0,0 +1,11 @@ +import { defHttp } from '@/utils/http/axios' + +// 获得邮件日志 +export function getMailLog(id: number) { + return defHttp.get({ url: `/system/mail-log/get?id=${id}` }) +} + +// 获得邮件日志分页 +export function getMailAccountPage(params) { + return defHttp.get({ url: '/system/mail-log/page', params }) +} diff --git a/yunxi-ui-admin-vben/src/api/system/mail/template.ts b/yunxi-ui-admin-vben/src/api/system/mail/template.ts new file mode 100644 index 0000000..85ed36c --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/system/mail/template.ts @@ -0,0 +1,54 @@ +import { defHttp } from '@/utils/http/axios' + +// 创建邮件模版 +export function createMailTemplate(data) { + return defHttp.post({ url: '/system/mail-template/create', data }) +} + +// 更新邮件模版 +export function updateMailTemplate(data) { + return defHttp.put({ url: '/system/mail-template/update', data }) +} + +// 删除邮件模版 +export function deleteMailTemplate(id: number) { + return defHttp.delete({ url: `/system/mail-template/delete?id=${id}` }) +} + +// 获得邮件模版 +export function getMailTemplate(id: number) { + return defHttp.get({ url: `/system/mail-template/get?id=${id}` }) +} + +// 获得邮件模版分页 +export function getMailTemplatePage(params) { + return defHttp.get({ url: '/system/mail-template/page', params }) +} + +// 邮件模板 +export interface MailTemplate { + name: string // 标题 + code: string // 编码 + accountId: number + nickname: string // 发送人 + title: string // 标题 + content: string // 内容 + status: number // + remark?: any // 备注 + id: number + params: string[] // 模板里的参数 + createTime: number +} + +export interface SendMailParams { + mail: string + templateCode: string + templateParams: { + [key: string]: any + } +} + +// 发送测试邮件 +export function sendMail(data: SendMailParams) { + return defHttp.post({ url: '/system/mail-template/send-mail', data }) +} diff --git a/yunxi-ui-admin-vben/src/api/system/menu/index.ts b/yunxi-ui-admin-vben/src/api/system/menu/index.ts new file mode 100644 index 0000000..4ea5f68 --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/system/menu/index.ts @@ -0,0 +1,52 @@ +import { defHttp } from '@/utils/http/axios' + +export interface MenuVO { + id: number + name: string + permission: string + type: number + sort: number + parentId: number + path: string + icon: string + component: string + status: number + visible: boolean + keepAlive: boolean + createTime: Date +} + +export interface MenuPageReqVO { + name?: string + status?: number +} + +// 查询菜单(精简)列表 +export function listSimpleMenus() { + return defHttp.get({ url: '/system/menu/list-all-simple' }) +} + +// 查询菜单列表 +export function getMenuList(params: MenuPageReqVO) { + return defHttp.get({ url: '/system/menu/list', params }) +} + +// 获取菜单详情 +export function getMenu(id: number) { + return defHttp.get({ url: `/system/menu/get?id=${id}` }) +} + +// 新增菜单 +export function createMenu(data: MenuVO) { + return defHttp.post({ url: '/system/menu/create', data }) +} + +// 修改菜单 +export function updateMenu(data: MenuVO) { + return defHttp.put({ url: '/system/menu/update', data }) +} + +// 删除菜单 +export function deleteMenu(id: number) { + return defHttp.delete({ url: `/system/menu/delete?id=${id}` }) +} diff --git a/yunxi-ui-admin-vben/src/api/system/notice/index.ts b/yunxi-ui-admin-vben/src/api/system/notice/index.ts new file mode 100644 index 0000000..79cf924 --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/system/notice/index.ts @@ -0,0 +1,42 @@ +import { defHttp } from '@/utils/http/axios' + +export interface NoticeVO { + id: number + title: string + type: number + content: string + status: number + remark: string + creator: string + createTime: Date +} + +export interface NoticePageReqVO extends PageParam { + title?: string + status?: number +} + +// 查询公告列表 +export function getNoticePage(params: NoticePageReqVO) { + return defHttp.get({ url: '/system/notice/page', params }) +} + +// 查询公告详情 +export function getNotice(id: number) { + return defHttp.get({ url: `/system/notice/get?id=${id}` }) +} + +// 新增公告 +export function createNotice(data: NoticeVO) { + return defHttp.post({ url: '/system/notice/create', data }) +} + +// 修改公告 +export function updateNotice(data: NoticeVO) { + return defHttp.put({ url: '/system/notice/update', data }) +} + +// 删除公告 +export function deleteNotice(id: number) { + return defHttp.delete({ url: `/system/notice/delete?id=${id}` }) +} diff --git a/yunxi-ui-admin-vben/src/api/system/notify/message.ts b/yunxi-ui-admin-vben/src/api/system/notify/message.ts new file mode 100644 index 0000000..7b99571 --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/system/notify/message.ts @@ -0,0 +1,32 @@ +import qs from 'qs' +import { defHttp } from '@/utils/http/axios' + +// 获得站内信分页 +export function getNotifyMessagePage(params) { + return defHttp.get({ url: '/system/notify-message/page', params }) +} + +// 获得我的站内信分页 +export function getMyNotifyMessagePage(params) { + return defHttp.get({ url: '/system/notify-message/my-page', params }) +} + +// 批量标记已读 +export function updateNotifyMessageRead(ids: number[]) { + return defHttp.put({ url: `/system/notify-message/update-read?${qs.stringify({ ids }, { indices: false })}` }) +} + +// 标记所有站内信为已读 +export function updateAllNotifyMessageRead() { + return defHttp.put({ url: '/system/notify-message/update-all-read' }) +} + +// 获取当前用户的最新站内信列表 +export function getUnreadNotifyMessageList() { + return defHttp.get({ url: '/system/notify-message/get-unread-list' }) +} + +// 获得当前用户的未读站内信数量 +export function getUnreadNotifyMessageCount() { + return defHttp.get({ url: '/system/notify-message/get-unread-count' }) +} diff --git a/yunxi-ui-admin-vben/src/api/system/notify/template.ts b/yunxi-ui-admin-vben/src/api/system/notify/template.ts new file mode 100644 index 0000000..eb6a563 --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/system/notify/template.ts @@ -0,0 +1,63 @@ +import { defHttp } from '@/utils/http/axios' + +// 创建站内信模板 +export function createNotifyTemplate(data) { + return defHttp.post({ url: '/system/notify-template/create', data }) +} + +// 更新站内信模板 +export function updateNotifyTemplate(data) { + return defHttp.put({ url: '/system/notify-template/update', data }) +} + +// 删除站内信模板 +export function deleteNotifyTemplate(id: number) { + return defHttp.delete({ url: `/system/notify-template/delete?id=${id}` }) +} + +// 获得站内信模板 +export function getNotifyTemplate(id: number) { + return defHttp.get({ url: `/system/notify-template/get?id=${id}` }) +} + +// 获得站内信模板分页 +export function getNotifyTemplatePage(params) { + return defHttp.get({ url: '/system/notify-template/page', params }) +} + +// 获取岗位精简信息列表 +export function listSimplePosts() { + return defHttp.get({ url: '/system/post/list-all-simple' }) +} + +// 导出站内信模板 Excel +export function exportNotifyTemplateExcel(params) { + return defHttp.download({ url: '/system/notify-template/export-excel', params }, '导出站内信模板.xls') +} + +export interface SendNotifyParam { + userId: number + templateCode: string + templateParams: { + [key: string]: string + } +} + +export interface NotifyTemplate { + name: string + code: string + type: number + nickname: string + content: string + status: number + remark?: any + id: number + params: string[] + createTime: number + key: string +} + +// 发送 +export function sendNotify(data: SendNotifyParam) { + return defHttp.post({ url: '/system/notify-template/send-notify', data }) +} diff --git a/yunxi-ui-admin-vben/src/api/system/oauth2/client.ts b/yunxi-ui-admin-vben/src/api/system/oauth2/client.ts new file mode 100644 index 0000000..61dc611 --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/system/oauth2/client.ts @@ -0,0 +1,51 @@ +import { defHttp } from '@/utils/http/axios' + +export interface OAuth2ClientVO { + id: number + clientId: string + secret: string + name: string + logo: string + description: string + status: number + accessTokenValiditySeconds: number + refreshTokenValiditySeconds: number + redirectUris: string[] + autoApprove: boolean + authorizedGrantTypes: string[] + scopes: string[] + authorities: string[] + resourceIds: string[] + additionalInformation: string + isAdditionalInformationJson: boolean + createTime: Date +} + +export interface OAuth2ClientPageReqVO extends PageParam { + name?: string + status?: number +} +// 查询 OAuth2列表 +export function getOAuth2ClientPage(params: OAuth2ClientPageReqVO) { + return defHttp.get({ url: '/system/oauth2-client/page', params }) +} + +// 查询 OAuth2详情 +export function getOAuth2Client(id: number) { + return defHttp.get({ url: `/system/oauth2-client/get?id=${id}` }) +} + +// 新增 OAuth2 +export function createOAuth2Client(data: OAuth2ClientVO) { + return defHttp.post({ url: '/system/oauth2-client/create', data }) +} + +// 修改 OAuth2 +export function updateOAuth2Client(data: OAuth2ClientVO) { + return defHttp.put({ url: '/system/oauth2-client/update', data }) +} + +// 删除 OAuth2 +export function deleteOAuth2Client(id: number) { + return defHttp.delete({ url: `/system/oauth2-client/delete?id=${id}` }) +} diff --git a/yunxi-ui-admin-vben/src/api/system/oauth2/token.ts b/yunxi-ui-admin-vben/src/api/system/oauth2/token.ts new file mode 100644 index 0000000..26b7080 --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/system/oauth2/token.ts @@ -0,0 +1,28 @@ +import { defHttp } from '@/utils/http/axios' + +export interface OAuth2TokenVO { + id: number + accessToken: string + refreshToken: string + userId: number + userType: number + clientId: string + createTime: Date + expiresTime: Date +} + +export interface OAuth2TokenPageReqVO extends PageParam { + userId?: number + userType?: number + clientId?: string +} + +// 查询 token列表 +export function getAccessTokenPage(params: OAuth2TokenPageReqVO) { + return defHttp.get({ url: '/system/oauth2-token/page', params }) +} + +// 删除 token +export function deleteAccessToken(accessToken: number) { + return defHttp.delete({ url: `/system/oauth2-token/delete?accessToken=${accessToken}` }) +} diff --git a/yunxi-ui-admin-vben/src/api/system/operatelog/index.ts b/yunxi-ui-admin-vben/src/api/system/operatelog/index.ts new file mode 100644 index 0000000..edbd944 --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/system/operatelog/index.ts @@ -0,0 +1,41 @@ +import { defHttp } from '@/utils/http/axios' + +export interface OperateLogVO { + id: number + userNickname: string + traceId: string + userId: number + module: string + name: string + type: number + content: string + exts: Map + defHttpMethod: string + defHttpUrl: string + userIp: string + userAgent: string + javaMethod: string + javaMethodArgs: string + startTime: Date + duration: number + resultCode: number + resultMsg: string + resultData: string +} + +export interface OperateLogPageReqVO extends PageParam { + module?: string + userNickname?: string + type?: number + success?: boolean + startTime?: Date[] +} + +// 查询操作日志列表 +export function getOperateLogPage(params: OperateLogPageReqVO) { + return defHttp.get({ url: '/system/operate-log/page', params }) +} +// 导出操作日志 +export function exportOperateLog(params: OperateLogPageReqVO) { + return defHttp.download({ url: '/system/operate-log/export', params }, '操作日志.xls') +} diff --git a/yunxi-ui-admin-vben/src/api/system/permission/index.ts b/yunxi-ui-admin-vben/src/api/system/permission/index.ts new file mode 100644 index 0000000..6e9182a --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/system/permission/index.ts @@ -0,0 +1,42 @@ +import { defHttp } from '@/utils/http/axios' + +export interface PermissionAssignUserRoleReqVO { + userId: number + roleIds: number[] +} + +export interface PermissionAssignRoleMenuReqVO { + roleId: number + menuIds: number[] +} + +export interface PermissionAssignRoleDataScopeReqVO { + roleId: number + dataScope: number + dataScopeDeptIds: number[] +} + +// 查询角色拥有的菜单权限 +export function listRoleMenus(roleId: number) { + return defHttp.get({ url: `/system/permission/list-role-menus?roleId=${roleId}` }) +} + +// 赋予角色菜单权限 +export function assignRoleMenu(data: PermissionAssignRoleMenuReqVO) { + return defHttp.post({ url: '/system/permission/assign-role-menu', data }) +} + +// 赋予角色数据权限 +export function assignRoleDataScope(data: PermissionAssignRoleDataScopeReqVO) { + return defHttp.post({ url: '/system/permission/assign-role-data-scope', data }) +} + +// 查询用户拥有的角色数组 +export function listUserRoles(userId: number) { + return defHttp.get({ url: `/system/permission/list-user-roles?userId=${userId}` }) +} + +// 赋予用户角色 +export function assignUserRole(data: PermissionAssignUserRoleReqVO) { + return defHttp.post({ url: '/system/permission/assign-user-role', data }) +} diff --git a/yunxi-ui-admin-vben/src/api/system/post/index.ts b/yunxi-ui-admin-vben/src/api/system/post/index.ts new file mode 100644 index 0000000..4a89faa --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/system/post/index.ts @@ -0,0 +1,58 @@ +import { defHttp } from '@/utils/http/axios' + +export interface PostVO { + id?: number + name: string + code: string + sort: number + status: number + remark: string + createTime?: Date +} + +export interface PostPageReqVO extends PageParam { + code?: string + name?: string + status?: number +} + +export interface PostExportReqVO { + code?: string + name?: string + status?: number +} + +// 查询岗位列表 +export function getPostPage(params: PostPageReqVO) { + return defHttp.get>({ url: '/system/post/page', params }) +} + +// 获取岗位精简信息列表 +export function listSimplePosts() { + return defHttp.get({ url: '/system/post/list-all-simple' }) +} + +// 查询岗位详情 +export function getPost(id: number) { + return defHttp.get({ url: `/system/post/get?id=${id}` }) +} + +// 新增岗位 +export function createPost(data: PostVO) { + return defHttp.post({ url: '/system/post/create', data }) +} + +// 修改岗位 +export function updatePost(data: PostVO) { + return defHttp.put({ url: '/system/post/update', data }) +} + +// 删除岗位 +export function deletePost(id: number) { + return defHttp.delete({ url: `/system/post/delete?id=${id}` }) +} + +// 导出岗位 +export function exportPost(params: PostExportReqVO) { + return defHttp.download({ url: '/system/post/export', params }, '导出岗位.xls') +} diff --git a/yunxi-ui-admin-vben/src/api/system/role/index.ts b/yunxi-ui-admin-vben/src/api/system/role/index.ts new file mode 100644 index 0000000..7d3abc8 --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/system/role/index.ts @@ -0,0 +1,70 @@ +import { defHttp } from '@/utils/http/axios' + +export interface RoleVO { + id: number + name: string + code: string + sort: number + status: number + type: number + createTime: Date +} + +export interface RolePageReqVO extends PageParam { + name?: string + code?: string + status?: number + createTime?: Date[] +} + +export interface UpdateStatusReqVO { + id: number + status: number +} + +export interface RoleExportReqVO { + name?: string + code?: string + status?: number + createTime?: Date[] +} + +// 查询角色列表 +export function getRolePage(params: RolePageReqVO) { + return defHttp.get({ url: '/system/role/page', params }) +} + +// 查询角色(精简)列表 +export function listSimpleRoles() { + return defHttp.get({ url: '/system/role/list-all-simple' }) +} + +// 查询角色详情 +export function getRole(id: number) { + return defHttp.get({ url: `/system/role/get?id=${id}` }) +} + +// 新增角色 +export function createRole(data: RoleVO) { + return defHttp.post({ url: '/system/role/create', data }) +} + +// 修改角色 +export function updateRole(data: RoleVO) { + return defHttp.put({ url: '/system/role/update', data }) +} + +// 修改角色状态 +export function updateRoleStatus(data: UpdateStatusReqVO) { + return defHttp.put({ url: '/system/role/update-status', data }) +} + +// 删除角色 +export function deleteRole(id: number) { + return defHttp.delete({ url: `/system/role/delete?id=${id}` }) +} + +// 导出角色 +export function exportRole(params: RoleExportReqVO) { + return defHttp.download({ url: '/system/post/export', params }, '导出角色.xls') +} diff --git a/yunxi-ui-admin-vben/src/api/system/sensitiveWord/index.ts b/yunxi-ui-admin-vben/src/api/system/sensitiveWord/index.ts new file mode 100644 index 0000000..4dfa79a --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/system/sensitiveWord/index.ts @@ -0,0 +1,64 @@ +import { defHttp } from '@/utils/http/axios' + +export interface SensitiveWordVO { + id: number + name: string + status: number + description: string + tags: string[] + createTime: Date +} + +export interface SensitiveWordPageReqVO extends PageParam { + name?: string + tag?: string + status?: number + createTime?: Date[] +} + +export interface SensitiveWordExportReqVO { + name?: string + tag?: string + status?: number + createTime?: Date[] +} + +// 查询敏感词列表 +export function getSensitiveWordPage(params: SensitiveWordPageReqVO) { + return defHttp.get({ url: '/system/sensitive-word/page', params }) +} + +// 查询敏感词详情 +export function getSensitiveWord(id: number) { + return defHttp.get({ url: `/system/sensitive-word/get?id=${id}` }) +} + +// 新增敏感词 +export function createSensitiveWord(data: SensitiveWordVO) { + return defHttp.post({ url: '/system/sensitive-word/create', data }) +} + +// 修改敏感词 +export function updateSensitiveWord(data: SensitiveWordVO) { + return defHttp.put({ url: '/system/sensitive-word/update', data }) +} + +// 删除敏感词 +export function deleteSensitiveWord(id: number) { + return defHttp.delete({ url: `/system/sensitive-word/delete?id=${id}` }) +} + +// 导出敏感词 +export function exportSensitiveWord(params: SensitiveWordExportReqVO) { + return defHttp.download({ url: '/system/sensitive-word/export-excel', params }, '导出敏感词.xls') +} + +// 获取所有敏感词的标签数组 +export function getSensitiveWordTags() { + return defHttp.get({ url: '/system/sensitive-word/get-tags' }) +} + +// 获得文本所包含的不合法的敏感词数组 +export function validateText(id: number) { + return defHttp.get({ url: `/system/sensitive-word/validate-text?${id}` }) +} diff --git a/yunxi-ui-admin-vben/src/api/system/sms/smsChannel/index.ts b/yunxi-ui-admin-vben/src/api/system/sms/smsChannel/index.ts new file mode 100644 index 0000000..46c0e38 --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/system/sms/smsChannel/index.ts @@ -0,0 +1,50 @@ +import { defHttp } from '@/utils/http/axios' + +export interface SmsChannelVO { + id: number + code: string + status: number + signature: string + remark: string + apiKey: string + apiSecret: string + callbackUrl: string + createTime: Date +} + +export interface SmsChannelPageReqVO extends PageParam { + signature?: string + code?: string + status?: number + createTime?: Date[] +} + +// 查询短信渠道列表 +export function getSmsChannelPage(params: SmsChannelPageReqVO) { + return defHttp.get({ url: '/system/sms-channel/page', params }) +} + +// 获得短信渠道精简列表 +export function getSimpleSmsChannels() { + return defHttp.get({ url: '/system/sms-channel/list-all-simple' }) +} + +// 查询短信渠道详情 +export function getSmsChannel(id: number) { + return defHttp.get({ url: `/system/sms-channel/get?id=${id}` }) +} + +// 新增短信渠道 +export function createSmsChannel(data: SmsChannelVO) { + return defHttp.post({ url: '/system/sms-channel/create', data }) +} + +// 修改短信渠道 +export function updateSmsChannel(data: SmsChannelVO) { + return defHttp.put({ url: '/system/sms-channel/update', data }) +} + +// 删除短信渠道 +export function deleteSmsChannel(id: number) { + return defHttp.delete({ url: `/system/sms-channel/delete?id=${id}` }) +} diff --git a/yunxi-ui-admin-vben/src/api/system/sms/smsLog/index.ts b/yunxi-ui-admin-vben/src/api/system/sms/smsLog/index.ts new file mode 100644 index 0000000..00d9f04 --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/system/sms/smsLog/index.ts @@ -0,0 +1,57 @@ +import { defHttp } from '@/utils/http/axios' + +export interface SmsLogVO { + id: number + channelId: number + channelCode: string + templateId: number + templateCode: string + templateType: number + templateContent: string + templateParams: Map + mobile: string + userId: number + userType: number + sendStatus: number + sendTime: Date + sendCode: number + sendMsg: string + apiSendCode: string + apiSendMsg: string + apidefHttpId: string + apiSerialNo: string + receiveStatus: number + receiveTime: Date + apiReceiveCode: string + apiReceiveMsg: string + createTime: Date +} + +export interface SmsLogPageReqVO extends PageParam { + channelId?: number + templateId?: number + mobile?: string + sendStatus?: number + sendTime?: Date[] + receiveStatus?: number + receiveTime?: Date[] +} +export interface SmsLogExportReqVO { + channelId?: number + templateId?: number + mobile?: string + sendStatus?: number + sendTime?: Date[] + receiveStatus?: number + receiveTime?: Date[] +} + +// 查询短信日志列表 +export function getSmsLogPage(params: SmsLogPageReqVO) { + return defHttp.get({ url: '/system/sms-log/page', params }) +} + +// 导出短信日志 +export function exportSmsLog(params: SmsLogExportReqVO) { + return defHttp.download({ url: '/system/sms-log/export', params }, '短信日志.xls') +} diff --git a/yunxi-ui-admin-vben/src/api/system/sms/smsTemplate/index.ts b/yunxi-ui-admin-vben/src/api/system/sms/smsTemplate/index.ts new file mode 100644 index 0000000..5dfe192 --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/system/sms/smsTemplate/index.ts @@ -0,0 +1,94 @@ +import { defHttp } from '@/utils/http/axios' + +export interface SmsTemplateVO { + id: number + type: number + status: number + code: string + name: string + content: string + remark: string + apiTemplateId: string + channelId: number + channelCode: string + params: string[] + createTime: Date +} + +export interface SendSmsReqVO { + mobile: string + templateCode: string + templateParams: { + [key: string]: any + } +} + +export interface SmsTemplatePageReqVO { + type?: number + status?: number + code?: string + content?: string + apiTemplateId?: string + channelId?: number + createTime?: Date[] +} + +export interface SmsTemplateExportReqVO { + type?: number + status?: number + code?: string + content?: string + apiTemplateId?: string + channelId?: number + createTime?: Date[] +} + +// 查询短信模板列表 +export function getSmsTemplatePage(params: SmsTemplatePageReqVO) { + return defHttp.get({ url: '/system/sms-template/page', params }) +} + +// 查询短信模板详情 +export function getSmsTemplate(id: number) { + return defHttp.get({ url: `/system/sms-template/get?id=${id}` }) +} + +// 新增短信模板 +export function createSmsTemplate(data: SmsTemplateVO) { + return defHttp.post({ url: '/system/sms-template/create', data }) +} + +// 修改短信模板 +export function updateSmsTemplate(data: SmsTemplateVO) { + return defHttp.put({ url: '/system/sms-template/update', data }) +} + +// 删除短信模板 +export function deleteSmsTemplate(id: number) { + return defHttp.delete({ url: `/system/sms-template/delete?id=${id}` }) +} + +// 邮件模板 +export interface SmsTemplate { + name: string // 标题 + code: string // 编码 + accountId: number + nickname: string // 发送人 + title: string // 标题 + content: string // 内容 + status: number // + remark?: any // 备注 + id: number + params: string[] // 模板里的参数 + createTime: number +} + +// 发送短信 +export function sendSms(data: SendSmsReqVO) { + return defHttp.post({ url: '/system/sms-template/send-sms', data }) +} + +// 导出短信模板 +export function exportSmsTemplate(params: SmsTemplateExportReqVO) { + return defHttp.download({ url: '/system/sms-template/export-excel', params }, '短信模板.xls') +} diff --git a/yunxi-ui-admin-vben/src/api/system/tenant/index.ts b/yunxi-ui-admin-vben/src/api/system/tenant/index.ts new file mode 100644 index 0000000..7fa6138 --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/system/tenant/index.ts @@ -0,0 +1,62 @@ +import { defHttp } from '@/utils/http/axios' + +export interface TenantVO { + id: number + name: string + contactName: string + contactMobile: string + status: number + domain: string + packageId: number + username: string + password: string + expireTime: Date + accountCount: number + createTime: Date +} + +export interface TenantPageReqVO extends PageParam { + name?: string + contactName?: string + contactMobile?: string + status?: number + createTime?: Date[] +} + +export interface TenantExportReqVO { + name?: string + contactName?: string + contactMobile?: string + status?: number + createTime?: Date[] +} + +// 查询租户列表 +export function getTenantPage(params: TenantPageReqVO) { + return defHttp.get({ url: '/system/tenant/page', params }) +} + +// 查询租户详情 +export function getTenant(id: number) { + return defHttp.get({ url: `/system/tenant/get?id=${id}` }) +} + +// 新增租户 +export function createTenant(data: TenantVO) { + return defHttp.post({ url: '/system/tenant/create', data }) +} + +// 修改租户 +export function updateTenant(data: TenantVO) { + return defHttp.put({ url: '/system/tenant/update', data }) +} + +// 删除租户 +export function deleteTenant(id: number) { + return defHttp.delete({ url: `/system/tenant/delete?id=${id}` }) +} + +// 导出租户 +export function exportTenant(params: TenantExportReqVO) { + return defHttp.download({ url: '/system/tenant/export-excel', params }, '租户.xls') +} diff --git a/yunxi-ui-admin-vben/src/api/system/tenantPackage/index.ts b/yunxi-ui-admin-vben/src/api/system/tenantPackage/index.ts new file mode 100644 index 0000000..853a234 --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/system/tenantPackage/index.ts @@ -0,0 +1,49 @@ +import { defHttp } from '@/utils/http/axios' + +export interface TenantPackageVO { + id: number + name: string + status: number + remark: string + creator: string + updater: string + updateTime: string + menuIds: number[] + createTime: Date +} + +export interface TenantPackagePageReqVO extends PageParam { + name?: string + status?: number + remark?: string + createTime?: Date[] +} + +// 查询租户套餐列表 +export function getTenantPackagePage(params: TenantPackagePageReqVO) { + return defHttp.get({ url: '/system/tenant-package/page', params }) +} + +// 获得租户 +export function getTenantPackage(id: number) { + return defHttp.get({ url: `/system/tenant-package/get?id=${id}` }) +} + +// 新增租户套餐 +export function createTenantPackage(data: TenantPackageVO) { + return defHttp.post({ url: '/system/tenant-package/create', data }) +} + +// 修改租户套餐 +export function updateTenantPackage(data: TenantPackageVO) { + return defHttp.put({ url: '/system/tenant-package/update', data }) +} + +// 删除租户套餐 +export function deleteTenantPackage(id: number) { + return defHttp.delete({ url: `/system/tenant-package/delete?id=${id}` }) +} +// 获取租户套餐精简信息列表 +export function getTenantPackageList() { + return defHttp.get({ url: '/system/tenant-package/get-simple-list' }) +} diff --git a/yunxi-ui-admin-vben/src/api/system/user/index.ts b/yunxi-ui-admin-vben/src/api/system/user/index.ts new file mode 100644 index 0000000..6b2bd8c --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/system/user/index.ts @@ -0,0 +1,91 @@ +import { defHttp } from '@/utils/http/axios' + +export interface UserVO { + id: number + username: string + nickname: string + deptId: number + postIds: string[] + email: string + mobile: string + sex: number + avatar: string + loginIp: string + status: number + remark: string + loginDate: Date + createTime: Date +} + +export interface UserPageReqVO extends PageParam { + deptId?: number + username?: string + mobile?: string + status?: number + createTime?: Date[] +} + +export interface UserExportReqVO { + code?: string + name?: string + status?: number + createTime?: Date[] +} + +// 查询用户管理列表 +export function getUserPage(params: UserPageReqVO) { + return defHttp.get({ url: '/system/user/page', params }) +} + +// 查询用户详情 +export function getUser(id: number) { + return defHttp.get({ url: `/system/user/get?id=${id}` }) +} + +// 新增用户 +export function createUser(data: UserVO) { + return defHttp.post({ url: '/system/user/create', data }) +} + +// 修改用户 +export function updateUser(data: UserVO) { + return defHttp.put({ url: '/system/user/update', data }) +} + +// 删除用户 +export function deleteUser(id: number) { + return defHttp.delete({ url: `/system/user/delete?id=${id}` }) +} + +// 导出用户 +export function exportUser(params: UserExportReqVO) { + return defHttp.download({ url: '/system/user/export', params }, '用户.xls') +} + +// 下载用户导入模板 +export function importUserTemplate() { + return defHttp.download({ url: '/system/user/get-import-template' }, '用户导入模板.xls') +} + +// 用户密码重置 +export function resetUserPwd(id: number, password: string) { + const data = { + id, + password, + } + return defHttp.put({ url: '/system/user/update-password', data }) +} + +// 用户状态修改 +export function updateUserStatus(id: number, status: number) { + const data = { + id, + status, + } + return defHttp.put({ url: '/system/user/update-status', data }) +} + +// 获取用户精简信息列表 +export function getListSimpleUsers() { + return defHttp.get({ url: '/system/user/list-all-simple' }) +} diff --git a/yunxi-ui-admin-vben/src/api/xxjj/businessWarehouse/index.ts b/yunxi-ui-admin-vben/src/api/xxjj/businessWarehouse/index.ts new file mode 100644 index 0000000..31c76ba --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/xxjj/businessWarehouse/index.ts @@ -0,0 +1,47 @@ +import { defHttp } from '@/utils/http/axios' +import { handleTree } from '@/utils/tree' + +// 查询业务线/仓库列表 +export function getBusinessWarehousePage(params) { + return defHttp.get({ url: '/system/business-warehouse/page', params }) +} + +// 查询业务线/仓库详情 +export function getBusinessWarehouse(id: number) { + return defHttp.get({ url: '/system/business-warehouse/get?id=' + id }) +} + +// 新增业务线/仓库 +export function createBusinessWarehouse(data) { + return defHttp.post({ url: '/system/business-warehouse/create', data }) +} + +// 修改业务线/仓库 +export function updateBusinessWarehouse(data) { + return defHttp.put({ url: '/system/business-warehouse/update', data }) +} + +// 删除业务线/仓库 +export function deleteBusinessWarehouse(id: number) { + return defHttp.delete({ url: '/system/business-warehouse/delete?id=' + id }) +} + +// 导出业务线 Excel +export function exportBusinessWarehouse(params) { + return defHttp.download({ url: '/system/business-warehouse/export-excel', params }, '业务线.xls') +} + +// 查询业务线(精简)列表 +export function listSimpleBusiness() { + return defHttp.get({ url: '/system/business-warehouse/list-all-simple' }) +} + + // 查询业务线列表 +export function getBusinessPage(params) { + return defHttp.get({ url: '/system/business-warehouse/business', params }) +} + + // 查询业务组织列表 + export function getBusinessUserList(params) { + return defHttp.get({ url: '/system/business-warehouse/business-user', params }) +} diff --git a/yunxi-ui-admin-vben/src/api/xxjj/customer/index.ts b/yunxi-ui-admin-vben/src/api/xxjj/customer/index.ts new file mode 100644 index 0000000..ef093c6 --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/xxjj/customer/index.ts @@ -0,0 +1,31 @@ +import { defHttp } from '@/utils/http/axios' + +// 查询客户信息列表 +export function getCustomerPage(params) { + return defHttp.get({ url: '/xxjj/customer/page', params }) +} + +// 查询客户信息详情 +export function getCustomer(id: number) { + return defHttp.get({ url: '/xxjj/customer/get?id=' + id }) +} + +// 新增客户信息 +export function createCustomer(data) { + return defHttp.post({ url: '/xxjj/customer/create', data }) +} + +// 修改客户信息 +export function updateCustomer(data) { + return defHttp.put({ url: '/xxjj/customer/update', data }) +} + +// 删除客户信息 +export function deleteCustomer(id: number) { + return defHttp.delete({ url: '/xxjj/customer/delete?id=' + id }) +} + +// 导出客户信息 Excel +export function exportCustomer(params) { + return defHttp.download({ url: '/xxjj/customer/export-excel', params }, '客户信息.xls') +} diff --git a/yunxi-ui-admin-vben/src/api/xxjj/enterprise/index.ts b/yunxi-ui-admin-vben/src/api/xxjj/enterprise/index.ts new file mode 100644 index 0000000..af8ddbe --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/xxjj/enterprise/index.ts @@ -0,0 +1,31 @@ +import { defHttp } from '@/utils/http/axios' + +// 查询企业信息列表 +export function getEnterprisePage(params) { + return defHttp.get({ url: '/system/enterprise/page', params }) +} + +// 查询企业信息详情 +export function getEnterprise(id: number) { + return defHttp.get({ url: '/system/enterprise/get?id=' + id }) +} + +// 新增企业信息 +export function createEnterprise(data) { + return defHttp.post({ url: '/system/enterprise/create', data }) +} + +// 修改企业信息 +export function updateEnterprise(data) { + return defHttp.put({ url: '/system/enterprise/update', data }) +} + +// 删除企业信息 +export function deleteEnterprise(id: number) { + return defHttp.delete({ url: '/system/enterprise/delete?id=' + id }) +} + +// 导出企业信息 Excel +export function exportEnterprise(params) { + return defHttp.download({ url: '/system/enterprise/export-excel', params }, '企业信息.xls') +} diff --git a/yunxi-ui-admin-vben/src/api/xxjj/subjectBasic/index.ts b/yunxi-ui-admin-vben/src/api/xxjj/subjectBasic/index.ts new file mode 100644 index 0000000..92df8da --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/xxjj/subjectBasic/index.ts @@ -0,0 +1,31 @@ +import { defHttp } from '@/utils/http/axios' + +// 查询基础业务信息表(客户,供应商,服务商主体)列表 +export function getSubjectBasicPage(params) { + return defHttp.get({ url: '/xxjj/subject-basic/page', params }) +} + +// 查询基础业务信息表(客户,供应商,服务商主体)详情 +export function getSubjectBasic(id: number) { + return defHttp.get({ url: '/xxjj/subject-basic/get?id=' + id }) +} + +// 新增基础业务信息表(客户,供应商,服务商主体) +export function createSubjectBasic(data) { + return defHttp.post({ url: '/xxjj/subject-basic/create', data }) +} + +// 修改基础业务信息表(客户,供应商,服务商主体) +export function updateSubjectBasic(data) { + return defHttp.put({ url: '/xxjj/subject-basic/update', data }) +} + +// 删除基础业务信息表(客户,供应商,服务商主体) +export function deleteSubjectBasic(id: number) { + return defHttp.delete({ url: '/xxjj/subject-basic/delete?id=' + id }) +} + +// 导出基础业务信息表(客户,供应商,服务商主体) Excel +export function exportSubjectBasic(params) { + return defHttp.download({ url: '/xxjj/subject-basic/export-excel', params }, '基础业务信息表(客户,供应商,服务商主体).xls') +} diff --git a/yunxi-ui-admin-vben/src/api/xxjj/subjectFollowManagement/index.ts b/yunxi-ui-admin-vben/src/api/xxjj/subjectFollowManagement/index.ts new file mode 100644 index 0000000..bef04d1 --- /dev/null +++ b/yunxi-ui-admin-vben/src/api/xxjj/subjectFollowManagement/index.ts @@ -0,0 +1,31 @@ +import { defHttp } from '@/utils/http/axios' + +// 查询主体跟进管理列表 +export function getSubjectFollowManagementPage(params) { + return defHttp.get({ url: '/xxjj/subject-follow-management/page', params }) +} + +// 查询主体跟进管理详情 +export function getSubjectFollowManagement(id: number) { + return defHttp.get({ url: '/xxjj/subject-follow-management/get?id=' + id }) +} + +// 新增主体跟进管理 +export function createSubjectFollowManagement(data) { + return defHttp.post({ url: '/xxjj/subject-follow-management/create', data }) +} + +// 修改主体跟进管理 +export function updateSubjectFollowManagement(data) { + return defHttp.put({ url: '/xxjj/subject-follow-management/update', data }) +} + +// 删除主体跟进管理 +export function deleteSubjectFollowManagement(id: number) { + return defHttp.delete({ url: '/xxjj/subject-follow-management/delete?id=' + id }) +} + +// 导出主体跟进管理 Excel +export function exportSubjectFollowManagement(params) { + return defHttp.download({ url: '/xxjj/subject-follow-management/export-excel', params }, '主体跟进管理.xls') +} diff --git a/yunxi-ui-admin-vben/src/assets/icons/download-count.svg b/yunxi-ui-admin-vben/src/assets/icons/download-count.svg new file mode 100644 index 0000000..1c95195 --- /dev/null +++ b/yunxi-ui-admin-vben/src/assets/icons/download-count.svg @@ -0,0 +1 @@ +Asset 91 \ No newline at end of file diff --git a/yunxi-ui-admin-vben/src/assets/icons/dynamic-avatar-1.svg b/yunxi-ui-admin-vben/src/assets/icons/dynamic-avatar-1.svg new file mode 100644 index 0000000..e1553e5 --- /dev/null +++ b/yunxi-ui-admin-vben/src/assets/icons/dynamic-avatar-1.svg @@ -0,0 +1 @@ +Asset 15 \ No newline at end of file diff --git a/yunxi-ui-admin-vben/src/assets/icons/dynamic-avatar-2.svg b/yunxi-ui-admin-vben/src/assets/icons/dynamic-avatar-2.svg new file mode 100644 index 0000000..c4c1722 --- /dev/null +++ b/yunxi-ui-admin-vben/src/assets/icons/dynamic-avatar-2.svg @@ -0,0 +1 @@ +Asset 16 \ No newline at end of file diff --git a/yunxi-ui-admin-vben/src/assets/icons/dynamic-avatar-3.svg b/yunxi-ui-admin-vben/src/assets/icons/dynamic-avatar-3.svg new file mode 100644 index 0000000..81145f9 --- /dev/null +++ b/yunxi-ui-admin-vben/src/assets/icons/dynamic-avatar-3.svg @@ -0,0 +1 @@ +Asset 17 \ No newline at end of file diff --git a/yunxi-ui-admin-vben/src/assets/icons/dynamic-avatar-4.svg b/yunxi-ui-admin-vben/src/assets/icons/dynamic-avatar-4.svg new file mode 100644 index 0000000..e586ed4 --- /dev/null +++ b/yunxi-ui-admin-vben/src/assets/icons/dynamic-avatar-4.svg @@ -0,0 +1 @@ +Asset 120 \ No newline at end of file diff --git a/yunxi-ui-admin-vben/src/assets/icons/dynamic-avatar-5.svg b/yunxi-ui-admin-vben/src/assets/icons/dynamic-avatar-5.svg new file mode 100644 index 0000000..746e4b8 --- /dev/null +++ b/yunxi-ui-admin-vben/src/assets/icons/dynamic-avatar-5.svg @@ -0,0 +1 @@ +Asset 110 \ No newline at end of file diff --git a/yunxi-ui-admin-vben/src/assets/icons/dynamic-avatar-6.svg b/yunxi-ui-admin-vben/src/assets/icons/dynamic-avatar-6.svg new file mode 100644 index 0000000..b2432f2 --- /dev/null +++ b/yunxi-ui-admin-vben/src/assets/icons/dynamic-avatar-6.svg @@ -0,0 +1 @@ +Asset 100 \ No newline at end of file diff --git a/yunxi-ui-admin-vben/src/assets/icons/moon.svg b/yunxi-ui-admin-vben/src/assets/icons/moon.svg new file mode 100644 index 0000000..e6667f0 --- /dev/null +++ b/yunxi-ui-admin-vben/src/assets/icons/moon.svg @@ -0,0 +1,16 @@ + + + + + + + + + diff --git a/yunxi-ui-admin-vben/src/assets/icons/sun.svg b/yunxi-ui-admin-vben/src/assets/icons/sun.svg new file mode 100644 index 0000000..a3997cb --- /dev/null +++ b/yunxi-ui-admin-vben/src/assets/icons/sun.svg @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/yunxi-ui-admin-vben/src/assets/icons/test.svg b/yunxi-ui-admin-vben/src/assets/icons/test.svg new file mode 100644 index 0000000..244252d --- /dev/null +++ b/yunxi-ui-admin-vben/src/assets/icons/test.svg @@ -0,0 +1,21 @@ + + + + Icon1@3x + Created with Sketch. + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/yunxi-ui-admin-vben/src/assets/icons/total-sales.svg b/yunxi-ui-admin-vben/src/assets/icons/total-sales.svg new file mode 100644 index 0000000..eff7964 --- /dev/null +++ b/yunxi-ui-admin-vben/src/assets/icons/total-sales.svg @@ -0,0 +1 @@ +Asset 500 \ No newline at end of file diff --git a/yunxi-ui-admin-vben/src/assets/icons/transaction.svg b/yunxi-ui-admin-vben/src/assets/icons/transaction.svg new file mode 100644 index 0000000..7ba9e2f --- /dev/null +++ b/yunxi-ui-admin-vben/src/assets/icons/transaction.svg @@ -0,0 +1 @@ +Asset 480% \ No newline at end of file diff --git a/yunxi-ui-admin-vben/src/assets/icons/visit-count.svg b/yunxi-ui-admin-vben/src/assets/icons/visit-count.svg new file mode 100644 index 0000000..ba2a306 --- /dev/null +++ b/yunxi-ui-admin-vben/src/assets/icons/visit-count.svg @@ -0,0 +1 @@ +Asset 510 \ No newline at end of file diff --git a/yunxi-ui-admin-vben/src/assets/images/demo.png b/yunxi-ui-admin-vben/src/assets/images/demo.png new file mode 100644 index 0000000000000000000000000000000000000000..1a45c9835b7b2c708c114b04fb445e6ef00d8827 GIT binary patch literal 33342 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 K^riIu-2VXLS6svZ literal 0 HcmV?d00001 diff --git a/yunxi-ui-admin-vben/src/assets/images/logo.png b/yunxi-ui-admin-vben/src/assets/images/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..ed86d4dad8d3e1e1ee37d015d982269a9998f7ad GIT binary patch literal 29168 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