From ea09d081c51304b7e0b7d9f493b416014cc28c7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Mon, 1 Jun 2026 12:01:08 +0800 Subject: [PATCH] =?UTF-8?q?init=20=E5=88=9D=E5=A7=8B=E5=8C=96=20react=20+?= =?UTF-8?q?=20antd=20=E7=89=88=E6=9C=AC=E5=89=8D=E7=AB=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .editorconfig | 9 + .env.development | 15 + .env.production | 15 + .gitignore | 8 + .idea/.gitignore | 10 + .idea/compiler.xml | 6 + .idea/dictionaries/LionLi.xml | 3 + .idea/encodings.xml | 6 + .idea/misc.xml | 17 + .idea/modules.xml | 8 + .idea/vcs.xml | 6 + .oxfmtrc.json | 24 + .oxlintrc.json | 40 + README.md | 22 + config/config.ts | 40 + package.json | 67 + pnpm-lock.yaml | 16894 ++++++++++++++++ src/api/ai/agent/index.ts | 150 + src/api/ai/agent/types.ts | 61 + src/api/ai/index.ts | 2 + src/api/demo/demo/index.ts | 41 + src/api/demo/demo/types.ts | 27 + src/api/demo/tree/index.ts | 41 + src/api/demo/tree/types.ts | 25 + src/api/login.ts | 75 + src/api/menu.ts | 9 + src/api/monitor/cache/index.ts | 10 + src/api/monitor/cache/types.ts | 5 + src/api/monitor/logininfo/index.ts | 36 + src/api/monitor/logininfo/types.ts | 24 + src/api/monitor/online/index.ts | 36 + src/api/monitor/online/types.ts | 19 + src/api/monitor/operlog/index.ts | 29 + src/api/monitor/operlog/types.ts | 45 + src/api/request.ts | 215 + src/api/system/client/index.ts | 49 + src/api/system/client/types.ts | 46 + src/api/system/config/index.ts | 70 + src/api/system/config/types.ts | 24 + src/api/system/dept/index.ts | 55 + src/api/system/dept/types.ts | 50 + src/api/system/dict/data/index.ts | 48 + src/api/system/dict/data/types.ts | 32 + src/api/system/dict/type/index.ts | 55 + src/api/system/dict/type/types.ts | 19 + src/api/system/menu/index.ts | 63 + src/api/system/menu/types.ts | 63 + src/api/system/message/index.ts | 10 + src/api/system/message/types.ts | 19 + src/api/system/notice/index.ts | 41 + src/api/system/notice/types.ts | 27 + src/api/system/oss/index.ts | 45 + src/api/system/oss/types.ts | 27 + src/api/system/ossConfig/index.ts | 49 + src/api/system/ossConfig/types.ts | 39 + src/api/system/post/index.ts | 64 + src/api/system/post/types.ts | 32 + src/api/system/role/index.ts | 115 + src/api/system/role/types.ts | 48 + src/api/system/social/auth.ts | 24 + src/api/system/social/types.ts | 7 + src/api/system/user/index.ts | 162 + src/api/system/user/types.ts | 71 + src/api/tool/gen/index.ts | 78 + src/api/tool/gen/types.ts | 89 + src/api/types.ts | 88 + src/api/workflow/category/index.ts | 49 + src/api/workflow/category/types.ts | 29 + src/api/workflow/definition/index.ts | 137 + src/api/workflow/definition/types.ts | 43 + src/api/workflow/instance/index.ts | 84 + src/api/workflow/instance/types.ts | 41 + src/api/workflow/leave/index.ts | 49 + src/api/workflow/leave/types.ts | 28 + src/api/workflow/spel/index.ts | 41 + src/api/workflow/spel/types.ts | 29 + src/api/workflow/task/index.ts | 129 + src/api/workflow/task/types.ts | 82 + src/api/workflow/workflowCommon/index.ts | 17 + src/api/workflow/workflowCommon/types.ts | 14 + src/app.tsx | 14 + src/assets/icons/svg/404.svg | 1 + src/assets/icons/svg/bug.svg | 1 + src/assets/icons/svg/build.svg | 1 + src/assets/icons/svg/button.svg | 1 + src/assets/icons/svg/caret-back.svg | 1 + src/assets/icons/svg/caret-forward.svg | 1 + src/assets/icons/svg/cascader.svg | 1 + src/assets/icons/svg/category.svg | 1 + src/assets/icons/svg/chart.svg | 1 + src/assets/icons/svg/checkbox.svg | 1 + src/assets/icons/svg/clipboard.svg | 1 + src/assets/icons/svg/code.svg | 1 + src/assets/icons/svg/color.svg | 1 + src/assets/icons/svg/company.svg | 1 + src/assets/icons/svg/component.svg | 1 + src/assets/icons/svg/dashboard.svg | 1 + src/assets/icons/svg/date-range.svg | 1 + src/assets/icons/svg/date.svg | 1 + src/assets/icons/svg/dict.svg | 1 + src/assets/icons/svg/documentation.svg | 1 + src/assets/icons/svg/download.svg | 1 + src/assets/icons/svg/drag.svg | 1 + src/assets/icons/svg/druid.svg | 1 + src/assets/icons/svg/edit.svg | 1 + src/assets/icons/svg/education.svg | 1 + src/assets/icons/svg/email.svg | 1 + src/assets/icons/svg/example.svg | 1 + src/assets/icons/svg/excel.svg | 1 + src/assets/icons/svg/exit-fullscreen.svg | 1 + src/assets/icons/svg/eye-open.svg | 1 + src/assets/icons/svg/eye.svg | 1 + src/assets/icons/svg/finish.svg | 1 + src/assets/icons/svg/form.svg | 1 + src/assets/icons/svg/fullscreen.svg | 1 + src/assets/icons/svg/gitee.svg | 1 + src/assets/icons/svg/github.svg | 1 + src/assets/icons/svg/guide.svg | 1 + src/assets/icons/svg/icon.svg | 1 + src/assets/icons/svg/input.svg | 1 + src/assets/icons/svg/international.svg | 1 + src/assets/icons/svg/job.svg | 1 + src/assets/icons/svg/language.svg | 1 + src/assets/icons/svg/link.svg | 1 + src/assets/icons/svg/list.svg | 1 + src/assets/icons/svg/lock.svg | 1 + src/assets/icons/svg/log.svg | 1 + src/assets/icons/svg/logininfo.svg | 1 + src/assets/icons/svg/maxkey.svg | 3 + src/assets/icons/svg/message.svg | 1 + src/assets/icons/svg/model.svg | 1 + src/assets/icons/svg/money.svg | 1 + src/assets/icons/svg/monitor.svg | 2 + src/assets/icons/svg/my-copy.svg | 1 + src/assets/icons/svg/my-task.svg | 1 + src/assets/icons/svg/nested.svg | 1 + src/assets/icons/svg/number.svg | 1 + src/assets/icons/svg/online.svg | 1 + src/assets/icons/svg/password.svg | 1 + src/assets/icons/svg/pdf.svg | 1 + src/assets/icons/svg/people.svg | 1 + src/assets/icons/svg/peoples.svg | 1 + src/assets/icons/svg/phone.svg | 1 + src/assets/icons/svg/post.svg | 1 + src/assets/icons/svg/process-definition.svg | 1 + src/assets/icons/svg/qq.svg | 1 + src/assets/icons/svg/question.svg | 1 + src/assets/icons/svg/radio.svg | 1 + src/assets/icons/svg/rate.svg | 1 + src/assets/icons/svg/redis-list.svg | 2 + src/assets/icons/svg/redis.svg | 1 + src/assets/icons/svg/row.svg | 1 + src/assets/icons/svg/search.svg | 1 + src/assets/icons/svg/select.svg | 1 + src/assets/icons/svg/server.svg | 1 + src/assets/icons/svg/shopping.svg | 1 + src/assets/icons/svg/size.svg | 1 + src/assets/icons/svg/skill.svg | 1 + src/assets/icons/svg/slider.svg | 1 + src/assets/icons/svg/star.svg | 1 + src/assets/icons/svg/swagger.svg | 1 + src/assets/icons/svg/switch.svg | 1 + src/assets/icons/svg/system.svg | 2 + src/assets/icons/svg/tab.svg | 1 + src/assets/icons/svg/table.svg | 1 + src/assets/icons/svg/textarea.svg | 1 + src/assets/icons/svg/theme.svg | 1 + src/assets/icons/svg/time-range.svg | 1 + src/assets/icons/svg/time.svg | 1 + src/assets/icons/svg/tool.svg | 1 + src/assets/icons/svg/topiam.svg | 29 + src/assets/icons/svg/tree-table.svg | 1 + src/assets/icons/svg/tree.svg | 1 + src/assets/icons/svg/upload.svg | 1 + src/assets/icons/svg/user.svg | 1 + src/assets/icons/svg/validCode.svg | 1 + src/assets/icons/svg/waiting.svg | 1 + src/assets/icons/svg/wechat.svg | 1 + src/assets/icons/svg/workflow.svg | 1 + src/assets/icons/svg/zip.svg | 1 + src/assets/images/profile.jpg | Bin 0 -> 275351 bytes src/assets/logo/logo.png | Bin 0 -> 8131 bytes src/assets/styles/base/body.less | 5 + src/assets/styles/base/document.less | 5 + src/assets/styles/components/editor.less | 40 + src/assets/styles/components/media.less | 50 + src/assets/styles/components/selector.less | 82 + src/assets/styles/components/table-tools.less | 88 + src/assets/styles/index.less | 23 + src/assets/styles/layout/header.less | 168 + src/assets/styles/layout/menu.less | 42 + src/assets/styles/layout/message-box.less | 158 + src/assets/styles/layout/pro-layout.less | 56 + src/assets/styles/layout/settings.less | 121 + src/assets/styles/layout/tags-view.less | 188 + src/assets/styles/modules/ai-chat.less | 218 + src/assets/styles/modules/monitor.less | 99 + src/assets/styles/modules/workflow-extra.less | 23 + src/assets/styles/modules/workflow.less | 37 + src/assets/styles/pages/auth.less | 257 + src/assets/styles/pages/dashboard.less | 144 + src/assets/styles/pages/page-surface.less | 7 + src/assets/styles/pages/system.less | 128 + src/assets/styles/responsive/mobile.less | 80 + src/assets/styles/tokens/theme.less | 37 + src/components/common/DictTag.tsx | 60 + src/components/common/EllipsisText.tsx | 19 + src/components/common/FileUpload.tsx | 142 + src/components/common/IconSelect.tsx | 146 + src/components/common/ImagePreview.tsx | 43 + src/components/common/ImageUpload.tsx | 125 + src/components/common/JsonViewer.tsx | 48 + src/components/common/RichTextEditor.tsx | 257 + src/components/common/RightToolbar.tsx | 109 + src/components/common/RowActions.tsx | 55 + src/components/common/TreePanel.tsx | 157 + src/components/common/UserSelect.tsx | 258 + src/components/common/useOssUploadList.ts | 102 + src/components/layout/ExternalLinkButton.tsx | 35 + src/components/layout/LayoutSettings.tsx | 147 + src/components/layout/LocaleSelect.tsx | 54 + src/components/layout/MenuSearch.tsx | 96 + src/components/layout/MessageBox.tsx | 179 + src/components/layout/Screenfull.tsx | 38 + src/components/layout/SizeSelect.tsx | 49 + src/components/layout/TagsView.tsx | 415 + src/components/workflow/ApprovalButton.tsx | 63 + src/components/workflow/ApprovalRecord.tsx | 177 + src/components/workflow/FlowChart.tsx | 28 + src/components/workflow/FlowChartImage.tsx | 85 + src/components/workflow/MessageType.tsx | 34 + src/components/workflow/ProcessMeddle.tsx | 266 + src/components/workflow/SubmitVerify.tsx | 494 + src/components/workflow/UserNameDisplay.tsx | 28 + src/favicon.ico | Bin 0 -> 8131 bytes src/global.ts | 5 + src/hooks/useDict.ts | 20 + src/hooks/useTableExport.ts | 32 + src/hooks/useTableSelection.ts | 33 + src/layouts/BasicLayout.tsx | 495 + src/pages/ai/chat/index.tsx | 515 + src/pages/demo/demo/index.tsx | 167 + src/pages/demo/tree/index.tsx | 193 + src/pages/dynamicPage.tsx | 144 + src/pages/error/401.tsx | 35 + src/pages/error/404.tsx | 5 + src/pages/index.tsx | 118 + src/pages/login.tsx | 254 + src/pages/monitor/admin/index.tsx | 6 + src/pages/monitor/cache/index.tsx | 157 + src/pages/monitor/iframePage.tsx | 22 + src/pages/monitor/logininfo/index.tsx | 187 + src/pages/monitor/online/index.tsx | 135 + src/pages/monitor/operlog/index.tsx | 256 + src/pages/monitor/snailjob/index.tsx | 6 + src/pages/redirect/index.tsx | 13 + src/pages/register.tsx | 203 + src/pages/socialCallback/index.tsx | 71 + src/pages/system/client/index.tsx | 325 + src/pages/system/config/index.tsx | 208 + src/pages/system/dept/index.tsx | 303 + src/pages/system/dict/index.tsx | 449 + src/pages/system/menu/index.tsx | 325 + src/pages/system/notice/index.tsx | 266 + src/pages/system/oss/config.tsx | 284 + src/pages/system/oss/index.tsx | 223 + src/pages/system/post/index.tsx | 265 + src/pages/system/role/authUser.tsx | 124 + .../role/components/RolePermissionModal.tsx | 132 + .../role/components/SelectUserModal.tsx | 77 + .../role/components/useRolePermission.tsx | 416 + src/pages/system/role/index.tsx | 349 + src/pages/system/user/authRole.tsx | 109 + .../user/components/UserDetailDrawer.tsx | 89 + .../system/user/components/UserFormModal.tsx | 166 + .../user/components/UserImportModal.tsx | 101 + src/pages/system/user/index.tsx | 473 + src/pages/system/user/profile/index.tsx | 462 + .../tool/gen/components/BasicInfoForm.tsx | 33 + .../tool/gen/components/ColumnInfoTable.tsx | 131 + src/pages/tool/gen/components/GenInfoForm.tsx | 163 + .../tool/gen/components/ImportTableModal.tsx | 108 + src/pages/tool/gen/components/genConfig.ts | 46 + src/pages/tool/gen/edit.tsx | 145 + src/pages/tool/gen/index.tsx | 321 + src/pages/workflow/category/index.tsx | 196 + src/pages/workflow/leave/index.tsx | 183 + src/pages/workflow/leave/leaveEdit.tsx | 220 + .../components/DefinitionFormModal.tsx | 93 + .../components/DefinitionImportModal.tsx | 86 + .../workflow/processDefinition/design.tsx | 38 + .../workflow/processDefinition/index.tsx | 433 + src/pages/workflow/processInstance/index.tsx | 426 + src/pages/workflow/spel/index.tsx | 230 + src/pages/workflow/task/allTaskWaiting.tsx | 351 + src/pages/workflow/task/myDocument.tsx | 187 + src/pages/workflow/task/taskCopyList.tsx | 5 + src/pages/workflow/task/taskFinish.tsx | 5 + src/pages/workflow/task/taskList.tsx | 253 + src/pages/workflow/task/taskWaiting.tsx | 5 + src/stores/appStore.ts | 107 + src/stores/dictStore.ts | 30 + src/stores/noticeStore.ts | 66 + src/stores/permissionStore.ts | 30 + src/stores/tagsViewStore.ts | 91 + src/stores/userStore.ts | 26 + src/typings.d.ts | 32 + src/utils/auth.ts | 13 + src/utils/crypto.ts | 38 + src/utils/download.ts | 45 + src/utils/env.ts | 17 + src/utils/jsencrypt.ts | 14 + src/utils/menu.tsx | 199 + src/utils/messageRead.ts | 41 + src/utils/ossContent.ts | 23 + src/utils/permission.ts | 12 + src/utils/push.ts | 170 + src/utils/pushMessage.ts | 76 + src/utils/queryClient.ts | 11 + src/utils/ruoyi.ts | 140 + src/utils/sanitize.ts | 214 + src/utils/upload.ts | 58 + tsconfig.json | 11 + vite.config.ts | 199 + 324 files changed, 39871 insertions(+) create mode 100644 .editorconfig create mode 100644 .env.development create mode 100644 .env.production create mode 100644 .gitignore create mode 100644 .idea/.gitignore create mode 100644 .idea/compiler.xml create mode 100644 .idea/dictionaries/LionLi.xml create mode 100644 .idea/encodings.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml create mode 100644 .oxfmtrc.json create mode 100644 .oxlintrc.json create mode 100644 README.md create mode 100644 config/config.ts create mode 100644 package.json create mode 100644 pnpm-lock.yaml create mode 100644 src/api/ai/agent/index.ts create mode 100644 src/api/ai/agent/types.ts create mode 100644 src/api/ai/index.ts create mode 100644 src/api/demo/demo/index.ts create mode 100644 src/api/demo/demo/types.ts create mode 100644 src/api/demo/tree/index.ts create mode 100644 src/api/demo/tree/types.ts create mode 100644 src/api/login.ts create mode 100644 src/api/menu.ts create mode 100644 src/api/monitor/cache/index.ts create mode 100644 src/api/monitor/cache/types.ts create mode 100644 src/api/monitor/logininfo/index.ts create mode 100644 src/api/monitor/logininfo/types.ts create mode 100644 src/api/monitor/online/index.ts create mode 100644 src/api/monitor/online/types.ts create mode 100644 src/api/monitor/operlog/index.ts create mode 100644 src/api/monitor/operlog/types.ts create mode 100644 src/api/request.ts create mode 100644 src/api/system/client/index.ts create mode 100644 src/api/system/client/types.ts create mode 100644 src/api/system/config/index.ts create mode 100644 src/api/system/config/types.ts create mode 100644 src/api/system/dept/index.ts create mode 100644 src/api/system/dept/types.ts create mode 100644 src/api/system/dict/data/index.ts create mode 100644 src/api/system/dict/data/types.ts create mode 100644 src/api/system/dict/type/index.ts create mode 100644 src/api/system/dict/type/types.ts create mode 100644 src/api/system/menu/index.ts create mode 100644 src/api/system/menu/types.ts create mode 100644 src/api/system/message/index.ts create mode 100644 src/api/system/message/types.ts create mode 100644 src/api/system/notice/index.ts create mode 100644 src/api/system/notice/types.ts create mode 100644 src/api/system/oss/index.ts create mode 100644 src/api/system/oss/types.ts create mode 100644 src/api/system/ossConfig/index.ts create mode 100644 src/api/system/ossConfig/types.ts create mode 100644 src/api/system/post/index.ts create mode 100644 src/api/system/post/types.ts create mode 100644 src/api/system/role/index.ts create mode 100644 src/api/system/role/types.ts create mode 100644 src/api/system/social/auth.ts create mode 100644 src/api/system/social/types.ts create mode 100644 src/api/system/user/index.ts create mode 100644 src/api/system/user/types.ts create mode 100644 src/api/tool/gen/index.ts create mode 100644 src/api/tool/gen/types.ts create mode 100644 src/api/types.ts create mode 100644 src/api/workflow/category/index.ts create mode 100644 src/api/workflow/category/types.ts create mode 100644 src/api/workflow/definition/index.ts create mode 100644 src/api/workflow/definition/types.ts create mode 100644 src/api/workflow/instance/index.ts create mode 100644 src/api/workflow/instance/types.ts create mode 100644 src/api/workflow/leave/index.ts create mode 100644 src/api/workflow/leave/types.ts create mode 100644 src/api/workflow/spel/index.ts create mode 100644 src/api/workflow/spel/types.ts create mode 100644 src/api/workflow/task/index.ts create mode 100644 src/api/workflow/task/types.ts create mode 100644 src/api/workflow/workflowCommon/index.ts create mode 100644 src/api/workflow/workflowCommon/types.ts create mode 100644 src/app.tsx create mode 100644 src/assets/icons/svg/404.svg create mode 100644 src/assets/icons/svg/bug.svg create mode 100644 src/assets/icons/svg/build.svg create mode 100644 src/assets/icons/svg/button.svg create mode 100644 src/assets/icons/svg/caret-back.svg create mode 100644 src/assets/icons/svg/caret-forward.svg create mode 100644 src/assets/icons/svg/cascader.svg create mode 100644 src/assets/icons/svg/category.svg create mode 100644 src/assets/icons/svg/chart.svg create mode 100644 src/assets/icons/svg/checkbox.svg create mode 100644 src/assets/icons/svg/clipboard.svg create mode 100644 src/assets/icons/svg/code.svg create mode 100644 src/assets/icons/svg/color.svg create mode 100644 src/assets/icons/svg/company.svg create mode 100644 src/assets/icons/svg/component.svg create mode 100644 src/assets/icons/svg/dashboard.svg create mode 100644 src/assets/icons/svg/date-range.svg create mode 100644 src/assets/icons/svg/date.svg create mode 100644 src/assets/icons/svg/dict.svg create mode 100644 src/assets/icons/svg/documentation.svg create mode 100644 src/assets/icons/svg/download.svg create mode 100644 src/assets/icons/svg/drag.svg create mode 100644 src/assets/icons/svg/druid.svg create mode 100644 src/assets/icons/svg/edit.svg create mode 100644 src/assets/icons/svg/education.svg create mode 100644 src/assets/icons/svg/email.svg create mode 100644 src/assets/icons/svg/example.svg create mode 100644 src/assets/icons/svg/excel.svg create mode 100644 src/assets/icons/svg/exit-fullscreen.svg create mode 100644 src/assets/icons/svg/eye-open.svg create mode 100644 src/assets/icons/svg/eye.svg create mode 100644 src/assets/icons/svg/finish.svg create mode 100644 src/assets/icons/svg/form.svg create mode 100644 src/assets/icons/svg/fullscreen.svg create mode 100644 src/assets/icons/svg/gitee.svg create mode 100644 src/assets/icons/svg/github.svg create mode 100644 src/assets/icons/svg/guide.svg create mode 100644 src/assets/icons/svg/icon.svg create mode 100644 src/assets/icons/svg/input.svg create mode 100644 src/assets/icons/svg/international.svg create mode 100644 src/assets/icons/svg/job.svg create mode 100644 src/assets/icons/svg/language.svg create mode 100644 src/assets/icons/svg/link.svg create mode 100644 src/assets/icons/svg/list.svg create mode 100644 src/assets/icons/svg/lock.svg create mode 100644 src/assets/icons/svg/log.svg create mode 100644 src/assets/icons/svg/logininfo.svg create mode 100644 src/assets/icons/svg/maxkey.svg create mode 100644 src/assets/icons/svg/message.svg create mode 100644 src/assets/icons/svg/model.svg create mode 100644 src/assets/icons/svg/money.svg create mode 100644 src/assets/icons/svg/monitor.svg create mode 100644 src/assets/icons/svg/my-copy.svg create mode 100644 src/assets/icons/svg/my-task.svg create mode 100644 src/assets/icons/svg/nested.svg create mode 100644 src/assets/icons/svg/number.svg create mode 100644 src/assets/icons/svg/online.svg create mode 100644 src/assets/icons/svg/password.svg create mode 100644 src/assets/icons/svg/pdf.svg create mode 100644 src/assets/icons/svg/people.svg create mode 100644 src/assets/icons/svg/peoples.svg create mode 100644 src/assets/icons/svg/phone.svg create mode 100644 src/assets/icons/svg/post.svg create mode 100644 src/assets/icons/svg/process-definition.svg create mode 100644 src/assets/icons/svg/qq.svg create mode 100644 src/assets/icons/svg/question.svg create mode 100644 src/assets/icons/svg/radio.svg create mode 100644 src/assets/icons/svg/rate.svg create mode 100644 src/assets/icons/svg/redis-list.svg create mode 100644 src/assets/icons/svg/redis.svg create mode 100644 src/assets/icons/svg/row.svg create mode 100644 src/assets/icons/svg/search.svg create mode 100644 src/assets/icons/svg/select.svg create mode 100644 src/assets/icons/svg/server.svg create mode 100644 src/assets/icons/svg/shopping.svg create mode 100644 src/assets/icons/svg/size.svg create mode 100644 src/assets/icons/svg/skill.svg create mode 100644 src/assets/icons/svg/slider.svg create mode 100644 src/assets/icons/svg/star.svg create mode 100644 src/assets/icons/svg/swagger.svg create mode 100644 src/assets/icons/svg/switch.svg create mode 100644 src/assets/icons/svg/system.svg create mode 100644 src/assets/icons/svg/tab.svg create mode 100644 src/assets/icons/svg/table.svg create mode 100644 src/assets/icons/svg/textarea.svg create mode 100644 src/assets/icons/svg/theme.svg create mode 100644 src/assets/icons/svg/time-range.svg create mode 100644 src/assets/icons/svg/time.svg create mode 100644 src/assets/icons/svg/tool.svg create mode 100644 src/assets/icons/svg/topiam.svg create mode 100644 src/assets/icons/svg/tree-table.svg create mode 100644 src/assets/icons/svg/tree.svg create mode 100644 src/assets/icons/svg/upload.svg create mode 100644 src/assets/icons/svg/user.svg create mode 100644 src/assets/icons/svg/validCode.svg create mode 100644 src/assets/icons/svg/waiting.svg create mode 100644 src/assets/icons/svg/wechat.svg create mode 100644 src/assets/icons/svg/workflow.svg create mode 100644 src/assets/icons/svg/zip.svg create mode 100644 src/assets/images/profile.jpg create mode 100644 src/assets/logo/logo.png create mode 100644 src/assets/styles/base/body.less create mode 100644 src/assets/styles/base/document.less create mode 100644 src/assets/styles/components/editor.less create mode 100644 src/assets/styles/components/media.less create mode 100644 src/assets/styles/components/selector.less create mode 100644 src/assets/styles/components/table-tools.less create mode 100644 src/assets/styles/index.less create mode 100644 src/assets/styles/layout/header.less create mode 100644 src/assets/styles/layout/menu.less create mode 100644 src/assets/styles/layout/message-box.less create mode 100644 src/assets/styles/layout/pro-layout.less create mode 100644 src/assets/styles/layout/settings.less create mode 100644 src/assets/styles/layout/tags-view.less create mode 100644 src/assets/styles/modules/ai-chat.less create mode 100644 src/assets/styles/modules/monitor.less create mode 100644 src/assets/styles/modules/workflow-extra.less create mode 100644 src/assets/styles/modules/workflow.less create mode 100644 src/assets/styles/pages/auth.less create mode 100644 src/assets/styles/pages/dashboard.less create mode 100644 src/assets/styles/pages/page-surface.less create mode 100644 src/assets/styles/pages/system.less create mode 100644 src/assets/styles/responsive/mobile.less create mode 100644 src/assets/styles/tokens/theme.less create mode 100644 src/components/common/DictTag.tsx create mode 100644 src/components/common/EllipsisText.tsx create mode 100644 src/components/common/FileUpload.tsx create mode 100644 src/components/common/IconSelect.tsx create mode 100644 src/components/common/ImagePreview.tsx create mode 100644 src/components/common/ImageUpload.tsx create mode 100644 src/components/common/JsonViewer.tsx create mode 100644 src/components/common/RichTextEditor.tsx create mode 100644 src/components/common/RightToolbar.tsx create mode 100644 src/components/common/RowActions.tsx create mode 100644 src/components/common/TreePanel.tsx create mode 100644 src/components/common/UserSelect.tsx create mode 100644 src/components/common/useOssUploadList.ts create mode 100644 src/components/layout/ExternalLinkButton.tsx create mode 100644 src/components/layout/LayoutSettings.tsx create mode 100644 src/components/layout/LocaleSelect.tsx create mode 100644 src/components/layout/MenuSearch.tsx create mode 100644 src/components/layout/MessageBox.tsx create mode 100644 src/components/layout/Screenfull.tsx create mode 100644 src/components/layout/SizeSelect.tsx create mode 100644 src/components/layout/TagsView.tsx create mode 100644 src/components/workflow/ApprovalButton.tsx create mode 100644 src/components/workflow/ApprovalRecord.tsx create mode 100644 src/components/workflow/FlowChart.tsx create mode 100644 src/components/workflow/FlowChartImage.tsx create mode 100644 src/components/workflow/MessageType.tsx create mode 100644 src/components/workflow/ProcessMeddle.tsx create mode 100644 src/components/workflow/SubmitVerify.tsx create mode 100644 src/components/workflow/UserNameDisplay.tsx create mode 100644 src/favicon.ico create mode 100644 src/global.ts create mode 100644 src/hooks/useDict.ts create mode 100644 src/hooks/useTableExport.ts create mode 100644 src/hooks/useTableSelection.ts create mode 100644 src/layouts/BasicLayout.tsx create mode 100644 src/pages/ai/chat/index.tsx create mode 100644 src/pages/demo/demo/index.tsx create mode 100644 src/pages/demo/tree/index.tsx create mode 100644 src/pages/dynamicPage.tsx create mode 100644 src/pages/error/401.tsx create mode 100644 src/pages/error/404.tsx create mode 100644 src/pages/index.tsx create mode 100644 src/pages/login.tsx create mode 100644 src/pages/monitor/admin/index.tsx create mode 100644 src/pages/monitor/cache/index.tsx create mode 100644 src/pages/monitor/iframePage.tsx create mode 100644 src/pages/monitor/logininfo/index.tsx create mode 100644 src/pages/monitor/online/index.tsx create mode 100644 src/pages/monitor/operlog/index.tsx create mode 100644 src/pages/monitor/snailjob/index.tsx create mode 100644 src/pages/redirect/index.tsx create mode 100644 src/pages/register.tsx create mode 100644 src/pages/socialCallback/index.tsx create mode 100644 src/pages/system/client/index.tsx create mode 100644 src/pages/system/config/index.tsx create mode 100644 src/pages/system/dept/index.tsx create mode 100644 src/pages/system/dict/index.tsx create mode 100644 src/pages/system/menu/index.tsx create mode 100644 src/pages/system/notice/index.tsx create mode 100644 src/pages/system/oss/config.tsx create mode 100644 src/pages/system/oss/index.tsx create mode 100644 src/pages/system/post/index.tsx create mode 100644 src/pages/system/role/authUser.tsx create mode 100644 src/pages/system/role/components/RolePermissionModal.tsx create mode 100644 src/pages/system/role/components/SelectUserModal.tsx create mode 100644 src/pages/system/role/components/useRolePermission.tsx create mode 100644 src/pages/system/role/index.tsx create mode 100644 src/pages/system/user/authRole.tsx create mode 100644 src/pages/system/user/components/UserDetailDrawer.tsx create mode 100644 src/pages/system/user/components/UserFormModal.tsx create mode 100644 src/pages/system/user/components/UserImportModal.tsx create mode 100644 src/pages/system/user/index.tsx create mode 100644 src/pages/system/user/profile/index.tsx create mode 100644 src/pages/tool/gen/components/BasicInfoForm.tsx create mode 100644 src/pages/tool/gen/components/ColumnInfoTable.tsx create mode 100644 src/pages/tool/gen/components/GenInfoForm.tsx create mode 100644 src/pages/tool/gen/components/ImportTableModal.tsx create mode 100644 src/pages/tool/gen/components/genConfig.ts create mode 100644 src/pages/tool/gen/edit.tsx create mode 100644 src/pages/tool/gen/index.tsx create mode 100644 src/pages/workflow/category/index.tsx create mode 100644 src/pages/workflow/leave/index.tsx create mode 100644 src/pages/workflow/leave/leaveEdit.tsx create mode 100644 src/pages/workflow/processDefinition/components/DefinitionFormModal.tsx create mode 100644 src/pages/workflow/processDefinition/components/DefinitionImportModal.tsx create mode 100644 src/pages/workflow/processDefinition/design.tsx create mode 100644 src/pages/workflow/processDefinition/index.tsx create mode 100644 src/pages/workflow/processInstance/index.tsx create mode 100644 src/pages/workflow/spel/index.tsx create mode 100644 src/pages/workflow/task/allTaskWaiting.tsx create mode 100644 src/pages/workflow/task/myDocument.tsx create mode 100644 src/pages/workflow/task/taskCopyList.tsx create mode 100644 src/pages/workflow/task/taskFinish.tsx create mode 100644 src/pages/workflow/task/taskList.tsx create mode 100644 src/pages/workflow/task/taskWaiting.tsx create mode 100644 src/stores/appStore.ts create mode 100644 src/stores/dictStore.ts create mode 100644 src/stores/noticeStore.ts create mode 100644 src/stores/permissionStore.ts create mode 100644 src/stores/tagsViewStore.ts create mode 100644 src/stores/userStore.ts create mode 100644 src/typings.d.ts create mode 100644 src/utils/auth.ts create mode 100644 src/utils/crypto.ts create mode 100644 src/utils/download.ts create mode 100644 src/utils/env.ts create mode 100644 src/utils/jsencrypt.ts create mode 100644 src/utils/menu.tsx create mode 100644 src/utils/messageRead.ts create mode 100644 src/utils/ossContent.ts create mode 100644 src/utils/permission.ts create mode 100644 src/utils/push.ts create mode 100644 src/utils/pushMessage.ts create mode 100644 src/utils/queryClient.ts create mode 100644 src/utils/ruoyi.ts create mode 100644 src/utils/sanitize.ts create mode 100644 src/utils/upload.ts create mode 100644 tsconfig.json create mode 100644 vite.config.ts diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 00000000..4a036b99 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,9 @@ +root = true + +[*] +charset = utf-8 +end_of_line = lf +insert_final_newline = true +indent_style = space +indent_size = 2 + diff --git a/.env.development b/.env.development new file mode 100644 index 00000000..077ac3cd --- /dev/null +++ b/.env.development @@ -0,0 +1,15 @@ +VITE_APP_TITLE=RuoYi-React-Plus后台管理系统 +VITE_APP_LOGO_TITLE=RuoYi-React-Plus +VITE_APP_ENV=development +VITE_APP_BASE_API=/dev-api +VITE_APP_CONTEXT_PATH=/ +VITE_APP_PORT=8000 +VITE_APP_CLIENT_ID=e5cd7e4891bf95d1d19206ce24a7b32e +VITE_APP_MESSAGE_ENABLED=true +VITE_APP_MESSAGE_TRANSPORT=sse +VITE_APP_MESSAGE_PATH=/resource/message +VITE_APP_ENCRYPT=true +VITE_APP_RSA_PUBLIC_KEY=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDvEDuRIOM3oZPWj9Ukoc5pQklR4PFH6/clnjeFqjDLIgDyQvjxhgqAZQA+E9eD6qu6FsXPmK8djcL+nh3cFHz4pX473jDvO3Sve+8yL3VRQ0n2pRgQ2a01MJsy+WwTZCBYWf0VnLRIvANUoWQgy9vz94q7Va44dg7A1/3ICf+xAwIDAQAB +VITE_APP_RSA_PRIVATE_KEY=MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAObq7yrxfvyieZtTjAYyrdvi59tYTXxjO5ajmPCRSXBY9M9wQ1tli297JN6mnY53UJMNyOFNSZVi8WSFoIXjpR87FmvChJlzeN/dZdd3SEs48Ee66XKeSePYqxa8oO5GKDsnajgpsOHKXSeeVSIysiIPS2/WsEqk0In9P4w3RsRFAgMBAAECgYBiMEWwce24SPICnRzuScBpvmsudrbEDIH7BOd0a6LZlcnLJwZNJ7mJlshPsHNQb+WgEf135+BBGEhioPtn0yuTdEuKP4kB9UdYUKiayWCoWhJpesv7sAD4RDClV7dhuV+gcd1AXD+YzyRIPbGm0VC2U+4q8/+UPRpVjqskbLVTgQJBAPRpou7g3S8n4XB527kq0D8I3+ZYwMxZhszwhrCDpJU319+ucmpLVwYIzDmZVeID2QQdUaDfIEViFHu95xDrGiUCQQDx3YOKn3yaEctk/ERVn7hDAyAXUbd8/pv2b24/M/l1ZevlsFem8U4Jk5Mu64t3z3YGJoymEjQmbucwT01iKhehAkEAxlnccsRmfFh/KkqauKE4M4++NTAd9zlInpUsmZ+cN8UEGnF2RTEzRKBrLOt1uWCqBB7PGiE6DVTVjr7FAQPrSQJAT5yeY87DcONSk9cFlzmPqV8p/QME5rvYEnHzVBKDlkUKNPyqnWToTvaoh9U4fyNmsfeWbEOprszqhFhWHG3GgQJAK8+ynmyFhaw63+Hx2KU5zR4hVuQso2IzrEurGxCxybV6mR7VBerb4502+EPx3PmOgxQL+niUFhcMWxcvBFP9+A== +VITE_APP_MONITOR_ADMIN=http://localhost:9090/admin/applications +VITE_APP_SNAILJOB_ADMIN=http://localhost:8800/snail-job diff --git a/.env.production b/.env.production new file mode 100644 index 00000000..3101935f --- /dev/null +++ b/.env.production @@ -0,0 +1,15 @@ +VITE_APP_TITLE=RuoYi-React-Plus后台管理系统 +VITE_APP_LOGO_TITLE=RuoYi-React-Plus +VITE_APP_ENV=production +VITE_APP_BASE_API=/prod-api +VITE_APP_CONTEXT_PATH=/ +VITE_APP_PORT=8000 +VITE_APP_CLIENT_ID=e5cd7e4891bf95d1d19206ce24a7b32e +VITE_APP_MESSAGE_ENABLED=true +VITE_APP_MESSAGE_TRANSPORT=sse +VITE_APP_MESSAGE_PATH=/resource/message +VITE_APP_ENCRYPT=true +VITE_APP_RSA_PUBLIC_KEY=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDvEDuRIOM3oZPWj9Ukoc5pQklR4PFH6/clnjeFqjDLIgDyQvjxhgqAZQA+E9eD6qu6FsXPmK8djcL+nh3cFHz4pX473jDvO3Sve+8yL3VRQ0n2pRgQ2a01MJsy+WwTZCBYWf0VnLRIvANUoWQgy9vz94q7Va44dg7A1/3ICf+xAwIDAQAB +VITE_APP_RSA_PRIVATE_KEY=MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAObq7yrxfvyieZtTjAYyrdvi59tYTXxjO5ajmPCRSXBY9M9wQ1tli297JN6mnY53UJMNyOFNSZVi8WSFoIXjpR87FmvChJlzeN/dZdd3SEs48Ee66XKeSePYqxa8oO5GKDsnajgpsOHKXSeeVSIysiIPS2/WsEqk0In9P4w3RsRFAgMBAAECgYBiMEWwce24SPICnRzuScBpvmsudrbEDIH7BOd0a6LZlcnLJwZNJ7mJlshPsHNQb+WgEf135+BBGEhioPtn0yuTdEuKP4kB9UdYUKiayWCoWhJpesv7sAD4RDClV7dhuV+gcd1AXD+YzyRIPbGm0VC2U+4q8/+UPRpVjqskbLVTgQJBAPRpou7g3S8n4XB527kq0D8I3+ZYwMxZhszwhrCDpJU319+ucmpLVwYIzDmZVeID2QQdUaDfIEViFHu95xDrGiUCQQDx3YOKn3yaEctk/ERVn7hDAyAXUbd8/pv2b24/M/l1ZevlsFem8U4Jk5Mu64t3z3YGJoymEjQmbucwT01iKhehAkEAxlnccsRmfFh/KkqauKE4M4++NTAd9zlInpUsmZ+cN8UEGnF2RTEzRKBrLOt1uWCqBB7PGiE6DVTVjr7FAQPrSQJAT5yeY87DcONSk9cFlzmPqV8p/QME5rvYEnHzVBKDlkUKNPyqnWToTvaoh9U4fyNmsfeWbEOprszqhFhWHG3GgQJAK8+ynmyFhaw63+Hx2KU5zR4hVuQso2IzrEurGxCxybV6mR7VBerb4502+EPx3PmOgxQL+niUFhcMWxcvBFP9+A== +VITE_APP_MONITOR_ADMIN=/admin/applications +VITE_APP_SNAILJOB_ADMIN=/snail-job diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..61d6c82d --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +node_modules +dist +.umi +.umi-production +src/.umi +src/.umi-production +.env.local +*.log diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 00000000..ab1f4164 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,10 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Ignored default folder with query files +/queries/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml +# Editor-based HTTP Client requests +/httpRequests/ diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 00000000..f3fedce3 --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/.idea/dictionaries/LionLi.xml b/.idea/dictionaries/LionLi.xml new file mode 100644 index 00000000..f6e5125a --- /dev/null +++ b/.idea/dictionaries/LionLi.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 00000000..c2bae49d --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 00000000..24c5a2ee --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,17 @@ + + + + + + + + User defined + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 00000000..00745660 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 00000000..94a25f7f --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.oxfmtrc.json b/.oxfmtrc.json new file mode 100644 index 00000000..a5a8e798 --- /dev/null +++ b/.oxfmtrc.json @@ -0,0 +1,24 @@ +{ + "$schema": "./node_modules/oxfmt/configuration_schema.json", + "ignorePatterns": ["src/.umi", "src/.umi-production", ".ai_state", ".claude", ".codex", "dist", "node_modules"], + "printWidth": 120, + "singleQuote": true, + "trailingComma": "none", + "arrowParens": "avoid", + "htmlWhitespaceSensitivity": "ignore", + "experimentalSortPackageJson": { + "sortScripts": true + }, + "sortImports": { + "newlinesBetween": false, + "groups": [ + "type-import", + ["value-builtin", "value-external"], + "type-internal", + "value-internal", + ["type-parent", "type-sibling", "type-index"], + ["value-parent", "value-sibling", "value-index"], + "unknown" + ] + } +} diff --git a/.oxlintrc.json b/.oxlintrc.json new file mode 100644 index 00000000..2c0e0f73 --- /dev/null +++ b/.oxlintrc.json @@ -0,0 +1,40 @@ +{ + "$schema": "https://raw.githubusercontent.com/oxc-project/oxc/main/npm/oxlint/configuration_schema.json", + "plugins": ["eslint", "typescript", "unicorn", "oxc", "import", "react"], + "rules": { + "typescript/no-empty-function": "off", + "typescript/no-explicit-any": "off", + "typescript/no-unused-vars": "off", + "typescript/no-this-alias": "off", + "typescript/no-empty-object-type": "off", + "typescript/no-unused-expressions": "off", + "prefer-rest-params": "off", + "import/no-unassigned-import": "off", + "import/no-named-as-default-member": "off", + "import/no-named-as-default": "off", + "react/react-in-jsx-scope": "off", + "react/no-unstable-nested-components": "off", + "react/iframe-missing-sandbox": "off", + "react-hooks/exhaustive-deps": "off", + "no-shadow": "off", + "unicorn/no-array-sort": "off", + "unicorn/no-useless-fallback-in-spread": "off", + "unicorn/prefer-add-event-listener": "off", + "unicorn/consistent-function-scoping": "off", + "unicorn/no-instanceof-builtins": "off" + }, + "categories": { + "correctness": "error", + "suspicious": "error" + }, + "ignorePatterns": [ + "src/.umi", + "src/.umi-production", + ".ai_state", + ".claude", + ".codex", + "dist/**", + "dist-ssr/**", + "coverage/**" + ] +} diff --git a/README.md b/README.md new file mode 100644 index 00000000..2b9a66c1 --- /dev/null +++ b/README.md @@ -0,0 +1,22 @@ +# plus-ui-react + +React + Ant Design rewrite of `plus-ui-new`. + +The first milestone keeps the existing RuoYi-Vue-Plus backend protocol: + +- `/auth/login` +- `/auth/code` +- `/system/user/getInfo` +- `/system/menu/getRouters` +- `Authorization: Bearer ` +- `clientid` +- optional encrypted request and response bodies + +## Scripts + +```bash +pnpm install +pnpm dev +``` + +The development proxy forwards `/dev-api` to `http://localhost:8080`. diff --git a/config/config.ts b/config/config.ts new file mode 100644 index 00000000..5904b06e --- /dev/null +++ b/config/config.ts @@ -0,0 +1,40 @@ +import { defineConfig } from '@umijs/max'; +import { createUmiAppConfig } from '../vite.config'; + +const appConfig = createUmiAppConfig(); + +export default defineConfig({ + title: appConfig.title, + antd: {}, + access: {}, + model: {}, + initialState: {}, + vite: appConfig.vite, + npmClient: 'pnpm', + hash: true, + esbuildMinifyIIFE: true, + history: { + type: 'browser' + }, + base: appConfig.base, + publicPath: appConfig.publicPath, + routes: [ + { path: '/login', component: './login', layout: false }, + { path: '/register', component: './register', layout: false }, + { path: '/social-callback', component: './socialCallback', layout: false }, + { path: '/401', component: './error/401', layout: false }, + { path: '/404', component: './error/404', layout: false }, + { path: '/redirect/*', component: './redirect', layout: false }, + { + path: '/', + component: '../layouts/BasicLayout', + routes: [ + { path: '/', redirect: '/index' }, + { path: '/index', component: './index' }, + { path: '/user/profile', component: './system/user/profile' }, + { path: '*', component: './dynamicPage' } + ] + } + ], + proxy: appConfig.proxy +}); diff --git a/package.json b/package.json new file mode 100644 index 00000000..906c68d8 --- /dev/null +++ b/package.json @@ -0,0 +1,67 @@ +{ + "name": "plus-ui-react", + "version": "0.1.0", + "private": true, + "description": "React + Ant Design version of RuoYi-Vue-Plus UI", + "type": "module", + "scripts": { + "build": "pnpm build:prod", + "build:dev": "cross-env UMI_ENV=development BABEL_POLYFILL=none max build", + "build:prod": "cross-env UMI_ENV=production BABEL_POLYFILL=none max build", + "dev": "cross-env UMI_ENV=development MOCK=none BABEL_POLYFILL=none max dev", + "fmt": "oxfmt .", + "lint": "oxlint src config vite.config.ts && cross-env UMI_ENV=development BABEL_POLYFILL=none max setup && tsc --noEmit", + "lint:fix": "oxlint --fix src config vite.config.ts", + "openapi": "max openapi", + "preview": "max preview --port 8000", + "start": "cross-env UMI_ENV=development MOCK=none BABEL_POLYFILL=none max dev" + }, + "dependencies": { + "@ant-design/icons": "^6.2.3", + "@ant-design/pro-components": "^3.1.12-0", + "@ant-design/x": "^2.7.0", + "@iconify/react": "^6.0.2", + "@tanstack/react-query": "^5.100.6", + "@umijs/max": "^4.6.51", + "@wangeditor-next/editor": "^5.6.4", + "@wangeditor-next/editor-for-react": "^1.0.10", + "ahooks": "^3.9.7", + "antd": "^6.4.3", + "antd-style": "^4.1.0", + "axios": "1.16.1", + "browser-image-compression": "^2.0.2", + "clsx": "^2.1.1", + "cropperjs": "^1.6.2", + "crypto-js": "4.2.0", + "dayjs": "^1.11.20", + "echarts": "^6.0.0", + "echarts-for-react": "^3.0.2", + "jsencrypt": "3.5.4", + "nprogress": "0.2.0", + "react": "^19.2.5", + "react-cropper": "^2.3.3", + "react-dom": "^19.2.5", + "react-json-view-lite": "^2.5.0", + "react-syntax-highlighter": "^16.1.1", + "screenfull": "^6.0.2", + "zustand": "^5.0.14" + }, + "devDependencies": { + "@types/crypto-js": "4.2.2", + "@types/node": "^25.9.1", + "@types/nprogress": "0.2.3", + "@types/react": "^19.2.14", + "@types/react-dom": "^19.2.3", + "@types/react-syntax-highlighter": "^15.5.13", + "@umijs/lint": "^4.6.51", + "@umijs/max-plugin-openapi": "^2.0.3", + "cross-env": "^10.1.0", + "oxfmt": "^0.51.0", + "oxlint": "^1.66.0", + "typescript": "^6.0.3" + }, + "engines": { + "node": ">=20.0.0", + "pnpm": ">=10.0.0" + } +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 00000000..cbe19e1d --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,16894 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + dependencies: + '@ant-design/icons': + specifier: ^6.2.3 + version: 6.2.5(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@ant-design/pro-components': + specifier: ^3.1.12-0 + version: 3.1.12-0(antd@6.4.3(date-fns@2.30.0)(moment@2.30.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@ant-design/x': + specifier: ^2.7.0 + version: 2.7.0(antd@6.4.3(date-fns@2.30.0)(moment@2.30.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@iconify/react': + specifier: ^6.0.2 + version: 6.0.2(react@19.2.6) + '@tanstack/react-query': + specifier: ^5.100.6 + version: 5.100.14(react@19.2.6) + '@umijs/max': + specifier: ^4.6.51 + version: 4.6.57(@babel/core@7.29.7)(@types/node@25.9.1)(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(dva@2.5.0-beta.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(lightningcss@1.22.1)(prettier@2.8.8)(rc-field-form@1.38.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(rollup@3.30.0)(sass@1.54.0)(styled-jsx@5.1.7(@babel/core@7.29.7)(react@19.2.6))(terser@5.48.0)(type-fest@0.20.2)(typescript@6.0.3)(webpack@5.107.2(lightningcss@1.22.1)(postcss@8.5.15)) + '@wangeditor-next/editor': + specifier: ^5.6.4 + version: 5.7.7 + '@wangeditor-next/editor-for-react': + specifier: ^1.0.10 + version: 1.0.11(@wangeditor-next/editor@5.7.7)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + ahooks: + specifier: ^3.9.7 + version: 3.9.7(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + antd: + specifier: ^6.4.3 + version: 6.4.3(date-fns@2.30.0)(moment@2.30.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + antd-style: + specifier: ^4.1.0 + version: 4.1.0(@types/react@19.2.15)(antd@6.4.3(date-fns@2.30.0)(moment@2.30.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + axios: + specifier: 1.16.1 + version: 1.16.1 + browser-image-compression: + specifier: ^2.0.2 + version: 2.0.2 + clsx: + specifier: ^2.1.1 + version: 2.1.1 + cropperjs: + specifier: ^1.6.2 + version: 1.6.2 + crypto-js: + specifier: 4.2.0 + version: 4.2.0 + dayjs: + specifier: ^1.11.20 + version: 1.11.21 + echarts: + specifier: ^6.0.0 + version: 6.1.0 + echarts-for-react: + specifier: ^3.0.2 + version: 3.0.6(echarts@6.1.0)(react@19.2.6) + jsencrypt: + specifier: 3.5.4 + version: 3.5.4 + nprogress: + specifier: 0.2.0 + version: 0.2.0 + react: + specifier: ^19.2.5 + version: 19.2.6 + react-cropper: + specifier: ^2.3.3 + version: 2.3.3(react@19.2.6) + react-dom: + specifier: ^19.2.5 + version: 19.2.6(react@19.2.6) + react-json-view-lite: + specifier: ^2.5.0 + version: 2.5.0(react@19.2.6) + react-syntax-highlighter: + specifier: ^16.1.1 + version: 16.1.1(react@19.2.6) + screenfull: + specifier: ^6.0.2 + version: 6.0.2 + zustand: + specifier: ^5.0.14 + version: 5.0.14(@types/react@19.2.15)(react@19.2.6)(use-sync-external-store@1.6.0(react@19.2.6)) + devDependencies: + '@types/crypto-js': + specifier: 4.2.2 + version: 4.2.2 + '@types/node': + specifier: ^25.9.1 + version: 25.9.1 + '@types/nprogress': + specifier: 0.2.3 + version: 0.2.3 + '@types/react': + specifier: ^19.2.14 + version: 19.2.15 + '@types/react-dom': + specifier: ^19.2.3 + version: 19.2.3(@types/react@19.2.15) + '@types/react-syntax-highlighter': + specifier: ^15.5.13 + version: 15.5.13 + '@umijs/lint': + specifier: ^4.6.51 + version: 4.6.57(eslint@8.35.0)(stylelint@14.8.2)(typescript@6.0.3) + '@umijs/max-plugin-openapi': + specifier: ^2.0.3 + version: 2.0.3(chokidar@3.6.0)(encoding@0.1.13)(typescript@6.0.3) + cross-env: + specifier: ^10.1.0 + version: 10.1.0 + oxfmt: + specifier: ^0.51.0 + version: 0.51.0 + oxlint: + specifier: ^1.66.0 + version: 1.67.0 + typescript: + specifier: ^6.0.3 + version: 6.0.3 + +packages: + + '@ahooksjs/use-request@2.8.15': + resolution: {integrity: sha512-xhVaM4fyIiAMdVFuuU5i3CFUdFa/IblF+fvITVMFaUEO3w/V5tVCAF6WIA3T03n1/RPuzRkA7Ao1PFtSGtGelw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 + + '@ampproject/remapping@2.3.0': + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + engines: {node: '>=6.0.0'} + + '@ant-design/antd-theme-variable@1.0.0': + resolution: {integrity: sha512-0vr5GCwM7xlAl6NxG1lPbABO+SYioNJL3HVy2FA8wTlsIMoZvQwcwsxTw6eLQCiN9V2UQ8kBtfz8DW8utVVE5w==} + + '@ant-design/colors@6.0.0': + resolution: {integrity: sha512-qAZRvPzfdWHtfameEGP2Qvuf838NhergR35o+EuVyB5XvSA98xod5r4utvi4TJ3ywmevm290g9nsCG5MryrdWQ==} + + '@ant-design/colors@7.2.1': + resolution: {integrity: sha512-lCHDcEzieu4GA3n8ELeZ5VQ8pKQAWcGGLRTQ50aQM2iqPpq2evTxER84jfdPvsPAtEcZ7m44NI45edFMo8oOYQ==} + + '@ant-design/colors@8.0.1': + resolution: {integrity: sha512-foPVl0+SWIslGUtD/xBr1p9U4AKzPhNYEseXYRRo5QSzGACYZrQbe11AYJbYfAWnWSpGBx6JjBmSeugUsD9vqQ==} + + '@ant-design/cssinjs-utils@2.1.2': + resolution: {integrity: sha512-5fTHQ158jJJ5dC/ECeyIdZUzKxE/mpEMRZxthyG1sw/AKRHKgJBg00Yi6ACVXgycdje7KahRNvNET/uBccwCnA==} + peerDependencies: + react: '>=18' + react-dom: '>=18' + + '@ant-design/cssinjs@1.24.0': + resolution: {integrity: sha512-K4cYrJBsgvL+IoozUXYjbT6LHHNt+19a9zkvpBPxLjFHas1UpPM2A5MlhROb0BT8N8WoavM5VsP9MeSeNK/3mg==} + peerDependencies: + react: '>=16.0.0' + react-dom: '>=16.0.0' + + '@ant-design/cssinjs@2.1.2': + resolution: {integrity: sha512-2Hy8BnCEH31xPeSLbhhB2ctCPXE2ZnASdi+KbSeS79BNbUhL9hAEe20SkUk+BR8aKTmqb6+FKFruk7w8z0VoRQ==} + peerDependencies: + react: '>=16.0.0' + react-dom: '>=16.0.0' + + '@ant-design/fast-color@2.0.6': + resolution: {integrity: sha512-y2217gk4NqL35giHl72o6Zzqji9O7vHh9YmhUVkPtAOpoTCH4uWxo/pr4VE8t0+ChEPs0qo4eJRC5Q1eXWo3vA==} + engines: {node: '>=8.x'} + + '@ant-design/fast-color@3.0.1': + resolution: {integrity: sha512-esKJegpW4nckh0o6kV3Tkb7NPIZYbPnnFxmQDUmL08ukXZAvV85TZBr70eGuke/CIArLaP6aw8lt9KILjnWuOw==} + engines: {node: '>=8.x'} + + '@ant-design/icons-svg@4.4.2': + resolution: {integrity: sha512-vHbT+zJEVzllwP+CM+ul7reTEfBR0vgxFe7+lREAsAA7YGsYpboiq2sQNeQeRvh09GfQgs/GyFEvZpJ9cLXpXA==} + + '@ant-design/icons@4.8.3': + resolution: {integrity: sha512-HGlIQZzrEbAhpJR6+IGdzfbPym94Owr6JZkJ2QCCnOkPVIWMO2xgIVcOKnl8YcpijIo39V7l2qQL5fmtw56cMw==} + engines: {node: '>=8'} + peerDependencies: + react: '>=16.0.0' + react-dom: '>=16.0.0' + + '@ant-design/icons@5.6.1': + resolution: {integrity: sha512-0/xS39c91WjPAZOWsvi1//zjx6kAp4kxWwctR6kuU6p133w8RU0D2dSCvZC19uQyharg/sAvYxGYWl01BbZZfg==} + engines: {node: '>=8'} + peerDependencies: + react: '>=16.0.0' + react-dom: '>=16.0.0' + + '@ant-design/icons@6.2.5': + resolution: {integrity: sha512-0hKtoKqTjGFOndUyJLJmC9Cg6k4rEO7rLo6xmgbNJH+/ZX1C57RVals2v1j1knHl9n7Q+sBOveTvn931wLOCKw==} + engines: {node: '>=8'} + peerDependencies: + react: '>=16.0.0' + react-dom: '>=16.0.0' + + '@ant-design/moment-webpack-plugin@0.0.3': + resolution: {integrity: sha512-MLm1FUpg02fP615ShQnCUN9la2E4RylDxKyolkGqAWTIHO4HyGM0A5x71AMALEyP/bC+UEEWBGSQ+D4/8hQ+ww==} + + '@ant-design/pro-card@2.10.0': + resolution: {integrity: sha512-sLONn1odmE0Wkbse8pol4WiaEzBV8JU5s3FAMflPpycfUcbSaa1ktXzQ7LCo2SAvOS7gkfmpFjBPtrfbigKh4g==} + peerDependencies: + antd: ^4.24.15 || ^5.11.2 + react: '>=17.0.0' + + '@ant-design/pro-components@2.8.10': + resolution: {integrity: sha512-QHnnIXdmC5GTAtm6i8eeJy5yT9npPlFyxpDm+duiDrTRKRFaAQBduArxlH3DA/hoRCCypzPONxfK9BQNIhIyZA==} + peerDependencies: + antd: ^4.24.15 || ^5.11.2 + react: '>=17.0.0' + react-dom: '>=17.0.0' + + '@ant-design/pro-components@3.1.12-0': + resolution: {integrity: sha512-Tpe82PZHK1lX2eLyO35yUx99r/ZpNcq/tI+4WthjfQ/qbkz8NzxPmzdN/krAtlRsKDhPr6SpfregPKqCVueGrQ==} + peerDependencies: + antd: ^6.0.0 + react: '>=18.0.0' + react-dom: '>=18.0.0' + + '@ant-design/pro-descriptions@2.6.10': + resolution: {integrity: sha512-+4MbiOfumnWlW0Awm4m8JML5o3lR649FD24AaivCmr8BQvIAAXdTITnDMXEg8BqvdP4KOvNsStZrvYfqoev33A==} + peerDependencies: + antd: ^4.24.15 || ^5.11.2 + react: '>=17.0.0' + + '@ant-design/pro-field@3.1.0': + resolution: {integrity: sha512-+Dgp31WjD+iwg9KIRAMgNkfQivkJKMcYBrIBmho1e8ep/O0HgWSp48g70tBIWi/Lfem/Ky2schF7O8XCFouczw==} + peerDependencies: + antd: ^4.24.15 || ^5.11.2 + react: '>=17.0.0' + + '@ant-design/pro-form@2.32.0': + resolution: {integrity: sha512-GZnVAMeYv+YHJb17lJ7rX5PYuQPvEA6EotQnPbHi9tGLN3PfexcAd21rqzuO+OrulU2x7TEMDIxtY9MzvvOGbg==} + peerDependencies: + antd: ^4.24.15 || ^5.11.2 + rc-field-form: '>=1.22.0' + react: '>=17.0.0' + react-dom: '>=17.0.0' + + '@ant-design/pro-layout@7.22.7': + resolution: {integrity: sha512-fvmtNA1r9SaasVIQIQt611VSlNxtVxDbQ3e+1GhYQza3tVJi/3gCZuDyfMfTnbLmf3PaW/YvLkn7MqDbzAzoLA==} + peerDependencies: + antd: ^4.24.15 || ^5.11.2 + react: '>=17.0.0' + react-dom: '>=17.0.0' + + '@ant-design/pro-list@2.6.10': + resolution: {integrity: sha512-xSWwnqCr+hPEYR4qY7nFUaxO5RQBxNlFaPNmobP2i+Im31slk9JuAusgWeIYO0mNhLJuLbxd8CCma2AZij3fBQ==} + peerDependencies: + antd: ^4.24.15 || ^5.11.2 + react: '>=17.0.0' + react-dom: '>=17.0.0' + + '@ant-design/pro-provider@2.16.2': + resolution: {integrity: sha512-0KmCH1EaOND787Jz6VRMYtLNZmqfT0JPjdUfxhyOxFfnBRfrjyfZgIa6CQoAJLEUMWv57PccWS8wRHVUUk2Yiw==} + peerDependencies: + antd: ^4.24.15 || ^5.11.2 + react: '>=17.0.0' + react-dom: '>=17.0.0' + + '@ant-design/pro-skeleton@2.2.1': + resolution: {integrity: sha512-3M2jNOZQZWEDR8pheY00OkHREfb0rquvFZLCa6DypGmiksiuuYuR9Y4iA82ZF+mva2FmpHekdwbje/GpbxqBeg==} + peerDependencies: + antd: ^4.24.15 || ^5.11.2 + react: '>=17.0.0' + react-dom: '>=17.0.0' + + '@ant-design/pro-table@3.21.0': + resolution: {integrity: sha512-sI81d3FYRv5sXamUc+M5CsHZ9CchuUQgOAPzo5H4oPAVL5h+mkYGRsBzPsxQX7khTNpWjrAtPoRm5ipx3vvWog==} + peerDependencies: + antd: ^4.24.15 || ^5.11.2 + rc-field-form: '>=1.22.0' + react: '>=17.0.0' + react-dom: '>=17.0.0' + + '@ant-design/pro-utils@2.18.0': + resolution: {integrity: sha512-8+ikyrN8L8a8Ph4oeHTOJEiranTj18+9+WHCHjKNdEfukI7Rjn8xpYdLJWb2AUJkb9d4eoAqjd5+k+7w81Df0w==} + peerDependencies: + antd: ^4.24.15 || ^5.11.2 + react: '>=17.0.0' + react-dom: '>=17.0.0' + + '@ant-design/react-slick@1.0.2': + resolution: {integrity: sha512-Wj8onxL/T8KQLFFiCA4t8eIRGpRR+UPgOdac2sYzonv+i0n3kXHmvHLLiOYL655DQx2Umii9Y9nNgL7ssu5haQ==} + peerDependencies: + react: '>=16.9.0' + + '@ant-design/react-slick@2.0.0': + resolution: {integrity: sha512-HMS9sRoEmZey8LsE/Yo6+klhlzU12PisjrVcydW3So7RdklyEd2qehyU6a7Yp+OYN72mgsYs3NFCyP2lCPFVqg==} + peerDependencies: + react: ^0.14.0 || ^15.0.1 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^0.14.0 || ^15.0.1 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + + '@ant-design/x@2.7.0': + resolution: {integrity: sha512-p5OtxQ9elbmeFRllGt1yj5wi6VHe41PIAmwrBU/OlaYydru5qIYsJzCS3DPRhkWkVdErU5oZwU74Z2oce2F5Uw==} + peerDependencies: + antd: ^6.1.1 + react: '>=18.0.0' + react-dom: '>=18.0.0' + + '@antfu/install-pkg@0.1.1': + resolution: {integrity: sha512-LyB/8+bSfa0DFGC06zpCEfs89/XoWZwws5ygEa5D+Xsm3OfI+aXQ86VgVG7Acyef+rSZ5HE7J8rrxzrQeM3PjQ==} + + '@antfu/install-pkg@1.1.0': + resolution: {integrity: sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==} + + '@antfu/utils@0.7.10': + resolution: {integrity: sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww==} + + '@babel/code-frame@7.22.5': + resolution: {integrity: sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==} + engines: {node: '>=6.9.0'} + + '@babel/code-frame@7.29.7': + resolution: {integrity: sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==} + engines: {node: '>=6.9.0'} + + '@babel/compat-data@7.29.7': + resolution: {integrity: sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.23.6': + resolution: {integrity: sha512-FxpRyGjrMJXh7X3wGLGhNDCRiwpWEF74sKjTLDJSG5Kyvow3QZaG0Adbqzi9ZrVjTWpsX+2cxWXD71NMg93kdw==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.29.7': + resolution: {integrity: sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==} + engines: {node: '>=6.9.0'} + + '@babel/eslint-parser@7.23.3': + resolution: {integrity: sha512-9bTuNlyx7oSstodm1cR1bECj4fkiknsDa1YniISkJemMY3DGhJNYBECbe6QD/q54mp2J8VO66jW3/7uP//iFCw==} + engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0} + peerDependencies: + '@babel/core': ^7.11.0 + eslint: ^7.5.0 || ^8.0.0 + + '@babel/generator@7.2.0': + resolution: {integrity: sha512-BA75MVfRlFQG2EZgFYIwyT1r6xSkwfP2bdkY/kLZusEYWiJs4xCowab/alaEaT0wSvmVuXGqiefeBlP+7V1yKg==} + + '@babel/generator@7.29.7': + resolution: {integrity: sha512-DkXD5OJQaAQIdZ1bt3UZdEnHAn9Imd3IVBdX03UFe+ony9Ojw5pzr9YVKGDY1jt+Gcn/FnGkNf8r+Vj5NOJWtQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-annotate-as-pure@7.29.7': + resolution: {integrity: sha512-OoK6239jHPuSQOoS0kfTVKn0b/rVTk0seKq4Gd2UMLtmOVLjDC0ki3e+c90Trqv2gMfvJFqkiljrr568+qddiw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-compilation-targets@7.29.7': + resolution: {integrity: sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==} + engines: {node: '>=6.9.0'} + + '@babel/helper-globals@7.29.7': + resolution: {integrity: sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-imports@7.29.7': + resolution: {integrity: sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-transforms@7.29.7': + resolution: {integrity: sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-plugin-utils@7.29.7': + resolution: {integrity: sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-simple-access@7.29.7': + resolution: {integrity: sha512-2VKeSThsbUc6bLt0bc7CgUbmr96Qzw3fPSuLwx5xONgWX9zBX14daNDr5s83lJe9A+WzSANKeImsfssIHGtZPA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-string-parser@7.29.7': + resolution: {integrity: sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.29.7': + resolution: {integrity: sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-option@7.29.7': + resolution: {integrity: sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==} + engines: {node: '>=6.9.0'} + + '@babel/helpers@7.29.7': + resolution: {integrity: sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==} + engines: {node: '>=6.9.0'} + + '@babel/highlight@7.25.9': + resolution: {integrity: sha512-llL88JShoCsth8fF8R4SJnIn+WLvR6ccFxu1H3FlMhDontdcmZWf2HgIZ7AIqV3Xcck1idlohrN4EUBQz6klbw==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.29.7': + resolution: {integrity: sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/plugin-syntax-async-generators@7.8.4': + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-bigint@7.8.3': + resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-class-properties@7.12.13': + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-class-static-block@7.14.5': + resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-attributes@7.29.7': + resolution: {integrity: sha512-zGYcYfq/WmZ4V+kBIXQon9dSSc8ircGZqw9ZaNhhGj9nZkeBu1jHLBDQqYYi5WA9uawvA2sIMbry2nCFhf5Djg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-meta@7.10.4': + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-json-strings@7.8.3': + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-jsx@7.29.7': + resolution: {integrity: sha512-TSu8+mHCoEaaCDEZ0I3+6mvTBYR4PCxQwf2z9/r5Tbztv6NaLR3B9thGTTxX2WGuGHJqRiAbKPeGTJ5XWXVg6A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-logical-assignment-operators@7.10.4': + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3': + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-numeric-separator@7.10.4': + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-object-rest-spread@7.8.3': + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-optional-catch-binding@7.8.3': + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-optional-chaining@7.8.3': + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-private-property-in-object@7.14.5': + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-top-level-await@7.14.5': + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-commonjs@7.23.3': + resolution: {integrity: sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx-self@7.29.7': + resolution: {integrity: sha512-TL0hMc9xzy86VD31nUiwzd5otRAcyEPcsegCxolO0PvcXuH1v0kECe/UIznYFihpkvU5wg/jk4v0TTEFfm53fw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx-source@7.29.7': + resolution: {integrity: sha512-06IyK09H3wi4cGbhDBwp5gUGo0IKtnYa8tyTiephirPCK6fbobVGiXMMI5zLQ4aKEYP3wZ3ArU44o+8KMrSG/Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/runtime@7.23.6': + resolution: {integrity: sha512-zHd0eUrf5GZoOWVCXp6koAKQTfZV07eit6bGPmJgnZdnSAvvZee6zniW2XMF7Cmc4ISOOnPy3QaSiIJGJkVEDQ==} + engines: {node: '>=6.9.0'} + + '@babel/runtime@7.29.7': + resolution: {integrity: sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw==} + engines: {node: '>=6.9.0'} + + '@babel/template@7.29.7': + resolution: {integrity: sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.29.7': + resolution: {integrity: sha512-EhlfNQtZ+NK22w5BM61ciuiq1m58ed33Wr1Xan//ZRTy6hgjnwyCffRYwzsGXdASJSUJ1guZILsErh1eQcl+zw==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.29.7': + resolution: {integrity: sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==} + engines: {node: '>=6.9.0'} + + '@bloomberg/record-tuple-polyfill@0.0.4': + resolution: {integrity: sha512-h0OYmPR3A5Dfbetra/GzxBAzQk8sH7LhRkRUTdagX6nrtlUgJGYCTv4bBK33jsTQw9HDd8PE2x1Ma+iRKEDUsw==} + + '@braintree/sanitize-url@7.1.2': + resolution: {integrity: sha512-jigsZK+sMF/cuiB7sERuo9V7N9jx+dhmHHnQyDSVdpZwVutaBu7WvNYqMDLSgFgfB30n452TP3vjDAvFC973mA==} + + '@chenshuai2144/sketch-color@1.0.9': + resolution: {integrity: sha512-obzSy26cb7Pm7OprWyVpgMpIlrZpZ0B7vbrU0RMbvRg0YAI890S5Xy02Aj1Nhl4+KTbi1lVYHt6HQP8Hm9s+1w==} + peerDependencies: + react: '>=16.12.0' + + '@chevrotain/types@11.1.2': + resolution: {integrity: sha512-U+HFai5+zmJCkK86QsaJtoITlboZHBqrVketcO2ROv865xfCMSFpELQoz1GkX5GzME8pTa+3kbKrZHQtI0gdbw==} + + '@csstools/postcss-color-function@1.1.1': + resolution: {integrity: sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + + '@csstools/postcss-font-format-keywords@1.0.1': + resolution: {integrity: sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + + '@csstools/postcss-hwb-function@1.0.2': + resolution: {integrity: sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + + '@csstools/postcss-ic-unit@1.0.1': + resolution: {integrity: sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + + '@csstools/postcss-is-pseudo-class@2.0.7': + resolution: {integrity: sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + + '@csstools/postcss-normalize-display-values@1.0.1': + resolution: {integrity: sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + + '@csstools/postcss-oklab-function@1.1.1': + resolution: {integrity: sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + + '@csstools/postcss-progressive-custom-properties@1.3.0': + resolution: {integrity: sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.3 + + '@csstools/postcss-stepped-value-functions@1.0.1': + resolution: {integrity: sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + + '@csstools/postcss-unset-value@1.0.2': + resolution: {integrity: sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + + '@csstools/selector-specificity@2.2.0': + resolution: {integrity: sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==} + engines: {node: ^14 || ^16 || >=18} + peerDependencies: + postcss-selector-parser: ^6.0.10 + + '@ctrl/tinycolor@3.6.1': + resolution: {integrity: sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==} + engines: {node: '>=10'} + + '@ctrl/tinycolor@4.2.0': + resolution: {integrity: sha512-kzyuwOAQnXJNLS9PSyrk0CWk35nWJW/zl/6KvnTBMFK65gm7U1/Z5BqjxeapjZCIhQcM/DsrEmcbRwDyXyXK4A==} + engines: {node: '>=14'} + + '@dnd-kit/accessibility@3.1.1': + resolution: {integrity: sha512-2P+YgaXF+gRsIihwwY1gCsQSYnu9Zyj2py8kY5fFvUM1qm2WA2u639R6YNVfU4GWr+ZM5mqEsfHZZLoRONbemw==} + peerDependencies: + react: '>=16.8.0' + + '@dnd-kit/core@6.3.1': + resolution: {integrity: sha512-xkGBRQQab4RLwgXxoqETICr6S5JlogafbhNsidmrkVv2YRs5MLwpjoF2qpiGjQt8S9AoxtIV603s0GIUpY5eYQ==} + peerDependencies: + react: '>=16.8.0' + react-dom: '>=16.8.0' + + '@dnd-kit/modifiers@6.0.1': + resolution: {integrity: sha512-rbxcsg3HhzlcMHVHWDuh9LCjpOVAgqbV78wLGI8tziXY3+qcMQ61qVXIvNKQFuhj75dSfD+o+PYZQ/NUk2A23A==} + peerDependencies: + '@dnd-kit/core': ^6.0.6 + react: '>=16.8.0' + + '@dnd-kit/modifiers@9.0.0': + resolution: {integrity: sha512-ybiLc66qRGuZoC20wdSSG6pDXFikui/dCNGthxv4Ndy8ylErY0N3KVxY2bgo7AWwIbxDmXDg3ylAFmnrjcbVvw==} + peerDependencies: + '@dnd-kit/core': ^6.3.0 + react: '>=16.8.0' + + '@dnd-kit/sortable@10.0.0': + resolution: {integrity: sha512-+xqhmIIzvAYMGfBYYnbKuNicfSsk4RksY2XdmJhT+HAC01nix6fHCztU68jooFiMUB01Ky3F0FyOvhG/BZrWkg==} + peerDependencies: + '@dnd-kit/core': ^6.3.0 + react: '>=16.8.0' + + '@dnd-kit/sortable@7.0.2': + resolution: {integrity: sha512-wDkBHHf9iCi1veM834Gbk1429bd4lHX4RpAwT0y2cHLf246GAvU2sVw/oxWNpPKQNQRQaeGXhAVgrOl1IT+iyA==} + peerDependencies: + '@dnd-kit/core': ^6.0.7 + react: '>=16.8.0' + + '@dnd-kit/utilities@3.2.2': + resolution: {integrity: sha512-+MKAJEOfaBe5SmV6t34p80MMKhjvUz0vRrvVJbPT0WElzaOJ/1xs+D+KDv+tD/NE5ujfrChEcshd4fLn0wpiqg==} + peerDependencies: + react: '>=16.8.0' + + '@emotion/babel-plugin@11.13.5': + resolution: {integrity: sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ==} + + '@emotion/cache@11.14.0': + resolution: {integrity: sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA==} + + '@emotion/css@11.13.5': + resolution: {integrity: sha512-wQdD0Xhkn3Qy2VNcIzbLP9MR8TafI0MJb7BEAXKp+w4+XqErksWR4OXomuDzPsN4InLdGhVe6EYcn2ZIUCpB8w==} + + '@emotion/hash@0.8.0': + resolution: {integrity: sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==} + + '@emotion/hash@0.9.2': + resolution: {integrity: sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==} + + '@emotion/is-prop-valid@1.4.0': + resolution: {integrity: sha512-QgD4fyscGcbbKwJmqNvUMSE02OsHUa+lAWKdEUIJKgqe5IwRSKd7+KhibEWdaKwgjLj0DRSHA9biAIqGBk05lw==} + + '@emotion/memoize@0.9.0': + resolution: {integrity: sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==} + + '@emotion/react@11.14.0': + resolution: {integrity: sha512-O000MLDBDdk/EohJPFUqvnp4qnHeYkVP5B0xEG0D/L7cOKP9kefu2DXn8dj74cQfsEzUqh+sr1RzFqiL1o+PpA==} + peerDependencies: + '@types/react': '*' + react: '>=16.8.0' + peerDependenciesMeta: + '@types/react': + optional: true + + '@emotion/serialize@1.3.3': + resolution: {integrity: sha512-EISGqt7sSNWHGI76hC7x1CksiXPahbxEOrC5RjmFRJTqLyEK9/9hZvBbiYn70dw4wuwMKiEMCUlR6ZXTSWQqxA==} + + '@emotion/sheet@1.4.0': + resolution: {integrity: sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==} + + '@emotion/unitless@0.10.0': + resolution: {integrity: sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg==} + + '@emotion/unitless@0.7.5': + resolution: {integrity: sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==} + + '@emotion/unitless@0.8.1': + resolution: {integrity: sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==} + + '@emotion/use-insertion-effect-with-fallbacks@1.2.0': + resolution: {integrity: sha512-yJMtVdH59sxi/aVJBpk9FQq+OR8ll5GT8oWd57UpeaKEVGab41JWaCFA7FRLoMLloOZF/c/wsPoe+bfGmRKgDg==} + peerDependencies: + react: '>=16.8.0' + + '@emotion/utils@1.4.2': + resolution: {integrity: sha512-3vLclRofFziIa3J2wDh9jjbkUz9qk5Vi3IZ/FSTKViB0k+ef0fPV7dYrUIugbgupYDx7v9ud/SjrtEP8Y4xLoA==} + + '@emotion/weak-memoize@0.4.0': + resolution: {integrity: sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==} + + '@epic-web/invariant@1.0.0': + resolution: {integrity: sha512-lrTPqgvfFQtR/eY/qkIzp98OGdNJu0m5ji3q/nJI8v3SXkRKEnWiOxMmbvcSoAIzv/cGiuvRy57k4suKQSAdwA==} + + '@esbuild-kit/cjs-loader@2.4.4': + resolution: {integrity: sha512-NfsJX4PdzhwSkfJukczyUiZGc7zNNWZcEAyqeISpDnn0PTfzMJR1aR8xAIPskBejIxBJbIgCCMzbaYa9SXepIg==} + deprecated: 'Merged into tsx: https://tsx.is' + + '@esbuild-kit/core-utils@3.3.2': + resolution: {integrity: sha512-sPRAnw9CdSsRmEtnsl2WXWdyquogVpB3yZ3dgwJfe8zrOzTsV7cJvmwrKVa+0ma5BoiGJ+BoqkMvawbayKUsqQ==} + deprecated: 'Merged into tsx: https://tsx.is' + + '@esbuild-kit/esm-loader@2.6.5': + resolution: {integrity: sha512-FxEMIkJKnodyA1OaCUoEvbYRkoZlLZ4d/eXFu9Fh8CbBBgP5EmZxrfTRyN0qpXZ4vOvqnE5YdRdcrmUUXuU+dA==} + deprecated: 'Merged into tsx: https://tsx.is' + + '@esbuild/aix-ppc64@0.21.4': + resolution: {integrity: sha512-Zrm+B33R4LWPLjDEVnEqt2+SLTATlru1q/xYKVn8oVTbiRBGmK2VIMoIYGJDGyftnGaC788IuzGFAlb7IQ0Y8A==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.18.20': + resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm64@0.21.4': + resolution: {integrity: sha512-fYFnz+ObClJ3dNiITySBUx+oNalYUT18/AryMxfovLkYWbutXsct3Wz2ZWAcGGppp+RVVX5FiXeLYGi97umisA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm@0.18.20': + resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + + '@esbuild/android-arm@0.21.4': + resolution: {integrity: sha512-E7H/yTd8kGQfY4z9t3nRPk/hrhaCajfA3YSQSBrst8B+3uTcgsi8N+ZWYCaeIDsiVs6m65JPCaQN/DxBRclF3A==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.18.20': + resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + + '@esbuild/android-x64@0.21.4': + resolution: {integrity: sha512-mDqmlge3hFbEPbCWxp4fM6hqq7aZfLEHZAKGP9viq9wMUBVQx202aDIfc3l+d2cKhUJM741VrCXEzRFhPDKH3Q==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.18.20': + resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-arm64@0.21.4': + resolution: {integrity: sha512-72eaIrDZDSiWqpmCzVaBD58c8ea8cw/U0fq/PPOTqE3c53D0xVMRt2ooIABZ6/wj99Y+h4ksT/+I+srCDLU9TA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-x64@0.18.20': + resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + + '@esbuild/darwin-x64@0.21.4': + resolution: {integrity: sha512-uBsuwRMehGmw1JC7Vecu/upOjTsMhgahmDkWhGLWxIgUn2x/Y4tIwUZngsmVb6XyPSTXJYS4YiASKPcm9Zitag==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.18.20': + resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-arm64@0.21.4': + resolution: {integrity: sha512-8JfuSC6YMSAEIZIWNL3GtdUT5NhUA/CMUCpZdDRolUXNAXEE/Vbpe6qlGLpfThtY5NwXq8Hi4nJy4YfPh+TwAg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.18.20': + resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.21.4': + resolution: {integrity: sha512-8d9y9eQhxv4ef7JmXny7591P/PYsDFc4+STaxC1GBv0tMyCdyWfXu2jBuqRsyhY8uL2HU8uPyscgE2KxCY9imQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.18.20': + resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm64@0.21.4': + resolution: {integrity: sha512-/GLD2orjNU50v9PcxNpYZi+y8dJ7e7/LhQukN3S4jNDXCKkyyiyAz9zDw3siZ7Eh1tRcnCHAo/WcqKMzmi4eMQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm@0.18.20': + resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-arm@0.21.4': + resolution: {integrity: sha512-2rqFFefpYmpMs+FWjkzSgXg5vViocqpq5a1PSRgT0AvSgxoXmGF17qfGAzKedg6wAwyM7UltrKVo9kxaJLMF/g==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-ia32@0.18.20': + resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-ia32@0.21.4': + resolution: {integrity: sha512-pNftBl7m/tFG3t2m/tSjuYeWIffzwAZT9m08+9DPLizxVOsUl8DdFzn9HvJrTQwe3wvJnwTdl92AonY36w/25g==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-loong64@0.18.20': + resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-loong64@0.21.4': + resolution: {integrity: sha512-cSD2gzCK5LuVX+hszzXQzlWya6c7hilO71L9h4KHwqI4qeqZ57bAtkgcC2YioXjsbfAv4lPn3qe3b00Zt+jIfQ==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-mips64el@0.18.20': + resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-mips64el@0.21.4': + resolution: {integrity: sha512-qtzAd3BJh7UdbiXCrg6npWLYU0YpufsV9XlufKhMhYMJGJCdfX/G6+PNd0+v877X1JG5VmjBLUiFB0o8EUSicA==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-ppc64@0.18.20': + resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-ppc64@0.21.4': + resolution: {integrity: sha512-yB8AYzOTaL0D5+2a4xEy7OVvbcypvDR05MsB/VVPVA7nL4hc5w5Dyd/ddnayStDgJE59fAgNEOdLhBxjfx5+dg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.18.20': + resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-riscv64@0.21.4': + resolution: {integrity: sha512-Y5AgOuVzPjQdgU59ramLoqSSiXddu7F3F+LI5hYy/d1UHN7K5oLzYBDZe23QmQJ9PIVUXwOdKJ/jZahPdxzm9w==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.18.20': + resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-s390x@0.21.4': + resolution: {integrity: sha512-Iqc/l/FFwtt8FoTK9riYv9zQNms7B8u+vAI/rxKuN10HgQIXaPzKZc479lZ0x6+vKVQbu55GdpYpeNWzjOhgbA==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.18.20': + resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + + '@esbuild/linux-x64@0.21.4': + resolution: {integrity: sha512-Td9jv782UMAFsuLZINfUpoF5mZIbAj+jv1YVtE58rFtfvoKRiKSkRGQfHTgKamLVT/fO7203bHa3wU122V/Bdg==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-x64@0.18.20': + resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.21.4': + resolution: {integrity: sha512-Awn38oSXxsPMQxaV0Ipb7W/gxZtk5Tx3+W+rAPdZkyEhQ6968r9NvtkjhnhbEgWXYbgV+JEONJ6PcdBS+nlcpA==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-x64@0.18.20': + resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.21.4': + resolution: {integrity: sha512-IsUmQeCY0aU374R82fxIPu6vkOybWIMc3hVGZ3ChRwL9hA1TwY+tS0lgFWV5+F1+1ssuvvXt3HFqe8roCip8Hg==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + + '@esbuild/sunos-x64@0.18.20': + resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + + '@esbuild/sunos-x64@0.21.4': + resolution: {integrity: sha512-hsKhgZ4teLUaDA6FG/QIu2q0rI6I36tZVfM4DBZv3BG0mkMIdEnMbhc4xwLvLJSS22uWmaVkFkqWgIS0gPIm+A==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.18.20': + resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-arm64@0.21.4': + resolution: {integrity: sha512-UUfMgMoXPoA/bvGUNfUBFLCh0gt9dxZYIx9W4rfJr7+hKe5jxxHmfOK8YSH4qsHLLN4Ck8JZ+v7Q5fIm1huErg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.18.20': + resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-ia32@0.21.4': + resolution: {integrity: sha512-yIxbspZb5kGCAHWm8dexALQ9en1IYDfErzjSEq1KzXFniHv019VT3mNtTK7t8qdy4TwT6QYHI9sEZabONHg+aw==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.18.20': + resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + + '@esbuild/win32-x64@0.21.4': + resolution: {integrity: sha512-sywLRD3UK/qRJt0oBwdpYLBibk7KiRfbswmWRDabuncQYSlf8aLEEUor/oP6KRz8KEG+HoiVLBhPRD5JWjS8Sg==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + + '@eslint-community/eslint-utils@4.9.1': + resolution: {integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + + '@eslint-community/regexpp@4.12.2': + resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + + '@eslint/eslintrc@2.1.4': + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + '@eslint/js@8.35.0': + resolution: {integrity: sha512-JXdzbRiWclLVoD8sNUjR443VVlYqiYmDVT6rGUEIEHU5YJW0gaVZwV2xgM7D4arkvASqD0IlLUVjHiFuxaftRw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + '@exodus/schemasafe@1.3.0': + resolution: {integrity: sha512-5Aap/GaRupgNx/feGBwLLTVv8OQFfv3pq2lPRzPg9R+IOBnDgghTGW7l7EuVXOvg5cc/xSAlRW8rBrjIC3Nvqw==} + + '@floating-ui/core@0.6.2': + resolution: {integrity: sha512-jktYRmZwmau63adUG3GKOAVCofBXkk55S/zQ94XOorAHhwqFIOFAy1rSp2N0Wp6/tGbe9V3u/ExlGZypyY17rg==} + + '@floating-ui/dom@0.4.5': + resolution: {integrity: sha512-b+prvQgJt8pieaKYMSJBXHxX/DYwdLsAWxKYqnO5dO2V4oo/TYBZJAUQCVNjTWWsrs6o4VDrNcP9+E70HAhJdw==} + + '@floating-ui/react-dom-interactions@0.3.1': + resolution: {integrity: sha512-tP2KEh7EHJr5hokSBHcPGojb+AorDNUf0NYfZGg/M+FsMvCOOsSEeEF0O1NDfETIzDnpbHnCs0DuvCFhSMSStg==} + deprecated: Package renamed to @floating-ui/react + + '@floating-ui/react-dom@0.6.3': + resolution: {integrity: sha512-hC+pS5D6AgS2wWjbmSQ6UR6Kpy+drvWGJIri6e1EDGADTPsCaa4KzCgmCczHrQeInx9tqs81EyDmbKJYY2swKg==} + peerDependencies: + react: '>=16.8.0' + react-dom: '>=16.8.0' + + '@formatjs/intl-displaynames@1.2.10': + resolution: {integrity: sha512-GROA2RP6+7Ouu0WnHFF78O5XIU7pBfI19WM1qm93l6MFWibUk67nCfVCK3VAYJkLy8L8ZxjkYT11VIAfvSz8wg==} + + '@formatjs/intl-listformat@1.4.8': + resolution: {integrity: sha512-WNMQlEg0e50VZrGIkgD5n7+DAMGt3boKi1GJALfhFMymslJb5i+5WzWxyj/3a929Z6MAFsmzRIJjKuv+BxKAOQ==} + + '@formatjs/intl-relativetimeformat@4.5.16': + resolution: {integrity: sha512-IQ0haY97oHAH5OYUdykNiepdyEWj3SAT+Fp9ZpR85ov2JNiFx+12WWlxlVS8ehdyncC2ZMt/SwFIy2huK2+6/A==} + + '@formatjs/intl-unified-numberformat@3.3.7': + resolution: {integrity: sha512-KnWgLRHzCAgT9eyt3OS34RHoyD7dPDYhRcuKn+/6Kv2knDF8Im43J6vlSW6Hm1w63fNq3ZIT1cFk7RuVO3Psag==} + deprecated: We have renamed the package to @formatjs/intl-numberformat + + '@formatjs/intl-utils@2.3.0': + resolution: {integrity: sha512-KWk80UPIzPmUg+P0rKh6TqspRw0G6eux1PuJr+zz47ftMaZ9QDwbGzHZbtzWkl5hgayM/qrKRutllRC7D/vVXQ==} + deprecated: the package is rather renamed to @formatjs/ecma-abstract with some changes in functionality (primarily selectUnit is removed and we don't plan to make any further changes to this package + + '@hono/node-server@1.19.14': + resolution: {integrity: sha512-GwtvgtXxnWsucXvbQXkRgqksiH2Qed37H9xHZocE5sA3N8O8O8/8FA3uclQXxXVzc9XBZuEOMK7+r02FmSpHtw==} + engines: {node: '>=18.14.1'} + peerDependencies: + hono: ^4 + + '@hono/node-ws@1.3.1': + resolution: {integrity: sha512-vo/MwCnpJAVHBkGzWjCJ28wF45fYHAfbPZcH2rodZODHtch2GHA94KtMfusmVycTUtsLAsaNsHhtY6P8X3RQsA==} + engines: {node: '>=18.14.1'} + peerDependencies: + '@hono/node-server': ^1.19.11 + hono: ^4.6.0 + + '@humanwhocodes/config-array@0.11.14': + resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} + engines: {node: '>=10.10.0'} + deprecated: Use @eslint/config-array instead + + '@humanwhocodes/module-importer@1.0.1': + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + + '@humanwhocodes/object-schema@2.0.3': + resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} + deprecated: Use @eslint/object-schema instead + + '@iconify/react@6.0.2': + resolution: {integrity: sha512-SMmC2sactfpJD427WJEDN6PMyznTFMhByK9yLW0gOTtnjzzbsi/Ke/XqsumsavFPwNiXs8jSiYeZTmLCLwO+Fg==} + peerDependencies: + react: '>=16' + + '@iconify/types@2.0.0': + resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} + + '@iconify/utils@2.1.1': + resolution: {integrity: sha512-H8xz74JDzDw8f0qLxwIaxFMnFkbXTZNWEufOk3WxaLFHV4h0A2FjIDgNk5LzC0am4jssnjdeJJdRs3UFu3582Q==} + + '@iconify/utils@3.1.3': + resolution: {integrity: sha512-LPKOXPn/zV+zis1oOfGWogaXVpqUybF3ZS6SCZIsz8vg0ivVp9+fVqyYB7xq0aiST/VhUQYGO1qo6uoYSiEJqw==} + + '@isaacs/cliui@8.0.2': + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + + '@istanbuljs/load-nyc-config@1.1.0': + resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} + engines: {node: '>=8'} + + '@istanbuljs/schema@0.1.6': + resolution: {integrity: sha512-+Sg6GCR/wy1oSmQDFq4LQDAhm3ETKnorxN+y5nbLULOR3P0c14f2Wurzj3/xqPXtasLFfHd5iRFQ7AJt4KH2cw==} + engines: {node: '>=8'} + + '@jest/schemas@29.6.3': + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/transform@29.7.0': + resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/types@24.9.0': + resolution: {integrity: sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==} + engines: {node: '>= 6'} + + '@jest/types@27.5.1': + resolution: {integrity: sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + '@jest/types@29.6.3': + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jridgewell/gen-mapping@0.3.13': + resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} + + '@jridgewell/remapping@2.3.5': + resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/source-map@0.3.11': + resolution: {integrity: sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==} + + '@jridgewell/sourcemap-codec@1.5.5': + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + + '@jridgewell/trace-mapping@0.3.31': + resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} + + '@loadable/component@5.15.2': + resolution: {integrity: sha512-ryFAZOX5P2vFkUdzaAtTG88IGnr9qxSdvLRvJySXcUA4B4xVWurUNADu3AnKPksxOZajljqTrDEDcYjeL4lvLw==} + engines: {node: '>=8'} + peerDependencies: + react: '>=16.3.0' + + '@mermaid-js/parser@1.1.1': + resolution: {integrity: sha512-VuHdsYMK1bT6X2JbcAaWAhugTRvRBRyuZgd+c22swUeI9g/ntaxF7CY7dYarhZovofCbUNO0G7JesfmNtjYOCw==} + + '@module-federation/error-codes@0.8.12': + resolution: {integrity: sha512-K+F4iiV62KY+IpjK6ggn3vI5Yt/T/LUb6xuazY78bhAGwLaHe1DYr7BfSutKMpiB+Dcs6U4dYOBogSMnnl0j4Q==} + + '@module-federation/runtime-core@0.6.20': + resolution: {integrity: sha512-rX7sd/i7tpkAbfMD4TtFt/57SWNC/iv7UYS8g+ad7mnCJggWE1YEKsKSFgcvp4zU3thwR+j2y+kOCwd1sQvxEA==} + + '@module-federation/runtime@0.8.12': + resolution: {integrity: sha512-eYohRfambj/qzxz6tEakDn459ROcixWO4zL5gmTEOmwG+jCDnxGR14j1guopyrrpjb6EKFNrPVWtYZTPPfGdQQ==} + + '@module-federation/sdk@0.8.12': + resolution: {integrity: sha512-zFgXYBHbzwIqlrLfn6ewIRXDZCctDDQT2nFhbsZr29yWQgpmW1fm2kJCxQsG0DENGGN1KpzfDoxjjvSKJS/ZHA==} + + '@module-federation/webpack-bundler-runtime@0.8.12': + resolution: {integrity: sha512-zd343RO7/R7Xjh5ym5KdnYQ70z4LBmMxWsa44FS0nyNv04sOq6V1eZSCGKbEhbfqqhbS5Wfj8OzJyedeVvV/OQ==} + + '@napi-rs/nice-android-arm-eabi@1.1.1': + resolution: {integrity: sha512-kjirL3N6TnRPv5iuHw36wnucNqXAO46dzK9oPb0wj076R5Xm8PfUVA9nAFB5ZNMmfJQJVKACAPd/Z2KYMppthw==} + engines: {node: '>= 10'} + cpu: [arm] + os: [android] + + '@napi-rs/nice-android-arm64@1.1.1': + resolution: {integrity: sha512-blG0i7dXgbInN5urONoUCNf+DUEAavRffrO7fZSeoRMJc5qD+BJeNcpr54msPF6qfDD6kzs9AQJogZvT2KD5nw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [android] + + '@napi-rs/nice-darwin-arm64@1.1.1': + resolution: {integrity: sha512-s/E7w45NaLqTGuOjC2p96pct4jRfo61xb9bU1unM/MJ/RFkKlJyJDx7OJI/O0ll/hrfpqKopuAFDV8yo0hfT7A==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@napi-rs/nice-darwin-x64@1.1.1': + resolution: {integrity: sha512-dGoEBnVpsdcC+oHHmW1LRK5eiyzLwdgNQq3BmZIav+9/5WTZwBYX7r5ZkQC07Nxd3KHOCkgbHSh4wPkH1N1LiQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@napi-rs/nice-freebsd-x64@1.1.1': + resolution: {integrity: sha512-kHv4kEHAylMYmlNwcQcDtXjklYp4FCf0b05E+0h6nDHsZ+F0bDe04U/tXNOqrx5CmIAth4vwfkjjUmp4c4JktQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [freebsd] + + '@napi-rs/nice-linux-arm-gnueabihf@1.1.1': + resolution: {integrity: sha512-E1t7K0efyKXZDoZg1LzCOLxgolxV58HCkaEkEvIYQx12ht2pa8hoBo+4OB3qh7e+QiBlp1SRf+voWUZFxyhyqg==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + + '@napi-rs/nice-linux-arm64-gnu@1.1.1': + resolution: {integrity: sha512-CIKLA12DTIZlmTaaKhQP88R3Xao+gyJxNWEn04wZwC2wmRapNnxCUZkVwggInMJvtVElA+D4ZzOU5sX4jV+SmQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@napi-rs/nice-linux-arm64-musl@1.1.1': + resolution: {integrity: sha512-+2Rzdb3nTIYZ0YJF43qf2twhqOCkiSrHx2Pg6DJaCPYhhaxbLcdlV8hCRMHghQ+EtZQWGNcS2xF4KxBhSGeutg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@napi-rs/nice-linux-ppc64-gnu@1.1.1': + resolution: {integrity: sha512-4FS8oc0GeHpwvv4tKciKkw3Y4jKsL7FRhaOeiPei0X9T4Jd619wHNe4xCLmN2EMgZoeGg+Q7GY7BsvwKpL22Tg==} + engines: {node: '>= 10'} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@napi-rs/nice-linux-riscv64-gnu@1.1.1': + resolution: {integrity: sha512-HU0nw9uD4FO/oGCCk409tCi5IzIZpH2agE6nN4fqpwVlCn5BOq0MS1dXGjXaG17JaAvrlpV5ZeyZwSon10XOXw==} + engines: {node: '>= 10'} + cpu: [riscv64] + os: [linux] + libc: [glibc] + + '@napi-rs/nice-linux-s390x-gnu@1.1.1': + resolution: {integrity: sha512-2YqKJWWl24EwrX0DzCQgPLKQBxYDdBxOHot1KWEq7aY2uYeX+Uvtv4I8xFVVygJDgf6/92h9N3Y43WPx8+PAgQ==} + engines: {node: '>= 10'} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@napi-rs/nice-linux-x64-gnu@1.1.1': + resolution: {integrity: sha512-/gaNz3R92t+dcrfCw/96pDopcmec7oCcAQ3l/M+Zxr82KT4DljD37CpgrnXV+pJC263JkW572pdbP3hP+KjcIg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@napi-rs/nice-linux-x64-musl@1.1.1': + resolution: {integrity: sha512-xScCGnyj/oppsNPMnevsBe3pvNaoK7FGvMjT35riz9YdhB2WtTG47ZlbxtOLpjeO9SqqQ2J2igCmz6IJOD5JYw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + libc: [musl] + + '@napi-rs/nice-openharmony-arm64@1.1.1': + resolution: {integrity: sha512-6uJPRVwVCLDeoOaNyeiW0gp2kFIM4r7PL2MczdZQHkFi9gVlgm+Vn+V6nTWRcu856mJ2WjYJiumEajfSm7arPQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [openharmony] + + '@napi-rs/nice-win32-arm64-msvc@1.1.1': + resolution: {integrity: sha512-uoTb4eAvM5B2aj/z8j+Nv8OttPf2m+HVx3UjA5jcFxASvNhQriyCQF1OB1lHL43ZhW+VwZlgvjmP5qF3+59atA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@napi-rs/nice-win32-ia32-msvc@1.1.1': + resolution: {integrity: sha512-CNQqlQT9MwuCsg1Vd/oKXiuH+TcsSPJmlAFc5frFyX/KkOh0UpBLEj7aoY656d5UKZQMQFP7vJNa1DNUNORvug==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] + + '@napi-rs/nice-win32-x64-msvc@1.1.1': + resolution: {integrity: sha512-vB+4G/jBQCAh0jelMTY3+kgFy00Hlx2f2/1zjMoH821IbplbWZOkLiTYXQkygNTzQJTq5cvwBDgn2ppHD+bglQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@napi-rs/nice@1.1.1': + resolution: {integrity: sha512-xJIPs+bYuc9ASBl+cvGsKbGrJmS6fAKaSZCnT0lhahT5rhA2VVy9/EcIgd2JhtEuFOJNx7UHNn/qiTPTY4nrQw==} + engines: {node: '>= 10'} + + '@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1': + resolution: {integrity: sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==} + + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + + '@oxfmt/binding-android-arm-eabi@0.51.0': + resolution: {integrity: sha512-Ni0sCqg5CIHaLIYFGj+ncbcumylvNC6FE4rfD0KfdmnWHbPJ+zev0qZCXKxy2hFVa0fYRK0yPzf5nzPbkZou7g==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [android] + + '@oxfmt/binding-android-arm64@0.51.0': + resolution: {integrity: sha512-eu5lAZjuo0KAkp+M24EhDqfOwA8owQ8d7wyBlOUUGRbDLHpU3IRlDHp8Dif+YqGlxs6jra7yS6WQu/NkPhAxeg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [android] + + '@oxfmt/binding-darwin-arm64@0.51.0': + resolution: {integrity: sha512-6LsUNIdURhhcIfIn8+xsOb61mSTa9msAHTeSGx9Jf4rsP/gN8PGCF+SKWPAQZbND2w/WBkqQ6303jqEEIXzMdQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [darwin] + + '@oxfmt/binding-darwin-x64@0.51.0': + resolution: {integrity: sha512-9aUMGmVxdHjYMsEAW1tNRoieTJXlVNDFkRvIR1J7LttJXWjVYCu2ekclLij2KJtxBxSQOYSHd12ME/adVGVbZg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [darwin] + + '@oxfmt/binding-freebsd-x64@0.51.0': + resolution: {integrity: sha512-mkY1nhZTqYb+NHaAWxOCKISN6FwdrwMNsu17vTUA3wzUV2VJ+Paq15ZokRcsMU/2PUdHO73prxyeJpjXQ3MPpQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [freebsd] + + '@oxfmt/binding-linux-arm-gnueabihf@0.51.0': + resolution: {integrity: sha512-wtFwNwE4+YCNuPaWoGDZeGsKvD6D1YSUNBJNn/rJBh7CrDBThFE+TBI5kY7vRW9rIOQRsbW2IpyyL3Du4Zqwiw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@oxfmt/binding-linux-arm-musleabihf@0.51.0': + resolution: {integrity: sha512-rnOaNx86G7iRKM6lsCIQMux0SMGNC/TEbFR+r7lpruJ12bnrIWgxd5w1PLqOvgR9r8ZJbpK/zfRKctJnh8/Jfg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@oxfmt/binding-linux-arm64-gnu@0.51.0': + resolution: {integrity: sha512-jOgDzSqWcICGRjsp4mc08FxKMN8vzP2Kgs4E0d2HUP99F+nJDQKklRV4Zuj+0gcBgjrzx2CbpqaIdUVPepCojA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@oxfmt/binding-linux-arm64-musl@0.51.0': + resolution: {integrity: sha512-KBUCdrH5bwVrAvI9gU/1S55oH6fzXjr++J/oVocdu7bYTks1l7DNNT+rLd/1TDdAEjObGwmfWamn7LC1m8A0DQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@oxfmt/binding-linux-ppc64-gnu@0.51.0': + resolution: {integrity: sha512-NapfjYsABFqTJ1Dn9Efq6sN5esaHconVKwVLbDGNQLrwpOx/g17mkwErHzU72PutL67nf3wNAkbq122H+zLxag==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@oxfmt/binding-linux-riscv64-gnu@0.51.0': + resolution: {integrity: sha512-5dlDt1dUZCVi6elIhiK1PWg9wpTzTcIuj0IZnSurvIoMrhOWqqTcc1dSTxcSkNaBZhfsNqRZdINI1zAgbKkJNQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + libc: [glibc] + + '@oxfmt/binding-linux-riscv64-musl@0.51.0': + resolution: {integrity: sha512-pgdWUJn0S5nulyiVdlFV8DzCUnGXkU99W5PSkkmbaZW+LrZBPxpezun4G0DDHbQaVYuJeCuKsXsGKGo77CkUTQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + libc: [musl] + + '@oxfmt/binding-linux-s390x-gnu@0.51.0': + resolution: {integrity: sha512-2XTFUe97CbDGAI8vjwDfZ1HdakO0XIADyJ24idEg64SC4/K4in/OisXVnrW4NMK7I6TgC7EqRhC0Ln/nKhAemA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@oxfmt/binding-linux-x64-gnu@0.51.0': + resolution: {integrity: sha512-kQ1OuCqqt/yyf0ZN9VFxW1/JnlgJgii3Dr7pWf9vNBvrX1hv6g39/+mc5oGRHRGJFZtl3zsGDWR9c5N2B/gwBw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@oxfmt/binding-linux-x64-musl@0.51.0': + resolution: {integrity: sha512-ARTYqxHF475o96Gbn41hvSWSSRygPlRDXZZgZ9I2scU1y0qiWpCQyZCoefaQa0mwv+wwtZ+luS4YOzsRzM/izg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [musl] + + '@oxfmt/binding-openharmony-arm64@0.51.0': + resolution: {integrity: sha512-QiC1XrCl6a6BmqMzduO8hdIRMf1m44hCkt2Q68KWkTvUB/E7fd2iomyNh6KnnRca5w6eBrRAAtLFqTh+xjsjJA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [openharmony] + + '@oxfmt/binding-win32-arm64-msvc@0.51.0': + resolution: {integrity: sha512-NC/hJb9dtU23Zf8L7IVK95xnFjiQ7AfcLO2l5pb69TDEr958qxrtnB2CveeeNSCBFNIkgaTCfd/vHNSoG78l9g==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [win32] + + '@oxfmt/binding-win32-ia32-msvc@0.51.0': + resolution: {integrity: sha512-2C45za4Rj36n8YIbhRL1PQbxmXJYf81WEcAgvj5I4ptRROG+A+81hREEN5bmCHADE1UfYaN312U6tkILoZZy6w==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ia32] + os: [win32] + + '@oxfmt/binding-win32-x64-msvc@0.51.0': + resolution: {integrity: sha512-73RqdAuVKQTkjZIDw08JaDHUM4lav5Qu+CaPwg4QbbA7k8o7LEW0p3UsfZ/F8dsO/pwVYh3RzFcanwLRTTahbQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [win32] + + '@oxlint/binding-android-arm-eabi@1.67.0': + resolution: {integrity: sha512-VrSi571rDv1N8HaEDM+DEX8nmT0y9jJo8tzzW13vsOWTx59xQczCIJx68n2zWOXRT5YKZsOZXp4qkHN/10x4mw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [android] + + '@oxlint/binding-android-arm64@1.67.0': + resolution: {integrity: sha512-l6+NdYxMoRohix5r5bbigW16LPicceCwGcQ6LKKuE1kUdjgFfQolJjrJsQYPFetIs78Gxj/G/f5TEGoTCwj9nQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [android] + + '@oxlint/binding-darwin-arm64@1.67.0': + resolution: {integrity: sha512-jOzXxS1AxFxhImLIRbtGIMrEwaXcgMw3gR57WB1cRk8ai+vpr6726kxXqVvlNsrXtJ/FrmOm8RxlC0m8SW24Qg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [darwin] + + '@oxlint/binding-darwin-x64@1.67.0': + resolution: {integrity: sha512-3DFAVY94OqjIZHXIPz37yGRSWwOFTAqChQ64/M69GYLawzP0KiwdhDNfqdKKYT0bTR/DNxmMnQsj3ns+8+X/Lg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [darwin] + + '@oxlint/binding-freebsd-x64@1.67.0': + resolution: {integrity: sha512-e4dDKZuLu8TR9DEBssWSDahlPgZBwojTTHZUvnjBRJfJJbpxYCjfjKfi0Z1+CSLMiJBwI2yCDtRM1XJQaARjmg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [freebsd] + + '@oxlint/binding-linux-arm-gnueabihf@1.67.0': + resolution: {integrity: sha512-BKytFdcQzbITV3xlnzDUDTEDtbUMCCiC4EaNTDZ4FyT8gdNvBC4gfiLucXp/sQl0XU3p7syTlorUWVVVBZab2g==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@oxlint/binding-linux-arm-musleabihf@1.67.0': + resolution: {integrity: sha512-XYAv0esBDX7BpTzRDjVX2Vdj+zndd8ll2dFQiaeQ6zTZr7A8GRDTN7fH3FP3jU+O0vCDx85oH/EtG7BzPgAXuw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@oxlint/binding-linux-arm64-gnu@1.67.0': + resolution: {integrity: sha512-zizRMjA0i6u/2B0evgda04iycu+MoNuf1pBy6Eh+1CjC5wMEG7qN5zdDKTCvFc0KSYSDM9QTG3gjZHirgtQuKg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@oxlint/binding-linux-arm64-musl@1.67.0': + resolution: {integrity: sha512-zB/Tf6sUjmmvvbva9Gj3JTJ8rJ9t4I8/U0o6vSRtd0DRIsIuyegBwJAzhSUFQHdMijIRJkW0exs/yBhpw2S20w==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@oxlint/binding-linux-ppc64-gnu@1.67.0': + resolution: {integrity: sha512-kgU40Gt74CK0TCsF51KZymkIwN9U0BajKsMijB52zPqOeZU9NAHkA/NSQkZDHEaCakx42DxhXkODiAqf2b4Gug==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@oxlint/binding-linux-riscv64-gnu@1.67.0': + resolution: {integrity: sha512-tOYhkk/iaG9aD3FvGpBFd1Lrw0x0RaVoJBxjUkfNzS50rC5NS5BteNCwgr8A2zCdADrIIoze6D7u6U5Ic++/iQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + libc: [glibc] + + '@oxlint/binding-linux-riscv64-musl@1.67.0': + resolution: {integrity: sha512-sEtywrPb+0b+tHYl1SDCrw903fiC4eyKoNqzP3v+f2JT3Xcv4NEYG+P8rj+eEnX7IWhqV/xj8/JmcmVj21CXaA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + libc: [musl] + + '@oxlint/binding-linux-s390x-gnu@1.67.0': + resolution: {integrity: sha512-BvR8Moa0zCLxroOx4vZaZN9nUfwAUpSTwjZdxZyKy4bv3PrzrXrxKR/ZQ0L9wNSvlPhnMJeZfa3q5w6ZCTuN6Q==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@oxlint/binding-linux-x64-gnu@1.67.0': + resolution: {integrity: sha512-mm2cxM6fksOpq6l0uFws8BUGKAR4dNa/cZCn37Npq7PFbhD5HDJqWfnoIvTaeRKMy5XdS2tO0MA0qbHDrnXAAA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@oxlint/binding-linux-x64-musl@1.67.0': + resolution: {integrity: sha512-WmbMuLapKyDlobMkXAaAL0Y+Uczh4LETfIfQsUpbId4Ip8Ai82/jqeYTOoUCkuuhBFapgqP253+d83tLKOksJg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [musl] + + '@oxlint/binding-openharmony-arm64@1.67.0': + resolution: {integrity: sha512-9g/PqxYJelzzTAOR5Y+RiRqdeydhEuXv2KxNeFcAKQ7UsvnWSY1OP4MsuPMbTO2Pf70tz7mFhl1j13H3fyh+8g==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [openharmony] + + '@oxlint/binding-win32-arm64-msvc@1.67.0': + resolution: {integrity: sha512-2VhwE6Gatb0vJGnN0TBuQMbKCOiZlSQ/zJvVWYLK4a9d4iDiJOen/yVQkGpmsJ90MuH66fzi0kEKI0jRQMDxGA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [win32] + + '@oxlint/binding-win32-ia32-msvc@1.67.0': + resolution: {integrity: sha512-EQ3VExXfeM1InbE5+JjufhZZTWy+kHUwgt3yZR7gQ47Je/mE0WspQPan0OJznh493L5anM210YNJtH1PXjTSFg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ia32] + os: [win32] + + '@oxlint/binding-win32-x64-msvc@1.67.0': + resolution: {integrity: sha512-bw24y+/1MHS4QDkons3YyHkPT9uCMoLHHgQhb+mb8NOjTYwub1CZ+K9Ngr8aO5DMrDrkqHwTzlTwFP2vS8Y/ZQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [win32] + + '@pkgjs/parseargs@0.11.0': + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + + '@pkgr/utils@2.4.2': + resolution: {integrity: sha512-POgTXhjrTfbTV63DiFXav4lBHiICLKKwDeaKn9Nphwj7WH6m0hMMCaJkMyRWjgtPFyRKRVoMXXjczsTQRDEhYw==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + + '@rc-component/async-validator@5.1.0': + resolution: {integrity: sha512-n4HcR5siNUXRX23nDizbZBQPO0ZM/5oTtmKZ6/eqL0L2bo747cklFdZGRN2f+c9qWGICwDzrhW0H7tE9PptdcA==} + engines: {node: '>=14.x'} + + '@rc-component/cascader@1.15.0': + resolution: {integrity: sha512-ZzpMtwFCRo3fbXHuDnncARJMZQjdqA2w7aDuPofNQt+aDx39st1hgfIpEwTBLhe2Hqsvs/zOr8RTtgxTkCPySw==} + peerDependencies: + react: '>=18.0.0' + react-dom: '>=18.0.0' + + '@rc-component/checkbox@2.0.0': + resolution: {integrity: sha512-3CXGPpAR9gsPKeO2N78HAPOzU30UdemD6HGJoWVJOpa6WleaGB5kzZj3v6bdTZab31YuWgY/RxV3VKPctn0DwQ==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + '@rc-component/collapse@1.2.0': + resolution: {integrity: sha512-ZRYSKSS39qsFx93p26bde7JUZJshsUBEQRlRXPuJYlAiNX0vyYlF5TsAm8JZN3LcF8XvKikdzPbgAtXSbkLUkw==} + peerDependencies: + react: '>=18.0.0' + react-dom: '>=18.0.0' + + '@rc-component/color-picker@3.1.1': + resolution: {integrity: sha512-OHaCHLHszCegdXmIq2ZRIZBN/EtpT6Wm8SG/gpzLATHbVKc/avvuKi+zlOuk05FTWvgaMmpxAko44uRJ3M+2pg==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + '@rc-component/context@2.0.1': + resolution: {integrity: sha512-HyZbYm47s/YqtP6pKXNMjPEMaukyg7P0qVfgMLzr7YiFNMHbK2fKTAGzms9ykfGHSfyf75nBbgWw+hHkp+VImw==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + '@rc-component/dialog@1.9.0': + resolution: {integrity: sha512-zbAAogkg4kkKum79sLE6M+vq1jSAW25zdkafrahgcTP9t9S//SD634Znd1A4c8F2Gc12ZKnehGLsVaaOvZzD2A==} + peerDependencies: + react: '>=18.0.0' + react-dom: '>=18.0.0' + + '@rc-component/drawer@1.4.2': + resolution: {integrity: sha512-1ib+fZEp6FBu+YvcIktm+nCQ+Q+qIpwpoaJH6opGr4ofh2QMq+qdr5DLC4oCf5qf3pcWX9lUWPYX652k4ini8Q==} + peerDependencies: + react: '>=18.0.0' + react-dom: '>=18.0.0' + + '@rc-component/dropdown@1.0.2': + resolution: {integrity: sha512-6PY2ecUSYhDPhkNHHb4wfeAya04WhpmUSKzdR60G+kMNVUCX2vjT/AgTS0Lz0I/K6xrPMJ3enQbwVpeN3sHCgg==} + peerDependencies: + react: '>=16.11.0' + react-dom: '>=16.11.0' + + '@rc-component/form@1.8.2': + resolution: {integrity: sha512-ZidCvOLmM9Xr+3vzk4UAoR7Aj1W/5IHyrzlBB7sNkygpTeRVrohQSo4TN7W/nARTH+nt8zSAPsn4BEl4zLEO2g==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + '@rc-component/image@1.9.0': + resolution: {integrity: sha512-khF7w7xkBH5B1bsBcI1FSUZdkyd1aqpl2eYyILCqCzzQH3XdfehGUaZTnptyaJJfs09/R5hv9jXWyazOMFIClQ==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + '@rc-component/input-number@1.6.2': + resolution: {integrity: sha512-Gjcq7meZlCOiWN1t1xCC+7/s85humHVokTBI7PJgTfoyw5OWF74y3e6P8PHX104g9+b54jsodFIzyaj6p8LI9w==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + '@rc-component/input@1.3.1': + resolution: {integrity: sha512-iFvTUT9W+JC/MSin2aGAk8NqsVlTzcExNC9DZariON1IWirju9NoNeEk47an4Q8iHazkoVI/y1LnDi88+CPcig==} + peerDependencies: + react: '>=16.0.0' + react-dom: '>=16.0.0' + + '@rc-component/mentions@1.9.0': + resolution: {integrity: sha512-WUwfFKDSOF5S9UPsNsXcLYtzjTxBGsftTXWRbZuxX6BYrsySISTnujfJNgaaQ6qVzaCDJ35QUkZKvsYxip1C5g==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + '@rc-component/menu@1.3.1': + resolution: {integrity: sha512-pSZl9nBPgKgxN0aaW7NilIBEwWsc+43S+ulGdWAg9afak96dNOGWsGx0DLLBB1VQsAJvo6bQMTDzXoPlEHsBEw==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + '@rc-component/mini-decimal@1.1.3': + resolution: {integrity: sha512-bk/FJ09fLf+NLODMAFll6CfYrHPBioTedhW6lxDBuuWucJEqFUd4l/D/5JgIi3dina6sYahB8iuPAZTNz2pMxw==} + engines: {node: '>=8.x'} + + '@rc-component/motion@1.3.2': + resolution: {integrity: sha512-itfd+GztzJYAb04Z4RkEub1TbJAfZc2Iuy8p44U44xD1F5+fNYFKI3897ijlbIyfvXkTmMm+KGcjkQQGMHywEQ==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + '@rc-component/mutate-observer@2.0.1': + resolution: {integrity: sha512-AyarjoLU5YlxuValRi+w8JRH2Z84TBbFO2RoGWz9d8bSu0FqT8DtugH3xC3BV7mUwlmROFauyWuXFuq4IFbH+w==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + '@rc-component/notification@2.0.7': + resolution: {integrity: sha512-nqZzpf6BPdaj+3ILx7si79LLmqPKyUmQoXa+/9gg0SkH0v1DbD66oJgRMSBEVnd/zUT3D4gwxWIHUKebYf2ZXQ==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=18.0.0' + react-dom: '>=18.0.0' + + '@rc-component/overflow@1.0.1': + resolution: {integrity: sha512-syfmgAABaHCnCDzPwHZ/2tuvIcpOO3jefYZMmfkN+pmo8HKTzsfhS57vxo4ksPdN0By+uWVJhJWNFozNBxi2eA==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + '@rc-component/pagination@1.2.0': + resolution: {integrity: sha512-YcpUFE8dMLfSo6OARJlK6DbHHvrxz7pMGPGmC/caZSJJz6HRKHC1RPP001PRHCvG9Z/veD039uOQmazVuLJzlw==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + '@rc-component/picker@1.10.0': + resolution: {integrity: sha512-vVOXP2RVWozwpERGUFAehVH1Jz6o/uRrAb9qSZm1LC+iJs8rvEwFo1bzz2jlOYV+uWwu0dIuG86tnDui14Ea0w==} + engines: {node: '>=12.x'} + peerDependencies: + date-fns: '>= 2.x' + dayjs: '>= 1.x' + luxon: '>= 3.x' + moment: '>= 2.x' + react: '>=16.9.0' + react-dom: '>=16.9.0' + peerDependenciesMeta: + date-fns: + optional: true + dayjs: + optional: true + luxon: + optional: true + moment: + optional: true + + '@rc-component/portal@1.1.2': + resolution: {integrity: sha512-6f813C0IsasTZms08kfA8kPAGxbbkYToa8ALaiDIGGECU4i9hj8Plgbx0sNJDrey3EtHO30hmdaxtT0138xZcg==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + '@rc-component/portal@2.2.0': + resolution: {integrity: sha512-oc6FlA+uXCMiwArHsJyHcIkX4q6uKyndrPol2eWX8YPkAnztHOPsFIRtmWG4BMlGE5h7YIRE3NiaJ5VS8Lb1QQ==} + engines: {node: '>=12.x'} + peerDependencies: + react: '>=18.0.0' + react-dom: '>=18.0.0' + + '@rc-component/progress@1.0.2': + resolution: {integrity: sha512-WZUnH9eGxH1+xodZKqdrHke59uyGZSWgj5HBM5Kwk5BrTMuAORO7VJ2IP5Qbm9aH3n9x3IcesqHHR0NWPBC7fQ==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + '@rc-component/qrcode@1.1.1': + resolution: {integrity: sha512-LfLGNymzKdUPjXUbRP+xOhIWY4jQ+YMj5MmWAcgcAq1Ij8XP7tRmAXqyuv96XvLUBE/5cA8hLFl9eO1JQMujrA==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + '@rc-component/rate@1.0.1': + resolution: {integrity: sha512-bkXxeBqDpl5IOC7yL7GcSYjQx9G8H+6kLYQnNZWeBYq2OYIv1MONd6mqKTjnnJYpV0cQIU2z3atdW0j1kttpTw==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + '@rc-component/resize-observer@1.1.2': + resolution: {integrity: sha512-t/Bb0W8uvL4PYKAB3YcChC+DlHh0Wt5kM7q/J+0qpVEUMLe7Hk5zuvc9km0hMnTFPSx5Z7Wu/fzCLN6erVLE8Q==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + '@rc-component/segmented@1.3.0': + resolution: {integrity: sha512-5J/bJ01mbDnoA6P/FW8SxUvKn+OgUSTZJPzCNnTBntG50tzoP7DydGhqxp7ggZXZls7me3mc2EQDXakU3iTVFg==} + peerDependencies: + react: '>=16.0.0' + react-dom: '>=16.0.0' + + '@rc-component/select@1.6.15': + resolution: {integrity: sha512-SyVCWnqxCQZZcQvQJ/CxSjx2bGma6ds/HtnpkIfZVnt6RoEgbqUmHgD6vrzNarNXwbLXerwVzWwq8F3d1sst7g==} + engines: {node: '>=8.x'} + peerDependencies: + react: '*' + react-dom: '*' + + '@rc-component/slider@1.0.1': + resolution: {integrity: sha512-uDhEPU1z3WDfCJhaL9jfd2ha/Eqpdfxsn0Zb0Xcq1NGQAman0TWaR37OWp2vVXEOdV2y0njSILTMpTfPV1454g==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + '@rc-component/steps@1.2.2': + resolution: {integrity: sha512-/yVIZ00gDYYPHSY0JP+M+s3ZvuXLu2f9rEjQqiUDs7EcYsUYrpJ/1bLj9aI9R7MBR3fu/NGh6RM9u2qGfqp+Nw==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + '@rc-component/switch@1.0.3': + resolution: {integrity: sha512-Jgi+EbOBquje/XNdofr7xbJQZPYJP+BlPfR0h+WN4zFkdtB2EWqEfvkXJWeipflwjWip0/17rNbxEAqs8hVHfw==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + '@rc-component/table@1.10.2': + resolution: {integrity: sha512-b3PjqB9Gp25p5t/zq+9QrbXbodkptT8/zvLmwgd2FNPUUtaYyDnQqfxeD5a7ao8E8lpinLHsi2u2vdfPhyNvAw==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=18.0.0' + react-dom: '>=18.0.0' + + '@rc-component/tabs@1.9.1': + resolution: {integrity: sha512-6mY08Fce6aNOHuGsxbzT+f2ekgL9mg1cGGHkittMlVGymjGg+kGupu5v90sRxcUd/paRU9jclLLXtF/PkK1FUA==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + '@rc-component/tooltip@1.4.0': + resolution: {integrity: sha512-8Rx5DCctIlLI4raR0I0xHjVTf1aF48+gKCNeAAo5bmF5VoR5YED+A/XEqzXv9KKqrJDRcd3Wndpxh2hyzrTtSg==} + peerDependencies: + react: '>=18.0.0' + react-dom: '>=18.0.0' + + '@rc-component/tour@2.4.0': + resolution: {integrity: sha512-aui4r4TqmTzwaBgcQxHYep8kM8PTjZFufjokObpy35KfFeZ0k9ArquWFZqegQlH24P14t+F0qO0mGTgzlav1yg==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + '@rc-component/tree-select@1.9.0': + resolution: {integrity: sha512-GXcFe15a+trUl1/J3OHWQhsVWFpwFpGFK2cqYWZ1sK22Zs3KZTvMwDpzr75PIo1s6QVioVxpE/pRwRopkeDQ6w==} + peerDependencies: + react: '*' + react-dom: '*' + + '@rc-component/tree@1.3.2': + resolution: {integrity: sha512-bJFj46wEkpBPnWyTm18XmgAgNQ/4YvprxMOPPY2a6rmhGJYxLuNKEFiL5Qej4Qctu9wHJm8WW+v2SYskafE0kA==} + engines: {node: '>=10.x'} + peerDependencies: + react: '*' + react-dom: '*' + + '@rc-component/trigger@3.9.0': + resolution: {integrity: sha512-X8btpwfrT27AgrZVOz4swclhEHTZcqaHeQMXXBgveagOiakTa36uObXbdwerXffgV8G9dH1fAAE0DHtVQs8EHg==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=18.0.0' + react-dom: '>=18.0.0' + + '@rc-component/upload@1.1.1': + resolution: {integrity: sha512-GvYWSKeaJTOxxC5p6+nOSadzfvXA1h8C/iHFPFZX+szH3JUXrvs+DLiW8YUTBgvMh8m63mJeHrlYlJzAlg+pDA==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + '@rc-component/util@1.11.1': + resolution: {integrity: sha512-awVlI3ub2vqfqkYxOBc/uQ0efm3jw0wcrhtO/YWLyZfxiKXczKwNbVuhlnyxytDt7H9pbbVQiqr+O6MLATtRYg==} + peerDependencies: + react: '>=18.0.0' + react-dom: '>=18.0.0' + + '@rc-component/virtual-list@1.2.0': + resolution: {integrity: sha512-iavRm1Jo4GDbASQwdGa7jFyk93RvSOo9xHyBT4QL1pgFJj/Fdf1G+3RErH7/7BmAMvx2AkF62mjGYxDbXsK9TQ==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=18.0.0' + react-dom: '>=18.0.0' + + '@sinclair/typebox@0.27.10': + resolution: {integrity: sha512-MTBk/3jGLNB2tVxv6uLlFh1iu64iYOQ2PbdOSK3NW8JZsmlaOh2q6sdtKowBhfw8QFLmYNzTW4/oK4uATIi6ZA==} + + '@stagewise/toolbar@0.6.2': + resolution: {integrity: sha512-WN7PWaOT6YQKjJYL4/85V5UU0eZEws+/UBT/J4wJOEbFxoluLuchqh7xVTmUZTtw0q0xpzlgX8Vb0kAZf/pjmw==} + deprecated: 'This package is deprecated and has been replaced by the stagewise CLI. Get started with the CLI here: https://stagewise.io/docs' + + '@stylelint/postcss-css-in-js@0.38.0': + resolution: {integrity: sha512-XOz5CAe49kS95p5yRd+DAIWDojTjfmyAQ4bbDlXMdbZTQ5t0ThjSLvWI6JI2uiS7MFurVBkZ6zUqcimzcLTBoQ==} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. + peerDependencies: + postcss: '>=7.0.0' + postcss-syntax: '>=0.36.2' + + '@svgr/babel-plugin-add-jsx-attribute@6.5.1': + resolution: {integrity: sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ==} + engines: {node: '>=10'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-remove-jsx-attribute@8.0.0': + resolution: {integrity: sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0': + resolution: {integrity: sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-replace-jsx-attribute-value@6.5.1': + resolution: {integrity: sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg==} + engines: {node: '>=10'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-svg-dynamic-title@6.5.1': + resolution: {integrity: sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw==} + engines: {node: '>=10'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-svg-em-dimensions@6.5.1': + resolution: {integrity: sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA==} + engines: {node: '>=10'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-transform-react-native-svg@6.5.1': + resolution: {integrity: sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg==} + engines: {node: '>=10'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-transform-svg-component@6.5.1': + resolution: {integrity: sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ==} + engines: {node: '>=12'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-preset@6.5.1': + resolution: {integrity: sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw==} + engines: {node: '>=10'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/core@6.5.1': + resolution: {integrity: sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw==} + engines: {node: '>=10'} + + '@svgr/hast-util-to-babel-ast@6.5.1': + resolution: {integrity: sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw==} + engines: {node: '>=10'} + + '@svgr/plugin-jsx@6.5.1': + resolution: {integrity: sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw==} + engines: {node: '>=10'} + peerDependencies: + '@svgr/core': ^6.0.0 + + '@svgr/plugin-svgo@6.5.1': + resolution: {integrity: sha512-omvZKf8ixP9z6GWgwbtmP9qQMPX4ODXi+wzbVZgomNFsUIlHA1sf4fThdwTWSsZGgvGAG6yE+b/F5gWUkcZ/iQ==} + engines: {node: '>=10'} + peerDependencies: + '@svgr/core': '*' + + '@swc/helpers@0.5.1': + resolution: {integrity: sha512-sJ902EfIzn1Fa+qYmjdQqh8tPsoxyBz+8yBKC2HKUxyezKJFwPGOn7pv4WY6QuQW//ySQi5lJjA/ZT9sNWWNTg==} + + '@swc/helpers@0.5.15': + resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==} + + '@tanstack/match-sorter-utils@8.19.4': + resolution: {integrity: sha512-Wo1iKt2b9OT7d+YGhvEPD3DXvPv2etTusIMhMUoG7fbhmxcXCtIjJDEygy91Y2JFlwGyjqiBPRozme7UD8hoqg==} + engines: {node: '>=12'} + + '@tanstack/query-core@4.44.0': + resolution: {integrity: sha512-swSgb7OiPRR3UuIL7NuDrZNSMGmQD+wdtHxPD7j60SvBEnxbXurl5XOirtGEX2gm2hbK6mC8kMV1I+uO3l0UOw==} + + '@tanstack/query-core@5.100.14': + resolution: {integrity: sha512-5X41dGpxgeaHISCRW2oYwcSycZeULZzAunaudXT9ov1KOTj9xwt0CH6hbwqP1/z74ZWF7rYFnDpyYH07XFcZew==} + + '@tanstack/react-query-devtools@4.44.0': + resolution: {integrity: sha512-ld07jweiS0/5iy8tITRbBsrj4jRcnU2/6tLPt9uHc9x3pvXWonTujmSPEoJ8pkDO4xtzHQl+N6dLiyZjvRKxJw==} + peerDependencies: + '@tanstack/react-query': ^4.44.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + + '@tanstack/react-query@4.44.0': + resolution: {integrity: sha512-RuIqHYrS98LrK/8kJJOJMMSQ/BCpojwsXDh7p0fBmp38ZOz6dlk+uyFRRusH+V+t3POoCsDOQ2zhomEYOeReXw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-native: '*' + peerDependenciesMeta: + react-dom: + optional: true + react-native: + optional: true + + '@tanstack/react-query@5.100.14': + resolution: {integrity: sha512-oOr6aRdSFEwWhzxEkD/9ZcItM3+LjBSkeVmadWKwUssAHTsqd/7bOjWrX4AbvEkoEhgAxzN0Xk6H/aYzXiYBAw==} + peerDependencies: + react: ^18 || ^19 + + '@transloadit/prettier-bytes@0.3.5': + resolution: {integrity: sha512-xF4A3d/ZyX2LJWeQZREZQw+qFX4TGQ8bGVP97OLRt6sPO6T0TNHBFTuRHOJh7RNmYOBmQ9MHxpolD9bXihpuVA==} + + '@types/babel__core@7.20.5': + resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} + + '@types/babel__generator@7.27.0': + resolution: {integrity: sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==} + + '@types/babel__template@7.4.4': + resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} + + '@types/babel__traverse@7.28.0': + resolution: {integrity: sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==} + + '@types/crypto-js@4.2.2': + resolution: {integrity: sha512-sDOLlVbHhXpAUAL0YHDUUwDZf3iN4Bwi4W6a0W0b+QcAezUbRtH4FVb+9J4h+XFPW7l/gQ9F8qC7P+Ec4k8QVQ==} + + '@types/d3-array@3.2.2': + resolution: {integrity: sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw==} + + '@types/d3-axis@3.0.6': + resolution: {integrity: sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==} + + '@types/d3-brush@3.0.6': + resolution: {integrity: sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==} + + '@types/d3-chord@3.0.6': + resolution: {integrity: sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==} + + '@types/d3-color@3.1.3': + resolution: {integrity: sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==} + + '@types/d3-contour@3.0.6': + resolution: {integrity: sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==} + + '@types/d3-delaunay@6.0.4': + resolution: {integrity: sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==} + + '@types/d3-dispatch@3.0.7': + resolution: {integrity: sha512-5o9OIAdKkhN1QItV2oqaE5KMIiXAvDWBDPrD85e58Qlz1c1kI/J0NcqbEG88CoTwJrYe7ntUCVfeUl2UJKbWgA==} + + '@types/d3-drag@3.0.7': + resolution: {integrity: sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==} + + '@types/d3-dsv@3.0.7': + resolution: {integrity: sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==} + + '@types/d3-ease@3.0.2': + resolution: {integrity: sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==} + + '@types/d3-fetch@3.0.7': + resolution: {integrity: sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==} + + '@types/d3-force@3.0.10': + resolution: {integrity: sha512-ZYeSaCF3p73RdOKcjj+swRlZfnYpK1EbaDiYICEEp5Q6sUiqFaFQ9qgoshp5CzIyyb/yD09kD9o2zEltCexlgw==} + + '@types/d3-format@3.0.4': + resolution: {integrity: sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==} + + '@types/d3-geo@3.1.0': + resolution: {integrity: sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==} + + '@types/d3-hierarchy@3.1.7': + resolution: {integrity: sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg==} + + '@types/d3-interpolate@3.0.4': + resolution: {integrity: sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==} + + '@types/d3-path@3.1.1': + resolution: {integrity: sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==} + + '@types/d3-polygon@3.0.2': + resolution: {integrity: sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==} + + '@types/d3-quadtree@3.0.6': + resolution: {integrity: sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==} + + '@types/d3-random@3.0.3': + resolution: {integrity: sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==} + + '@types/d3-scale-chromatic@3.1.0': + resolution: {integrity: sha512-iWMJgwkK7yTRmWqRB5plb1kadXyQ5Sj8V/zYlFGMUBbIPKQScw+Dku9cAAMgJG+z5GYDoMjWGLVOvjghDEFnKQ==} + + '@types/d3-scale@4.0.9': + resolution: {integrity: sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==} + + '@types/d3-selection@3.0.11': + resolution: {integrity: sha512-bhAXu23DJWsrI45xafYpkQ4NtcKMwWnAC/vKrd2l+nxMFuvOT3XMYTIj2opv8vq8AO5Yh7Qac/nSeP/3zjTK0w==} + + '@types/d3-shape@3.1.8': + resolution: {integrity: sha512-lae0iWfcDeR7qt7rA88BNiqdvPS5pFVPpo5OfjElwNaT2yyekbM0C9vK+yqBqEmHr6lDkRnYNoTBYlAgJa7a4w==} + + '@types/d3-time-format@4.0.3': + resolution: {integrity: sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==} + + '@types/d3-time@3.0.4': + resolution: {integrity: sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==} + + '@types/d3-timer@3.0.2': + resolution: {integrity: sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==} + + '@types/d3-transition@3.0.9': + resolution: {integrity: sha512-uZS5shfxzO3rGlu0cC3bjmMFKsXv+SmZZcgp0KD22ts4uGXp5EVYGzu/0YdwZeKmddhcAccYtREJKkPfXkZuCg==} + + '@types/d3-zoom@3.0.8': + resolution: {integrity: sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==} + + '@types/d3@7.4.3': + resolution: {integrity: sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==} + + '@types/estree@1.0.9': + resolution: {integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==} + + '@types/event-emitter@0.3.5': + resolution: {integrity: sha512-zx2/Gg0Eg7gwEiOIIh5w9TrhKKTeQh7CPCOPNc0el4pLSwzebA8SmnHwZs2dWlLONvyulykSwGSQxQHLhjGLvQ==} + + '@types/geojson@7946.0.16': + resolution: {integrity: sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==} + + '@types/graceful-fs@4.1.9': + resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} + + '@types/hapi__joi@17.1.9': + resolution: {integrity: sha512-oOMFT8vmCTFncsF1engrs04jatz8/Anwx3De9uxnOK4chgSEgWBvFtpSoJo8u3784JNO+ql5tzRR6phHoRnscQ==} + + '@types/hast@3.0.4': + resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} + + '@types/history@4.7.11': + resolution: {integrity: sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==} + + '@types/history@5.0.0': + resolution: {integrity: sha512-hy8b7Y1J8OGe6LbAjj3xniQrj3v6lsivCcrmf4TzSgPzLkhIeKgc5IZnT7ReIqmEuodjfO8EYAuoFvIrHi/+jQ==} + deprecated: This is a stub types definition. history provides its own type definitions, so you do not need this installed. + + '@types/hoist-non-react-statics@3.3.7': + resolution: {integrity: sha512-PQTyIulDkIDro8P+IHbKCsw7U2xxBYflVzW/FgWdCAePD9xGSidgA76/GeJ6lBKoblyhf9pBY763gbrN+1dI8g==} + peerDependencies: + '@types/react': '*' + + '@types/html-minifier-terser@6.1.0': + resolution: {integrity: sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==} + + '@types/invariant@2.2.37': + resolution: {integrity: sha512-IwpIMieE55oGWiXkQPSBY1nw1nFs6bsKXTFskNY8sdS17K24vyEBRQZEwlRS7ZmXCWnJcQtbxWzly+cODWGs2A==} + + '@types/isomorphic-fetch@0.0.34': + resolution: {integrity: sha512-BmJKuPCZCR6pbYYgi5nKFJrPC4pLoBgsi/B1nFN64Ba+hLLGUcKPIh7eVlR2xG763Ap08hgQafq/Wx4RFb0omQ==} + + '@types/istanbul-lib-coverage@2.0.6': + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + + '@types/istanbul-lib-report@3.0.3': + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} + + '@types/istanbul-reports@1.1.2': + resolution: {integrity: sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==} + + '@types/istanbul-reports@3.0.4': + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} + + '@types/js-cookie@3.0.6': + resolution: {integrity: sha512-wkw9yd1kEXOPnvEeEV1Go1MmxtBJL0RR79aOTAApecWFVu7w0NNXNqhcWgvw2YgZDYadliXkl14pa3WXw5jlCQ==} + + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + + '@types/minimist@1.2.5': + resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==} + + '@types/node@25.9.1': + resolution: {integrity: sha512-xfrlY7UD5rMJk3ZVJP8BNzS28J36YJg+xp+LPXV1TdWxr8uMH5A860QNxYDGQe/ylDSgjxE52Q9VnO7p75tJxg==} + + '@types/normalize-package-data@2.4.4': + resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} + + '@types/nprogress@0.2.3': + resolution: {integrity: sha512-k7kRA033QNtC+gLc4VPlfnue58CM1iQLgn1IMAU8VPHGOj7oIHPp9UlhedEnD/Gl8evoCjwkZjlBORtZ3JByUA==} + + '@types/parse-json@4.0.2': + resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} + + '@types/prismjs@1.26.6': + resolution: {integrity: sha512-vqlvI7qlMvcCBbVe0AKAb4f97//Hy0EBTaiW8AalRnG/xAN5zOiWWyrNqNXeq8+KAuvRewjCVY1+IPxk4RdNYw==} + + '@types/react-dom@19.2.3': + resolution: {integrity: sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==} + peerDependencies: + '@types/react': ^19.2.0 + + '@types/react-router-dom@4.3.5': + resolution: {integrity: sha512-eFajSUASYbPHg2BDM1G8Btx+YqGgvROPIg6sBhl3O4kbDdYXdFdfrgQFf/pcBuQVObjfT9AL/dd15jilR5DIEA==} + + '@types/react-router-redux@5.0.27': + resolution: {integrity: sha512-qC5lbuP2K/kMR/HE3e5ltCJptyiQhmfV0wbklqcqWDbNdpJBDwUsBGP4f/0RDYJf09+OTbz43u6iG+8E0Zcwqw==} + + '@types/react-router@5.1.20': + resolution: {integrity: sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==} + + '@types/react-syntax-highlighter@15.5.13': + resolution: {integrity: sha512-uLGJ87j6Sz8UaBAooU0T6lWJ0dBmjZgN1PZTrj05TNql2/XpC6+4HhMT5syIdFUUt+FASfCeLLv4kBygNU+8qA==} + + '@types/react@19.2.15': + resolution: {integrity: sha512-eRwcGNHve+E8qtEQSSRl6urh+rFop4v8gm6O8rGv25CodbvFdLjA1vVQ1KkiFE0w0UPOnb8tDiFKL5lp0rtY5Q==} + + '@types/resolve@1.20.6': + resolution: {integrity: sha512-A4STmOXPhMUtHH+S6ymgE2GiBSMqf4oTvcQZMcHzokuTLVYzXTB8ttjcgxOVaAp2lGwEdzZ0J+cRbbeevQj1UQ==} + + '@types/retry@0.12.2': + resolution: {integrity: sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==} + + '@types/semver@7.7.1': + resolution: {integrity: sha512-FmgJfu+MOcQ370SD0ev7EI8TlCAfKYU+B4m5T3yXc1CiRN94g/SZPtsCkk506aUDtlMnFZvasDwHHUcZUEaYuA==} + + '@types/stylis@4.2.7': + resolution: {integrity: sha512-VgDNokpBoKF+wrdvhAAfS55OMQpL6QRglwTwNC3kIgBrzZxA4WsFj+2eLfEA/uMUDzBcEhYmjSbwQakn/i3ajA==} + + '@types/trusted-types@2.0.7': + resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} + + '@types/unist@2.0.11': + resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==} + + '@types/unist@3.0.3': + resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} + + '@types/use-sync-external-store@0.0.3': + resolution: {integrity: sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==} + + '@types/yargs-parser@21.0.3': + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} + + '@types/yargs@13.0.12': + resolution: {integrity: sha512-qCxJE1qgz2y0hA4pIxjBR+PelCH0U5CK1XJXFwCNqfmliatKp47UCXXE9Dyk1OXBDLvsCF57TqQEJaeLfDYEOQ==} + + '@types/yargs@16.0.11': + resolution: {integrity: sha512-sbtvk8wDN+JvEdabmZExoW/HNr1cB7D/j4LT08rMiuikfA7m/JNJg7ATQcgzs34zHnoScDkY0ZRSl29Fkmk36g==} + + '@types/yargs@17.0.35': + resolution: {integrity: sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==} + + '@typescript-eslint/eslint-plugin@5.62.0': + resolution: {integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + '@typescript-eslint/parser': ^5.0.0 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/parser@5.62.0': + resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: 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} + + '@typescript-eslint/type-utils@5.62.0': + resolution: {integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '*' + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/types@5.62.0': + resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + '@typescript-eslint/typescript-estree@5.62.0': + 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 + + '@typescript-eslint/utils@5.62.0': + 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 + + '@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} + + '@umijs/ast@4.6.57': + resolution: {integrity: sha512-plY6//+oK1P/xQvJTxg4HrJH6Zah2TUBl1EU1ao2wuzzoN7r8Uq8yadZ2GfNQ7+chX2uODEbKayI/NjYEldgmw==} + + '@umijs/babel-preset-umi@4.6.57': + resolution: {integrity: sha512-wIu1LcuZV868j4yeeqMFhsP/BPCchI35MKfo4ZHUX4JWlbuYLoAirF+AyGxnpea+2hEsPUHp9ZdZFA2xwWYn1Q==} + + '@umijs/bundler-esbuild@4.6.57': + resolution: {integrity: sha512-ieuqufegZF0vFibqpbjAqyob93JQCnXyke4IFQSB4P4VKo+8ScJgywI7/f3FVycmHhmee5gpFdqwUIQDOSbHUA==} + hasBin: true + + '@umijs/bundler-mako@0.11.10': + resolution: {integrity: sha512-RNop0kmMXJUOLQYp61ZW3NVdD8ikOPW0zoCmgkN+nIUVw+QKcA+9tSPEcT6Rr8id9+Ed3lMjLqktev20guRp1g==} + + '@umijs/bundler-utils@4.6.57': + resolution: {integrity: sha512-r8SzlivDlSJGswD9UGXDvIZnt50XAd36SzTrj8b2pXWBBTzzbSy7VThXVi7y/r3l0bg70xnM82avKCiF/UOuow==} + + '@umijs/bundler-utoopack@4.6.57': + resolution: {integrity: sha512-b4sLhvc421Z3obN9Ebo1vuC4T/QnKHtvTILicDFS/qWbQ06l1NjfompTZOcO7fZ6/w8YrHPHurXV1Z7e4wKHJQ==} + + '@umijs/bundler-vite@4.6.57': + resolution: {integrity: sha512-D76X50ONUZi+6DsYJxhQOu1hdnUkjl2KUgiDUvPEcQ7uXQk3O6pXXXB2BYSipffF7RhwgfCcxy2B+AFUYptmwQ==} + hasBin: true + + '@umijs/bundler-webpack@4.6.57': + resolution: {integrity: sha512-UeqWY6rK9FLc0IairX/1SW3VmUWz4S4X8W2g1gB/kaecXejPBSBh840wOlrFAkuUDhmoDZLCS/B/0Iy9YnjhQw==} + hasBin: true + + '@umijs/case-sensitive-paths-webpack-plugin@1.0.1': + resolution: {integrity: sha512-kDKJ8yTarxwxGJDInG33hOpaQRZ//XpNuuznQ/1Mscypw6kappzFmrBr2dOYave++K7JHouoANF354UpbEQw0Q==} + + '@umijs/core@4.6.57': + resolution: {integrity: sha512-XjML5N7MJcdtgaNdQrWcniUaTL05q24kFhan3/sX0Y7GSWu/W9WRXrTV+GEu7TBd0J+iq+D81GDU9XzJl0jhag==} + + '@umijs/did-you-know@1.0.4': + resolution: {integrity: sha512-eAHGNRZe9b7nOXINBIWNga/Nh0LWyTILXtFVcEDiJBXhehUi5OtpPHnA18KCgfmsOFxYPt5fzdumHTYQKm92Vw==} + + '@umijs/es-module-parser-darwin-arm64@0.0.7': + resolution: {integrity: sha512-1QeNupekuVYVvL4UHyCRq4ISP2PNk4rDd9UOPONW+KpqTyP9p7RfgGpwB0VLPaFSu2ADtm0XZyIaYEGPY6zuDw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@umijs/es-module-parser-darwin-x64@0.0.7': + resolution: {integrity: sha512-FBFmfigmToPc9qBCW7wHiTYpqnLdPbAvoMGOydzAu2NspdPEF7TfILcr8vCPNbNe3vCobS+T/YM1dP+SagERlA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@umijs/es-module-parser-linux-arm-gnueabihf@0.0.7': + resolution: {integrity: sha512-AXfmg3htkadLGsXUyiyrTig4omGCWIN4l+HS7Qapqv0wlfFYSpC0KPemjyBQgzXO70tDcT+1FNhGjIy+yr2pIQ==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + + '@umijs/es-module-parser-linux-arm64-gnu@0.0.7': + resolution: {integrity: sha512-2wSdChFc39fPJwvS8tRq+jx8qNlIwrjRk1hb3N5o0rJR+rqt+ceAyNPbYwpNBmUHW7xtmDQvJUeinvr7hIBP+w==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@umijs/es-module-parser-linux-arm64-musl@0.0.7': + resolution: {integrity: sha512-cqQffARWkmQ3n1RYNKZR3aD6X8YaP6u1maASjDgPQOpZMAlv/OSDrM/7iGujWTs0PD0haockNG9/DcP6lgPHMw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@umijs/es-module-parser-linux-x64-gnu@0.0.7': + resolution: {integrity: sha512-PHrKHtT665Za0Ydjch4ACrNpRU+WIIden12YyF1CtMdhuLDSoU6UfdhF3NoDbgEUcXVDX/ftOqmj0SbH3R1uew==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@umijs/es-module-parser-linux-x64-musl@0.0.7': + resolution: {integrity: sha512-cyZvUK5lcECLWzLp/eU1lFlCETcz+LEb+wrdARQSST1dgoIGZsT4cqM1WzYmdZNk3o883tiZizLt58SieEiHBQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + libc: [musl] + + '@umijs/es-module-parser-win32-arm64-msvc@0.0.7': + resolution: {integrity: sha512-V7WxnUI88RboSl0RWLNQeKBT7EDW35fW6Tn92zqtoHHxrhAIL9DtDyvC8REP4qTxeZ6Oej/Ax5I6IjsLx3yTOg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@umijs/es-module-parser-win32-x64-msvc@0.0.7': + resolution: {integrity: sha512-X3Pqy0l38hg6wMPquPeMHuoHU+Cx+wzyz32SVYCta+RPJQ7n9PjrEBiIuVAw5+GJZjSABN7LVr8u/n0RZT9EQA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@umijs/es-module-parser@0.0.7': + resolution: {integrity: sha512-x47CMi/Hw7Nkz3RXTUqlldH/UM+Tcmw2PziV3k+itJqTFJc8oVx3lzdUgCnG+eL3ZtmLPbOEBhPb30V0NytNDQ==} + engines: {node: '>= 10'} + + '@umijs/history@5.3.1': + resolution: {integrity: sha512-/e0cEGrR2bIWQD7pRl3dl9dcyRGeC9hoW0OCvUTT/hjY0EfUrkd6G8ZanVghPMpDuY5usxq9GVcvrT8KNXLWvA==} + + '@umijs/lint@4.6.57': + resolution: {integrity: sha512-BYMb7iWGMYBxFZfAHPbjCWf5zhddlrgMY1FRVyEJWjgm0iQEO7eLd5v2nj0VoBa9OOkw96HIpBotkeIR8ghj/g==} + + '@umijs/mako-darwin-arm64@0.11.10': + resolution: {integrity: sha512-kCn0mJx2Hq4RIkMNIzMDOdO4JSWq120auFmSEleHkfrFFFqSWX2qgz5mR5VI7kaPH0GUh0+hwfRkjEVGysJGjA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@umijs/mako-darwin-x64@0.11.10': + resolution: {integrity: sha512-SKgadN/mAU8YxrQnsGQ2lFuR8I12EQSsaei41Ke5qBtXhbSxAxt5MMxBKWdB+dUe74dh6dXnllwAk/ts34vCog==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@umijs/mako-linux-arm64-gnu@0.11.10': + resolution: {integrity: sha512-h6TEyMe9zIuH6w5to+XeZciWDD99RaMdfwvqdcHHyJaLH9wfGwSsiHuf/z3Evwkxy8xoNAvBOngwUD35RGYa/A==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@umijs/mako-linux-arm64-musl@0.11.10': + resolution: {integrity: sha512-kqI1Jw6IHtDwrcsqPZrYxsV3pHzZyOR+6fCFnF5MSURnXbUbJb6Rk66VsKKpMqbyfsEO6nt0WT9FrRBlFvRU2A==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@umijs/mako-linux-x64-gnu@0.11.10': + resolution: {integrity: sha512-jlhXVvWJuumMmiE3z3ViugOMx9ZasNM1anng0PsusCgDwfy0IOfGzfwfwagqtzfsC5MwyRcfnRQyDdbfbroaSA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@umijs/mako-linux-x64-musl@0.11.10': + resolution: {integrity: sha512-SLV/PRdL12dFEKlQGenW3OboZXmdYi25y+JblgVJLBhpdxZrHFqpCsTZn4L3hVEhyl0/ksR1iY0wtfK3urR29g==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + libc: [musl] + + '@umijs/mako-win32-ia32-msvc@0.11.10': + resolution: {integrity: sha512-quCWpVl7yQjG+ccGhkF81GxO3orXdPW1OZWXWxJgOI0uPk7Hczh2EYMEVqqQGbi/83eJ1e3iE1jRTl/+2eHryQ==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] + + '@umijs/mako-win32-x64-msvc@0.11.10': + resolution: {integrity: sha512-NjUfV1vwUeDk5IXyleGb+pa/DZkGpjkclY/TJcK/X2OQ0Yh7Cr3sfZykhCoTEN2Y74k5rEKWYNQA0nTb6akj9Q==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@umijs/mako@0.11.10': + resolution: {integrity: sha512-qh0DzCtwwYjxey7Hn6B+66KVwDhMa/cIZQYgaeUVs76Ut5WDuUlfkFfJh4VA9k1F9YLBHXMaW2IeKIWTTIPVDg==} + engines: {node: '>= 16'} + hasBin: true + + '@umijs/max-plugin-openapi@2.0.3': + resolution: {integrity: sha512-pV2GLscYHdOYNbQ1jgC+s99CGYFHegT/B+uRWVomL6+2mCdm9mP/KDSzGjkLZpL7PeXDlfPMsx/vSqAvDBGE2A==} + + '@umijs/max@4.6.57': + resolution: {integrity: sha512-kNgNzV4wCBjzCCEjMh/fXvsJBn46qiTnEtYJC/VrZ+KnUYu3go9nMPP4OZ8Pd1xOvkjCnMDLbnFDdugrey6sAQ==} + hasBin: true + + '@umijs/mfsu@4.6.57': + resolution: {integrity: sha512-lwoGGZ51yPVBtc0jLm5Oom5BijQGykX6P0znefY9JbLX2zB9sYp2JT6dCAQpr9cgf9qPySae2ZTnhEBU8e2Pyg==} + + '@umijs/openapi@1.14.1': + resolution: {integrity: sha512-riFsBjdg6OLNKWCxSyZ4BFmVKd1KkkGebxUCoDiKfz1p6L5CBiw8yVZd8J22Q/fwxKdYQ75GOCkjNouL3bGoYg==} + hasBin: true + + '@umijs/plugin-run@4.6.57': + resolution: {integrity: sha512-a6EM+35iz5A7TQbqIDfB61NB+nfQ79BsscXoN6/byTNCBS7J1kyGwh1MVnDJUDgAELGJJadpemZUIv6CduX2LQ==} + + '@umijs/plugins@4.6.57': + resolution: {integrity: sha512-dEnqdkzkFrnJcZY1lcE+6apzQKnbjQEd2LN06xZf7CP4VK09DpwsTZMDqn6Yo+0sPCha1eEH7EywSaotmEsccA==} + + '@umijs/preset-umi@4.6.57': + resolution: {integrity: sha512-EoRXZdXhs7GXop6ypqgKR31wq7EtS83qYFM8ngWH7xXSHudLzasvU5hdLv+kuwvfYMhM3TOwdEOdEOHxhj5P7w==} + + '@umijs/react-refresh-webpack-plugin@0.5.11': + resolution: {integrity: sha512-RtFvB+/GmjRhpHcqNgnw8iWZpTlxOnmNxi8eDcecxMmxmSgeDj25LV0jr4Q6rOhv3GTIfVGBhkwz+khGT5tfmg==} + engines: {node: '>= 10.13'} + peerDependencies: + '@types/webpack': 4.x || 5.x + react-refresh: '>=0.10.0 <1.0.0' + sockjs-client: ^1.4.0 + type-fest: '>=0.17.0 <5.0.0' + webpack: '>=4.43.0 <6.0.0' + webpack-dev-server: 3.x || 4.x + webpack-hot-middleware: 2.x + webpack-plugin-serve: 0.x || 1.x + peerDependenciesMeta: + '@types/webpack': + optional: true + sockjs-client: + optional: true + type-fest: + optional: true + webpack-dev-server: + optional: true + webpack-hot-middleware: + optional: true + webpack-plugin-serve: + optional: true + + '@umijs/renderer-react@4.6.57': + resolution: {integrity: sha512-wR2Ycjjgj8axaXDsRAuicK+s5zQ9oIfjSxLT0hQDeId+CxhKfS74ApCDQVWCJoi1QDXD7Ujp00yy+HLSCh9WWw==} + peerDependencies: + react: '>=16.8' + react-dom: '>=16.8' + + '@umijs/route-utils@4.0.3': + resolution: {integrity: sha512-zPEcYhl1cSfkSRDzzGgoD1mDvGjxoOTJFvkn55srfgdQ3NZe2ZMCScCU6DEnOxuKP1XDVf8pqyqCDVd2+RCQIw==} + + '@umijs/server@4.6.57': + resolution: {integrity: sha512-N4A+mcO+qUzwFUI7Ryooi/V89evSE5Pu4sFqLpkoO8JHBnxYeLwopFqAwiFilnJujgkmpGcp2RLUcOeFurYV8g==} + + '@umijs/test@4.6.57': + resolution: {integrity: sha512-AK2aCIk0HqbOKPvNNwH77JOZ6keylO2g88wqEaFq+1t5H8xpRrweFupU2vBWWkbqnHnqtZ2/WD1glavojcwrjg==} + + '@umijs/ui@3.0.1': + resolution: {integrity: sha512-zcz37AJH0xt/6XVVbyO/hmsK9Hq4vH23HZ4KYVi5A8rbM9KeJkJigTS7ELOdArawZhVNGe+h3a5Oixs4a2QsWw==} + + '@umijs/use-params@1.0.9': + resolution: {integrity: sha512-QlN0RJSBVQBwLRNxbxjQ5qzqYIGn+K7USppMoIOVlf7fxXHsnQZ2bEsa6Pm74bt6DVQxpUE8HqvdStn6Y9FV1w==} + peerDependencies: + react: '*' + + '@umijs/utils@4.6.57': + resolution: {integrity: sha512-o7cGFvP8SrF5F5yx0e3CqU4TgQLQ/ZsDsbCDlxbep2SDNqaFR7hIwjruHK1v2oq6fmIUmDUxkuKrcysUmymqHQ==} + + '@umijs/valtio@1.0.4': + resolution: {integrity: sha512-2PmAU4rNQbBqrWpJ86Si9UGC23JapkYw8k7Hna6V8DHLaEYJENdp2e/IKLPHSPghzrdQtbUHSoOAUsBd4i4OzQ==} + + '@umijs/zod2ts@4.6.57': + resolution: {integrity: sha512-a+oCzqkE0oUOqNZiJykVWoWO3sncF0whuX23gRPfX3kfN05K/4VgaU4+iLdPJa5CLoADmjbBeOMz6299IJzDsA==} + + '@uppy/companion-client@5.1.1': + resolution: {integrity: sha512-DzrOWTbIZHvtgAFXBMYHk2wD27NjpBSVhY2tEiEIUhPd2CxbFRZjHM/N3HOt3VwZEAP471QWFLlJRWPcIY3A2Q==} + peerDependencies: + '@uppy/core': ^5.1.1 + + '@uppy/core@5.2.0': + resolution: {integrity: sha512-uvfNyz4cnaplt7LYJmEZHuqOuav0tKp4a9WKJIaH6iIj7XiqYvS2J5SEByexAlUFlzefOAyjzj4Ja2dd/8aMrw==} + + '@uppy/store-default@5.0.0': + resolution: {integrity: sha512-hQtCSQ1yGiaval/wVYUWquYGDJ+bpQ7e4FhUUAsRQz1x1K+o7NBtjfp63O9I4Ks1WRoKunpkarZ+as09l02cPw==} + + '@uppy/utils@7.2.0': + resolution: {integrity: sha512-6lC246qszMv6bTyl/+QyHwrudgeguWkA94ME1wHn+a6uRAvmtAEaUManIfGqTJfoKvWAiCJqdJPl5xRJjhAloQ==} + + '@uppy/xhr-upload@5.2.0': + resolution: {integrity: sha512-3LV/X5Of6BINnKplP+CwUJ0a4/7cRFfzxwGyXnW+uCrNQHoo09dttcz3begWHejGvzenQHuUnMO3Fxyc71Pryg==} + peerDependencies: + '@uppy/core': ^5.2.0 + + '@upsetjs/venn.js@2.0.0': + resolution: {integrity: sha512-WbBhLrooyePuQ1VZxrJjtLvTc4NVfpOyKx0sKqioq9bX1C1m7Jgykkn8gLrtwumBioXIqam8DLxp88Adbue6Hw==} + + '@utoo/pack-darwin-arm64@1.4.8': + resolution: {integrity: sha512-4JOJ2K0PO3pq3u/Kwia0xj0794kjgpTsyMhIlIN1tai/m7Dp+HZd2BRfyeI8ulWPLmbEX2VXifzqMXmwiIzRTA==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [darwin] + + '@utoo/pack-darwin-x64@1.4.8': + resolution: {integrity: sha512-wsz6P1e743bhtyz6uWJiOmhtcN0xeZSpgmdieCFBdTEaRLBKpSZnuVIsdV3maum5auezhpuUzHhPypB2WZiTEw==} + engines: {node: '>= 20'} + cpu: [x64] + os: [darwin] + + '@utoo/pack-linux-arm64-gnu@1.4.8': + resolution: {integrity: sha512-YfB7zbk81FyDH7Q7FL/+CBez9TvU5Ulx7OQkhuM10tS11Q5tjC6r3YDGBzai4rgGA7dXNszzLlZsR3N9xg+m7Q==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@utoo/pack-linux-arm64-musl@1.4.8': + resolution: {integrity: sha512-uYExFb0h0WpvFPWYDHk288JazFSbxKDgA7BIV43velWW/umd4VANO+QSKzFc07INnq0+rNA4uRagOw0vYIh27w==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@utoo/pack-linux-x64-gnu@1.4.8': + resolution: {integrity: sha512-vcaKwZPdFuehjmKjrQWEWfSyJ8N4CW7ZGhLOsiIGJShuqBeA8WSU2c7ZHSQ+0CAmRfRc+0FY36Ftq4AFALsVgA==} + engines: {node: '>= 20'} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@utoo/pack-linux-x64-musl@1.4.8': + resolution: {integrity: sha512-ndIycJ9AUqGhRBxohMkBvmZtwyZGiHGf3dKf5PmdxNBInBvnwyUl9bJovuVMvmSM/eEFDaolQUKWG5itI4qEXw==} + engines: {node: '>= 20'} + cpu: [x64] + os: [linux] + libc: [musl] + + '@utoo/pack-shared@1.4.8': + resolution: {integrity: sha512-4Xl5NmOVrAQD8Sxb2vacyUKpRj3At06KZl5Ho5oNfrLtMK8+dzpZx9vQA+wCsBI8EprERnKTK8N/GCL0CeFfjA==} + engines: {node: '>= 20'} + + '@utoo/pack-win32-x64-msvc@1.4.8': + resolution: {integrity: sha512-9wNY2Xii7IMedHZigP6Fy1gqO8xx6k254I+uPJDGDrbuQjEHeX7q2Cmxo4XV5PhPWnlVFFjdp/ne6qiuf4K4mA==} + engines: {node: '>= 20'} + cpu: [x64] + os: [win32] + + '@utoo/pack@1.4.8': + resolution: {integrity: sha512-slne86A0ithjYkUqdLEL4F6LiQ7m0ClmKiAn0MK1DR8kpHTPdB1jhHyTP67/ssO16+t3XVswXRowkyc6h0TZ7A==} + engines: {node: '>= 20'} + peerDependencies: + less: ^4.0.0 + less-loader: ^12.0.0 + postcss: 8.4.31 + resolve-url-loader: ^5.0.0 + sass: 1.54.0 + sass-loader: ^13.2.0 + styled-jsx: ^5.1.6 + + '@vitejs/plugin-react@4.0.0': + resolution: {integrity: sha512-HX0XzMjL3hhOYm+0s95pb0Z7F8O81G7joUHgfDd/9J/ZZf5k4xX6QAMFkKsHFxaHlf6X7GD7+XuaZ66ULiJuhQ==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + vite: ^4.2.0 + + '@wangeditor-next/basic-modules@3.0.1': + resolution: {integrity: sha512-S00rJP0CTpvNv2821NgAYsatEXFjndbCI2XFRgcBJz7Kot9SNEUo8KvXVc59hrXdMrNHpsn997UrCTN+1sGbDg==} + peerDependencies: + '@wangeditor-next/core': 1.9.1 + dom7: ^3.0.0 || ^4.0.0 + lodash.throttle: ^4.1.1 + nanoid: ^5.0.0 + slate: ^0.124.0 + snabbdom: ^3.6.0 + + '@wangeditor-next/code-highlight@3.0.1': + resolution: {integrity: sha512-rvtX5NGgpLRdEIGXPBABZbGTIYwQ+/ny1FdYpXbogJTVOUis+O410xyA4KYVE9bvGQ/DGmor/53yxRk0IkXBTg==} + peerDependencies: + '@wangeditor-next/core': 1.9.1 + dom7: ^3.0.0 || ^4.0.0 + slate: ^0.124.0 + snabbdom: ^3.6.0 + + '@wangeditor-next/core@1.9.1': + resolution: {integrity: sha512-xaEzFdFJTncS2SnvVBhBgfFeiUIgdp3ifl8fhN+Ee2Csq4nmUJBLEeCNVsbBYtG2Ye6ul4eAeKExRoBo+15ITw==} + peerDependencies: + '@uppy/core': ^2.1.1 || ^5.0.0 + '@uppy/xhr-upload': ^2.0.3 || ^5.0.0 + dom7: ^3.0.0 || ^4.0.0 + is-hotkey: ^0.2.0 + lodash.camelcase: ^4.3.0 + lodash.clonedeep: ^4.5.0 + lodash.debounce: ^4.0.8 + lodash.foreach: ^4.5.0 + lodash.throttle: ^4.1.1 + lodash.toarray: ^4.4.0 + nanoid: ^5.0.0 + slate: ^0.124.0 + snabbdom: ^3.6.0 + + '@wangeditor-next/editor-for-react@1.0.11': + resolution: {integrity: sha512-gC9nNqBxcwkXvK8ZZFb524XNrOLSAuhAcmj6BVp9aP2cIML0c6E1KmMrXJ5p6/u6JGLsnkbU7gyfetg8KlY01g==} + peerDependencies: + '@wangeditor-next/editor': '>=5.6.48' + react: '>=17.0.2' + react-dom: '>=17.0.2' + + '@wangeditor-next/editor@5.7.7': + resolution: {integrity: sha512-7PT9aFbYl8wa61cTCz+7Rq6IH7cM4UetJE13Sl2tLo0LBKNmNfzk8unp+bZt4aSl72mFqbQLmhqE0j2fWoDQVQ==} + + '@wangeditor-next/list-module@3.0.1': + resolution: {integrity: sha512-y+mAMhIe7oA2KmwXcUrIAZUJHzeCquGn27UmVaJTSjhUL5TPLxE5Bt2zxs2Yi7GfnN50k6ayxwk3VaKE0GQFbA==} + peerDependencies: + '@wangeditor-next/core': 1.9.1 + dom7: ^3.0.0 || ^4.0.0 + slate: ^0.124.0 + snabbdom: ^3.6.0 + + '@wangeditor-next/table-module@3.0.1': + resolution: {integrity: sha512-wwMlt/ob033NOjU1ek9j70C1s6Y8/MyzNZFxvziCr/ZpEkCALzsALiX/dmYwar1r0NyZqWB090qX/qUkX1LgOA==} + peerDependencies: + '@wangeditor-next/core': 1.9.1 + dom7: ^3.0.0 || ^4.0.0 + lodash.debounce: ^4.0.8 + lodash.throttle: ^4.1.1 + nanoid: ^5.0.0 + slate: ^0.124.0 + snabbdom: ^3.6.0 + + '@wangeditor-next/upload-image-module@3.0.1': + resolution: {integrity: sha512-AYBh2gYQsGJFxiN4WK95yxnV2qe+TUW9VuBZlXpKloIASuotvnOj4w/nf3uasJQplujotTfoeuxH6q2rNoLyiA==} + peerDependencies: + '@uppy/core': ^2.0.3 || ^5.0.0 + '@uppy/xhr-upload': ^2.0.3 || ^5.0.0 + '@wangeditor-next/basic-modules': 3.0.1 + '@wangeditor-next/core': 1.9.1 + dom7: ^3.0.0 || ^4.0.0 + lodash.foreach: ^4.5.0 + slate: ^0.124.0 + snabbdom: ^3.6.0 + + '@wangeditor-next/video-module@3.0.1': + resolution: {integrity: sha512-kV4jb/pkhno2lB6lrZsmwdHZGy9QHHqv8C5C64+CLHoZLijlK3aZixvgcUNosHww3aNxPI3kmJqczfss/XYY0Q==} + peerDependencies: + '@uppy/core': ^2.1.4 || ^5.0.0 + '@uppy/xhr-upload': ^2.0.7 || ^5.0.0 + '@wangeditor-next/core': 1.9.1 + dom7: ^3.0.0 || ^4.0.0 + nanoid: ^5.0.0 + slate: ^0.124.0 + snabbdom: ^3.6.0 + + '@webassemblyjs/ast@1.14.1': + resolution: {integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==} + + '@webassemblyjs/floating-point-hex-parser@1.13.2': + resolution: {integrity: sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==} + + '@webassemblyjs/helper-api-error@1.13.2': + resolution: {integrity: sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==} + + '@webassemblyjs/helper-buffer@1.14.1': + resolution: {integrity: sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==} + + '@webassemblyjs/helper-numbers@1.13.2': + resolution: {integrity: sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==} + + '@webassemblyjs/helper-wasm-bytecode@1.13.2': + resolution: {integrity: sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==} + + '@webassemblyjs/helper-wasm-section@1.14.1': + resolution: {integrity: sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==} + + '@webassemblyjs/ieee754@1.13.2': + resolution: {integrity: sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==} + + '@webassemblyjs/leb128@1.13.2': + resolution: {integrity: sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==} + + '@webassemblyjs/utf8@1.13.2': + resolution: {integrity: sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==} + + '@webassemblyjs/wasm-edit@1.14.1': + resolution: {integrity: sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==} + + '@webassemblyjs/wasm-gen@1.14.1': + resolution: {integrity: sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==} + + '@webassemblyjs/wasm-opt@1.14.1': + resolution: {integrity: sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==} + + '@webassemblyjs/wasm-parser@1.14.1': + resolution: {integrity: sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==} + + '@webassemblyjs/wast-printer@1.14.1': + resolution: {integrity: sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==} + + '@xtuc/ieee754@1.2.0': + resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} + + '@xtuc/long@4.2.2': + resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} + + a-sync-waterfall@1.0.1: + resolution: {integrity: sha512-RYTOHHdWipFUliRFMCS4X2Yn2X8M87V/OpSqWzKKOGhzqyUxzyVmhHDH9sAvG+ZuQf/TAOFsLCpMw09I1ufUnA==} + + accepts@1.3.8: + resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} + engines: {node: '>= 0.6'} + + acorn-import-phases@1.0.4: + resolution: {integrity: sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==} + engines: {node: '>=10.13.0'} + peerDependencies: + acorn: ^8.14.0 + + acorn-jsx@5.3.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + + acorn@8.16.0: + resolution: {integrity: sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==} + engines: {node: '>=0.4.0'} + hasBin: true + + add-dom-event-listener@1.1.0: + resolution: {integrity: sha512-WCxx1ixHT0GQU9hb0KI/mhgRQhnU+U3GvwY6ZvVjYq8rsihIGoaIOUbY0yMPBxLH5MDtr0kz3fisWGNcbWW7Jw==} + + adjust-sourcemap-loader@4.0.0: + resolution: {integrity: sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==} + engines: {node: '>=8.9'} + + agent-base@6.0.2: + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} + + ahooks@3.9.7: + resolution: {integrity: sha512-S0lvzhbdlhK36RFBkGv+RbOM/dbbweym+BIHM/bwwuWVSVN5TuVErHPMWo4w0t1NDYg5KPp2iEf7Y7E5LASYiw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + + ajv-formats@2.1.1: + resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + + ajv-keywords@3.5.2: + resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} + peerDependencies: + ajv: ^6.9.1 + + ajv-keywords@5.1.0: + resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==} + peerDependencies: + ajv: ^8.8.2 + + ajv@6.15.0: + resolution: {integrity: sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==} + + ajv@8.20.0: + resolution: {integrity: sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==} + + ansi-html-community@0.0.8: + resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==} + engines: {'0': node >= 0.8.0} + hasBin: true + + ansi-regex@4.1.1: + resolution: {integrity: sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==} + engines: {node: '>=6'} + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-regex@6.2.2: + resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==} + engines: {node: '>=12'} + + ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + ansi-styles@6.2.3: + resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} + engines: {node: '>=12'} + + antd-dayjs-webpack-plugin@1.0.6: + resolution: {integrity: sha512-UlK3BfA0iE2c5+Zz/Bd2iPAkT6cICtrKG4/swSik5MZweBHtgmu1aUQCHvICdiv39EAShdZy/edfP6mlkS/xXg==} + peerDependencies: + dayjs: '*' + + antd-style@4.1.0: + resolution: {integrity: sha512-vnPBGg0OVlSz90KRYZhxd89aZiOImTiesF+9MQqN8jsLGZUQTjbP04X9jTdEfsztKUuMbBWg/RmB/wHTakbtMQ==} + peerDependencies: + antd: '>=6.0.0' + react: '>=18' + + antd@4.24.16: + resolution: {integrity: sha512-zZrK4UYxHtU6tGOOf0uG/kBRx1kTvypfuSB3GqE/SBQxFhZ/TZ+yj7Z1qwI8vGfMtUUJdLeuoCAqGDa1zPsXnQ==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + antd@6.4.3: + resolution: {integrity: sha512-6H2avkxCGfxcF67r3J2mwm9Ck50el1pks/73vfM1wDsPL/tPtj5vHuauMgJFnrqmq7CH3g8aoZ0VBQbt+jpAsw==} + peerDependencies: + react: '>=18.0.0' + react-dom: '>=18.0.0' + + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + + argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + aria-hidden@1.2.6: + resolution: {integrity: sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==} + engines: {node: '>=10'} + + array-buffer-byte-length@1.0.2: + resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==} + engines: {node: '>= 0.4'} + + array-flatten@1.1.1: + resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} + + array-includes@3.1.9: + resolution: {integrity: sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==} + engines: {node: '>= 0.4'} + + array-tree-filter@2.1.0: + resolution: {integrity: sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw==} + + array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + + array.prototype.flat@1.3.3: + resolution: {integrity: sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==} + engines: {node: '>= 0.4'} + + array.prototype.flatmap@1.3.3: + resolution: {integrity: sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==} + engines: {node: '>= 0.4'} + + array.prototype.tosorted@1.1.4: + resolution: {integrity: sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==} + engines: {node: '>= 0.4'} + + arraybuffer.prototype.slice@1.0.4: + resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==} + engines: {node: '>= 0.4'} + + arrify@1.0.1: + resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} + engines: {node: '>=0.10.0'} + + asap@2.0.6: + resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} + + asn1.js@4.10.1: + resolution: {integrity: sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==} + + assert-okam@1.5.0: + resolution: {integrity: sha512-pchhPo40i8GsTj/7h6P8LSSzwRErnh2nCEiwXNTxy4VYw6lSesSac4rTKqwsA+fOZdj6FT81Mb9U1vIZEua1EQ==} + + assert@1.5.1: + resolution: {integrity: sha512-zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A==} + + astral-regex@2.0.0: + resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} + engines: {node: '>=8'} + + async-function@1.0.0: + resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==} + engines: {node: '>= 0.4'} + + async-validator@4.2.5: + resolution: {integrity: sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==} + + asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + + atomic-sleep@1.0.0: + resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} + engines: {node: '>=8.0.0'} + + autoprefixer@10.5.0: + resolution: {integrity: sha512-FMhOoZV4+qR6aTUALKX2rEqGG+oyATvwBt9IIzVR5rMa2HRWPkxf+P+PAJLD1I/H5/II+HuZcBJYEFBpq39ong==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 + + available-typed-arrays@1.0.7: + resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} + engines: {node: '>= 0.4'} + + axios@0.27.2: + resolution: {integrity: sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==} + + axios@1.16.1: + resolution: {integrity: sha512-caYkukvroVPO8KrzuJEb50Hm07KwfBZPEC3VeFHTsqWHvKTsy54hjJz9BS/cdaypROE2rH6xvm9mHX4fgWkr3A==} + + babel-jest@29.7.0: + resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@babel/core': ^7.8.0 + + babel-plugin-dynamic-import-node@2.3.3: + resolution: {integrity: sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==} + + babel-plugin-import@1.13.8: + resolution: {integrity: sha512-36babpjra5m3gca44V6tSTomeBlPA7cHUynrE2WiQIm3rEGD9xy28MKsx5IdO45EbnpJY7Jrgd00C6Dwt/l/2Q==} + + babel-plugin-istanbul@6.1.1: + resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} + engines: {node: '>=8'} + + babel-plugin-jest-hoist@29.6.3: + resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + babel-plugin-macros@3.1.0: + resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==} + engines: {node: '>=10', npm: '>=6'} + + babel-plugin-react-compiler@0.0.0-experimental-c23de8d-20240515: + resolution: {integrity: sha512-0XN2gmpT55QtAz5n7d5g91y1AuO9tRhWBaLgCRyc4ExHrlr7+LfxW+YTb3mOwxngkkiggwM8HyYsaEK9MqhnlQ==} + + babel-plugin-styled-components@2.1.4: + resolution: {integrity: sha512-Xgp9g+A/cG47sUyRwwYxGM4bR/jDRg5N6it/8+HxCnbT5XNKSKDT9xm4oag/osgqjC2It/vH0yXsomOG6k558g==} + peerDependencies: + styled-components: '>= 2' + + babel-preset-current-node-syntax@1.2.0: + resolution: {integrity: sha512-E/VlAEzRrsLEb2+dv8yp3bo4scof3l9nR4lrld+Iy5NyVqgVYUJnDAmunkhPMisRI32Qc4iRiz425d8vM++2fg==} + peerDependencies: + '@babel/core': ^7.0.0 || ^8.0.0-0 + + babel-preset-jest@29.6.3: + resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@babel/core': ^7.0.0 + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + balanced-match@2.0.0: + resolution: {integrity: sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==} + + base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + + baseline-browser-mapping@2.10.32: + resolution: {integrity: sha512-wbPvpyjJPC0zdfdKXxqEL3Ea+bOMD/87X4lftiJkkaBiuG6ALQy1SLmEd7BSmVCuwCQsBrCamgBoLyfFDD1EPg==} + engines: {node: '>=6.0.0'} + hasBin: true + + big-integer@1.6.52: + resolution: {integrity: sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==} + engines: {node: '>=0.6'} + + big.js@5.2.2: + resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} + + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + + bn.js@4.12.3: + resolution: {integrity: sha512-fGTi3gxV/23FTYdAoUtLYp6qySe2KE3teyZitipKNRuVYcBkoP/bB3guXN/XVKUe9mxCHXnc9C4ocyz8OmgN0g==} + + bn.js@5.2.3: + resolution: {integrity: sha512-EAcmnPkxpntVL+DS7bO1zhcZNvCkxqtkd0ZY53h06GNQ3DEkkGZ/gKgmDv6DdZQGj9BgfSPKtJJ7Dp1GPP8f7w==} + + body-parser@1.20.5: + resolution: {integrity: sha512-3grm+/2tUOvu2cjJkvsIxrv/wVpfXQW4PsQHYm7yk4vfpu7Ekl6nEsYBoJUL6qDwZUx8wUhQ8tR2qz+ad9c9OA==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + + boolbase@1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + + bplist-parser@0.2.0: + resolution: {integrity: sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==} + engines: {node: '>= 5.10.0'} + + brace-expansion@1.1.15: + resolution: {integrity: sha512-EwOCDEex4quD37XhqM3omwtMoJjr//isUZz1JopUNWms+4Z2ViyM/k1YIRePpoVNnQhENnxtFjLaxNHrT7xIUg==} + + brace-expansion@2.1.1: + resolution: {integrity: sha512-WR1cURNjuvBLMZBMbqM0UoE+WAfdUcEV1ccD8PVBVOI+Z3ND4+SZbN8RsfT2bMuG1qwz5RFvPukSZm5fF2D5eA==} + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + brorand@1.1.0: + resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} + + browser-image-compression@2.0.2: + resolution: {integrity: sha512-pBLlQyUf6yB8SmmngrcOw3EoS4RpQ1BcylI3T9Yqn7+4nrQTXJD4sJDe5ODnJdrvNMaio5OicFo75rDyJD2Ucw==} + + browserify-aes@1.2.0: + resolution: {integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==} + + browserify-cipher@1.0.1: + resolution: {integrity: sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==} + + browserify-des@1.0.2: + resolution: {integrity: sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==} + + browserify-rsa@4.1.1: + resolution: {integrity: sha512-YBjSAiTqM04ZVei6sXighu679a3SqWORA3qZTEqZImnlkDIFtKc6pNutpjyZ8RJTjQtuYfeetkxM11GwoYXMIQ==} + engines: {node: '>= 0.10'} + + browserify-sign@4.2.6: + resolution: {integrity: sha512-sd+Q65fjlWCYWtZKXiKfrUc8d+4jtp/8f0W2NkwzLtoW4bI6UDnWusLWIurHnmurW0XShIRxpwiOX4EoPtXUAg==} + engines: {node: '>= 0.10'} + + browserify-zlib@0.2.0: + resolution: {integrity: sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==} + + browserslist@4.28.2: + resolution: {integrity: sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + bser@2.1.1: + resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} + + buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + + buffer-okam@4.9.2: + resolution: {integrity: sha512-t+vozme+an7flUs6GXHGMiP3PdodTse1NgRHSDWioIFJAtmMlj3pj7qD20Mkr9hZy0+9HA4R0xcumpMewrRdZQ==} + + buffer-xor@1.0.3: + resolution: {integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==} + + buffer@4.9.2: + resolution: {integrity: sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==} + + builtin-status-codes@3.0.0: + resolution: {integrity: sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==} + + bundle-name@3.0.0: + resolution: {integrity: sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==} + engines: {node: '>=12'} + + bytes@3.1.2: + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} + engines: {node: '>= 0.8'} + + call-bind-apply-helpers@1.0.2: + resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} + engines: {node: '>= 0.4'} + + call-bind@1.0.9: + resolution: {integrity: sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ==} + engines: {node: '>= 0.4'} + + call-bound@1.0.4: + resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} + engines: {node: '>= 0.4'} + + call-me-maybe@1.0.2: + resolution: {integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==} + + callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + + camel-case@4.1.2: + resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} + + camelcase-keys@6.2.2: + resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} + engines: {node: '>=8'} + + camelcase@5.3.1: + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} + + camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + + camelize@1.0.1: + resolution: {integrity: sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==} + + caniuse-lite@1.0.30001793: + resolution: {integrity: sha512-iwSsYWaCOoh26cV8NwNRViHlrfUvYsHDfRVcbtmw0Kg6PJIZZXwMkj1442FYLBGkeUf1juAsU3DTfxW579mrPA==} + + chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + character-entities-legacy@3.0.0: + resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} + + character-entities@2.0.2: + resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} + + character-reference-invalid@2.0.1: + resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} + + chokidar@3.5.3: + resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} + engines: {node: '>= 8.10.0'} + + chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + + chrome-trace-event@1.0.4: + resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} + engines: {node: '>=6.0'} + + ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} + + cipher-base@1.0.7: + resolution: {integrity: sha512-Mz9QMT5fJe7bKI7MH31UilT5cEK5EHHRCccw/YRFsRY47AuNgaV6HY3rscp0/I4Q+tTW/5zoqpSeRRI54TkDWA==} + engines: {node: '>= 0.10'} + + classnames@2.5.1: + resolution: {integrity: sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==} + + clean-css@5.3.3: + resolution: {integrity: sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==} + engines: {node: '>= 10.0'} + + click-to-react-component@1.1.3: + resolution: {integrity: sha512-tHXsXuvHBKCjjrevtGUzanngE+8HtZLt57precpAO677vjCO9Vxr3Lc3VqgNGGd2JpVybL0QHhnsrijZ2T5cng==} + peerDependencies: + react: '>=16.8.0' + + client-only@0.0.1: + resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} + + cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + + clone-regexp@2.2.0: + resolution: {integrity: sha512-beMpP7BOtTipFuW8hrJvREQ2DrRu3BE7by0ZpibtfBA+qfHYvMGTc2Yb1JMYPKg/JUw0CHYvpg796aNTSW9z7Q==} + engines: {node: '>=6'} + + clsx@2.1.1: + resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} + engines: {node: '>=6'} + + color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + colord@2.9.3: + resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} + + combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + + comma-separated-tokens@2.0.3: + resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} + + commander@14.0.3: + resolution: {integrity: sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==} + engines: {node: '>=20'} + + commander@2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + + commander@5.1.0: + resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==} + engines: {node: '>= 6'} + + commander@7.2.0: + resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} + engines: {node: '>= 10'} + + commander@8.3.0: + resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} + engines: {node: '>= 12'} + + common-path-prefix@3.0.0: + resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==} + + compressible@2.0.18: + resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} + engines: {node: '>= 0.6'} + + compression@1.8.1: + resolution: {integrity: sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==} + engines: {node: '>= 0.8.0'} + + compute-scroll-into-view@1.0.20: + resolution: {integrity: sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg==} + + compute-scroll-into-view@3.1.1: + resolution: {integrity: sha512-VRhuHOLoKYOy4UbilLbUzbYg93XLjv2PncJC50EuTWPA3gaja1UjBsUP/D/9/juV3vQFr6XBEzn9KCAHdUvOHw==} + + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + connect-history-api-fallback@2.0.0: + resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==} + engines: {node: '>=0.8'} + + console-browserify@1.2.0: + resolution: {integrity: sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==} + + constants-browserify@1.0.0: + resolution: {integrity: sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==} + + content-disposition@0.5.4: + resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} + engines: {node: '>= 0.6'} + + content-type@1.0.5: + resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} + engines: {node: '>= 0.6'} + + convert-source-map@1.9.0: + resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} + + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + cookie-signature@1.0.7: + resolution: {integrity: sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==} + + cookie@0.7.2: + resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} + engines: {node: '>= 0.6'} + + copy-anything@2.0.6: + resolution: {integrity: sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==} + + copy-anything@3.0.5: + resolution: {integrity: sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==} + engines: {node: '>=12.13'} + + copy-to-clipboard@3.3.3: + resolution: {integrity: sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==} + + core-js-pure@3.49.0: + resolution: {integrity: sha512-XM4RFka59xATyJv/cS3O3Kml72hQXUeGRuuTmMYFxwzc9/7C8OYTaIR/Ji+Yt8DXzsFLNhat15cE/JP15HrCgw==} + + core-js@3.34.0: + resolution: {integrity: sha512-aDdvlDder8QmY91H88GzNi9EtQi2TjvQhpCX6B1v/dAZHU1AuLgHvRh54RiOerpEhEW46Tkf+vgAViB/CWC0ag==} + + core-util-is@1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + + cors@2.8.6: + resolution: {integrity: sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==} + engines: {node: '>= 0.10'} + + cose-base@1.0.3: + resolution: {integrity: sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==} + + cose-base@2.2.0: + resolution: {integrity: sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==} + + cosmiconfig@7.1.0: + resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} + engines: {node: '>=10'} + + cosmiconfig@9.0.1: + resolution: {integrity: sha512-hr4ihw+DBqcvrsEDioRO31Z17x71pUYoNe/4h6Z0wB72p7MU7/9gH8Q3s12NFhHPfYBBOV3qyfUxmr/Yn3shnQ==} + engines: {node: '>=14'} + peerDependencies: + typescript: '>=4.9.5' + peerDependenciesMeta: + typescript: + optional: true + + create-ecdh@4.0.4: + resolution: {integrity: sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==} + + create-hash@1.2.0: + resolution: {integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==} + + create-hmac@1.1.7: + resolution: {integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==} + + cropperjs@1.6.2: + resolution: {integrity: sha512-nhymn9GdnV3CqiEHJVai54TULFAE3VshJTXSqSJKa8yXAKyBKDWdhHarnlIPrshJ0WMFTGuFvG02YjLXfPiuOA==} + + cross-env@10.1.0: + resolution: {integrity: sha512-GsYosgnACZTADcmEyJctkJIoqAhHjttw7RsFrVoJNXbsWWqaq6Ym+7kZjq6mS45O0jij6vtiReppKQEtqWy6Dw==} + engines: {node: '>=20'} + hasBin: true + + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + + crypto-browserify@3.12.1: + resolution: {integrity: sha512-r4ESw/IlusD17lgQi1O20Fa3qNnsckR126TdUuBgAu7GBYSIPvdNyONd3Zrxh0xCwA4+6w/TDArBPsMvhur+KQ==} + engines: {node: '>= 0.10'} + + crypto-js@4.2.0: + resolution: {integrity: sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==} + + css-blank-pseudo@3.0.3: + resolution: {integrity: sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==} + engines: {node: ^12 || ^14 || >=16} + hasBin: true + peerDependencies: + postcss: ^8.4 + + css-color-keywords@1.0.0: + resolution: {integrity: sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==} + engines: {node: '>=4'} + + css-functions-list@3.3.3: + resolution: {integrity: sha512-8HFEBPKhOpJPEPu70wJJetjKta86Gw9+CCyCnB3sui2qQfOvRyqBy4IKLKKAwdMpWb2lHXWk9Wb4Z6AmaUT1Pg==} + engines: {node: '>=12'} + + css-has-pseudo@3.0.4: + resolution: {integrity: sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==} + engines: {node: ^12 || ^14 || >=16} + hasBin: true + peerDependencies: + postcss: ^8.4 + + css-loader@6.7.1: + resolution: {integrity: sha512-yB5CNFa14MbPJcomwNh3wLThtkZgcNyI2bNMRt8iE5Z8Vwl7f8vQXFAzn2HDOJvtDq2NTZBUGMSUNNyrv3/+cw==} + engines: {node: '>= 12.13.0'} + peerDependencies: + webpack: ^5.0.0 + + css-prefers-color-scheme@6.0.3: + resolution: {integrity: sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==} + engines: {node: ^12 || ^14 || >=16} + hasBin: true + peerDependencies: + postcss: ^8.4 + + css-select@4.3.0: + resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} + + css-to-react-native@3.2.0: + resolution: {integrity: sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==} + + css-tree@1.1.3: + resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==} + engines: {node: '>=8.0.0'} + + css-what@6.2.2: + resolution: {integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==} + engines: {node: '>= 6'} + + cssdb@6.6.3: + resolution: {integrity: sha512-7GDvDSmE+20+WcSMhP17Q1EVWUrLlbxxpMDqG731n8P99JhnQZHR9YvtjPvEHfjFUjvQJvdpKCjlKOX+xe4UVA==} + + cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + + csso@4.2.0: + resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==} + engines: {node: '>=8.0.0'} + + csstype@3.2.3: + resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} + + current-script-polyfill@1.0.0: + resolution: {integrity: sha512-qv8s+G47V6Hq+g2kRE5th+ASzzrL7b6l+tap1DHKK25ZQJv3yIFhH96XaQ7NGL+zRW3t/RDbweJf/dJDe5Z5KA==} + + cytoscape-cose-bilkent@4.1.0: + resolution: {integrity: sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==} + peerDependencies: + cytoscape: ^3.2.0 + + cytoscape-fcose@2.2.0: + resolution: {integrity: sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ==} + peerDependencies: + cytoscape: ^3.2.0 + + cytoscape@3.33.4: + resolution: {integrity: sha512-HIN5Pmd9MrX9BkV7tDwnOcEJCSFvCpc8X97h3f508J6I5FsqAY65wKOCvgH2CuP42CaahWaz4tuh32SOOIH7ww==} + engines: {node: '>=0.10'} + + d3-array@2.12.1: + resolution: {integrity: sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==} + + d3-array@3.2.4: + resolution: {integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==} + engines: {node: '>=12'} + + d3-axis@3.0.0: + resolution: {integrity: sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==} + engines: {node: '>=12'} + + d3-brush@3.0.0: + resolution: {integrity: sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==} + engines: {node: '>=12'} + + d3-chord@3.0.1: + resolution: {integrity: sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==} + engines: {node: '>=12'} + + d3-color@3.1.0: + resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==} + engines: {node: '>=12'} + + d3-contour@4.0.2: + resolution: {integrity: sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==} + engines: {node: '>=12'} + + d3-delaunay@6.0.4: + resolution: {integrity: sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==} + engines: {node: '>=12'} + + d3-dispatch@3.0.1: + resolution: {integrity: sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==} + engines: {node: '>=12'} + + d3-drag@3.0.0: + resolution: {integrity: sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==} + engines: {node: '>=12'} + + d3-dsv@3.0.1: + resolution: {integrity: sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==} + engines: {node: '>=12'} + hasBin: true + + d3-ease@3.0.1: + resolution: {integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==} + engines: {node: '>=12'} + + d3-fetch@3.0.1: + resolution: {integrity: sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==} + engines: {node: '>=12'} + + d3-force@3.0.0: + resolution: {integrity: sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==} + engines: {node: '>=12'} + + d3-format@3.1.2: + resolution: {integrity: sha512-AJDdYOdnyRDV5b6ArilzCPPwc1ejkHcoyFarqlPqT7zRYjhavcT3uSrqcMvsgh2CgoPbK3RCwyHaVyxYcP2Arg==} + engines: {node: '>=12'} + + d3-geo@3.1.1: + resolution: {integrity: sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==} + engines: {node: '>=12'} + + d3-hierarchy@3.1.2: + resolution: {integrity: sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==} + engines: {node: '>=12'} + + d3-interpolate@3.0.1: + resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==} + engines: {node: '>=12'} + + d3-path@1.0.9: + resolution: {integrity: sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==} + + d3-path@3.1.0: + resolution: {integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==} + engines: {node: '>=12'} + + d3-polygon@3.0.1: + resolution: {integrity: sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==} + engines: {node: '>=12'} + + d3-quadtree@3.0.1: + resolution: {integrity: sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==} + engines: {node: '>=12'} + + d3-random@3.0.1: + resolution: {integrity: sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==} + engines: {node: '>=12'} + + d3-sankey@0.12.3: + resolution: {integrity: sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==} + + d3-scale-chromatic@3.1.0: + resolution: {integrity: sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==} + engines: {node: '>=12'} + + d3-scale@4.0.2: + resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==} + engines: {node: '>=12'} + + d3-selection@3.0.0: + resolution: {integrity: sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==} + engines: {node: '>=12'} + + d3-shape@1.3.7: + resolution: {integrity: sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==} + + d3-shape@3.2.0: + resolution: {integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==} + engines: {node: '>=12'} + + d3-time-format@4.1.0: + resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==} + engines: {node: '>=12'} + + d3-time@3.1.0: + resolution: {integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==} + engines: {node: '>=12'} + + d3-timer@3.0.1: + resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==} + engines: {node: '>=12'} + + d3-transition@3.0.1: + resolution: {integrity: sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==} + engines: {node: '>=12'} + peerDependencies: + d3-selection: 2 - 3 + + d3-zoom@3.0.0: + resolution: {integrity: sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==} + engines: {node: '>=12'} + + d3@7.9.0: + resolution: {integrity: sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==} + engines: {node: '>=12'} + + d@1.0.2: + resolution: {integrity: sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==} + engines: {node: '>=0.12'} + + dagre-d3-es@7.0.14: + resolution: {integrity: sha512-P4rFMVq9ESWqmOgK+dlXvOtLwYg0i7u0HBGJER0LZDJT2VHIPAMZ/riPxqJceWMStH5+E61QxFra9kIS3AqdMg==} + + data-uri-to-buffer@4.0.1: + resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} + engines: {node: '>= 12'} + + data-view-buffer@1.0.2: + resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==} + engines: {node: '>= 0.4'} + + data-view-byte-length@1.0.2: + resolution: {integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==} + engines: {node: '>= 0.4'} + + data-view-byte-offset@1.0.1: + resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==} + engines: {node: '>= 0.4'} + + date-fns@2.30.0: + resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==} + engines: {node: '>=0.11'} + + dayjs@1.11.21: + resolution: {integrity: sha512-98IT+HOahAisibz/yjKbzuOBwYcjJ7BCLPzARyHiyEBmRz4fatF+KPJszEHXsGYjUG234aH/cOjW1wwTbKUZlA==} + + debug@2.6.9: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@3.2.7: + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@4.4.3: + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + decamelize-keys@1.1.1: + resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} + engines: {node: '>=0.10.0'} + + decamelize@1.2.0: + resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} + engines: {node: '>=0.10.0'} + + decode-named-character-reference@1.3.0: + resolution: {integrity: sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==} + + decode-uri-component@0.2.2: + resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} + engines: {node: '>=0.10'} + + deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + + deepmerge@1.5.2: + resolution: {integrity: sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==} + engines: {node: '>=0.10.0'} + + deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + + default-browser-id@3.0.0: + resolution: {integrity: sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==} + engines: {node: '>=12'} + + default-browser@4.0.0: + resolution: {integrity: sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==} + engines: {node: '>=14.16'} + + define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + + define-lazy-prop@2.0.0: + resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} + engines: {node: '>=8'} + + define-lazy-prop@3.0.0: + resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} + engines: {node: '>=12'} + + define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + + delaunator@5.1.0: + resolution: {integrity: sha512-AGrQ4QSgssa1NGmWmLPqN5NY2KajF5MqxetNEO+o0n3ZwZZeTmt7bBnvzHWrmkZFxGgr4HdyFgelzgi06otLuQ==} + + delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + + depd@1.1.2: + resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} + engines: {node: '>= 0.6'} + + depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + + dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + + des.js@1.1.0: + resolution: {integrity: sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==} + + destroy@1.0.4: + resolution: {integrity: sha512-3NdhDuEXnfun/z7x9GOElY49LoqVHoGScmOKwmxhsS8N5Y+Z8KyPPDnaSzqWgYt/ji4mqwfTS34Htrk0zPIXVg==} + + destroy@1.2.0: + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + + detect-indent@7.0.2: + resolution: {integrity: sha512-y+8xyqdGLL+6sh0tVeHcfP/QDd8gUgbasolJJpY7NgeQGSZ739bDtSiaiDgtoicy+mtYB81dKLxO9xRhCyIB3A==} + engines: {node: '>=12.20'} + + detect-libc@1.0.3: + resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} + engines: {node: '>=0.10'} + hasBin: true + + detect-newline@4.0.1: + resolution: {integrity: sha512-qE3Veg1YXzGHQhlA6jzebZN2qVf6NX+A7m7qlhCGG30dJixrAQhYOsJjsnBjJkCSmuOPpCk30145fr8FV0bzog==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + detect-node@2.1.0: + resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} + + diffie-hellman@5.0.3: + resolution: {integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==} + + dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + + doctrine@2.1.0: + resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} + engines: {node: '>=0.10.0'} + + doctrine@3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + + dom-align@1.12.4: + resolution: {integrity: sha512-R8LUSEay/68zE5c8/3BDxiTEvgb4xZTF0RKmAHfiEVN3klfIpXfi2/QCoiWPccVQ0J/ZGdz9OjzL4uJEP/MRAw==} + + dom-converter@0.2.0: + resolution: {integrity: sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==} + + dom-serializer@1.4.1: + resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} + + dom-walk@0.1.2: + resolution: {integrity: sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==} + + dom7@4.0.6: + resolution: {integrity: sha512-emjdpPLhpNubapLFdjNL9tP06Sr+GZkrIHEXLWvOGsytACUrkbeIdjO5g77m00BrHTznnlcNqgmn7pCN192TBA==} + + domain-browser@1.2.0: + resolution: {integrity: sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==} + engines: {node: '>=0.4', npm: '>=1.2'} + + domelementtype@2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + + domhandler@4.3.1: + resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} + engines: {node: '>= 4'} + + domparser-darwin-arm64@0.0.7: + resolution: {integrity: sha512-6lsDppVTrqV9G688q3OWYxghFd3g6gmelA9SR87waAic+eZ+FB7Goco3UxW936lJ0GvSpokiJlqcFX+QnkCfEw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + domparser-darwin-x64@0.0.7: + resolution: {integrity: sha512-BSw91pFsEU56LSRtnqqn2I3pxv+zIh48V2Mp7Ku8q6XbHqUxSWR1POxRjtdjkntmJisTKg2LzezthJODxWMFUA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + domparser-linux-arm64-gnu@0.0.7: + resolution: {integrity: sha512-F9Znw5XHqyVS/kMqstedfuy4sgqiLyPZVmG6fpvpNqkMX57pZaSPJlys9/OLwT2Fx+8oB8+8Byb/4E/vnPYqJQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + domparser-linux-arm64-musl@0.0.7: + resolution: {integrity: sha512-dV14s5WwfotBFGrp5SCGLk0J6LCAj+ZcuuLmpQOsbekPCbiZksk7XOoE2RrZ03ny+/bWN+Sh+jaU9IGiryMVxQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + libc: [musl] + + domparser-linux-x64-gnu@0.0.7: + resolution: {integrity: sha512-Ugu95+nsEyWgEsZ0v6cDp9rUHong0HeWMbjmzjICNIvAdbXfaCjbSk+m10YeOTk2N3O4svLvwfnCLYbRcvUTTg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + libc: [glibc] + + domparser-linux-x64-musl@0.0.7: + resolution: {integrity: sha512-ssuCW0QL1ZB7MjOL0F5o06uy6qreaRsiA8EIGl5rfQstoWrQeKWEtI0yh7dIxvN++Zz0GLFY9IdbSj8GUuY4Kg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + libc: [musl] + + domparser-rs@0.0.7: + resolution: {integrity: sha512-OGXsNHyFLGHGzi/zdPRw+Nv4jQdh7DCgmJAQYHXTIGXX1nW4RFwPyocv+VvemRHqs2QFOH6MDhpkzhiXiI6caA==} + engines: {node: '>= 10'} + + domparser-win32-arm64-msvc@0.0.7: + resolution: {integrity: sha512-tqr1ltXk0PG9U3kCFXzF6tEzA0AWVrV4Oa+jbyNb1JeVeuALf6uCQO0XjVdb0nknll5iMjwVXR2y2Mw+CEwTAw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + domparser-win32-x64-msvc@0.0.7: + resolution: {integrity: sha512-69XAew+0MublYlx7Mywe/9qkc/lo6L5QYsBBgwHDK96QPy4MFv5U4WgsXWXbKoeKEbBlRMyLA0iohF0qvU+Veg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + dompurify@3.4.7: + resolution: {integrity: sha512-2jBxDJY4RR06tQNy4w5FlFH7kfxsQZlufd0sbv+chfHCxeJwrFw2baUDsSwvBISD4K4RDbd0PTfy3uNXsR6siA==} + + domutils@2.8.0: + resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} + + dot-case@3.0.4: + resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} + + dunder-proto@1.0.1: + resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} + engines: {node: '>= 0.4'} + + duplexify@4.1.3: + resolution: {integrity: sha512-M3BmBhwJRZsSx38lZyhE53Csddgzl5R7xGJNk7CVddZD6CcmwMCH8J+7AprIrQKH7TonKxaCjcv27Qmf+sQ+oA==} + + dva-core@1.5.0-beta.2: + resolution: {integrity: sha512-xmtr/J63EZXBdVXNBW+QCD7p9CaE8kAo2U1faRyv3PIGcy0G3Y6IBDNtoBB/Cj3nzk/jvX0dv96Hnh1kpSnI7Q==} + peerDependencies: + redux: 3.x + + dva-core@2.0.4: + resolution: {integrity: sha512-Zh39llFyItu9HKXKfCZVf9UFtDTcypdAjGBew1S+wK8BGVzFpm1GPTdd6uIMeg7O6STtCvt2Qv+RwUut1GFynA==} + peerDependencies: + redux: 4.x + + dva-immer@1.0.2: + resolution: {integrity: sha512-FljpX5ZKm0APjq4Vpli1Ii4XNiWY/2goDI92LU5bkc4pzR4njDdTaZ0+J1bpgTDVWHmF8tmug6rD9kry0DKt4g==} + peerDependencies: + dva: ^2.5.0-0 + + dva-loading@3.0.25: + resolution: {integrity: sha512-RYbpSjvPj2NF+3YSc9QkDpwM1wO8uRAVfU6VGSgIxA2kA/Xd6yoY+VQM7GDRnvCvT579pESeBZBXk+8WKWOdDA==} + peerDependencies: + dva-core: ^1.1.0 || ^1.5.0-0 || ^1.6.0-0 + + dva@2.5.0-beta.2: + resolution: {integrity: sha512-kc2+CHhF1cNIU3Rg1miMhHgOKJ/VDrq9d6ynVBZf1EN2YKWU3MVFq/uTTBqMr2qkR0m9f8VKHOFmfKLtfMI93Q==} + peerDependencies: + react: 15.x || ^16.0.0-0 + react-dom: 15.x || ^16.0.0-0 + + eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + + echarts-for-react@3.0.6: + resolution: {integrity: sha512-4zqLgTGWS3JvkQDXjzkR1k1CHRdpd6by0988TWMJgnvDytegWLbeP/VNZmMa+0VJx2eD7Y632bi2JquXDgiGJg==} + peerDependencies: + echarts: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 + react: ^15.0.0 || >=16.0.0 + + echarts@6.1.0: + resolution: {integrity: sha512-q0yaFPggC9FUdsWH4blavRWFmxdrIodbkoKNAjJudAI6CA9gNPxHtV2RcZNEepZVlk4yvBYkOkbk6HIVpIyHZA==} + + ee-first@1.1.1: + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + + electron-to-chromium@1.5.363: + resolution: {integrity: sha512-VjUKPyWzGnT1fujlkEGC/BvN70Hh70KXtAqcmniXviYlJC/ivcT+BWGPyxWVbJZLfvtKR6dqg1L7T7pgAMBtWA==} + + elliptic@6.6.1: + resolution: {integrity: sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + + emojis-list@3.0.0: + resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} + engines: {node: '>= 4'} + + encodeurl@1.0.2: + resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} + engines: {node: '>= 0.8'} + + encodeurl@2.0.0: + resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} + engines: {node: '>= 0.8'} + + encoding@0.1.13: + resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} + + end-of-stream@1.4.5: + resolution: {integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==} + + enhanced-resolve@5.22.0: + resolution: {integrity: sha512-xYcDWrpELkFzz9SpZ3PlI6Eu6eD93Yf0WLDRxikGhWJ3MAir2SNZTIVCVZqZ/NUyx8AdMc2gT9C0gPiw18kG+A==} + engines: {node: '>=10.13.0'} + + enhanced-resolve@5.9.3: + resolution: {integrity: sha512-Bq9VSor+kjvW3f9/MiiR4eE3XYgOl7/rS8lnSxbRbF3kS0B2r+Y9w5krBWxZgDxASVZbdYrn5wT4j/Wb0J9qow==} + engines: {node: '>=10.13.0'} + + entities@2.2.0: + resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} + + entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + + env-paths@2.2.1: + resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} + engines: {node: '>=6'} + + errno@0.1.8: + resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==} + hasBin: true + + error-ex@1.3.4: + resolution: {integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==} + + error-stack-parser@2.1.4: + resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==} + + es-abstract@1.24.2: + resolution: {integrity: sha512-2FpH9Q5i2RRwyEP1AylXe6nYLR5OhaJTZwmlcP0dL/+JCbgg7yyEo/sEK6HeGZRf3dFpWwThaRHVApXSkW3xeg==} + engines: {node: '>= 0.4'} + + es-define-property@1.0.1: + resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + es-get-iterator@1.1.3: + resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} + + es-iterator-helpers@1.3.2: + resolution: {integrity: sha512-HVLACW1TppGYjJ8H6/jqH/pqOtKRw6wMlrB23xfExmFWxFquAIWCmwoLsOyN96K4a5KbmOf5At9ZUO3GZbetAw==} + engines: {node: '>= 0.4'} + + es-module-lexer@2.1.0: + resolution: {integrity: sha512-n27zTYMjYu1aj4MjCWzSP7G9r75utsaoc8m61weK+W8JMBGGQybd43GstCXZ3WNmSFtGT9wi59qQTW6mhTR5LQ==} + + es-object-atoms@1.1.2: + resolution: {integrity: sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==} + engines: {node: '>= 0.4'} + + es-set-tostringtag@2.1.0: + resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} + engines: {node: '>= 0.4'} + + es-shim-unscopables@1.1.0: + resolution: {integrity: sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==} + engines: {node: '>= 0.4'} + + es-to-primitive@1.3.0: + resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==} + engines: {node: '>= 0.4'} + + es-toolkit@1.47.0: + resolution: {integrity: sha512-n1GuoD0WEQZMBk5tttoZSqwgyLx01oqa5XsBmCHwPyNe1S9jPBEmtR2pSgp2kJuWE3ciFZ6yRHmY4pM4C3OOkw==} + + es5-ext@0.10.64: + resolution: {integrity: sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==} + engines: {node: '>=0.10'} + + es5-imcompatible-versions@0.1.90: + resolution: {integrity: sha512-2MPI0t/VV4j/oz1qbMekb4gCW81dewTpM2XJHKnPpZiPGu+1rVWmhTnwcq1vt8AFwWrkNF4RE7OZ9ibnKFYKwg==} + + es6-iterator@2.0.3: + resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==} + + es6-promise@3.3.1: + resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==} + + es6-promise@4.2.8: + resolution: {integrity: sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==} + + es6-symbol@3.1.4: + resolution: {integrity: sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==} + engines: {node: '>=0.12'} + + es6-weak-map@2.0.3: + resolution: {integrity: sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==} + + esbuild@0.18.20: + resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} + engines: {node: '>=12'} + hasBin: true + + esbuild@0.21.4: + resolution: {integrity: sha512-sFMcNNrj+Q0ZDolrp5pDhH0nRPN9hLIM3fRPwgbLYJeSHHgnXSnbV3xYgSVuOeLWH9c73VwmEverVzupIv5xuA==} + engines: {node: '>=12'} + hasBin: true + + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + + escape-html@1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + + escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + + escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + + eslint-plugin-jest@27.2.3: + resolution: {integrity: sha512-sRLlSCpICzWuje66Gl9zvdF6mwD5X86I4u55hJyFBsxYOsBCmT5+kSUjf+fkFWVMMgpzNEupjW8WzUqi83hJAQ==} + 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 + + eslint-plugin-react-hooks@4.6.0: + resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} + engines: {node: '>=10'} + peerDependencies: + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 + + eslint-plugin-react@7.33.2: + resolution: {integrity: sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==} + engines: {node: '>=4'} + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + + eslint-scope@5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} + + eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + eslint-utils@3.0.0: + resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} + engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} + peerDependencies: + eslint: '>=5' + + eslint-visitor-keys@2.1.0: + resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} + engines: {node: '>=10'} + + eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + eslint@8.35.0: + resolution: {integrity: sha512-BxAf1fVL7w+JLRQhWl2pzGeSiGqbWumV4WNvc9Rhp6tiCtm4oHnyPBSEtMGZwrQgudFQ+otqzWoPB7x+hxoWsw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. + hasBin: true + + esniff@2.0.1: + resolution: {integrity: sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==} + engines: {node: '>=0.10'} + + espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + + esquery@1.7.0: + resolution: {integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==} + engines: {node: '>=0.10'} + + esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + + estraverse@4.3.0: + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} + + estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + + esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + + etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + + event-emitter@0.3.5: + resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==} + + events-okam@3.3.0: + resolution: {integrity: sha512-6iR7z9hAJEwrT+D2Ywg6Fx62HSmN86OlcvPdrnq1JBeFr30dMF6l+j7M3VabjHfIi2KMtF8rO0J1rIZEfwMAwg==} + engines: {node: '>=0.8.x'} + + events@3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} + + evp_bytestokey@1.0.3: + resolution: {integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==} + + execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + + execa@7.2.0: + resolution: {integrity: sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==} + engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0} + + execall@2.0.0: + resolution: {integrity: sha512-0FU2hZ5Hh6iQnarpRtQurM/aAvp3RIbfvgLHrcqJYzhXyV2KFruhuChf9NC6waAhiUR7FFtlugkI4p7f2Fqlow==} + engines: {node: '>=8'} + + express-http-proxy@2.1.2: + resolution: {integrity: sha512-FXcAcs7Nf/hF73Mzh0WDWPwaOlsEUL/fCHW3L4wU6DH79dypsaxmbnAildCLniFs7HQuuvoiR6bjNVUvGuTb5g==} + engines: {node: '>=6.0.0'} + + express@4.22.2: + resolution: {integrity: sha512-IuL+Elrou2ZvCFHs18/CIzy2Nzvo25nZ1/D2eIZlz7c+QUayAcYoiM2BthCjs+EBHVpjYjcuLDAiCWgeIX3X1Q==} + engines: {node: '>= 0.10.0'} + + ext@1.7.0: + resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==} + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-glob@3.2.12: + resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} + engines: {node: '>=8.6.0'} + + fast-glob@3.3.3: + resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} + engines: {node: '>=8.6.0'} + + fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + + fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + + fast-redact@3.5.0: + resolution: {integrity: sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A==} + engines: {node: '>=6'} + + fast-safe-stringify@2.1.1: + resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} + + fast-uri@3.1.2: + resolution: {integrity: sha512-rVjf7ArG3LTk+FS6Yw81V1DLuZl1bRbNrev6Tmd/9RaroeeRRJhAt7jg/6YFxbvAQXUCavSoZhPPj6oOx+5KjQ==} + + fastest-levenshtein@1.0.16: + resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==} + engines: {node: '>= 4.9.1'} + + fastq@1.20.1: + resolution: {integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==} + + fault@1.0.4: + resolution: {integrity: sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==} + + fb-watchman@2.0.2: + resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} + + fetch-blob@3.2.0: + resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} + engines: {node: ^12.20 || >= 14.13} + + file-entry-cache@6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} + + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + filter-obj@1.1.0: + resolution: {integrity: sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==} + engines: {node: '>=0.10.0'} + + finalhandler@1.3.2: + resolution: {integrity: sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==} + engines: {node: '>= 0.8'} + + find-root@1.1.0: + resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==} + + find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + + find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + + flat-cache@3.2.0: + resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} + engines: {node: ^10.12.0 || >=12.0.0} + + flatted@3.4.2: + resolution: {integrity: sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==} + + flatten@1.0.3: + resolution: {integrity: sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg==} + deprecated: flatten is deprecated in favor of utility frameworks such as lodash. + + follow-redirects@1.16.0: + resolution: {integrity: sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + + for-each@0.3.5: + resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} + engines: {node: '>= 0.4'} + + foreground-child@3.3.1: + resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} + engines: {node: '>=14'} + + fork-ts-checker-webpack-plugin@8.0.0: + resolution: {integrity: sha512-mX3qW3idpueT2klaQXBzrIM/pHw+T0B/V9KHEvNrqijTq9NFnMZU6oreVxDYcf33P8a5cW+67PjodNHthGnNVg==} + engines: {node: '>=12.13.0', yarn: '>=1.0.0'} + peerDependencies: + typescript: '>3.6.0' + webpack: ^5.11.0 + + form-data@4.0.5: + resolution: {integrity: sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==} + engines: {node: '>= 6'} + + format@0.2.2: + resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} + engines: {node: '>=0.4.x'} + + formdata-polyfill@4.0.10: + resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} + engines: {node: '>=12.20.0'} + + forwarded@0.2.0: + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} + engines: {node: '>= 0.6'} + + fraction.js@5.3.4: + resolution: {integrity: sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==} + + fresh@0.5.2: + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} + engines: {node: '>= 0.6'} + + fs-extra@10.1.0: + resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} + engines: {node: '>=12'} + + fs-monkey@1.1.0: + resolution: {integrity: sha512-QMUezzXWII9EV5aTFXW1UBVUO77wYPpjqIF8/AviUCThNeSYZykpoTixUeaNNBwmCev0AMDWMAni+f8Hxb1IFw==} + + fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + function.prototype.name@1.1.8: + resolution: {integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==} + engines: {node: '>= 0.4'} + + functions-have-names@1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + + generator-function@2.0.1: + resolution: {integrity: sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==} + engines: {node: '>= 0.4'} + + gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + + get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + + get-intrinsic@1.3.0: + resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} + engines: {node: '>= 0.4'} + + get-package-type@0.1.0: + resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} + engines: {node: '>=8.0.0'} + + get-port@5.1.1: + resolution: {integrity: sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==} + engines: {node: '>=8'} + + get-proto@1.0.1: + resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} + engines: {node: '>= 0.4'} + + get-stdin@8.0.0: + resolution: {integrity: sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==} + engines: {node: '>=10'} + + get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + + get-symbol-description@1.1.0: + resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} + engines: {node: '>= 0.4'} + + get-tsconfig@4.14.0: + resolution: {integrity: sha512-yTb+8DXzDREzgvYmh6s9vHsSVCHeC0G3PI5bEXNBHtmshPnO+S5O7qgLEOn0I5QvMy6kpZN8K1NKGyilLb93wA==} + + get-tsconfig@4.7.5: + resolution: {integrity: sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==} + + git-hooks-list@3.2.0: + resolution: {integrity: sha512-ZHG9a1gEhUMX1TvGrLdyWb9kDopCBbTnI8z4JgRMYxsijWipgjSEYoPWqBuIB0DnRnvqlQSEeVmzpeuPm7NdFQ==} + + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + + glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + + glob-to-regexp@0.4.1: + resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} + + glob@10.5.0: + resolution: {integrity: sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==} + deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me + hasBin: true + + glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me + + glob@9.3.5: + resolution: {integrity: sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==} + engines: {node: '>=16 || 14 >=14.17'} + deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me + + global-modules@2.0.0: + resolution: {integrity: sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==} + engines: {node: '>=6'} + + global-prefix@3.0.0: + resolution: {integrity: sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==} + engines: {node: '>=6'} + + global@4.4.0: + resolution: {integrity: sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==} + + globals@13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} + engines: {node: '>=8'} + + globalthis@1.0.4: + resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} + engines: {node: '>= 0.4'} + + globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + + globby@13.2.2: + resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + globjoin@0.1.4: + resolution: {integrity: sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==} + + gopd@1.2.0: + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} + engines: {node: '>= 0.4'} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + grapheme-splitter@1.0.4: + resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} + + graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + + hachure-fill@0.5.2: + resolution: {integrity: sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg==} + + handle-thing@2.0.1: + resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==} + + hard-rejection@2.1.0: + resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} + engines: {node: '>=6'} + + harmony-reflect@1.6.2: + resolution: {integrity: sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==} + + has-bigints@1.1.0: + resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==} + engines: {node: '>= 0.4'} + + has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + + has-proto@1.2.0: + resolution: {integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==} + engines: {node: '>= 0.4'} + + has-symbols@1.1.0: + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} + engines: {node: '>= 0.4'} + + has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} + + hash-base@3.0.5: + resolution: {integrity: sha512-vXm0l45VbcHEVlTCzs8M+s0VeYsB2lnlAaThoLKGXr3bE/VWDOelNUnycUPEhKEaXARL2TEFjBOyUiM6+55KBg==} + engines: {node: '>= 0.10'} + + hash-base@3.1.2: + resolution: {integrity: sha512-Bb33KbowVTIj5s7Ked1OsqHUeCpz//tPwR+E2zJgJKo9Z5XolZ9b6bdUgjmYlwnWhoOQKoTd1TYToZGn5mAYOg==} + engines: {node: '>= 0.8'} + + hash.js@1.1.7: + resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} + + hasown@2.0.3: + resolution: {integrity: sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==} + engines: {node: '>= 0.4'} + + hast-util-parse-selector@4.0.0: + resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==} + + hastscript@9.0.1: + resolution: {integrity: sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==} + + he@1.2.0: + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + hasBin: true + + highlight.js@10.7.3: + resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==} + + highlightjs-vue@1.0.0: + resolution: {integrity: sha512-PDEfEF102G23vHmPhLyPboFCD+BkMGu+GuJe2d9/eH4FsCwvgBpnc9n0pGE+ffKdph38s6foEZiEjdgHdzp+IA==} + + history@4.10.1: + resolution: {integrity: sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==} + + history@5.3.0: + resolution: {integrity: sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==} + + hmac-drbg@1.0.1: + resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} + + hoist-non-react-statics@2.5.5: + resolution: {integrity: sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==} + + hoist-non-react-statics@3.3.2: + resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} + + hono@4.12.23: + resolution: {integrity: sha512-eIaZ9qDgu7XV0pxOCrg7/WhnQ6Ivm22UcxhXx/A3dcbqbbYgBEkc6e/J/s7j2tS96zoB0S9VBdLwQNCWwUo4LA==} + engines: {node: '>=16.9.0'} + + hosted-git-info@2.8.9: + resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} + + hosted-git-info@4.1.0: + resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} + engines: {node: '>=10'} + + hpack.js@2.1.6: + resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==} + + htm@3.1.1: + resolution: {integrity: sha512-983Vyg8NwUE7JkZ6NmOqpCZ+sh1bKv2iYTlUkzlWmA5JD2acKoxd4KVxbMmxX/85mtfdnDmTFoNKcg5DGAvxNQ==} + + html-entities@2.6.0: + resolution: {integrity: sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ==} + + html-minifier-terser@6.1.0: + resolution: {integrity: sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==} + engines: {node: '>=12'} + hasBin: true + + html-tags@3.3.1: + resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} + engines: {node: '>=8'} + + html-void-elements@3.0.0: + resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} + + html-webpack-plugin@5.5.0: + resolution: {integrity: sha512-sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw==} + engines: {node: '>=10.13.0'} + peerDependencies: + webpack: ^5.20.0 + + htmlparser2@6.1.0: + resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==} + + http-deceiver@1.2.7: + resolution: {integrity: sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==} + + http-errors@1.7.3: + resolution: {integrity: sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==} + engines: {node: '>= 0.6'} + + http-errors@2.0.1: + resolution: {integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==} + engines: {node: '>= 0.8'} + + http2-client@1.3.5: + resolution: {integrity: sha512-EC2utToWl4RKfs5zd36Mxq7nzHHBuomZboI0yYL6Y0RmBgT7Sgkq4rQ0ezFTYoIsSs7Tm9SJe+o2FcAg6GBhGA==} + + https-browserify@1.0.0: + resolution: {integrity: sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==} + + https-proxy-agent@5.0.1: + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} + + human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + + human-signals@4.3.1: + resolution: {integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==} + engines: {node: '>=14.18.0'} + + i18next@23.16.8: + resolution: {integrity: sha512-06r/TitrM88Mg5FdUXAKL96dJMzgqLE5dv3ryBAra4KCwD9mJ4ndOTS95ZuymIGoE+2hzfdaMak2X11/es7ZWg==} + + iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + + iconv-lite@0.6.3: + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} + + icss-utils@5.1.0: + resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + identity-obj-proxy@3.0.0: + resolution: {integrity: sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==} + engines: {node: '>=4'} + + ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + + ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} + engines: {node: '>= 4'} + + image-size@0.5.5: + resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==} + engines: {node: '>=0.10.0'} + hasBin: true + + immer@8.0.4: + resolution: {integrity: sha512-jMfL18P+/6P6epANRvRk6q8t+3gGhqsJ9EuJ25AXE+9bNTYtssvzeYbEd0mXRYWCmmXSIbnlpz6vd6iJlmGGGQ==} + + immutable@4.3.8: + resolution: {integrity: sha512-d/Ld9aLbKpNwyl0KiM2CT1WYvkitQ1TSvmRtkcV8FKStiDoA7Slzgjmb/1G2yhKM1p0XeNOieaTbFZmU1d3Xuw==} + + import-fresh@3.3.1: + resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} + engines: {node: '>=6'} + + import-html-entry@1.17.0: + resolution: {integrity: sha512-2SDsRlGlE8bqdnGqsOyiDPEWlzJR0jNW4LWopnZl5QE1Yd0nJ7fykWo2GaKUF7Jq7pR0g3dElhuJHyamTt1gPQ==} + + import-lazy@4.0.0: + resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} + engines: {node: '>=8'} + + import-meta-resolve@4.2.0: + resolution: {integrity: sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==} + + imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + + inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. + + inherits@2.0.1: + resolution: {integrity: sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==} + + inherits@2.0.3: + resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==} + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + ini@1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + + internal-slot@1.1.0: + resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} + engines: {node: '>= 0.4'} + + internmap@1.0.1: + resolution: {integrity: sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==} + + internmap@2.0.3: + resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==} + engines: {node: '>=12'} + + intersection-observer@0.12.2: + resolution: {integrity: sha512-7m1vEcPCxXYI8HqnL8CKI6siDyD+eIWSwgB3DZA+ZTogxk9I4CDnj4wilt9x/+/QbHI4YG5YZNmC6458/e9Ktg==} + deprecated: The Intersection Observer polyfill is no longer needed and can safely be removed. Intersection Observer has been Baseline since 2019. + + intl-format-cache@4.3.1: + resolution: {integrity: sha512-OEUYNA7D06agqPOYhbTkl0T8HA3QKSuwWh1HiClEnpd9vw7N+3XsQt5iZ0GUEchp5CW1fQk/tary+NsbF3yQ1Q==} + + intl-messageformat-parser@3.6.4: + resolution: {integrity: sha512-RgPGwue0mJtoX2Ax8EmMzJzttxjnva7gx0Q7mKJ4oALrTZvtmCeAw5Msz2PcjW4dtCh/h7vN/8GJCxZO1uv+OA==} + deprecated: We've written a new parser that's 6x faster and is backwards compatible. Please use @formatjs/icu-messageformat-parser + + intl-messageformat@7.8.4: + resolution: {integrity: sha512-yS0cLESCKCYjseCOGXuV4pxJm/buTfyCJ1nzQjryHmSehlptbZbn9fnlk1I9peLopZGGbjj46yHHiTAEZ1qOTA==} + + intl@1.2.5: + resolution: {integrity: sha512-rK0KcPHeBFBcqsErKSpvZnrOmWOj+EmDkyJ57e90YWaQNqbcivcqmKDlHEeNprDWOsKzPsh1BfSpPQdDvclHVw==} + + invariant@2.2.4: + resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} + + ipaddr.js@1.9.1: + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} + + is-alphabetical@2.0.1: + resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==} + + is-alphanumerical@2.0.1: + resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==} + + is-arguments@1.2.0: + resolution: {integrity: sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==} + engines: {node: '>= 0.4'} + + is-array-buffer@3.0.5: + resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==} + engines: {node: '>= 0.4'} + + is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + + is-arrow-function@2.0.3: + resolution: {integrity: sha512-iDStzcT1FJMzx+TjCOK//uDugSe/Mif/8a+T0htydQ3qkJGvSweTZpVYz4hpJH0baloSPiAFQdA8WslAgJphvQ==} + engines: {node: '>= 0.4'} + + is-async-function@2.1.1: + resolution: {integrity: sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==} + engines: {node: '>= 0.4'} + + is-bigint@1.1.0: + resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==} + engines: {node: '>= 0.4'} + + is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + + is-boolean-object@1.2.2: + resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==} + engines: {node: '>= 0.4'} + + is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + + is-core-module@2.16.2: + resolution: {integrity: sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA==} + engines: {node: '>= 0.4'} + + is-data-view@1.0.2: + resolution: {integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==} + engines: {node: '>= 0.4'} + + is-date-object@1.1.0: + resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==} + engines: {node: '>= 0.4'} + + is-decimal@2.0.1: + resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} + + is-docker@2.2.1: + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} + hasBin: 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 + + is-equal@1.7.0: + resolution: {integrity: sha512-hErktGR9jmoYXNWlbrwGjc8eHh09mbY6TWSTTFtnMcKaCuSMN8z+Ni5ma/8mkbVpe4CbB7V6kN1MkCg9bCx5bA==} + engines: {node: '>= 0.4'} + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-finalizationregistry@1.1.1: + resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==} + engines: {node: '>= 0.4'} + + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + is-generator-function@1.1.2: + resolution: {integrity: sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==} + engines: {node: '>= 0.4'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-hexadecimal@2.0.1: + resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} + + is-hotkey@0.2.0: + resolution: {integrity: sha512-UknnZK4RakDmTgz4PI1wIph5yxSs/mvChWs9ifnlXsKuXgWmOkY/hAE0H/k2MIqH0RlRye0i1oC07MCRSD28Mw==} + + is-inside-container@1.0.0: + resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} + engines: {node: '>=14.16'} + hasBin: true + + is-map@2.0.3: + resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} + engines: {node: '>= 0.4'} + + is-mobile@5.0.0: + resolution: {integrity: sha512-Tz/yndySvLAEXh+Uk8liFCxOwVH6YutuR74utvOcu7I9Di+DwM0mtdPVZNaVvvBUM2OXxne/NhOs1zAO7riusQ==} + + is-negative-zero@2.0.3: + resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} + engines: {node: '>= 0.4'} + + is-network-error@1.3.2: + resolution: {integrity: sha512-PhBY86zaxNZUuWP6h13Vu5oFe0XY6/UlKzQnYFELzGVHygP3MxmvTfYSG7GN3aIab/iWudSMgjSnG9Dq+nHrgA==} + engines: {node: '>=16'} + + is-number-object@1.1.1: + resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==} + engines: {node: '>= 0.4'} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + + is-plain-obj@1.1.0: + resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} + engines: {node: '>=0.10.0'} + + is-plain-obj@4.1.0: + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} + + is-plain-object@2.0.4: + resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} + engines: {node: '>=0.10.0'} + + is-plain-object@5.0.0: + resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} + engines: {node: '>=0.10.0'} + + is-promise@2.2.2: + resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==} + + is-regex@1.2.1: + resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} + engines: {node: '>= 0.4'} + + is-regexp@2.1.0: + resolution: {integrity: sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA==} + engines: {node: '>=6'} + + is-set@2.0.3: + resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} + engines: {node: '>= 0.4'} + + is-shared-array-buffer@1.0.4: + resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==} + engines: {node: '>= 0.4'} + + is-stream@1.1.0: + resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} + engines: {node: '>=0.10.0'} + + is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + + is-stream@3.0.0: + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + is-string@1.1.1: + resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==} + engines: {node: '>= 0.4'} + + is-symbol@1.1.1: + resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==} + engines: {node: '>= 0.4'} + + is-typed-array@1.1.15: + resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} + engines: {node: '>= 0.4'} + + is-url@1.2.4: + resolution: {integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==} + + is-weakmap@2.0.2: + resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} + engines: {node: '>= 0.4'} + + is-weakref@1.1.1: + resolution: {integrity: sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==} + engines: {node: '>= 0.4'} + + is-weakset@2.0.4: + resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==} + engines: {node: '>= 0.4'} + + is-what@3.14.1: + resolution: {integrity: sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==} + + is-what@4.1.16: + resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==} + engines: {node: '>=12.13'} + + is-wsl@2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} + + isarray@0.0.1: + resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} + + isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + + isarray@2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + isobject@3.0.1: + resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} + engines: {node: '>=0.10.0'} + + isomorphic-fetch@2.2.1: + resolution: {integrity: sha512-9c4TNAKYXM5PRyVcwUZrF3W09nQ+sO7+jydgs4ZGW9dhsLG2VOlISJABombdQqQRXCwuYG3sYV/puGf5rp0qmA==} + + isomorphic-rslog@0.0.7: + resolution: {integrity: sha512-n6/XnKnZ5eLEj6VllG4XmamXG7/F69nls8dcynHyhcTpsPUYgcgx4ifEaCo4lQJ2uzwfmIT+F0KBGwBcMKmt5g==} + engines: {node: '>=14.17.6'} + + isomorphic-unfetch@4.0.2: + resolution: {integrity: sha512-1Yd+CF/7al18/N2BDbsLBcp6RO3tucSW+jcLq24dqdX5MNbCNTw1z4BsGsp4zNmjr/Izm2cs/cEqZPp4kvWSCA==} + + istanbul-lib-coverage@3.2.2: + resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} + engines: {node: '>=8'} + + istanbul-lib-instrument@5.2.1: + resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} + engines: {node: '>=8'} + + iterator.prototype@1.1.5: + resolution: {integrity: sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==} + engines: {node: '>= 0.4'} + + jackspeak@3.4.3: + resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + + javascript-stringify@2.1.0: + resolution: {integrity: sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==} + + jest-haste-map@29.7.0: + resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-regex-util@29.6.3: + resolution: {integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-util@29.7.0: + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-worker@27.5.1: + resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} + engines: {node: '>= 10.13.0'} + + jest-worker@29.4.3: + resolution: {integrity: sha512-GLHN/GTAAMEy5BFdvpUfzr9Dr80zQqBrh0fz1mtRMe05hqP45+HfQltu7oTBfduD0UeZs09d+maFtFYAXFWvAA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-worker@29.7.0: + resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jiti@2.7.0: + resolution: {integrity: sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==} + hasBin: true + + js-cookie@3.0.8: + resolution: {integrity: sha512-yeJd4aNAdYZQjaon2bpD/Gb0B/omw7HQOsynXXcOiWVCacbBcPlgn8S/d1X6blFSaHao7ozqtW7NZW19xpCtIw==} + + js-sdsl@4.4.2: + resolution: {integrity: sha512-dwXFwByc/ajSV6m5bcKAPwe4yDDF6D614pxmIi5odytzxRlwqF6nwoiCek80Ixc7Cvma5awClxrzFtxCQvcM8w==} + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + js-yaml@3.14.2: + resolution: {integrity: sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==} + hasBin: true + + js-yaml@4.1.1: + resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} + hasBin: true + + jsencrypt@3.5.4: + resolution: {integrity: sha512-kNjfYEMNASxrDGsmcSQh/rUTmcoRfSUkxnAz+MMywM8jtGu+fFEZ3nJjHM58zscVnwR0fYmG9sGkTDjqUdpiwA==} + + jsesc@2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + + jsesc@3.1.0: + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} + engines: {node: '>=6'} + hasBin: true + + json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + + json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + + json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + + json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + + json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + + json2mq@0.2.0: + resolution: {integrity: sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA==} + + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + jsonfile@6.2.1: + resolution: {integrity: sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==} + + jsx-ast-utils@3.3.5: + resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} + engines: {node: '>=4.0'} + + katex@0.16.47: + resolution: {integrity: sha512-Eeo8Ys1doU1z+x8AZsPpQu+p/QcZBI5PeOo7QGQdy2x2m0MU/hYagBbGOmXwr5KVbEfVuWv9LpnQWeehogurjg==} + hasBin: true + + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + + khroma@2.1.0: + resolution: {integrity: sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==} + + kind-of@6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + + klona@2.0.6: + resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==} + engines: {node: '>= 8'} + + known-css-properties@0.25.0: + resolution: {integrity: sha512-b0/9J1O9Jcyik1GC6KC42hJ41jKwdO/Mq8Mdo5sYN+IuRTXs2YFHZC3kZSx6ueusqa95x3wLYe/ytKjbAfGixA==} + + kolorist@1.8.0: + resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} + + layout-base@1.0.2: + resolution: {integrity: sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==} + + layout-base@2.0.1: + resolution: {integrity: sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==} + + less-loader@11.1.0: + resolution: {integrity: sha512-C+uDBV7kS7W5fJlUjq5mPBeBVhYpTIm5gB09APT9o3n/ILeaXVsiSFTbZpTJCJwQ/Crczfn3DmfQFwxYusWFug==} + engines: {node: '>= 14.15.0'} + peerDependencies: + less: ^3.5.0 || ^4.0.0 + webpack: ^5.0.0 + + less-loader@12.3.3: + resolution: {integrity: sha512-F0+ErFFDj3Pt+nVrCN6VlEGEzocv9s7x/aR9v2riI+WM83UAfTYBDBjGPJnT55lBLR6JSI4fmWblt+aA2JN6/w==} + engines: {node: '>= 18.12.0'} + peerDependencies: + '@rspack/core': 0.x || ^1.0.0 || ^2.0.0-0 + less: ^3.5.0 || ^4.0.0 + webpack: ^5.0.0 + peerDependenciesMeta: + '@rspack/core': + optional: true + webpack: + optional: true + + less-plugin-resolve@1.0.2: + resolution: {integrity: sha512-e1AHq0XNTU8S3d9JCc8CFYajoUBr0EK3pcuLT5PogyBBeE0knzZJL105kKKSZWfq2lQLq3/uEDrMK3JPq+fHaA==} + + less@4.1.3: + resolution: {integrity: sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA==} + engines: {node: '>=6'} + hasBin: true + + less@4.6.4: + resolution: {integrity: sha512-OJmO5+HxZLLw0RLzkqaNHzcgEAQG7C0y3aMbwtCzIUFZsLMNNq/1IdAdHEycQ58CwUO3jPTHmoN+tE5I7FQxNg==} + engines: {node: '>=18'} + hasBin: true + + levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + + lightningcss-darwin-arm64@1.22.1: + resolution: {integrity: sha512-ldvElu+R0QimNTjsKpaZkUv3zf+uefzLy/R1R19jtgOfSRM+zjUCUgDhfEDRmVqJtMwYsdhMI2aJtJChPC6Osg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [darwin] + + lightningcss-darwin-x64@1.22.1: + resolution: {integrity: sha512-5p2rnlVTv6Gpw4PlTLq925nTVh+HFh4MpegX8dPDYJae+NFVjQ67gY7O6iHIzQjLipDiYejFF0yHrhjU3XgLBQ==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [darwin] + + lightningcss-freebsd-x64@1.22.1: + resolution: {integrity: sha512-1FaBtcFrZqB2hkFbAxY//Pnp8koThvyB6AhjbdVqKD4/pu13Rl91fKt2N9qyeQPUt3xy7ORUvSO+dPk3J6EjXg==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [freebsd] + + lightningcss-linux-arm-gnueabihf@1.22.1: + resolution: {integrity: sha512-6rub98tYGfE5I5j0BP8t/2d4BZyu1S7Iz9vUkm0H26snAFHYxLfj3RbQn0xHHIePSetjLnhcg3QlfwUAkD/FYg==} + engines: {node: '>= 12.0.0'} + cpu: [arm] + os: [linux] + + lightningcss-linux-arm64-gnu@1.22.1: + resolution: {integrity: sha512-nYO5qGtb/1kkTZu3FeTiM+2B2TAb7m2DkLCTgQIs2bk2o9aEs7I96fwySKcoHWQAiQDGR9sMux9vkV4KQXqPaQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + lightningcss-linux-arm64-musl@1.22.1: + resolution: {integrity: sha512-MCV6RuRpzXbunvzwY644iz8cw4oQxvW7oer9xPkdadYqlEyiJJ6wl7FyJOH7Q6ZYH4yjGAUCvxDBxPbnDu9ZVg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + libc: [musl] + + lightningcss-linux-x64-gnu@1.22.1: + resolution: {integrity: sha512-RjNgpdM20VUXgV7us/VmlO3Vn2ZRiDnc3/bUxCVvySZWPiVPprpqW/QDWuzkGa+NCUf6saAM5CLsZLSxncXJwg==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + libc: [glibc] + + lightningcss-linux-x64-musl@1.22.1: + resolution: {integrity: sha512-ZgO4C7Rd6Hv/5MnyY2KxOYmIlzk4rplVolDt3NbkNR8DndnyX0Q5IR4acJWNTBICQ21j3zySzKbcJaiJpk/4YA==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + libc: [musl] + + lightningcss-win32-x64-msvc@1.22.1: + resolution: {integrity: sha512-4pozV4eyD0MDET41ZLHAeBo+H04Nm2UEYIk5w/ts40231dRFV7E0cjwbnZvSoc1DXFgecAhiC0L16ruv/ZDCpg==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [win32] + + lightningcss@1.22.1: + resolution: {integrity: sha512-Fy45PhibiNXkm0cK5FJCbfO8Y6jUpD/YcHf/BtuI+jvYYqSXKF4muk61jjE8YxCR9y+hDYIWSzHTc+bwhDE6rQ==} + engines: {node: '>= 12.0.0'} + + lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + + loader-runner@4.3.2: + resolution: {integrity: sha512-DFEqQ3ihfS9blba08cLfYf1NRAIEm+dDjic073DRDc3/JspI/8wYmtDsHwd3+4hwvdxSK7PGaElfTmm0awWJ4w==} + engines: {node: '>=6.11.5'} + + loader-utils@2.0.4: + resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==} + engines: {node: '>=8.9.0'} + + loader-utils@3.3.1: + resolution: {integrity: sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==} + engines: {node: '>= 12.13.0'} + + local-pkg@0.4.3: + resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==} + engines: {node: '>=14'} + + locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + + locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + + lodash-es@4.18.1: + resolution: {integrity: sha512-J8xewKD/Gk22OZbhpOVSwcs60zhd95ESDwezOFuA3/099925PdHJ7OFHNTGtajL3AlZkykD32HykiMo+BIBI8A==} + + lodash.camelcase@4.3.0: + resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} + + lodash.clonedeep@4.5.0: + resolution: {integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==} + + lodash.debounce@4.0.8: + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} + + lodash.foreach@4.5.0: + resolution: {integrity: sha512-aEXTF4d+m05rVOAUG3z4vZZ4xVexLKZGF0lIxuHZ1Hplpk/3B6Z1+/ICICYRLm7c41Z2xiejbkCkJoTlypoXhQ==} + + lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + + lodash.throttle@4.1.1: + resolution: {integrity: sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==} + + lodash.toarray@4.4.0: + resolution: {integrity: sha512-QyffEA3i5dma5q2490+SgCvDN0pXLmRGSyAANuVi0HQ01Pkfr9fuoKQW8wm1wGBnJITs/mS7wQvS6VshUEBFCw==} + + lodash.truncate@4.4.2: + resolution: {integrity: sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==} + + lodash@4.18.1: + resolution: {integrity: sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==} + + loose-envify@1.4.0: + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + hasBin: true + + lower-case@2.0.2: + resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} + + lowlight@1.20.0: + resolution: {integrity: sha512-8Ktj+prEb1RoCPkEOrPMYUN/nCggB7qAWe3a7OpMjWQkh3l2RD5wKRQ+o8Q8YuI9RG/xs95waaI/E6ym/7NsTw==} + + lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + + lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + + lru-queue@0.1.0: + resolution: {integrity: sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==} + + make-dir@2.1.0: + resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} + engines: {node: '>=6'} + + makeerror@1.0.12: + resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} + + map-obj@1.0.1: + resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} + engines: {node: '>=0.10.0'} + + map-obj@4.3.0: + resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} + engines: {node: '>=8'} + + marked@16.4.2: + resolution: {integrity: sha512-TI3V8YYWvkVf3KJe1dRkpnjs68JUPyEa5vjKrp1XEEJUAOaQc+Qj+L1qWbPd0SJuAdQkFU0h73sXXqwDYxsiDA==} + engines: {node: '>= 20'} + hasBin: true + + math-intrinsics@1.1.0: + resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} + engines: {node: '>= 0.4'} + + mathml-tag-names@2.1.3: + resolution: {integrity: sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==} + + md5.js@1.3.5: + resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==} + + mdn-data@2.0.14: + resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} + + media-typer@0.3.0: + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} + engines: {node: '>= 0.6'} + + memfs@3.5.3: + resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==} + engines: {node: '>= 4.0.0'} + + memoizee@0.4.17: + resolution: {integrity: sha512-DGqD7Hjpi/1or4F/aYAspXKNm5Yili0QDAFAY4QYvpqpgiY6+1jOfqpmByzjxbWd/T9mChbCArXAbDAsTm5oXA==} + engines: {node: '>=0.12'} + + meow@9.0.0: + resolution: {integrity: sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==} + engines: {node: '>=10'} + + merge-descriptors@1.0.3: + resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} + + merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + mermaid@11.15.0: + resolution: {integrity: sha512-pTMbcf3rWdtLiYGpmoTjHEpeY8seiy6sR+9nD7LOs8KfUbHE4lOUAprTRqRAcWSQ6MQpdX+YEsxShtGsINtPtw==} + + methods@1.1.2: + resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} + engines: {node: '>= 0.6'} + + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + + miller-rabin@4.0.1: + resolution: {integrity: sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==} + hasBin: true + + mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + mime-db@1.54.0: + resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==} + engines: {node: '>= 0.6'} + + mime-match@1.0.2: + resolution: {integrity: sha512-VXp/ugGDVh3eCLOBCiHZMYWQaTNUHv2IJrut+yXA6+JbLPXHglHwfS/5A5L0ll+jkCY7fIzRJcH6OIunF+c6Cg==} + + mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + + mime@1.6.0: + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + engines: {node: '>=4'} + hasBin: true + + mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + + mimic-fn@4.0.0: + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} + + min-document@2.19.2: + resolution: {integrity: sha512-8S5I8db/uZN8r9HSLFVWPdJCvYOejMcEC82VIzNUc6Zkklf/d1gg2psfE79/vyhWOj4+J8MtwmoOz3TmvaGu5A==} + + min-indent@1.0.1: + resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} + engines: {node: '>=4'} + + minimalistic-assert@1.0.1: + resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} + + minimalistic-crypto-utils@1.0.1: + resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} + + minimatch@3.1.5: + resolution: {integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==} + + minimatch@8.0.7: + resolution: {integrity: sha512-V+1uQNdzybxa14e/p00HZnQNNcTjnRJjDxg2V8wtkjFctq4M7hXFws4oekyTP0Jebeq7QYtpFyOeBAjc88zvYg==} + engines: {node: '>=16 || 14 >=14.17'} + + minimatch@9.0.9: + resolution: {integrity: sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==} + engines: {node: '>=16 || 14 >=14.17'} + + minimist-options@4.1.0: + resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} + engines: {node: '>= 6'} + + minipass@4.2.8: + resolution: {integrity: sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==} + engines: {node: '>=8'} + + minipass@7.1.3: + resolution: {integrity: sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==} + engines: {node: '>=16 || 14 >=14.17'} + + mock.js@0.2.0: + resolution: {integrity: sha512-DKI8Rh/h7Mma+fg+6aD0uUvwn0QXAjKG6q3s+lTaCboCQ/kvQMBN9IXRBzgEaz4aPiYoRnKU9jVsfZp0mHpWrQ==} + + mockjs@1.1.0: + resolution: {integrity: sha512-eQsKcWzIaZzEZ07NuEyO4Nw65g0hdWAyurVol1IPl1gahRwY+svqzfgfey8U8dahLwG44d6/RwEzuK52rSa/JQ==} + hasBin: true + + moment@2.30.1: + resolution: {integrity: sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==} + + ms@2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + + ms@2.1.1: + resolution: {integrity: sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + namespace-emitter@2.0.1: + resolution: {integrity: sha512-N/sMKHniSDJBjfrkbS/tpkPj4RAbvW3mr8UAzvlMHyun93XEm83IAvhWtJVHo+RHn/oO8Job5YN4b+wRjSVp5g==} + + nanoid@3.3.12: + resolution: {integrity: sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + nanoid@5.1.11: + resolution: {integrity: sha512-v+KEsUv2ps74PaSKv0gHTxTCgMXOIfBEbaqa6w6ISIGC7ZsvHN4N9oJ8d4cmf0n5oTzQz2SLmThbQWhjd/8eKg==} + engines: {node: ^18 || >=20} + hasBin: true + + natural-compare-lite@1.4.0: + resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} + + natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + + needle@3.5.0: + resolution: {integrity: sha512-jaQyPKKk2YokHrEg+vFDYxXIHTCBgiZwSHOoVx/8V3GIBS8/VN6NdVRmg8q1ERtPkMvmOvebsgga4sAj5hls/w==} + engines: {node: '>= 4.4.x'} + hasBin: true + + negotiator@0.6.3: + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} + + negotiator@0.6.4: + resolution: {integrity: sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==} + engines: {node: '>= 0.6'} + + neo-async@2.6.2: + resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + + next-tick@1.1.0: + resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==} + + no-case@3.0.4: + resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} + + node-abort-controller@3.1.1: + resolution: {integrity: sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==} + + node-domexception@1.0.0: + resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} + engines: {node: '>=10.5.0'} + deprecated: Use your platform's native DOMException instead + + node-exports-info@1.6.0: + resolution: {integrity: sha512-pyFS63ptit/P5WqUkt+UUfe+4oevH+bFeIiPPdfb0pFeYEu/1ELnJu5l+5EcTKYL5M7zaAa7S8ddywgXypqKCw==} + engines: {node: '>= 0.4'} + + node-fetch-h2@2.3.0: + resolution: {integrity: sha512-ofRW94Ab0T4AOh5Fk8t0h8OBWrmjb0SSB20xh1H8YnPV9EJ+f5AMoYSUQ2zgJ4Iq2HAK0I2l5/Nequ8YzFS3Hg==} + engines: {node: 4.x || >=6.0.0} + + node-fetch@1.7.3: + resolution: {integrity: sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==} + + node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + + node-fetch@3.3.2: + resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + node-int64@0.4.0: + resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} + + node-libs-browser-okam@2.2.5: + resolution: {integrity: sha512-kD+WXACEThc6C5DA146KoCNbubjpXeYzXDrukvtXWr6MRzV3uvHCI0eb/GuugWVYnMoD4g3/uaIzvDYOpC4QWw==} + + node-libs-browser@2.2.1: + resolution: {integrity: sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==} + + node-readfiles@0.2.0: + resolution: {integrity: sha512-SU00ZarexNlE4Rjdm83vglt5Y9yiQ+XI1XpflWlb7q7UTN1JUItm69xMeiQCTxtTfnzt+83T8Cx+vI2ED++VDA==} + + node-releases@2.0.46: + resolution: {integrity: sha512-GYVXHE2KnrzAfsAjl4uP++evGFCrAU1jta4ubEjIG7YWt/64Gqv66a30yKwWczVjA6j3bM4nBwH7Pk1JmDHaxQ==} + engines: {node: '>=18'} + + normalize-package-data@2.5.0: + resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + + normalize-package-data@3.0.3: + resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==} + engines: {node: '>=10'} + + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + normalize-selector@0.2.0: + resolution: {integrity: sha512-dxvWdI8gw6eAvk9BlPffgEoGfM7AdijoCwOEJge3e3ulT2XLgmU7KvvxprOaCu05Q1uGRHmOhHe1r6emZoKyFw==} + + npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + + npm-run-path@5.3.0: + resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + nprogress@0.2.0: + resolution: {integrity: sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==} + + nth-check@2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + + number-to-words@1.2.4: + resolution: {integrity: sha512-/fYevVkXRcyBiZDg6yzZbm0RuaD6i0qRfn8yr+6D0KgBMOndFPxuW10qCHpzs50nN8qKuv78k8MuotZhcVX6Pw==} + + nunjucks@3.2.4: + resolution: {integrity: sha512-26XRV6BhkgK0VOxfbU5cQI+ICFUtMLixv1noZn1tGU38kQH5A5nmmbk/O45xdyBhD1esk47nKrY0mvQpZIhRjQ==} + engines: {node: '>= 6.9.0'} + hasBin: true + peerDependencies: + chokidar: ^3.3.0 + peerDependenciesMeta: + chokidar: + optional: true + + oas-kit-common@1.0.8: + resolution: {integrity: sha512-pJTS2+T0oGIwgjGpw7sIRU8RQMcUoKCDWFLdBqKB2BNmGpbBMH2sdqAaOXUg8OzonZHU0L7vfJu1mJFEiYDWOQ==} + + oas-linter@3.2.2: + resolution: {integrity: sha512-KEGjPDVoU5K6swgo9hJVA/qYGlwfbFx+Kg2QB/kd7rzV5N8N5Mg6PlsoCMohVnQmo+pzJap/F610qTodKzecGQ==} + + oas-resolver@2.5.6: + resolution: {integrity: sha512-Yx5PWQNZomfEhPPOphFbZKi9W93CocQj18NlD2Pa4GWZzdZpSJvYwoiuurRI7m3SpcChrnO08hkuQDL3FGsVFQ==} + hasBin: true + + oas-schema-walker@1.1.5: + resolution: {integrity: sha512-2yucenq1a9YPmeNExoUa9Qwrt9RFkjqaMAA1X+U7sbb0AqBeTIdMHky9SQQ6iN94bO5NW0W4TRYXerG+BdAvAQ==} + + oas-validator@5.0.8: + resolution: {integrity: sha512-cu20/HE5N5HKqVygs3dt94eYJfBi0TsZvPVXDhbXQHiEityDN+RROTleefoKRKKJ9dFAF2JBkDHgvWj0sjKGmw==} + + object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + + object-inspect@1.13.4: + resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} + engines: {node: '>= 0.4'} + + object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + + object.assign@4.1.7: + resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} + engines: {node: '>= 0.4'} + + object.entries@1.1.9: + resolution: {integrity: sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==} + engines: {node: '>= 0.4'} + + object.fromentries@2.0.8: + resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} + engines: {node: '>= 0.4'} + + object.getprototypeof@1.0.7: + resolution: {integrity: sha512-AS2h2hzryA95Z5SCy8DykYpdv82hHysDeMTBV5uWII4ljKiS0y2TC5aBQ+tHpCj0PfOy2/IPPY/O86F8uxx2gg==} + engines: {node: '>= 0.4'} + + object.hasown@1.1.4: + resolution: {integrity: sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==} + engines: {node: '>= 0.4'} + + object.values@1.2.1: + resolution: {integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==} + engines: {node: '>= 0.4'} + + obuf@1.1.2: + resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} + + on-exit-leak-free@0.2.0: + resolution: {integrity: sha512-dqaz3u44QbRXQooZLTUKU41ZrzYrcvLISVgbrzbyCMxpmSLJvZ3ZamIJIZ29P6OhZIkNIQKosdeM6t1LYbA9hg==} + + on-finished@2.3.0: + resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==} + engines: {node: '>= 0.8'} + + on-finished@2.4.1: + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} + + on-headers@1.1.0: + resolution: {integrity: sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==} + engines: {node: '>= 0.8'} + + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + + onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + + onetime@6.0.0: + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} + + open@8.4.2: + resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} + engines: {node: '>=12'} + + open@9.1.0: + resolution: {integrity: sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==} + engines: {node: '>=14.16'} + + openapi3-ts@2.0.2: + resolution: {integrity: sha512-TxhYBMoqx9frXyOgnRHufjQfPXomTIHYKhSKJ6jHfj13kS8OEIhvmE8CTuQyKtjjWttAjX5DPxM1vmalEpo8Qw==} + + optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} + engines: {node: '>= 0.8.0'} + + os-browserify@0.3.0: + resolution: {integrity: sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==} + + own-keys@1.0.1: + resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} + engines: {node: '>= 0.4'} + + oxfmt@0.51.0: + resolution: {integrity: sha512-l/AoAnaEOV7Q5/Z9kHOMDehVJnCgYN7wRoooWCTUMBMi16BJhLZqd9cmCnwcVFfVlzkt53zK2KLPFNp8vSsoDg==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + peerDependencies: + svelte: ^5.0.0 + peerDependenciesMeta: + svelte: + optional: true + + oxlint@1.67.0: + resolution: {integrity: sha512-blwwaHPdoH8piQ5/z0KHeoHFR7FZgl12WluKJfu4qFLPkZl6mK04PkLE45Fw1NxfBRSlh40Gu7MkxHUw++ociQ==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + peerDependencies: + oxlint-tsgolint: '>=0.22.1' + vite-plus: '*' + peerDependenciesMeta: + oxlint-tsgolint: + optional: true + vite-plus: + optional: true + + p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + + p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + + p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + + p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + + p-retry@6.2.1: + resolution: {integrity: sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==} + engines: {node: '>=16.17'} + + p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + + package-json-from-dist@1.0.1: + resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} + + package-manager-detector@1.6.0: + resolution: {integrity: sha512-61A5ThoTiDG/C8s8UMZwSorAGwMJ0ERVGj2OjoW5pAalsNOg15+iQiPzrLJ4jhZ1HJzmC2PIHT2oEiH3R5fzNA==} + + pako@1.0.11: + resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==} + + param-case@3.0.4: + resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} + + parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + + parse-asn1@5.1.9: + resolution: {integrity: sha512-fIYNuZ/HastSb80baGOuPRo1O9cf4baWw5WsAp7dBuUzeTD/BoaG8sVTdlPFksBE2lF21dN+A1AnrpIjSWqHHg==} + engines: {node: '>= 0.10'} + + parse-entities@4.0.2: + resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==} + + parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + + parse-node-version@1.0.1: + resolution: {integrity: sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==} + engines: {node: '>= 0.10'} + + parseurl@1.3.3: + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} + + pascal-case@3.1.2: + resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} + + path-browserify@0.0.1: + resolution: {integrity: sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==} + + path-data-parser@0.1.0: + resolution: {integrity: sha512-NOnmBpt5Y2RWbuv0LMzsayp3lVylAHLPUTut412ZA3l+C4uw4ZVkQbjShYCQ8TCpUMdPapr4YjUqLYD6v68j+w==} + + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} + + path-to-regexp@0.1.13: + resolution: {integrity: sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA==} + + path-to-regexp@1.7.0: + resolution: {integrity: sha512-nifX1uj4S9IrK/w3Xe7kKvNEepXivANs9ng60Iq7PU/BlouV3yL/VUhFqTuTq33ykwUqoNcTeGo5vdOBP4jS/Q==} + + path-to-regexp@1.9.0: + resolution: {integrity: sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==} + + path-to-regexp@8.2.0: + resolution: {integrity: sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==} + engines: {node: '>=16'} + + path-to-regexp@8.4.2: + resolution: {integrity: sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA==} + + path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + + pbkdf2@3.1.6: + resolution: {integrity: sha512-BT6eelPB1EyGHo8pC0o9Bl6k6SYVhKO1jEbd3lcTrtr7XHdjP8BW1YpfCV3G9Kwkxgattk+S5q2/RvuttCsS1g==} + engines: {node: '>= 0.10'} + + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + + picomatch@2.3.2: + resolution: {integrity: sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==} + engines: {node: '>=8.6'} + + pify@4.0.1: + resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} + engines: {node: '>=6'} + + pino-abstract-transport@0.5.0: + resolution: {integrity: sha512-+KAgmVeqXYbTtU2FScx1XS3kNyfZ5TrXY07V96QnUSFqo2gAqlvmaxH67Lj7SWazqsMabf+58ctdTcBgnOLUOQ==} + + pino-std-serializers@4.0.0: + resolution: {integrity: sha512-cK0pekc1Kjy5w9V2/n+8MkZwusa6EyyxfeQCB799CQRhRt/CqYKiWs5adeu8Shve2ZNffvfC/7J64A2PJo1W/Q==} + + pino@7.11.0: + resolution: {integrity: sha512-dMACeu63HtRLmCG8VKdy4cShCPKaYDR4youZqoSWLxl5Gu99HUw8bw75thbPv9Nip+H+QYX8o3ZJbTdVZZ2TVg==} + hasBin: true + + pirates@4.0.7: + resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==} + engines: {node: '>= 6'} + + piscina@4.9.2: + resolution: {integrity: sha512-Fq0FERJWFEUpB4eSY59wSNwXD4RYqR+nR/WiEVcZW8IWfVBxJJafcgTEZDQo8k3w0sUarJ8RyVbbUF4GQ2LGbQ==} + + point-in-polygon@1.1.0: + resolution: {integrity: sha512-3ojrFwjnnw8Q9242TzgXuTD+eKiutbzyslcq1ydfu82Db2y+Ogbmyrkpv0Hgj31qwT3lbS9+QAAO/pIQM35XRw==} + + points-on-curve@0.2.0: + resolution: {integrity: sha512-0mYKnYYe9ZcqMCWhUjItv/oHjvgEsfKvnUTg8sAtnHr3GVy7rGkXCb6d5cSyqrWqL4k81b9CPg3urd+T7aop3A==} + + points-on-path@0.2.1: + resolution: {integrity: sha512-25ClnWWuw7JbWZcgqY/gJ4FQWadKxGWk+3kR/7kD0tCaDtPPMj7oHu2ToLaVhfpnHrZzYby2w6tUA0eOIuUg8g==} + + possible-typed-array-names@1.1.0: + resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} + engines: {node: '>= 0.4'} + + postcss-attribute-case-insensitive@5.0.2: + resolution: {integrity: sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + + postcss-clamp@4.1.0: + resolution: {integrity: sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==} + engines: {node: '>=7.6.0'} + peerDependencies: + postcss: ^8.4.6 + + postcss-color-functional-notation@4.2.4: + resolution: {integrity: sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + + postcss-color-hex-alpha@8.0.4: + resolution: {integrity: sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.4 + + postcss-color-rebeccapurple@7.1.1: + resolution: {integrity: sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + + postcss-custom-media@8.0.2: + resolution: {integrity: sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.3 + + postcss-custom-properties@12.1.11: + resolution: {integrity: sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + + postcss-custom-selectors@6.0.3: + resolution: {integrity: sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.3 + + postcss-dir-pseudo-class@6.0.5: + resolution: {integrity: sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + + postcss-double-position-gradients@3.1.2: + resolution: {integrity: sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + + postcss-env-function@4.0.6: + resolution: {integrity: sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.4 + + postcss-flexbugs-fixes@5.0.2: + resolution: {integrity: sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==} + peerDependencies: + postcss: ^8.1.4 + + postcss-focus-visible@6.0.4: + resolution: {integrity: sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.4 + + postcss-focus-within@5.0.4: + resolution: {integrity: sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.4 + + postcss-font-variant@5.0.0: + resolution: {integrity: sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==} + peerDependencies: + postcss: ^8.1.0 + + postcss-gap-properties@3.0.5: + resolution: {integrity: sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + + postcss-image-set-function@4.0.7: + resolution: {integrity: sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + + postcss-initial@4.0.1: + resolution: {integrity: sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==} + peerDependencies: + postcss: ^8.0.0 + + postcss-lab-function@4.2.1: + resolution: {integrity: sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + + postcss-loader@8.2.1: + resolution: {integrity: sha512-k98jtRzthjj3f76MYTs9JTpRqV1RaaMhEU0Lpw9OTmQZQdppg4B30VZ74BojuBHt3F4KyubHJoXCMUeM8Bqeow==} + engines: {node: '>= 18.12.0'} + peerDependencies: + '@rspack/core': 0.x || ^1.0.0 || ^2.0.0-0 + postcss: ^7.0.0 || ^8.0.1 + webpack: ^5.0.0 + peerDependenciesMeta: + '@rspack/core': + optional: true + webpack: + optional: true + + postcss-logical@5.0.4: + resolution: {integrity: sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.4 + + postcss-media-minmax@5.0.0: + resolution: {integrity: sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==} + engines: {node: '>=10.0.0'} + peerDependencies: + postcss: ^8.1.0 + + postcss-media-query-parser@0.2.3: + resolution: {integrity: sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==} + + postcss-modules-extract-imports@3.1.0: + resolution: {integrity: sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + postcss-modules-local-by-default@4.2.0: + resolution: {integrity: sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + postcss-modules-scope@3.2.1: + resolution: {integrity: sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + postcss-modules-values@4.0.0: + resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + postcss-nesting@10.2.0: + resolution: {integrity: sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + + postcss-opacity-percentage@1.1.3: + resolution: {integrity: sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + + postcss-overflow-shorthand@3.0.4: + resolution: {integrity: sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + + postcss-page-break@3.0.4: + resolution: {integrity: sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==} + peerDependencies: + postcss: ^8 + + postcss-place@7.0.5: + resolution: {integrity: sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + + postcss-prefix-selector@1.16.0: + resolution: {integrity: sha512-rdVMIi7Q4B0XbXqNUEI+Z4E+pueiu/CS5E6vRCQommzdQ/sgsS4dK42U7GX8oJR+TJOtT+Qv3GkNo6iijUMp3Q==} + peerDependencies: + postcss: '>4 <9' + + postcss-preset-env@7.5.0: + resolution: {integrity: sha512-0BJzWEfCdTtK2R3EiKKSdkE51/DI/BwnhlnicSW482Ym6/DGHud8K0wGLcdjip1epVX0HKo4c8zzTeV/SkiejQ==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.4 + + postcss-pseudo-class-any-link@7.1.6: + resolution: {integrity: sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + + postcss-replace-overflow-wrap@4.0.0: + resolution: {integrity: sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==} + peerDependencies: + postcss: ^8.0.3 + + postcss-resolve-nested-selector@0.1.6: + resolution: {integrity: sha512-0sglIs9Wmkzbr8lQwEyIzlDOOC9bGmfVKcJTaxv3vMmd3uo4o4DerC3En0bnmgceeql9BfC8hRkp7cg0fjdVqw==} + + postcss-safe-parser@6.0.0: + resolution: {integrity: sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.3.3 + + postcss-selector-not@5.0.0: + resolution: {integrity: sha512-/2K3A4TCP9orP4TNS7u3tGdRFVKqz/E6pX3aGnriPG0jU78of8wsUcqE4QAhWEU0d+WnMSF93Ah3F//vUtK+iQ==} + peerDependencies: + postcss: ^8.1.0 + + postcss-selector-parser@6.1.2: + resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} + engines: {node: '>=4'} + + postcss-selector-parser@7.1.1: + resolution: {integrity: sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==} + engines: {node: '>=4'} + + postcss-syntax@0.36.2: + resolution: {integrity: sha512-nBRg/i7E3SOHWxF3PpF5WnJM/jQ1YpY9000OaVXlAQj6Zp/kIqJxEDWIZ67tAd7NLuk7zqN4yqe9nc0oNAOs1w==} + peerDependencies: + postcss: '>=5.0.0' + postcss-html: '*' + postcss-jsx: '*' + postcss-less: '*' + postcss-markdown: '*' + postcss-scss: '*' + peerDependenciesMeta: + postcss-html: + optional: true + postcss-jsx: + optional: true + postcss-less: + optional: true + postcss-markdown: + optional: true + postcss-scss: + optional: true + + postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + + postcss@8.5.15: + resolution: {integrity: sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==} + engines: {node: ^10 || ^12 || >=14} + + preact@10.29.2: + resolution: {integrity: sha512-7tNmwg/7mzzAoB/8kSg6Hl37JraAZw3Z3A0JSY7VXlZwo82Xn0G7wKbNNs2qoF4ZEEsQGTwDAroNdqKs1ofJxQ==} + + prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + + prettier-plugin-organize-imports@3.2.4: + resolution: {integrity: sha512-6m8WBhIp0dfwu0SkgfOxJqh+HpdyfqSSLfKKRZSFbDuEQXDDndb8fTpRWkUrX/uBenkex3MgnVk0J3b3Y5byog==} + peerDependencies: + '@volar/vue-language-plugin-pug': ^1.0.4 + '@volar/vue-typescript': ^1.0.4 + prettier: '>=2.0' + typescript: '>=2.9' + peerDependenciesMeta: + '@volar/vue-language-plugin-pug': + optional: true + '@volar/vue-typescript': + optional: true + + prettier-plugin-packagejson@2.4.3: + resolution: {integrity: sha512-kPeeviJiwy0BgOSk7No8NmzzXfW4R9FYWni6ziA5zc1kGVVrKnBzMZdu2TUhI+I7h8/5Htt3vARYOk7KKJTTNQ==} + peerDependencies: + prettier: '>= 1.16.0' + peerDependenciesMeta: + prettier: + optional: true + + prettier@2.8.8: + resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} + engines: {node: '>=10.13.0'} + hasBin: true + + pretty-error@4.0.0: + resolution: {integrity: sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==} + + pretty-format@24.9.0: + resolution: {integrity: sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==} + engines: {node: '>= 6'} + + prismjs@1.30.0: + resolution: {integrity: sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==} + engines: {node: '>=6'} + + process-nextick-args@2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + + process-okam@0.11.10: + resolution: {integrity: sha512-p8e5nl6/OCeMalVb9dSojND5B9m/nq64WsyUfRmrTdLMKcNYcDN++/2I8WV1mTQDqrh2PQ6tIIb2A7/A38eSvw==} + engines: {node: '>= 0.6.0'} + + process-warning@1.0.0: + resolution: {integrity: sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q==} + + process@0.11.10: + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} + engines: {node: '>= 0.6.0'} + + prop-types@15.8.1: + resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} + + property-information@7.1.0: + resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==} + + proxy-addr@2.0.7: + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} + engines: {node: '>= 0.10'} + + proxy-compare@2.5.1: + resolution: {integrity: sha512-oyfc0Tx87Cpwva5ZXezSp5V9vht1c7dZBhvuV/y3ctkgMVUmiAGDVeeB0dKhGSyT0v1ZTEQYpe/RXlBVBNuCLA==} + + proxy-from-env@2.1.0: + resolution: {integrity: sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA==} + engines: {node: '>=10'} + + prr@1.0.1: + resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==} + + public-encrypt@4.0.3: + resolution: {integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==} + + punycode-okam@1.4.1: + resolution: {integrity: sha512-e4mSfzGfrVBJmhjp+8PHjXIz5WrvEEWB2FT+RJ6YS/ozGttTcnocuj0CtMo3dujWYe2708bTd79zeIrKBtRzCg==} + + punycode@1.4.1: + resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==} + + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + qiankun@2.10.16: + resolution: {integrity: sha512-Q3tSVUrPnzx8ckEOKIoPnhb5LE28FPKyan/r6jEuGJGqTbIy+3rp6E2/KfU82ZI4yZpef9LFTrnxdj49jAEsmw==} + + qs@6.15.2: + resolution: {integrity: sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw==} + engines: {node: '>=0.6'} + + query-string@6.14.1: + resolution: {integrity: sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw==} + engines: {node: '>=6'} + + querystring-es3@0.2.1: + resolution: {integrity: sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==} + engines: {node: '>=0.4.x'} + + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + quick-format-unescaped@4.0.4: + resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} + + quick-lru@4.0.1: + resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} + engines: {node: '>=8'} + + randombytes@2.1.0: + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + + randomfill@1.0.4: + resolution: {integrity: sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==} + + range-parser@1.2.1: + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} + + raw-body@2.5.3: + resolution: {integrity: sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==} + engines: {node: '>= 0.8'} + + rc-align@4.0.15: + resolution: {integrity: sha512-wqJtVH60pka/nOX7/IspElA8gjPNQKIx/ZqJ6heATCkXpe1Zg4cPVrMD2vC96wjsFFL8WsmhPbx9tdMo1qqlIA==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + rc-cascader@3.7.3: + resolution: {integrity: sha512-KBpT+kzhxDW+hxPiNk4zaKa99+Lie2/8nnI11XF+FIOPl4Bj9VlFZi61GrnWzhLGA7VEN+dTxAkNOjkySDa0dA==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + rc-checkbox@3.0.1: + resolution: {integrity: sha512-k7nxDWxYF+jDI0ZcCvuvj71xONmWRVe5+1MKcERRR9MRyP3tZ69b+yUCSXXh+sik4/Hc9P5wHr2nnUoGS2zBjA==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + rc-collapse@3.4.2: + resolution: {integrity: sha512-jpTwLgJzkhAgp2Wpi3xmbTbbYExg6fkptL67Uu5LCRVEj6wqmy0DHTjjeynsjOLsppHGHu41t1ELntZ0lEvS/Q==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + rc-dialog@9.0.4: + resolution: {integrity: sha512-pmnPRZKd9CGzGgf4a1ysBvMhxm8Afx5fF6M7AzLtJ0qh8X1bshurDlqnK4MBNAB4hAeAMMbz6Ytb1rkGMvKFbQ==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + rc-drawer@6.3.0: + resolution: {integrity: sha512-uBZVb3xTAR+dBV53d/bUhTctCw3pwcwJoM7g5aX+7vgwt2zzVzoJ6aqFjYJpBlZ9zp0dVYN8fV+hykFE7c4lig==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + rc-dropdown@4.0.1: + resolution: {integrity: sha512-OdpXuOcme1rm45cR0Jzgfl1otzmU4vuBVb+etXM8vcaULGokAKVpKlw8p6xzspG7jGd/XxShvq+N3VNEfk/l5g==} + peerDependencies: + react: '>=16.11.0' + react-dom: '>=16.11.0' + + rc-field-form@1.38.2: + resolution: {integrity: sha512-O83Oi1qPyEv31Sg+Jwvsj6pXc8uQI2BtIAkURr5lvEYHVggXJhdU/nynK8wY1gbw0qR48k731sN5ON4egRCROA==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + rc-image@5.13.0: + resolution: {integrity: sha512-iZTOmw5eWo2+gcrJMMcnd7SsxVHl3w5xlyCgsULUdJhJbnuI8i/AL0tVOsE7aLn9VfOh1qgDT3mC2G75/c7mqg==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + rc-input-number@7.3.11: + resolution: {integrity: sha512-aMWPEjFeles6PQnMqP5eWpxzsvHm9rh1jQOWXExUEIxhX62Fyl/ptifLHOn17+waDG1T/YUb6flfJbvwRhHrbA==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + rc-input@0.1.4: + resolution: {integrity: sha512-FqDdNz+fV2dKNgfXzcSLKvC+jEs1709t7nD+WdfjrdSaOcefpgc7BUJYadc3usaING+b7ediMTfKxuJBsEFbXA==} + peerDependencies: + react: '>=16.0.0' + react-dom: '>=16.0.0' + + rc-mentions@1.13.1: + resolution: {integrity: sha512-FCkaWw6JQygtOz0+Vxz/M/NWqrWHB9LwqlY2RtcuFqWJNFK9njijOOzTSsBGANliGufVUzx/xuPHmZPBV0+Hgw==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + rc-menu@9.8.4: + resolution: {integrity: sha512-lmw2j8I2fhdIzHmC9ajfImfckt0WDb2KVJJBBRIsxPEw2kGkEfjLMUoB1NgiNT/Q5cC8PdjGOGQjHJIJMwyNMw==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + rc-motion@2.9.5: + resolution: {integrity: sha512-w+XTUrfh7ArbYEd2582uDrEhmBHwK1ZENJiSJVb7uRxdE7qJSYjbO2eksRXmndqyKqKoYPc9ClpPh5242mV1vA==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + rc-notification@4.6.1: + resolution: {integrity: sha512-NSmFYwrrdY3+un1GvDAJQw62Xi9LNMSsoQyo95tuaYrcad5Bn9gJUL8AREufRxSQAQnr64u3LtP3EUyLYT6bhw==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + rc-overflow@1.5.0: + resolution: {integrity: sha512-Lm/v9h0LymeUYJf0x39OveU52InkdRXqnn2aYXfWmo8WdOonIKB2kfau+GF0fWq6jPgtdO9yMqveGcK6aIhJmg==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + rc-pagination@3.2.0: + resolution: {integrity: sha512-5tIXjB670WwwcAJzAqp2J+cOBS9W3cH/WU1EiYwXljuZ4vtZXKlY2Idq8FZrnYBz8KhN3vwPo9CoV/SJS6SL1w==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + rc-picker@2.7.6: + resolution: {integrity: sha512-H9if/BUJUZBOhPfWcPeT15JUI3/ntrG9muzERrXDkSoWmDj4yzmBvumozpxYrHwjcKnjyDGAke68d+whWwvhHA==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + rc-progress@3.4.2: + resolution: {integrity: sha512-iAGhwWU+tsayP+Jkl9T4+6rHeQTG9kDz8JAHZk4XtQOcYN5fj9H34NXNEdRdZx94VUDHMqCb1yOIvi8eJRh67w==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + rc-rate@2.9.3: + resolution: {integrity: sha512-2THssUSnRhtqIouQIIXqsZGzRczvp4WsH4WvGuhiwm+LG2fVpDUJliP9O1zeDOZvYfBE/Bup4SgHun/eCkbjgQ==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + rc-resize-observer@0.2.6: + resolution: {integrity: sha512-YX6nYnd6fk7zbuvT6oSDMKiZjyngjHoy+fz+vL3Tez38d/G5iGdaDJa2yE7345G6sc4Mm1IGRUIwclvltddhmA==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + rc-resize-observer@1.4.3: + resolution: {integrity: sha512-YZLjUbyIWox8E9i9C3Tm7ia+W7euPItNWSPX5sCcQTYbnwDb5uNpnLHQCG1f22oZWUhLw4Mv2tFmeWe68CDQRQ==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + rc-segmented@2.3.0: + resolution: {integrity: sha512-I3FtM5Smua/ESXutFfb8gJ8ZPcvFR+qUgeeGFQHBOvRiRKyAk4aBE5nfqrxXx+h8/vn60DQjOt6i4RNtrbOobg==} + peerDependencies: + react: '>=16.0.0' + react-dom: '>=16.0.0' + + rc-select@14.1.18: + resolution: {integrity: sha512-4JgY3oG2Yz68ECMUSCON7mtxuJvCSj+LJpHEg/AONaaVBxIIrmI/ZTuMJkyojall/X50YdBe5oMKqHHPNiPzEg==} + engines: {node: '>=8.x'} + peerDependencies: + react: '*' + react-dom: '*' + + rc-slider@10.0.1: + resolution: {integrity: sha512-igTKF3zBet7oS/3yNiIlmU8KnZ45npmrmHlUUio8PNbIhzMcsh+oE/r2UD42Y6YD2D/s+kzCQkzQrPD6RY435Q==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + rc-steps@5.0.0: + resolution: {integrity: sha512-9TgRvnVYirdhbV0C3syJFj9EhCRqoJAsxt4i1rED5o8/ZcSv5TLIYyo4H8MCjLPvbe2R+oBAm/IYBEtC+OS1Rw==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + rc-switch@3.2.2: + resolution: {integrity: sha512-+gUJClsZZzvAHGy1vZfnwySxj+MjLlGRyXKXScrtCTcmiYNPzxDFOxdQ/3pK1Kt/0POvwJ/6ALOR8gwdXGhs+A==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + rc-table@7.26.0: + resolution: {integrity: sha512-0cD8e6S+DTGAt5nBZQIPFYEaIukn17sfa5uFL98faHlH/whZzD8ii3dbFL4wmUDEL4BLybhYop+QUfZJ4CPvNQ==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + rc-tabs@12.5.10: + resolution: {integrity: sha512-Ay0l0jtd4eXepFH9vWBvinBjqOpqzcsJTerBGwJy435P2S90Uu38q8U/mvc1sxUEVOXX5ZCFbxcWPnfG3dH+tQ==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + rc-textarea@0.4.7: + resolution: {integrity: sha512-IQPd1CDI3mnMlkFyzt2O4gQ2lxUsnBAeJEoZGJnkkXgORNqyM9qovdrCj9NzcRfpHgLdzaEbU3AmobNFGUznwQ==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + rc-tooltip@5.2.2: + resolution: {integrity: sha512-jtQzU/18S6EI3lhSGoDYhPqNpWajMtS5VV/ld1LwyfrDByQpYmw/LW6U7oFXXLukjfDHQ7Ju705A82PRNFWYhg==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + rc-tree-select@5.5.5: + resolution: {integrity: sha512-k2av7jF6tW9bIO4mQhaVdV4kJ1c54oxV3/hHVU+oD251Gb5JN+m1RbJFTMf1o0rAFqkvto33rxMdpafaGKQRJw==} + peerDependencies: + react: '*' + react-dom: '*' + + rc-tree@5.7.12: + resolution: {integrity: sha512-LXA5nY2hG5koIAlHW5sgXgLpOMz+bFRbnZZ+cCg0tQs4Wv1AmY7EDi1SK7iFXhslYockbqUerQan82jljoaItg==} + engines: {node: '>=10.x'} + peerDependencies: + react: '*' + react-dom: '*' + + rc-trigger@5.3.4: + resolution: {integrity: sha512-mQv+vas0TwKcjAO2izNPkqR4j86OemLRmvL2nOzdP9OWNWA1ivoTt5hzFqYNW9zACwmTezRiN8bttrC7cZzYSw==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + rc-upload@4.3.6: + resolution: {integrity: sha512-Bt7ESeG5tT3IY82fZcP+s0tQU2xmo1W6P3S8NboUUliquJLQYLkUcsaExi3IlBVr43GQMCjo30RA2o0i70+NjA==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + rc-util@4.21.1: + resolution: {integrity: sha512-Z+vlkSQVc1l8O2UjR3WQ+XdWlhj5q9BMQNLk2iOBch75CqPfrJyGtcWMcnhRlNuDu0Ndtt4kLVO8JI8BrABobg==} + + rc-util@5.44.4: + resolution: {integrity: sha512-resueRJzmHG9Q6rI/DfK6Kdv9/Lfls05vzMs1Sk3M2P+3cJa+MakaZyWY8IPfehVuhPJFKrIY1IK4GqbiaiY5w==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + rc-virtual-list@3.19.2: + resolution: {integrity: sha512-Ys6NcjwGkuwkeaWBDqfI3xWuZ7rDiQXlH1o2zLfFzATfEgXcqpk8CkgMfbJD81McqjcJVez25a3kPxCR807evA==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + react-cropper@2.3.3: + resolution: {integrity: sha512-zghiEYkUb41kqtu+2jpX2Ntigf+Jj1dF9ew4lAobPzI2adaPE31z0p+5TcWngK6TvmWQUwK3lj4G+NDh1PDQ1w==} + peerDependencies: + react: '>=17.0.2' + + react-dom@18.3.1: + resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} + peerDependencies: + react: ^18.3.1 + + react-dom@19.2.6: + resolution: {integrity: sha512-0prMI+hvBbPjsWnxDLxlCGyM8PN6UuWjEUCYmZhO67xIV9Xasa/r/vDnq+Xyq4Lo27g8QSbO5YzARu0D1Sps3g==} + peerDependencies: + react: ^19.2.6 + + react-draggable@4.5.0: + resolution: {integrity: sha512-VC+HBLEZ0XJxnOxVAZsdRi8rD04Iz3SiiKOoYzamjylUcju/hP9np/aZdLHf/7WOD268WMoNJMvYfB5yAK45cw==} + peerDependencies: + react: '>= 16.3.0' + react-dom: '>= 16.3.0' + + react-error-overlay@6.0.9: + resolution: {integrity: sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew==} + + react-fast-compare@3.2.2: + resolution: {integrity: sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==} + + react-helmet-async@1.3.0: + resolution: {integrity: sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg==} + peerDependencies: + react: ^16.6.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.6.0 || ^17.0.0 || ^18.0.0 + + react-intl@3.12.1: + resolution: {integrity: sha512-cgumW29mwROIqyp8NXStYsoIm27+8FqnxykiLSawWjOxGIBeLuN/+p2srei5SRIumcJefOkOIHP+NDck05RgHg==} + peerDependencies: + react: ^16.3.0 + + react-is@16.13.1: + resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + + react-is@18.3.1: + resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + + react-json-view-lite@2.5.0: + resolution: {integrity: sha512-tk7o7QG9oYyELWHL8xiMQ8x4WzjCzbWNyig3uexmkLb54r8jO0yH3WCWx8UZS0c49eSA4QUmG5caiRJ8fAn58g==} + engines: {node: '>=18'} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + + react-lifecycles-compat@3.0.4: + resolution: {integrity: sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==} + + react-merge-refs@1.1.0: + resolution: {integrity: sha512-alTKsjEL0dKH/ru1Iyn7vliS2QRcBp9zZPGoWxUOvRGWPUYgjo+V01is7p04It6KhgrzhJGnIj9GgX8W4bZoCQ==} + + react-redux@5.1.2: + resolution: {integrity: sha512-Ns1G0XXc8hDyH/OcBHOxNgQx9ayH3SPxBnFCOidGKSle8pKihysQw2rG/PmciUQRoclhVBO8HMhiRmGXnDja9Q==} + peerDependencies: + react: ^0.14.0 || ^15.0.0-0 || ^16.0.0-0 + redux: ^2.0.0 || ^3.0.0 || ^4.0.0-0 + + react-redux@8.1.3: + resolution: {integrity: sha512-n0ZrutD7DaX/j9VscF+uTALI3oUPa/pO4Z3soOBIjuRn/FzVu6aehhysxZCLi6y7duMf52WNZGMl7CtuK5EnRw==} + peerDependencies: + '@types/react': ^16.8 || ^17.0 || ^18.0 + '@types/react-dom': ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + react-native: '>=0.59' + redux: ^4 || ^5.0.0-beta.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + react-dom: + optional: true + react-native: + optional: true + redux: + optional: true + + react-refresh@0.14.0: + resolution: {integrity: sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==} + engines: {node: '>=0.10.0'} + + react-refresh@0.14.2: + resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==} + engines: {node: '>=0.10.0'} + + react-router-dom@4.3.1: + resolution: {integrity: sha512-c/MlywfxDdCp7EnB7YfPMOfMD3tOtIjrQlj/CKfNMBxdmpJP8xcz5P/UAFn3JbnQCNUxsHyVVqllF9LhgVyFCA==} + peerDependencies: + react: '>=15' + + react-router-dom@6.3.0: + resolution: {integrity: sha512-uaJj7LKytRxZNQV8+RbzJWnJ8K2nPsOOEuX7aQstlMZKQT0164C+X2w6bnkqU3sjtLvpd5ojrezAyfZ1+0sStw==} + peerDependencies: + react: '>=16.8' + react-dom: '>=16.8' + + react-router-redux@5.0.0-alpha.9: + resolution: {integrity: sha512-euSgNIANnRXr4GydIuwA7RZCefrLQzIw5WdXspS8NPYbV+FxrKSS9MKG7U9vb6vsKHONnA4VxrVNWfnMUnUQAw==} + deprecated: This project is no longer maintained. + peerDependencies: + react: '>=15' + + react-router@4.3.1: + resolution: {integrity: sha512-yrvL8AogDh2X42Dt9iknk4wF4V8bWREPirFfS9gLU1huk6qK41sg7Z/1S81jjTrGHxa3B8R3J6xIkDAA6CVarg==} + peerDependencies: + react: '>=15' + + react-router@6.3.0: + resolution: {integrity: sha512-7Wh1DzVQ+tlFjkeo+ujvjSqSJmkt1+8JO+T5xklPlgrh70y7ogx75ODRW0ThWhY7S+6yEDks8TYrtQe/aoboBQ==} + peerDependencies: + react: '>=16.8' + + react-syntax-highlighter@16.1.1: + resolution: {integrity: sha512-PjVawBGy80C6YbC5DDZJeUjBmC7skaoEUdvfFQediQHgCL7aKyVHe57SaJGfQsloGDac+gCpTfRdtxzWWKmCXA==} + engines: {node: '>= 16.20.2'} + peerDependencies: + react: '>= 0.14.0' + + react@18.3.1: + resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} + engines: {node: '>=0.10.0'} + + react@19.2.6: + resolution: {integrity: sha512-sfWGGfavi0xr8Pg0sVsyHMAOziVYKgPLNrS7ig+ivMNb3wbCBw3KxtflsGBAwD3gYQlE/AEZsTLgToRrSCjb0Q==} + engines: {node: '>=0.10.0'} + + reactcss@1.2.3: + resolution: {integrity: sha512-KiwVUcFu1RErkI97ywr8nvx8dNOpT03rbnma0SSalTYjkrPYaEajR4a/MRt6DZ46K6arDRbWMNHF+xH7G7n/8A==} + peerDependencies: + react: '*' + + read-pkg-up@7.0.1: + resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} + engines: {node: '>=8'} + + read-pkg@5.2.0: + resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} + engines: {node: '>=8'} + + readable-stream@2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + + readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + + readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + + real-require@0.1.0: + resolution: {integrity: sha512-r/H9MzAWtrv8aSVjPCMFpDMl5q66GqtmmRkRjpHTsp4zBAa+snZyiQNlMONiUmEJcsnaw0wCauJ2GWODr/aFkg==} + engines: {node: '>= 12.13.0'} + + redent@3.0.0: + resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} + engines: {node: '>=8'} + + redux-saga@0.16.2: + resolution: {integrity: sha512-iIjKnRThI5sKPEASpUvySemjzwqwI13e3qP7oLub+FycCRDysLSAOwt958niZW6LhxfmS6Qm1BzbU70w/Koc4w==} + + redux@3.7.2: + resolution: {integrity: sha512-pNqnf9q1hI5HHZRBkj3bAngGZW/JMCmexDlOxw4XagXY2o1327nHH54LoTjiPJ0gizoqPDRqWyX/00g0hD6w+A==} + + redux@4.2.1: + resolution: {integrity: sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==} + + reflect.getprototypeof@1.0.10: + resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==} + engines: {node: '>= 0.4'} + + refractor@5.0.0: + resolution: {integrity: sha512-QXOrHQF5jOpjjLfiNk5GFnWhRXvxjUVnlFxkeDmewR5sXkr3iM46Zo+CnRR8B+MDVqkULW4EcLVcRBNOPXHosw==} + + reftools@1.1.9: + resolution: {integrity: sha512-OVede/NQE13xBQ+ob5CKd5KyeJYU2YInb1bmV4nRoOfquZPkAkxuOXicSe1PvqIuZZ4kD13sPKBbR7UFDmli6w==} + + regenerate-unicode-properties@10.1.1: + resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==} + engines: {node: '>=4'} + + regenerate@1.4.2: + resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} + + regenerator-runtime@0.13.11: + resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} + + regenerator-runtime@0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + + regex-parser@2.3.1: + resolution: {integrity: sha512-yXLRqatcCuKtVHsWrNg0JL3l1zGfdXeEvDa0bdu4tCDQw0RpMDZsqbkyRTUnKMR0tXF627V2oEWjBEaEdqTwtQ==} + + regexp.prototype.flags@1.5.4: + resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==} + engines: {node: '>= 0.4'} + + regexpp@3.2.0: + resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} + engines: {node: '>=8'} + + relateurl@0.2.7: + resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==} + engines: {node: '>= 0.10'} + + remove-accents@0.5.0: + resolution: {integrity: sha512-8g3/Otx1eJaVD12e31UbJj1YzdtVvzH85HV7t+9MJYk/u3XmkOUJ5Ys9wQrf9PCPK8+xn4ymzqYCiZl6QWKn+A==} + + renderkid@3.0.0: + resolution: {integrity: sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==} + + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + + require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + + reserved-words@0.1.2: + resolution: {integrity: sha512-0S5SrIUJ9LfpbVl4Yzij6VipUdafHrOTzvmfazSw/jeZrZtQK303OPZW+obtkaw7jQlTQppy0UvZWm9872PbRw==} + + resize-observer-polyfill@1.5.1: + resolution: {integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==} + + resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + + resolve-from@5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + + resolve-pathname@3.0.0: + resolution: {integrity: sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==} + + resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + + resolve-url-loader@5.0.0: + resolution: {integrity: sha512-uZtduh8/8srhBoMx//5bwqjQ+rfYOUq8zC9NrMUGtjBiGTtFJM42s58/36+hTqeqINcnYe08Nj3LkK9lW4N8Xg==} + engines: {node: '>=12'} + + resolve@1.22.12: + resolution: {integrity: sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA==} + engines: {node: '>= 0.4'} + hasBin: true + + resolve@2.0.0-next.7: + resolution: {integrity: sha512-tqt+NBWwyaMgw3zDsnygx4CByWjQEJHOPMdslYhppaQSJUtL/D4JO9CcBBlhPoI8lz9oJIDXkwXfhF4aWqP8xQ==} + engines: {node: '>= 0.4'} + hasBin: true + + retry@0.13.1: + resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} + engines: {node: '>= 4'} + + reusify@1.1.0: + resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported + hasBin: true + + rimraf@4.4.1: + resolution: {integrity: sha512-Gk8NlF062+T9CqNGn6h4tls3k6T1+/nXdOcSZVikNVtlRdYpA7wRJJMoXmuvOnLW844rPjdQ7JgXCYM6PPC/og==} + engines: {node: '>=14'} + hasBin: true + + rimraf@5.0.1: + resolution: {integrity: sha512-OfFZdwtd3lZ+XZzYP/6gTACubwFcHdLRqS9UX3UwpU2dnGQYkPFISRwvM3w9IiB2w7bW5qGo/uAwE4SmXXSKvg==} + engines: {node: '>=14'} + hasBin: true + + ripemd160@2.0.3: + resolution: {integrity: sha512-5Di9UC0+8h1L6ZD2d7awM7E/T4uA1fJRlx6zk/NvdCCVEoAnFqvHmCuNeIKoCeIixBX/q8uM+6ycDvF8woqosA==} + engines: {node: '>= 0.8'} + + robust-predicates@3.0.3: + resolution: {integrity: sha512-NS3levdsRIUOmiJ8FZWCP7LG3QpJyrs/TE0Zpf1yvZu8cAJJ6QMW92H1c7kWpdIHo8RvmLxN/o2JXTKHp74lUA==} + + rollup-plugin-visualizer@5.9.0: + resolution: {integrity: sha512-bbDOv47+Bw4C/cgs0czZqfm8L82xOZssk4ayZjG40y9zbXclNk7YikrZTDao6p7+HDiGxrN0b65SgZiVm9k1Cg==} + engines: {node: '>=14'} + hasBin: true + peerDependencies: + rollup: 2.x || 3.x + peerDependenciesMeta: + rollup: + optional: true + + rollup@3.30.0: + resolution: {integrity: sha512-kQvGasUgN+AlWGliFn2POSajRQEsULVYFGTvOZmK06d7vCD+YhZztt70kGk3qaeAXeWYL5eO7zx+rAubBc55eA==} + engines: {node: '>=14.18.0', npm: '>=8.0.0'} + hasBin: true + + roughjs@4.6.6: + resolution: {integrity: sha512-ZUz/69+SYpFN/g/lUlo2FXcIjRkSu3nDarreVdGGndHEBJ6cXPdKguS8JGxwj5HA5xIbVKSmLgr5b3AWxtRfvQ==} + + run-applescript@5.0.0: + resolution: {integrity: sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==} + engines: {node: '>=12'} + + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + + rw@1.3.3: + resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==} + + safe-array-concat@1.1.4: + resolution: {integrity: sha512-wtZlHyOje6OZTGqAoaDKxFkgRtkF9CnHAVnCHKfuj200wAgL+bSJhdsCD2l0Qx/2ekEXjPWcyKkfGb5CPboslg==} + engines: {node: '>=0.4'} + + safe-buffer@5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + safe-push-apply@1.0.0: + resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==} + engines: {node: '>= 0.4'} + + safe-regex-test@1.1.0: + resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} + engines: {node: '>= 0.4'} + + safe-stable-stringify@2.5.0: + resolution: {integrity: sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==} + engines: {node: '>=10'} + + safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + + sass-loader@13.2.0: + resolution: {integrity: sha512-JWEp48djQA4nbZxmgC02/Wh0eroSUutulROUusYJO9P9zltRbNN80JCBHqRGzjd4cmZCa/r88xgfkjGD0TXsHg==} + engines: {node: '>= 14.15.0'} + peerDependencies: + fibers: '>= 3.1.0' + node-sass: ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 + sass: ^1.3.0 + sass-embedded: '*' + webpack: ^5.0.0 + peerDependenciesMeta: + fibers: + optional: true + node-sass: + optional: true + sass: + optional: true + sass-embedded: + optional: true + + sass-loader@16.0.8: + resolution: {integrity: sha512-hcov4ZwZJIGbEuyNr9EmiTmZueyrxSToE6GOzoZnq5JM7ecRO7ttyvilPn+VmRsqiP16+VYZzVnGZj/hzZgKBA==} + engines: {node: '>= 18.12.0'} + peerDependencies: + '@rspack/core': 0.x || ^1.0.0 || ^2.0.0-0 + node-sass: ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 + sass: ^1.3.0 + sass-embedded: '*' + webpack: ^5.0.0 + peerDependenciesMeta: + '@rspack/core': + optional: true + node-sass: + optional: true + sass: + optional: true + sass-embedded: + optional: true + webpack: + optional: true + + sass@1.54.0: + resolution: {integrity: sha512-C4zp79GCXZfK0yoHZg+GxF818/aclhp9F48XBu/+bm9vXEVAYov9iU3FBVRMq3Hx3OA4jfKL+p2K9180mEh0xQ==} + engines: {node: '>=12.0.0'} + hasBin: true + + sax@1.6.0: + resolution: {integrity: sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==} + engines: {node: '>=11.0.0'} + + scheduler@0.23.2: + resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} + + scheduler@0.27.0: + resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==} + + schema-utils@3.3.0: + resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} + engines: {node: '>= 10.13.0'} + + schema-utils@4.3.3: + resolution: {integrity: sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==} + engines: {node: '>= 10.13.0'} + + screenfull@5.2.0: + resolution: {integrity: sha512-9BakfsO2aUQN2K9Fdbj87RJIEZ82Q9IGim7FqM5OsebfoFC6ZHXgDq/KvniuLTPdeM8wY2o6Dj3WQ7KeQCj3cA==} + engines: {node: '>=0.10.0'} + + screenfull@6.0.2: + resolution: {integrity: sha512-AQdy8s4WhNvUZ6P8F6PB21tSPIYKniic+Ogx0AacBMjKP1GUHN2E9URxQHtCusiwxudnCKkdy4GrHXPPJSkCCw==} + engines: {node: ^14.13.1 || >=16.0.0} + + scroll-into-view-if-needed@2.2.31: + resolution: {integrity: sha512-dGCXy99wZQivjmjIqihaBQNjryrz5rueJY7eHfTdyWEiR4ttYpsajb14rn9s5d4DY4EcY6+4+U/maARBXJedkA==} + + scroll-into-view-if-needed@3.1.0: + resolution: {integrity: sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==} + + select-hose@2.0.0: + resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==} + + semver@5.7.2: + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} + hasBin: true + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + semver@7.8.1: + resolution: {integrity: sha512-rkVq3IXh+4FDGch+KwzX3aV9W3kO54GyEgpvBzSyctDA6Xtd7RJQV1xmXbeQp5v7+VzLOfVqiutSE6GICgPFvg==} + engines: {node: '>=10'} + hasBin: true + + send@0.17.1: + resolution: {integrity: sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==} + engines: {node: '>= 0.8.0'} + + send@0.19.2: + resolution: {integrity: sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==} + engines: {node: '>= 0.8.0'} + + serve-static@1.16.3: + resolution: {integrity: sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==} + engines: {node: '>= 0.8.0'} + + set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} + + set-function-name@2.0.2: + resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} + engines: {node: '>= 0.4'} + + set-proto@1.0.0: + resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==} + engines: {node: '>= 0.4'} + + setimmediate@1.0.5: + resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} + + setprototypeof@1.1.1: + resolution: {integrity: sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==} + + setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + + sha.js@2.4.12: + resolution: {integrity: sha512-8LzC5+bvI45BjpfXU8V5fdU2mfeKiQe1D1gIMn7XUlF3OTUrpdJpPPH4EMAnF0DsHHdSZqCdSss5qCmJKuiO3w==} + engines: {node: '>= 0.10'} + hasBin: true + + shallow-equal@1.2.1: + resolution: {integrity: sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA==} + + shallowequal@1.1.0: + resolution: {integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==} + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + should-equal@2.0.0: + resolution: {integrity: sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA==} + + should-format@3.0.3: + resolution: {integrity: sha512-hZ58adtulAk0gKtua7QxevgUaXTTXxIi8t41L3zo9AHvjXO1/7sdLECuHeIN2SRtYXpNkmhoUP2pdeWgricQ+Q==} + + should-type-adaptors@1.1.0: + resolution: {integrity: sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA==} + + should-type@1.4.0: + resolution: {integrity: sha512-MdAsTu3n25yDbIe1NeN69G4n6mUnJGtSJHygX3+oN0ZbO3DTiATnf7XnYJdGT42JCXurTb1JI0qOBR65shvhPQ==} + + should-util@1.0.1: + resolution: {integrity: sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g==} + + should@13.2.3: + resolution: {integrity: sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ==} + + side-channel-list@1.0.1: + resolution: {integrity: sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==} + engines: {node: '>= 0.4'} + + side-channel-map@1.0.1: + resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} + engines: {node: '>= 0.4'} + + side-channel-weakmap@1.0.2: + resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} + engines: {node: '>= 0.4'} + + side-channel@1.1.0: + resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} + engines: {node: '>= 0.4'} + + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + + single-spa@5.9.5: + resolution: {integrity: sha512-9SQdmsyz4HSP+3gs6PJzhkaMEg+6zTlu9oxIghnwUX3eq+ajq4ft5egl0iyR55LAmO/UwvU8NgIWs/ZyQMa6dw==} + + size-sensor@1.0.3: + resolution: {integrity: sha512-+k9mJ2/rQMiRmQUcjn+qznch260leIXY8r4FyYKKyRBO/s5UoeMAHGkCJyE1R/4wrIhTJONfyloY55SkE7ve3A==} + + slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + + slash@4.0.0: + resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} + engines: {node: '>=12'} + + slate-history@0.115.0: + resolution: {integrity: sha512-QdUm9aVyQFz6JG4a84Z6Um+tJpZJmsh9bjXwTVTvYiN4rdKbqL6+/4HT94on1WYxe10Q4vY6mA6BCpoYxgF3tQ==} + peerDependencies: + slate: '>=0.114.3' + + slate@0.124.1: + resolution: {integrity: sha512-ii7DwezgvbLAyKtHBIunjTR1kzbNfYLCUKLMzJELlbTZkvHzX4DzN7HKIwcakf6dPxO6AoeT/P7kHOcyTym/hA==} + + slice-ansi@4.0.0: + resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} + engines: {node: '>=10'} + + snabbdom@3.6.3: + resolution: {integrity: sha512-W2lHLLw2qR2Vv0DcMmcxXqcfdBaIcoN+y/86SmHv8fn4DazEQSH6KN3TjZcWvwujW56OHiiirsbHWZb4vx/0fg==} + engines: {node: '>=12.17.0'} + + sonic-boom@2.8.0: + resolution: {integrity: sha512-kuonw1YOYYNOve5iHdSahXPOK49GqwA+LZhI6Wz/l0rP57iKyXXIHaRagOBHAPmGwJC6od2Z9zgvZ5loSgMlVg==} + + sort-object-keys@1.1.3: + resolution: {integrity: sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==} + + sort-package-json@2.4.1: + resolution: {integrity: sha512-Nd3rgLBJcZ4iw7tpuOhwBupG6SvUDU0Fy1cZGAMorA2JmDUb+29Dg5phJK9gapa2Ak9d15w/RuMl/viwX+nKwQ==} + hasBin: true + + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} + + source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + + source-map@0.5.7: + resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} + engines: {node: '>=0.10.0'} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + source-map@0.7.6: + resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==} + engines: {node: '>= 12'} + + space-separated-tokens@2.0.2: + resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} + + spdx-correct@3.2.0: + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} + + spdx-exceptions@2.5.0: + resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} + + spdx-expression-parse@3.0.1: + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + + spdx-license-ids@3.0.23: + resolution: {integrity: sha512-CWLcCCH7VLu13TgOH+r8p1O/Znwhqv/dbb6lqWy67G+pT1kHmeD/+V36AVb/vq8QMIQwVShJ6Ssl5FPh0fuSdw==} + + spdy-transport@3.0.0: + resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==} + + spdy@4.0.2: + resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==} + engines: {node: '>=6.0.0'} + + specificity@0.4.1: + resolution: {integrity: sha512-1klA3Gi5PD1Wv9Q0wUoOQN1IWAuPu0D1U03ThXTr0cJ20+/iq2tHSDnK7Kk/0LXJ1ztUB2/1Os0wKmfyNgUQfg==} + hasBin: true + + split-on-first@1.1.0: + resolution: {integrity: sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==} + engines: {node: '>=6'} + + split2@4.2.0: + resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} + engines: {node: '>= 10.x'} + + sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + + ssr-window@4.0.2: + resolution: {integrity: sha512-ISv/Ch+ig7SOtw7G2+qkwfVASzazUnvlDTwypdLoPoySv+6MqlOV10VwPSE6EWkGjhW50lUmghPmpYZXMu/+AQ==} + + 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' + + stackframe@1.3.4: + resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==} + + statuses@1.5.0: + resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} + engines: {node: '>= 0.6'} + + statuses@2.0.2: + resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==} + engines: {node: '>= 0.8'} + + stop-iteration-iterator@1.1.0: + resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==} + engines: {node: '>= 0.4'} + + stream-browserify@2.0.2: + resolution: {integrity: sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==} + + stream-http@2.8.3: + resolution: {integrity: sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==} + + stream-shift@1.0.3: + resolution: {integrity: sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==} + + strict-uri-encode@2.0.0: + resolution: {integrity: sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==} + engines: {node: '>=4'} + + string-convert@0.2.1: + resolution: {integrity: sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A==} + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + + string.prototype.matchall@4.0.12: + resolution: {integrity: sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==} + engines: {node: '>= 0.4'} + + string.prototype.trim@1.2.10: + resolution: {integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==} + engines: {node: '>= 0.4'} + + string.prototype.trimend@1.0.9: + resolution: {integrity: sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==} + engines: {node: '>= 0.4'} + + string.prototype.trimstart@1.0.8: + resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} + engines: {node: '>= 0.4'} + + string_decoder-okam@1.3.0: + resolution: {integrity: sha512-N5lJgLJ02sIs9xNyqPgIywlGaLUW6s5cYRpnmM3gbfhGA3sggW0+E2go26D7oZgEH7jHpXDe+ArDrBXeCaP9QA==} + + string_decoder@1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + + string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-ansi@7.2.0: + resolution: {integrity: sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==} + engines: {node: '>=12'} + + strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + + strip-final-newline@3.0.0: + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} + + strip-indent@3.0.0: + resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} + engines: {node: '>=8'} + + strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + style-search@0.1.0: + resolution: {integrity: sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==} + + styled-components@6.1.1: + resolution: {integrity: sha512-cpZZP5RrKRIClBW5Eby4JM1wElLVP4NQrJbJ0h10TidTyJf4SIIwa3zLXOoPb4gJi8MsJ8mjq5mu2IrEhZIAcQ==} + engines: {node: '>= 16'} + peerDependencies: + react: '>= 16.8.0' + react-dom: '>= 16.8.0' + + styled-jsx@5.1.7: + resolution: {integrity: sha512-HPLmEIYprxCeWDMLYiaaAhsV3yGfIlCqzuVOybE6fjF3SUJmH67nCoMDO+nAvHNHo46OfvpCNu4Rcue82dMNFg==} + engines: {node: '>= 12.0.0'} + peerDependencies: + '@babel/core': '*' + babel-plugin-macros: '*' + react: '>= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0' + peerDependenciesMeta: + '@babel/core': + optional: true + babel-plugin-macros: + optional: true + + stylelint-config-recommended@7.0.0: + resolution: {integrity: sha512-yGn84Bf/q41J4luis1AZ95gj0EQwRX8lWmGmBwkwBNSkpGSpl66XcPTulxGa/Z91aPoNGuIGBmFkcM1MejMo9Q==} + peerDependencies: + stylelint: ^14.4.0 + + stylelint-config-standard@25.0.0: + resolution: {integrity: sha512-21HnP3VSpaT1wFjFvv9VjvOGDtAviv47uTp3uFmzcN+3Lt+RYRv6oAplLaV51Kf792JSxJ6svCJh/G18E9VnCA==} + peerDependencies: + stylelint: ^14.4.0 + + stylelint@14.8.2: + resolution: {integrity: sha512-tjDfexCYfoPdl/xcDJ9Fv+Ko9cvzbDnmdiaqEn3ovXHXasi/hbkt5tSjsiReQ+ENqnz0eltaX/AOO+AlzVdcNA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + hasBin: true + + stylis@4.2.0: + resolution: {integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==} + + stylis@4.4.0: + resolution: {integrity: sha512-5Z9ZpRzfuH6l/UAvCPAPUo3665Nk2wLaZU3x+TLHKVzIz33+sbJqbtrYoC3KD4/uVOr2Zp+L0LySezP9OHV9yA==} + + superjson@1.13.3: + resolution: {integrity: sha512-mJiVjfd2vokfDxsQPOwJ/PtanO87LhpYY88ubI5dUB1Ab58Txbyje3+jpm+/83R/fevaq/107NNhtYBLuoTrFg==} + engines: {node: '>=10'} + + supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + + supports-hyperlinks@2.3.0: + resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==} + engines: {node: '>=8'} + + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + svg-parser@2.0.4: + resolution: {integrity: sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==} + + svg-tags@1.0.0: + resolution: {integrity: sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==} + + svgo@2.8.2: + resolution: {integrity: sha512-TyzE4NVGLUFy+H/Uy4N6c3G0HEeprsVfge6Lmq+0FdQQ/zqoVYB62IsBZORsiL+o96s6ff/V6/3UQo/C0cgCAA==} + engines: {node: '>=10.13.0'} + hasBin: true + + swagger-ui-dist@4.19.1: + resolution: {integrity: sha512-n/gFn+R7G/BXWwl5UZLw6F1YgWOlf3zkwGlsPhTMhNtAAolBGKg0JS5b2RKt5NI6/hSopVaSrki2wTIMUDDy2w==} + + swagger2openapi@7.0.8: + resolution: {integrity: sha512-upi/0ZGkYgEcLeGieoz8gT74oWHA0E7JivX7aN9mAf+Tc7BQoRBvnIGHoPDw+f9TXTW4s6kGYCZJtauP6OYp7g==} + hasBin: true + + swr@2.4.1: + resolution: {integrity: sha512-2CC6CiKQtEwaEeNiqWTAw9PGykW8SR5zZX8MZk6TeAvEAnVS7Visz8WzphqgtQ8v2xz/4Q5K+j+SeMaKXeeQIA==} + peerDependencies: + react: ^16.11.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + + symbol-observable@1.2.0: + resolution: {integrity: sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==} + engines: {node: '>=0.10.0'} + + synckit@0.8.5: + resolution: {integrity: sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==} + engines: {node: ^14.18.0 || >=16.0.0} + + systemjs@6.15.1: + resolution: {integrity: sha512-Nk8c4lXvMB98MtbmjX7JwJRgJOL8fluecYCfCeYBznwmpOs8Bf15hLM6z4z71EDAhQVrQrI+wt1aLWSXZq+hXA==} + + table@6.9.0: + resolution: {integrity: sha512-9kY+CygyYM6j02t5YFHbNz2FN5QmYGv9zAjVp4lCDjlCw7amdckXlEt/bjMhUIfj4ThGRE4gCUH5+yGnNuPo5A==} + engines: {node: '>=10.0.0'} + + tapable@2.3.3: + resolution: {integrity: sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==} + engines: {node: '>=6'} + + terser-webpack-plugin@5.6.1: + resolution: {integrity: sha512-201R5j+sJpK8nFWwKVyNfZot8FaJbLZDq5evriVzbV1wDtSXDjRUDRfJzHpAaxFDMEhsZL1QkeqM61wgsS3KaQ==} + engines: {node: '>= 10.13.0'} + peerDependencies: + '@minify-html/node': '*' + '@swc/core': '*' + '@swc/css': '*' + '@swc/html': '*' + clean-css: '*' + cssnano: '*' + csso: '*' + esbuild: '*' + html-minifier-terser: '*' + lightningcss: '*' + postcss: '*' + uglify-js: '*' + webpack: ^5.1.0 + peerDependenciesMeta: + '@minify-html/node': + optional: true + '@swc/core': + optional: true + '@swc/css': + optional: true + '@swc/html': + optional: true + clean-css: + optional: true + cssnano: + optional: true + csso: + optional: true + esbuild: + optional: true + html-minifier-terser: + optional: true + lightningcss: + optional: true + postcss: + optional: true + uglify-js: + optional: true + + terser@5.48.0: + resolution: {integrity: sha512-J/9An6vs9Us6wKRriSFXBWdRZapREHqFzdNUKk0pmu804EMR6dr6winwo7e5JDxN4xahxQsuysyYFwlwj4XN/Q==} + engines: {node: '>=10'} + hasBin: true + + test-exclude@6.0.0: + resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} + engines: {node: '>=8'} + + text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + + thread-stream@0.15.2: + resolution: {integrity: sha512-UkEhKIg2pD+fjkHQKyJO3yoIvAP3N6RlNFt2dUhcS1FGvCD1cQa1M/PGknCLFIyZdtJOWQjejp7bdNqmN7zwdA==} + + throttle-debounce@5.0.2: + resolution: {integrity: sha512-B71/4oyj61iNH0KeCamLuE2rmKuTO5byTOSVwECM5FA7TiAiAW+UqTKZ9ERueC4qvgSttUhdmq1mXC3kJqGX7A==} + engines: {node: '>=12.22'} + + timers-browserify@2.0.12: + resolution: {integrity: sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==} + engines: {node: '>=0.6.0'} + + timers-ext@0.1.8: + resolution: {integrity: sha512-wFH7+SEAcKfJpfLPkrgMPvvwnEtj8W4IurvEyrKsDleXnKLCDw71w8jltvfLa8Rm4qQxxT4jmDBYbJG/z7qoww==} + engines: {node: '>=0.12'} + + tiny-invariant@1.3.3: + resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} + + tiny-pinyin@1.3.2: + resolution: {integrity: sha512-uHNGu4evFt/8eNLldazeAM1M8JrMc1jshhJJfVRARTN3yT8HEEibofeQ7QETWQ5ISBjd6fKtTVBCC/+mGS6FpA==} + + tiny-warning@1.0.3: + resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==} + + tinycolor2@1.6.0: + resolution: {integrity: sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==} + + tinyexec@1.2.2: + resolution: {integrity: sha512-M/Q0B2cp4K7kynaT/vnED1j8TlLY+Pp7C6Wl2bl/7u/F0mUVwdyOpwomQb8JpYLitHUssAJRmLZdMCGsrx7i+g==} + engines: {node: '>=18'} + + tinypool@2.1.0: + resolution: {integrity: sha512-Pugqs6M0m7Lv1I7FtxN4aoyToKg1C4tu+/381vH35y8oENM/Ai7f7C4StcoK4/+BSw9ebcS8jRiVrORFKCALLw==} + engines: {node: ^20.0.0 || >=22.0.0} + + titleize@3.0.0: + resolution: {integrity: sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==} + engines: {node: '>=12'} + + tmpl@1.0.5: + resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} + + to-arraybuffer@1.0.1: + resolution: {integrity: sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==} + + to-buffer@1.2.2: + resolution: {integrity: sha512-db0E3UJjcFhpDhAF4tLo03oli3pwl3dbnzXOUIlRKrp+ldk/VUxzpWYZENsw2SZiuBjHAk7DfB0VU7NKdpb6sw==} + engines: {node: '>= 0.4'} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + toggle-selection@1.0.6: + resolution: {integrity: sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==} + + toidentifier@1.0.0: + resolution: {integrity: sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==} + engines: {node: '>=0.6'} + + toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + + tr46@0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + + trim-newlines@3.0.1: + resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} + engines: {node: '>=8'} + + trim-right@1.0.1: + resolution: {integrity: sha512-WZGXGstmCWgeevgTL54hrCuw1dyMQIzWy7ZfqRJfSmJZBwklI15egmQytFP6bPidmw3M8d5yEowl1niq4vmqZw==} + engines: {node: '>=0.10.0'} + + ts-dedent@2.2.0: + resolution: {integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==} + engines: {node: '>=6.10'} + + tslib@1.14.1: + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + + tslib@2.3.0: + resolution: {integrity: sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==} + + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + + tsutils@3.21.0: + 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' + + tsx@3.12.2: + resolution: {integrity: sha512-ykAEkoBg30RXxeOMVeZwar+JH632dZn9EUJVyJwhfag62k6UO/dIyJEV58YuLF6e5BTdV/qmbQrpkWqjq9cUnQ==} + hasBin: true + + tty-browserify@0.0.0: + resolution: {integrity: sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==} + + type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + + type-fest@0.18.1: + resolution: {integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==} + engines: {node: '>=10'} + + type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + + type-fest@0.6.0: + resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} + engines: {node: '>=8'} + + type-fest@0.8.1: + resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} + engines: {node: '>=8'} + + type-is@1.6.18: + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} + engines: {node: '>= 0.6'} + + type@2.7.3: + resolution: {integrity: sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==} + + typed-array-buffer@1.0.3: + resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} + engines: {node: '>= 0.4'} + + typed-array-byte-length@1.0.3: + resolution: {integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==} + engines: {node: '>= 0.4'} + + typed-array-byte-offset@1.0.4: + resolution: {integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==} + engines: {node: '>= 0.4'} + + typed-array-length@1.0.7: + resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} + engines: {node: '>= 0.4'} + + typescript@6.0.3: + resolution: {integrity: sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==} + engines: {node: '>=14.17'} + hasBin: true + + umi@4.6.57: + resolution: {integrity: sha512-uF+38opyL9sHX0fHWcsiw56NtvJyjqJ/zAdKIZT72pT1e/sWZWlOSZRonXN32lTeheinw9QkYKKWQXvKA6q8QQ==} + engines: {node: '>=14'} + hasBin: true + + unbox-primitive@1.1.0: + resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} + engines: {node: '>= 0.4'} + + undici-types@7.24.6: + resolution: {integrity: sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg==} + + unfetch@5.0.0: + resolution: {integrity: sha512-3xM2c89siXg0nHvlmYsQ2zkLASvVMBisZm5lF3gFDqfF2xonNStDJyMpvaOBe0a1Edxmqrf2E0HBdmy9QyZaeg==} + + universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + + unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + + untildify@4.0.0: + resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} + engines: {node: '>=8'} + + update-browserslist-db@1.2.3: + resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + + url-okam@0.11.1: + resolution: {integrity: sha512-AM6OVeZNwKiirK3IwKxHuopgjX1jB0F8srK9OlCXN+wdmTNg6vgnN9xyQ5abhxq8Oj/kTleLU8OCfZ1FaEW37w==} + + url@0.11.4: + resolution: {integrity: sha512-oCwdVC7mTuWiPyjLUz/COz5TLk6wgp0RCsN+wHZ2Ekneac9w8uuV0njcbbie2ME+Vs+d6duwmYuR3HgQXs1fOg==} + engines: {node: '>= 0.4'} + + use-isomorphic-layout-effect@1.2.1: + resolution: {integrity: sha512-tpZZ+EX0gaghDAiFR37hj5MgY6ZN55kLiPkJsKxBMZ6GZdOSPJXiOzPM984oPYZ5AnehYx5WQp1+ME8I/P/pRA==} + peerDependencies: + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + + use-merge-value@1.2.0: + resolution: {integrity: sha512-DXgG0kkgJN45TcyoXL49vJnn55LehnrmoHc7MbKi+QDBvr8dsesqws8UlyIWGHMR+JXgxc1nvY+jDGMlycsUcw==} + peerDependencies: + react: '>= 16.x' + + use-sync-external-store@1.2.0: + resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + + use-sync-external-store@1.6.0: + resolution: {integrity: sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + util-okam@0.11.1: + resolution: {integrity: sha512-e2bG47F03vYx2MbA6znK6t6dwffnXGsVzh8BLpi0pcQ7dDRQf0zSAQ9IR7M+aoozALNibw8eCY53gEK8bBpSjg==} + + util@0.10.3: + resolution: {integrity: sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==} + + util@0.10.4: + resolution: {integrity: sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==} + + util@0.11.1: + resolution: {integrity: sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==} + + utila@0.4.0: + resolution: {integrity: sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==} + + utils-merge@1.0.1: + resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} + engines: {node: '>= 0.4.0'} + + uuid@14.0.0: + resolution: {integrity: sha512-Qo+uWgilfSmAhXCMav1uYFynlQO7fMFiMVZsQqZRMIXp0O7rR7qjkj+cPvBHLgBqi960QCoo/PH2/6ZtVqKvrg==} + hasBin: true + + uzip@0.20201231.0: + resolution: {integrity: sha512-OZeJfZP+R0z9D6TmBgLq2LHzSSptGMGDGigGiEe0pr8UBe/7fdflgHlHBNDASTXB5jnFuxHpNaJywSg8YFeGng==} + + v8-compile-cache@2.4.0: + resolution: {integrity: sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==} + + validate-npm-package-license@3.0.4: + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + + valtio@1.11.2: + resolution: {integrity: sha512-1XfIxnUXzyswPAPXo1P3Pdx2mq/pIqZICkWN60Hby0d9Iqb+MEIpqgYVlbflvHdrp2YR/q3jyKWRPJJ100yxaw==} + engines: {node: '>=12.20.0'} + peerDependencies: + '@types/react': '>=16.8' + react: '>=16.8' + peerDependenciesMeta: + '@types/react': + optional: true + react: + optional: true + + value-equal@1.0.1: + resolution: {integrity: sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==} + + vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + + vite@4.5.2: + resolution: {integrity: sha512-tBCZBNSBbHQkaGyhGCDUGqeo2ph8Fstyp6FMSvTtsXeZSPpSMGlviAOav2hxVTqFcx8Hj/twtWKsMJXNY0xI8w==} + 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 + + vm-browserify@1.1.2: + resolution: {integrity: sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==} + + walker@1.0.8: + resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} + + warning@3.0.0: + resolution: {integrity: sha512-jMBt6pUrKn5I+OGgtQ4YZLdhIeJmObddh6CsibPxyQ5yPZm1XExSyzC1LCNX7BzhxWgiHmizBWJTHJIjMjTQYQ==} + + warning@4.0.3: + resolution: {integrity: sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==} + + watchpack@2.5.1: + resolution: {integrity: sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg==} + engines: {node: '>=10.13.0'} + + wbuf@1.7.3: + resolution: {integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==} + + web-streams-polyfill@3.3.3: + resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} + engines: {node: '>= 8'} + + webidl-conversions@3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + + webpack-5-chain@8.0.1: + resolution: {integrity: sha512-Tu1w80WA2Z+X6e7KzGy+cc0A0z+npVJA/fh55q2azMJ030gqz343Kx+yNAstDCeugsepmtDWY2J2IBRW/O+DEA==} + engines: {node: '>=10'} + + webpack-sources@3.5.0: + resolution: {integrity: sha512-HPuy+uuoTCaaoEoI1LQ3JN9+vrPBvEesnnX1jADHy728cHSMlq4wUc4afYqahq2B1mhQVZxCXOkNTnXltr+2vQ==} + engines: {node: '>=10.13.0'} + + webpack@5.107.2: + resolution: {integrity: sha512-v7RhXaJbpMlV0D7hC7lb2EbnxkoeUqf9qhKr6lozx3Q48pmFrqqNRmZFUEGmi7pSwm6fCQ2H1IjvCkHqdpVdjQ==} + engines: {node: '>=10.13.0'} + hasBin: true + peerDependencies: + webpack-cli: '*' + peerDependenciesMeta: + webpack-cli: + optional: true + + whatwg-fetch@3.6.20: + resolution: {integrity: sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==} + + whatwg-url@5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + + which-boxed-primitive@1.1.1: + resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==} + engines: {node: '>= 0.4'} + + which-builtin-type@1.2.1: + resolution: {integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==} + engines: {node: '>= 0.4'} + + which-collection@1.0.2: + resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} + engines: {node: '>= 0.4'} + + which-typed-array@1.1.21: + resolution: {integrity: sha512-zbRA8cVm6io/d5W8uIe2hblzN76/Wm3v/yiythQvr+dpBWeqhPSWIDNj4zOyHi4zKbMK6DN34Xsr9jPHJERAEw==} + engines: {node: '>= 0.4'} + + which@1.3.1: + resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} + hasBin: true + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + wildcard@1.1.2: + resolution: {integrity: sha512-DXukZJxpHA8LuotRwL0pP1+rS6CS7FF2qStDDE1C7DDg2rLud2PXRMuEDYIPhgEezwnlHNL4c+N6MfMTjCGTng==} + + word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + write-file-atomic@4.0.2: + resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + + ws@8.21.0: + resolution: {integrity: sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + xtend@4.0.2: + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} + + y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + + yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + + yaml@1.10.3: + resolution: {integrity: sha512-vIYeF1u3CjlhAFekPPAk2h/Kv4T3mAkMox5OymRiJQB0spDP10LHvt+K7G9Ny6NuuMAb25/6n1qyUjAcGNf/AA==} + engines: {node: '>= 6'} + + yargs-parser@20.2.9: + resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} + engines: {node: '>=10'} + + yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + + yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + + yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + + zod-validation-error@2.1.0: + resolution: {integrity: sha512-VJh93e2wb4c3tWtGgTa0OF/dTt/zoPCPzXq4V11ZjxmEAFaPi/Zss1xIZdEB5RD8GD00U0/iVXgqkF77RV7pdQ==} + engines: {node: '>=18.0.0'} + peerDependencies: + zod: ^3.18.0 + + zod@3.25.76: + resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==} + + zrender@6.1.0: + resolution: {integrity: sha512-oEGMDB6pOP2S6OwRR4PdVv610zrjnA3Bh+JnSG12fYJlBKjtNAoEb5fSUoCOOINlH96I2fU38/A2UpRKs67xYQ==} + + zustand@5.0.14: + resolution: {integrity: sha512-/8tAspM5LMPr28b3fwLYrtdj77ECpfZviaP75CMTnwO8ISyaE4GDIG/9rDDYq/cH9D2Xw2A2RXglLInmVBQB/g==} + engines: {node: '>=12.20.0'} + peerDependencies: + '@types/react': '>=18.0.0' + immer: '>=9.0.6' + react: '>=18.0.0' + use-sync-external-store: '>=1.2.0' + peerDependenciesMeta: + '@types/react': + optional: true + immer: + optional: true + react: + optional: true + use-sync-external-store: + optional: true + +snapshots: + + '@ahooksjs/use-request@2.8.15(react@19.2.6)': + dependencies: + lodash.debounce: 4.0.8 + lodash.throttle: 4.1.1 + react: 19.2.6 + + '@ampproject/remapping@2.3.0': + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + + '@ant-design/antd-theme-variable@1.0.0': {} + + '@ant-design/colors@6.0.0': + dependencies: + '@ctrl/tinycolor': 3.6.1 + + '@ant-design/colors@7.2.1': + dependencies: + '@ant-design/fast-color': 2.0.6 + + '@ant-design/colors@8.0.1': + dependencies: + '@ant-design/fast-color': 3.0.1 + + '@ant-design/cssinjs-utils@2.1.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@ant-design/cssinjs': 2.1.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@babel/runtime': 7.29.7 + '@rc-component/util': 1.11.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + '@ant-design/cssinjs@1.24.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@babel/runtime': 7.29.7 + '@emotion/hash': 0.8.0 + '@emotion/unitless': 0.7.5 + classnames: 2.5.1 + csstype: 3.2.3 + rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + stylis: 4.4.0 + + '@ant-design/cssinjs@2.1.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@babel/runtime': 7.29.7 + '@emotion/hash': 0.8.0 + '@emotion/unitless': 0.7.5 + '@rc-component/util': 1.11.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + clsx: 2.1.1 + csstype: 3.2.3 + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + stylis: 4.4.0 + + '@ant-design/fast-color@2.0.6': + dependencies: + '@babel/runtime': 7.29.7 + + '@ant-design/fast-color@3.0.1': {} + + '@ant-design/icons-svg@4.4.2': {} + + '@ant-design/icons@4.8.3(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@ant-design/colors': 6.0.0 + '@ant-design/icons-svg': 4.4.2 + '@babel/runtime': 7.29.7 + classnames: 2.5.1 + lodash: 4.18.1 + rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + '@ant-design/icons@5.6.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@ant-design/colors': 7.2.1 + '@ant-design/icons-svg': 4.4.2 + '@babel/runtime': 7.29.7 + classnames: 2.5.1 + rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + '@ant-design/icons@6.2.5(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@ant-design/colors': 8.0.1 + '@ant-design/icons-svg': 4.4.2 + '@rc-component/util': 1.11.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + clsx: 2.1.1 + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + '@ant-design/moment-webpack-plugin@0.0.3': {} + + '@ant-design/pro-card@2.10.0(antd@4.24.16(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@ant-design/cssinjs': 1.24.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@ant-design/icons': 5.6.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@ant-design/pro-provider': 2.16.2(antd@4.24.16(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@ant-design/pro-utils': 2.18.0(antd@4.24.16(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@babel/runtime': 7.29.7 + antd: 4.24.16(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + classnames: 2.5.1 + rc-resize-observer: 1.4.3(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + react: 19.2.6 + transitivePeerDependencies: + - react-dom + + '@ant-design/pro-components@2.8.10(antd@4.24.16(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(rc-field-form@1.38.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@ant-design/pro-card': 2.10.0(antd@4.24.16(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@ant-design/pro-descriptions': 2.6.10(antd@4.24.16(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(rc-field-form@1.38.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@ant-design/pro-field': 3.1.0(antd@4.24.16(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@ant-design/pro-form': 2.32.0(antd@4.24.16(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(rc-field-form@1.38.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@ant-design/pro-layout': 7.22.7(antd@4.24.16(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@ant-design/pro-list': 2.6.10(antd@4.24.16(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(rc-field-form@1.38.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@ant-design/pro-provider': 2.16.2(antd@4.24.16(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@ant-design/pro-skeleton': 2.2.1(antd@4.24.16(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@ant-design/pro-table': 3.21.0(antd@4.24.16(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(rc-field-form@1.38.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@ant-design/pro-utils': 2.18.0(antd@4.24.16(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@babel/runtime': 7.29.7 + antd: 4.24.16(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + transitivePeerDependencies: + - rc-field-form + + '@ant-design/pro-components@3.1.12-0(antd@6.4.3(date-fns@2.30.0)(moment@2.30.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@ant-design/cssinjs': 2.1.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@ant-design/icons': 6.2.5(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@babel/runtime': 7.29.7 + '@ctrl/tinycolor': 4.2.0 + '@dnd-kit/core': 6.3.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@dnd-kit/modifiers': 9.0.0(@dnd-kit/core@6.3.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6) + '@dnd-kit/sortable': 10.0.0(@dnd-kit/core@6.3.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6) + '@dnd-kit/utilities': 3.2.2(react@19.2.6) + '@emotion/css': 11.13.5 + '@rc-component/form': 1.8.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/resize-observer': 1.1.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/table': 1.10.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/util': 1.11.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@umijs/route-utils': 4.0.3 + '@umijs/use-params': 1.0.9(react@19.2.6) + antd: 6.4.3(date-fns@2.30.0)(moment@2.30.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + clsx: 2.1.1 + dayjs: 1.11.21 + lodash-es: 4.18.1 + path-to-regexp: 8.4.2 + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + react-draggable: 4.5.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + safe-stable-stringify: 2.5.0 + swr: 2.4.1(react@19.2.6) + transitivePeerDependencies: + - supports-color + + '@ant-design/pro-descriptions@2.6.10(antd@4.24.16(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(rc-field-form@1.38.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@ant-design/pro-field': 3.1.0(antd@4.24.16(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@ant-design/pro-form': 2.32.0(antd@4.24.16(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(rc-field-form@1.38.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@ant-design/pro-provider': 2.16.2(antd@4.24.16(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@ant-design/pro-skeleton': 2.2.1(antd@4.24.16(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@ant-design/pro-utils': 2.18.0(antd@4.24.16(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@babel/runtime': 7.29.7 + antd: 4.24.16(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-resize-observer: 0.2.6(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + react: 19.2.6 + transitivePeerDependencies: + - rc-field-form + - react-dom + + '@ant-design/pro-field@3.1.0(antd@4.24.16(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@ant-design/icons': 5.6.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@ant-design/pro-provider': 2.16.2(antd@4.24.16(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@ant-design/pro-utils': 2.18.0(antd@4.24.16(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@babel/runtime': 7.29.7 + '@chenshuai2144/sketch-color': 1.0.9(react@19.2.6) + antd: 4.24.16(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + classnames: 2.5.1 + dayjs: 1.11.21 + lodash: 4.18.1 + lodash-es: 4.18.1 + rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + react: 19.2.6 + swr: 2.4.1(react@19.2.6) + transitivePeerDependencies: + - react-dom + + '@ant-design/pro-form@2.32.0(antd@4.24.16(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(rc-field-form@1.38.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@ant-design/icons': 5.6.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@ant-design/pro-field': 3.1.0(antd@4.24.16(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@ant-design/pro-provider': 2.16.2(antd@4.24.16(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@ant-design/pro-utils': 2.18.0(antd@4.24.16(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@babel/runtime': 7.29.7 + '@chenshuai2144/sketch-color': 1.0.9(react@19.2.6) + '@umijs/use-params': 1.0.9(react@19.2.6) + antd: 4.24.16(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + classnames: 2.5.1 + dayjs: 1.11.21 + lodash: 4.18.1 + lodash-es: 4.18.1 + rc-field-form: 1.38.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-resize-observer: 1.4.3(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + '@ant-design/pro-layout@7.22.7(antd@4.24.16(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@ant-design/cssinjs': 1.24.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@ant-design/icons': 5.6.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@ant-design/pro-provider': 2.16.2(antd@4.24.16(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@ant-design/pro-utils': 2.18.0(antd@4.24.16(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@babel/runtime': 7.29.7 + '@umijs/route-utils': 4.0.3 + '@umijs/use-params': 1.0.9(react@19.2.6) + antd: 4.24.16(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + classnames: 2.5.1 + lodash: 4.18.1 + lodash-es: 4.18.1 + path-to-regexp: 8.2.0 + rc-resize-observer: 1.4.3(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + swr: 2.4.1(react@19.2.6) + warning: 4.0.3 + + '@ant-design/pro-list@2.6.10(antd@4.24.16(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(rc-field-form@1.38.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@ant-design/cssinjs': 1.24.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@ant-design/icons': 5.6.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@ant-design/pro-card': 2.10.0(antd@4.24.16(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@ant-design/pro-field': 3.1.0(antd@4.24.16(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@ant-design/pro-table': 3.21.0(antd@4.24.16(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(rc-field-form@1.38.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@ant-design/pro-utils': 2.18.0(antd@4.24.16(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@babel/runtime': 7.29.7 + antd: 4.24.16(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + classnames: 2.5.1 + dayjs: 1.11.21 + rc-resize-observer: 1.4.3(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-util: 4.21.1 + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + transitivePeerDependencies: + - rc-field-form + + '@ant-design/pro-provider@2.16.2(antd@4.24.16(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@ant-design/cssinjs': 1.24.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@babel/runtime': 7.29.7 + '@ctrl/tinycolor': 3.6.1 + antd: 4.24.16(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + dayjs: 1.11.21 + rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + swr: 2.4.1(react@19.2.6) + + '@ant-design/pro-skeleton@2.2.1(antd@4.24.16(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@babel/runtime': 7.29.7 + antd: 4.24.16(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + '@ant-design/pro-table@3.21.0(antd@4.24.16(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(rc-field-form@1.38.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@ant-design/cssinjs': 1.24.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@ant-design/icons': 5.6.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@ant-design/pro-card': 2.10.0(antd@4.24.16(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@ant-design/pro-field': 3.1.0(antd@4.24.16(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@ant-design/pro-form': 2.32.0(antd@4.24.16(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(rc-field-form@1.38.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@ant-design/pro-provider': 2.16.2(antd@4.24.16(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@ant-design/pro-utils': 2.18.0(antd@4.24.16(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@babel/runtime': 7.29.7 + '@dnd-kit/core': 6.3.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@dnd-kit/modifiers': 6.0.1(@dnd-kit/core@6.3.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6) + '@dnd-kit/sortable': 7.0.2(@dnd-kit/core@6.3.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6) + '@dnd-kit/utilities': 3.2.2(react@19.2.6) + antd: 4.24.16(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + classnames: 2.5.1 + dayjs: 1.11.21 + lodash: 4.18.1 + lodash-es: 4.18.1 + rc-field-form: 1.38.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-resize-observer: 1.4.3(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + '@ant-design/pro-utils@2.18.0(antd@4.24.16(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@ant-design/icons': 5.6.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@ant-design/pro-provider': 2.16.2(antd@4.24.16(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@babel/runtime': 7.29.7 + antd: 4.24.16(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + classnames: 2.5.1 + dayjs: 1.11.21 + lodash: 4.18.1 + lodash-es: 4.18.1 + rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + safe-stable-stringify: 2.5.0 + swr: 2.4.1(react@19.2.6) + + '@ant-design/react-slick@1.0.2(react@19.2.6)': + dependencies: + '@babel/runtime': 7.29.7 + classnames: 2.5.1 + json2mq: 0.2.0 + react: 19.2.6 + resize-observer-polyfill: 1.5.1 + throttle-debounce: 5.0.2 + + '@ant-design/react-slick@2.0.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@babel/runtime': 7.29.7 + clsx: 2.1.1 + json2mq: 0.2.0 + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + throttle-debounce: 5.0.2 + + '@ant-design/x@2.7.0(antd@6.4.3(date-fns@2.30.0)(moment@2.30.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@ant-design/colors': 8.0.1 + '@ant-design/cssinjs': 2.1.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@ant-design/cssinjs-utils': 2.1.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@ant-design/fast-color': 3.0.1 + '@ant-design/icons': 6.2.5(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@babel/runtime': 7.29.7 + '@rc-component/motion': 1.3.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/resize-observer': 1.1.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/util': 1.11.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + antd: 6.4.3(date-fns@2.30.0)(moment@2.30.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + clsx: 2.1.1 + lodash.throttle: 4.1.1 + mermaid: 11.15.0 + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + react-syntax-highlighter: 16.1.1(react@19.2.6) + + '@antfu/install-pkg@0.1.1': + dependencies: + execa: 5.1.1 + find-up: 5.0.0 + + '@antfu/install-pkg@1.1.0': + dependencies: + package-manager-detector: 1.6.0 + tinyexec: 1.2.2 + + '@antfu/utils@0.7.10': {} + + '@babel/code-frame@7.22.5': + dependencies: + '@babel/highlight': 7.25.9 + + '@babel/code-frame@7.29.7': + dependencies: + '@babel/helper-validator-identifier': 7.29.7 + js-tokens: 4.0.0 + picocolors: 1.1.1 + + '@babel/compat-data@7.29.7': {} + + '@babel/core@7.23.6': + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.29.7 + '@babel/generator': 7.29.7 + '@babel/helper-compilation-targets': 7.29.7 + '@babel/helper-module-transforms': 7.29.7(@babel/core@7.23.6) + '@babel/helpers': 7.29.7 + '@babel/parser': 7.29.7 + '@babel/template': 7.29.7 + '@babel/traverse': 7.29.7 + '@babel/types': 7.29.7 + convert-source-map: 2.0.0 + debug: 4.4.3 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/core@7.29.7': + dependencies: + '@babel/code-frame': 7.29.7 + '@babel/generator': 7.29.7 + '@babel/helper-compilation-targets': 7.29.7 + '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7) + '@babel/helpers': 7.29.7 + '@babel/parser': 7.29.7 + '@babel/template': 7.29.7 + '@babel/traverse': 7.29.7 + '@babel/types': 7.29.7 + '@jridgewell/remapping': 2.3.5 + convert-source-map: 2.0.0 + debug: 4.4.3 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/eslint-parser@7.23.3(@babel/core@7.23.6)(eslint@8.35.0)': + dependencies: + '@babel/core': 7.23.6 + '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1 + eslint: 8.35.0 + eslint-visitor-keys: 2.1.0 + semver: 6.3.1 + + '@babel/generator@7.2.0': + dependencies: + '@babel/types': 7.29.7 + jsesc: 2.5.2 + lodash: 4.18.1 + source-map: 0.5.7 + trim-right: 1.0.1 + + '@babel/generator@7.29.7': + dependencies: + '@babel/parser': 7.29.7 + '@babel/types': 7.29.7 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + jsesc: 3.1.0 + + '@babel/helper-annotate-as-pure@7.29.7': + dependencies: + '@babel/types': 7.29.7 + + '@babel/helper-compilation-targets@7.29.7': + dependencies: + '@babel/compat-data': 7.29.7 + '@babel/helper-validator-option': 7.29.7 + browserslist: 4.28.2 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-globals@7.29.7': {} + + '@babel/helper-module-imports@7.29.7': + dependencies: + '@babel/traverse': 7.29.7 + '@babel/types': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.29.7(@babel/core@7.23.6)': + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-module-imports': 7.29.7 + '@babel/helper-validator-identifier': 7.29.7 + '@babel/traverse': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-module-imports': 7.29.7 + '@babel/helper-validator-identifier': 7.29.7 + '@babel/traverse': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-plugin-utils@7.29.7': {} + + '@babel/helper-simple-access@7.29.7': + dependencies: + '@babel/traverse': 7.29.7 + '@babel/types': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-string-parser@7.29.7': {} + + '@babel/helper-validator-identifier@7.29.7': {} + + '@babel/helper-validator-option@7.29.7': {} + + '@babel/helpers@7.29.7': + dependencies: + '@babel/template': 7.29.7 + '@babel/types': 7.29.7 + + '@babel/highlight@7.25.9': + dependencies: + '@babel/helper-validator-identifier': 7.29.7 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.1.1 + + '@babel/parser@7.29.7': + dependencies: + '@babel/types': 7.29.7 + + '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-import-attributes@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-jsx@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-modules-commonjs@7.23.3(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-simple-access': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-react-jsx-self@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-react-jsx-source@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/runtime@7.23.6': + dependencies: + regenerator-runtime: 0.14.1 + + '@babel/runtime@7.29.7': {} + + '@babel/template@7.29.7': + dependencies: + '@babel/code-frame': 7.29.7 + '@babel/parser': 7.29.7 + '@babel/types': 7.29.7 + + '@babel/traverse@7.29.7': + dependencies: + '@babel/code-frame': 7.29.7 + '@babel/generator': 7.29.7 + '@babel/helper-globals': 7.29.7 + '@babel/parser': 7.29.7 + '@babel/template': 7.29.7 + '@babel/types': 7.29.7 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + '@babel/types@7.29.7': + dependencies: + '@babel/helper-string-parser': 7.29.7 + '@babel/helper-validator-identifier': 7.29.7 + + '@bloomberg/record-tuple-polyfill@0.0.4': {} + + '@braintree/sanitize-url@7.1.2': {} + + '@chenshuai2144/sketch-color@1.0.9(react@19.2.6)': + dependencies: + react: 19.2.6 + reactcss: 1.2.3(react@19.2.6) + tinycolor2: 1.6.0 + + '@chevrotain/types@11.1.2': {} + + '@csstools/postcss-color-function@1.1.1(postcss@8.5.15)': + dependencies: + '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.5.15) + postcss: 8.5.15 + postcss-value-parser: 4.2.0 + + '@csstools/postcss-font-format-keywords@1.0.1(postcss@8.5.15)': + dependencies: + postcss: 8.5.15 + postcss-value-parser: 4.2.0 + + '@csstools/postcss-hwb-function@1.0.2(postcss@8.5.15)': + dependencies: + postcss: 8.5.15 + postcss-value-parser: 4.2.0 + + '@csstools/postcss-ic-unit@1.0.1(postcss@8.5.15)': + dependencies: + '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.5.15) + postcss: 8.5.15 + postcss-value-parser: 4.2.0 + + '@csstools/postcss-is-pseudo-class@2.0.7(postcss@8.5.15)': + dependencies: + '@csstools/selector-specificity': 2.2.0(postcss-selector-parser@6.1.2) + postcss: 8.5.15 + postcss-selector-parser: 6.1.2 + + '@csstools/postcss-normalize-display-values@1.0.1(postcss@8.5.15)': + dependencies: + postcss: 8.5.15 + postcss-value-parser: 4.2.0 + + '@csstools/postcss-oklab-function@1.1.1(postcss@8.5.15)': + dependencies: + '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.5.15) + postcss: 8.5.15 + postcss-value-parser: 4.2.0 + + '@csstools/postcss-progressive-custom-properties@1.3.0(postcss@8.5.15)': + dependencies: + postcss: 8.5.15 + postcss-value-parser: 4.2.0 + + '@csstools/postcss-stepped-value-functions@1.0.1(postcss@8.5.15)': + dependencies: + postcss: 8.5.15 + postcss-value-parser: 4.2.0 + + '@csstools/postcss-unset-value@1.0.2(postcss@8.5.15)': + dependencies: + postcss: 8.5.15 + + '@csstools/selector-specificity@2.2.0(postcss-selector-parser@6.1.2)': + dependencies: + postcss-selector-parser: 6.1.2 + + '@ctrl/tinycolor@3.6.1': {} + + '@ctrl/tinycolor@4.2.0': {} + + '@dnd-kit/accessibility@3.1.1(react@19.2.6)': + dependencies: + react: 19.2.6 + tslib: 2.8.1 + + '@dnd-kit/core@6.3.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@dnd-kit/accessibility': 3.1.1(react@19.2.6) + '@dnd-kit/utilities': 3.2.2(react@19.2.6) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + tslib: 2.8.1 + + '@dnd-kit/modifiers@6.0.1(@dnd-kit/core@6.3.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6)': + dependencies: + '@dnd-kit/core': 6.3.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@dnd-kit/utilities': 3.2.2(react@19.2.6) + react: 19.2.6 + tslib: 2.8.1 + + '@dnd-kit/modifiers@9.0.0(@dnd-kit/core@6.3.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6)': + dependencies: + '@dnd-kit/core': 6.3.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@dnd-kit/utilities': 3.2.2(react@19.2.6) + react: 19.2.6 + tslib: 2.8.1 + + '@dnd-kit/sortable@10.0.0(@dnd-kit/core@6.3.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6)': + dependencies: + '@dnd-kit/core': 6.3.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@dnd-kit/utilities': 3.2.2(react@19.2.6) + react: 19.2.6 + tslib: 2.8.1 + + '@dnd-kit/sortable@7.0.2(@dnd-kit/core@6.3.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6)': + dependencies: + '@dnd-kit/core': 6.3.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@dnd-kit/utilities': 3.2.2(react@19.2.6) + react: 19.2.6 + tslib: 2.8.1 + + '@dnd-kit/utilities@3.2.2(react@19.2.6)': + dependencies: + react: 19.2.6 + tslib: 2.8.1 + + '@emotion/babel-plugin@11.13.5': + dependencies: + '@babel/helper-module-imports': 7.29.7 + '@babel/runtime': 7.29.7 + '@emotion/hash': 0.9.2 + '@emotion/memoize': 0.9.0 + '@emotion/serialize': 1.3.3 + babel-plugin-macros: 3.1.0 + convert-source-map: 1.9.0 + escape-string-regexp: 4.0.0 + find-root: 1.1.0 + source-map: 0.5.7 + stylis: 4.2.0 + transitivePeerDependencies: + - supports-color + + '@emotion/cache@11.14.0': + dependencies: + '@emotion/memoize': 0.9.0 + '@emotion/sheet': 1.4.0 + '@emotion/utils': 1.4.2 + '@emotion/weak-memoize': 0.4.0 + stylis: 4.2.0 + + '@emotion/css@11.13.5': + dependencies: + '@emotion/babel-plugin': 11.13.5 + '@emotion/cache': 11.14.0 + '@emotion/serialize': 1.3.3 + '@emotion/sheet': 1.4.0 + '@emotion/utils': 1.4.2 + transitivePeerDependencies: + - supports-color + + '@emotion/hash@0.8.0': {} + + '@emotion/hash@0.9.2': {} + + '@emotion/is-prop-valid@1.4.0': + dependencies: + '@emotion/memoize': 0.9.0 + + '@emotion/memoize@0.9.0': {} + + '@emotion/react@11.14.0(@types/react@19.2.15)(react@19.2.6)': + dependencies: + '@babel/runtime': 7.29.7 + '@emotion/babel-plugin': 11.13.5 + '@emotion/cache': 11.14.0 + '@emotion/serialize': 1.3.3 + '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@19.2.6) + '@emotion/utils': 1.4.2 + '@emotion/weak-memoize': 0.4.0 + hoist-non-react-statics: 3.3.2 + react: 19.2.6 + optionalDependencies: + '@types/react': 19.2.15 + transitivePeerDependencies: + - supports-color + + '@emotion/serialize@1.3.3': + dependencies: + '@emotion/hash': 0.9.2 + '@emotion/memoize': 0.9.0 + '@emotion/unitless': 0.10.0 + '@emotion/utils': 1.4.2 + csstype: 3.2.3 + + '@emotion/sheet@1.4.0': {} + + '@emotion/unitless@0.10.0': {} + + '@emotion/unitless@0.7.5': {} + + '@emotion/unitless@0.8.1': {} + + '@emotion/use-insertion-effect-with-fallbacks@1.2.0(react@19.2.6)': + dependencies: + react: 19.2.6 + + '@emotion/utils@1.4.2': {} + + '@emotion/weak-memoize@0.4.0': {} + + '@epic-web/invariant@1.0.0': {} + + '@esbuild-kit/cjs-loader@2.4.4': + dependencies: + '@esbuild-kit/core-utils': 3.3.2 + get-tsconfig: 4.14.0 + + '@esbuild-kit/core-utils@3.3.2': + dependencies: + esbuild: 0.18.20 + source-map-support: 0.5.21 + + '@esbuild-kit/esm-loader@2.6.5': + dependencies: + '@esbuild-kit/core-utils': 3.3.2 + get-tsconfig: 4.14.0 + + '@esbuild/aix-ppc64@0.21.4': + optional: true + + '@esbuild/android-arm64@0.18.20': + optional: true + + '@esbuild/android-arm64@0.21.4': + optional: true + + '@esbuild/android-arm@0.18.20': + optional: true + + '@esbuild/android-arm@0.21.4': + optional: true + + '@esbuild/android-x64@0.18.20': + optional: true + + '@esbuild/android-x64@0.21.4': + optional: true + + '@esbuild/darwin-arm64@0.18.20': + optional: true + + '@esbuild/darwin-arm64@0.21.4': + optional: true + + '@esbuild/darwin-x64@0.18.20': + optional: true + + '@esbuild/darwin-x64@0.21.4': + optional: true + + '@esbuild/freebsd-arm64@0.18.20': + optional: true + + '@esbuild/freebsd-arm64@0.21.4': + optional: true + + '@esbuild/freebsd-x64@0.18.20': + optional: true + + '@esbuild/freebsd-x64@0.21.4': + optional: true + + '@esbuild/linux-arm64@0.18.20': + optional: true + + '@esbuild/linux-arm64@0.21.4': + optional: true + + '@esbuild/linux-arm@0.18.20': + optional: true + + '@esbuild/linux-arm@0.21.4': + optional: true + + '@esbuild/linux-ia32@0.18.20': + optional: true + + '@esbuild/linux-ia32@0.21.4': + optional: true + + '@esbuild/linux-loong64@0.18.20': + optional: true + + '@esbuild/linux-loong64@0.21.4': + optional: true + + '@esbuild/linux-mips64el@0.18.20': + optional: true + + '@esbuild/linux-mips64el@0.21.4': + optional: true + + '@esbuild/linux-ppc64@0.18.20': + optional: true + + '@esbuild/linux-ppc64@0.21.4': + optional: true + + '@esbuild/linux-riscv64@0.18.20': + optional: true + + '@esbuild/linux-riscv64@0.21.4': + optional: true + + '@esbuild/linux-s390x@0.18.20': + optional: true + + '@esbuild/linux-s390x@0.21.4': + optional: true + + '@esbuild/linux-x64@0.18.20': + optional: true + + '@esbuild/linux-x64@0.21.4': + optional: true + + '@esbuild/netbsd-x64@0.18.20': + optional: true + + '@esbuild/netbsd-x64@0.21.4': + optional: true + + '@esbuild/openbsd-x64@0.18.20': + optional: true + + '@esbuild/openbsd-x64@0.21.4': + optional: true + + '@esbuild/sunos-x64@0.18.20': + optional: true + + '@esbuild/sunos-x64@0.21.4': + optional: true + + '@esbuild/win32-arm64@0.18.20': + optional: true + + '@esbuild/win32-arm64@0.21.4': + optional: true + + '@esbuild/win32-ia32@0.18.20': + optional: true + + '@esbuild/win32-ia32@0.21.4': + optional: true + + '@esbuild/win32-x64@0.18.20': + optional: true + + '@esbuild/win32-x64@0.21.4': + optional: true + + '@eslint-community/eslint-utils@4.9.1(eslint@8.35.0)': + dependencies: + eslint: 8.35.0 + eslint-visitor-keys: 3.4.3 + + '@eslint-community/regexpp@4.12.2': {} + + '@eslint/eslintrc@2.1.4': + dependencies: + ajv: 6.15.0 + debug: 4.4.3 + espree: 9.6.1 + globals: 13.24.0 + ignore: 5.3.2 + import-fresh: 3.3.1 + js-yaml: 4.1.1 + minimatch: 3.1.5 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + + '@eslint/js@8.35.0': {} + + '@exodus/schemasafe@1.3.0': {} + + '@floating-ui/core@0.6.2': {} + + '@floating-ui/dom@0.4.5': + dependencies: + '@floating-ui/core': 0.6.2 + + '@floating-ui/react-dom-interactions@0.3.1(@types/react@19.2.15)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@floating-ui/react-dom': 0.6.3(@types/react@19.2.15)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + aria-hidden: 1.2.6 + point-in-polygon: 1.1.0 + use-isomorphic-layout-effect: 1.2.1(@types/react@19.2.15)(react@18.3.1) + transitivePeerDependencies: + - '@types/react' + - react + - react-dom + + '@floating-ui/react-dom@0.6.3(@types/react@19.2.15)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@floating-ui/dom': 0.4.5 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + use-isomorphic-layout-effect: 1.2.1(@types/react@19.2.15)(react@18.3.1) + transitivePeerDependencies: + - '@types/react' + + '@formatjs/intl-displaynames@1.2.10': + dependencies: + '@formatjs/intl-utils': 2.3.0 + + '@formatjs/intl-listformat@1.4.8': + dependencies: + '@formatjs/intl-utils': 2.3.0 + + '@formatjs/intl-relativetimeformat@4.5.16': + dependencies: + '@formatjs/intl-utils': 2.3.0 + + '@formatjs/intl-unified-numberformat@3.3.7': + dependencies: + '@formatjs/intl-utils': 2.3.0 + + '@formatjs/intl-utils@2.3.0': {} + + '@hono/node-server@1.19.14(hono@4.12.23)': + dependencies: + hono: 4.12.23 + + '@hono/node-ws@1.3.1(@hono/node-server@1.19.14(hono@4.12.23))(hono@4.12.23)': + dependencies: + '@hono/node-server': 1.19.14(hono@4.12.23) + hono: 4.12.23 + ws: 8.21.0 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + '@humanwhocodes/config-array@0.11.14': + dependencies: + '@humanwhocodes/object-schema': 2.0.3 + debug: 4.4.3 + minimatch: 3.1.5 + transitivePeerDependencies: + - supports-color + + '@humanwhocodes/module-importer@1.0.1': {} + + '@humanwhocodes/object-schema@2.0.3': {} + + '@iconify/react@6.0.2(react@19.2.6)': + dependencies: + '@iconify/types': 2.0.0 + react: 19.2.6 + + '@iconify/types@2.0.0': {} + + '@iconify/utils@2.1.1': + dependencies: + '@antfu/install-pkg': 0.1.1 + '@antfu/utils': 0.7.10 + '@iconify/types': 2.0.0 + debug: 4.4.3 + kolorist: 1.8.0 + local-pkg: 0.4.3 + transitivePeerDependencies: + - supports-color + + '@iconify/utils@3.1.3': + dependencies: + '@antfu/install-pkg': 1.1.0 + '@iconify/types': 2.0.0 + import-meta-resolve: 4.2.0 + + '@isaacs/cliui@8.0.2': + dependencies: + string-width: 5.1.2 + string-width-cjs: string-width@4.2.3 + strip-ansi: 7.2.0 + strip-ansi-cjs: strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: wrap-ansi@7.0.0 + + '@istanbuljs/load-nyc-config@1.1.0': + dependencies: + camelcase: 5.3.1 + find-up: 4.1.0 + get-package-type: 0.1.0 + js-yaml: 3.14.2 + resolve-from: 5.0.0 + + '@istanbuljs/schema@0.1.6': {} + + '@jest/schemas@29.6.3': + dependencies: + '@sinclair/typebox': 0.27.10 + + '@jest/transform@29.7.0': + dependencies: + '@babel/core': 7.29.7 + '@jest/types': 29.6.3 + '@jridgewell/trace-mapping': 0.3.31 + babel-plugin-istanbul: 6.1.1 + chalk: 4.1.2 + convert-source-map: 2.0.0 + fast-json-stable-stringify: 2.1.0 + graceful-fs: 4.2.11 + jest-haste-map: 29.7.0 + jest-regex-util: 29.6.3 + jest-util: 29.7.0 + micromatch: 4.0.8 + pirates: 4.0.7 + slash: 3.0.0 + write-file-atomic: 4.0.2 + transitivePeerDependencies: + - supports-color + + '@jest/types@24.9.0': + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 1.1.2 + '@types/yargs': 13.0.12 + + '@jest/types@27.5.1': + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 25.9.1 + '@types/yargs': 16.0.11 + chalk: 4.1.2 + + '@jest/types@29.6.3': + dependencies: + '@jest/schemas': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 25.9.1 + '@types/yargs': 17.0.35 + chalk: 4.1.2 + + '@jridgewell/gen-mapping@0.3.13': + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/remapping@2.3.5': + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/source-map@0.3.11': + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/sourcemap-codec@1.5.5': {} + + '@jridgewell/trace-mapping@0.3.31': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.5 + + '@loadable/component@5.15.2(react@18.3.1)': + dependencies: + '@babel/runtime': 7.23.6 + hoist-non-react-statics: 3.3.2 + react: 18.3.1 + react-is: 16.13.1 + + '@loadable/component@5.15.2(react@19.2.6)': + dependencies: + '@babel/runtime': 7.23.6 + hoist-non-react-statics: 3.3.2 + react: 19.2.6 + react-is: 16.13.1 + + '@mermaid-js/parser@1.1.1': + dependencies: + '@chevrotain/types': 11.1.2 + + '@module-federation/error-codes@0.8.12': {} + + '@module-federation/runtime-core@0.6.20': + dependencies: + '@module-federation/error-codes': 0.8.12 + '@module-federation/sdk': 0.8.12 + + '@module-federation/runtime@0.8.12': + dependencies: + '@module-federation/error-codes': 0.8.12 + '@module-federation/runtime-core': 0.6.20 + '@module-federation/sdk': 0.8.12 + + '@module-federation/sdk@0.8.12': + dependencies: + isomorphic-rslog: 0.0.7 + + '@module-federation/webpack-bundler-runtime@0.8.12': + dependencies: + '@module-federation/runtime': 0.8.12 + '@module-federation/sdk': 0.8.12 + + '@napi-rs/nice-android-arm-eabi@1.1.1': + optional: true + + '@napi-rs/nice-android-arm64@1.1.1': + optional: true + + '@napi-rs/nice-darwin-arm64@1.1.1': + optional: true + + '@napi-rs/nice-darwin-x64@1.1.1': + optional: true + + '@napi-rs/nice-freebsd-x64@1.1.1': + optional: true + + '@napi-rs/nice-linux-arm-gnueabihf@1.1.1': + optional: true + + '@napi-rs/nice-linux-arm64-gnu@1.1.1': + optional: true + + '@napi-rs/nice-linux-arm64-musl@1.1.1': + optional: true + + '@napi-rs/nice-linux-ppc64-gnu@1.1.1': + optional: true + + '@napi-rs/nice-linux-riscv64-gnu@1.1.1': + optional: true + + '@napi-rs/nice-linux-s390x-gnu@1.1.1': + optional: true + + '@napi-rs/nice-linux-x64-gnu@1.1.1': + optional: true + + '@napi-rs/nice-linux-x64-musl@1.1.1': + optional: true + + '@napi-rs/nice-openharmony-arm64@1.1.1': + optional: true + + '@napi-rs/nice-win32-arm64-msvc@1.1.1': + optional: true + + '@napi-rs/nice-win32-ia32-msvc@1.1.1': + optional: true + + '@napi-rs/nice-win32-x64-msvc@1.1.1': + optional: true + + '@napi-rs/nice@1.1.1': + optionalDependencies: + '@napi-rs/nice-android-arm-eabi': 1.1.1 + '@napi-rs/nice-android-arm64': 1.1.1 + '@napi-rs/nice-darwin-arm64': 1.1.1 + '@napi-rs/nice-darwin-x64': 1.1.1 + '@napi-rs/nice-freebsd-x64': 1.1.1 + '@napi-rs/nice-linux-arm-gnueabihf': 1.1.1 + '@napi-rs/nice-linux-arm64-gnu': 1.1.1 + '@napi-rs/nice-linux-arm64-musl': 1.1.1 + '@napi-rs/nice-linux-ppc64-gnu': 1.1.1 + '@napi-rs/nice-linux-riscv64-gnu': 1.1.1 + '@napi-rs/nice-linux-s390x-gnu': 1.1.1 + '@napi-rs/nice-linux-x64-gnu': 1.1.1 + '@napi-rs/nice-linux-x64-musl': 1.1.1 + '@napi-rs/nice-openharmony-arm64': 1.1.1 + '@napi-rs/nice-win32-arm64-msvc': 1.1.1 + '@napi-rs/nice-win32-ia32-msvc': 1.1.1 + '@napi-rs/nice-win32-x64-msvc': 1.1.1 + optional: true + + '@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1': + dependencies: + eslint-scope: 5.1.1 + + '@nodelib/fs.scandir@2.1.5': + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.20.1 + + '@oxfmt/binding-android-arm-eabi@0.51.0': + optional: true + + '@oxfmt/binding-android-arm64@0.51.0': + optional: true + + '@oxfmt/binding-darwin-arm64@0.51.0': + optional: true + + '@oxfmt/binding-darwin-x64@0.51.0': + optional: true + + '@oxfmt/binding-freebsd-x64@0.51.0': + optional: true + + '@oxfmt/binding-linux-arm-gnueabihf@0.51.0': + optional: true + + '@oxfmt/binding-linux-arm-musleabihf@0.51.0': + optional: true + + '@oxfmt/binding-linux-arm64-gnu@0.51.0': + optional: true + + '@oxfmt/binding-linux-arm64-musl@0.51.0': + optional: true + + '@oxfmt/binding-linux-ppc64-gnu@0.51.0': + optional: true + + '@oxfmt/binding-linux-riscv64-gnu@0.51.0': + optional: true + + '@oxfmt/binding-linux-riscv64-musl@0.51.0': + optional: true + + '@oxfmt/binding-linux-s390x-gnu@0.51.0': + optional: true + + '@oxfmt/binding-linux-x64-gnu@0.51.0': + optional: true + + '@oxfmt/binding-linux-x64-musl@0.51.0': + optional: true + + '@oxfmt/binding-openharmony-arm64@0.51.0': + optional: true + + '@oxfmt/binding-win32-arm64-msvc@0.51.0': + optional: true + + '@oxfmt/binding-win32-ia32-msvc@0.51.0': + optional: true + + '@oxfmt/binding-win32-x64-msvc@0.51.0': + optional: true + + '@oxlint/binding-android-arm-eabi@1.67.0': + optional: true + + '@oxlint/binding-android-arm64@1.67.0': + optional: true + + '@oxlint/binding-darwin-arm64@1.67.0': + optional: true + + '@oxlint/binding-darwin-x64@1.67.0': + optional: true + + '@oxlint/binding-freebsd-x64@1.67.0': + optional: true + + '@oxlint/binding-linux-arm-gnueabihf@1.67.0': + optional: true + + '@oxlint/binding-linux-arm-musleabihf@1.67.0': + optional: true + + '@oxlint/binding-linux-arm64-gnu@1.67.0': + optional: true + + '@oxlint/binding-linux-arm64-musl@1.67.0': + optional: true + + '@oxlint/binding-linux-ppc64-gnu@1.67.0': + optional: true + + '@oxlint/binding-linux-riscv64-gnu@1.67.0': + optional: true + + '@oxlint/binding-linux-riscv64-musl@1.67.0': + optional: true + + '@oxlint/binding-linux-s390x-gnu@1.67.0': + optional: true + + '@oxlint/binding-linux-x64-gnu@1.67.0': + optional: true + + '@oxlint/binding-linux-x64-musl@1.67.0': + optional: true + + '@oxlint/binding-openharmony-arm64@1.67.0': + optional: true + + '@oxlint/binding-win32-arm64-msvc@1.67.0': + optional: true + + '@oxlint/binding-win32-ia32-msvc@1.67.0': + optional: true + + '@oxlint/binding-win32-x64-msvc@1.67.0': + optional: true + + '@pkgjs/parseargs@0.11.0': + optional: true + + '@pkgr/utils@2.4.2': + dependencies: + cross-spawn: 7.0.6 + fast-glob: 3.3.3 + is-glob: 4.0.3 + open: 9.1.0 + picocolors: 1.1.1 + tslib: 2.8.1 + + '@rc-component/async-validator@5.1.0': + dependencies: + '@babel/runtime': 7.29.7 + + '@rc-component/cascader@1.15.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@rc-component/select': 1.6.15(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/tree': 1.3.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/util': 1.11.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + clsx: 2.1.1 + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + '@rc-component/checkbox@2.0.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@rc-component/util': 1.11.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + clsx: 2.1.1 + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + '@rc-component/collapse@1.2.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@babel/runtime': 7.29.7 + '@rc-component/motion': 1.3.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/util': 1.11.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + clsx: 2.1.1 + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + '@rc-component/color-picker@3.1.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@ant-design/fast-color': 3.0.1 + '@rc-component/util': 1.11.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + clsx: 2.1.1 + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + '@rc-component/context@2.0.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@rc-component/util': 1.11.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + '@rc-component/dialog@1.9.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@rc-component/motion': 1.3.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/portal': 2.2.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/util': 1.11.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + clsx: 2.1.1 + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + '@rc-component/drawer@1.4.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@rc-component/motion': 1.3.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/portal': 2.2.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/util': 1.11.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + clsx: 2.1.1 + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + '@rc-component/dropdown@1.0.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@rc-component/trigger': 3.9.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/util': 1.11.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + clsx: 2.1.1 + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + '@rc-component/form@1.8.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@rc-component/async-validator': 5.1.0 + '@rc-component/util': 1.11.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + clsx: 2.1.1 + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + '@rc-component/image@1.9.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@rc-component/motion': 1.3.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/portal': 2.2.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/util': 1.11.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + clsx: 2.1.1 + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + '@rc-component/input-number@1.6.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@rc-component/mini-decimal': 1.1.3 + '@rc-component/util': 1.11.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + clsx: 2.1.1 + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + '@rc-component/input@1.3.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@rc-component/resize-observer': 1.1.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/util': 1.11.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + clsx: 2.1.1 + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + '@rc-component/mentions@1.9.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@rc-component/input': 1.3.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/menu': 1.3.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/trigger': 3.9.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/util': 1.11.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + clsx: 2.1.1 + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + '@rc-component/menu@1.3.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@rc-component/motion': 1.3.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/overflow': 1.0.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/trigger': 3.9.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/util': 1.11.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + clsx: 2.1.1 + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + '@rc-component/mini-decimal@1.1.3': + dependencies: + '@babel/runtime': 7.29.7 + + '@rc-component/motion@1.3.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@rc-component/util': 1.11.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + clsx: 2.1.1 + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + '@rc-component/mutate-observer@2.0.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@rc-component/util': 1.11.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + '@rc-component/notification@2.0.7(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@rc-component/motion': 1.3.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/util': 1.11.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + clsx: 2.1.1 + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + '@rc-component/overflow@1.0.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@babel/runtime': 7.29.7 + '@rc-component/resize-observer': 1.1.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/util': 1.11.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + clsx: 2.1.1 + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + '@rc-component/pagination@1.2.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@rc-component/util': 1.11.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + clsx: 2.1.1 + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + '@rc-component/picker@1.10.0(date-fns@2.30.0)(dayjs@1.11.21)(moment@2.30.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@rc-component/overflow': 1.0.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/resize-observer': 1.1.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/trigger': 3.9.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/util': 1.11.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + clsx: 2.1.1 + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + optionalDependencies: + date-fns: 2.30.0 + dayjs: 1.11.21 + moment: 2.30.1 + + '@rc-component/portal@1.1.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@babel/runtime': 7.29.7 + classnames: 2.5.1 + rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + '@rc-component/portal@2.2.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@rc-component/util': 1.11.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + clsx: 2.1.1 + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + '@rc-component/progress@1.0.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@rc-component/util': 1.11.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + clsx: 2.1.1 + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + '@rc-component/qrcode@1.1.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@babel/runtime': 7.29.7 + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + '@rc-component/rate@1.0.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@rc-component/util': 1.11.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + clsx: 2.1.1 + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + '@rc-component/resize-observer@1.1.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@rc-component/util': 1.11.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + '@rc-component/segmented@1.3.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@babel/runtime': 7.29.7 + '@rc-component/motion': 1.3.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/util': 1.11.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + clsx: 2.1.1 + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + '@rc-component/select@1.6.15(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@rc-component/overflow': 1.0.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/trigger': 3.9.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/util': 1.11.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/virtual-list': 1.2.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + clsx: 2.1.1 + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + '@rc-component/slider@1.0.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@rc-component/util': 1.11.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + clsx: 2.1.1 + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + '@rc-component/steps@1.2.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@rc-component/util': 1.11.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + clsx: 2.1.1 + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + '@rc-component/switch@1.0.3(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@rc-component/util': 1.11.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + clsx: 2.1.1 + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + '@rc-component/table@1.10.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@rc-component/context': 2.0.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/resize-observer': 1.1.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/util': 1.11.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/virtual-list': 1.2.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + clsx: 2.1.1 + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + '@rc-component/tabs@1.9.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@rc-component/dropdown': 1.0.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/menu': 1.3.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/motion': 1.3.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/resize-observer': 1.1.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/util': 1.11.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + clsx: 2.1.1 + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + '@rc-component/tooltip@1.4.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@rc-component/trigger': 3.9.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/util': 1.11.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + clsx: 2.1.1 + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + '@rc-component/tour@2.4.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@rc-component/portal': 2.2.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/trigger': 3.9.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/util': 1.11.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + clsx: 2.1.1 + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + '@rc-component/tree-select@1.9.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@rc-component/select': 1.6.15(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/tree': 1.3.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/util': 1.11.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + clsx: 2.1.1 + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + '@rc-component/tree@1.3.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@rc-component/motion': 1.3.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/util': 1.11.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/virtual-list': 1.2.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + clsx: 2.1.1 + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + '@rc-component/trigger@3.9.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@rc-component/motion': 1.3.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/portal': 2.2.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/resize-observer': 1.1.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/util': 1.11.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + clsx: 2.1.1 + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + '@rc-component/upload@1.1.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@rc-component/util': 1.11.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + clsx: 2.1.1 + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + '@rc-component/util@1.11.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + is-mobile: 5.0.0 + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + react-is: 18.3.1 + + '@rc-component/virtual-list@1.2.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@babel/runtime': 7.29.7 + '@rc-component/resize-observer': 1.1.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/util': 1.11.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + clsx: 2.1.1 + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + '@sinclair/typebox@0.27.10': {} + + '@stagewise/toolbar@0.6.2': {} + + '@stylelint/postcss-css-in-js@0.38.0(postcss-syntax@0.36.2(postcss@8.5.15))(postcss@8.5.15)': + dependencies: + '@babel/core': 7.23.6 + postcss: 8.5.15 + postcss-syntax: 0.36.2(postcss@8.5.15) + transitivePeerDependencies: + - supports-color + + '@svgr/babel-plugin-add-jsx-attribute@6.5.1(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + + '@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + + '@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + + '@svgr/babel-plugin-replace-jsx-attribute-value@6.5.1(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + + '@svgr/babel-plugin-svg-dynamic-title@6.5.1(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + + '@svgr/babel-plugin-svg-em-dimensions@6.5.1(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + + '@svgr/babel-plugin-transform-react-native-svg@6.5.1(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + + '@svgr/babel-plugin-transform-svg-component@6.5.1(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + + '@svgr/babel-preset@6.5.1(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@svgr/babel-plugin-add-jsx-attribute': 6.5.1(@babel/core@7.29.7) + '@svgr/babel-plugin-remove-jsx-attribute': 8.0.0(@babel/core@7.29.7) + '@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0(@babel/core@7.29.7) + '@svgr/babel-plugin-replace-jsx-attribute-value': 6.5.1(@babel/core@7.29.7) + '@svgr/babel-plugin-svg-dynamic-title': 6.5.1(@babel/core@7.29.7) + '@svgr/babel-plugin-svg-em-dimensions': 6.5.1(@babel/core@7.29.7) + '@svgr/babel-plugin-transform-react-native-svg': 6.5.1(@babel/core@7.29.7) + '@svgr/babel-plugin-transform-svg-component': 6.5.1(@babel/core@7.29.7) + + '@svgr/core@6.5.1': + dependencies: + '@babel/core': 7.29.7 + '@svgr/babel-preset': 6.5.1(@babel/core@7.29.7) + '@svgr/plugin-jsx': 6.5.1(@svgr/core@6.5.1) + camelcase: 6.3.0 + cosmiconfig: 7.1.0 + transitivePeerDependencies: + - supports-color + + '@svgr/hast-util-to-babel-ast@6.5.1': + dependencies: + '@babel/types': 7.29.7 + entities: 4.5.0 + + '@svgr/plugin-jsx@6.5.1(@svgr/core@6.5.1)': + dependencies: + '@babel/core': 7.29.7 + '@svgr/babel-preset': 6.5.1(@babel/core@7.29.7) + '@svgr/core': 6.5.1 + '@svgr/hast-util-to-babel-ast': 6.5.1 + svg-parser: 2.0.4 + transitivePeerDependencies: + - supports-color + + '@svgr/plugin-svgo@6.5.1(@svgr/core@6.5.1)': + dependencies: + '@svgr/core': 6.5.1 + cosmiconfig: 7.1.0 + deepmerge: 4.3.1 + svgo: 2.8.2 + + '@swc/helpers@0.5.1': + dependencies: + tslib: 2.8.1 + + '@swc/helpers@0.5.15': + dependencies: + tslib: 2.8.1 + + '@tanstack/match-sorter-utils@8.19.4': + dependencies: + remove-accents: 0.5.0 + + '@tanstack/query-core@4.44.0': {} + + '@tanstack/query-core@5.100.14': {} + + '@tanstack/react-query-devtools@4.44.0(@tanstack/react-query@4.44.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@tanstack/match-sorter-utils': 8.19.4 + '@tanstack/react-query': 4.44.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + superjson: 1.13.3 + use-sync-external-store: 1.6.0(react@19.2.6) + + '@tanstack/react-query@4.44.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@tanstack/query-core': 4.44.0 + react: 19.2.6 + use-sync-external-store: 1.6.0(react@19.2.6) + optionalDependencies: + react-dom: 19.2.6(react@19.2.6) + + '@tanstack/react-query@5.100.14(react@19.2.6)': + dependencies: + '@tanstack/query-core': 5.100.14 + react: 19.2.6 + + '@transloadit/prettier-bytes@0.3.5': {} + + '@types/babel__core@7.20.5': + dependencies: + '@babel/parser': 7.29.7 + '@babel/types': 7.29.7 + '@types/babel__generator': 7.27.0 + '@types/babel__template': 7.4.4 + '@types/babel__traverse': 7.28.0 + + '@types/babel__generator@7.27.0': + dependencies: + '@babel/types': 7.29.7 + + '@types/babel__template@7.4.4': + dependencies: + '@babel/parser': 7.29.7 + '@babel/types': 7.29.7 + + '@types/babel__traverse@7.28.0': + dependencies: + '@babel/types': 7.29.7 + + '@types/crypto-js@4.2.2': {} + + '@types/d3-array@3.2.2': {} + + '@types/d3-axis@3.0.6': + dependencies: + '@types/d3-selection': 3.0.11 + + '@types/d3-brush@3.0.6': + dependencies: + '@types/d3-selection': 3.0.11 + + '@types/d3-chord@3.0.6': {} + + '@types/d3-color@3.1.3': {} + + '@types/d3-contour@3.0.6': + dependencies: + '@types/d3-array': 3.2.2 + '@types/geojson': 7946.0.16 + + '@types/d3-delaunay@6.0.4': {} + + '@types/d3-dispatch@3.0.7': {} + + '@types/d3-drag@3.0.7': + dependencies: + '@types/d3-selection': 3.0.11 + + '@types/d3-dsv@3.0.7': {} + + '@types/d3-ease@3.0.2': {} + + '@types/d3-fetch@3.0.7': + dependencies: + '@types/d3-dsv': 3.0.7 + + '@types/d3-force@3.0.10': {} + + '@types/d3-format@3.0.4': {} + + '@types/d3-geo@3.1.0': + dependencies: + '@types/geojson': 7946.0.16 + + '@types/d3-hierarchy@3.1.7': {} + + '@types/d3-interpolate@3.0.4': + dependencies: + '@types/d3-color': 3.1.3 + + '@types/d3-path@3.1.1': {} + + '@types/d3-polygon@3.0.2': {} + + '@types/d3-quadtree@3.0.6': {} + + '@types/d3-random@3.0.3': {} + + '@types/d3-scale-chromatic@3.1.0': {} + + '@types/d3-scale@4.0.9': + dependencies: + '@types/d3-time': 3.0.4 + + '@types/d3-selection@3.0.11': {} + + '@types/d3-shape@3.1.8': + dependencies: + '@types/d3-path': 3.1.1 + + '@types/d3-time-format@4.0.3': {} + + '@types/d3-time@3.0.4': {} + + '@types/d3-timer@3.0.2': {} + + '@types/d3-transition@3.0.9': + dependencies: + '@types/d3-selection': 3.0.11 + + '@types/d3-zoom@3.0.8': + dependencies: + '@types/d3-interpolate': 3.0.4 + '@types/d3-selection': 3.0.11 + + '@types/d3@7.4.3': + dependencies: + '@types/d3-array': 3.2.2 + '@types/d3-axis': 3.0.6 + '@types/d3-brush': 3.0.6 + '@types/d3-chord': 3.0.6 + '@types/d3-color': 3.1.3 + '@types/d3-contour': 3.0.6 + '@types/d3-delaunay': 6.0.4 + '@types/d3-dispatch': 3.0.7 + '@types/d3-drag': 3.0.7 + '@types/d3-dsv': 3.0.7 + '@types/d3-ease': 3.0.2 + '@types/d3-fetch': 3.0.7 + '@types/d3-force': 3.0.10 + '@types/d3-format': 3.0.4 + '@types/d3-geo': 3.1.0 + '@types/d3-hierarchy': 3.1.7 + '@types/d3-interpolate': 3.0.4 + '@types/d3-path': 3.1.1 + '@types/d3-polygon': 3.0.2 + '@types/d3-quadtree': 3.0.6 + '@types/d3-random': 3.0.3 + '@types/d3-scale': 4.0.9 + '@types/d3-scale-chromatic': 3.1.0 + '@types/d3-selection': 3.0.11 + '@types/d3-shape': 3.1.8 + '@types/d3-time': 3.0.4 + '@types/d3-time-format': 4.0.3 + '@types/d3-timer': 3.0.2 + '@types/d3-transition': 3.0.9 + '@types/d3-zoom': 3.0.8 + + '@types/estree@1.0.9': {} + + '@types/event-emitter@0.3.5': {} + + '@types/geojson@7946.0.16': {} + + '@types/graceful-fs@4.1.9': + dependencies: + '@types/node': 25.9.1 + + '@types/hapi__joi@17.1.9': {} + + '@types/hast@3.0.4': + dependencies: + '@types/unist': 3.0.3 + + '@types/history@4.7.11': {} + + '@types/history@5.0.0': + dependencies: + history: 5.3.0 + + '@types/hoist-non-react-statics@3.3.7(@types/react@19.2.15)': + dependencies: + '@types/react': 19.2.15 + hoist-non-react-statics: 3.3.2 + + '@types/html-minifier-terser@6.1.0': {} + + '@types/invariant@2.2.37': {} + + '@types/isomorphic-fetch@0.0.34': {} + + '@types/istanbul-lib-coverage@2.0.6': {} + + '@types/istanbul-lib-report@3.0.3': + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + + '@types/istanbul-reports@1.1.2': + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-lib-report': 3.0.3 + + '@types/istanbul-reports@3.0.4': + dependencies: + '@types/istanbul-lib-report': 3.0.3 + + '@types/js-cookie@3.0.6': {} + + '@types/json-schema@7.0.15': {} + + '@types/minimist@1.2.5': {} + + '@types/node@25.9.1': + dependencies: + undici-types: 7.24.6 + + '@types/normalize-package-data@2.4.4': {} + + '@types/nprogress@0.2.3': {} + + '@types/parse-json@4.0.2': {} + + '@types/prismjs@1.26.6': {} + + '@types/react-dom@19.2.3(@types/react@19.2.15)': + dependencies: + '@types/react': 19.2.15 + + '@types/react-router-dom@4.3.5': + dependencies: + '@types/history': 5.0.0 + '@types/react': 19.2.15 + '@types/react-router': 5.1.20 + + '@types/react-router-redux@5.0.27': + dependencies: + '@types/history': 4.7.11 + '@types/react': 19.2.15 + '@types/react-router': 5.1.20 + redux: 4.2.1 + + '@types/react-router@5.1.20': + dependencies: + '@types/history': 4.7.11 + '@types/react': 19.2.15 + + '@types/react-syntax-highlighter@15.5.13': + dependencies: + '@types/react': 19.2.15 + + '@types/react@19.2.15': + dependencies: + csstype: 3.2.3 + + '@types/resolve@1.20.6': {} + + '@types/retry@0.12.2': {} + + '@types/semver@7.7.1': {} + + '@types/stylis@4.2.7': {} + + '@types/trusted-types@2.0.7': + optional: true + + '@types/unist@2.0.11': {} + + '@types/unist@3.0.3': {} + + '@types/use-sync-external-store@0.0.3': {} + + '@types/yargs-parser@21.0.3': {} + + '@types/yargs@13.0.12': + dependencies: + '@types/yargs-parser': 21.0.3 + + '@types/yargs@16.0.11': + dependencies: + '@types/yargs-parser': 21.0.3 + + '@types/yargs@17.0.35': + dependencies: + '@types/yargs-parser': 21.0.3 + + '@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.35.0)(typescript@6.0.3))(eslint@8.35.0)(typescript@6.0.3)': + dependencies: + '@eslint-community/regexpp': 4.12.2 + '@typescript-eslint/parser': 5.62.0(eslint@8.35.0)(typescript@6.0.3) + '@typescript-eslint/scope-manager': 5.62.0 + '@typescript-eslint/type-utils': 5.62.0(eslint@8.35.0)(typescript@6.0.3) + '@typescript-eslint/utils': 5.62.0(eslint@8.35.0)(typescript@6.0.3) + debug: 4.4.3 + eslint: 8.35.0 + graphemer: 1.4.0 + ignore: 5.3.2 + natural-compare-lite: 1.4.0 + semver: 7.8.1 + tsutils: 3.21.0(typescript@6.0.3) + optionalDependencies: + typescript: 6.0.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/parser@5.62.0(eslint@8.35.0)(typescript@6.0.3)': + dependencies: + '@typescript-eslint/scope-manager': 5.62.0 + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/typescript-estree': 5.62.0(typescript@6.0.3) + debug: 4.4.3 + eslint: 8.35.0 + optionalDependencies: + typescript: 6.0.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/scope-manager@5.62.0': + dependencies: + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/visitor-keys': 5.62.0 + + '@typescript-eslint/type-utils@5.62.0(eslint@8.35.0)(typescript@6.0.3)': + dependencies: + '@typescript-eslint/typescript-estree': 5.62.0(typescript@6.0.3) + '@typescript-eslint/utils': 5.62.0(eslint@8.35.0)(typescript@6.0.3) + debug: 4.4.3 + eslint: 8.35.0 + tsutils: 3.21.0(typescript@6.0.3) + optionalDependencies: + typescript: 6.0.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/types@5.62.0': {} + + '@typescript-eslint/typescript-estree@5.62.0(typescript@6.0.3)': + dependencies: + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/visitor-keys': 5.62.0 + debug: 4.4.3 + globby: 11.1.0 + is-glob: 4.0.3 + semver: 7.8.1 + tsutils: 3.21.0(typescript@6.0.3) + optionalDependencies: + typescript: 6.0.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/utils@5.62.0(eslint@8.35.0)(typescript@6.0.3)': + dependencies: + '@eslint-community/eslint-utils': 4.9.1(eslint@8.35.0) + '@types/json-schema': 7.0.15 + '@types/semver': 7.7.1 + '@typescript-eslint/scope-manager': 5.62.0 + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/typescript-estree': 5.62.0(typescript@6.0.3) + eslint: 8.35.0 + eslint-scope: 5.1.1 + semver: 7.8.1 + transitivePeerDependencies: + - supports-color + - typescript + + '@typescript-eslint/visitor-keys@5.62.0': + dependencies: + '@typescript-eslint/types': 5.62.0 + eslint-visitor-keys: 3.4.3 + + '@umijs/ast@4.6.57': + dependencies: + '@umijs/bundler-utils': 4.6.57 + transitivePeerDependencies: + - supports-color + + '@umijs/babel-preset-umi@4.6.57': + dependencies: + '@babel/runtime': 7.23.6 + '@bloomberg/record-tuple-polyfill': 0.0.4 + '@umijs/bundler-utils': 4.6.57 + '@umijs/utils': 4.6.57 + core-js: 3.34.0 + transitivePeerDependencies: + - supports-color + + '@umijs/bundler-esbuild@4.6.57': + dependencies: + '@umijs/bundler-utils': 4.6.57 + '@umijs/utils': 4.6.57 + enhanced-resolve: 5.9.3 + postcss: 8.5.15 + postcss-flexbugs-fixes: 5.0.2(postcss@8.5.15) + postcss-preset-env: 7.5.0(postcss@8.5.15) + transitivePeerDependencies: + - supports-color + + '@umijs/bundler-mako@0.11.10(postcss@8.5.15)(sass@1.54.0)(typescript@6.0.3)(webpack@5.107.2(lightningcss@1.22.1)(postcss@8.5.15))': + dependencies: + '@umijs/bundler-utils': 4.6.57 + '@umijs/mako': 0.11.10(postcss@8.5.15)(sass@1.54.0)(typescript@6.0.3)(webpack@5.107.2(lightningcss@1.22.1)(postcss@8.5.15)) + chalk: 4.1.2 + compression: 1.8.1 + connect-history-api-fallback: 2.0.0 + cors: 2.8.6 + express: 4.22.2 + express-http-proxy: 2.1.2 + get-tsconfig: 4.7.5 + lodash: 4.18.1 + rimraf: 5.0.1 + webpack-5-chain: 8.0.1 + transitivePeerDependencies: + - '@rspack/core' + - node-sass + - postcss + - sass + - sass-embedded + - supports-color + - typescript + - webpack + + '@umijs/bundler-utils@4.6.57': + dependencies: + '@umijs/utils': 4.6.57 + esbuild: 0.21.4 + regenerate: 1.4.2 + regenerate-unicode-properties: 10.1.1 + spdy: 4.0.2 + transitivePeerDependencies: + - supports-color + + '@umijs/bundler-utoopack@4.6.57(styled-jsx@5.1.7(@babel/core@7.29.7)(react@19.2.6))(type-fest@0.20.2)(typescript@6.0.3)(webpack@5.107.2(lightningcss@1.22.1)(postcss@8.5.15))': + dependencies: + '@umijs/bundler-utils': 4.6.57 + '@umijs/bundler-webpack': 4.6.57(type-fest@0.20.2)(typescript@6.0.3)(webpack@5.107.2(lightningcss@1.22.1)(postcss@8.5.15)) + '@utoo/pack': 1.4.8(less-loader@11.1.0(less@4.1.3)(webpack@5.107.2(lightningcss@1.22.1)(postcss@8.5.15)))(less@4.1.3)(postcss@8.5.15)(resolve-url-loader@5.0.0)(sass-loader@13.2.0(sass@1.54.0)(webpack@5.107.2(lightningcss@1.22.1)(postcss@8.5.15)))(sass@1.54.0)(styled-jsx@5.1.7(@babel/core@7.29.7)(react@19.2.6)) + compression: 1.8.1 + connect-history-api-fallback: 2.0.0 + cors: 2.8.6 + express: 4.22.2 + express-http-proxy: 2.1.2 + less: 4.1.3 + less-loader: 11.1.0(less@4.1.3)(webpack@5.107.2(lightningcss@1.22.1)(postcss@8.5.15)) + postcss: 8.5.15 + resolve-url-loader: 5.0.0 + sass: 1.54.0 + sass-loader: 13.2.0(sass@1.54.0)(webpack@5.107.2(lightningcss@1.22.1)(postcss@8.5.15)) + transitivePeerDependencies: + - '@types/webpack' + - bufferutil + - fibers + - node-sass + - sass-embedded + - sockjs-client + - styled-jsx + - supports-color + - type-fest + - typescript + - utf-8-validate + - webpack + - webpack-dev-server + - webpack-hot-middleware + - webpack-plugin-serve + + '@umijs/bundler-vite@4.6.57(@types/node@25.9.1)(lightningcss@1.22.1)(postcss@8.5.15)(rollup@3.30.0)(sass@1.54.0)(terser@5.48.0)': + dependencies: + '@svgr/core': 6.5.1 + '@umijs/bundler-utils': 4.6.57 + '@umijs/utils': 4.6.57 + '@vitejs/plugin-react': 4.0.0(vite@4.5.2(@types/node@25.9.1)(less@4.1.3)(lightningcss@1.22.1)(sass@1.54.0)(terser@5.48.0)) + core-js: 3.34.0 + less: 4.1.3 + postcss-preset-env: 7.5.0(postcss@8.5.15) + rollup-plugin-visualizer: 5.9.0(rollup@3.30.0) + systemjs: 6.15.1 + vite: 4.5.2(@types/node@25.9.1)(less@4.1.3)(lightningcss@1.22.1)(sass@1.54.0)(terser@5.48.0) + transitivePeerDependencies: + - '@types/node' + - lightningcss + - postcss + - rollup + - sass + - stylus + - sugarss + - supports-color + - terser + + '@umijs/bundler-webpack@4.6.57(type-fest@0.20.2)(typescript@6.0.3)(webpack@5.107.2(lightningcss@1.22.1)(postcss@8.5.15))': + dependencies: + '@svgr/core': 6.5.1 + '@svgr/plugin-jsx': 6.5.1(@svgr/core@6.5.1) + '@svgr/plugin-svgo': 6.5.1(@svgr/core@6.5.1) + '@types/hapi__joi': 17.1.9 + '@umijs/babel-preset-umi': 4.6.57 + '@umijs/bundler-utils': 4.6.57 + '@umijs/case-sensitive-paths-webpack-plugin': 1.0.1 + '@umijs/mfsu': 4.6.57 + '@umijs/react-refresh-webpack-plugin': 0.5.11(react-refresh@0.14.0)(type-fest@0.20.2)(webpack@5.107.2(lightningcss@1.22.1)(postcss@8.5.15)) + '@umijs/utils': 4.6.57 + cors: 2.8.6 + css-loader: 6.7.1(webpack@5.107.2(lightningcss@1.22.1)(postcss@8.5.15)) + es5-imcompatible-versions: 0.1.90 + fork-ts-checker-webpack-plugin: 8.0.0(typescript@6.0.3)(webpack@5.107.2(lightningcss@1.22.1)(postcss@8.5.15)) + jest-worker: 29.4.3 + lightningcss: 1.22.1 + node-libs-browser: 2.2.1 + postcss: 8.5.15 + postcss-preset-env: 7.5.0(postcss@8.5.15) + react-error-overlay: 6.0.9 + react-refresh: 0.14.0 + transitivePeerDependencies: + - '@types/webpack' + - sockjs-client + - supports-color + - type-fest + - typescript + - webpack + - webpack-dev-server + - webpack-hot-middleware + - webpack-plugin-serve + + '@umijs/case-sensitive-paths-webpack-plugin@1.0.1': {} + + '@umijs/core@4.6.57': + dependencies: + '@umijs/bundler-utils': 4.6.57 + '@umijs/utils': 4.6.57 + transitivePeerDependencies: + - supports-color + + '@umijs/did-you-know@1.0.4': {} + + '@umijs/es-module-parser-darwin-arm64@0.0.7': + optional: true + + '@umijs/es-module-parser-darwin-x64@0.0.7': + optional: true + + '@umijs/es-module-parser-linux-arm-gnueabihf@0.0.7': + optional: true + + '@umijs/es-module-parser-linux-arm64-gnu@0.0.7': + optional: true + + '@umijs/es-module-parser-linux-arm64-musl@0.0.7': + optional: true + + '@umijs/es-module-parser-linux-x64-gnu@0.0.7': + optional: true + + '@umijs/es-module-parser-linux-x64-musl@0.0.7': + optional: true + + '@umijs/es-module-parser-win32-arm64-msvc@0.0.7': + optional: true + + '@umijs/es-module-parser-win32-x64-msvc@0.0.7': + optional: true + + '@umijs/es-module-parser@0.0.7': + optionalDependencies: + '@umijs/es-module-parser-darwin-arm64': 0.0.7 + '@umijs/es-module-parser-darwin-x64': 0.0.7 + '@umijs/es-module-parser-linux-arm-gnueabihf': 0.0.7 + '@umijs/es-module-parser-linux-arm64-gnu': 0.0.7 + '@umijs/es-module-parser-linux-arm64-musl': 0.0.7 + '@umijs/es-module-parser-linux-x64-gnu': 0.0.7 + '@umijs/es-module-parser-linux-x64-musl': 0.0.7 + '@umijs/es-module-parser-win32-arm64-msvc': 0.0.7 + '@umijs/es-module-parser-win32-x64-msvc': 0.0.7 + + '@umijs/history@5.3.1': + dependencies: + '@babel/runtime': 7.23.6 + query-string: 6.14.1 + + '@umijs/lint@4.6.57(eslint@8.35.0)(stylelint@14.8.2)(typescript@6.0.3)': + dependencies: + '@babel/core': 7.23.6 + '@babel/eslint-parser': 7.23.3(@babel/core@7.23.6)(eslint@8.35.0) + '@stylelint/postcss-css-in-js': 0.38.0(postcss-syntax@0.36.2(postcss@8.5.15))(postcss@8.5.15) + '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.35.0)(typescript@6.0.3))(eslint@8.35.0)(typescript@6.0.3) + '@typescript-eslint/parser': 5.62.0(eslint@8.35.0)(typescript@6.0.3) + '@umijs/babel-preset-umi': 4.6.57 + eslint-plugin-jest: 27.2.3(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.35.0)(typescript@6.0.3))(eslint@8.35.0)(typescript@6.0.3))(eslint@8.35.0)(typescript@6.0.3) + eslint-plugin-react: 7.33.2(eslint@8.35.0) + eslint-plugin-react-hooks: 4.6.0(eslint@8.35.0) + postcss: 8.5.15 + postcss-syntax: 0.36.2(postcss@8.5.15) + stylelint-config-standard: 25.0.0(stylelint@14.8.2) + transitivePeerDependencies: + - eslint + - jest + - postcss-html + - postcss-jsx + - postcss-less + - postcss-markdown + - postcss-scss + - stylelint + - supports-color + - typescript + + '@umijs/mako-darwin-arm64@0.11.10': + optional: true + + '@umijs/mako-darwin-x64@0.11.10': + optional: true + + '@umijs/mako-linux-arm64-gnu@0.11.10': + optional: true + + '@umijs/mako-linux-arm64-musl@0.11.10': + optional: true + + '@umijs/mako-linux-x64-gnu@0.11.10': + optional: true + + '@umijs/mako-linux-x64-musl@0.11.10': + optional: true + + '@umijs/mako-win32-ia32-msvc@0.11.10': + optional: true + + '@umijs/mako-win32-x64-msvc@0.11.10': + optional: true + + '@umijs/mako@0.11.10(postcss@8.5.15)(sass@1.54.0)(typescript@6.0.3)(webpack@5.107.2(lightningcss@1.22.1)(postcss@8.5.15))': + dependencies: + '@module-federation/webpack-bundler-runtime': 0.8.12 + '@swc/helpers': 0.5.1 + '@types/resolve': 1.20.6 + chalk: 4.1.2 + enhanced-resolve: 5.22.0 + less: 4.6.4 + less-loader: 12.3.3(less@4.6.4)(webpack@5.107.2(lightningcss@1.22.1)(postcss@8.5.15)) + loader-runner: 4.3.2 + loader-utils: 3.3.1 + lodash: 4.18.1 + node-libs-browser-okam: 2.2.5 + piscina: 4.9.2 + postcss-loader: 8.2.1(postcss@8.5.15)(typescript@6.0.3)(webpack@5.107.2(lightningcss@1.22.1)(postcss@8.5.15)) + react-error-overlay: 6.0.9 + react-refresh: 0.14.2 + resolve: 1.22.12 + sass-loader: 16.0.8(sass@1.54.0)(webpack@5.107.2(lightningcss@1.22.1)(postcss@8.5.15)) + semver: 7.8.1 + yargs-parser: 21.1.1 + optionalDependencies: + '@umijs/mako-darwin-arm64': 0.11.10 + '@umijs/mako-darwin-x64': 0.11.10 + '@umijs/mako-linux-arm64-gnu': 0.11.10 + '@umijs/mako-linux-arm64-musl': 0.11.10 + '@umijs/mako-linux-x64-gnu': 0.11.10 + '@umijs/mako-linux-x64-musl': 0.11.10 + '@umijs/mako-win32-ia32-msvc': 0.11.10 + '@umijs/mako-win32-x64-msvc': 0.11.10 + transitivePeerDependencies: + - '@rspack/core' + - node-sass + - postcss + - sass + - sass-embedded + - typescript + - webpack + + '@umijs/max-plugin-openapi@2.0.3(chokidar@3.6.0)(encoding@0.1.13)(typescript@6.0.3)': + dependencies: + '@umijs/openapi': 1.14.1(chokidar@3.6.0)(encoding@0.1.13)(typescript@6.0.3) + rimraf: 4.4.1 + serve-static: 1.16.3 + swagger-ui-dist: 4.19.1 + transitivePeerDependencies: + - chokidar + - encoding + - supports-color + - typescript + + '@umijs/max@4.6.57(@babel/core@7.29.7)(@types/node@25.9.1)(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(dva@2.5.0-beta.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(lightningcss@1.22.1)(prettier@2.8.8)(rc-field-form@1.38.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(rollup@3.30.0)(sass@1.54.0)(styled-jsx@5.1.7(@babel/core@7.29.7)(react@19.2.6))(terser@5.48.0)(type-fest@0.20.2)(typescript@6.0.3)(webpack@5.107.2(lightningcss@1.22.1)(postcss@8.5.15))': + dependencies: + '@umijs/lint': 4.6.57(eslint@8.35.0)(stylelint@14.8.2)(typescript@6.0.3) + '@umijs/plugins': 4.6.57(@babel/core@7.29.7)(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(antd@4.24.16(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(dva@2.5.0-beta.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(rc-field-form@1.38.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + antd: 4.24.16(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + eslint: 8.35.0 + stylelint: 14.8.2 + umi: 4.6.57(@babel/core@7.29.7)(@types/node@25.9.1)(@types/react@19.2.15)(eslint@8.35.0)(lightningcss@1.22.1)(prettier@2.8.8)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(rollup@3.30.0)(sass@1.54.0)(styled-jsx@5.1.7(@babel/core@7.29.7)(react@19.2.6))(stylelint@14.8.2)(terser@5.48.0)(type-fest@0.20.2)(typescript@6.0.3)(webpack@5.107.2(lightningcss@1.22.1)(postcss@8.5.15)) + transitivePeerDependencies: + - '@babel/core' + - '@rspack/core' + - '@types/node' + - '@types/react' + - '@types/react-dom' + - '@types/webpack' + - '@volar/vue-language-plugin-pug' + - '@volar/vue-typescript' + - bufferutil + - debug + - dva + - fibers + - jest + - lightningcss + - node-sass + - postcss-html + - postcss-jsx + - postcss-less + - postcss-markdown + - postcss-scss + - prettier + - rc-field-form + - react + - react-dom + - react-native + - rollup + - sass + - sass-embedded + - sockjs-client + - styled-jsx + - stylus + - sugarss + - supports-color + - terser + - type-fest + - typescript + - utf-8-validate + - webpack + - webpack-dev-server + - webpack-hot-middleware + - webpack-plugin-serve + + '@umijs/mfsu@4.6.57': + dependencies: + '@umijs/bundler-esbuild': 4.6.57 + '@umijs/bundler-utils': 4.6.57 + '@umijs/utils': 4.6.57 + enhanced-resolve: 5.9.3 + is-equal: 1.7.0 + transitivePeerDependencies: + - supports-color + + '@umijs/openapi@1.14.1(chokidar@3.6.0)(encoding@0.1.13)(typescript@6.0.3)': + dependencies: + chalk: 4.1.2 + cosmiconfig: 9.0.1(typescript@6.0.3) + dayjs: 1.11.21 + glob: 7.2.3 + lodash: 4.18.1 + memoizee: 0.4.17 + mock.js: 0.2.0 + mockjs: 1.1.0 + node-fetch: 2.7.0(encoding@0.1.13) + number-to-words: 1.2.4 + nunjucks: 3.2.4(chokidar@3.6.0) + openapi3-ts: 2.0.2 + prettier: 2.8.8 + reserved-words: 0.1.2 + rimraf: 3.0.2 + swagger2openapi: 7.0.8(encoding@0.1.13) + tiny-pinyin: 1.3.2 + transitivePeerDependencies: + - chokidar + - encoding + - typescript + + '@umijs/plugin-run@4.6.57': + dependencies: + tsx: 3.12.2 + + '@umijs/plugins@4.6.57(@babel/core@7.29.7)(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(antd@4.24.16(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(dva@2.5.0-beta.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(rc-field-form@1.38.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@ahooksjs/use-request': 2.8.15(react@19.2.6) + '@ant-design/antd-theme-variable': 1.0.0 + '@ant-design/cssinjs': 1.24.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@ant-design/icons': 4.8.3(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@ant-design/moment-webpack-plugin': 0.0.3 + '@ant-design/pro-components': 2.8.10(antd@4.24.16(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(rc-field-form@1.38.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@tanstack/react-query': 4.44.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@tanstack/react-query-devtools': 4.44.0(@tanstack/react-query@4.44.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@umijs/bundler-utils': 4.6.57 + '@umijs/valtio': 1.0.4(@types/react@19.2.15)(react@19.2.6) + antd-dayjs-webpack-plugin: 1.0.6(dayjs@1.11.21) + axios: 0.27.2 + babel-plugin-import: 1.13.8 + babel-plugin-styled-components: 2.1.4(@babel/core@7.29.7)(styled-components@6.1.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6)) + dayjs: 1.11.21 + dva-core: 2.0.4(redux@4.2.1) + dva-immer: 1.0.2(dva@2.5.0-beta.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6)) + dva-loading: 3.0.25(dva-core@2.0.4(redux@4.2.1)) + event-emitter: 0.3.5 + fast-deep-equal: 3.1.3 + intl: 1.2.5 + lodash: 4.18.1 + moment: 2.30.1 + qiankun: 2.10.16 + react-intl: 3.12.1(@types/react@19.2.15)(react@19.2.6) + react-redux: 8.1.3(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(redux@4.2.1) + redux: 4.2.1 + styled-components: 6.1.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + tslib: 2.8.1 + warning: 4.0.3 + transitivePeerDependencies: + - '@babel/core' + - '@types/react' + - '@types/react-dom' + - antd + - debug + - dva + - rc-field-form + - react + - react-dom + - react-native + - supports-color + + '@umijs/preset-umi@4.6.57(@types/node@25.9.1)(@types/react@19.2.15)(lightningcss@1.22.1)(rollup@3.30.0)(sass@1.54.0)(styled-jsx@5.1.7(@babel/core@7.29.7)(react@19.2.6))(terser@5.48.0)(type-fest@0.20.2)(typescript@6.0.3)(webpack@5.107.2(lightningcss@1.22.1)(postcss@8.5.15))': + dependencies: + '@iconify/utils': 2.1.1 + '@stagewise/toolbar': 0.6.2 + '@svgr/core': 6.5.1 + '@umijs/ast': 4.6.57 + '@umijs/babel-preset-umi': 4.6.57 + '@umijs/bundler-esbuild': 4.6.57 + '@umijs/bundler-mako': 0.11.10(postcss@8.5.15)(sass@1.54.0)(typescript@6.0.3)(webpack@5.107.2(lightningcss@1.22.1)(postcss@8.5.15)) + '@umijs/bundler-utils': 4.6.57 + '@umijs/bundler-utoopack': 4.6.57(styled-jsx@5.1.7(@babel/core@7.29.7)(react@19.2.6))(type-fest@0.20.2)(typescript@6.0.3)(webpack@5.107.2(lightningcss@1.22.1)(postcss@8.5.15)) + '@umijs/bundler-vite': 4.6.57(@types/node@25.9.1)(lightningcss@1.22.1)(postcss@8.5.15)(rollup@3.30.0)(sass@1.54.0)(terser@5.48.0) + '@umijs/bundler-webpack': 4.6.57(type-fest@0.20.2)(typescript@6.0.3)(webpack@5.107.2(lightningcss@1.22.1)(postcss@8.5.15)) + '@umijs/core': 4.6.57 + '@umijs/did-you-know': 1.0.4 + '@umijs/es-module-parser': 0.0.7 + '@umijs/history': 5.3.1 + '@umijs/mfsu': 4.6.57 + '@umijs/plugin-run': 4.6.57 + '@umijs/renderer-react': 4.6.57(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@umijs/server': 4.6.57 + '@umijs/ui': 3.0.1 + '@umijs/utils': 4.6.57 + '@umijs/zod2ts': 4.6.57 + babel-plugin-dynamic-import-node: 2.3.3 + babel-plugin-react-compiler: 0.0.0-experimental-c23de8d-20240515 + click-to-react-component: 1.1.3(@types/react@19.2.15)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + core-js: 3.34.0 + current-script-polyfill: 1.0.0 + enhanced-resolve: 5.9.3 + fast-glob: 3.2.12 + html-webpack-plugin: 5.5.0(webpack@5.107.2(lightningcss@1.22.1)(postcss@8.5.15)) + less-plugin-resolve: 1.0.2 + path-to-regexp: 1.7.0 + postcss: 8.5.15 + postcss-prefix-selector: 1.16.0(postcss@8.5.15) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-router: 6.3.0(react@18.3.1) + react-router-dom: 6.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + regenerator-runtime: 0.13.11 + transitivePeerDependencies: + - '@rspack/core' + - '@types/node' + - '@types/react' + - '@types/webpack' + - bufferutil + - fibers + - lightningcss + - node-sass + - rollup + - sass + - sass-embedded + - sockjs-client + - styled-jsx + - stylus + - sugarss + - supports-color + - terser + - type-fest + - typescript + - utf-8-validate + - webpack + - webpack-dev-server + - webpack-hot-middleware + - webpack-plugin-serve + + '@umijs/react-refresh-webpack-plugin@0.5.11(react-refresh@0.14.0)(type-fest@0.20.2)(webpack@5.107.2(lightningcss@1.22.1)(postcss@8.5.15))': + dependencies: + ansi-html-community: 0.0.8 + common-path-prefix: 3.0.0 + core-js-pure: 3.49.0 + error-stack-parser: 2.1.4 + find-up: 5.0.0 + html-entities: 2.6.0 + loader-utils: 2.0.4 + react-refresh: 0.14.0 + schema-utils: 3.3.0 + source-map: 0.7.6 + webpack: 5.107.2(lightningcss@1.22.1)(postcss@8.5.15) + optionalDependencies: + type-fest: 0.20.2 + + '@umijs/renderer-react@4.6.57(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@babel/runtime': 7.23.6 + '@loadable/component': 5.15.2(react@18.3.1) + history: 5.3.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-helmet-async: 1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react-router-dom: 6.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + + '@umijs/renderer-react@4.6.57(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@babel/runtime': 7.23.6 + '@loadable/component': 5.15.2(react@19.2.6) + history: 5.3.0 + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + react-helmet-async: 1.3.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + react-router-dom: 6.3.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + + '@umijs/route-utils@4.0.3': {} + + '@umijs/server@4.6.57': + dependencies: + '@umijs/bundler-utils': 4.6.57 + history: 5.3.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-router-dom: 6.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + transitivePeerDependencies: + - supports-color + + '@umijs/test@4.6.57(@babel/core@7.29.7)': + dependencies: + '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.29.7) + '@jest/types': 27.5.1 + '@umijs/bundler-utils': 4.6.57 + '@umijs/utils': 4.6.57 + babel-jest: 29.7.0(@babel/core@7.29.7) + esbuild: 0.21.4 + identity-obj-proxy: 3.0.0 + isomorphic-unfetch: 4.0.2 + transitivePeerDependencies: + - '@babel/core' + - supports-color + + '@umijs/ui@3.0.1': {} + + '@umijs/use-params@1.0.9(react@19.2.6)': + dependencies: + react: 19.2.6 + + '@umijs/utils@4.6.57': + dependencies: + chokidar: 3.5.3 + pino: 7.11.0 + + '@umijs/valtio@1.0.4(@types/react@19.2.15)(react@19.2.6)': + dependencies: + valtio: 1.11.2(@types/react@19.2.15)(react@19.2.6) + transitivePeerDependencies: + - '@types/react' + - react + + '@umijs/zod2ts@4.6.57': {} + + '@uppy/companion-client@5.1.1(@uppy/core@5.2.0)': + dependencies: + '@uppy/core': 5.2.0 + '@uppy/utils': 7.2.0 + namespace-emitter: 2.0.1 + p-retry: 6.2.1 + + '@uppy/core@5.2.0': + dependencies: + '@transloadit/prettier-bytes': 0.3.5 + '@uppy/store-default': 5.0.0 + '@uppy/utils': 7.2.0 + lodash: 4.18.1 + mime-match: 1.0.2 + namespace-emitter: 2.0.1 + nanoid: 5.1.11 + preact: 10.29.2 + + '@uppy/store-default@5.0.0': {} + + '@uppy/utils@7.2.0': + dependencies: + lodash: 4.18.1 + preact: 10.29.2 + + '@uppy/xhr-upload@5.2.0(@uppy/core@5.2.0)': + dependencies: + '@uppy/companion-client': 5.1.1(@uppy/core@5.2.0) + '@uppy/core': 5.2.0 + '@uppy/utils': 7.2.0 + + '@upsetjs/venn.js@2.0.0': + optionalDependencies: + d3-selection: 3.0.0 + d3-transition: 3.0.1(d3-selection@3.0.0) + + '@utoo/pack-darwin-arm64@1.4.8': + optional: true + + '@utoo/pack-darwin-x64@1.4.8': + optional: true + + '@utoo/pack-linux-arm64-gnu@1.4.8': + optional: true + + '@utoo/pack-linux-arm64-musl@1.4.8': + optional: true + + '@utoo/pack-linux-x64-gnu@1.4.8': + optional: true + + '@utoo/pack-linux-x64-musl@1.4.8': + optional: true + + '@utoo/pack-shared@1.4.8': + dependencies: + '@babel/code-frame': 7.22.5 + picocolors: 1.1.1 + + '@utoo/pack-win32-x64-msvc@1.4.8': + optional: true + + '@utoo/pack@1.4.8(less-loader@11.1.0(less@4.1.3)(webpack@5.107.2(lightningcss@1.22.1)(postcss@8.5.15)))(less@4.1.3)(postcss@8.5.15)(resolve-url-loader@5.0.0)(sass-loader@13.2.0(sass@1.54.0)(webpack@5.107.2(lightningcss@1.22.1)(postcss@8.5.15)))(sass@1.54.0)(styled-jsx@5.1.7(@babel/core@7.29.7)(react@19.2.6))': + dependencies: + '@babel/code-frame': 7.22.5 + '@hono/node-server': 1.19.14(hono@4.12.23) + '@hono/node-ws': 1.3.1(@hono/node-server@1.19.14(hono@4.12.23))(hono@4.12.23) + '@swc/helpers': 0.5.15 + '@utoo/pack-shared': 1.4.8 + domparser-rs: 0.0.7 + find-up: 4.1.0 + get-port: 5.1.1 + hono: 4.12.23 + less: 4.1.3 + less-loader: 11.1.0(less@4.1.3)(webpack@5.107.2(lightningcss@1.22.1)(postcss@8.5.15)) + nanoid: 3.3.12 + picocolors: 1.1.1 + postcss: 8.5.15 + resolve-url-loader: 5.0.0 + sass: 1.54.0 + sass-loader: 13.2.0(sass@1.54.0)(webpack@5.107.2(lightningcss@1.22.1)(postcss@8.5.15)) + semver: 7.8.1 + send: 0.17.1 + styled-jsx: 5.1.7(@babel/core@7.29.7)(react@19.2.6) + ws: 8.21.0 + optionalDependencies: + '@utoo/pack-darwin-arm64': 1.4.8 + '@utoo/pack-darwin-x64': 1.4.8 + '@utoo/pack-linux-arm64-gnu': 1.4.8 + '@utoo/pack-linux-arm64-musl': 1.4.8 + '@utoo/pack-linux-x64-gnu': 1.4.8 + '@utoo/pack-linux-x64-musl': 1.4.8 + '@utoo/pack-win32-x64-msvc': 1.4.8 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + '@vitejs/plugin-react@4.0.0(vite@4.5.2(@types/node@25.9.1)(less@4.1.3)(lightningcss@1.22.1)(sass@1.54.0)(terser@5.48.0))': + dependencies: + '@babel/core': 7.29.7 + '@babel/plugin-transform-react-jsx-self': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-react-jsx-source': 7.29.7(@babel/core@7.29.7) + react-refresh: 0.14.2 + vite: 4.5.2(@types/node@25.9.1)(less@4.1.3)(lightningcss@1.22.1)(sass@1.54.0)(terser@5.48.0) + transitivePeerDependencies: + - supports-color + + '@wangeditor-next/basic-modules@3.0.1(@wangeditor-next/core@1.9.1(@uppy/core@5.2.0)(@uppy/xhr-upload@5.2.0(@uppy/core@5.2.0))(dom7@4.0.6)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@5.1.11)(slate@0.124.1)(snabbdom@3.6.3))(dom7@4.0.6)(lodash.throttle@4.1.1)(nanoid@5.1.11)(slate@0.124.1)(snabbdom@3.6.3)': + dependencies: + '@wangeditor-next/core': 1.9.1(@uppy/core@5.2.0)(@uppy/xhr-upload@5.2.0(@uppy/core@5.2.0))(dom7@4.0.6)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@5.1.11)(slate@0.124.1)(snabbdom@3.6.3) + dom7: 4.0.6 + is-url: 1.2.4 + lodash.throttle: 4.1.1 + nanoid: 5.1.11 + slate: 0.124.1 + snabbdom: 3.6.3 + + '@wangeditor-next/code-highlight@3.0.1(@wangeditor-next/core@1.9.1(@uppy/core@5.2.0)(@uppy/xhr-upload@5.2.0(@uppy/core@5.2.0))(dom7@4.0.6)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@5.1.11)(slate@0.124.1)(snabbdom@3.6.3))(dom7@4.0.6)(slate@0.124.1)(snabbdom@3.6.3)': + dependencies: + '@wangeditor-next/core': 1.9.1(@uppy/core@5.2.0)(@uppy/xhr-upload@5.2.0(@uppy/core@5.2.0))(dom7@4.0.6)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@5.1.11)(slate@0.124.1)(snabbdom@3.6.3) + dom7: 4.0.6 + prismjs: 1.30.0 + slate: 0.124.1 + snabbdom: 3.6.3 + + '@wangeditor-next/core@1.9.1(@uppy/core@5.2.0)(@uppy/xhr-upload@5.2.0(@uppy/core@5.2.0))(dom7@4.0.6)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@5.1.11)(slate@0.124.1)(snabbdom@3.6.3)': + dependencies: + '@types/event-emitter': 0.3.5 + '@uppy/core': 5.2.0 + '@uppy/xhr-upload': 5.2.0(@uppy/core@5.2.0) + dom7: 4.0.6 + event-emitter: 0.3.5 + html-void-elements: 3.0.0 + i18next: 23.16.8 + is-hotkey: 0.2.0 + lodash.camelcase: 4.3.0 + lodash.clonedeep: 4.5.0 + lodash.debounce: 4.0.8 + lodash.foreach: 4.5.0 + lodash.throttle: 4.1.1 + lodash.toarray: 4.4.0 + nanoid: 5.1.11 + scroll-into-view-if-needed: 3.1.0 + slate: 0.124.1 + slate-history: 0.115.0(slate@0.124.1) + snabbdom: 3.6.3 + + '@wangeditor-next/editor-for-react@1.0.11(@wangeditor-next/editor@5.7.7)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + dependencies: + '@wangeditor-next/editor': 5.7.7 + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + '@wangeditor-next/editor@5.7.7': + dependencies: + '@uppy/core': 5.2.0 + '@uppy/xhr-upload': 5.2.0(@uppy/core@5.2.0) + '@wangeditor-next/basic-modules': 3.0.1(@wangeditor-next/core@1.9.1(@uppy/core@5.2.0)(@uppy/xhr-upload@5.2.0(@uppy/core@5.2.0))(dom7@4.0.6)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@5.1.11)(slate@0.124.1)(snabbdom@3.6.3))(dom7@4.0.6)(lodash.throttle@4.1.1)(nanoid@5.1.11)(slate@0.124.1)(snabbdom@3.6.3) + '@wangeditor-next/code-highlight': 3.0.1(@wangeditor-next/core@1.9.1(@uppy/core@5.2.0)(@uppy/xhr-upload@5.2.0(@uppy/core@5.2.0))(dom7@4.0.6)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@5.1.11)(slate@0.124.1)(snabbdom@3.6.3))(dom7@4.0.6)(slate@0.124.1)(snabbdom@3.6.3) + '@wangeditor-next/core': 1.9.1(@uppy/core@5.2.0)(@uppy/xhr-upload@5.2.0(@uppy/core@5.2.0))(dom7@4.0.6)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@5.1.11)(slate@0.124.1)(snabbdom@3.6.3) + '@wangeditor-next/list-module': 3.0.1(@wangeditor-next/core@1.9.1(@uppy/core@5.2.0)(@uppy/xhr-upload@5.2.0(@uppy/core@5.2.0))(dom7@4.0.6)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@5.1.11)(slate@0.124.1)(snabbdom@3.6.3))(dom7@4.0.6)(slate@0.124.1)(snabbdom@3.6.3) + '@wangeditor-next/table-module': 3.0.1(@wangeditor-next/core@1.9.1(@uppy/core@5.2.0)(@uppy/xhr-upload@5.2.0(@uppy/core@5.2.0))(dom7@4.0.6)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@5.1.11)(slate@0.124.1)(snabbdom@3.6.3))(dom7@4.0.6)(lodash.debounce@4.0.8)(lodash.throttle@4.1.1)(nanoid@5.1.11)(slate@0.124.1)(snabbdom@3.6.3) + '@wangeditor-next/upload-image-module': 3.0.1(@uppy/core@5.2.0)(@uppy/xhr-upload@5.2.0(@uppy/core@5.2.0))(@wangeditor-next/basic-modules@3.0.1(@wangeditor-next/core@1.9.1(@uppy/core@5.2.0)(@uppy/xhr-upload@5.2.0(@uppy/core@5.2.0))(dom7@4.0.6)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@5.1.11)(slate@0.124.1)(snabbdom@3.6.3))(dom7@4.0.6)(lodash.throttle@4.1.1)(nanoid@5.1.11)(slate@0.124.1)(snabbdom@3.6.3))(@wangeditor-next/core@1.9.1(@uppy/core@5.2.0)(@uppy/xhr-upload@5.2.0(@uppy/core@5.2.0))(dom7@4.0.6)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@5.1.11)(slate@0.124.1)(snabbdom@3.6.3))(dom7@4.0.6)(lodash.foreach@4.5.0)(slate@0.124.1)(snabbdom@3.6.3) + '@wangeditor-next/video-module': 3.0.1(@uppy/core@5.2.0)(@uppy/xhr-upload@5.2.0(@uppy/core@5.2.0))(@wangeditor-next/core@1.9.1(@uppy/core@5.2.0)(@uppy/xhr-upload@5.2.0(@uppy/core@5.2.0))(dom7@4.0.6)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@5.1.11)(slate@0.124.1)(snabbdom@3.6.3))(dom7@4.0.6)(nanoid@5.1.11)(slate@0.124.1)(snabbdom@3.6.3) + dom7: 4.0.6 + is-hotkey: 0.2.0 + lodash.camelcase: 4.3.0 + lodash.clonedeep: 4.5.0 + lodash.debounce: 4.0.8 + lodash.foreach: 4.5.0 + lodash.throttle: 4.1.1 + lodash.toarray: 4.4.0 + nanoid: 5.1.11 + slate: 0.124.1 + snabbdom: 3.6.3 + + '@wangeditor-next/list-module@3.0.1(@wangeditor-next/core@1.9.1(@uppy/core@5.2.0)(@uppy/xhr-upload@5.2.0(@uppy/core@5.2.0))(dom7@4.0.6)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@5.1.11)(slate@0.124.1)(snabbdom@3.6.3))(dom7@4.0.6)(slate@0.124.1)(snabbdom@3.6.3)': + dependencies: + '@wangeditor-next/core': 1.9.1(@uppy/core@5.2.0)(@uppy/xhr-upload@5.2.0(@uppy/core@5.2.0))(dom7@4.0.6)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@5.1.11)(slate@0.124.1)(snabbdom@3.6.3) + dom7: 4.0.6 + slate: 0.124.1 + snabbdom: 3.6.3 + + '@wangeditor-next/table-module@3.0.1(@wangeditor-next/core@1.9.1(@uppy/core@5.2.0)(@uppy/xhr-upload@5.2.0(@uppy/core@5.2.0))(dom7@4.0.6)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@5.1.11)(slate@0.124.1)(snabbdom@3.6.3))(dom7@4.0.6)(lodash.debounce@4.0.8)(lodash.throttle@4.1.1)(nanoid@5.1.11)(slate@0.124.1)(snabbdom@3.6.3)': + dependencies: + '@wangeditor-next/core': 1.9.1(@uppy/core@5.2.0)(@uppy/xhr-upload@5.2.0(@uppy/core@5.2.0))(dom7@4.0.6)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@5.1.11)(slate@0.124.1)(snabbdom@3.6.3) + dom7: 4.0.6 + lodash.debounce: 4.0.8 + lodash.throttle: 4.1.1 + nanoid: 5.1.11 + slate: 0.124.1 + snabbdom: 3.6.3 + + '@wangeditor-next/upload-image-module@3.0.1(@uppy/core@5.2.0)(@uppy/xhr-upload@5.2.0(@uppy/core@5.2.0))(@wangeditor-next/basic-modules@3.0.1(@wangeditor-next/core@1.9.1(@uppy/core@5.2.0)(@uppy/xhr-upload@5.2.0(@uppy/core@5.2.0))(dom7@4.0.6)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@5.1.11)(slate@0.124.1)(snabbdom@3.6.3))(dom7@4.0.6)(lodash.throttle@4.1.1)(nanoid@5.1.11)(slate@0.124.1)(snabbdom@3.6.3))(@wangeditor-next/core@1.9.1(@uppy/core@5.2.0)(@uppy/xhr-upload@5.2.0(@uppy/core@5.2.0))(dom7@4.0.6)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@5.1.11)(slate@0.124.1)(snabbdom@3.6.3))(dom7@4.0.6)(lodash.foreach@4.5.0)(slate@0.124.1)(snabbdom@3.6.3)': + dependencies: + '@uppy/core': 5.2.0 + '@uppy/xhr-upload': 5.2.0(@uppy/core@5.2.0) + '@wangeditor-next/basic-modules': 3.0.1(@wangeditor-next/core@1.9.1(@uppy/core@5.2.0)(@uppy/xhr-upload@5.2.0(@uppy/core@5.2.0))(dom7@4.0.6)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@5.1.11)(slate@0.124.1)(snabbdom@3.6.3))(dom7@4.0.6)(lodash.throttle@4.1.1)(nanoid@5.1.11)(slate@0.124.1)(snabbdom@3.6.3) + '@wangeditor-next/core': 1.9.1(@uppy/core@5.2.0)(@uppy/xhr-upload@5.2.0(@uppy/core@5.2.0))(dom7@4.0.6)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@5.1.11)(slate@0.124.1)(snabbdom@3.6.3) + dom7: 4.0.6 + lodash.foreach: 4.5.0 + slate: 0.124.1 + snabbdom: 3.6.3 + + '@wangeditor-next/video-module@3.0.1(@uppy/core@5.2.0)(@uppy/xhr-upload@5.2.0(@uppy/core@5.2.0))(@wangeditor-next/core@1.9.1(@uppy/core@5.2.0)(@uppy/xhr-upload@5.2.0(@uppy/core@5.2.0))(dom7@4.0.6)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@5.1.11)(slate@0.124.1)(snabbdom@3.6.3))(dom7@4.0.6)(nanoid@5.1.11)(slate@0.124.1)(snabbdom@3.6.3)': + dependencies: + '@uppy/core': 5.2.0 + '@uppy/xhr-upload': 5.2.0(@uppy/core@5.2.0) + '@wangeditor-next/core': 1.9.1(@uppy/core@5.2.0)(@uppy/xhr-upload@5.2.0(@uppy/core@5.2.0))(dom7@4.0.6)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@5.1.11)(slate@0.124.1)(snabbdom@3.6.3) + dom7: 4.0.6 + nanoid: 5.1.11 + slate: 0.124.1 + snabbdom: 3.6.3 + + '@webassemblyjs/ast@1.14.1': + dependencies: + '@webassemblyjs/helper-numbers': 1.13.2 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + + '@webassemblyjs/floating-point-hex-parser@1.13.2': {} + + '@webassemblyjs/helper-api-error@1.13.2': {} + + '@webassemblyjs/helper-buffer@1.14.1': {} + + '@webassemblyjs/helper-numbers@1.13.2': + dependencies: + '@webassemblyjs/floating-point-hex-parser': 1.13.2 + '@webassemblyjs/helper-api-error': 1.13.2 + '@xtuc/long': 4.2.2 + + '@webassemblyjs/helper-wasm-bytecode@1.13.2': {} + + '@webassemblyjs/helper-wasm-section@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/wasm-gen': 1.14.1 + + '@webassemblyjs/ieee754@1.13.2': + dependencies: + '@xtuc/ieee754': 1.2.0 + + '@webassemblyjs/leb128@1.13.2': + dependencies: + '@xtuc/long': 4.2.2 + + '@webassemblyjs/utf8@1.13.2': {} + + '@webassemblyjs/wasm-edit@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/helper-wasm-section': 1.14.1 + '@webassemblyjs/wasm-gen': 1.14.1 + '@webassemblyjs/wasm-opt': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + '@webassemblyjs/wast-printer': 1.14.1 + + '@webassemblyjs/wasm-gen@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/ieee754': 1.13.2 + '@webassemblyjs/leb128': 1.13.2 + '@webassemblyjs/utf8': 1.13.2 + + '@webassemblyjs/wasm-opt@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/wasm-gen': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + + '@webassemblyjs/wasm-parser@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-api-error': 1.13.2 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/ieee754': 1.13.2 + '@webassemblyjs/leb128': 1.13.2 + '@webassemblyjs/utf8': 1.13.2 + + '@webassemblyjs/wast-printer@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@xtuc/long': 4.2.2 + + '@xtuc/ieee754@1.2.0': {} + + '@xtuc/long@4.2.2': {} + + a-sync-waterfall@1.0.1: {} + + accepts@1.3.8: + dependencies: + mime-types: 2.1.35 + negotiator: 0.6.3 + + acorn-import-phases@1.0.4(acorn@8.16.0): + dependencies: + acorn: 8.16.0 + + acorn-jsx@5.3.2(acorn@8.16.0): + dependencies: + acorn: 8.16.0 + + acorn@8.16.0: {} + + add-dom-event-listener@1.1.0: + dependencies: + object-assign: 4.1.1 + + adjust-sourcemap-loader@4.0.0: + dependencies: + loader-utils: 2.0.4 + regex-parser: 2.3.1 + + agent-base@6.0.2: + dependencies: + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + ahooks@3.9.7(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + dependencies: + '@babel/runtime': 7.29.7 + '@types/js-cookie': 3.0.6 + dayjs: 1.11.21 + intersection-observer: 0.12.2 + js-cookie: 3.0.8 + lodash: 4.18.1 + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + react-fast-compare: 3.2.2 + resize-observer-polyfill: 1.5.1 + screenfull: 5.2.0 + tslib: 2.8.1 + + ajv-formats@2.1.1(ajv@8.20.0): + optionalDependencies: + ajv: 8.20.0 + + ajv-keywords@3.5.2(ajv@6.15.0): + dependencies: + ajv: 6.15.0 + + ajv-keywords@5.1.0(ajv@8.20.0): + dependencies: + ajv: 8.20.0 + fast-deep-equal: 3.1.3 + + ajv@6.15.0: + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + + ajv@8.20.0: + dependencies: + fast-deep-equal: 3.1.3 + fast-uri: 3.1.2 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + + ansi-html-community@0.0.8: {} + + ansi-regex@4.1.1: {} + + ansi-regex@5.0.1: {} + + ansi-regex@6.2.2: {} + + ansi-styles@3.2.1: + dependencies: + color-convert: 1.9.3 + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@6.2.3: {} + + antd-dayjs-webpack-plugin@1.0.6(dayjs@1.11.21): + dependencies: + dayjs: 1.11.21 + + antd-style@4.1.0(@types/react@19.2.15)(antd@6.4.3(date-fns@2.30.0)(moment@2.30.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + dependencies: + '@ant-design/cssinjs': 2.1.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@babel/runtime': 7.29.7 + '@emotion/cache': 11.14.0 + '@emotion/css': 11.13.5 + '@emotion/react': 11.14.0(@types/react@19.2.15)(react@19.2.6) + '@emotion/serialize': 1.3.3 + '@emotion/utils': 1.4.2 + antd: 6.4.3(date-fns@2.30.0)(moment@2.30.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + react: 19.2.6 + use-merge-value: 1.2.0(react@19.2.6) + transitivePeerDependencies: + - '@types/react' + - react-dom + - supports-color + + antd@4.24.16(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + dependencies: + '@ant-design/colors': 6.0.0 + '@ant-design/icons': 4.8.3(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@ant-design/react-slick': 1.0.2(react@19.2.6) + '@babel/runtime': 7.29.7 + '@ctrl/tinycolor': 3.6.1 + classnames: 2.5.1 + copy-to-clipboard: 3.3.3 + lodash: 4.18.1 + moment: 2.30.1 + rc-cascader: 3.7.3(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-checkbox: 3.0.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-collapse: 3.4.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-dialog: 9.0.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-drawer: 6.3.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-dropdown: 4.0.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-field-form: 1.38.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-image: 5.13.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-input: 0.1.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-input-number: 7.3.11(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-mentions: 1.13.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-menu: 9.8.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-motion: 2.9.5(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-notification: 4.6.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-pagination: 3.2.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-picker: 2.7.6(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-progress: 3.4.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-rate: 2.9.3(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-resize-observer: 1.4.3(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-segmented: 2.3.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-select: 14.1.18(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-slider: 10.0.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-steps: 5.0.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-switch: 3.2.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-table: 7.26.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-tabs: 12.5.10(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-textarea: 0.4.7(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-tooltip: 5.2.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-tree: 5.7.12(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-tree-select: 5.5.5(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-trigger: 5.3.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-upload: 4.3.6(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + scroll-into-view-if-needed: 2.2.31 + + antd@6.4.3(date-fns@2.30.0)(moment@2.30.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + dependencies: + '@ant-design/colors': 8.0.1 + '@ant-design/cssinjs': 2.1.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@ant-design/cssinjs-utils': 2.1.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@ant-design/fast-color': 3.0.1 + '@ant-design/icons': 6.2.5(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@ant-design/react-slick': 2.0.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@babel/runtime': 7.29.7 + '@rc-component/cascader': 1.15.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/checkbox': 2.0.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/collapse': 1.2.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/color-picker': 3.1.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/dialog': 1.9.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/drawer': 1.4.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/dropdown': 1.0.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/form': 1.8.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/image': 1.9.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/input': 1.3.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/input-number': 1.6.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/mentions': 1.9.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/menu': 1.3.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/motion': 1.3.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/mutate-observer': 2.0.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/notification': 2.0.7(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/pagination': 1.2.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/picker': 1.10.0(date-fns@2.30.0)(dayjs@1.11.21)(moment@2.30.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/progress': 1.0.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/qrcode': 1.1.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/rate': 1.0.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/resize-observer': 1.1.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/segmented': 1.3.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/select': 1.6.15(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/slider': 1.0.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/steps': 1.2.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/switch': 1.0.3(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/table': 1.10.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/tabs': 1.9.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/tooltip': 1.4.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/tour': 2.4.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/tree': 1.3.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/tree-select': 1.9.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/trigger': 3.9.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/upload': 1.1.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@rc-component/util': 1.11.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + clsx: 2.1.1 + dayjs: 1.11.21 + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + scroll-into-view-if-needed: 3.1.0 + throttle-debounce: 5.0.2 + transitivePeerDependencies: + - date-fns + - luxon + - moment + + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.2 + + argparse@1.0.10: + dependencies: + sprintf-js: 1.0.3 + + argparse@2.0.1: {} + + aria-hidden@1.2.6: + dependencies: + tslib: 2.8.1 + + array-buffer-byte-length@1.0.2: + dependencies: + call-bound: 1.0.4 + is-array-buffer: 3.0.5 + + array-flatten@1.1.1: {} + + array-includes@3.1.9: + dependencies: + call-bind: 1.0.9 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-abstract: 1.24.2 + es-object-atoms: 1.1.2 + get-intrinsic: 1.3.0 + is-string: 1.1.1 + math-intrinsics: 1.1.0 + + array-tree-filter@2.1.0: {} + + array-union@2.1.0: {} + + array.prototype.flat@1.3.3: + dependencies: + call-bind: 1.0.9 + define-properties: 1.2.1 + es-abstract: 1.24.2 + es-shim-unscopables: 1.1.0 + + array.prototype.flatmap@1.3.3: + dependencies: + call-bind: 1.0.9 + define-properties: 1.2.1 + es-abstract: 1.24.2 + es-shim-unscopables: 1.1.0 + + array.prototype.tosorted@1.1.4: + dependencies: + call-bind: 1.0.9 + define-properties: 1.2.1 + es-abstract: 1.24.2 + es-errors: 1.3.0 + es-shim-unscopables: 1.1.0 + + arraybuffer.prototype.slice@1.0.4: + dependencies: + array-buffer-byte-length: 1.0.2 + call-bind: 1.0.9 + define-properties: 1.2.1 + es-abstract: 1.24.2 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + is-array-buffer: 3.0.5 + + arrify@1.0.1: {} + + asap@2.0.6: {} + + asn1.js@4.10.1: + dependencies: + bn.js: 4.12.3 + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + + assert-okam@1.5.0: + dependencies: + object-assign: 4.1.1 + util: 0.10.3 + + assert@1.5.1: + dependencies: + object.assign: 4.1.7 + util: 0.10.4 + + astral-regex@2.0.0: {} + + async-function@1.0.0: {} + + async-validator@4.2.5: {} + + asynckit@0.4.0: {} + + atomic-sleep@1.0.0: {} + + autoprefixer@10.5.0(postcss@8.5.15): + dependencies: + browserslist: 4.28.2 + caniuse-lite: 1.0.30001793 + fraction.js: 5.3.4 + picocolors: 1.1.1 + postcss: 8.5.15 + postcss-value-parser: 4.2.0 + + available-typed-arrays@1.0.7: + dependencies: + possible-typed-array-names: 1.1.0 + + axios@0.27.2: + dependencies: + follow-redirects: 1.16.0 + form-data: 4.0.5 + transitivePeerDependencies: + - debug + + axios@1.16.1: + dependencies: + follow-redirects: 1.16.0 + form-data: 4.0.5 + https-proxy-agent: 5.0.1 + proxy-from-env: 2.1.0 + transitivePeerDependencies: + - debug + - supports-color + + babel-jest@29.7.0(@babel/core@7.29.7): + dependencies: + '@babel/core': 7.29.7 + '@jest/transform': 29.7.0 + '@types/babel__core': 7.20.5 + babel-plugin-istanbul: 6.1.1 + babel-preset-jest: 29.6.3(@babel/core@7.29.7) + chalk: 4.1.2 + graceful-fs: 4.2.11 + slash: 3.0.0 + transitivePeerDependencies: + - supports-color + + babel-plugin-dynamic-import-node@2.3.3: + dependencies: + object.assign: 4.1.7 + + babel-plugin-import@1.13.8: + dependencies: + '@babel/helper-module-imports': 7.29.7 + transitivePeerDependencies: + - supports-color + + babel-plugin-istanbul@6.1.1: + dependencies: + '@babel/helper-plugin-utils': 7.29.7 + '@istanbuljs/load-nyc-config': 1.1.0 + '@istanbuljs/schema': 0.1.6 + istanbul-lib-instrument: 5.2.1 + test-exclude: 6.0.0 + transitivePeerDependencies: + - supports-color + + babel-plugin-jest-hoist@29.6.3: + dependencies: + '@babel/template': 7.29.7 + '@babel/types': 7.29.7 + '@types/babel__core': 7.20.5 + '@types/babel__traverse': 7.28.0 + + babel-plugin-macros@3.1.0: + dependencies: + '@babel/runtime': 7.29.7 + cosmiconfig: 7.1.0 + resolve: 1.22.12 + + babel-plugin-react-compiler@0.0.0-experimental-c23de8d-20240515: + dependencies: + '@babel/generator': 7.2.0 + '@babel/types': 7.29.7 + chalk: 4.1.2 + invariant: 2.2.4 + pretty-format: 24.9.0 + zod: 3.25.76 + zod-validation-error: 2.1.0(zod@3.25.76) + + babel-plugin-styled-components@2.1.4(@babel/core@7.29.7)(styled-components@6.1.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6)): + dependencies: + '@babel/helper-annotate-as-pure': 7.29.7 + '@babel/helper-module-imports': 7.29.7 + '@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.29.7) + lodash: 4.18.1 + picomatch: 2.3.2 + styled-components: 6.1.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + transitivePeerDependencies: + - '@babel/core' + - supports-color + + babel-preset-current-node-syntax@1.2.0(@babel/core@7.29.7): + dependencies: + '@babel/core': 7.29.7 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.29.7) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.29.7) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.29.7) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.29.7) + '@babel/plugin-syntax-import-attributes': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.29.7) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.29.7) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.29.7) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.29.7) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.29.7) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.29.7) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.29.7) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.29.7) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.29.7) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.29.7) + + babel-preset-jest@29.6.3(@babel/core@7.29.7): + dependencies: + '@babel/core': 7.29.7 + babel-plugin-jest-hoist: 29.6.3 + babel-preset-current-node-syntax: 1.2.0(@babel/core@7.29.7) + + balanced-match@1.0.2: {} + + balanced-match@2.0.0: {} + + base64-js@1.5.1: {} + + baseline-browser-mapping@2.10.32: {} + + big-integer@1.6.52: {} + + big.js@5.2.2: {} + + binary-extensions@2.3.0: {} + + bn.js@4.12.3: {} + + bn.js@5.2.3: {} + + body-parser@1.20.5: + dependencies: + bytes: 3.1.2 + content-type: 1.0.5 + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + http-errors: 2.0.1 + iconv-lite: 0.4.24 + on-finished: 2.4.1 + qs: 6.15.2 + raw-body: 2.5.3 + type-is: 1.6.18 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + + boolbase@1.0.0: {} + + bplist-parser@0.2.0: + dependencies: + big-integer: 1.6.52 + + brace-expansion@1.1.15: + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + brace-expansion@2.1.1: + dependencies: + balanced-match: 1.0.2 + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + brorand@1.1.0: {} + + browser-image-compression@2.0.2: + dependencies: + uzip: 0.20201231.0 + + browserify-aes@1.2.0: + dependencies: + buffer-xor: 1.0.3 + cipher-base: 1.0.7 + create-hash: 1.2.0 + evp_bytestokey: 1.0.3 + inherits: 2.0.4 + safe-buffer: 5.2.1 + + browserify-cipher@1.0.1: + dependencies: + browserify-aes: 1.2.0 + browserify-des: 1.0.2 + evp_bytestokey: 1.0.3 + + browserify-des@1.0.2: + dependencies: + cipher-base: 1.0.7 + des.js: 1.1.0 + inherits: 2.0.4 + safe-buffer: 5.2.1 + + browserify-rsa@4.1.1: + dependencies: + bn.js: 5.2.3 + randombytes: 2.1.0 + safe-buffer: 5.2.1 + + browserify-sign@4.2.6: + dependencies: + bn.js: 5.2.3 + browserify-rsa: 4.1.1 + create-hash: 1.2.0 + create-hmac: 1.1.7 + elliptic: 6.6.1 + inherits: 2.0.4 + parse-asn1: 5.1.9 + readable-stream: 2.3.8 + safe-buffer: 5.2.1 + + browserify-zlib@0.2.0: + dependencies: + pako: 1.0.11 + + browserslist@4.28.2: + dependencies: + baseline-browser-mapping: 2.10.32 + caniuse-lite: 1.0.30001793 + electron-to-chromium: 1.5.363 + node-releases: 2.0.46 + update-browserslist-db: 1.2.3(browserslist@4.28.2) + + bser@2.1.1: + dependencies: + node-int64: 0.4.0 + + buffer-from@1.1.2: {} + + buffer-okam@4.9.2: + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + isarray: 1.0.0 + + buffer-xor@1.0.3: {} + + buffer@4.9.2: + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + isarray: 1.0.0 + + builtin-status-codes@3.0.0: {} + + bundle-name@3.0.0: + dependencies: + run-applescript: 5.0.0 + + bytes@3.1.2: {} + + call-bind-apply-helpers@1.0.2: + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + + call-bind@1.0.9: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + get-intrinsic: 1.3.0 + set-function-length: 1.2.2 + + call-bound@1.0.4: + dependencies: + call-bind-apply-helpers: 1.0.2 + get-intrinsic: 1.3.0 + + call-me-maybe@1.0.2: {} + + callsites@3.1.0: {} + + camel-case@4.1.2: + dependencies: + pascal-case: 3.1.2 + tslib: 2.8.1 + + camelcase-keys@6.2.2: + dependencies: + camelcase: 5.3.1 + map-obj: 4.3.0 + quick-lru: 4.0.1 + + camelcase@5.3.1: {} + + camelcase@6.3.0: {} + + camelize@1.0.1: {} + + caniuse-lite@1.0.30001793: {} + + chalk@2.4.2: + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + character-entities-legacy@3.0.0: {} + + character-entities@2.0.2: {} + + character-reference-invalid@2.0.1: {} + + chokidar@3.5.3: + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + + chokidar@3.6.0: + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + + chrome-trace-event@1.0.4: {} + + ci-info@3.9.0: {} + + cipher-base@1.0.7: + dependencies: + inherits: 2.0.4 + safe-buffer: 5.2.1 + to-buffer: 1.2.2 + + classnames@2.5.1: {} + + clean-css@5.3.3: + dependencies: + source-map: 0.6.1 + + click-to-react-component@1.1.3(@types/react@19.2.15)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + dependencies: + '@floating-ui/react-dom-interactions': 0.3.1(@types/react@19.2.15)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + htm: 3.1.1 + react: 18.3.1 + react-merge-refs: 1.1.0 + transitivePeerDependencies: + - '@types/react' + - react-dom + + client-only@0.0.1: {} + + cliui@8.0.1: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + + clone-regexp@2.2.0: + dependencies: + is-regexp: 2.1.0 + + clsx@2.1.1: {} + + color-convert@1.9.3: + dependencies: + color-name: 1.1.3 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.3: {} + + color-name@1.1.4: {} + + colord@2.9.3: {} + + combined-stream@1.0.8: + dependencies: + delayed-stream: 1.0.0 + + comma-separated-tokens@2.0.3: {} + + commander@14.0.3: {} + + commander@2.20.3: {} + + commander@5.1.0: {} + + commander@7.2.0: {} + + commander@8.3.0: {} + + common-path-prefix@3.0.0: {} + + compressible@2.0.18: + dependencies: + mime-db: 1.54.0 + + compression@1.8.1: + dependencies: + bytes: 3.1.2 + compressible: 2.0.18 + debug: 2.6.9 + negotiator: 0.6.4 + on-headers: 1.1.0 + safe-buffer: 5.2.1 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + + compute-scroll-into-view@1.0.20: {} + + compute-scroll-into-view@3.1.1: {} + + concat-map@0.0.1: {} + + connect-history-api-fallback@2.0.0: {} + + console-browserify@1.2.0: {} + + constants-browserify@1.0.0: {} + + content-disposition@0.5.4: + dependencies: + safe-buffer: 5.2.1 + + content-type@1.0.5: {} + + convert-source-map@1.9.0: {} + + convert-source-map@2.0.0: {} + + cookie-signature@1.0.7: {} + + cookie@0.7.2: {} + + copy-anything@2.0.6: + dependencies: + is-what: 3.14.1 + + copy-anything@3.0.5: + dependencies: + is-what: 4.1.16 + + copy-to-clipboard@3.3.3: + dependencies: + toggle-selection: 1.0.6 + + core-js-pure@3.49.0: {} + + core-js@3.34.0: {} + + core-util-is@1.0.3: {} + + cors@2.8.6: + dependencies: + object-assign: 4.1.1 + vary: 1.1.2 + + cose-base@1.0.3: + dependencies: + layout-base: 1.0.2 + + cose-base@2.2.0: + dependencies: + layout-base: 2.0.1 + + cosmiconfig@7.1.0: + dependencies: + '@types/parse-json': 4.0.2 + import-fresh: 3.3.1 + parse-json: 5.2.0 + path-type: 4.0.0 + yaml: 1.10.3 + + cosmiconfig@9.0.1(typescript@6.0.3): + dependencies: + env-paths: 2.2.1 + import-fresh: 3.3.1 + js-yaml: 4.1.1 + parse-json: 5.2.0 + optionalDependencies: + typescript: 6.0.3 + + create-ecdh@4.0.4: + dependencies: + bn.js: 4.12.3 + elliptic: 6.6.1 + + create-hash@1.2.0: + dependencies: + cipher-base: 1.0.7 + inherits: 2.0.4 + md5.js: 1.3.5 + ripemd160: 2.0.3 + sha.js: 2.4.12 + + create-hmac@1.1.7: + dependencies: + cipher-base: 1.0.7 + create-hash: 1.2.0 + inherits: 2.0.4 + ripemd160: 2.0.3 + safe-buffer: 5.2.1 + sha.js: 2.4.12 + + cropperjs@1.6.2: {} + + cross-env@10.1.0: + dependencies: + '@epic-web/invariant': 1.0.0 + cross-spawn: 7.0.6 + + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + crypto-browserify@3.12.1: + dependencies: + browserify-cipher: 1.0.1 + browserify-sign: 4.2.6 + create-ecdh: 4.0.4 + create-hash: 1.2.0 + create-hmac: 1.1.7 + diffie-hellman: 5.0.3 + hash-base: 3.0.5 + inherits: 2.0.4 + pbkdf2: 3.1.6 + public-encrypt: 4.0.3 + randombytes: 2.1.0 + randomfill: 1.0.4 + + crypto-js@4.2.0: {} + + css-blank-pseudo@3.0.3(postcss@8.5.15): + dependencies: + postcss: 8.5.15 + postcss-selector-parser: 6.1.2 + + css-color-keywords@1.0.0: {} + + css-functions-list@3.3.3: {} + + css-has-pseudo@3.0.4(postcss@8.5.15): + dependencies: + postcss: 8.5.15 + postcss-selector-parser: 6.1.2 + + css-loader@6.7.1(webpack@5.107.2(lightningcss@1.22.1)(postcss@8.5.15)): + dependencies: + icss-utils: 5.1.0(postcss@8.5.15) + postcss: 8.5.15 + postcss-modules-extract-imports: 3.1.0(postcss@8.5.15) + postcss-modules-local-by-default: 4.2.0(postcss@8.5.15) + postcss-modules-scope: 3.2.1(postcss@8.5.15) + postcss-modules-values: 4.0.0(postcss@8.5.15) + postcss-value-parser: 4.2.0 + semver: 7.8.1 + webpack: 5.107.2(lightningcss@1.22.1)(postcss@8.5.15) + + css-prefers-color-scheme@6.0.3(postcss@8.5.15): + dependencies: + postcss: 8.5.15 + + css-select@4.3.0: + dependencies: + boolbase: 1.0.0 + css-what: 6.2.2 + domhandler: 4.3.1 + domutils: 2.8.0 + nth-check: 2.1.1 + + css-to-react-native@3.2.0: + dependencies: + camelize: 1.0.1 + css-color-keywords: 1.0.0 + postcss-value-parser: 4.2.0 + + css-tree@1.1.3: + dependencies: + mdn-data: 2.0.14 + source-map: 0.6.1 + + css-what@6.2.2: {} + + cssdb@6.6.3: {} + + cssesc@3.0.0: {} + + csso@4.2.0: + dependencies: + css-tree: 1.1.3 + + csstype@3.2.3: {} + + current-script-polyfill@1.0.0: {} + + cytoscape-cose-bilkent@4.1.0(cytoscape@3.33.4): + dependencies: + cose-base: 1.0.3 + cytoscape: 3.33.4 + + cytoscape-fcose@2.2.0(cytoscape@3.33.4): + dependencies: + cose-base: 2.2.0 + cytoscape: 3.33.4 + + cytoscape@3.33.4: {} + + d3-array@2.12.1: + dependencies: + internmap: 1.0.1 + + d3-array@3.2.4: + dependencies: + internmap: 2.0.3 + + d3-axis@3.0.0: {} + + d3-brush@3.0.0: + dependencies: + d3-dispatch: 3.0.1 + d3-drag: 3.0.0 + d3-interpolate: 3.0.1 + d3-selection: 3.0.0 + d3-transition: 3.0.1(d3-selection@3.0.0) + + d3-chord@3.0.1: + dependencies: + d3-path: 3.1.0 + + d3-color@3.1.0: {} + + d3-contour@4.0.2: + dependencies: + d3-array: 3.2.4 + + d3-delaunay@6.0.4: + dependencies: + delaunator: 5.1.0 + + d3-dispatch@3.0.1: {} + + d3-drag@3.0.0: + dependencies: + d3-dispatch: 3.0.1 + d3-selection: 3.0.0 + + d3-dsv@3.0.1: + dependencies: + commander: 7.2.0 + iconv-lite: 0.6.3 + rw: 1.3.3 + + d3-ease@3.0.1: {} + + d3-fetch@3.0.1: + dependencies: + d3-dsv: 3.0.1 + + d3-force@3.0.0: + dependencies: + d3-dispatch: 3.0.1 + d3-quadtree: 3.0.1 + d3-timer: 3.0.1 + + d3-format@3.1.2: {} + + d3-geo@3.1.1: + dependencies: + d3-array: 3.2.4 + + d3-hierarchy@3.1.2: {} + + d3-interpolate@3.0.1: + dependencies: + d3-color: 3.1.0 + + d3-path@1.0.9: {} + + d3-path@3.1.0: {} + + d3-polygon@3.0.1: {} + + d3-quadtree@3.0.1: {} + + d3-random@3.0.1: {} + + d3-sankey@0.12.3: + dependencies: + d3-array: 2.12.1 + d3-shape: 1.3.7 + + d3-scale-chromatic@3.1.0: + dependencies: + d3-color: 3.1.0 + d3-interpolate: 3.0.1 + + d3-scale@4.0.2: + dependencies: + d3-array: 3.2.4 + d3-format: 3.1.2 + d3-interpolate: 3.0.1 + d3-time: 3.1.0 + d3-time-format: 4.1.0 + + d3-selection@3.0.0: {} + + d3-shape@1.3.7: + dependencies: + d3-path: 1.0.9 + + d3-shape@3.2.0: + dependencies: + d3-path: 3.1.0 + + d3-time-format@4.1.0: + dependencies: + d3-time: 3.1.0 + + d3-time@3.1.0: + dependencies: + d3-array: 3.2.4 + + d3-timer@3.0.1: {} + + d3-transition@3.0.1(d3-selection@3.0.0): + dependencies: + d3-color: 3.1.0 + d3-dispatch: 3.0.1 + d3-ease: 3.0.1 + d3-interpolate: 3.0.1 + d3-selection: 3.0.0 + d3-timer: 3.0.1 + + d3-zoom@3.0.0: + dependencies: + d3-dispatch: 3.0.1 + d3-drag: 3.0.0 + d3-interpolate: 3.0.1 + d3-selection: 3.0.0 + d3-transition: 3.0.1(d3-selection@3.0.0) + + d3@7.9.0: + dependencies: + d3-array: 3.2.4 + d3-axis: 3.0.0 + d3-brush: 3.0.0 + d3-chord: 3.0.1 + d3-color: 3.1.0 + d3-contour: 4.0.2 + d3-delaunay: 6.0.4 + d3-dispatch: 3.0.1 + d3-drag: 3.0.0 + d3-dsv: 3.0.1 + d3-ease: 3.0.1 + d3-fetch: 3.0.1 + d3-force: 3.0.0 + d3-format: 3.1.2 + d3-geo: 3.1.1 + d3-hierarchy: 3.1.2 + d3-interpolate: 3.0.1 + d3-path: 3.1.0 + d3-polygon: 3.0.1 + d3-quadtree: 3.0.1 + d3-random: 3.0.1 + d3-scale: 4.0.2 + d3-scale-chromatic: 3.1.0 + d3-selection: 3.0.0 + d3-shape: 3.2.0 + d3-time: 3.1.0 + d3-time-format: 4.1.0 + d3-timer: 3.0.1 + d3-transition: 3.0.1(d3-selection@3.0.0) + d3-zoom: 3.0.0 + + d@1.0.2: + dependencies: + es5-ext: 0.10.64 + type: 2.7.3 + + dagre-d3-es@7.0.14: + dependencies: + d3: 7.9.0 + lodash-es: 4.18.1 + + data-uri-to-buffer@4.0.1: {} + + data-view-buffer@1.0.2: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-data-view: 1.0.2 + + data-view-byte-length@1.0.2: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-data-view: 1.0.2 + + data-view-byte-offset@1.0.1: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-data-view: 1.0.2 + + date-fns@2.30.0: + dependencies: + '@babel/runtime': 7.29.7 + + dayjs@1.11.21: {} + + debug@2.6.9: + dependencies: + ms: 2.0.0 + + debug@3.2.7: + dependencies: + ms: 2.1.3 + + debug@4.4.3: + dependencies: + ms: 2.1.3 + + decamelize-keys@1.1.1: + dependencies: + decamelize: 1.2.0 + map-obj: 1.0.1 + + decamelize@1.2.0: {} + + decode-named-character-reference@1.3.0: + dependencies: + character-entities: 2.0.2 + + decode-uri-component@0.2.2: {} + + deep-is@0.1.4: {} + + deepmerge@1.5.2: {} + + deepmerge@4.3.1: {} + + default-browser-id@3.0.0: + dependencies: + bplist-parser: 0.2.0 + untildify: 4.0.0 + + default-browser@4.0.0: + dependencies: + bundle-name: 3.0.0 + default-browser-id: 3.0.0 + execa: 7.2.0 + titleize: 3.0.0 + + define-data-property@1.1.4: + dependencies: + es-define-property: 1.0.1 + es-errors: 1.3.0 + gopd: 1.2.0 + + define-lazy-prop@2.0.0: {} + + define-lazy-prop@3.0.0: {} + + define-properties@1.2.1: + dependencies: + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 + object-keys: 1.1.1 + + delaunator@5.1.0: + dependencies: + robust-predicates: 3.0.3 + + delayed-stream@1.0.0: {} + + depd@1.1.2: {} + + depd@2.0.0: {} + + dequal@2.0.3: {} + + des.js@1.1.0: + dependencies: + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + + destroy@1.0.4: {} + + destroy@1.2.0: {} + + detect-indent@7.0.2: {} + + detect-libc@1.0.3: {} + + detect-newline@4.0.1: {} + + detect-node@2.1.0: {} + + diffie-hellman@5.0.3: + dependencies: + bn.js: 4.12.3 + miller-rabin: 4.0.1 + randombytes: 2.1.0 + + dir-glob@3.0.1: + dependencies: + path-type: 4.0.0 + + doctrine@2.1.0: + dependencies: + esutils: 2.0.3 + + doctrine@3.0.0: + dependencies: + esutils: 2.0.3 + + dom-align@1.12.4: {} + + dom-converter@0.2.0: + dependencies: + utila: 0.4.0 + + dom-serializer@1.4.1: + dependencies: + domelementtype: 2.3.0 + domhandler: 4.3.1 + entities: 2.2.0 + + dom-walk@0.1.2: {} + + dom7@4.0.6: + dependencies: + ssr-window: 4.0.2 + + domain-browser@1.2.0: {} + + domelementtype@2.3.0: {} + + domhandler@4.3.1: + dependencies: + domelementtype: 2.3.0 + + domparser-darwin-arm64@0.0.7: + optional: true + + domparser-darwin-x64@0.0.7: + optional: true + + domparser-linux-arm64-gnu@0.0.7: + optional: true + + domparser-linux-arm64-musl@0.0.7: + optional: true + + domparser-linux-x64-gnu@0.0.7: + optional: true + + domparser-linux-x64-musl@0.0.7: + optional: true + + domparser-rs@0.0.7: + optionalDependencies: + domparser-darwin-arm64: 0.0.7 + domparser-darwin-x64: 0.0.7 + domparser-linux-arm64-gnu: 0.0.7 + domparser-linux-arm64-musl: 0.0.7 + domparser-linux-x64-gnu: 0.0.7 + domparser-linux-x64-musl: 0.0.7 + domparser-win32-arm64-msvc: 0.0.7 + domparser-win32-x64-msvc: 0.0.7 + + domparser-win32-arm64-msvc@0.0.7: + optional: true + + domparser-win32-x64-msvc@0.0.7: + optional: true + + dompurify@3.4.7: + optionalDependencies: + '@types/trusted-types': 2.0.7 + + domutils@2.8.0: + dependencies: + dom-serializer: 1.4.1 + domelementtype: 2.3.0 + domhandler: 4.3.1 + + dot-case@3.0.4: + dependencies: + no-case: 3.0.4 + tslib: 2.8.1 + + dunder-proto@1.0.1: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-errors: 1.3.0 + gopd: 1.2.0 + + duplexify@4.1.3: + dependencies: + end-of-stream: 1.4.5 + inherits: 2.0.4 + readable-stream: 3.6.2 + stream-shift: 1.0.3 + + dva-core@1.5.0-beta.2(redux@3.7.2): + dependencies: + '@babel/runtime': 7.29.7 + flatten: 1.0.3 + global: 4.4.0 + invariant: 2.2.4 + is-plain-object: 2.0.4 + redux: 3.7.2 + redux-saga: 0.16.2 + warning: 3.0.0 + + dva-core@2.0.4(redux@4.2.1): + dependencies: + '@babel/runtime': 7.29.7 + flatten: 1.0.3 + global: 4.4.0 + invariant: 2.2.4 + is-plain-object: 2.0.4 + redux: 4.2.1 + redux-saga: 0.16.2 + warning: 3.0.0 + + dva-immer@1.0.2(dva@2.5.0-beta.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6)): + dependencies: + '@babel/runtime': 7.29.7 + dva: 2.5.0-beta.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + immer: 8.0.4 + + dva-loading@3.0.25(dva-core@2.0.4(redux@4.2.1)): + dependencies: + '@babel/runtime': 7.29.7 + dva-core: 2.0.4(redux@4.2.1) + + dva@2.5.0-beta.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + dependencies: + '@babel/runtime': 7.29.7 + '@types/isomorphic-fetch': 0.0.34 + '@types/react-router-dom': 4.3.5 + '@types/react-router-redux': 5.0.27 + dva-core: 1.5.0-beta.2(redux@3.7.2) + global: 4.4.0 + history: 4.10.1 + invariant: 2.2.4 + isomorphic-fetch: 2.2.1 + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + react-redux: 5.1.2(react@19.2.6)(redux@3.7.2) + react-router-dom: 4.3.1(react@19.2.6) + react-router-redux: 5.0.0-alpha.9(react@19.2.6) + redux: 3.7.2 + + eastasianwidth@0.2.0: {} + + echarts-for-react@3.0.6(echarts@6.1.0)(react@19.2.6): + dependencies: + echarts: 6.1.0 + fast-deep-equal: 3.1.3 + react: 19.2.6 + size-sensor: 1.0.3 + + echarts@6.1.0: + dependencies: + tslib: 2.3.0 + zrender: 6.1.0 + + ee-first@1.1.1: {} + + electron-to-chromium@1.5.363: {} + + elliptic@6.6.1: + dependencies: + bn.js: 4.12.3 + brorand: 1.1.0 + hash.js: 1.1.7 + hmac-drbg: 1.0.1 + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + minimalistic-crypto-utils: 1.0.1 + + emoji-regex@8.0.0: {} + + emoji-regex@9.2.2: {} + + emojis-list@3.0.0: {} + + encodeurl@1.0.2: {} + + encodeurl@2.0.0: {} + + encoding@0.1.13: + dependencies: + iconv-lite: 0.6.3 + + end-of-stream@1.4.5: + dependencies: + once: 1.4.0 + + enhanced-resolve@5.22.0: + dependencies: + graceful-fs: 4.2.11 + tapable: 2.3.3 + + enhanced-resolve@5.9.3: + dependencies: + graceful-fs: 4.2.11 + tapable: 2.3.3 + + entities@2.2.0: {} + + entities@4.5.0: {} + + env-paths@2.2.1: {} + + errno@0.1.8: + dependencies: + prr: 1.0.1 + optional: true + + error-ex@1.3.4: + dependencies: + is-arrayish: 0.2.1 + + error-stack-parser@2.1.4: + dependencies: + stackframe: 1.3.4 + + es-abstract@1.24.2: + dependencies: + array-buffer-byte-length: 1.0.2 + arraybuffer.prototype.slice: 1.0.4 + available-typed-arrays: 1.0.7 + call-bind: 1.0.9 + call-bound: 1.0.4 + data-view-buffer: 1.0.2 + data-view-byte-length: 1.0.2 + data-view-byte-offset: 1.0.1 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.2 + es-set-tostringtag: 2.1.0 + es-to-primitive: 1.3.0 + function.prototype.name: 1.1.8 + get-intrinsic: 1.3.0 + get-proto: 1.0.1 + get-symbol-description: 1.1.0 + globalthis: 1.0.4 + gopd: 1.2.0 + has-property-descriptors: 1.0.2 + has-proto: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.3 + internal-slot: 1.1.0 + is-array-buffer: 3.0.5 + is-callable: 1.2.7 + is-data-view: 1.0.2 + is-negative-zero: 2.0.3 + is-regex: 1.2.1 + is-set: 2.0.3 + is-shared-array-buffer: 1.0.4 + is-string: 1.1.1 + is-typed-array: 1.1.15 + is-weakref: 1.1.1 + math-intrinsics: 1.1.0 + object-inspect: 1.13.4 + object-keys: 1.1.1 + object.assign: 4.1.7 + own-keys: 1.0.1 + regexp.prototype.flags: 1.5.4 + safe-array-concat: 1.1.4 + safe-push-apply: 1.0.0 + safe-regex-test: 1.1.0 + set-proto: 1.0.0 + stop-iteration-iterator: 1.1.0 + string.prototype.trim: 1.2.10 + string.prototype.trimend: 1.0.9 + string.prototype.trimstart: 1.0.8 + typed-array-buffer: 1.0.3 + typed-array-byte-length: 1.0.3 + typed-array-byte-offset: 1.0.4 + typed-array-length: 1.0.7 + unbox-primitive: 1.1.0 + which-typed-array: 1.1.21 + + es-define-property@1.0.1: {} + + es-errors@1.3.0: {} + + es-get-iterator@1.1.3: + dependencies: + call-bind: 1.0.9 + get-intrinsic: 1.3.0 + has-symbols: 1.1.0 + is-arguments: 1.2.0 + is-map: 2.0.3 + is-set: 2.0.3 + is-string: 1.1.1 + isarray: 2.0.5 + stop-iteration-iterator: 1.1.0 + + es-iterator-helpers@1.3.2: + dependencies: + call-bind: 1.0.9 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-abstract: 1.24.2 + es-errors: 1.3.0 + es-set-tostringtag: 2.1.0 + function-bind: 1.1.2 + get-intrinsic: 1.3.0 + globalthis: 1.0.4 + gopd: 1.2.0 + has-property-descriptors: 1.0.2 + has-proto: 1.2.0 + has-symbols: 1.1.0 + internal-slot: 1.1.0 + iterator.prototype: 1.1.5 + math-intrinsics: 1.1.0 + + es-module-lexer@2.1.0: {} + + es-object-atoms@1.1.2: + dependencies: + es-errors: 1.3.0 + + es-set-tostringtag@2.1.0: + dependencies: + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + has-tostringtag: 1.0.2 + hasown: 2.0.3 + + es-shim-unscopables@1.1.0: + dependencies: + hasown: 2.0.3 + + es-to-primitive@1.3.0: + dependencies: + is-callable: 1.2.7 + is-date-object: 1.1.0 + is-symbol: 1.1.1 + + es-toolkit@1.47.0: {} + + es5-ext@0.10.64: + dependencies: + es6-iterator: 2.0.3 + es6-symbol: 3.1.4 + esniff: 2.0.1 + next-tick: 1.1.0 + + es5-imcompatible-versions@0.1.90: {} + + es6-iterator@2.0.3: + dependencies: + d: 1.0.2 + es5-ext: 0.10.64 + es6-symbol: 3.1.4 + + es6-promise@3.3.1: {} + + es6-promise@4.2.8: {} + + es6-symbol@3.1.4: + dependencies: + d: 1.0.2 + ext: 1.7.0 + + es6-weak-map@2.0.3: + dependencies: + d: 1.0.2 + es5-ext: 0.10.64 + es6-iterator: 2.0.3 + es6-symbol: 3.1.4 + + esbuild@0.18.20: + 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 + + esbuild@0.21.4: + optionalDependencies: + '@esbuild/aix-ppc64': 0.21.4 + '@esbuild/android-arm': 0.21.4 + '@esbuild/android-arm64': 0.21.4 + '@esbuild/android-x64': 0.21.4 + '@esbuild/darwin-arm64': 0.21.4 + '@esbuild/darwin-x64': 0.21.4 + '@esbuild/freebsd-arm64': 0.21.4 + '@esbuild/freebsd-x64': 0.21.4 + '@esbuild/linux-arm': 0.21.4 + '@esbuild/linux-arm64': 0.21.4 + '@esbuild/linux-ia32': 0.21.4 + '@esbuild/linux-loong64': 0.21.4 + '@esbuild/linux-mips64el': 0.21.4 + '@esbuild/linux-ppc64': 0.21.4 + '@esbuild/linux-riscv64': 0.21.4 + '@esbuild/linux-s390x': 0.21.4 + '@esbuild/linux-x64': 0.21.4 + '@esbuild/netbsd-x64': 0.21.4 + '@esbuild/openbsd-x64': 0.21.4 + '@esbuild/sunos-x64': 0.21.4 + '@esbuild/win32-arm64': 0.21.4 + '@esbuild/win32-ia32': 0.21.4 + '@esbuild/win32-x64': 0.21.4 + + escalade@3.2.0: {} + + escape-html@1.0.3: {} + + escape-string-regexp@1.0.5: {} + + escape-string-regexp@4.0.0: {} + + eslint-plugin-jest@27.2.3(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.35.0)(typescript@6.0.3))(eslint@8.35.0)(typescript@6.0.3))(eslint@8.35.0)(typescript@6.0.3): + dependencies: + '@typescript-eslint/utils': 5.62.0(eslint@8.35.0)(typescript@6.0.3) + eslint: 8.35.0 + optionalDependencies: + '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.35.0)(typescript@6.0.3))(eslint@8.35.0)(typescript@6.0.3) + transitivePeerDependencies: + - supports-color + - typescript + + eslint-plugin-react-hooks@4.6.0(eslint@8.35.0): + dependencies: + eslint: 8.35.0 + + eslint-plugin-react@7.33.2(eslint@8.35.0): + dependencies: + array-includes: 3.1.9 + array.prototype.flatmap: 1.3.3 + array.prototype.tosorted: 1.1.4 + doctrine: 2.1.0 + es-iterator-helpers: 1.3.2 + eslint: 8.35.0 + estraverse: 5.3.0 + jsx-ast-utils: 3.3.5 + minimatch: 3.1.5 + object.entries: 1.1.9 + object.fromentries: 2.0.8 + object.hasown: 1.1.4 + object.values: 1.2.1 + prop-types: 15.8.1 + resolve: 2.0.0-next.7 + semver: 6.3.1 + string.prototype.matchall: 4.0.12 + + eslint-scope@5.1.1: + dependencies: + esrecurse: 4.3.0 + estraverse: 4.3.0 + + eslint-scope@7.2.2: + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + + eslint-utils@3.0.0(eslint@8.35.0): + dependencies: + eslint: 8.35.0 + eslint-visitor-keys: 2.1.0 + + eslint-visitor-keys@2.1.0: {} + + eslint-visitor-keys@3.4.3: {} + + eslint@8.35.0: + dependencies: + '@eslint/eslintrc': 2.1.4 + '@eslint/js': 8.35.0 + '@humanwhocodes/config-array': 0.11.14 + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 + ajv: 6.15.0 + chalk: 4.1.2 + cross-spawn: 7.0.6 + debug: 4.4.3 + doctrine: 3.0.0 + escape-string-regexp: 4.0.0 + eslint-scope: 7.2.2 + eslint-utils: 3.0.0(eslint@8.35.0) + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.7.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.24.0 + grapheme-splitter: 1.0.4 + ignore: 5.3.2 + import-fresh: 3.3.1 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + is-path-inside: 3.0.3 + js-sdsl: 4.4.2 + js-yaml: 4.1.1 + json-stable-stringify-without-jsonify: 1.0.1 + levn: 0.4.1 + lodash.merge: 4.6.2 + minimatch: 3.1.5 + natural-compare: 1.4.0 + optionator: 0.9.4 + regexpp: 3.2.0 + strip-ansi: 6.0.1 + strip-json-comments: 3.1.1 + text-table: 0.2.0 + transitivePeerDependencies: + - supports-color + + esniff@2.0.1: + dependencies: + d: 1.0.2 + es5-ext: 0.10.64 + event-emitter: 0.3.5 + type: 2.7.3 + + espree@9.6.1: + dependencies: + acorn: 8.16.0 + acorn-jsx: 5.3.2(acorn@8.16.0) + eslint-visitor-keys: 3.4.3 + + esprima@4.0.1: {} + + esquery@1.7.0: + dependencies: + estraverse: 5.3.0 + + esrecurse@4.3.0: + dependencies: + estraverse: 5.3.0 + + estraverse@4.3.0: {} + + estraverse@5.3.0: {} + + esutils@2.0.3: {} + + etag@1.8.1: {} + + event-emitter@0.3.5: + dependencies: + d: 1.0.2 + es5-ext: 0.10.64 + + events-okam@3.3.0: {} + + events@3.3.0: {} + + evp_bytestokey@1.0.3: + dependencies: + md5.js: 1.3.5 + safe-buffer: 5.2.1 + + execa@5.1.1: + dependencies: + cross-spawn: 7.0.6 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + + execa@7.2.0: + dependencies: + cross-spawn: 7.0.6 + get-stream: 6.0.1 + human-signals: 4.3.1 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.3.0 + onetime: 6.0.0 + signal-exit: 3.0.7 + strip-final-newline: 3.0.0 + + execall@2.0.0: + dependencies: + clone-regexp: 2.2.0 + + express-http-proxy@2.1.2: + dependencies: + debug: 3.2.7 + es6-promise: 4.2.8 + raw-body: 2.5.3 + transitivePeerDependencies: + - supports-color + + express@4.22.2: + dependencies: + accepts: 1.3.8 + array-flatten: 1.1.1 + body-parser: 1.20.5 + content-disposition: 0.5.4 + content-type: 1.0.5 + cookie: 0.7.2 + cookie-signature: 1.0.7 + debug: 2.6.9 + depd: 2.0.0 + encodeurl: 2.0.0 + escape-html: 1.0.3 + etag: 1.8.1 + finalhandler: 1.3.2 + fresh: 0.5.2 + http-errors: 2.0.1 + merge-descriptors: 1.0.3 + methods: 1.1.2 + on-finished: 2.4.1 + parseurl: 1.3.3 + path-to-regexp: 0.1.13 + proxy-addr: 2.0.7 + qs: 6.15.2 + range-parser: 1.2.1 + safe-buffer: 5.2.1 + send: 0.19.2 + serve-static: 1.16.3 + setprototypeof: 1.2.0 + statuses: 2.0.2 + type-is: 1.6.18 + utils-merge: 1.0.1 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + + ext@1.7.0: + dependencies: + type: 2.7.3 + + fast-deep-equal@3.1.3: {} + + fast-glob@3.2.12: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.8 + + fast-glob@3.3.3: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.8 + + fast-json-stable-stringify@2.1.0: {} + + fast-levenshtein@2.0.6: {} + + fast-redact@3.5.0: {} + + fast-safe-stringify@2.1.1: {} + + fast-uri@3.1.2: {} + + fastest-levenshtein@1.0.16: {} + + fastq@1.20.1: + dependencies: + reusify: 1.1.0 + + fault@1.0.4: + dependencies: + format: 0.2.2 + + fb-watchman@2.0.2: + dependencies: + bser: 2.1.1 + + fetch-blob@3.2.0: + dependencies: + node-domexception: 1.0.0 + web-streams-polyfill: 3.3.3 + + file-entry-cache@6.0.1: + dependencies: + flat-cache: 3.2.0 + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + filter-obj@1.1.0: {} + + finalhandler@1.3.2: + dependencies: + debug: 2.6.9 + encodeurl: 2.0.0 + escape-html: 1.0.3 + on-finished: 2.4.1 + parseurl: 1.3.3 + statuses: 2.0.2 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + + find-root@1.1.0: {} + + find-up@4.1.0: + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + + find-up@5.0.0: + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + + flat-cache@3.2.0: + dependencies: + flatted: 3.4.2 + keyv: 4.5.4 + rimraf: 3.0.2 + + flatted@3.4.2: {} + + flatten@1.0.3: {} + + follow-redirects@1.16.0: {} + + for-each@0.3.5: + dependencies: + is-callable: 1.2.7 + + foreground-child@3.3.1: + dependencies: + cross-spawn: 7.0.6 + signal-exit: 4.1.0 + + fork-ts-checker-webpack-plugin@8.0.0(typescript@6.0.3)(webpack@5.107.2(lightningcss@1.22.1)(postcss@8.5.15)): + dependencies: + '@babel/code-frame': 7.29.7 + chalk: 4.1.2 + chokidar: 3.6.0 + cosmiconfig: 7.1.0 + deepmerge: 4.3.1 + fs-extra: 10.1.0 + memfs: 3.5.3 + minimatch: 3.1.5 + node-abort-controller: 3.1.1 + schema-utils: 3.3.0 + semver: 7.8.1 + tapable: 2.3.3 + typescript: 6.0.3 + webpack: 5.107.2(lightningcss@1.22.1)(postcss@8.5.15) + + form-data@4.0.5: + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + es-set-tostringtag: 2.1.0 + hasown: 2.0.3 + mime-types: 2.1.35 + + format@0.2.2: {} + + formdata-polyfill@4.0.10: + dependencies: + fetch-blob: 3.2.0 + + forwarded@0.2.0: {} + + fraction.js@5.3.4: {} + + fresh@0.5.2: {} + + fs-extra@10.1.0: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.2.1 + universalify: 2.0.1 + + fs-monkey@1.1.0: {} + + fs.realpath@1.0.0: {} + + fsevents@2.3.3: + optional: true + + function-bind@1.1.2: {} + + function.prototype.name@1.1.8: + dependencies: + call-bind: 1.0.9 + call-bound: 1.0.4 + define-properties: 1.2.1 + functions-have-names: 1.2.3 + hasown: 2.0.3 + is-callable: 1.2.7 + + functions-have-names@1.2.3: {} + + generator-function@2.0.1: {} + + gensync@1.0.0-beta.2: {} + + get-caller-file@2.0.5: {} + + get-intrinsic@1.3.0: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.2 + function-bind: 1.1.2 + get-proto: 1.0.1 + gopd: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.3 + math-intrinsics: 1.1.0 + + get-package-type@0.1.0: {} + + get-port@5.1.1: {} + + get-proto@1.0.1: + dependencies: + dunder-proto: 1.0.1 + es-object-atoms: 1.1.2 + + get-stdin@8.0.0: {} + + get-stream@6.0.1: {} + + get-symbol-description@1.1.0: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + + get-tsconfig@4.14.0: + dependencies: + resolve-pkg-maps: 1.0.0 + + get-tsconfig@4.7.5: + dependencies: + resolve-pkg-maps: 1.0.0 + + git-hooks-list@3.2.0: {} + + glob-parent@5.1.2: + dependencies: + is-glob: 4.0.3 + + glob-parent@6.0.2: + dependencies: + is-glob: 4.0.3 + + glob-to-regexp@0.4.1: {} + + glob@10.5.0: + dependencies: + foreground-child: 3.3.1 + jackspeak: 3.4.3 + minimatch: 9.0.9 + minipass: 7.1.3 + package-json-from-dist: 1.0.1 + path-scurry: 1.11.1 + + glob@7.2.3: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.5 + once: 1.4.0 + path-is-absolute: 1.0.1 + + glob@9.3.5: + dependencies: + fs.realpath: 1.0.0 + minimatch: 8.0.7 + minipass: 4.2.8 + path-scurry: 1.11.1 + + global-modules@2.0.0: + dependencies: + global-prefix: 3.0.0 + + global-prefix@3.0.0: + dependencies: + ini: 1.3.8 + kind-of: 6.0.3 + which: 1.3.1 + + global@4.4.0: + dependencies: + min-document: 2.19.2 + process: 0.11.10 + + globals@13.24.0: + dependencies: + type-fest: 0.20.2 + + globalthis@1.0.4: + dependencies: + define-properties: 1.2.1 + gopd: 1.2.0 + + globby@11.1.0: + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.3.3 + ignore: 5.3.2 + merge2: 1.4.1 + slash: 3.0.0 + + globby@13.2.2: + dependencies: + dir-glob: 3.0.1 + fast-glob: 3.3.3 + ignore: 5.3.2 + merge2: 1.4.1 + slash: 4.0.0 + + globjoin@0.1.4: {} + + gopd@1.2.0: {} + + graceful-fs@4.2.11: {} + + grapheme-splitter@1.0.4: {} + + graphemer@1.4.0: {} + + hachure-fill@0.5.2: {} + + handle-thing@2.0.1: {} + + hard-rejection@2.1.0: {} + + harmony-reflect@1.6.2: {} + + has-bigints@1.1.0: {} + + has-flag@3.0.0: {} + + has-flag@4.0.0: {} + + has-property-descriptors@1.0.2: + dependencies: + es-define-property: 1.0.1 + + has-proto@1.2.0: + dependencies: + dunder-proto: 1.0.1 + + has-symbols@1.1.0: {} + + has-tostringtag@1.0.2: + dependencies: + has-symbols: 1.1.0 + + hash-base@3.0.5: + dependencies: + inherits: 2.0.4 + safe-buffer: 5.2.1 + + hash-base@3.1.2: + dependencies: + inherits: 2.0.4 + readable-stream: 2.3.8 + safe-buffer: 5.2.1 + to-buffer: 1.2.2 + + hash.js@1.1.7: + dependencies: + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + + hasown@2.0.3: + dependencies: + function-bind: 1.1.2 + + hast-util-parse-selector@4.0.0: + dependencies: + '@types/hast': 3.0.4 + + hastscript@9.0.1: + dependencies: + '@types/hast': 3.0.4 + comma-separated-tokens: 2.0.3 + hast-util-parse-selector: 4.0.0 + property-information: 7.1.0 + space-separated-tokens: 2.0.2 + + he@1.2.0: {} + + highlight.js@10.7.3: {} + + highlightjs-vue@1.0.0: {} + + history@4.10.1: + dependencies: + '@babel/runtime': 7.29.7 + loose-envify: 1.4.0 + resolve-pathname: 3.0.0 + tiny-invariant: 1.3.3 + tiny-warning: 1.0.3 + value-equal: 1.0.1 + + history@5.3.0: + dependencies: + '@babel/runtime': 7.23.6 + + hmac-drbg@1.0.1: + dependencies: + hash.js: 1.1.7 + minimalistic-assert: 1.0.1 + minimalistic-crypto-utils: 1.0.1 + + hoist-non-react-statics@2.5.5: {} + + hoist-non-react-statics@3.3.2: + dependencies: + react-is: 16.13.1 + + hono@4.12.23: {} + + hosted-git-info@2.8.9: {} + + hosted-git-info@4.1.0: + dependencies: + lru-cache: 6.0.0 + + hpack.js@2.1.6: + dependencies: + inherits: 2.0.4 + obuf: 1.1.2 + readable-stream: 2.3.8 + wbuf: 1.7.3 + + htm@3.1.1: {} + + html-entities@2.6.0: {} + + html-minifier-terser@6.1.0: + dependencies: + camel-case: 4.1.2 + clean-css: 5.3.3 + commander: 8.3.0 + he: 1.2.0 + param-case: 3.0.4 + relateurl: 0.2.7 + terser: 5.48.0 + + html-tags@3.3.1: {} + + html-void-elements@3.0.0: {} + + html-webpack-plugin@5.5.0(webpack@5.107.2(lightningcss@1.22.1)(postcss@8.5.15)): + dependencies: + '@types/html-minifier-terser': 6.1.0 + html-minifier-terser: 6.1.0 + lodash: 4.18.1 + pretty-error: 4.0.0 + tapable: 2.3.3 + webpack: 5.107.2(lightningcss@1.22.1)(postcss@8.5.15) + + htmlparser2@6.1.0: + dependencies: + domelementtype: 2.3.0 + domhandler: 4.3.1 + domutils: 2.8.0 + entities: 2.2.0 + + http-deceiver@1.2.7: {} + + http-errors@1.7.3: + dependencies: + depd: 1.1.2 + inherits: 2.0.4 + setprototypeof: 1.1.1 + statuses: 1.5.0 + toidentifier: 1.0.0 + + http-errors@2.0.1: + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.2 + toidentifier: 1.0.1 + + http2-client@1.3.5: {} + + https-browserify@1.0.0: {} + + https-proxy-agent@5.0.1: + dependencies: + agent-base: 6.0.2 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + human-signals@2.1.0: {} + + human-signals@4.3.1: {} + + i18next@23.16.8: + dependencies: + '@babel/runtime': 7.29.7 + + iconv-lite@0.4.24: + dependencies: + safer-buffer: 2.1.2 + + iconv-lite@0.6.3: + dependencies: + safer-buffer: 2.1.2 + + icss-utils@5.1.0(postcss@8.5.15): + dependencies: + postcss: 8.5.15 + + identity-obj-proxy@3.0.0: + dependencies: + harmony-reflect: 1.6.2 + + ieee754@1.2.1: {} + + ignore@5.3.2: {} + + image-size@0.5.5: + optional: true + + immer@8.0.4: {} + + immutable@4.3.8: {} + + import-fresh@3.3.1: + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + + import-html-entry@1.17.0: + dependencies: + '@babel/runtime': 7.29.7 + + import-lazy@4.0.0: {} + + import-meta-resolve@4.2.0: {} + + imurmurhash@0.1.4: {} + + indent-string@4.0.0: {} + + inflight@1.0.6: + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + + inherits@2.0.1: {} + + inherits@2.0.3: {} + + inherits@2.0.4: {} + + ini@1.3.8: {} + + internal-slot@1.1.0: + dependencies: + es-errors: 1.3.0 + hasown: 2.0.3 + side-channel: 1.1.0 + + internmap@1.0.1: {} + + internmap@2.0.3: {} + + intersection-observer@0.12.2: {} + + intl-format-cache@4.3.1: {} + + intl-messageformat-parser@3.6.4: + dependencies: + '@formatjs/intl-unified-numberformat': 3.3.7 + + intl-messageformat@7.8.4: + dependencies: + intl-format-cache: 4.3.1 + intl-messageformat-parser: 3.6.4 + + intl@1.2.5: {} + + invariant@2.2.4: + dependencies: + loose-envify: 1.4.0 + + ipaddr.js@1.9.1: {} + + is-alphabetical@2.0.1: {} + + is-alphanumerical@2.0.1: + dependencies: + is-alphabetical: 2.0.1 + is-decimal: 2.0.1 + + is-arguments@1.2.0: + dependencies: + call-bound: 1.0.4 + has-tostringtag: 1.0.2 + + is-array-buffer@3.0.5: + dependencies: + call-bind: 1.0.9 + call-bound: 1.0.4 + get-intrinsic: 1.3.0 + + is-arrayish@0.2.1: {} + + is-arrow-function@2.0.3: + dependencies: + is-callable: 1.2.7 + + is-async-function@2.1.1: + dependencies: + async-function: 1.0.0 + call-bound: 1.0.4 + get-proto: 1.0.1 + has-tostringtag: 1.0.2 + safe-regex-test: 1.1.0 + + is-bigint@1.1.0: + dependencies: + has-bigints: 1.1.0 + + is-binary-path@2.1.0: + dependencies: + binary-extensions: 2.3.0 + + is-boolean-object@1.2.2: + dependencies: + call-bound: 1.0.4 + has-tostringtag: 1.0.2 + + is-callable@1.2.7: {} + + is-core-module@2.16.2: + dependencies: + hasown: 2.0.3 + + is-data-view@1.0.2: + dependencies: + call-bound: 1.0.4 + get-intrinsic: 1.3.0 + is-typed-array: 1.1.15 + + is-date-object@1.1.0: + dependencies: + call-bound: 1.0.4 + has-tostringtag: 1.0.2 + + is-decimal@2.0.1: {} + + is-docker@2.2.1: {} + + is-docker@3.0.0: {} + + is-equal@1.7.0: + dependencies: + es-get-iterator: 1.1.3 + es-to-primitive: 1.3.0 + functions-have-names: 1.2.3 + has-bigints: 1.1.0 + has-symbols: 1.1.0 + hasown: 2.0.3 + is-arrow-function: 2.0.3 + is-bigint: 1.1.0 + is-boolean-object: 1.2.2 + is-callable: 1.2.7 + is-date-object: 1.1.0 + is-generator-function: 1.1.2 + is-number-object: 1.1.1 + is-regex: 1.2.1 + is-string: 1.1.1 + is-symbol: 1.1.1 + isarray: 2.0.5 + object-inspect: 1.13.4 + object.entries: 1.1.9 + object.getprototypeof: 1.0.7 + which-boxed-primitive: 1.1.1 + which-collection: 1.0.2 + + is-extglob@2.1.1: {} + + is-finalizationregistry@1.1.1: + dependencies: + call-bound: 1.0.4 + + is-fullwidth-code-point@3.0.0: {} + + is-generator-function@1.1.2: + dependencies: + call-bound: 1.0.4 + generator-function: 2.0.1 + get-proto: 1.0.1 + has-tostringtag: 1.0.2 + safe-regex-test: 1.1.0 + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + is-hexadecimal@2.0.1: {} + + is-hotkey@0.2.0: {} + + is-inside-container@1.0.0: + dependencies: + is-docker: 3.0.0 + + is-map@2.0.3: {} + + is-mobile@5.0.0: {} + + is-negative-zero@2.0.3: {} + + is-network-error@1.3.2: {} + + is-number-object@1.1.1: + dependencies: + call-bound: 1.0.4 + has-tostringtag: 1.0.2 + + is-number@7.0.0: {} + + is-path-inside@3.0.3: {} + + is-plain-obj@1.1.0: {} + + is-plain-obj@4.1.0: {} + + is-plain-object@2.0.4: + dependencies: + isobject: 3.0.1 + + is-plain-object@5.0.0: {} + + is-promise@2.2.2: {} + + is-regex@1.2.1: + dependencies: + call-bound: 1.0.4 + gopd: 1.2.0 + has-tostringtag: 1.0.2 + hasown: 2.0.3 + + is-regexp@2.1.0: {} + + is-set@2.0.3: {} + + is-shared-array-buffer@1.0.4: + dependencies: + call-bound: 1.0.4 + + is-stream@1.1.0: {} + + is-stream@2.0.1: {} + + is-stream@3.0.0: {} + + is-string@1.1.1: + dependencies: + call-bound: 1.0.4 + has-tostringtag: 1.0.2 + + is-symbol@1.1.1: + dependencies: + call-bound: 1.0.4 + has-symbols: 1.1.0 + safe-regex-test: 1.1.0 + + is-typed-array@1.1.15: + dependencies: + which-typed-array: 1.1.21 + + is-url@1.2.4: {} + + is-weakmap@2.0.2: {} + + is-weakref@1.1.1: + dependencies: + call-bound: 1.0.4 + + is-weakset@2.0.4: + dependencies: + call-bound: 1.0.4 + get-intrinsic: 1.3.0 + + is-what@3.14.1: {} + + is-what@4.1.16: {} + + is-wsl@2.2.0: + dependencies: + is-docker: 2.2.1 + + isarray@0.0.1: {} + + isarray@1.0.0: {} + + isarray@2.0.5: {} + + isexe@2.0.0: {} + + isobject@3.0.1: {} + + isomorphic-fetch@2.2.1: + dependencies: + node-fetch: 1.7.3 + whatwg-fetch: 3.6.20 + + isomorphic-rslog@0.0.7: {} + + isomorphic-unfetch@4.0.2: + dependencies: + node-fetch: 3.3.2 + unfetch: 5.0.0 + + istanbul-lib-coverage@3.2.2: {} + + istanbul-lib-instrument@5.2.1: + dependencies: + '@babel/core': 7.29.7 + '@babel/parser': 7.29.7 + '@istanbuljs/schema': 0.1.6 + istanbul-lib-coverage: 3.2.2 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + iterator.prototype@1.1.5: + dependencies: + define-data-property: 1.1.4 + es-object-atoms: 1.1.2 + get-intrinsic: 1.3.0 + get-proto: 1.0.1 + has-symbols: 1.1.0 + set-function-name: 2.0.2 + + jackspeak@3.4.3: + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + + javascript-stringify@2.1.0: {} + + jest-haste-map@29.7.0: + dependencies: + '@jest/types': 29.6.3 + '@types/graceful-fs': 4.1.9 + '@types/node': 25.9.1 + anymatch: 3.1.3 + fb-watchman: 2.0.2 + graceful-fs: 4.2.11 + jest-regex-util: 29.6.3 + jest-util: 29.7.0 + jest-worker: 29.7.0 + micromatch: 4.0.8 + walker: 1.0.8 + optionalDependencies: + fsevents: 2.3.3 + + jest-regex-util@29.6.3: {} + + jest-util@29.7.0: + dependencies: + '@jest/types': 29.6.3 + '@types/node': 25.9.1 + chalk: 4.1.2 + ci-info: 3.9.0 + graceful-fs: 4.2.11 + picomatch: 2.3.2 + + jest-worker@27.5.1: + dependencies: + '@types/node': 25.9.1 + merge-stream: 2.0.0 + supports-color: 8.1.1 + + jest-worker@29.4.3: + dependencies: + '@types/node': 25.9.1 + jest-util: 29.7.0 + merge-stream: 2.0.0 + supports-color: 8.1.1 + + jest-worker@29.7.0: + dependencies: + '@types/node': 25.9.1 + jest-util: 29.7.0 + merge-stream: 2.0.0 + supports-color: 8.1.1 + + jiti@2.7.0: {} + + js-cookie@3.0.8: {} + + js-sdsl@4.4.2: {} + + js-tokens@4.0.0: {} + + js-yaml@3.14.2: + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + + js-yaml@4.1.1: + dependencies: + argparse: 2.0.1 + + jsencrypt@3.5.4: {} + + jsesc@2.5.2: {} + + jsesc@3.1.0: {} + + json-buffer@3.0.1: {} + + json-parse-even-better-errors@2.3.1: {} + + json-schema-traverse@0.4.1: {} + + json-schema-traverse@1.0.0: {} + + json-stable-stringify-without-jsonify@1.0.1: {} + + json2mq@0.2.0: + dependencies: + string-convert: 0.2.1 + + json5@2.2.3: {} + + jsonfile@6.2.1: + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + + jsx-ast-utils@3.3.5: + dependencies: + array-includes: 3.1.9 + array.prototype.flat: 1.3.3 + object.assign: 4.1.7 + object.values: 1.2.1 + + katex@0.16.47: + dependencies: + commander: 8.3.0 + + keyv@4.5.4: + dependencies: + json-buffer: 3.0.1 + + khroma@2.1.0: {} + + kind-of@6.0.3: {} + + klona@2.0.6: {} + + known-css-properties@0.25.0: {} + + kolorist@1.8.0: {} + + layout-base@1.0.2: {} + + layout-base@2.0.1: {} + + less-loader@11.1.0(less@4.1.3)(webpack@5.107.2(lightningcss@1.22.1)(postcss@8.5.15)): + dependencies: + klona: 2.0.6 + less: 4.1.3 + webpack: 5.107.2(lightningcss@1.22.1)(postcss@8.5.15) + + less-loader@12.3.3(less@4.6.4)(webpack@5.107.2(lightningcss@1.22.1)(postcss@8.5.15)): + dependencies: + less: 4.6.4 + optionalDependencies: + webpack: 5.107.2(lightningcss@1.22.1)(postcss@8.5.15) + + less-plugin-resolve@1.0.2: + dependencies: + enhanced-resolve: 5.22.0 + + less@4.1.3: + dependencies: + copy-anything: 2.0.6 + parse-node-version: 1.0.1 + tslib: 2.8.1 + 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.5.0 + source-map: 0.6.1 + + less@4.6.4: + dependencies: + copy-anything: 3.0.5 + parse-node-version: 1.0.1 + 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.5.0 + source-map: 0.6.1 + + levn@0.4.1: + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + + lightningcss-darwin-arm64@1.22.1: + optional: true + + lightningcss-darwin-x64@1.22.1: + optional: true + + lightningcss-freebsd-x64@1.22.1: + optional: true + + lightningcss-linux-arm-gnueabihf@1.22.1: + optional: true + + lightningcss-linux-arm64-gnu@1.22.1: + optional: true + + lightningcss-linux-arm64-musl@1.22.1: + optional: true + + lightningcss-linux-x64-gnu@1.22.1: + optional: true + + lightningcss-linux-x64-musl@1.22.1: + optional: true + + lightningcss-win32-x64-msvc@1.22.1: + optional: true + + lightningcss@1.22.1: + dependencies: + detect-libc: 1.0.3 + optionalDependencies: + lightningcss-darwin-arm64: 1.22.1 + lightningcss-darwin-x64: 1.22.1 + lightningcss-freebsd-x64: 1.22.1 + lightningcss-linux-arm-gnueabihf: 1.22.1 + lightningcss-linux-arm64-gnu: 1.22.1 + lightningcss-linux-arm64-musl: 1.22.1 + lightningcss-linux-x64-gnu: 1.22.1 + lightningcss-linux-x64-musl: 1.22.1 + lightningcss-win32-x64-msvc: 1.22.1 + + lines-and-columns@1.2.4: {} + + loader-runner@4.3.2: {} + + loader-utils@2.0.4: + dependencies: + big.js: 5.2.2 + emojis-list: 3.0.0 + json5: 2.2.3 + + loader-utils@3.3.1: {} + + local-pkg@0.4.3: {} + + locate-path@5.0.0: + dependencies: + p-locate: 4.1.0 + + locate-path@6.0.0: + dependencies: + p-locate: 5.0.0 + + lodash-es@4.18.1: {} + + lodash.camelcase@4.3.0: {} + + lodash.clonedeep@4.5.0: {} + + lodash.debounce@4.0.8: {} + + lodash.foreach@4.5.0: {} + + lodash.merge@4.6.2: {} + + lodash.throttle@4.1.1: {} + + lodash.toarray@4.4.0: {} + + lodash.truncate@4.4.2: {} + + lodash@4.18.1: {} + + loose-envify@1.4.0: + dependencies: + js-tokens: 4.0.0 + + lower-case@2.0.2: + dependencies: + tslib: 2.8.1 + + lowlight@1.20.0: + dependencies: + fault: 1.0.4 + highlight.js: 10.7.3 + + lru-cache@10.4.3: {} + + lru-cache@5.1.1: + dependencies: + yallist: 3.1.1 + + lru-cache@6.0.0: + dependencies: + yallist: 4.0.0 + + lru-queue@0.1.0: + dependencies: + es5-ext: 0.10.64 + + make-dir@2.1.0: + dependencies: + pify: 4.0.1 + semver: 5.7.2 + optional: true + + makeerror@1.0.12: + dependencies: + tmpl: 1.0.5 + + map-obj@1.0.1: {} + + map-obj@4.3.0: {} + + marked@16.4.2: {} + + math-intrinsics@1.1.0: {} + + mathml-tag-names@2.1.3: {} + + md5.js@1.3.5: + dependencies: + hash-base: 3.0.5 + inherits: 2.0.4 + safe-buffer: 5.2.1 + + mdn-data@2.0.14: {} + + media-typer@0.3.0: {} + + memfs@3.5.3: + dependencies: + fs-monkey: 1.1.0 + + memoizee@0.4.17: + dependencies: + d: 1.0.2 + es5-ext: 0.10.64 + es6-weak-map: 2.0.3 + event-emitter: 0.3.5 + is-promise: 2.2.2 + lru-queue: 0.1.0 + next-tick: 1.1.0 + timers-ext: 0.1.8 + + meow@9.0.0: + dependencies: + '@types/minimist': 1.2.5 + camelcase-keys: 6.2.2 + decamelize: 1.2.0 + 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 + + merge-descriptors@1.0.3: {} + + merge-stream@2.0.0: {} + + merge2@1.4.1: {} + + mermaid@11.15.0: + dependencies: + '@braintree/sanitize-url': 7.1.2 + '@iconify/utils': 3.1.3 + '@mermaid-js/parser': 1.1.1 + '@types/d3': 7.4.3 + '@upsetjs/venn.js': 2.0.0 + cytoscape: 3.33.4 + cytoscape-cose-bilkent: 4.1.0(cytoscape@3.33.4) + cytoscape-fcose: 2.2.0(cytoscape@3.33.4) + d3: 7.9.0 + d3-sankey: 0.12.3 + dagre-d3-es: 7.0.14 + dayjs: 1.11.21 + dompurify: 3.4.7 + es-toolkit: 1.47.0 + katex: 0.16.47 + khroma: 2.1.0 + marked: 16.4.2 + roughjs: 4.6.6 + stylis: 4.4.0 + ts-dedent: 2.2.0 + uuid: 14.0.0 + + methods@1.1.2: {} + + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.2 + + miller-rabin@4.0.1: + dependencies: + bn.js: 4.12.3 + brorand: 1.1.0 + + mime-db@1.52.0: {} + + mime-db@1.54.0: {} + + mime-match@1.0.2: + dependencies: + wildcard: 1.1.2 + + mime-types@2.1.35: + dependencies: + mime-db: 1.52.0 + + mime@1.6.0: {} + + mimic-fn@2.1.0: {} + + mimic-fn@4.0.0: {} + + min-document@2.19.2: + dependencies: + dom-walk: 0.1.2 + + min-indent@1.0.1: {} + + minimalistic-assert@1.0.1: {} + + minimalistic-crypto-utils@1.0.1: {} + + minimatch@3.1.5: + dependencies: + brace-expansion: 1.1.15 + + minimatch@8.0.7: + dependencies: + brace-expansion: 2.1.1 + + minimatch@9.0.9: + dependencies: + brace-expansion: 2.1.1 + + minimist-options@4.1.0: + dependencies: + arrify: 1.0.1 + is-plain-obj: 1.1.0 + kind-of: 6.0.3 + + minipass@4.2.8: {} + + minipass@7.1.3: {} + + mock.js@0.2.0: {} + + mockjs@1.1.0: + dependencies: + commander: 14.0.3 + + moment@2.30.1: {} + + ms@2.0.0: {} + + ms@2.1.1: {} + + ms@2.1.3: {} + + namespace-emitter@2.0.1: {} + + nanoid@3.3.12: {} + + nanoid@5.1.11: {} + + natural-compare-lite@1.4.0: {} + + natural-compare@1.4.0: {} + + needle@3.5.0: + dependencies: + iconv-lite: 0.6.3 + sax: 1.6.0 + optional: true + + negotiator@0.6.3: {} + + negotiator@0.6.4: {} + + neo-async@2.6.2: {} + + next-tick@1.1.0: {} + + no-case@3.0.4: + dependencies: + lower-case: 2.0.2 + tslib: 2.8.1 + + node-abort-controller@3.1.1: {} + + node-domexception@1.0.0: {} + + node-exports-info@1.6.0: + dependencies: + array.prototype.flatmap: 1.3.3 + es-errors: 1.3.0 + object.entries: 1.1.9 + semver: 6.3.1 + + node-fetch-h2@2.3.0: + dependencies: + http2-client: 1.3.5 + + node-fetch@1.7.3: + dependencies: + encoding: 0.1.13 + is-stream: 1.1.0 + + node-fetch@2.7.0(encoding@0.1.13): + dependencies: + whatwg-url: 5.0.0 + optionalDependencies: + encoding: 0.1.13 + + node-fetch@3.3.2: + dependencies: + data-uri-to-buffer: 4.0.1 + fetch-blob: 3.2.0 + formdata-polyfill: 4.0.10 + + node-int64@0.4.0: {} + + node-libs-browser-okam@2.2.5: + dependencies: + assert-okam: 1.5.0 + browserify-zlib: 0.2.0 + buffer-okam: 4.9.2 + console-browserify: 1.2.0 + constants-browserify: 1.0.0 + crypto-browserify: 3.12.1 + domain-browser: 1.2.0 + events-okam: 3.3.0 + https-browserify: 1.0.0 + os-browserify: 0.3.0 + path-browserify: 0.0.1 + process-okam: 0.11.10 + punycode-okam: 1.4.1 + querystring-es3: 0.2.1 + readable-stream: 2.3.8 + stream-browserify: 2.0.2 + stream-http: 2.8.3 + string_decoder-okam: 1.3.0 + timers-browserify: 2.0.12 + tty-browserify: 0.0.0 + url-okam: 0.11.1 + util-okam: 0.11.1 + vm-browserify: 1.1.2 + + node-libs-browser@2.2.1: + dependencies: + assert: 1.5.1 + browserify-zlib: 0.2.0 + buffer: 4.9.2 + console-browserify: 1.2.0 + constants-browserify: 1.0.0 + crypto-browserify: 3.12.1 + domain-browser: 1.2.0 + events: 3.3.0 + https-browserify: 1.0.0 + os-browserify: 0.3.0 + path-browserify: 0.0.1 + process: 0.11.10 + punycode: 1.4.1 + querystring-es3: 0.2.1 + readable-stream: 2.3.8 + stream-browserify: 2.0.2 + stream-http: 2.8.3 + string_decoder: 1.3.0 + timers-browserify: 2.0.12 + tty-browserify: 0.0.0 + url: 0.11.4 + util: 0.11.1 + vm-browserify: 1.1.2 + + node-readfiles@0.2.0: + dependencies: + es6-promise: 3.3.1 + + node-releases@2.0.46: {} + + normalize-package-data@2.5.0: + dependencies: + hosted-git-info: 2.8.9 + resolve: 1.22.12 + semver: 5.7.2 + validate-npm-package-license: 3.0.4 + + normalize-package-data@3.0.3: + dependencies: + hosted-git-info: 4.1.0 + is-core-module: 2.16.2 + semver: 7.8.1 + validate-npm-package-license: 3.0.4 + + normalize-path@3.0.0: {} + + normalize-selector@0.2.0: {} + + npm-run-path@4.0.1: + dependencies: + path-key: 3.1.1 + + npm-run-path@5.3.0: + dependencies: + path-key: 4.0.0 + + nprogress@0.2.0: {} + + nth-check@2.1.1: + dependencies: + boolbase: 1.0.0 + + number-to-words@1.2.4: {} + + nunjucks@3.2.4(chokidar@3.6.0): + dependencies: + a-sync-waterfall: 1.0.1 + asap: 2.0.6 + commander: 5.1.0 + optionalDependencies: + chokidar: 3.6.0 + + oas-kit-common@1.0.8: + dependencies: + fast-safe-stringify: 2.1.1 + + oas-linter@3.2.2: + dependencies: + '@exodus/schemasafe': 1.3.0 + should: 13.2.3 + yaml: 1.10.3 + + oas-resolver@2.5.6: + dependencies: + node-fetch-h2: 2.3.0 + oas-kit-common: 1.0.8 + reftools: 1.1.9 + yaml: 1.10.3 + yargs: 17.7.2 + + oas-schema-walker@1.1.5: {} + + oas-validator@5.0.8: + dependencies: + call-me-maybe: 1.0.2 + oas-kit-common: 1.0.8 + oas-linter: 3.2.2 + oas-resolver: 2.5.6 + oas-schema-walker: 1.1.5 + reftools: 1.1.9 + should: 13.2.3 + yaml: 1.10.3 + + object-assign@4.1.1: {} + + object-inspect@1.13.4: {} + + object-keys@1.1.1: {} + + object.assign@4.1.7: + dependencies: + call-bind: 1.0.9 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-object-atoms: 1.1.2 + has-symbols: 1.1.0 + object-keys: 1.1.1 + + object.entries@1.1.9: + dependencies: + call-bind: 1.0.9 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-object-atoms: 1.1.2 + + object.fromentries@2.0.8: + dependencies: + call-bind: 1.0.9 + define-properties: 1.2.1 + es-abstract: 1.24.2 + es-object-atoms: 1.1.2 + + object.getprototypeof@1.0.7: + dependencies: + call-bind: 1.0.9 + define-properties: 1.2.1 + es-object-atoms: 1.1.2 + get-proto: 1.0.1 + reflect.getprototypeof: 1.0.10 + + object.hasown@1.1.4: + dependencies: + define-properties: 1.2.1 + es-abstract: 1.24.2 + es-object-atoms: 1.1.2 + + object.values@1.2.1: + dependencies: + call-bind: 1.0.9 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-object-atoms: 1.1.2 + + obuf@1.1.2: {} + + on-exit-leak-free@0.2.0: {} + + on-finished@2.3.0: + dependencies: + ee-first: 1.1.1 + + on-finished@2.4.1: + dependencies: + ee-first: 1.1.1 + + on-headers@1.1.0: {} + + once@1.4.0: + dependencies: + wrappy: 1.0.2 + + onetime@5.1.2: + dependencies: + mimic-fn: 2.1.0 + + onetime@6.0.0: + dependencies: + mimic-fn: 4.0.0 + + open@8.4.2: + dependencies: + define-lazy-prop: 2.0.0 + is-docker: 2.2.1 + is-wsl: 2.2.0 + + open@9.1.0: + dependencies: + default-browser: 4.0.0 + define-lazy-prop: 3.0.0 + is-inside-container: 1.0.0 + is-wsl: 2.2.0 + + openapi3-ts@2.0.2: + dependencies: + yaml: 1.10.3 + + optionator@0.9.4: + dependencies: + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + word-wrap: 1.2.5 + + os-browserify@0.3.0: {} + + own-keys@1.0.1: + dependencies: + get-intrinsic: 1.3.0 + object-keys: 1.1.1 + safe-push-apply: 1.0.0 + + oxfmt@0.51.0: + dependencies: + tinypool: 2.1.0 + optionalDependencies: + '@oxfmt/binding-android-arm-eabi': 0.51.0 + '@oxfmt/binding-android-arm64': 0.51.0 + '@oxfmt/binding-darwin-arm64': 0.51.0 + '@oxfmt/binding-darwin-x64': 0.51.0 + '@oxfmt/binding-freebsd-x64': 0.51.0 + '@oxfmt/binding-linux-arm-gnueabihf': 0.51.0 + '@oxfmt/binding-linux-arm-musleabihf': 0.51.0 + '@oxfmt/binding-linux-arm64-gnu': 0.51.0 + '@oxfmt/binding-linux-arm64-musl': 0.51.0 + '@oxfmt/binding-linux-ppc64-gnu': 0.51.0 + '@oxfmt/binding-linux-riscv64-gnu': 0.51.0 + '@oxfmt/binding-linux-riscv64-musl': 0.51.0 + '@oxfmt/binding-linux-s390x-gnu': 0.51.0 + '@oxfmt/binding-linux-x64-gnu': 0.51.0 + '@oxfmt/binding-linux-x64-musl': 0.51.0 + '@oxfmt/binding-openharmony-arm64': 0.51.0 + '@oxfmt/binding-win32-arm64-msvc': 0.51.0 + '@oxfmt/binding-win32-ia32-msvc': 0.51.0 + '@oxfmt/binding-win32-x64-msvc': 0.51.0 + + oxlint@1.67.0: + optionalDependencies: + '@oxlint/binding-android-arm-eabi': 1.67.0 + '@oxlint/binding-android-arm64': 1.67.0 + '@oxlint/binding-darwin-arm64': 1.67.0 + '@oxlint/binding-darwin-x64': 1.67.0 + '@oxlint/binding-freebsd-x64': 1.67.0 + '@oxlint/binding-linux-arm-gnueabihf': 1.67.0 + '@oxlint/binding-linux-arm-musleabihf': 1.67.0 + '@oxlint/binding-linux-arm64-gnu': 1.67.0 + '@oxlint/binding-linux-arm64-musl': 1.67.0 + '@oxlint/binding-linux-ppc64-gnu': 1.67.0 + '@oxlint/binding-linux-riscv64-gnu': 1.67.0 + '@oxlint/binding-linux-riscv64-musl': 1.67.0 + '@oxlint/binding-linux-s390x-gnu': 1.67.0 + '@oxlint/binding-linux-x64-gnu': 1.67.0 + '@oxlint/binding-linux-x64-musl': 1.67.0 + '@oxlint/binding-openharmony-arm64': 1.67.0 + '@oxlint/binding-win32-arm64-msvc': 1.67.0 + '@oxlint/binding-win32-ia32-msvc': 1.67.0 + '@oxlint/binding-win32-x64-msvc': 1.67.0 + + p-limit@2.3.0: + dependencies: + p-try: 2.2.0 + + p-limit@3.1.0: + dependencies: + yocto-queue: 0.1.0 + + p-locate@4.1.0: + dependencies: + p-limit: 2.3.0 + + p-locate@5.0.0: + dependencies: + p-limit: 3.1.0 + + p-retry@6.2.1: + dependencies: + '@types/retry': 0.12.2 + is-network-error: 1.3.2 + retry: 0.13.1 + + p-try@2.2.0: {} + + package-json-from-dist@1.0.1: {} + + package-manager-detector@1.6.0: {} + + pako@1.0.11: {} + + param-case@3.0.4: + dependencies: + dot-case: 3.0.4 + tslib: 2.8.1 + + parent-module@1.0.1: + dependencies: + callsites: 3.1.0 + + parse-asn1@5.1.9: + dependencies: + asn1.js: 4.10.1 + browserify-aes: 1.2.0 + evp_bytestokey: 1.0.3 + pbkdf2: 3.1.6 + safe-buffer: 5.2.1 + + parse-entities@4.0.2: + dependencies: + '@types/unist': 2.0.11 + character-entities-legacy: 3.0.0 + character-reference-invalid: 2.0.1 + decode-named-character-reference: 1.3.0 + is-alphanumerical: 2.0.1 + is-decimal: 2.0.1 + is-hexadecimal: 2.0.1 + + parse-json@5.2.0: + dependencies: + '@babel/code-frame': 7.29.7 + error-ex: 1.3.4 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + + parse-node-version@1.0.1: {} + + parseurl@1.3.3: {} + + pascal-case@3.1.2: + dependencies: + no-case: 3.0.4 + tslib: 2.8.1 + + path-browserify@0.0.1: {} + + path-data-parser@0.1.0: {} + + path-exists@4.0.0: {} + + path-is-absolute@1.0.1: {} + + path-key@3.1.1: {} + + path-key@4.0.0: {} + + path-parse@1.0.7: {} + + path-scurry@1.11.1: + dependencies: + lru-cache: 10.4.3 + minipass: 7.1.3 + + path-to-regexp@0.1.13: {} + + path-to-regexp@1.7.0: + dependencies: + isarray: 0.0.1 + + path-to-regexp@1.9.0: + dependencies: + isarray: 0.0.1 + + path-to-regexp@8.2.0: {} + + path-to-regexp@8.4.2: {} + + path-type@4.0.0: {} + + pbkdf2@3.1.6: + dependencies: + create-hash: 1.2.0 + create-hmac: 1.1.7 + ripemd160: 2.0.3 + safe-buffer: 5.2.1 + sha.js: 2.4.12 + to-buffer: 1.2.2 + + picocolors@1.1.1: {} + + picomatch@2.3.2: {} + + pify@4.0.1: + optional: true + + pino-abstract-transport@0.5.0: + dependencies: + duplexify: 4.1.3 + split2: 4.2.0 + + pino-std-serializers@4.0.0: {} + + pino@7.11.0: + dependencies: + atomic-sleep: 1.0.0 + fast-redact: 3.5.0 + on-exit-leak-free: 0.2.0 + pino-abstract-transport: 0.5.0 + pino-std-serializers: 4.0.0 + process-warning: 1.0.0 + quick-format-unescaped: 4.0.4 + real-require: 0.1.0 + safe-stable-stringify: 2.5.0 + sonic-boom: 2.8.0 + thread-stream: 0.15.2 + + pirates@4.0.7: {} + + piscina@4.9.2: + optionalDependencies: + '@napi-rs/nice': 1.1.1 + + point-in-polygon@1.1.0: {} + + points-on-curve@0.2.0: {} + + points-on-path@0.2.1: + dependencies: + path-data-parser: 0.1.0 + points-on-curve: 0.2.0 + + possible-typed-array-names@1.1.0: {} + + postcss-attribute-case-insensitive@5.0.2(postcss@8.5.15): + dependencies: + postcss: 8.5.15 + postcss-selector-parser: 6.1.2 + + postcss-clamp@4.1.0(postcss@8.5.15): + dependencies: + postcss: 8.5.15 + postcss-value-parser: 4.2.0 + + postcss-color-functional-notation@4.2.4(postcss@8.5.15): + dependencies: + postcss: 8.5.15 + postcss-value-parser: 4.2.0 + + postcss-color-hex-alpha@8.0.4(postcss@8.5.15): + dependencies: + postcss: 8.5.15 + postcss-value-parser: 4.2.0 + + postcss-color-rebeccapurple@7.1.1(postcss@8.5.15): + dependencies: + postcss: 8.5.15 + postcss-value-parser: 4.2.0 + + postcss-custom-media@8.0.2(postcss@8.5.15): + dependencies: + postcss: 8.5.15 + postcss-value-parser: 4.2.0 + + postcss-custom-properties@12.1.11(postcss@8.5.15): + dependencies: + postcss: 8.5.15 + postcss-value-parser: 4.2.0 + + postcss-custom-selectors@6.0.3(postcss@8.5.15): + dependencies: + postcss: 8.5.15 + postcss-selector-parser: 6.1.2 + + postcss-dir-pseudo-class@6.0.5(postcss@8.5.15): + dependencies: + postcss: 8.5.15 + postcss-selector-parser: 6.1.2 + + postcss-double-position-gradients@3.1.2(postcss@8.5.15): + dependencies: + '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.5.15) + postcss: 8.5.15 + postcss-value-parser: 4.2.0 + + postcss-env-function@4.0.6(postcss@8.5.15): + dependencies: + postcss: 8.5.15 + postcss-value-parser: 4.2.0 + + postcss-flexbugs-fixes@5.0.2(postcss@8.5.15): + dependencies: + postcss: 8.5.15 + + postcss-focus-visible@6.0.4(postcss@8.5.15): + dependencies: + postcss: 8.5.15 + postcss-selector-parser: 6.1.2 + + postcss-focus-within@5.0.4(postcss@8.5.15): + dependencies: + postcss: 8.5.15 + postcss-selector-parser: 6.1.2 + + postcss-font-variant@5.0.0(postcss@8.5.15): + dependencies: + postcss: 8.5.15 + + postcss-gap-properties@3.0.5(postcss@8.5.15): + dependencies: + postcss: 8.5.15 + + postcss-image-set-function@4.0.7(postcss@8.5.15): + dependencies: + postcss: 8.5.15 + postcss-value-parser: 4.2.0 + + postcss-initial@4.0.1(postcss@8.5.15): + dependencies: + postcss: 8.5.15 + + postcss-lab-function@4.2.1(postcss@8.5.15): + dependencies: + '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.5.15) + postcss: 8.5.15 + postcss-value-parser: 4.2.0 + + postcss-loader@8.2.1(postcss@8.5.15)(typescript@6.0.3)(webpack@5.107.2(lightningcss@1.22.1)(postcss@8.5.15)): + dependencies: + cosmiconfig: 9.0.1(typescript@6.0.3) + jiti: 2.7.0 + postcss: 8.5.15 + semver: 7.8.1 + optionalDependencies: + webpack: 5.107.2(lightningcss@1.22.1)(postcss@8.5.15) + transitivePeerDependencies: + - typescript + + postcss-logical@5.0.4(postcss@8.5.15): + dependencies: + postcss: 8.5.15 + + postcss-media-minmax@5.0.0(postcss@8.5.15): + dependencies: + postcss: 8.5.15 + + postcss-media-query-parser@0.2.3: {} + + postcss-modules-extract-imports@3.1.0(postcss@8.5.15): + dependencies: + postcss: 8.5.15 + + postcss-modules-local-by-default@4.2.0(postcss@8.5.15): + dependencies: + icss-utils: 5.1.0(postcss@8.5.15) + postcss: 8.5.15 + postcss-selector-parser: 7.1.1 + postcss-value-parser: 4.2.0 + + postcss-modules-scope@3.2.1(postcss@8.5.15): + dependencies: + postcss: 8.5.15 + postcss-selector-parser: 7.1.1 + + postcss-modules-values@4.0.0(postcss@8.5.15): + dependencies: + icss-utils: 5.1.0(postcss@8.5.15) + postcss: 8.5.15 + + postcss-nesting@10.2.0(postcss@8.5.15): + dependencies: + '@csstools/selector-specificity': 2.2.0(postcss-selector-parser@6.1.2) + postcss: 8.5.15 + postcss-selector-parser: 6.1.2 + + postcss-opacity-percentage@1.1.3(postcss@8.5.15): + dependencies: + postcss: 8.5.15 + + postcss-overflow-shorthand@3.0.4(postcss@8.5.15): + dependencies: + postcss: 8.5.15 + postcss-value-parser: 4.2.0 + + postcss-page-break@3.0.4(postcss@8.5.15): + dependencies: + postcss: 8.5.15 + + postcss-place@7.0.5(postcss@8.5.15): + dependencies: + postcss: 8.5.15 + postcss-value-parser: 4.2.0 + + postcss-prefix-selector@1.16.0(postcss@8.5.15): + dependencies: + postcss: 8.5.15 + + postcss-preset-env@7.5.0(postcss@8.5.15): + dependencies: + '@csstools/postcss-color-function': 1.1.1(postcss@8.5.15) + '@csstools/postcss-font-format-keywords': 1.0.1(postcss@8.5.15) + '@csstools/postcss-hwb-function': 1.0.2(postcss@8.5.15) + '@csstools/postcss-ic-unit': 1.0.1(postcss@8.5.15) + '@csstools/postcss-is-pseudo-class': 2.0.7(postcss@8.5.15) + '@csstools/postcss-normalize-display-values': 1.0.1(postcss@8.5.15) + '@csstools/postcss-oklab-function': 1.1.1(postcss@8.5.15) + '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.5.15) + '@csstools/postcss-stepped-value-functions': 1.0.1(postcss@8.5.15) + '@csstools/postcss-unset-value': 1.0.2(postcss@8.5.15) + autoprefixer: 10.5.0(postcss@8.5.15) + browserslist: 4.28.2 + css-blank-pseudo: 3.0.3(postcss@8.5.15) + css-has-pseudo: 3.0.4(postcss@8.5.15) + css-prefers-color-scheme: 6.0.3(postcss@8.5.15) + cssdb: 6.6.3 + postcss: 8.5.15 + postcss-attribute-case-insensitive: 5.0.2(postcss@8.5.15) + postcss-clamp: 4.1.0(postcss@8.5.15) + postcss-color-functional-notation: 4.2.4(postcss@8.5.15) + postcss-color-hex-alpha: 8.0.4(postcss@8.5.15) + postcss-color-rebeccapurple: 7.1.1(postcss@8.5.15) + postcss-custom-media: 8.0.2(postcss@8.5.15) + postcss-custom-properties: 12.1.11(postcss@8.5.15) + postcss-custom-selectors: 6.0.3(postcss@8.5.15) + postcss-dir-pseudo-class: 6.0.5(postcss@8.5.15) + postcss-double-position-gradients: 3.1.2(postcss@8.5.15) + postcss-env-function: 4.0.6(postcss@8.5.15) + postcss-focus-visible: 6.0.4(postcss@8.5.15) + postcss-focus-within: 5.0.4(postcss@8.5.15) + postcss-font-variant: 5.0.0(postcss@8.5.15) + postcss-gap-properties: 3.0.5(postcss@8.5.15) + postcss-image-set-function: 4.0.7(postcss@8.5.15) + postcss-initial: 4.0.1(postcss@8.5.15) + postcss-lab-function: 4.2.1(postcss@8.5.15) + postcss-logical: 5.0.4(postcss@8.5.15) + postcss-media-minmax: 5.0.0(postcss@8.5.15) + postcss-nesting: 10.2.0(postcss@8.5.15) + postcss-opacity-percentage: 1.1.3(postcss@8.5.15) + postcss-overflow-shorthand: 3.0.4(postcss@8.5.15) + postcss-page-break: 3.0.4(postcss@8.5.15) + postcss-place: 7.0.5(postcss@8.5.15) + postcss-pseudo-class-any-link: 7.1.6(postcss@8.5.15) + postcss-replace-overflow-wrap: 4.0.0(postcss@8.5.15) + postcss-selector-not: 5.0.0(postcss@8.5.15) + postcss-value-parser: 4.2.0 + + postcss-pseudo-class-any-link@7.1.6(postcss@8.5.15): + dependencies: + postcss: 8.5.15 + postcss-selector-parser: 6.1.2 + + postcss-replace-overflow-wrap@4.0.0(postcss@8.5.15): + dependencies: + postcss: 8.5.15 + + postcss-resolve-nested-selector@0.1.6: {} + + postcss-safe-parser@6.0.0(postcss@8.5.15): + dependencies: + postcss: 8.5.15 + + postcss-selector-not@5.0.0(postcss@8.5.15): + dependencies: + balanced-match: 1.0.2 + postcss: 8.5.15 + + postcss-selector-parser@6.1.2: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + + postcss-selector-parser@7.1.1: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + + postcss-syntax@0.36.2(postcss@8.5.15): + dependencies: + postcss: 8.5.15 + + postcss-value-parser@4.2.0: {} + + postcss@8.5.15: + dependencies: + nanoid: 3.3.12 + picocolors: 1.1.1 + source-map-js: 1.2.1 + + preact@10.29.2: {} + + prelude-ls@1.2.1: {} + + prettier-plugin-organize-imports@3.2.4(prettier@2.8.8)(typescript@6.0.3): + dependencies: + prettier: 2.8.8 + typescript: 6.0.3 + + prettier-plugin-packagejson@2.4.3(prettier@2.8.8): + dependencies: + sort-package-json: 2.4.1 + synckit: 0.8.5 + optionalDependencies: + prettier: 2.8.8 + + prettier@2.8.8: {} + + pretty-error@4.0.0: + dependencies: + lodash: 4.18.1 + renderkid: 3.0.0 + + pretty-format@24.9.0: + dependencies: + '@jest/types': 24.9.0 + ansi-regex: 4.1.1 + ansi-styles: 3.2.1 + react-is: 16.13.1 + + prismjs@1.30.0: {} + + process-nextick-args@2.0.1: {} + + process-okam@0.11.10: {} + + process-warning@1.0.0: {} + + process@0.11.10: {} + + prop-types@15.8.1: + dependencies: + loose-envify: 1.4.0 + object-assign: 4.1.1 + react-is: 16.13.1 + + property-information@7.1.0: {} + + proxy-addr@2.0.7: + dependencies: + forwarded: 0.2.0 + ipaddr.js: 1.9.1 + + proxy-compare@2.5.1: {} + + proxy-from-env@2.1.0: {} + + prr@1.0.1: + optional: true + + public-encrypt@4.0.3: + dependencies: + bn.js: 4.12.3 + browserify-rsa: 4.1.1 + create-hash: 1.2.0 + parse-asn1: 5.1.9 + randombytes: 2.1.0 + safe-buffer: 5.2.1 + + punycode-okam@1.4.1: {} + + punycode@1.4.1: {} + + punycode@2.3.1: {} + + qiankun@2.10.16: + dependencies: + '@babel/runtime': 7.29.7 + import-html-entry: 1.17.0 + lodash: 4.18.1 + single-spa: 5.9.5 + + qs@6.15.2: + dependencies: + side-channel: 1.1.0 + + query-string@6.14.1: + dependencies: + decode-uri-component: 0.2.2 + filter-obj: 1.1.0 + split-on-first: 1.1.0 + strict-uri-encode: 2.0.0 + + querystring-es3@0.2.1: {} + + queue-microtask@1.2.3: {} + + quick-format-unescaped@4.0.4: {} + + quick-lru@4.0.1: {} + + randombytes@2.1.0: + dependencies: + safe-buffer: 5.2.1 + + randomfill@1.0.4: + dependencies: + randombytes: 2.1.0 + safe-buffer: 5.2.1 + + range-parser@1.2.1: {} + + raw-body@2.5.3: + dependencies: + bytes: 3.1.2 + http-errors: 2.0.1 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + + rc-align@4.0.15(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + dependencies: + '@babel/runtime': 7.29.7 + classnames: 2.5.1 + dom-align: 1.12.4 + rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + resize-observer-polyfill: 1.5.1 + + rc-cascader@3.7.3(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + dependencies: + '@babel/runtime': 7.29.7 + array-tree-filter: 2.1.0 + classnames: 2.5.1 + rc-select: 14.1.18(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-tree: 5.7.12(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + rc-checkbox@3.0.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + dependencies: + '@babel/runtime': 7.29.7 + classnames: 2.5.1 + rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + rc-collapse@3.4.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + dependencies: + '@babel/runtime': 7.29.7 + classnames: 2.5.1 + rc-motion: 2.9.5(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + shallowequal: 1.1.0 + + rc-dialog@9.0.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + dependencies: + '@babel/runtime': 7.29.7 + '@rc-component/portal': 1.1.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + classnames: 2.5.1 + rc-motion: 2.9.5(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + rc-drawer@6.3.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + dependencies: + '@babel/runtime': 7.29.7 + '@rc-component/portal': 1.1.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + classnames: 2.5.1 + rc-motion: 2.9.5(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + rc-dropdown@4.0.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + dependencies: + '@babel/runtime': 7.29.7 + classnames: 2.5.1 + rc-trigger: 5.3.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + rc-field-form@1.38.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + dependencies: + '@babel/runtime': 7.29.7 + async-validator: 4.2.5 + rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + rc-image@5.13.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + dependencies: + '@babel/runtime': 7.29.7 + '@rc-component/portal': 1.1.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + classnames: 2.5.1 + rc-dialog: 9.0.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-motion: 2.9.5(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + rc-input-number@7.3.11(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + dependencies: + '@babel/runtime': 7.29.7 + classnames: 2.5.1 + rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + rc-input@0.1.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + dependencies: + '@babel/runtime': 7.29.7 + classnames: 2.5.1 + rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + rc-mentions@1.13.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + dependencies: + '@babel/runtime': 7.29.7 + classnames: 2.5.1 + rc-menu: 9.8.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-textarea: 0.4.7(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-trigger: 5.3.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + rc-menu@9.8.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + dependencies: + '@babel/runtime': 7.29.7 + classnames: 2.5.1 + rc-motion: 2.9.5(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-overflow: 1.5.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-trigger: 5.3.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + rc-motion@2.9.5(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + dependencies: + '@babel/runtime': 7.29.7 + classnames: 2.5.1 + rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + rc-notification@4.6.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + dependencies: + '@babel/runtime': 7.29.7 + classnames: 2.5.1 + rc-motion: 2.9.5(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + rc-overflow@1.5.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + dependencies: + '@babel/runtime': 7.29.7 + classnames: 2.5.1 + rc-resize-observer: 1.4.3(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + rc-pagination@3.2.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + dependencies: + '@babel/runtime': 7.29.7 + classnames: 2.5.1 + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + rc-picker@2.7.6(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + dependencies: + '@babel/runtime': 7.29.7 + classnames: 2.5.1 + date-fns: 2.30.0 + dayjs: 1.11.21 + moment: 2.30.1 + rc-trigger: 5.3.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + shallowequal: 1.1.0 + + rc-progress@3.4.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + dependencies: + '@babel/runtime': 7.29.7 + classnames: 2.5.1 + rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + rc-rate@2.9.3(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + dependencies: + '@babel/runtime': 7.29.7 + classnames: 2.5.1 + rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + rc-resize-observer@0.2.6(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + dependencies: + '@babel/runtime': 7.29.7 + classnames: 2.5.1 + rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + resize-observer-polyfill: 1.5.1 + + rc-resize-observer@1.4.3(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + dependencies: + '@babel/runtime': 7.29.7 + classnames: 2.5.1 + rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + resize-observer-polyfill: 1.5.1 + + rc-segmented@2.3.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + dependencies: + '@babel/runtime': 7.29.7 + classnames: 2.5.1 + rc-motion: 2.9.5(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + rc-select@14.1.18(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + dependencies: + '@babel/runtime': 7.29.7 + classnames: 2.5.1 + rc-motion: 2.9.5(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-overflow: 1.5.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-trigger: 5.3.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-virtual-list: 3.19.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + rc-slider@10.0.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + dependencies: + '@babel/runtime': 7.29.7 + classnames: 2.5.1 + rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + shallowequal: 1.1.0 + + rc-steps@5.0.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + dependencies: + '@babel/runtime': 7.29.7 + classnames: 2.5.1 + rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + rc-switch@3.2.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + dependencies: + '@babel/runtime': 7.29.7 + classnames: 2.5.1 + rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + rc-table@7.26.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + dependencies: + '@babel/runtime': 7.29.7 + classnames: 2.5.1 + rc-resize-observer: 1.4.3(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + shallowequal: 1.1.0 + + rc-tabs@12.5.10(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + dependencies: + '@babel/runtime': 7.29.7 + classnames: 2.5.1 + rc-dropdown: 4.0.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-menu: 9.8.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-motion: 2.9.5(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-resize-observer: 1.4.3(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + rc-textarea@0.4.7(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + dependencies: + '@babel/runtime': 7.29.7 + classnames: 2.5.1 + rc-resize-observer: 1.4.3(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + shallowequal: 1.1.0 + + rc-tooltip@5.2.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + dependencies: + '@babel/runtime': 7.29.7 + classnames: 2.5.1 + rc-trigger: 5.3.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + rc-tree-select@5.5.5(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + dependencies: + '@babel/runtime': 7.29.7 + classnames: 2.5.1 + rc-select: 14.1.18(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-tree: 5.7.12(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + rc-tree@5.7.12(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + dependencies: + '@babel/runtime': 7.29.7 + classnames: 2.5.1 + rc-motion: 2.9.5(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-virtual-list: 3.19.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + rc-trigger@5.3.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + dependencies: + '@babel/runtime': 7.29.7 + classnames: 2.5.1 + rc-align: 4.0.15(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-motion: 2.9.5(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + rc-upload@4.3.6(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + dependencies: + '@babel/runtime': 7.29.7 + classnames: 2.5.1 + rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + rc-util@4.21.1: + dependencies: + add-dom-event-listener: 1.1.0 + prop-types: 15.8.1 + react-is: 16.13.1 + react-lifecycles-compat: 3.0.4 + shallowequal: 1.1.0 + + rc-util@5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + dependencies: + '@babel/runtime': 7.29.7 + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + react-is: 18.3.1 + + rc-virtual-list@3.19.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + dependencies: + '@babel/runtime': 7.29.7 + classnames: 2.5.1 + rc-resize-observer: 1.4.3(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + react-cropper@2.3.3(react@19.2.6): + dependencies: + cropperjs: 1.6.2 + react: 19.2.6 + + react-dom@18.3.1(react@18.3.1): + dependencies: + loose-envify: 1.4.0 + react: 18.3.1 + scheduler: 0.23.2 + + react-dom@19.2.6(react@19.2.6): + dependencies: + react: 19.2.6 + scheduler: 0.27.0 + + react-draggable@4.5.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + dependencies: + clsx: 2.1.1 + prop-types: 15.8.1 + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + + react-error-overlay@6.0.9: {} + + react-fast-compare@3.2.2: {} + + react-helmet-async@1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + dependencies: + '@babel/runtime': 7.23.6 + invariant: 2.2.4 + prop-types: 15.8.1 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-fast-compare: 3.2.2 + shallowequal: 1.1.0 + + react-helmet-async@1.3.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + dependencies: + '@babel/runtime': 7.23.6 + invariant: 2.2.4 + prop-types: 15.8.1 + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + react-fast-compare: 3.2.2 + shallowequal: 1.1.0 + + react-intl@3.12.1(@types/react@19.2.15)(react@19.2.6): + dependencies: + '@formatjs/intl-displaynames': 1.2.10 + '@formatjs/intl-listformat': 1.4.8 + '@formatjs/intl-relativetimeformat': 4.5.16 + '@formatjs/intl-unified-numberformat': 3.3.7 + '@formatjs/intl-utils': 2.3.0 + '@types/hoist-non-react-statics': 3.3.7(@types/react@19.2.15) + '@types/invariant': 2.2.37 + hoist-non-react-statics: 3.3.2 + intl-format-cache: 4.3.1 + intl-messageformat: 7.8.4 + intl-messageformat-parser: 3.6.4 + react: 19.2.6 + shallow-equal: 1.2.1 + transitivePeerDependencies: + - '@types/react' + + react-is@16.13.1: {} + + react-is@18.3.1: {} + + react-json-view-lite@2.5.0(react@19.2.6): + dependencies: + react: 19.2.6 + + react-lifecycles-compat@3.0.4: {} + + react-merge-refs@1.1.0: {} + + react-redux@5.1.2(react@19.2.6)(redux@3.7.2): + dependencies: + '@babel/runtime': 7.29.7 + hoist-non-react-statics: 3.3.2 + invariant: 2.2.4 + loose-envify: 1.4.0 + prop-types: 15.8.1 + react: 19.2.6 + react-is: 16.13.1 + react-lifecycles-compat: 3.0.4 + redux: 3.7.2 + + react-redux@8.1.3(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(redux@4.2.1): + dependencies: + '@babel/runtime': 7.29.7 + '@types/hoist-non-react-statics': 3.3.7(@types/react@19.2.15) + '@types/use-sync-external-store': 0.0.3 + hoist-non-react-statics: 3.3.2 + react: 19.2.6 + react-is: 18.3.1 + use-sync-external-store: 1.6.0(react@19.2.6) + optionalDependencies: + '@types/react': 19.2.15 + '@types/react-dom': 19.2.3(@types/react@19.2.15) + react-dom: 19.2.6(react@19.2.6) + redux: 4.2.1 + + react-refresh@0.14.0: {} + + react-refresh@0.14.2: {} + + react-router-dom@4.3.1(react@19.2.6): + dependencies: + history: 4.10.1 + invariant: 2.2.4 + loose-envify: 1.4.0 + prop-types: 15.8.1 + react: 19.2.6 + react-router: 4.3.1(react@19.2.6) + warning: 4.0.3 + + react-router-dom@6.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + dependencies: + history: 5.3.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-router: 6.3.0(react@18.3.1) + + react-router-dom@6.3.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + dependencies: + history: 5.3.0 + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + react-router: 6.3.0(react@19.2.6) + + react-router-redux@5.0.0-alpha.9(react@19.2.6): + dependencies: + history: 4.10.1 + prop-types: 15.8.1 + react: 19.2.6 + react-router: 4.3.1(react@19.2.6) + + react-router@4.3.1(react@19.2.6): + dependencies: + history: 4.10.1 + hoist-non-react-statics: 2.5.5 + invariant: 2.2.4 + loose-envify: 1.4.0 + path-to-regexp: 1.9.0 + prop-types: 15.8.1 + react: 19.2.6 + warning: 4.0.3 + + react-router@6.3.0(react@18.3.1): + dependencies: + history: 5.3.0 + react: 18.3.1 + + react-router@6.3.0(react@19.2.6): + dependencies: + history: 5.3.0 + react: 19.2.6 + + react-syntax-highlighter@16.1.1(react@19.2.6): + dependencies: + '@babel/runtime': 7.29.7 + highlight.js: 10.7.3 + highlightjs-vue: 1.0.0 + lowlight: 1.20.0 + prismjs: 1.30.0 + react: 19.2.6 + refractor: 5.0.0 + + react@18.3.1: + dependencies: + loose-envify: 1.4.0 + + react@19.2.6: {} + + reactcss@1.2.3(react@19.2.6): + dependencies: + lodash: 4.18.1 + react: 19.2.6 + + read-pkg-up@7.0.1: + dependencies: + find-up: 4.1.0 + read-pkg: 5.2.0 + type-fest: 0.8.1 + + read-pkg@5.2.0: + dependencies: + '@types/normalize-package-data': 2.4.4 + normalize-package-data: 2.5.0 + parse-json: 5.2.0 + type-fest: 0.6.0 + + readable-stream@2.3.8: + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 1.0.0 + process-nextick-args: 2.0.1 + safe-buffer: 5.1.2 + string_decoder: 1.1.1 + util-deprecate: 1.0.2 + + readable-stream@3.6.2: + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + + readdirp@3.6.0: + dependencies: + picomatch: 2.3.2 + + real-require@0.1.0: {} + + redent@3.0.0: + dependencies: + indent-string: 4.0.0 + strip-indent: 3.0.0 + + redux-saga@0.16.2: {} + + redux@3.7.2: + dependencies: + lodash: 4.18.1 + lodash-es: 4.18.1 + loose-envify: 1.4.0 + symbol-observable: 1.2.0 + + redux@4.2.1: + dependencies: + '@babel/runtime': 7.29.7 + + reflect.getprototypeof@1.0.10: + dependencies: + call-bind: 1.0.9 + define-properties: 1.2.1 + es-abstract: 1.24.2 + es-errors: 1.3.0 + es-object-atoms: 1.1.2 + get-intrinsic: 1.3.0 + get-proto: 1.0.1 + which-builtin-type: 1.2.1 + + refractor@5.0.0: + dependencies: + '@types/hast': 3.0.4 + '@types/prismjs': 1.26.6 + hastscript: 9.0.1 + parse-entities: 4.0.2 + + reftools@1.1.9: {} + + regenerate-unicode-properties@10.1.1: + dependencies: + regenerate: 1.4.2 + + regenerate@1.4.2: {} + + regenerator-runtime@0.13.11: {} + + regenerator-runtime@0.14.1: {} + + regex-parser@2.3.1: {} + + regexp.prototype.flags@1.5.4: + dependencies: + call-bind: 1.0.9 + define-properties: 1.2.1 + es-errors: 1.3.0 + get-proto: 1.0.1 + gopd: 1.2.0 + set-function-name: 2.0.2 + + regexpp@3.2.0: {} + + relateurl@0.2.7: {} + + remove-accents@0.5.0: {} + + renderkid@3.0.0: + dependencies: + css-select: 4.3.0 + dom-converter: 0.2.0 + htmlparser2: 6.1.0 + lodash: 4.18.1 + strip-ansi: 6.0.1 + + require-directory@2.1.1: {} + + require-from-string@2.0.2: {} + + reserved-words@0.1.2: {} + + resize-observer-polyfill@1.5.1: {} + + resolve-from@4.0.0: {} + + resolve-from@5.0.0: {} + + resolve-pathname@3.0.0: {} + + resolve-pkg-maps@1.0.0: {} + + resolve-url-loader@5.0.0: + dependencies: + adjust-sourcemap-loader: 4.0.0 + convert-source-map: 1.9.0 + loader-utils: 2.0.4 + postcss: 8.5.15 + source-map: 0.6.1 + + resolve@1.22.12: + dependencies: + es-errors: 1.3.0 + is-core-module: 2.16.2 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + resolve@2.0.0-next.7: + dependencies: + es-errors: 1.3.0 + is-core-module: 2.16.2 + node-exports-info: 1.6.0 + object-keys: 1.1.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + retry@0.13.1: {} + + reusify@1.1.0: {} + + rimraf@3.0.2: + dependencies: + glob: 7.2.3 + + rimraf@4.4.1: + dependencies: + glob: 9.3.5 + + rimraf@5.0.1: + dependencies: + glob: 10.5.0 + + ripemd160@2.0.3: + dependencies: + hash-base: 3.1.2 + inherits: 2.0.4 + + robust-predicates@3.0.3: {} + + rollup-plugin-visualizer@5.9.0(rollup@3.30.0): + dependencies: + open: 8.4.2 + picomatch: 2.3.2 + source-map: 0.7.6 + yargs: 17.7.2 + optionalDependencies: + rollup: 3.30.0 + + rollup@3.30.0: + optionalDependencies: + fsevents: 2.3.3 + + roughjs@4.6.6: + dependencies: + hachure-fill: 0.5.2 + path-data-parser: 0.1.0 + points-on-curve: 0.2.0 + points-on-path: 0.2.1 + + run-applescript@5.0.0: + dependencies: + execa: 5.1.1 + + run-parallel@1.2.0: + dependencies: + queue-microtask: 1.2.3 + + rw@1.3.3: {} + + safe-array-concat@1.1.4: + dependencies: + call-bind: 1.0.9 + call-bound: 1.0.4 + get-intrinsic: 1.3.0 + has-symbols: 1.1.0 + isarray: 2.0.5 + + safe-buffer@5.1.2: {} + + safe-buffer@5.2.1: {} + + safe-push-apply@1.0.0: + dependencies: + es-errors: 1.3.0 + isarray: 2.0.5 + + safe-regex-test@1.1.0: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-regex: 1.2.1 + + safe-stable-stringify@2.5.0: {} + + safer-buffer@2.1.2: {} + + sass-loader@13.2.0(sass@1.54.0)(webpack@5.107.2(lightningcss@1.22.1)(postcss@8.5.15)): + dependencies: + klona: 2.0.6 + neo-async: 2.6.2 + webpack: 5.107.2(lightningcss@1.22.1)(postcss@8.5.15) + optionalDependencies: + sass: 1.54.0 + + sass-loader@16.0.8(sass@1.54.0)(webpack@5.107.2(lightningcss@1.22.1)(postcss@8.5.15)): + dependencies: + neo-async: 2.6.2 + optionalDependencies: + sass: 1.54.0 + webpack: 5.107.2(lightningcss@1.22.1)(postcss@8.5.15) + + sass@1.54.0: + dependencies: + chokidar: 3.6.0 + immutable: 4.3.8 + source-map-js: 1.2.1 + + sax@1.6.0: {} + + scheduler@0.23.2: + dependencies: + loose-envify: 1.4.0 + + scheduler@0.27.0: {} + + schema-utils@3.3.0: + dependencies: + '@types/json-schema': 7.0.15 + ajv: 6.15.0 + ajv-keywords: 3.5.2(ajv@6.15.0) + + schema-utils@4.3.3: + dependencies: + '@types/json-schema': 7.0.15 + ajv: 8.20.0 + ajv-formats: 2.1.1(ajv@8.20.0) + ajv-keywords: 5.1.0(ajv@8.20.0) + + screenfull@5.2.0: {} + + screenfull@6.0.2: {} + + scroll-into-view-if-needed@2.2.31: + dependencies: + compute-scroll-into-view: 1.0.20 + + scroll-into-view-if-needed@3.1.0: + dependencies: + compute-scroll-into-view: 3.1.1 + + select-hose@2.0.0: {} + + semver@5.7.2: {} + + semver@6.3.1: {} + + semver@7.8.1: {} + + send@0.17.1: + dependencies: + debug: 2.6.9 + depd: 1.1.2 + destroy: 1.0.4 + encodeurl: 1.0.2 + escape-html: 1.0.3 + etag: 1.8.1 + fresh: 0.5.2 + http-errors: 1.7.3 + mime: 1.6.0 + ms: 2.1.1 + on-finished: 2.3.0 + range-parser: 1.2.1 + statuses: 1.5.0 + transitivePeerDependencies: + - supports-color + + send@0.19.2: + dependencies: + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + encodeurl: 2.0.0 + escape-html: 1.0.3 + etag: 1.8.1 + fresh: 0.5.2 + http-errors: 2.0.1 + mime: 1.6.0 + ms: 2.1.3 + on-finished: 2.4.1 + range-parser: 1.2.1 + statuses: 2.0.2 + transitivePeerDependencies: + - supports-color + + serve-static@1.16.3: + dependencies: + encodeurl: 2.0.0 + escape-html: 1.0.3 + parseurl: 1.3.3 + send: 0.19.2 + transitivePeerDependencies: + - supports-color + + set-function-length@1.2.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.3.0 + gopd: 1.2.0 + has-property-descriptors: 1.0.2 + + set-function-name@2.0.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + functions-have-names: 1.2.3 + has-property-descriptors: 1.0.2 + + set-proto@1.0.0: + dependencies: + dunder-proto: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.2 + + setimmediate@1.0.5: {} + + setprototypeof@1.1.1: {} + + setprototypeof@1.2.0: {} + + sha.js@2.4.12: + dependencies: + inherits: 2.0.4 + safe-buffer: 5.2.1 + to-buffer: 1.2.2 + + shallow-equal@1.2.1: {} + + shallowequal@1.1.0: {} + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@3.0.0: {} + + should-equal@2.0.0: + dependencies: + should-type: 1.4.0 + + should-format@3.0.3: + dependencies: + should-type: 1.4.0 + should-type-adaptors: 1.1.0 + + should-type-adaptors@1.1.0: + dependencies: + should-type: 1.4.0 + should-util: 1.0.1 + + should-type@1.4.0: {} + + should-util@1.0.1: {} + + should@13.2.3: + dependencies: + should-equal: 2.0.0 + should-format: 3.0.3 + should-type: 1.4.0 + should-type-adaptors: 1.1.0 + should-util: 1.0.1 + + side-channel-list@1.0.1: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.4 + + side-channel-map@1.0.1: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + object-inspect: 1.13.4 + + side-channel-weakmap@1.0.2: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + object-inspect: 1.13.4 + side-channel-map: 1.0.1 + + side-channel@1.1.0: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.4 + side-channel-list: 1.0.1 + side-channel-map: 1.0.1 + side-channel-weakmap: 1.0.2 + + signal-exit@3.0.7: {} + + signal-exit@4.1.0: {} + + single-spa@5.9.5: {} + + size-sensor@1.0.3: {} + + slash@3.0.0: {} + + slash@4.0.0: {} + + slate-history@0.115.0(slate@0.124.1): + dependencies: + slate: 0.124.1 + + slate@0.124.1: {} + + slice-ansi@4.0.0: + dependencies: + ansi-styles: 4.3.0 + astral-regex: 2.0.0 + is-fullwidth-code-point: 3.0.0 + + snabbdom@3.6.3: {} + + sonic-boom@2.8.0: + dependencies: + atomic-sleep: 1.0.0 + + sort-object-keys@1.1.3: {} + + sort-package-json@2.4.1: + dependencies: + detect-indent: 7.0.2 + detect-newline: 4.0.1 + git-hooks-list: 3.2.0 + globby: 13.2.2 + is-plain-obj: 4.1.0 + sort-object-keys: 1.1.3 + + source-map-js@1.2.1: {} + + source-map-support@0.5.21: + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + + source-map@0.5.7: {} + + source-map@0.6.1: {} + + source-map@0.7.6: {} + + space-separated-tokens@2.0.2: {} + + spdx-correct@3.2.0: + dependencies: + spdx-expression-parse: 3.0.1 + spdx-license-ids: 3.0.23 + + spdx-exceptions@2.5.0: {} + + spdx-expression-parse@3.0.1: + dependencies: + spdx-exceptions: 2.5.0 + spdx-license-ids: 3.0.23 + + spdx-license-ids@3.0.23: {} + + spdy-transport@3.0.0: + dependencies: + debug: 4.4.3 + detect-node: 2.1.0 + hpack.js: 2.1.6 + obuf: 1.1.2 + readable-stream: 3.6.2 + wbuf: 1.7.3 + transitivePeerDependencies: + - supports-color + + spdy@4.0.2: + dependencies: + debug: 4.4.3 + handle-thing: 2.0.1 + http-deceiver: 1.2.7 + select-hose: 2.0.0 + spdy-transport: 3.0.0 + transitivePeerDependencies: + - supports-color + + specificity@0.4.1: {} + + split-on-first@1.1.0: {} + + split2@4.2.0: {} + + sprintf-js@1.0.3: {} + + ssr-window@4.0.2: {} + + stable@0.1.8: {} + + stackframe@1.3.4: {} + + statuses@1.5.0: {} + + statuses@2.0.2: {} + + stop-iteration-iterator@1.1.0: + dependencies: + es-errors: 1.3.0 + internal-slot: 1.1.0 + + stream-browserify@2.0.2: + dependencies: + inherits: 2.0.4 + readable-stream: 2.3.8 + + stream-http@2.8.3: + dependencies: + builtin-status-codes: 3.0.0 + inherits: 2.0.4 + readable-stream: 2.3.8 + to-arraybuffer: 1.0.1 + xtend: 4.0.2 + + stream-shift@1.0.3: {} + + strict-uri-encode@2.0.0: {} + + string-convert@0.2.1: {} + + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + string-width@5.1.2: + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.2.0 + + string.prototype.matchall@4.0.12: + dependencies: + call-bind: 1.0.9 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-abstract: 1.24.2 + es-errors: 1.3.0 + es-object-atoms: 1.1.2 + get-intrinsic: 1.3.0 + gopd: 1.2.0 + has-symbols: 1.1.0 + internal-slot: 1.1.0 + regexp.prototype.flags: 1.5.4 + set-function-name: 2.0.2 + side-channel: 1.1.0 + + string.prototype.trim@1.2.10: + dependencies: + call-bind: 1.0.9 + call-bound: 1.0.4 + define-data-property: 1.1.4 + define-properties: 1.2.1 + es-abstract: 1.24.2 + es-object-atoms: 1.1.2 + has-property-descriptors: 1.0.2 + + string.prototype.trimend@1.0.9: + dependencies: + call-bind: 1.0.9 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-object-atoms: 1.1.2 + + string.prototype.trimstart@1.0.8: + dependencies: + call-bind: 1.0.9 + define-properties: 1.2.1 + es-object-atoms: 1.1.2 + + string_decoder-okam@1.3.0: + dependencies: + safe-buffer: 5.2.1 + + string_decoder@1.1.1: + dependencies: + safe-buffer: 5.1.2 + + string_decoder@1.3.0: + dependencies: + safe-buffer: 5.2.1 + + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + + strip-ansi@7.2.0: + dependencies: + ansi-regex: 6.2.2 + + strip-final-newline@2.0.0: {} + + strip-final-newline@3.0.0: {} + + strip-indent@3.0.0: + dependencies: + min-indent: 1.0.1 + + strip-json-comments@3.1.1: {} + + style-search@0.1.0: {} + + styled-components@6.1.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + dependencies: + '@emotion/is-prop-valid': 1.4.0 + '@emotion/unitless': 0.8.1 + '@types/stylis': 4.2.7 + css-to-react-native: 3.2.0 + csstype: 3.2.3 + postcss: 8.5.15 + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + shallowequal: 1.1.0 + stylis: 4.4.0 + tslib: 2.8.1 + + styled-jsx@5.1.7(@babel/core@7.29.7)(react@19.2.6): + dependencies: + client-only: 0.0.1 + react: 19.2.6 + optionalDependencies: + '@babel/core': 7.29.7 + + stylelint-config-recommended@7.0.0(stylelint@14.8.2): + dependencies: + stylelint: 14.8.2 + + stylelint-config-standard@25.0.0(stylelint@14.8.2): + dependencies: + stylelint: 14.8.2 + stylelint-config-recommended: 7.0.0(stylelint@14.8.2) + + stylelint@14.8.2: + dependencies: + balanced-match: 2.0.0 + colord: 2.9.3 + cosmiconfig: 7.1.0 + css-functions-list: 3.3.3 + debug: 4.4.3 + execall: 2.0.0 + fast-glob: 3.3.3 + fastest-levenshtein: 1.0.16 + file-entry-cache: 6.0.1 + get-stdin: 8.0.0 + global-modules: 2.0.0 + globby: 11.1.0 + globjoin: 0.1.4 + html-tags: 3.3.1 + ignore: 5.3.2 + import-lazy: 4.0.0 + imurmurhash: 0.1.4 + is-plain-object: 5.0.0 + known-css-properties: 0.25.0 + mathml-tag-names: 2.1.3 + meow: 9.0.0 + micromatch: 4.0.8 + normalize-path: 3.0.0 + normalize-selector: 0.2.0 + picocolors: 1.1.1 + postcss: 8.5.15 + postcss-media-query-parser: 0.2.3 + postcss-resolve-nested-selector: 0.1.6 + postcss-safe-parser: 6.0.0(postcss@8.5.15) + postcss-selector-parser: 6.1.2 + postcss-value-parser: 4.2.0 + resolve-from: 5.0.0 + specificity: 0.4.1 + string-width: 4.2.3 + strip-ansi: 6.0.1 + style-search: 0.1.0 + supports-hyperlinks: 2.3.0 + svg-tags: 1.0.0 + table: 6.9.0 + v8-compile-cache: 2.4.0 + write-file-atomic: 4.0.2 + transitivePeerDependencies: + - supports-color + + stylis@4.2.0: {} + + stylis@4.4.0: {} + + superjson@1.13.3: + dependencies: + copy-anything: 3.0.5 + + supports-color@5.5.0: + dependencies: + has-flag: 3.0.0 + + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + supports-color@8.1.1: + dependencies: + has-flag: 4.0.0 + + supports-hyperlinks@2.3.0: + dependencies: + has-flag: 4.0.0 + supports-color: 7.2.0 + + supports-preserve-symlinks-flag@1.0.0: {} + + svg-parser@2.0.4: {} + + svg-tags@1.0.0: {} + + svgo@2.8.2: + dependencies: + commander: 7.2.0 + css-select: 4.3.0 + css-tree: 1.1.3 + csso: 4.2.0 + picocolors: 1.1.1 + sax: 1.6.0 + stable: 0.1.8 + + swagger-ui-dist@4.19.1: {} + + swagger2openapi@7.0.8(encoding@0.1.13): + dependencies: + call-me-maybe: 1.0.2 + node-fetch: 2.7.0(encoding@0.1.13) + node-fetch-h2: 2.3.0 + node-readfiles: 0.2.0 + oas-kit-common: 1.0.8 + oas-resolver: 2.5.6 + oas-schema-walker: 1.1.5 + oas-validator: 5.0.8 + reftools: 1.1.9 + yaml: 1.10.3 + yargs: 17.7.2 + transitivePeerDependencies: + - encoding + + swr@2.4.1(react@19.2.6): + dependencies: + dequal: 2.0.3 + react: 19.2.6 + use-sync-external-store: 1.6.0(react@19.2.6) + + symbol-observable@1.2.0: {} + + synckit@0.8.5: + dependencies: + '@pkgr/utils': 2.4.2 + tslib: 2.8.1 + + systemjs@6.15.1: {} + + table@6.9.0: + dependencies: + ajv: 8.20.0 + lodash.truncate: 4.4.2 + slice-ansi: 4.0.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + tapable@2.3.3: {} + + terser-webpack-plugin@5.6.1(lightningcss@1.22.1)(postcss@8.5.15)(webpack@5.107.2(lightningcss@1.22.1)(postcss@8.5.15)): + dependencies: + '@jridgewell/trace-mapping': 0.3.31 + jest-worker: 27.5.1 + schema-utils: 4.3.3 + terser: 5.48.0 + webpack: 5.107.2(lightningcss@1.22.1)(postcss@8.5.15) + optionalDependencies: + lightningcss: 1.22.1 + postcss: 8.5.15 + + terser@5.48.0: + dependencies: + '@jridgewell/source-map': 0.3.11 + acorn: 8.16.0 + commander: 2.20.3 + source-map-support: 0.5.21 + + test-exclude@6.0.0: + dependencies: + '@istanbuljs/schema': 0.1.6 + glob: 7.2.3 + minimatch: 3.1.5 + + text-table@0.2.0: {} + + thread-stream@0.15.2: + dependencies: + real-require: 0.1.0 + + throttle-debounce@5.0.2: {} + + timers-browserify@2.0.12: + dependencies: + setimmediate: 1.0.5 + + timers-ext@0.1.8: + dependencies: + es5-ext: 0.10.64 + next-tick: 1.1.0 + + tiny-invariant@1.3.3: {} + + tiny-pinyin@1.3.2: {} + + tiny-warning@1.0.3: {} + + tinycolor2@1.6.0: {} + + tinyexec@1.2.2: {} + + tinypool@2.1.0: {} + + titleize@3.0.0: {} + + tmpl@1.0.5: {} + + to-arraybuffer@1.0.1: {} + + to-buffer@1.2.2: + dependencies: + isarray: 2.0.5 + safe-buffer: 5.2.1 + typed-array-buffer: 1.0.3 + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + toggle-selection@1.0.6: {} + + toidentifier@1.0.0: {} + + toidentifier@1.0.1: {} + + tr46@0.0.3: {} + + trim-newlines@3.0.1: {} + + trim-right@1.0.1: {} + + ts-dedent@2.2.0: {} + + tslib@1.14.1: {} + + tslib@2.3.0: {} + + tslib@2.8.1: {} + + tsutils@3.21.0(typescript@6.0.3): + dependencies: + tslib: 1.14.1 + typescript: 6.0.3 + + tsx@3.12.2: + 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 + + tty-browserify@0.0.0: {} + + type-check@0.4.0: + dependencies: + prelude-ls: 1.2.1 + + type-fest@0.18.1: {} + + type-fest@0.20.2: {} + + type-fest@0.6.0: {} + + type-fest@0.8.1: {} + + type-is@1.6.18: + dependencies: + media-typer: 0.3.0 + mime-types: 2.1.35 + + type@2.7.3: {} + + typed-array-buffer@1.0.3: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-typed-array: 1.1.15 + + typed-array-byte-length@1.0.3: + dependencies: + call-bind: 1.0.9 + for-each: 0.3.5 + gopd: 1.2.0 + has-proto: 1.2.0 + is-typed-array: 1.1.15 + + typed-array-byte-offset@1.0.4: + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.9 + for-each: 0.3.5 + gopd: 1.2.0 + has-proto: 1.2.0 + is-typed-array: 1.1.15 + reflect.getprototypeof: 1.0.10 + + typed-array-length@1.0.7: + dependencies: + call-bind: 1.0.9 + for-each: 0.3.5 + gopd: 1.2.0 + is-typed-array: 1.1.15 + possible-typed-array-names: 1.1.0 + reflect.getprototypeof: 1.0.10 + + typescript@6.0.3: {} + + umi@4.6.57(@babel/core@7.29.7)(@types/node@25.9.1)(@types/react@19.2.15)(eslint@8.35.0)(lightningcss@1.22.1)(prettier@2.8.8)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(rollup@3.30.0)(sass@1.54.0)(styled-jsx@5.1.7(@babel/core@7.29.7)(react@19.2.6))(stylelint@14.8.2)(terser@5.48.0)(type-fest@0.20.2)(typescript@6.0.3)(webpack@5.107.2(lightningcss@1.22.1)(postcss@8.5.15)): + dependencies: + '@babel/runtime': 7.23.6 + '@umijs/bundler-utils': 4.6.57 + '@umijs/bundler-webpack': 4.6.57(type-fest@0.20.2)(typescript@6.0.3)(webpack@5.107.2(lightningcss@1.22.1)(postcss@8.5.15)) + '@umijs/core': 4.6.57 + '@umijs/lint': 4.6.57(eslint@8.35.0)(stylelint@14.8.2)(typescript@6.0.3) + '@umijs/preset-umi': 4.6.57(@types/node@25.9.1)(@types/react@19.2.15)(lightningcss@1.22.1)(rollup@3.30.0)(sass@1.54.0)(styled-jsx@5.1.7(@babel/core@7.29.7)(react@19.2.6))(terser@5.48.0)(type-fest@0.20.2)(typescript@6.0.3)(webpack@5.107.2(lightningcss@1.22.1)(postcss@8.5.15)) + '@umijs/renderer-react': 4.6.57(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@umijs/server': 4.6.57 + '@umijs/test': 4.6.57(@babel/core@7.29.7) + '@umijs/utils': 4.6.57 + prettier-plugin-organize-imports: 3.2.4(prettier@2.8.8)(typescript@6.0.3) + prettier-plugin-packagejson: 2.4.3(prettier@2.8.8) + transitivePeerDependencies: + - '@babel/core' + - '@rspack/core' + - '@types/node' + - '@types/react' + - '@types/webpack' + - '@volar/vue-language-plugin-pug' + - '@volar/vue-typescript' + - bufferutil + - eslint + - fibers + - jest + - lightningcss + - node-sass + - postcss-html + - postcss-jsx + - postcss-less + - postcss-markdown + - postcss-scss + - prettier + - react + - react-dom + - rollup + - sass + - sass-embedded + - sockjs-client + - styled-jsx + - stylelint + - stylus + - sugarss + - supports-color + - terser + - type-fest + - typescript + - utf-8-validate + - webpack + - webpack-dev-server + - webpack-hot-middleware + - webpack-plugin-serve + + unbox-primitive@1.1.0: + dependencies: + call-bound: 1.0.4 + has-bigints: 1.1.0 + has-symbols: 1.1.0 + which-boxed-primitive: 1.1.1 + + undici-types@7.24.6: {} + + unfetch@5.0.0: {} + + universalify@2.0.1: {} + + unpipe@1.0.0: {} + + untildify@4.0.0: {} + + update-browserslist-db@1.2.3(browserslist@4.28.2): + dependencies: + browserslist: 4.28.2 + escalade: 3.2.0 + picocolors: 1.1.1 + + uri-js@4.4.1: + dependencies: + punycode: 2.3.1 + + url-okam@0.11.1: + dependencies: + punycode: 1.4.1 + qs: 6.15.2 + + url@0.11.4: + dependencies: + punycode: 1.4.1 + qs: 6.15.2 + + use-isomorphic-layout-effect@1.2.1(@types/react@19.2.15)(react@18.3.1): + dependencies: + react: 18.3.1 + optionalDependencies: + '@types/react': 19.2.15 + + use-merge-value@1.2.0(react@19.2.6): + dependencies: + react: 19.2.6 + + use-sync-external-store@1.2.0(react@19.2.6): + dependencies: + react: 19.2.6 + + use-sync-external-store@1.6.0(react@19.2.6): + dependencies: + react: 19.2.6 + + util-deprecate@1.0.2: {} + + util-okam@0.11.1: + dependencies: + inherits: 2.0.3 + + util@0.10.3: + dependencies: + inherits: 2.0.1 + + util@0.10.4: + dependencies: + inherits: 2.0.3 + + util@0.11.1: + dependencies: + inherits: 2.0.3 + + utila@0.4.0: {} + + utils-merge@1.0.1: {} + + uuid@14.0.0: {} + + uzip@0.20201231.0: {} + + v8-compile-cache@2.4.0: {} + + validate-npm-package-license@3.0.4: + dependencies: + spdx-correct: 3.2.0 + spdx-expression-parse: 3.0.1 + + valtio@1.11.2(@types/react@19.2.15)(react@19.2.6): + dependencies: + proxy-compare: 2.5.1 + use-sync-external-store: 1.2.0(react@19.2.6) + optionalDependencies: + '@types/react': 19.2.15 + react: 19.2.6 + + value-equal@1.0.1: {} + + vary@1.1.2: {} + + vite@4.5.2(@types/node@25.9.1)(less@4.1.3)(lightningcss@1.22.1)(sass@1.54.0)(terser@5.48.0): + dependencies: + esbuild: 0.18.20 + postcss: 8.5.15 + rollup: 3.30.0 + optionalDependencies: + '@types/node': 25.9.1 + fsevents: 2.3.3 + less: 4.1.3 + lightningcss: 1.22.1 + sass: 1.54.0 + terser: 5.48.0 + + vm-browserify@1.1.2: {} + + walker@1.0.8: + dependencies: + makeerror: 1.0.12 + + warning@3.0.0: + dependencies: + loose-envify: 1.4.0 + + warning@4.0.3: + dependencies: + loose-envify: 1.4.0 + + watchpack@2.5.1: + dependencies: + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + + wbuf@1.7.3: + dependencies: + minimalistic-assert: 1.0.1 + + web-streams-polyfill@3.3.3: {} + + webidl-conversions@3.0.1: {} + + webpack-5-chain@8.0.1: + dependencies: + deepmerge: 1.5.2 + javascript-stringify: 2.1.0 + + webpack-sources@3.5.0: {} + + webpack@5.107.2(lightningcss@1.22.1)(postcss@8.5.15): + dependencies: + '@types/estree': 1.0.9 + '@types/json-schema': 7.0.15 + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/wasm-edit': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + acorn: 8.16.0 + acorn-import-phases: 1.0.4(acorn@8.16.0) + browserslist: 4.28.2 + chrome-trace-event: 1.0.4 + enhanced-resolve: 5.22.0 + es-module-lexer: 2.1.0 + eslint-scope: 5.1.1 + events: 3.3.0 + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + loader-runner: 4.3.2 + mime-db: 1.54.0 + neo-async: 2.6.2 + schema-utils: 4.3.3 + tapable: 2.3.3 + terser-webpack-plugin: 5.6.1(lightningcss@1.22.1)(postcss@8.5.15)(webpack@5.107.2(lightningcss@1.22.1)(postcss@8.5.15)) + watchpack: 2.5.1 + webpack-sources: 3.5.0 + transitivePeerDependencies: + - '@minify-html/node' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - clean-css + - cssnano + - csso + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - uglify-js + + whatwg-fetch@3.6.20: {} + + whatwg-url@5.0.0: + dependencies: + tr46: 0.0.3 + webidl-conversions: 3.0.1 + + which-boxed-primitive@1.1.1: + dependencies: + is-bigint: 1.1.0 + is-boolean-object: 1.2.2 + is-number-object: 1.1.1 + is-string: 1.1.1 + is-symbol: 1.1.1 + + which-builtin-type@1.2.1: + dependencies: + call-bound: 1.0.4 + function.prototype.name: 1.1.8 + has-tostringtag: 1.0.2 + is-async-function: 2.1.1 + is-date-object: 1.1.0 + is-finalizationregistry: 1.1.1 + is-generator-function: 1.1.2 + is-regex: 1.2.1 + is-weakref: 1.1.1 + isarray: 2.0.5 + which-boxed-primitive: 1.1.1 + which-collection: 1.0.2 + which-typed-array: 1.1.21 + + which-collection@1.0.2: + dependencies: + is-map: 2.0.3 + is-set: 2.0.3 + is-weakmap: 2.0.2 + is-weakset: 2.0.4 + + which-typed-array@1.1.21: + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.9 + call-bound: 1.0.4 + for-each: 0.3.5 + get-proto: 1.0.1 + gopd: 1.2.0 + has-tostringtag: 1.0.2 + + which@1.3.1: + dependencies: + isexe: 2.0.0 + + which@2.0.2: + dependencies: + isexe: 2.0.0 + + wildcard@1.1.2: {} + + word-wrap@1.2.5: {} + + wrap-ansi@7.0.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrap-ansi@8.1.0: + dependencies: + ansi-styles: 6.2.3 + string-width: 5.1.2 + strip-ansi: 7.2.0 + + wrappy@1.0.2: {} + + write-file-atomic@4.0.2: + dependencies: + imurmurhash: 0.1.4 + signal-exit: 3.0.7 + + ws@8.21.0: {} + + xtend@4.0.2: {} + + y18n@5.0.8: {} + + yallist@3.1.1: {} + + yallist@4.0.0: {} + + yaml@1.10.3: {} + + yargs-parser@20.2.9: {} + + yargs-parser@21.1.1: {} + + yargs@17.7.2: + dependencies: + cliui: 8.0.1 + escalade: 3.2.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + + yocto-queue@0.1.0: {} + + zod-validation-error@2.1.0(zod@3.25.76): + dependencies: + zod: 3.25.76 + + zod@3.25.76: {} + + zrender@6.1.0: + dependencies: + tslib: 2.3.0 + + zustand@5.0.14(@types/react@19.2.15)(react@19.2.6)(use-sync-external-store@1.6.0(react@19.2.6)): + optionalDependencies: + '@types/react': 19.2.15 + react: 19.2.6 + use-sync-external-store: 1.6.0(react@19.2.6) diff --git a/src/api/ai/agent/index.ts b/src/api/ai/agent/index.ts new file mode 100644 index 00000000..04a87fe7 --- /dev/null +++ b/src/api/ai/agent/index.ts @@ -0,0 +1,150 @@ +import type { PageResult, R } from '@/api/types'; +import request, { globalHeaders } from '@/api/request'; +import { useAppStore } from '@/stores/appStore'; +import { appEnv } from '@/utils/env'; +import type { + AgentChatRequest, + AgentChatSyncResponse, + AgentItem, + ConversationMessage, + ConversationSummaryItem, + SnailOpenApiUser +} from './types'; + +export function fetchMyAgents() { + return request>>({ + url: '/snail-ai/agents', + method: 'get' + }); +} + +export function fetchAgentDetail(id: number) { + return request>({ + url: `/snail-ai/agent/${id}`, + method: 'get' + }); +} + +export function fetchAgentConversations( + id: number, + params: { page?: number; size?: number; start?: string; end?: string } +) { + return request | ConversationSummaryItem[]>>({ + url: `/snail-ai/agent/${id}/conversations`, + method: 'get', + params + }); +} + +export function fetchConversationMessages(agentId: number, conversationId: string) { + return request>>({ + url: `/snail-ai/agent/${agentId}/conversation/${conversationId}/messages`, + method: 'get' + }); +} + +export function createConversation(agentId: number, data: { title?: string }) { + return request>({ + url: `/snail-ai/agent/${agentId}/conversation`, + method: 'post', + data + }); +} + +export function deleteConversation(agentId: number, conversationId: string) { + return request({ + url: `/snail-ai/agent/${agentId}/conversation/${conversationId}`, + method: 'delete' + }); +} + +export function registerCurrentSnailUser() { + return request>({ + url: '/snail-ai/user/register', + method: 'post' + }); +} + +export function fetchChatMode() { + return request>({ + url: '/snail-ai/chat/mode', + method: 'get' + }); +} + +export async function fetchAgentChat( + agentId: number, + data: AgentChatRequest, + options: { + onMessage: (chunk: string) => void; + onThinking?: (chunk: string) => void; + onDone: () => void; + onError: (error: Error) => void; + signal?: AbortSignal; + } +) { + const baseURL = appEnv.baseApi; + const language = useAppStore.getState().appLocale; + try { + const response = await fetch(`${baseURL}/snail-ai/agent/${agentId}/chat/stream`, { + method: 'POST', + headers: { + ...globalHeaders(), + 'Content-Language': language, + Accept: 'text/event-stream', + 'Content-Type': 'application/json;charset=utf-8' + }, + body: JSON.stringify(data), + signal: options.signal + }); + + if (!response.ok) { + const text = await response.text(); + throw new Error(text || `HTTP ${response.status}`); + } + + const reader = response.body?.getReader(); + if (!reader) throw new Error('ReadableStream not supported'); + + const decoder = new TextDecoder(); + let buffer = ''; + while (true) { + const { done, value } = await reader.read(); + if (done) break; + buffer += decoder.decode(value, { stream: true }); + const eventBlocks = buffer.split(/\r?\n\r?\n/); + buffer = eventBlocks.pop() || ''; + for (const block of eventBlocks) { + if (!block.trim()) continue; + let eventName = 'message'; + let payload = ''; + for (const line of block.split(/\r?\n/)) { + if (line.startsWith('event:')) eventName = line.slice(6).trim(); + if (line.startsWith('data:')) payload += line.slice(5).trim(); + } + if (!payload && eventName !== 'done') continue; + if (eventName === 'thinking') { + options.onThinking?.(payload); + } else if (eventName === 'done') { + options.onDone(); + return; + } else if (eventName === 'error') { + throw new Error(payload || 'SSE stream error'); + } else { + options.onMessage(payload); + } + } + } + options.onDone(); + } catch (error) { + if ((error as Error).name !== 'AbortError') options.onError(error as Error); + } +} + +export function fetchAgentChatSync(agentId: number, data: AgentChatRequest) { + return request>({ + url: `/snail-ai/agent/${agentId}/chat/sync`, + method: 'post', + data + }); +} diff --git a/src/api/ai/agent/types.ts b/src/api/ai/agent/types.ts new file mode 100644 index 00000000..918e6b12 --- /dev/null +++ b/src/api/ai/agent/types.ts @@ -0,0 +1,61 @@ +export interface AgentItem { + id: number; + name: string; + description?: string; + avatar?: string; + greeting?: string; + status?: number; + presetQuestions?: string[]; +} + +export interface ConversationSummaryItem { + conversationId: string; + agentId?: number; + title: string; + lastMessageDt?: string; + createDt?: string; + updateDt?: string; +} + +export interface ConversationSummaryList { + total: number; + rows: ConversationSummaryItem[]; +} + +export interface ConversationMessage { + role?: string; + content?: string; + thinking?: string; + message?: string; + text?: string; + messageType?: string; + senderType?: string; +} + +export interface AgentChatRequest { + conversationId?: string; + content: string; + disabledMcpServerIds?: number[]; + disabledSkillIds?: number[]; +} + +export interface AgentChatSyncResponse { + conversationId?: string; + content?: string; + traceId?: string; + durationMs?: number; + text?: string; + message?: string; + answer?: string; + reply?: string; + outputText?: string; + result?: string; + messages?: ConversationMessage[]; +} + +export interface SnailOpenApiUser { + openId: string; + nickname?: string; + externalId?: string; + created?: boolean; +} diff --git a/src/api/ai/index.ts b/src/api/ai/index.ts new file mode 100644 index 00000000..81bac904 --- /dev/null +++ b/src/api/ai/index.ts @@ -0,0 +1,2 @@ +export * from './agent'; +export * from './agent/types'; diff --git a/src/api/demo/demo/index.ts b/src/api/demo/demo/index.ts new file mode 100644 index 00000000..71257a2b --- /dev/null +++ b/src/api/demo/demo/index.ts @@ -0,0 +1,41 @@ +import type { PageResult, R } from '@/api/types'; +import request from '@/api/request'; +import type { DemoForm, DemoQuery, DemoVO } from './types'; + +export function listDemo(query?: DemoQuery) { + return request>>({ + url: '/demo/demo/list', + method: 'get', + params: query + }); +} + +export function getDemo(id: string | number) { + return request>({ + url: `/demo/demo/${id}`, + method: 'get' + }); +} + +export function addDemo(data: DemoForm) { + return request({ + url: '/demo/demo', + method: 'post', + data + }); +} + +export function updateDemo(data: DemoForm) { + return request({ + url: '/demo/demo', + method: 'put', + data + }); +} + +export function delDemo(id: string | number | Array) { + return request({ + url: `/demo/demo/${id}`, + method: 'delete' + }); +} diff --git a/src/api/demo/demo/types.ts b/src/api/demo/demo/types.ts new file mode 100644 index 00000000..eac956c0 --- /dev/null +++ b/src/api/demo/demo/types.ts @@ -0,0 +1,27 @@ +import type { BaseEntity, PageQuery } from '@/api/types'; + +export interface DemoForm extends BaseEntity { + id?: string | number; + deptId?: string | number; + userId?: string | number; + orderNum?: number; + testKey?: string; + value?: string; +} + +export interface DemoQuery extends PageQuery { + deptId?: string | number; + userId?: string | number; + orderNum?: number; + testKey?: string; + value?: string; +} + +export interface DemoVO { + id: string | number; + deptId: string | number; + userId: string | number; + orderNum: number; + testKey: string; + value: string; +} diff --git a/src/api/demo/tree/index.ts b/src/api/demo/tree/index.ts new file mode 100644 index 00000000..9260c951 --- /dev/null +++ b/src/api/demo/tree/index.ts @@ -0,0 +1,41 @@ +import type { R } from '@/api/types'; +import request from '@/api/request'; +import type { TreeForm, TreeQuery, TreeVO } from './types'; + +export function listTree(query?: TreeQuery) { + return request>({ + url: '/demo/tree/list', + method: 'get', + params: query + }); +} + +export function getTree(id: string | number) { + return request>({ + url: `/demo/tree/${id}`, + method: 'get' + }); +} + +export function addTree(data: TreeForm) { + return request({ + url: '/demo/tree', + method: 'post', + data + }); +} + +export function updateTree(data: TreeForm) { + return request({ + url: '/demo/tree', + method: 'put', + data + }); +} + +export function delTree(id: string | number | Array) { + return request({ + url: `/demo/tree/${id}`, + method: 'delete' + }); +} diff --git a/src/api/demo/tree/types.ts b/src/api/demo/tree/types.ts new file mode 100644 index 00000000..66f96e3c --- /dev/null +++ b/src/api/demo/tree/types.ts @@ -0,0 +1,25 @@ +import type { BaseEntity } from '@/api/types'; + +export interface TreeForm extends BaseEntity { + id?: string | number; + parentId?: string | number; + deptId?: string | number; + userId?: string | number; + treeName?: string; +} + +export interface TreeQuery { + parentId?: string | number; + deptId?: string | number; + userId?: string | number; + treeName?: string; +} + +export interface TreeVO { + id: string | number; + parentId: string | number; + deptId: string | number; + userId: string | number; + treeName: string; + children?: TreeVO[]; +} diff --git a/src/api/login.ts b/src/api/login.ts new file mode 100644 index 00000000..1bde85ea --- /dev/null +++ b/src/api/login.ts @@ -0,0 +1,75 @@ +import type { UserInfo } from '@/api/system/user/types'; +import type { LoginParams, LoginResult, R, RegisterParams, VerifyCodeResult } from '@/api/types'; +import request from '@/api/request'; +import { appEnv } from '@/utils/env'; + +export function login(data: LoginParams) { + return request>({ + url: '/auth/login', + method: 'post', + headers: { + isToken: false, + isEncrypt: 'true', + repeatSubmit: false + }, + data: { + ...data, + clientId: data.clientId || appEnv.clientId, + grantType: data.grantType || 'password' + } + }); +} + +export function logout() { + return request({ + url: '/auth/logout', + method: 'post' + }); +} + +export function register(data: RegisterParams) { + return request({ + url: '/auth/register', + method: 'post', + headers: { + isToken: false, + isEncrypt: 'true', + repeatSubmit: false + }, + data: { + ...data, + clientId: appEnv.clientId, + grantType: 'password' + } + }); +} + +export function callback(data: LoginParams) { + return request>({ + url: '/auth/social/callback', + method: 'post', + data: { + ...data, + clientId: appEnv.clientId, + grantType: 'social' + } + }); +} + +export function getCodeImg() { + return request>({ + url: '/auth/code', + method: 'get', + headers: { + isToken: false + }, + timeout: 20000 + }); +} + +export function getInfo() { + return request>({ + url: '/system/user/getInfo', + method: 'get' + }); +} diff --git a/src/api/menu.ts b/src/api/menu.ts new file mode 100644 index 00000000..a8ff4d0e --- /dev/null +++ b/src/api/menu.ts @@ -0,0 +1,9 @@ +import type { BackendRoute, R } from '@/api/types'; +import request from '@/api/request'; + +export function getRouters() { + return request>({ + url: '/system/menu/getRouters', + method: 'get' + }); +} diff --git a/src/api/monitor/cache/index.ts b/src/api/monitor/cache/index.ts new file mode 100644 index 00000000..d368aa3a --- /dev/null +++ b/src/api/monitor/cache/index.ts @@ -0,0 +1,10 @@ +import type { R } from '@/api/types'; +import request from '@/api/request'; +import type { CacheVO } from './types'; + +export function getCache() { + return request>({ + url: '/monitor/cache', + method: 'get' + }); +} diff --git a/src/api/monitor/cache/types.ts b/src/api/monitor/cache/types.ts new file mode 100644 index 00000000..c85f7136 --- /dev/null +++ b/src/api/monitor/cache/types.ts @@ -0,0 +1,5 @@ +export interface CacheVO { + commandStats: Array<{ name: string; value: string | number }>; + dbSize: number; + info: Record; +} diff --git a/src/api/monitor/logininfo/index.ts b/src/api/monitor/logininfo/index.ts new file mode 100644 index 00000000..b0eda323 --- /dev/null +++ b/src/api/monitor/logininfo/index.ts @@ -0,0 +1,36 @@ +import type { PageResult, R } from '@/api/types'; +import request from '@/api/request'; +import type { LoginInfoQuery, LoginInfoVO } from './types'; + +export function listLoginInfo(query: LoginInfoQuery) { + return request>>({ + url: '/monitor/loginInfo/list', + method: 'get', + params: query + }); +} + +export function list(query: LoginInfoQuery) { + return listLoginInfo(query); +} + +export function delLoginInfo(infoId: string | number | Array) { + return request({ + url: `/monitor/loginInfo/${infoId}`, + method: 'delete' + }); +} + +export function unlockLoginInfo(userName: string | string[]) { + return request({ + url: `/monitor/loginInfo/unlock/${userName}`, + method: 'get' + }); +} + +export function cleanLoginInfo() { + return request({ + url: '/monitor/loginInfo/clean', + method: 'delete' + }); +} diff --git a/src/api/monitor/logininfo/types.ts b/src/api/monitor/logininfo/types.ts new file mode 100644 index 00000000..38adfa40 --- /dev/null +++ b/src/api/monitor/logininfo/types.ts @@ -0,0 +1,24 @@ +import type { PageQuery } from '@/api/types'; + +export interface LoginInfoQuery extends Omit { + ipaddr?: string; + userName?: string; + status?: string; + orderByColumn?: string; + isAsc?: string; +} + +export interface LoginInfoVO { + infoId: string | number; + tenantId?: string | number; + userName: string; + clientKey?: string; + deviceType?: string; + status: string; + ipaddr?: string; + loginLocation?: string; + browser?: string; + os?: string; + msg?: string; + loginTime?: string; +} diff --git a/src/api/monitor/online/index.ts b/src/api/monitor/online/index.ts new file mode 100644 index 00000000..b9466b8b --- /dev/null +++ b/src/api/monitor/online/index.ts @@ -0,0 +1,36 @@ +import type { PageResult, R } from '@/api/types'; +import request from '@/api/request'; +import type { OnlineQuery, OnlineVO } from './types'; + +export function listOnline(query: OnlineQuery) { + return request>>({ + url: '/monitor/online/list', + method: 'get', + params: query + }); +} + +export function list(query: OnlineQuery) { + return listOnline(query); +} + +export function forceLogout(tokenId: string) { + return request({ + url: `/monitor/online/${tokenId}`, + method: 'delete' + }); +} + +export function getOnline() { + return request>>({ + url: '/monitor/online', + method: 'get' + }); +} + +export function delOnline(tokenId: string) { + return request({ + url: `/monitor/online/myself/${tokenId}`, + method: 'delete' + }); +} diff --git a/src/api/monitor/online/types.ts b/src/api/monitor/online/types.ts new file mode 100644 index 00000000..b107c35c --- /dev/null +++ b/src/api/monitor/online/types.ts @@ -0,0 +1,19 @@ +import type { BaseEntity, PageQuery } from '@/api/types'; + +export interface OnlineQuery extends PageQuery { + ipaddr?: string; + userName?: string; +} + +export interface OnlineVO extends BaseEntity { + tokenId: string; + deptName?: string; + userName: string; + clientKey?: string; + deviceType?: string; + ipaddr?: string; + loginLocation?: string; + browser?: string; + os?: string; + loginTime?: number | string; +} diff --git a/src/api/monitor/operlog/index.ts b/src/api/monitor/operlog/index.ts new file mode 100644 index 00000000..d34e3559 --- /dev/null +++ b/src/api/monitor/operlog/index.ts @@ -0,0 +1,29 @@ +import type { PageResult, R } from '@/api/types'; +import request from '@/api/request'; +import type { OperLogQuery, OperLogVO } from './types'; + +export function listOperlog(query: OperLogQuery) { + return request>>({ + url: '/monitor/operlog/list', + method: 'get', + params: query + }); +} + +export function list(query: OperLogQuery) { + return listOperlog(query); +} + +export function delOperlog(operId: string | number | Array) { + return request({ + url: `/monitor/operlog/${operId}`, + method: 'delete' + }); +} + +export function cleanOperlog() { + return request({ + url: '/monitor/operlog/clean', + method: 'delete' + }); +} diff --git a/src/api/monitor/operlog/types.ts b/src/api/monitor/operlog/types.ts new file mode 100644 index 00000000..828d4057 --- /dev/null +++ b/src/api/monitor/operlog/types.ts @@ -0,0 +1,45 @@ +import type { BaseEntity, PageQuery } from '@/api/types'; + +export interface OperLogQuery extends Omit { + operIp?: string; + title?: string; + operName?: string; + userId?: string; + deptId?: string; + clientKey?: string; + deviceType?: string; + browser?: string; + os?: string; + businessType?: string; + status?: string; + orderByColumn?: string; + isAsc?: string; +} + +export interface OperLogVO extends BaseEntity { + operId: string | number; + tenantId?: string; + title?: string; + businessType?: number | string; + businessTypes?: number[]; + method?: string; + requestMethod?: string; + operatorType?: number; + operName?: string; + userId?: string | number; + deptId?: string | number; + deptName?: string; + clientKey?: string; + deviceType?: string; + browser?: string; + os?: string; + operUrl?: string; + operIp?: string; + operLocation?: string; + operParam?: string; + jsonResult?: string; + status?: number | string; + errorMsg?: string; + operTime?: string; + costTime?: number; +} diff --git a/src/api/request.ts b/src/api/request.ts new file mode 100644 index 00000000..8f37dbfc --- /dev/null +++ b/src/api/request.ts @@ -0,0 +1,215 @@ +import { history } from '@umijs/max'; +import { Modal } from 'antd'; +import axios, { type AxiosError, type AxiosRequestConfig } from 'axios'; +import { useAppStore } from '@/stores/appStore'; +import { useTagsViewStore } from '@/stores/tagsViewStore'; +import { getToken, removeToken } from '@/utils/auth'; +import { decryptBase64, decryptWithAes, encryptBase64, encryptWithAes, generateAesKey } from '@/utils/crypto'; +import { appEnv } from '@/utils/env'; +import { decrypt, encrypt } from '@/utils/jsencrypt'; +import { tansParams } from '@/utils/ruoyi'; + +const SUCCESS = 200; +const WARN = 601; +const SERVER_ERROR = 500; +const encryptHeader = 'encrypt-key'; +const repeatSubmitStorageKey = 'sessionObj'; +const repeatSubmitInterval = 500; + +export interface RequestConfig extends AxiosRequestConfig { + headers?: AxiosRequestConfig['headers'] & { + isToken?: false; + isEncrypt?: 'true' | 'false' | boolean; + repeatSubmit?: false; + }; +} + +export const isRelogin = { show: false }; + +export function globalHeaders() { + return { + Authorization: `Bearer ${getToken() || ''}`, + clientid: appEnv.clientId + }; +} + +function stableDataString(data: unknown) { + if (data instanceof FormData) return ''; + if (typeof data === 'string') return data; + if (typeof data === 'undefined' || data === null) return ''; + if (typeof data === 'object') return JSON.stringify(data); + return String(data); +} + +function getSessionSubmitRecord() { + try { + const text = sessionStorage.getItem(repeatSubmitStorageKey); + return text ? (JSON.parse(text) as { url?: string; data?: string; time?: number }) : undefined; + } catch { + sessionStorage.removeItem(repeatSubmitStorageKey); + return undefined; + } +} + +function setSessionSubmitRecord(record: { url?: string; data?: string; time: number }) { + sessionStorage.setItem(repeatSubmitStorageKey, JSON.stringify(record)); +} + +const service = axios.create({ + baseURL: appEnv.baseApi, + timeout: 50000, + headers: { + 'Content-Type': 'application/json;charset=utf-8', + clientid: appEnv.clientId + }, + transitional: { + clarifyTimeoutError: true + } +}); + +service.interceptors.request.use(config => { + config.headers.set('Content-Language', useAppStore.getState().appLocale); + + const isToken = config.headers.get('isToken') === false; + const isEncrypt = config.headers.get('isEncrypt') === 'true' || config.headers.get('isEncrypt') === true; + const isRepeatSubmitDisabled = config.headers.get('repeatSubmit') === false; + + if (getToken() && !isToken) { + config.headers.set('Authorization', `Bearer ${getToken()}`); + } + + if (config.method === 'get' && config.params) { + let url = `${config.url}?${tansParams(config.params)}`; + url = url.slice(0, -1); + config.params = {}; + config.url = url; + } + + if (!isRepeatSubmitDisabled && (config.method === 'post' || config.method === 'put')) { + const requestObj = { + url: config.url, + data: stableDataString(config.data), + time: Date.now() + }; + const sessionObj = getSessionSubmitRecord(); + if ( + sessionObj && + sessionObj.url === requestObj.url && + sessionObj.data === requestObj.data && + requestObj.time - (sessionObj.time || 0) < repeatSubmitInterval + ) { + return Promise.reject(new Error('数据正在处理,请勿重复提交')); + } + setSessionSubmitRecord(requestObj); + } + + if (appEnv.encryptEnabled && isEncrypt && (config.method === 'post' || config.method === 'put')) { + const aesKey = generateAesKey(); + const encryptedKey = encrypt(encryptBase64(aesKey)); + if (encryptedKey) { + config.headers.set(encryptHeader, encryptedKey); + } + const data = typeof config.data === 'object' ? JSON.stringify(config.data) : String(config.data ?? ''); + config.data = encryptWithAes(data, aesKey); + } + + if (config.data instanceof FormData) { + config.headers.delete('Content-Type'); + } + + config.headers.delete('isToken'); + config.headers.delete('isEncrypt'); + config.headers.delete('repeatSubmit'); + + return config; +}); + +function normalizeErrorMessage(message?: string) { + if (!message) return undefined; + if (message === 'Network Error') return '后端接口连接异常'; + if (message.includes('timeout')) return '系统接口请求超时'; + if (message.includes('Request failed with status code')) return `系统接口${message.slice(-3)}异常`; + return message; +} + +async function parseResponseErrorData(data: unknown): Promise { + if (!data) return undefined; + if (data instanceof Blob) return parseResponseErrorData(await data.text()); + if (data instanceof ArrayBuffer) return parseResponseErrorData(new TextDecoder().decode(data)); + if (typeof data === 'string') { + const text = data.trim(); + if (!text) return undefined; + try { + return parseResponseErrorData(JSON.parse(text)); + } catch { + return text; + } + } + if (typeof data === 'object') { + const payload = data as { msg?: string; message?: string }; + return payload.msg || payload.message; + } + return undefined; +} + +async function getErrorMessage(error: AxiosError) { + const responseMessage = await parseResponseErrorData(error.response?.data); + return responseMessage || normalizeErrorMessage(error.message) || '系统未知错误'; +} + +service.interceptors.response.use( + response => { + const keyStr = response.headers[encryptHeader]; + if (appEnv.encryptEnabled && keyStr) { + const base64Str = decrypt(keyStr); + if (base64Str) { + const aesKey = decryptBase64(base64Str); + response.data = JSON.parse(decryptWithAes(response.data, aesKey)); + } + } + + if (response.request.responseType === 'blob' || response.request.responseType === 'arraybuffer') { + return response.data; + } + + const code = response.data?.code || SUCCESS; + const msg = response.data?.msg || '系统未知错误'; + + if (code === 401) { + if (!isRelogin.show) { + isRelogin.show = true; + Modal.confirm({ + title: '系统提示', + content: '登录状态已过期,您可以继续留在该页面,或者重新登录', + okText: '重新登录', + cancelText: '取消', + onOk: () => { + isRelogin.show = false; + removeToken(); + useTagsViewStore.getState().resetTags(); + history.replace( + `/login?redirect=${encodeURIComponent(`${window.location.pathname || '/'}${window.location.search || ''}`)}` + ); + }, + onCancel: () => { + isRelogin.show = false; + } + }); + } + return Promise.reject(new Error('无效的会话,或者会话已过期,请重新登录。')); + } + + if (code === SERVER_ERROR || code === WARN || code !== SUCCESS) { + return Promise.reject(new Error(msg)); + } + + return response.data; + }, + async error => { + return Promise.reject(new Error(await getErrorMessage(error))); + } +); + +export default function request(config: RequestConfig): Promise { + return service.request(config); +} diff --git a/src/api/system/client/index.ts b/src/api/system/client/index.ts new file mode 100644 index 00000000..6916dc22 --- /dev/null +++ b/src/api/system/client/index.ts @@ -0,0 +1,49 @@ +import type { PageResult, R } from '@/api/types'; +import request from '@/api/request'; +import type { ClientForm, ClientQuery, ClientVO } from './types'; + +export function listClient(query?: ClientQuery) { + return request>>({ + url: '/system/client/list', + method: 'get', + params: query + }); +} + +export function getClient(id: string | number) { + return request>({ + url: `/system/client/${id}`, + method: 'get' + }); +} + +export function addClient(data: ClientForm) { + return request({ + url: '/system/client', + method: 'post', + data + }); +} + +export function updateClient(data: ClientForm) { + return request({ + url: '/system/client', + method: 'put', + data + }); +} + +export function delClient(id: string | number | Array) { + return request({ + url: `/system/client/${id}`, + method: 'delete' + }); +} + +export function changeStatus(clientId: string, status: string) { + return request({ + url: '/system/client/changeStatus', + method: 'put', + data: { clientId, status } + }); +} diff --git a/src/api/system/client/types.ts b/src/api/system/client/types.ts new file mode 100644 index 00000000..4f9a2f61 --- /dev/null +++ b/src/api/system/client/types.ts @@ -0,0 +1,46 @@ +import type { BaseEntity, PageQuery } from '@/api/types'; + +export interface ClientForm extends BaseEntity { + id?: string | number; + clientId?: string | number; + clientKey?: string; + clientSecret?: string; + grantTypeList?: string[]; + deviceType?: string; + accessPath?: string; + accessPathList?: string[]; + ipWhitelist?: string; + ipWhitelistList?: string[]; + activeTimeout?: number; + timeout?: number; + status?: string; +} + +export interface ClientQuery extends PageQuery { + clientId?: string | number; + clientKey?: string; + clientSecret?: string; + grantType?: string; + deviceType?: string; + accessPath?: string; + ipWhitelist?: string; + activeTimeout?: number; + timeout?: number; + status?: string; +} + +export interface ClientVO { + id: string | number; + clientId: string; + clientKey: string; + clientSecret: string; + grantTypeList?: string[]; + deviceType?: string; + accessPath?: string; + accessPathList?: string[]; + ipWhitelist?: string; + ipWhitelistList?: string[]; + activeTimeout?: number; + timeout?: number; + status: string; +} diff --git a/src/api/system/config/index.ts b/src/api/system/config/index.ts new file mode 100644 index 00000000..eccf6e9f --- /dev/null +++ b/src/api/system/config/index.ts @@ -0,0 +1,70 @@ +import type { PageResult, R } from '@/api/types'; +import request from '@/api/request'; +import type { ConfigForm, ConfigQuery, ConfigVO } from './types'; + +export function listConfig(query: ConfigQuery) { + return request>>({ + url: '/system/config/list', + method: 'get', + params: query + }); +} + +export function getConfig(configId: string | number) { + return request>({ + url: `/system/config/${configId}`, + method: 'get' + }); +} + +export function getConfigKey(configKey: string) { + return request>({ + url: `/system/config/configKey/${configKey}`, + method: 'get' + }); +} + +export function addConfig(data: ConfigForm) { + return request({ + url: '/system/config', + method: 'post', + data + }); +} + +export function updateConfig(data: ConfigForm) { + return request({ + url: '/system/config', + method: 'put', + data + }); +} + +export function updateConfigByKey(key: string, value: unknown) { + return request({ + url: '/system/config/updateByKey', + method: 'put', + data: { + configKey: key, + configValue: value + } + }); +} + +export function delConfig(configId: string | number | Array) { + return request({ + url: `/system/config/${configId}`, + method: 'delete' + }); +} + +export function refreshConfigCache() { + return request({ + url: '/system/config/refreshCache', + method: 'delete' + }); +} + +export function refreshCache() { + return refreshConfigCache(); +} diff --git a/src/api/system/config/types.ts b/src/api/system/config/types.ts new file mode 100644 index 00000000..697c7e01 --- /dev/null +++ b/src/api/system/config/types.ts @@ -0,0 +1,24 @@ +import type { BaseEntity, PageQuery } from '@/api/types'; + +export interface ConfigForm { + configId?: number | string; + configName?: string; + configKey?: string; + configValue?: string; + configType?: string; + remark?: string; +} + +export interface ConfigQuery extends PageQuery { + configName?: string; + configKey?: string; + configType?: string; +} + +export interface ConfigVO extends BaseEntity { + configId: number | string; + configName: string; + configKey: string; + configValue: string; + configType: string; +} diff --git a/src/api/system/dept/index.ts b/src/api/system/dept/index.ts new file mode 100644 index 00000000..98b572c7 --- /dev/null +++ b/src/api/system/dept/index.ts @@ -0,0 +1,55 @@ +import type { R } from '@/api/types'; +import request from '@/api/request'; +import type { DeptForm, DeptQuery, DeptVO } from './types'; + +export function listDept(query?: DeptQuery) { + return request>({ + url: '/system/dept/list', + method: 'get', + params: query + }); +} + +export function optionSelect(deptIds: Array) { + return request>({ + url: `/system/dept/optionselect?deptIds=${deptIds}`, + method: 'get' + }); +} + +export function listDeptExcludeChild(deptId: string | number) { + return request>({ + url: `/system/dept/list/exclude/${deptId}`, + method: 'get' + }); +} + +export function getDept(deptId: string | number) { + return request>({ + url: `/system/dept/${deptId}`, + method: 'get' + }); +} + +export function addDept(data: DeptForm) { + return request({ + url: '/system/dept', + method: 'post', + data + }); +} + +export function updateDept(data: DeptForm) { + return request({ + url: '/system/dept', + method: 'put', + data + }); +} + +export function delDept(deptId: number | string) { + return request({ + url: `/system/dept/${deptId}`, + method: 'delete' + }); +} diff --git a/src/api/system/dept/types.ts b/src/api/system/dept/types.ts new file mode 100644 index 00000000..e2708229 --- /dev/null +++ b/src/api/system/dept/types.ts @@ -0,0 +1,50 @@ +import type { BaseEntity, PageQuery } from '@/api/types'; + +export interface DeptForm { + parentName?: string; + parentId?: number | string; + children?: DeptForm[]; + deptId?: number | string; + deptName?: string; + deptCategory?: string; + orderNum?: number; + leader?: string | number; + phone?: string; + email?: string; + status?: string; + delFlag?: string; + ancestors?: string; +} + +export interface DeptQuery extends PageQuery { + deptName?: string; + deptCategory?: string; + status?: string; +} + +export interface DeptTreeVO extends BaseEntity { + id: number | string; + label: string; + parentId: number | string; + weight: number; + children?: DeptTreeVO[]; + disabled?: boolean; +} + +export interface DeptVO extends BaseEntity { + id?: number | string; + parentName?: string; + parentId?: number | string; + children?: DeptVO[]; + deptId: number | string; + deptName: string; + deptCategory?: string; + orderNum?: number; + leader?: string; + phone?: string; + email?: string; + status?: string; + delFlag?: string; + ancestors?: string; + menuId?: string | number; +} diff --git a/src/api/system/dict/data/index.ts b/src/api/system/dict/data/index.ts new file mode 100644 index 00000000..061cf653 --- /dev/null +++ b/src/api/system/dict/data/index.ts @@ -0,0 +1,48 @@ +import type { PageResult, R } from '@/api/types'; +import request from '@/api/request'; +import type { DictData, DictDataForm, DictDataQuery } from './types'; + +export function getDicts(dictType: string) { + return request>({ + url: `/system/dict/data/type/${dictType}`, + method: 'get' + }); +} + +export function listData(query: DictDataQuery) { + return request>>({ + url: '/system/dict/data/list', + method: 'get', + params: query + }); +} + +export function getData(dictCode: string | number) { + return request>({ + url: `/system/dict/data/${dictCode}`, + method: 'get' + }); +} + +export function addData(data: DictDataForm) { + return request({ + url: '/system/dict/data', + method: 'post', + data + }); +} + +export function updateData(data: DictDataForm) { + return request({ + url: '/system/dict/data', + method: 'put', + data + }); +} + +export function delData(dictCode: string | number | Array) { + return request({ + url: `/system/dict/data/${dictCode}`, + method: 'delete' + }); +} diff --git a/src/api/system/dict/data/types.ts b/src/api/system/dict/data/types.ts new file mode 100644 index 00000000..b186513a --- /dev/null +++ b/src/api/system/dict/data/types.ts @@ -0,0 +1,32 @@ +import type { BaseEntity, PageQuery } from '@/api/types'; + +export interface DictData extends BaseEntity { + dictCode: string | number; + dictSort: number; + dictLabel: string; + dictValue: string; + dictType: string; + cssClass?: string; + listClass?: string; + isDefault?: string; + status: string; +} + +export type DictDataVO = DictData; + +export interface DictDataForm { + dictType?: string; + dictCode?: string | number; + dictLabel?: string; + dictValue?: string; + cssClass?: string; + listClass?: string; + dictSort?: number; + remark?: string; +} + +export interface DictDataQuery extends PageQuery { + dictName?: string; + dictType?: string; + dictLabel?: string; +} diff --git a/src/api/system/dict/type/index.ts b/src/api/system/dict/type/index.ts new file mode 100644 index 00000000..d8471f56 --- /dev/null +++ b/src/api/system/dict/type/index.ts @@ -0,0 +1,55 @@ +import type { PageResult, R } from '@/api/types'; +import request from '@/api/request'; +import type { DictTypeForm, DictTypeQuery, DictTypeVO } from './types'; + +export function listType(query: DictTypeQuery) { + return request>>({ + url: '/system/dict/type/list', + method: 'get', + params: query + }); +} + +export function getType(dictId: number | string) { + return request>({ + url: `/system/dict/type/${dictId}`, + method: 'get' + }); +} + +export function addType(data: DictTypeForm) { + return request({ + url: '/system/dict/type', + method: 'post', + data + }); +} + +export function updateType(data: DictTypeForm) { + return request({ + url: '/system/dict/type', + method: 'put', + data + }); +} + +export function delType(dictId: string | number | Array) { + return request({ + url: `/system/dict/type/${dictId}`, + method: 'delete' + }); +} + +export function refreshCache() { + return request({ + url: '/system/dict/type/refreshCache', + method: 'delete' + }); +} + +export function optionselect() { + return request>({ + url: '/system/dict/type/optionselect', + method: 'get' + }); +} diff --git a/src/api/system/dict/type/types.ts b/src/api/system/dict/type/types.ts new file mode 100644 index 00000000..9bbd63b8 --- /dev/null +++ b/src/api/system/dict/type/types.ts @@ -0,0 +1,19 @@ +import type { BaseEntity, PageQuery } from '@/api/types'; + +export interface DictTypeForm { + dictId?: number | string; + dictName?: string; + dictType?: string; + remark?: string; +} + +export interface DictTypeQuery extends PageQuery { + dictName?: string; + dictType?: string; +} + +export interface DictTypeVO extends BaseEntity { + dictId: number | string; + dictName: string; + dictType: string; +} diff --git a/src/api/system/menu/index.ts b/src/api/system/menu/index.ts new file mode 100644 index 00000000..0826bded --- /dev/null +++ b/src/api/system/menu/index.ts @@ -0,0 +1,63 @@ +import type { RoleMenuTree } from '@/api/system/role/types'; +import type { R } from '@/api/types'; +import request from '@/api/request'; +import type { MenuForm, MenuQuery, MenuTreeOption, MenuVO } from './types'; + +export function listMenu(query?: MenuQuery) { + return request>({ + url: '/system/menu/list', + method: 'get', + params: query + }); +} + +export function getMenu(menuId: string | number) { + return request>({ + url: `/system/menu/${menuId}`, + method: 'get' + }); +} + +export function treeselect() { + return request>({ + url: '/system/menu/treeselect', + method: 'get' + }); +} + +export function roleMenuTreeselect(roleId: string | number) { + return request>({ + url: `/system/menu/roleMenuTreeselect/${roleId}`, + method: 'get' + }); +} + +export function addMenu(data: MenuForm) { + return request({ + url: '/system/menu', + method: 'post', + data + }); +} + +export function updateMenu(data: MenuForm) { + return request({ + url: '/system/menu', + method: 'put', + data + }); +} + +export function delMenu(menuId: string | number) { + return request({ + url: `/system/menu/${menuId}`, + method: 'delete' + }); +} + +export function cascadeDelMenu(menuIds: Array) { + return request({ + url: `/system/menu/cascade/${menuIds}`, + method: 'delete' + }); +} diff --git a/src/api/system/menu/types.ts b/src/api/system/menu/types.ts new file mode 100644 index 00000000..5bd4c467 --- /dev/null +++ b/src/api/system/menu/types.ts @@ -0,0 +1,63 @@ +import type { BaseEntity } from '@/api/types'; + +export interface MenuForm { + parentName?: string; + parentId?: string | number; + children?: MenuForm[]; + menuId?: string | number; + menuName?: string; + orderNum?: number; + path?: string; + component?: string; + queryParam?: string; + isFrame?: string; + isCache?: string; + menuType?: 'M' | 'C' | 'F' | string; + visible?: string; + status?: string; + icon?: string; + activeMenu?: string; + ext?: string; + remark?: string; + query?: string; + perms?: string; +} + +export interface MenuQuery { + keywords?: string; + menuName?: string; + status?: string; +} + +export interface MenuTreeOption { + id: string | number; + label: string; + parentId: string | number; + weight: number; + menuType?: 'M' | 'C' | 'F' | string; + visible?: string; + status?: string; + disabled?: boolean; + children?: MenuTreeOption[]; +} + +export interface MenuVO extends BaseEntity { + parentName?: string; + parentId: string | number; + children?: MenuVO[]; + menuId: string | number; + menuName: string; + orderNum: number; + path: string; + component?: string; + queryParam?: string; + isFrame?: string; + isCache?: string; + menuType: 'M' | 'C' | 'F' | string; + visible?: string; + status?: string; + icon?: string; + activeMenu?: string; + ext?: string; + perms?: string; +} diff --git a/src/api/system/message/index.ts b/src/api/system/message/index.ts new file mode 100644 index 00000000..8068ce1d --- /dev/null +++ b/src/api/system/message/index.ts @@ -0,0 +1,10 @@ +import type { R } from '@/api/types'; +import request from '@/api/request'; +import type { MessageBoxVO } from './types'; + +export function getMessageBox() { + return request>({ + url: '/resource/message/box', + method: 'get' + }); +} diff --git a/src/api/system/message/types.ts b/src/api/system/message/types.ts new file mode 100644 index 00000000..e8b17ba5 --- /dev/null +++ b/src/api/system/message/types.ts @@ -0,0 +1,19 @@ +import type { BaseEntity } from '@/api/types'; + +export interface MessageVO extends BaseEntity { + messageId: number | string; + category: string; + type: string; + source: string; + title: string; + message: string; + content?: string; + data?: Record | null; + path?: string; +} + +export interface MessageBoxVO { + systemList: MessageVO[]; + noticeList: MessageVO[]; + workflowList: MessageVO[]; +} diff --git a/src/api/system/notice/index.ts b/src/api/system/notice/index.ts new file mode 100644 index 00000000..720abfdd --- /dev/null +++ b/src/api/system/notice/index.ts @@ -0,0 +1,41 @@ +import type { PageResult, R } from '@/api/types'; +import request from '@/api/request'; +import type { NoticeForm, NoticeQuery, NoticeVO } from './types'; + +export function listNotice(query: NoticeQuery) { + return request>>({ + url: '/system/notice/list', + method: 'get', + params: query + }); +} + +export function getNotice(noticeId: string | number) { + return request>({ + url: `/system/notice/${noticeId}`, + method: 'get' + }); +} + +export function addNotice(data: NoticeForm) { + return request({ + url: '/system/notice', + method: 'post', + data + }); +} + +export function updateNotice(data: NoticeForm) { + return request({ + url: '/system/notice', + method: 'put', + data + }); +} + +export function delNotice(noticeId: string | number | Array) { + return request({ + url: `/system/notice/${noticeId}`, + method: 'delete' + }); +} diff --git a/src/api/system/notice/types.ts b/src/api/system/notice/types.ts new file mode 100644 index 00000000..98d6929f --- /dev/null +++ b/src/api/system/notice/types.ts @@ -0,0 +1,27 @@ +import type { BaseEntity, PageQuery } from '@/api/types'; + +export interface NoticeForm { + noticeId?: number | string; + noticeTitle?: string; + noticeType?: string; + noticeContent?: string; + status?: string; + remark?: string; + createByName?: string; +} + +export interface NoticeQuery extends PageQuery { + noticeTitle?: string; + createByName?: string; + status?: string; + noticeType?: string; +} + +export interface NoticeVO extends BaseEntity { + noticeId: number | string; + noticeTitle: string; + noticeType: string; + noticeContent: string; + status: string; + createByName?: string; +} diff --git a/src/api/system/oss/index.ts b/src/api/system/oss/index.ts new file mode 100644 index 00000000..f19b1052 --- /dev/null +++ b/src/api/system/oss/index.ts @@ -0,0 +1,45 @@ +import type { PageResult, R } from '@/api/types'; +import request from '@/api/request'; +import type { OssQuery, OssUploadResult, OssVO } from './types'; + +export function listOss(query: OssQuery) { + return request>>({ + url: '/resource/oss/list', + method: 'get', + params: query + }); +} + +export function listOssByIds(ossId: string | number) { + return request>({ + url: `/resource/oss/listByIds/${ossId}`, + method: 'get' + }); +} + +export function listByIds(ossId: string | number) { + return listOssByIds(ossId); +} + +export function uploadOss(data: FormData) { + return request>({ + url: '/resource/oss/upload', + method: 'post', + data + }); +} + +export function delOss(ossId: string | number | Array) { + return request({ + url: `/resource/oss/${ossId}`, + method: 'delete' + }); +} + +export function downloadOss(ossId: string | number) { + return request({ + url: `/resource/oss/download/${ossId}`, + method: 'get', + responseType: 'blob' + }); +} diff --git a/src/api/system/oss/types.ts b/src/api/system/oss/types.ts new file mode 100644 index 00000000..1f6675ff --- /dev/null +++ b/src/api/system/oss/types.ts @@ -0,0 +1,27 @@ +import type { BaseEntity, PageQuery } from '@/api/types'; + +export interface OssQuery extends Omit { + fileName?: string; + originalName?: string; + fileSuffix?: string; + createTime?: string; + service?: string; + orderByColumn?: string; + isAsc?: string; +} + +export interface OssUploadResult { + url?: string; + fileName?: string; + ossId?: string | number; +} + +export interface OssVO extends BaseEntity { + ossId: string | number; + fileName: string; + originalName: string; + fileSuffix: string; + url: string; + createByName?: string; + service?: string; +} diff --git a/src/api/system/ossConfig/index.ts b/src/api/system/ossConfig/index.ts new file mode 100644 index 00000000..2eea9603 --- /dev/null +++ b/src/api/system/ossConfig/index.ts @@ -0,0 +1,49 @@ +import type { PageResult, R } from '@/api/types'; +import request from '@/api/request'; +import type { OssConfigForm, OssConfigQuery, OssConfigVO } from './types'; + +export function listOssConfig(query: OssConfigQuery) { + return request>>({ + url: '/resource/oss/config/list', + method: 'get', + params: query + }); +} + +export function getOssConfig(ossConfigId: string | number) { + return request>({ + url: `/resource/oss/config/${ossConfigId}`, + method: 'get' + }); +} + +export function addOssConfig(data: OssConfigForm) { + return request({ + url: '/resource/oss/config', + method: 'post', + data + }); +} + +export function updateOssConfig(data: OssConfigForm) { + return request({ + url: '/resource/oss/config', + method: 'put', + data + }); +} + +export function delOssConfig(ossConfigId: string | number | Array) { + return request({ + url: `/resource/oss/config/${ossConfigId}`, + method: 'delete' + }); +} + +export function changeOssConfigStatus(ossConfigId: string | number, status: string, configKey: string) { + return request({ + url: '/resource/oss/config/changeStatus', + method: 'put', + data: { ossConfigId, status, configKey } + }); +} diff --git a/src/api/system/ossConfig/types.ts b/src/api/system/ossConfig/types.ts new file mode 100644 index 00000000..5d901dfa --- /dev/null +++ b/src/api/system/ossConfig/types.ts @@ -0,0 +1,39 @@ +import type { BaseEntity, PageQuery } from '@/api/types'; + +export interface OssConfigForm { + ossConfigId?: string | number; + configKey?: string; + accessKey?: string; + secretKey?: string; + bucketName?: string; + prefix?: string; + endpoint?: string; + domainUrl?: string; + isHttps?: string; + accessPolicy?: string; + region?: string; + status?: string; + remark?: string; +} + +export interface OssConfigQuery extends PageQuery { + configKey?: string; + bucketName?: string; + status?: string; +} + +export interface OssConfigVO extends BaseEntity { + ossConfigId: number | string; + configKey: string; + accessKey: string; + secretKey: string; + bucketName: string; + prefix?: string; + endpoint: string; + domainUrl?: string; + isHttps: string; + region?: string; + status: string; + ext1?: string; + accessPolicy: string; +} diff --git a/src/api/system/post/index.ts b/src/api/system/post/index.ts new file mode 100644 index 00000000..07413b8b --- /dev/null +++ b/src/api/system/post/index.ts @@ -0,0 +1,64 @@ +import type { DeptTreeVO } from '@/api/system/dept/types'; +import type { PageResult, R } from '@/api/types'; +import request from '@/api/request'; +import type { PostForm, PostQuery, PostVO } from './types'; + +export function listPost(query: PostQuery) { + return request>>({ + url: '/system/post/list', + method: 'get', + params: query + }); +} + +export function getPost(postId: string | number) { + return request>({ + url: `/system/post/${postId}`, + method: 'get' + }); +} + +export function optionSelect(deptId?: number | string, postIds?: Array) { + return request>({ + url: '/system/post/optionselect', + method: 'get', + params: { + postIds, + deptId + } + }); +} + +export function addPost(data: PostForm) { + return request({ + url: '/system/post', + method: 'post', + data + }); +} + +export function updatePost(data: PostForm) { + return request({ + url: '/system/post', + method: 'put', + data + }); +} + +export function delPost(postId: string | number | Array) { + return request({ + url: `/system/post/${postId}`, + method: 'delete' + }); +} + +export function postDeptTreeSelect() { + return request>({ + url: '/system/post/deptTree', + method: 'get' + }); +} + +export function deptTreeSelect() { + return postDeptTreeSelect(); +} diff --git a/src/api/system/post/types.ts b/src/api/system/post/types.ts new file mode 100644 index 00000000..52a213b7 --- /dev/null +++ b/src/api/system/post/types.ts @@ -0,0 +1,32 @@ +import type { BaseEntity, PageQuery } from '@/api/types'; + +export interface PostForm { + postId?: number | string; + deptId?: number | string; + postCode?: string; + postName?: string; + postCategory?: string; + postSort?: number; + status?: string; + remark?: string; +} + +export interface PostQuery extends PageQuery { + deptId?: number | string; + belongDeptId?: number | string; + postCode?: string; + postName?: string; + postCategory?: string; + status?: string; +} + +export interface PostVO extends BaseEntity { + postId: number | string; + deptId: number | string; + postCode: string; + postName: string; + postCategory: string; + deptName: string; + postSort: number; + status: string; +} diff --git a/src/api/system/role/index.ts b/src/api/system/role/index.ts new file mode 100644 index 00000000..7e74cb1b --- /dev/null +++ b/src/api/system/role/index.ts @@ -0,0 +1,115 @@ +import type { UserQuery, UserVO } from '@/api/system/user/types'; +import type { PageResult, R } from '@/api/types'; +import request from '@/api/request'; +import type { RoleDeptTree, RoleForm, RoleQuery, RoleVO } from './types'; + +export function listRole(query: RoleQuery) { + return request>>({ + url: '/system/role/list', + method: 'get', + params: query + }); +} + +export function optionSelect(roleIds: Array) { + return request>({ + url: `/system/role/optionselect?roleIds=${roleIds}`, + method: 'get' + }); +} + +export function getRole(roleId: string | number) { + return request>({ + url: `/system/role/${roleId}`, + method: 'get' + }); +} + +export function addRole(data: RoleForm) { + return request({ + url: '/system/role', + method: 'post', + data + }); +} + +export function updateRole(data: RoleForm) { + return request({ + url: '/system/role', + method: 'put', + data + }); +} + +export function updateRolePermission(data: RoleForm) { + return request({ + url: '/system/role/permission', + method: 'put', + data + }); +} + +export function changeRoleStatus(roleId: string | number, status: string) { + return request({ + url: '/system/role/changeStatus', + method: 'put', + data: { + roleId, + status + } + }); +} + +export function delRole(roleId: Array | string | number) { + return request({ + url: `/system/role/${roleId}`, + method: 'delete' + }); +} + +export function allocatedUserList(query: UserQuery) { + return request>>({ + url: '/system/role/authUser/allocatedList', + method: 'get', + params: query + }); +} + +export function unallocatedUserList(query: UserQuery) { + return request>>({ + url: '/system/role/authUser/unallocatedList', + method: 'get', + params: query + }); +} + +export function authUserCancel(data: { roleId: string | number; userId: string | number }) { + return request({ + url: '/system/role/authUser/cancel', + method: 'put', + data + }); +} + +export function authUserCancelAll(data: { roleId: string | number; userIds: string }) { + return request({ + url: '/system/role/authUser/cancelAll', + method: 'put', + params: data + }); +} + +export function authUserSelectAll(data: { roleId: string | number; userIds: string }) { + return request({ + url: '/system/role/authUser/selectAll', + method: 'put', + params: data + }); +} + +export function deptTreeSelect(roleId: string | number) { + return request>({ + url: `/system/role/deptTree/${roleId}`, + method: 'get' + }); +} diff --git a/src/api/system/role/types.ts b/src/api/system/role/types.ts new file mode 100644 index 00000000..b1f1fe21 --- /dev/null +++ b/src/api/system/role/types.ts @@ -0,0 +1,48 @@ +import type { DeptTreeVO } from '@/api/system/dept/types'; +import type { MenuTreeOption } from '@/api/system/menu/types'; +import type { BaseEntity, PageQuery } from '@/api/types'; + +export interface RoleDeptTree { + checkedKeys: Array; + depts: DeptTreeVO[]; +} + +export interface RoleForm { + roleId?: string | number; + roleName?: string; + roleKey?: string; + roleSort?: number; + status?: string; + menuCheckStrictly?: boolean; + deptCheckStrictly?: boolean; + remark?: string; + dataScope?: string; + menuIds?: Array; + deptIds?: Array; +} + +export interface RoleMenuTree { + menus: MenuTreeOption[]; + checkedKeys: Array; +} + +export interface RoleQuery extends PageQuery { + roleName?: string; + roleKey?: string; + status?: string; +} + +export interface RoleVO extends BaseEntity { + roleId: string | number; + roleName: string; + roleKey: string; + roleSort: number; + dataScope: string; + menuCheckStrictly?: boolean; + deptCheckStrictly?: boolean; + status: string; + flag: boolean; + admin: boolean; + menuIds?: Array; + deptIds?: Array; +} diff --git a/src/api/system/social/auth.ts b/src/api/system/social/auth.ts new file mode 100644 index 00000000..235d0852 --- /dev/null +++ b/src/api/system/social/auth.ts @@ -0,0 +1,24 @@ +import type { R } from '@/api/types'; +import request from '@/api/request'; +import type { SocialAuthVO } from './types'; + +export function authRouterUrl(source: string) { + return request>({ + url: `/auth/binding/${source}`, + method: 'get' + }); +} + +export function authUnlock(authId: string) { + return request({ + url: `/auth/unlock/${authId}`, + method: 'delete' + }); +} + +export function getAuthList() { + return request>({ + url: '/system/social/list', + method: 'get' + }); +} diff --git a/src/api/system/social/types.ts b/src/api/system/social/types.ts new file mode 100644 index 00000000..912dd312 --- /dev/null +++ b/src/api/system/social/types.ts @@ -0,0 +1,7 @@ +export interface SocialAuthVO { + id: string; + source?: string; + avatar?: string; + userName?: string; + createTime?: string; +} diff --git a/src/api/system/user/index.ts b/src/api/system/user/index.ts new file mode 100644 index 00000000..f2858b8d --- /dev/null +++ b/src/api/system/user/index.ts @@ -0,0 +1,162 @@ +import type { DeptTreeVO } from '@/api/system/dept/types'; +import type { RoleVO } from '@/api/system/role/types'; +import type { PageResult, R } from '@/api/types'; +import request from '@/api/request'; +import { parseStrEmpty } from '@/utils/ruoyi'; +import type { UserForm, UserInfoVO, UserQuery, UserVO } from './types'; + +export function listUser(query: UserQuery) { + return request>>({ + url: '/system/user/list', + method: 'get', + params: query + }); +} + +export function optionSelect(userIds: Array) { + return request>({ + url: `/system/user/optionselect?userIds=${userIds}`, + method: 'get' + }); +} + +export function getUser(userId?: string | number) { + return request>({ + url: `/system/user/${parseStrEmpty(userId)}`, + method: 'get' + }); +} + +export function addUser(data: UserForm) { + return request({ + url: '/system/user', + method: 'post', + data + }); +} + +export function updateUser(data: UserForm) { + return request({ + url: '/system/user', + method: 'put', + data + }); +} + +export function delUser(userId: Array | string | number) { + return request({ + url: `/system/user/${userId}`, + method: 'delete' + }); +} + +export function resetUserPwd(userId: string | number, password: string) { + return request({ + url: '/system/user/resetPwd', + method: 'put', + headers: { + isEncrypt: true, + repeatSubmit: false + }, + data: { + userId, + password + } + }); +} + +export function changeUserStatus(userId: number | string, status: string) { + return request({ + url: '/system/user/changeStatus', + method: 'put', + data: { + userId, + status + } + }); +} + +export function unlockUser(userId: number | string) { + return request({ + url: `/system/user/unlock/${userId}`, + method: 'get' + }); +} + +export function getUserProfile() { + return request>({ + url: '/system/user/profile', + method: 'get' + }); +} + +export function updateUserProfile(data: UserForm) { + return request({ + url: '/system/user/profile', + method: 'put', + data + }); +} + +export function updateUserPwd(oldPassword: string, newPassword: string) { + return request({ + url: '/system/user/profile/updatePwd', + method: 'put', + headers: { + isEncrypt: true, + repeatSubmit: false + }, + data: { + oldPassword, + newPassword + } + }); +} + +export function uploadAvatar(data: FormData) { + return request>({ + url: '/system/user/profile/avatar', + method: 'post', + data + }); +} + +export function importUser(data: FormData, updateSupport: boolean) { + return request({ + url: '/system/user/importData', + method: 'post', + params: { + updateSupport: updateSupport ? 1 : 0 + }, + data + }); +} + +export function getAuthRole(userId: string | number) { + return request>({ + url: `/system/user/authRole/${userId}`, + method: 'get' + }); +} + +export function updateAuthRole(data: { userId: string; roleIds: string }) { + return request({ + url: '/system/user/authRole', + method: 'put', + params: data + }); +} + +export function deptTreeSelect() { + return request>({ + url: '/system/user/deptTree', + method: 'get' + }); +} + +export function listUserByDeptId(deptId: string | number) { + return request>({ + url: `/system/user/list/dept/${deptId}`, + method: 'get' + }); +} diff --git a/src/api/system/user/types.ts b/src/api/system/user/types.ts new file mode 100644 index 00000000..380274f3 --- /dev/null +++ b/src/api/system/user/types.ts @@ -0,0 +1,71 @@ +import type { DeptVO } from '@/api/system/dept/types'; +import type { PostVO } from '@/api/system/post/types'; +import type { RoleVO } from '@/api/system/role/types'; +import type { BaseEntity, PageQuery } from '@/api/types'; + +export interface UserInfo { + user: { + userId: string | number; + userName: string; + nickName?: string; + avatar?: string; + deptName?: string; + }; + roles: string[]; + permissions: string[]; +} + +export interface UserForm { + userId?: string | number; + deptId?: number | string; + userName?: string; + nickName?: string; + password?: string; + phoneNumber?: string; + email?: string; + gender?: string; + status?: string; + remark?: string; + postIds?: Array; + roleIds?: Array; +} + +export interface UserInfoVO { + user?: UserVO; + roles: RoleVO[]; + roleIds: Array; + posts: PostVO[]; + postIds: Array; + roleGroup?: string; + postGroup?: string; +} + +export interface UserQuery extends PageQuery { + userName?: string; + nickName?: string; + phoneNumber?: string; + status?: string; + deptId?: string | number; + roleId?: string | number; + userIds?: string | number; +} + +export interface UserVO extends BaseEntity { + userId?: string | number; + tenantId?: string; + deptId?: number | string; + userName?: string; + nickName?: string; + userType?: string; + email?: string; + phoneNumber?: string; + gender?: string; + avatar?: string; + status?: string; + deptName?: string; + roles?: RoleVO[]; + admin?: boolean; + loginIp?: string; + loginDate?: string; + dept?: DeptVO; +} diff --git a/src/api/tool/gen/index.ts b/src/api/tool/gen/index.ts new file mode 100644 index 00000000..d3a9b204 --- /dev/null +++ b/src/api/tool/gen/index.ts @@ -0,0 +1,78 @@ +import type { PageResult, R } from '@/api/types'; +import request from '@/api/request'; +import type { DbTableQuery, DbTableVO, GenTableDetailPayload, TableQuery, TableVO } from './types'; + +export function listTable(query: TableQuery) { + return request>>({ + url: '/tool/gen/list', + method: 'get', + params: query + }); +} + +export function listDbTable(query: DbTableQuery) { + return request>>({ + url: '/tool/gen/db/list', + method: 'get', + params: query + }); +} + +export function getGenTable(tableId: string | number) { + return request>({ + url: `/tool/gen/${tableId}`, + method: 'get' + }); +} + +export function updateGenTable(data: DbTableVO & { columns?: unknown[]; params?: Record }) { + return request({ + url: '/tool/gen', + method: 'put', + data + }); +} + +export function importTable(data: { tables: string; dataName: string }) { + return request({ + url: '/tool/gen/importTable', + method: 'post', + params: data + }); +} + +export function previewTable(tableId: string | number) { + return request>>({ + url: `/tool/gen/preview/${tableId}`, + method: 'get' + }); +} + +export function delTable(tableId: string | number | Array) { + return request({ + url: `/tool/gen/${tableId}`, + method: 'delete' + }); +} + +export function synchDb(tableId: string | number) { + return request({ + url: `/tool/gen/synchDb/${tableId}`, + method: 'get' + }); +} + +export function getDataNames() { + return request>({ + url: '/tool/gen/getDataNames', + method: 'get' + }); +} + +export function batchGenCode(tableIdStr: string) { + return request({ + url: `/tool/gen/batchGenCode?tableIdStr=${tableIdStr}`, + method: 'get', + responseType: 'blob' + }); +} diff --git a/src/api/tool/gen/types.ts b/src/api/tool/gen/types.ts new file mode 100644 index 00000000..8abca9ed --- /dev/null +++ b/src/api/tool/gen/types.ts @@ -0,0 +1,89 @@ +import type { BaseEntity, PageQuery } from '@/api/types'; + +export interface DbColumnVO extends BaseEntity { + columnId?: string | number; + tableId?: string | number; + columnName?: string; + columnComment?: string; + columnType?: string; + javaType?: string; + javaField?: string; + isPk?: string; + isIncrement?: string; + isRequired?: string; + isInsert?: string; + isEdit?: string; + isList?: string; + isQuery?: string; + queryType?: string; + htmlType?: string; + dictType?: string; + sort?: number; + increment?: boolean; + capJavaField?: string; + usableColumn?: boolean; + superColumn?: boolean; + list?: boolean; + pk?: boolean; + insert?: boolean; + edit?: boolean; + query?: boolean; + required?: boolean; +} + +export interface DbTableQuery extends PageQuery { + dataName?: string; + tableName?: string; + tableComment?: string; +} + +export interface DbTableVO extends Omit { + tableId?: string | number; + columns?: DbColumnVO[]; + options?: string; + remark?: string; + treeCode?: string; + treeParentCode?: string; + treeName?: string; + menuIds?: Array; + parentMenuId?: string | number; + parentMenuName?: string; + enableExport?: boolean; + enableStatus?: boolean; + statusField?: string; + enableUnique?: boolean; + uniqueFields?: string[]; + enableSort?: boolean; + sortField?: string; + treeRootValue?: string; + treeAncestorsField?: string; + treeOrderField?: string; +} + +export interface GenTableDetailPayload { + info: DbTableVO; + rows: DbColumnVO[]; +} + +export interface TableQuery extends PageQuery { + tableName?: string; + tableComment?: string; + dataName?: string; +} + +export interface TableVO extends BaseEntity { + createDept?: number | string; + tableId: string | number; + dataName?: string; + tableName: string; + tableComment?: string; + className?: string; + tplCategory?: string; + packageName?: string; + moduleName?: string; + businessName?: string; + functionName?: string; + functionAuthor?: string; + tree?: boolean; + crud?: boolean; +} diff --git a/src/api/types.ts b/src/api/types.ts new file mode 100644 index 00000000..e05bb51f --- /dev/null +++ b/src/api/types.ts @@ -0,0 +1,88 @@ +import type { MenuDataItem } from '@ant-design/pro-components'; + +export interface BaseEntity { + createBy?: string; + createTime?: string; + updateBy?: string; + updateTime?: string; + remark?: string; +} + +export interface LoginParams { + username?: string; + password?: string; + code?: string; + uuid?: string; + rememberMe?: boolean; + socialCode?: string; + socialState?: string; + source?: string; + clientId?: string; + grantType?: string; +} + +export interface LoginResult { + access_token: string; +} + +export interface PageQuery { + pageNum?: number; + pageSize?: number; + orderByColumn?: string; + isAsc?: 'ascending' | 'descending'; + params?: Record; +} + +export interface PageResult { + total: number; + rows: T[]; +} + +export interface R { + code: number; + msg: string; + data: T; +} + +export interface RegisterParams { + username?: string; + password?: string; + confirmPassword?: string; + code?: string; + uuid?: string; + userType?: string; + clientId?: string; + grantType?: string; +} + +export interface VerifyCodeResult { + captchaEnabled: boolean; + uuid?: string; + img?: string; +} + +export interface RouteMeta { + title?: string; + icon?: string; + noCache?: boolean; + link?: string; + hidden?: boolean; + activeMenu?: string; +} + +export interface BackendRoute { + name?: string; + path: string; + component?: string; + redirect?: string; + query?: string; + hidden?: boolean; + alwaysShow?: boolean; + meta?: RouteMeta; + children?: BackendRoute[]; +} + +export type RuntimeMenuItem = Omit & { + backendRoute?: BackendRoute; + routes?: RuntimeMenuItem[]; +}; diff --git a/src/api/workflow/category/index.ts b/src/api/workflow/category/index.ts new file mode 100644 index 00000000..1d3f6b46 --- /dev/null +++ b/src/api/workflow/category/index.ts @@ -0,0 +1,49 @@ +import type { R } from '@/api/types'; +import request from '@/api/request'; +import type { CategoryForm, CategoryQuery, CategoryTreeVO, CategoryVO } from './types'; + +export function listCategory(query?: CategoryQuery) { + return request>({ + url: '/workflow/category/list', + method: 'get', + params: query + }); +} + +export function getCategory(categoryId: string | number) { + return request>({ + url: `/workflow/category/${categoryId}`, + method: 'get' + }); +} + +export function addCategory(data: CategoryForm) { + return request({ + url: '/workflow/category', + method: 'post', + data + }); +} + +export function updateCategory(data: CategoryForm) { + return request({ + url: '/workflow/category', + method: 'put', + data + }); +} + +export function delCategory(categoryId: string | number | Array) { + return request({ + url: `/workflow/category/${categoryId}`, + method: 'delete' + }); +} + +export function categoryTree(query?: CategoryForm) { + return request>({ + url: '/workflow/category/categoryTree', + method: 'get', + params: query + }); +} diff --git a/src/api/workflow/category/types.ts b/src/api/workflow/category/types.ts new file mode 100644 index 00000000..b679e160 --- /dev/null +++ b/src/api/workflow/category/types.ts @@ -0,0 +1,29 @@ +import type { BaseEntity } from '@/api/types'; + +export interface CategoryForm extends BaseEntity { + categoryId?: string | number; + categoryName?: string; + parentId?: string | number; + orderNum?: number; +} + +export interface CategoryQuery { + categoryName?: string; +} + +export interface CategoryTreeVO { + id: number | string; + label: string; + parentId: number | string; + weight: number; + children?: CategoryTreeVO[]; +} + +export interface CategoryVO { + categoryId: string | number; + parentId?: string | number; + categoryName: string; + orderNum: number; + createTime?: string; + children?: CategoryVO[]; +} diff --git a/src/api/workflow/definition/index.ts b/src/api/workflow/definition/index.ts new file mode 100644 index 00000000..786076f7 --- /dev/null +++ b/src/api/workflow/definition/index.ts @@ -0,0 +1,137 @@ +import type { PageResult, R } from '@/api/types'; +import request from '@/api/request'; +import type { definitionXmlVO, FlowDefinitionForm, FlowDefinitionQuery, FlowDefinitionVO } from './types'; + +export function listDefinition(query: FlowDefinitionQuery) { + return request>>({ + url: '/workflow/definition/list', + method: 'get', + params: query + }); +} + +export function unPublishList(query: FlowDefinitionQuery) { + return request>>({ + url: '/workflow/definition/unPublishList', + method: 'get', + params: query + }); +} + +export function definitionXml(definitionId: string) { + return request>({ + url: `/workflow/definition/definitionXml/${definitionId}`, + method: 'get' + }); +} + +export function deleteDefinition(id: string | string[]) { + return request({ + url: `/workflow/definition/${id}`, + method: 'delete' + }); +} + +export function activeDefinition(definitionId: string, activityStatus: boolean) { + return request({ + url: `/workflow/definition/active/${definitionId}`, + method: 'put', + params: { active: activityStatus } + }); +} + +export function active(definitionId: string, activityStatus: boolean) { + return activeDefinition(definitionId, activityStatus); +} + +export function importDefinition(data: FormData) { + return request({ + url: '/workflow/definition/importDef', + method: 'post', + data, + headers: { repeatSubmit: false } + }); +} + +export function importDef(data: FormData) { + return importDefinition(data); +} + +export function publishDefinition(id: string) { + return request({ + url: `/workflow/definition/publish/${id}`, + method: 'put' + }); +} + +export function publish(id: string) { + return publishDefinition(id); +} + +export function unPublish(id: string) { + return request({ + url: `/workflow/definition/unPublish/${id}`, + method: 'put' + }); +} + +export function xmlString(id: string) { + return request>({ + url: `/workflow/definition/xmlString/${id}`, + method: 'get' + }); +} + +export function addDefinition(data: FlowDefinitionForm) { + return request({ + url: '/workflow/definition', + method: 'post', + data + }); +} + +export function add(data: FlowDefinitionForm) { + return addDefinition(data); +} + +export function editDefinition(data: FlowDefinitionForm) { + return request({ + url: '/workflow/definition', + method: 'put', + data + }); +} + +export function edit(data: FlowDefinitionForm) { + return editDefinition(data); +} + +export function getDefinition(id: string) { + return request>({ + url: `/workflow/definition/${id}`, + method: 'get' + }); +} + +export function getInfo(id: string | number) { + return getDefinition(String(id)); +} + +export function copyDefinition(id: string) { + return request({ + url: `/workflow/definition/copy/${id}`, + method: 'post' + }); +} + +export function copy(id: string) { + return copyDefinition(id); +} + +export function exportDefinition(id: string) { + return request({ + url: `/workflow/definition/exportDef/${id}`, + method: 'post', + responseType: 'blob' + }); +} diff --git a/src/api/workflow/definition/types.ts b/src/api/workflow/definition/types.ts new file mode 100644 index 00000000..6323c49a --- /dev/null +++ b/src/api/workflow/definition/types.ts @@ -0,0 +1,43 @@ +import type { PageQuery } from '@/api/types'; + +export interface FlowDefinitionForm { + id?: string; + flowName?: string; + flowCode?: string; + category?: string | number; + ext?: string; + formPath?: string; + formCustom?: string; + modelValue?: string; +} + +export interface FlowDefinitionQuery extends PageQuery { + flowCode?: string; + flowName?: string; + category?: string | number; + isPublish?: number; +} + +export interface FlowDefinitionVO { + id: string; + flowName: string; + flowCode: string; + category?: string | number; + categoryName?: string; + formPath?: string; + formCustom?: string; + modelValue?: string; + version?: string | number; + isPublish?: number; + activityStatus?: number; + ext?: string; + createTime?: string | Date; + updateTime?: string | Date; +} + +export type FlowDefinitionVo = FlowDefinitionVO; + +export interface definitionXmlVO { + xml: string[]; + xmlStr: string; +} diff --git a/src/api/workflow/instance/index.ts b/src/api/workflow/instance/index.ts new file mode 100644 index 00000000..78dab38f --- /dev/null +++ b/src/api/workflow/instance/index.ts @@ -0,0 +1,84 @@ +import type { PageResult, R } from '@/api/types'; +import request from '@/api/request'; +import type { FlowHisTaskResult, FlowInstanceQuery, FlowInstanceVO } from './types'; + +export function pageByRunning(query: FlowInstanceQuery) { + return request>>({ + url: '/workflow/instance/pageByRunning', + method: 'get', + params: query + }); +} + +export function pageByFinish(query: FlowInstanceQuery) { + return request>>({ + url: '/workflow/instance/pageByFinish', + method: 'get', + params: query + }); +} + +export function pageByCurrent(query: FlowInstanceQuery) { + return request>>({ + url: '/workflow/instance/pageByCurrent', + method: 'get', + params: query + }); +} + +export function cancelProcessApply(data: { + id?: string | number; + businessId?: string | number; + comment?: string; + message?: string; +}) { + return request({ + url: '/workflow/instance/cancelProcessApply', + method: 'put', + data + }); +} + +export function instanceVariable(instanceId: string | number) { + return request>({ + url: `/workflow/instance/instanceVariable/${instanceId}`, + method: 'get' + }); +} + +export function deleteByInstanceIds(instanceIds: Array | string | number) { + return request({ + url: `/workflow/instance/deleteByInstanceIds/${instanceIds}`, + method: 'delete' + }); +} + +export function deleteHisByInstanceIds(instanceIds: Array | string | number) { + return request({ + url: `/workflow/instance/deleteHisByInstanceIds/${instanceIds}`, + method: 'delete' + }); +} + +export function invalid(data: { id: string | number; comment?: string }) { + return request({ + url: '/workflow/instance/invalid', + method: 'post', + data + }); +} + +export function updateVariable(data: { instanceId?: string | number; key?: string; value?: string }) { + return request({ + url: '/workflow/instance/updateVariable', + method: 'put', + data + }); +} + +export function flowHisTaskList(businessId: string | number) { + return request>({ + url: `/workflow/instance/flowHisTaskList/${businessId}?t=${Math.random()}`, + method: 'get' + }); +} diff --git a/src/api/workflow/instance/types.ts b/src/api/workflow/instance/types.ts new file mode 100644 index 00000000..e20bbfc8 --- /dev/null +++ b/src/api/workflow/instance/types.ts @@ -0,0 +1,41 @@ +import type { BaseEntity, PageQuery } from '@/api/types'; +import type { FlowHistoryVO, FlowTaskVO } from '@/api/workflow/task/types'; + +export interface FlowHisTaskResult { + list: FlowHistoryVO[]; + instanceId?: string | number; +} + +export interface FlowInstanceQuery extends PageQuery { + category?: string | number; + nodeName?: string; + flowCode?: string; + flowName?: string; + createByIds?: Array; + businessId?: string; +} + +export interface FlowInstanceVO extends BaseEntity { + id: string | number; + definitionId?: string; + flowName?: string; + flowCode?: string; + version?: string | number; + businessId: string; + activityStatus?: number; + tenantId?: string; + createTime?: string; + updateTime?: string; + createBy?: string; + createByName?: string; + flowStatus?: string; + flowStatusName?: string; + flowTaskList?: FlowTaskVO[]; + businessCode?: string; + businessTitle?: string; + nodeName?: string; + categoryName?: string; + isSuspended?: boolean; + formCustom?: string; + formPath?: string; +} diff --git a/src/api/workflow/leave/index.ts b/src/api/workflow/leave/index.ts new file mode 100644 index 00000000..fd2d0fd7 --- /dev/null +++ b/src/api/workflow/leave/index.ts @@ -0,0 +1,49 @@ +import type { PageResult, R } from '@/api/types'; +import request from '@/api/request'; +import type { LeaveForm, LeaveQuery, LeaveVO } from './types'; + +export function listLeave(query?: LeaveQuery) { + return request>>({ + url: '/workflow/leave/list', + method: 'get', + params: query + }); +} + +export function getLeave(id: string | number) { + return request>({ + url: `/workflow/leave/${id}`, + method: 'get' + }); +} + +export function addLeave(data: LeaveForm) { + return request>({ + url: '/workflow/leave', + method: 'post', + data + }); +} + +export function submitAndFlowStart(data: LeaveForm) { + return request>({ + url: '/workflow/leave/submitAndFlowStart', + method: 'post', + data + }); +} + +export function updateLeave(data: LeaveForm) { + return request>({ + url: '/workflow/leave', + method: 'put', + data + }); +} + +export function delLeave(id: string | number | Array) { + return request({ + url: `/workflow/leave/${id}`, + method: 'delete' + }); +} diff --git a/src/api/workflow/leave/types.ts b/src/api/workflow/leave/types.ts new file mode 100644 index 00000000..7b263308 --- /dev/null +++ b/src/api/workflow/leave/types.ts @@ -0,0 +1,28 @@ +import type { BaseEntity, PageQuery } from '@/api/types'; + +export interface LeaveForm extends BaseEntity { + id?: string | number; + applyCode?: string; + leaveType?: string; + startDate?: string; + endDate?: string; + leaveDays?: number; + remark?: string; + status?: string; +} + +export interface LeaveQuery extends PageQuery { + startLeaveDays?: number; + endLeaveDays?: number; +} + +export interface LeaveVO { + id: string | number; + applyCode?: string; + leaveType?: string; + startDate?: string; + endDate?: string; + leaveDays?: number; + remark?: string; + status?: string; +} diff --git a/src/api/workflow/spel/index.ts b/src/api/workflow/spel/index.ts new file mode 100644 index 00000000..63d6025d --- /dev/null +++ b/src/api/workflow/spel/index.ts @@ -0,0 +1,41 @@ +import type { PageResult, R } from '@/api/types'; +import request from '@/api/request'; +import type { SpelForm, SpelQuery, SpelVO } from './types'; + +export function listSpel(query?: SpelQuery) { + return request>>({ + url: '/workflow/spel/list', + method: 'get', + params: query + }); +} + +export function getSpel(id: string | number) { + return request>({ + url: `/workflow/spel/${id}`, + method: 'get' + }); +} + +export function addSpel(data: SpelForm) { + return request({ + url: '/workflow/spel', + method: 'post', + data + }); +} + +export function updateSpel(data: SpelForm) { + return request({ + url: '/workflow/spel', + method: 'put', + data + }); +} + +export function delSpel(id: string | number | Array) { + return request({ + url: `/workflow/spel/${id}`, + method: 'delete' + }); +} diff --git a/src/api/workflow/spel/types.ts b/src/api/workflow/spel/types.ts new file mode 100644 index 00000000..6d95dec9 --- /dev/null +++ b/src/api/workflow/spel/types.ts @@ -0,0 +1,29 @@ +import type { BaseEntity, PageQuery } from '@/api/types'; + +export interface SpelForm extends BaseEntity { + id?: string | number; + componentName?: string; + methodName?: string; + methodParams?: string; + viewSpel?: string; + status?: string; + remark?: string; +} + +export interface SpelQuery extends PageQuery { + componentName?: string; + methodName?: string; + methodParams?: string; + viewSpel?: string; + status?: string; +} + +export interface SpelVO { + id: string | number; + componentName?: string; + methodName?: string; + methodParams?: string; + viewSpel?: string; + status?: string; + remark?: string; +} diff --git a/src/api/workflow/task/index.ts b/src/api/workflow/task/index.ts new file mode 100644 index 00000000..3074c6d0 --- /dev/null +++ b/src/api/workflow/task/index.ts @@ -0,0 +1,129 @@ +import type { PageResult, R } from '@/api/types'; +import type { StartProcessBo } from '@/api/workflow/workflowCommon/types'; +import request from '@/api/request'; +import type { FlowNextNodeVO, FlowTaskVO, StartWorkflowResult, TaskOperationBo, TaskQuery } from './types'; + +export function pageByTaskWait(query: TaskQuery) { + return request>>({ + url: '/workflow/task/pageByTaskWait', + method: 'get', + params: query + }); +} + +export function pageByTaskFinish(query: TaskQuery) { + return request>>({ + url: '/workflow/task/pageByTaskFinish', + method: 'get', + params: query + }); +} + +export function pageByTaskCopy(query: TaskQuery) { + return request>>({ + url: '/workflow/task/pageByTaskCopy', + method: 'get', + params: query + }); +} + +export function pageByAllTaskWait(query: TaskQuery) { + return request>>({ + url: '/workflow/task/pageByAllTaskWait', + method: 'get', + params: query + }); +} + +export function pageByAllTaskFinish(query: TaskQuery) { + return request>>({ + url: '/workflow/task/pageByAllTaskFinish', + method: 'get', + params: query + }); +} + +export function startWorkFlow(data: StartProcessBo) { + return request>({ + url: '/workflow/task/startWorkFlow', + method: 'post', + data + }); +} + +export function updateAssignee(taskIdList: Array, userId: string | number) { + return request({ + url: `/workflow/task/updateAssignee/${userId}`, + method: 'put', + data: taskIdList + }); +} + +export function urgeTask(data: { taskIdList: Array; message?: string; messageType?: string[] }) { + return request({ + url: '/workflow/task/urgeTask', + method: 'post', + data + }); +} + +export function completeTask(data: Record) { + return request({ + url: '/workflow/task/completeTask', + method: 'post', + data + }); +} + +export function backProcess(data: Record) { + return request({ + url: '/workflow/task/backProcess', + method: 'post', + data + }); +} + +export function getTask(taskId: string | number) { + return request>({ + url: `/workflow/task/getTask/${taskId}`, + method: 'get' + }); +} + +export function terminationTask(data: { taskId?: string | number; comment?: string }) { + return request({ + url: '/workflow/task/terminationTask', + method: 'post', + data + }); +} + +export function getBackTaskNode(taskId: string | number, nodeCode?: string) { + return request>({ + url: `/workflow/task/getBackTaskNode/${taskId}/${nodeCode || ''}`, + method: 'get' + }); +} + +export function taskOperation(data: TaskOperationBo, operation: string) { + return request({ + url: `/workflow/task/taskOperation/${operation}`, + method: 'post', + data + }); +} + +export function currentTaskAllUser(taskId: string | number) { + return request>>({ + url: `/workflow/task/currentTaskAllUser/${taskId}`, + method: 'get' + }); +} + +export function getNextNodeList(data: { taskId?: string | number; variables?: Record }) { + return request>({ + url: '/workflow/task/getNextNodeList', + method: 'post', + data + }); +} diff --git a/src/api/workflow/task/types.ts b/src/api/workflow/task/types.ts new file mode 100644 index 00000000..01baafc0 --- /dev/null +++ b/src/api/workflow/task/types.ts @@ -0,0 +1,82 @@ +import type { OssVO } from '@/api/system/oss/types'; +import type { PageQuery } from '@/api/types'; + +export interface ButtonList { + code: string; + show: boolean; +} + +export interface FlowCopyVo { + userId: string | number; + nickName: string; +} + +export interface FlowHistoryVO { + nodeName?: string; + approverName?: string; + flowStatus?: string; + message?: string; + createTime?: string; + updateTime?: string; + runDuration?: string; + ext?: string | number; + attachmentList?: OssVO[]; +} + +export interface FlowNextNodeVO { + nodeCode: string; + nodeName: string; + permissionFlag?: string | Array; +} + +export interface FlowTaskVO { + id: string | number; + createTime?: string | Date; + updateTime?: string | Date; + tenantId?: string; + definitionId?: string; + instanceId?: string; + flowName?: string; + businessId: string; + nodeCode?: string; + nodeName?: string; + flowCode?: string; + flowStatus?: string; + flowStatusName?: string; + flowTaskStatus?: string; + formCustom?: string; + formPath?: string; + nodeType?: number; + nodeRatio?: string | number; + version?: string; + applyNode?: boolean; + buttonList?: ButtonList[]; + copyList?: FlowCopyVo[]; + varList?: Record; + businessCode?: string; + businessTitle?: string; + categoryName?: string; + createByName?: string; + assigneeNames?: string; + approverName?: string; +} + +export interface StartWorkflowResult { + taskId?: string | number; +} + +export interface TaskOperationBo { + taskId?: string | number; + userId?: string | number; + userIds?: Array; + message?: string; + messageType?: string[]; + variables?: Record; +} + +export interface TaskQuery extends PageQuery { + nodeName?: string; + flowCode?: string; + flowName?: string; + createByIds?: Array; +} diff --git a/src/api/workflow/workflowCommon/index.ts b/src/api/workflow/workflowCommon/index.ts new file mode 100644 index 00000000..bdd57d30 --- /dev/null +++ b/src/api/workflow/workflowCommon/index.ts @@ -0,0 +1,17 @@ +import { history } from '@umijs/max'; +import { normalizePath } from '@/utils/ruoyi'; +import type { RouterJumpVO } from './types'; + +export function routerJump(routerJump: RouterJumpVO) { + history.push( + `${normalizePath(routerJump.formPath || '/workflow/leaveEdit/index')}?${new URLSearchParams({ + id: routerJump.businessId, + type: routerJump.type, + taskId: String(routerJump.taskId) + }).toString()}` + ); +} + +export default { + routerJump +}; diff --git a/src/api/workflow/workflowCommon/types.ts b/src/api/workflow/workflowCommon/types.ts new file mode 100644 index 00000000..ec9007ce --- /dev/null +++ b/src/api/workflow/workflowCommon/types.ts @@ -0,0 +1,14 @@ +export interface RouterJumpVO { + businessId: string; + taskId: string | number; + type: string; + formCustom: string; + formPath: string; +} + +export interface StartProcessBo { + businessId: string | number; + flowCode: string; + variables: Record; + bizExt: Record; +} diff --git a/src/app.tsx b/src/app.tsx new file mode 100644 index 00000000..5440e2f6 --- /dev/null +++ b/src/app.tsx @@ -0,0 +1,14 @@ +import type { ReactNode } from 'react'; +import { QueryClientProvider } from '@tanstack/react-query'; +import { appEnv } from '@/utils/env'; +import { queryClient } from '@/utils/queryClient'; + +export async function getInitialState() { + return { + name: appEnv.logoTitle + }; +} + +export function rootContainer(container: ReactNode) { + return {container}; +} diff --git a/src/assets/icons/svg/404.svg b/src/assets/icons/svg/404.svg new file mode 100644 index 00000000..6df50190 --- /dev/null +++ b/src/assets/icons/svg/404.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/bug.svg b/src/assets/icons/svg/bug.svg new file mode 100644 index 00000000..05a150dc --- /dev/null +++ b/src/assets/icons/svg/bug.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/build.svg b/src/assets/icons/svg/build.svg new file mode 100644 index 00000000..97c46886 --- /dev/null +++ b/src/assets/icons/svg/build.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/button.svg b/src/assets/icons/svg/button.svg new file mode 100644 index 00000000..d14d5806 --- /dev/null +++ b/src/assets/icons/svg/button.svg @@ -0,0 +1 @@ + diff --git a/src/assets/icons/svg/caret-back.svg b/src/assets/icons/svg/caret-back.svg new file mode 100644 index 00000000..9bae7223 --- /dev/null +++ b/src/assets/icons/svg/caret-back.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/caret-forward.svg b/src/assets/icons/svg/caret-forward.svg new file mode 100644 index 00000000..1ec3f7d0 --- /dev/null +++ b/src/assets/icons/svg/caret-forward.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/cascader.svg b/src/assets/icons/svg/cascader.svg new file mode 100644 index 00000000..e256024f --- /dev/null +++ b/src/assets/icons/svg/cascader.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/category.svg b/src/assets/icons/svg/category.svg new file mode 100644 index 00000000..df92526d --- /dev/null +++ b/src/assets/icons/svg/category.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/chart.svg b/src/assets/icons/svg/chart.svg new file mode 100644 index 00000000..27728fb0 --- /dev/null +++ b/src/assets/icons/svg/chart.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/checkbox.svg b/src/assets/icons/svg/checkbox.svg new file mode 100644 index 00000000..013fd3a2 --- /dev/null +++ b/src/assets/icons/svg/checkbox.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/clipboard.svg b/src/assets/icons/svg/clipboard.svg new file mode 100644 index 00000000..90923ff6 --- /dev/null +++ b/src/assets/icons/svg/clipboard.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/code.svg b/src/assets/icons/svg/code.svg new file mode 100644 index 00000000..5f9c5abd --- /dev/null +++ b/src/assets/icons/svg/code.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/color.svg b/src/assets/icons/svg/color.svg new file mode 100644 index 00000000..44a81aab --- /dev/null +++ b/src/assets/icons/svg/color.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/company.svg b/src/assets/icons/svg/company.svg new file mode 100644 index 00000000..fcf13941 --- /dev/null +++ b/src/assets/icons/svg/company.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/component.svg b/src/assets/icons/svg/component.svg new file mode 100644 index 00000000..29c34580 --- /dev/null +++ b/src/assets/icons/svg/component.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/dashboard.svg b/src/assets/icons/svg/dashboard.svg new file mode 100644 index 00000000..5317d370 --- /dev/null +++ b/src/assets/icons/svg/dashboard.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/date-range.svg b/src/assets/icons/svg/date-range.svg new file mode 100644 index 00000000..fda571e7 --- /dev/null +++ b/src/assets/icons/svg/date-range.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/date.svg b/src/assets/icons/svg/date.svg new file mode 100644 index 00000000..52dc73ee --- /dev/null +++ b/src/assets/icons/svg/date.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/dict.svg b/src/assets/icons/svg/dict.svg new file mode 100644 index 00000000..48493773 --- /dev/null +++ b/src/assets/icons/svg/dict.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/documentation.svg b/src/assets/icons/svg/documentation.svg new file mode 100644 index 00000000..70431228 --- /dev/null +++ b/src/assets/icons/svg/documentation.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/download.svg b/src/assets/icons/svg/download.svg new file mode 100644 index 00000000..c8969513 --- /dev/null +++ b/src/assets/icons/svg/download.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/drag.svg b/src/assets/icons/svg/drag.svg new file mode 100644 index 00000000..4185d3ce --- /dev/null +++ b/src/assets/icons/svg/drag.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/druid.svg b/src/assets/icons/svg/druid.svg new file mode 100644 index 00000000..a2b4b4ed --- /dev/null +++ b/src/assets/icons/svg/druid.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/edit.svg b/src/assets/icons/svg/edit.svg new file mode 100644 index 00000000..d26101f2 --- /dev/null +++ b/src/assets/icons/svg/edit.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/education.svg b/src/assets/icons/svg/education.svg new file mode 100644 index 00000000..7bfb01d1 --- /dev/null +++ b/src/assets/icons/svg/education.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/email.svg b/src/assets/icons/svg/email.svg new file mode 100644 index 00000000..74d25e21 --- /dev/null +++ b/src/assets/icons/svg/email.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/example.svg b/src/assets/icons/svg/example.svg new file mode 100644 index 00000000..46f42b53 --- /dev/null +++ b/src/assets/icons/svg/example.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/excel.svg b/src/assets/icons/svg/excel.svg new file mode 100644 index 00000000..74d97b80 --- /dev/null +++ b/src/assets/icons/svg/excel.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/exit-fullscreen.svg b/src/assets/icons/svg/exit-fullscreen.svg new file mode 100644 index 00000000..485c128b --- /dev/null +++ b/src/assets/icons/svg/exit-fullscreen.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/eye-open.svg b/src/assets/icons/svg/eye-open.svg new file mode 100644 index 00000000..88dcc98e --- /dev/null +++ b/src/assets/icons/svg/eye-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/eye.svg b/src/assets/icons/svg/eye.svg new file mode 100644 index 00000000..16ed2d87 --- /dev/null +++ b/src/assets/icons/svg/eye.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/finish.svg b/src/assets/icons/svg/finish.svg new file mode 100644 index 00000000..4685c232 --- /dev/null +++ b/src/assets/icons/svg/finish.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/form.svg b/src/assets/icons/svg/form.svg new file mode 100644 index 00000000..dcbaa185 --- /dev/null +++ b/src/assets/icons/svg/form.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/fullscreen.svg b/src/assets/icons/svg/fullscreen.svg new file mode 100644 index 00000000..0e86b6fa --- /dev/null +++ b/src/assets/icons/svg/fullscreen.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/gitee.svg b/src/assets/icons/svg/gitee.svg new file mode 100644 index 00000000..6324608b --- /dev/null +++ b/src/assets/icons/svg/gitee.svg @@ -0,0 +1 @@ + diff --git a/src/assets/icons/svg/github.svg b/src/assets/icons/svg/github.svg new file mode 100644 index 00000000..db0a0d43 --- /dev/null +++ b/src/assets/icons/svg/github.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/guide.svg b/src/assets/icons/svg/guide.svg new file mode 100644 index 00000000..b2710017 --- /dev/null +++ b/src/assets/icons/svg/guide.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/icon.svg b/src/assets/icons/svg/icon.svg new file mode 100644 index 00000000..82be8eee --- /dev/null +++ b/src/assets/icons/svg/icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/input.svg b/src/assets/icons/svg/input.svg new file mode 100644 index 00000000..ab91381e --- /dev/null +++ b/src/assets/icons/svg/input.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/international.svg b/src/assets/icons/svg/international.svg new file mode 100644 index 00000000..e9b56eee --- /dev/null +++ b/src/assets/icons/svg/international.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/job.svg b/src/assets/icons/svg/job.svg new file mode 100644 index 00000000..2a93a251 --- /dev/null +++ b/src/assets/icons/svg/job.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/language.svg b/src/assets/icons/svg/language.svg new file mode 100644 index 00000000..0082b577 --- /dev/null +++ b/src/assets/icons/svg/language.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/link.svg b/src/assets/icons/svg/link.svg new file mode 100644 index 00000000..48197ba4 --- /dev/null +++ b/src/assets/icons/svg/link.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/list.svg b/src/assets/icons/svg/list.svg new file mode 100644 index 00000000..20259edd --- /dev/null +++ b/src/assets/icons/svg/list.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/lock.svg b/src/assets/icons/svg/lock.svg new file mode 100644 index 00000000..74fee543 --- /dev/null +++ b/src/assets/icons/svg/lock.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/log.svg b/src/assets/icons/svg/log.svg new file mode 100644 index 00000000..d879d33b --- /dev/null +++ b/src/assets/icons/svg/log.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/logininfo.svg b/src/assets/icons/svg/logininfo.svg new file mode 100644 index 00000000..267f8447 --- /dev/null +++ b/src/assets/icons/svg/logininfo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/maxkey.svg b/src/assets/icons/svg/maxkey.svg new file mode 100644 index 00000000..f8f8a7d8 --- /dev/null +++ b/src/assets/icons/svg/maxkey.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/icons/svg/message.svg b/src/assets/icons/svg/message.svg new file mode 100644 index 00000000..14ca8172 --- /dev/null +++ b/src/assets/icons/svg/message.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/model.svg b/src/assets/icons/svg/model.svg new file mode 100644 index 00000000..0c57d706 --- /dev/null +++ b/src/assets/icons/svg/model.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/money.svg b/src/assets/icons/svg/money.svg new file mode 100644 index 00000000..c1580de1 --- /dev/null +++ b/src/assets/icons/svg/money.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/monitor.svg b/src/assets/icons/svg/monitor.svg new file mode 100644 index 00000000..bc308cb0 --- /dev/null +++ b/src/assets/icons/svg/monitor.svg @@ -0,0 +1,2 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/my-copy.svg b/src/assets/icons/svg/my-copy.svg new file mode 100644 index 00000000..49f69fa0 --- /dev/null +++ b/src/assets/icons/svg/my-copy.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/my-task.svg b/src/assets/icons/svg/my-task.svg new file mode 100644 index 00000000..1f1ea447 --- /dev/null +++ b/src/assets/icons/svg/my-task.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/nested.svg b/src/assets/icons/svg/nested.svg new file mode 100644 index 00000000..06713a86 --- /dev/null +++ b/src/assets/icons/svg/nested.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/number.svg b/src/assets/icons/svg/number.svg new file mode 100644 index 00000000..ad5ce9af --- /dev/null +++ b/src/assets/icons/svg/number.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/online.svg b/src/assets/icons/svg/online.svg new file mode 100644 index 00000000..330a2029 --- /dev/null +++ b/src/assets/icons/svg/online.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/password.svg b/src/assets/icons/svg/password.svg new file mode 100644 index 00000000..6c64defe --- /dev/null +++ b/src/assets/icons/svg/password.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/pdf.svg b/src/assets/icons/svg/pdf.svg new file mode 100644 index 00000000..957aa0cc --- /dev/null +++ b/src/assets/icons/svg/pdf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/people.svg b/src/assets/icons/svg/people.svg new file mode 100644 index 00000000..2bd54aeb --- /dev/null +++ b/src/assets/icons/svg/people.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/peoples.svg b/src/assets/icons/svg/peoples.svg new file mode 100644 index 00000000..aab852e5 --- /dev/null +++ b/src/assets/icons/svg/peoples.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/phone.svg b/src/assets/icons/svg/phone.svg new file mode 100644 index 00000000..ab8e8c4e --- /dev/null +++ b/src/assets/icons/svg/phone.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/post.svg b/src/assets/icons/svg/post.svg new file mode 100644 index 00000000..2922c613 --- /dev/null +++ b/src/assets/icons/svg/post.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/process-definition.svg b/src/assets/icons/svg/process-definition.svg new file mode 100644 index 00000000..202d2003 --- /dev/null +++ b/src/assets/icons/svg/process-definition.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/qq.svg b/src/assets/icons/svg/qq.svg new file mode 100644 index 00000000..ee13d4ec --- /dev/null +++ b/src/assets/icons/svg/qq.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/question.svg b/src/assets/icons/svg/question.svg new file mode 100644 index 00000000..cf75bd4b --- /dev/null +++ b/src/assets/icons/svg/question.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/radio.svg b/src/assets/icons/svg/radio.svg new file mode 100644 index 00000000..0cde3452 --- /dev/null +++ b/src/assets/icons/svg/radio.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/rate.svg b/src/assets/icons/svg/rate.svg new file mode 100644 index 00000000..aa3b14d7 --- /dev/null +++ b/src/assets/icons/svg/rate.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/redis-list.svg b/src/assets/icons/svg/redis-list.svg new file mode 100644 index 00000000..98a15b2a --- /dev/null +++ b/src/assets/icons/svg/redis-list.svg @@ -0,0 +1,2 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/redis.svg b/src/assets/icons/svg/redis.svg new file mode 100644 index 00000000..2f1d62df --- /dev/null +++ b/src/assets/icons/svg/redis.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/row.svg b/src/assets/icons/svg/row.svg new file mode 100644 index 00000000..07809922 --- /dev/null +++ b/src/assets/icons/svg/row.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/search.svg b/src/assets/icons/svg/search.svg new file mode 100644 index 00000000..84233dda --- /dev/null +++ b/src/assets/icons/svg/search.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/select.svg b/src/assets/icons/svg/select.svg new file mode 100644 index 00000000..d6283828 --- /dev/null +++ b/src/assets/icons/svg/select.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/server.svg b/src/assets/icons/svg/server.svg new file mode 100644 index 00000000..eb287e36 --- /dev/null +++ b/src/assets/icons/svg/server.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/shopping.svg b/src/assets/icons/svg/shopping.svg new file mode 100644 index 00000000..87513e7c --- /dev/null +++ b/src/assets/icons/svg/shopping.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/size.svg b/src/assets/icons/svg/size.svg new file mode 100644 index 00000000..ddb25b8d --- /dev/null +++ b/src/assets/icons/svg/size.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/skill.svg b/src/assets/icons/svg/skill.svg new file mode 100644 index 00000000..a3b73121 --- /dev/null +++ b/src/assets/icons/svg/skill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/slider.svg b/src/assets/icons/svg/slider.svg new file mode 100644 index 00000000..fbe4f39f --- /dev/null +++ b/src/assets/icons/svg/slider.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/star.svg b/src/assets/icons/svg/star.svg new file mode 100644 index 00000000..6cf86e66 --- /dev/null +++ b/src/assets/icons/svg/star.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/swagger.svg b/src/assets/icons/svg/swagger.svg new file mode 100644 index 00000000..05d4e7bc --- /dev/null +++ b/src/assets/icons/svg/swagger.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/switch.svg b/src/assets/icons/svg/switch.svg new file mode 100644 index 00000000..0ba61e38 --- /dev/null +++ b/src/assets/icons/svg/switch.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/system.svg b/src/assets/icons/svg/system.svg new file mode 100644 index 00000000..5992593e --- /dev/null +++ b/src/assets/icons/svg/system.svg @@ -0,0 +1,2 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/tab.svg b/src/assets/icons/svg/tab.svg new file mode 100644 index 00000000..b4b48e48 --- /dev/null +++ b/src/assets/icons/svg/tab.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/table.svg b/src/assets/icons/svg/table.svg new file mode 100644 index 00000000..0e3dc9de --- /dev/null +++ b/src/assets/icons/svg/table.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/textarea.svg b/src/assets/icons/svg/textarea.svg new file mode 100644 index 00000000..2709f292 --- /dev/null +++ b/src/assets/icons/svg/textarea.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/theme.svg b/src/assets/icons/svg/theme.svg new file mode 100644 index 00000000..5982a2f7 --- /dev/null +++ b/src/assets/icons/svg/theme.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/time-range.svg b/src/assets/icons/svg/time-range.svg new file mode 100644 index 00000000..13c1202b --- /dev/null +++ b/src/assets/icons/svg/time-range.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/time.svg b/src/assets/icons/svg/time.svg new file mode 100644 index 00000000..b376e32a --- /dev/null +++ b/src/assets/icons/svg/time.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/tool.svg b/src/assets/icons/svg/tool.svg new file mode 100644 index 00000000..48e0e357 --- /dev/null +++ b/src/assets/icons/svg/tool.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/topiam.svg b/src/assets/icons/svg/topiam.svg new file mode 100644 index 00000000..e7ea0577 --- /dev/null +++ b/src/assets/icons/svg/topiam.svg @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/icons/svg/tree-table.svg b/src/assets/icons/svg/tree-table.svg new file mode 100644 index 00000000..8aafdb82 --- /dev/null +++ b/src/assets/icons/svg/tree-table.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/tree.svg b/src/assets/icons/svg/tree.svg new file mode 100644 index 00000000..dd4b7dd2 --- /dev/null +++ b/src/assets/icons/svg/tree.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/upload.svg b/src/assets/icons/svg/upload.svg new file mode 100644 index 00000000..bae49c0a --- /dev/null +++ b/src/assets/icons/svg/upload.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/user.svg b/src/assets/icons/svg/user.svg new file mode 100644 index 00000000..0ba0716a --- /dev/null +++ b/src/assets/icons/svg/user.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/validCode.svg b/src/assets/icons/svg/validCode.svg new file mode 100644 index 00000000..cfb10214 --- /dev/null +++ b/src/assets/icons/svg/validCode.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/waiting.svg b/src/assets/icons/svg/waiting.svg new file mode 100644 index 00000000..2c2042d6 --- /dev/null +++ b/src/assets/icons/svg/waiting.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/wechat.svg b/src/assets/icons/svg/wechat.svg new file mode 100644 index 00000000..c586e551 --- /dev/null +++ b/src/assets/icons/svg/wechat.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/workflow.svg b/src/assets/icons/svg/workflow.svg new file mode 100644 index 00000000..2f7423a5 --- /dev/null +++ b/src/assets/icons/svg/workflow.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/zip.svg b/src/assets/icons/svg/zip.svg new file mode 100644 index 00000000..f806fc48 --- /dev/null +++ b/src/assets/icons/svg/zip.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/images/profile.jpg b/src/assets/images/profile.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f4fde57deff486be192767ea2583f14fc81c5f8f GIT binary patch literal 275351 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

5&=UtbuKTL=BWHY7GRauRiSAxrLG}5M#ZArZ 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

0$o8F+R=5!FD=A%y_mApk^?G#?2e6>5yb$|0Oj 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 G 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 d+2AD?_zza .ant-menu-submenu-title, +.ant-pro-layout .ant-pro-sider .ant-menu-submenu-open > .ant-menu-submenu-title, +.ant-pro-layout .ant-pro-sider .ant-menu-item-selected, +.ant-pro-layout .ant-pro-sider .ant-menu-item-selected .layout-menu-link, +.ant-pro-layout .ant-pro-sider .ant-menu-item:hover, +.ant-pro-layout .ant-pro-sider .ant-menu-submenu-title:hover, +.ant-pro-layout .ant-pro-layout-header .ant-menu-submenu-selected > .ant-menu-submenu-title, +.ant-pro-layout .ant-pro-layout-header .ant-menu-submenu-open > .ant-menu-submenu-title, +.ant-pro-layout .ant-pro-layout-header .ant-menu-item-selected, +.ant-pro-layout .ant-pro-layout-header .ant-menu-item-selected .layout-menu-link, +.ant-pro-layout .ant-pro-layout-header .ant-menu-item:hover, +.ant-pro-layout .ant-pro-layout-header .ant-menu-submenu-title:hover, +.ant-pro-layout .ant-pro-top-nav-header .ant-menu-submenu-selected > .ant-menu-submenu-title, +.ant-pro-layout .ant-pro-top-nav-header .ant-menu-submenu-open > .ant-menu-submenu-title, +.ant-pro-layout .ant-pro-top-nav-header .ant-menu-item-selected, +.ant-pro-layout .ant-pro-top-nav-header .ant-menu-item-selected .layout-menu-link, +.ant-pro-layout .ant-pro-top-nav-header .ant-menu-item:hover, +.ant-pro-layout .ant-pro-top-nav-header .ant-menu-submenu-title:hover { + color: var(--layout-nav-active-text-react, #409eff) !important; +} + +.ant-pro-layout .ant-pro-sider .ant-menu-item-selected, +.ant-pro-layout .ant-pro-layout-header .ant-menu-item-selected, +.ant-pro-layout .ant-pro-top-nav-header .ant-menu-item-selected { + background: var(--layout-nav-menu-selected-bg-react, #eaf3ff) !important; +} + +.ant-pro-layout .ant-pro-sider .ant-menu-item:not(.ant-menu-item-selected):hover, +.ant-pro-layout .ant-pro-sider .ant-menu-submenu-title:hover, +.ant-pro-layout .ant-pro-layout-header .ant-menu-item:not(.ant-menu-item-selected):hover, +.ant-pro-layout .ant-pro-layout-header .ant-menu-submenu-title:hover, +.ant-pro-layout .ant-pro-top-nav-header .ant-menu-item:not(.ant-menu-item-selected):hover, +.ant-pro-layout .ant-pro-top-nav-header .ant-menu-submenu-title:hover { + background: var(--layout-nav-menu-hover-bg-react, rgba(23, 32, 51, 0.04)) !important; +} + +html.dark .page-surface, +html.dark .tree-panel, +html.dark .table-panel, +html.dark .tags-view-react, +html.dark .tags-context-menu-react, +html.dark .permission-tree, +html.dark .rich-editor-shell, +html.dark .cache-overview-table-react, +html.dark .user-select-tree-react, +html.dark .user-select-main-react { + color: var(--app-text-react); + background: var(--app-surface-react); + border-color: var(--app-border-react) !important; +} + +html.dark .tags-item-react, +html.dark .tags-nav-btn-react, +html.dark .tags-action-btn-react, +html.dark .tags-refresh-btn-react, +html.dark .right-toolbar-react .ant-btn-circle, +html.dark .tree-panel-react.is-collapsed .ant-btn, +html.dark .icon-select-item-react, +html.dark .preview-box-react, +html.dark .image-preview-empty, +html.dark .cache-overview-label-react { + color: var(--app-text-secondary-react); + background: var(--app-surface-muted-react); + border-color: var(--app-border-react) !important; +} + +html.dark .tags-item-react.active, +html.dark .dict-row-current > td, +html.dark .icon-select-item-react.active { + color: var(--layout-primary-react, #409eff); + background: var(--app-primary-soft-react); + border-color: var(--layout-primary-react, #409eff) !important; +} + +html.dark .layout-settings-title, +html.dark .layout-settings-row, +html.dark .tree-panel-title, +html.dark .notice-detail-content, +html.dark .cache-overview-table-react td, +html.dark .preview-box-react { + color: var(--app-text-react); +} diff --git a/src/assets/styles/layout/menu.less b/src/assets/styles/layout/menu.less new file mode 100644 index 00000000..5ed9f854 --- /dev/null +++ b/src/assets/styles/layout/menu.less @@ -0,0 +1,42 @@ +.layout-menu-link { + width: 100%; + padding: 0; + color: inherit; + text-align: left; + background: transparent; + border: 0; + cursor: pointer; +} + +.layout-menu-node { + display: inline-flex; + align-items: center; + min-width: 0; +} + +.layout-menu-node-icon { + display: inline-flex; + flex: 0 0 auto; + align-items: center; + justify-content: center; + width: 16px; + margin-right: 10px; + font-size: 15px; +} + +.vue-svg-icon-react { + display: inline-block; + width: 1em; + height: 1em; + background-color: currentcolor; + vertical-align: -2px; + mask: var(--vue-svg-icon-url) no-repeat center / contain; + -webkit-mask: var(--vue-svg-icon-url) no-repeat center / contain; +} + +.layout-menu-node-title { + min-width: 0; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} diff --git a/src/assets/styles/layout/message-box.less b/src/assets/styles/layout/message-box.less new file mode 100644 index 00000000..49c59ebf --- /dev/null +++ b/src/assets/styles/layout/message-box.less @@ -0,0 +1,158 @@ +.ant-pro-global-header-header-actions-avatar { + padding-inline-start: 6px !important; + padding-inline-end: 8px !important; +} + +.ant-pro-global-header-header-actions-avatar > div { + height: 40px !important; + padding: 6px 4px 6px 8px !important; + line-height: 40px !important; +} + +.message-box-badge { + display: inline-flex; + width: 32px; + height: 32px; + align-items: center; + justify-content: center; +} + +.message-box-trigger { + width: 32px; + height: 32px; + padding: 0; +} + +.message-box-popover { + min-width: 0; +} + +.menu-search-list-react { + max-height: 420px; + margin-top: 12px; + overflow: auto; +} + +.menu-search-list-react .ant-list-item { + padding: 10px 8px !important; + border-block-end: 0 !important; + border-radius: 8px; + cursor: pointer; +} + +.menu-search-list-react .ant-list-item:hover { + background: var(--app-primary-soft-react); +} + +.menu-search-item-react { + display: grid !important; + grid-template-columns: 32px minmax(0, 1fr) 24px; + gap: 10px; + align-items: center !important; +} + +.menu-search-item-icon { + display: grid; + width: 32px; + height: 32px; + place-items: center; + color: var(--app-link-react); + background: var(--app-link-soft-react); + border-radius: 8px; +} + +.menu-search-item-main { + min-width: 0; +} + +.menu-search-item-title { + overflow: hidden; + color: var(--app-text-react); + font-weight: 600; + text-overflow: ellipsis; + white-space: nowrap; +} + +.menu-search-item-path { + overflow: hidden; + color: var(--app-text-secondary-react); + font-size: 12px; + text-overflow: ellipsis; + white-space: nowrap; +} + +.menu-search-item-enter { + color: var(--app-text-muted-react); +} + +.message-box-head { + display: flex; + align-items: center; + justify-content: space-between; + height: 38px; + padding-bottom: 8px; + border-bottom: 1px solid var(--app-border-react); +} + +.message-box-head .ant-btn { + padding-inline: 4px; +} + +.message-box-list { + height: 300px; + padding-top: 8px; + overflow: auto; +} + +.message-box-item { + gap: 10px; + align-items: flex-start !important; + padding: 10px 8px !important; + border-block-end: 0 !important; + border-radius: 8px; + cursor: pointer; +} + +.message-box-item:hover { + background: var(--app-primary-soft-react); +} + +.message-box-item-main { + display: flex; + flex: 1; + flex-direction: column; + gap: 4px; + min-width: 0; + color: var(--app-text-react); + font-size: 13px; + line-height: 1.6; +} + +.message-box-item-title { + overflow: hidden; + color: var(--app-link-react); + font-size: 12px; + font-weight: 600; + text-overflow: ellipsis; + white-space: nowrap; +} + +.message-box-item-message { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.message-box-item-content { + display: -webkit-box; + overflow: hidden; + color: var(--app-text-secondary-react); + text-overflow: ellipsis; + -webkit-box-orient: vertical; + -webkit-line-clamp: 2; +} + +.message-box-item-time { + color: var(--app-text-muted-react); + font-size: 12px; +} diff --git a/src/assets/styles/layout/pro-layout.less b/src/assets/styles/layout/pro-layout.less new file mode 100644 index 00000000..cf367e80 --- /dev/null +++ b/src/assets/styles/layout/pro-layout.less @@ -0,0 +1,56 @@ +.ant-pro-page-container-warp-page-header { + padding: 8px 24px 8px !important; +} + +.ant-pro-page-container-warp-page-header .ant-page-header-breadcrumb { + padding-block-start: 0 !important; +} + +.ant-pro-page-container-warp-page-header .ant-page-header-heading { + display: none; +} + +.ant-pro-page-container-children-container { + padding-inline: 24px !important; + padding-block-end: 16px !important; +} + +.ant-pro-page-container-children-content { + padding-block-start: 0 !important; + padding-block-end: 12px !important; +} + +.ant-pro-layout, +.ant-pro-layout > .ant-layout, +.ant-pro-layout .ant-pro-layout-bg-list, +.ant-pro-layout .ant-pro-layout-container, +.ant-pro-layout .ant-pro-layout-content, +.ant-pro-layout .ant-layout-content, +.ant-pro-layout .ant-pro-page-container, +.ant-pro-layout .ant-pro-page-container-children-container, +.ant-pro-layout .ant-pro-page-container-children-content { + color: var(--app-text-react); + background: var(--app-bg-react) !important; +} + +.ant-pro-layout .ant-pro-sider-collapsed-button, +.ant-pro-layout .ant-pro-global-header-collapsed-button { + color: var(--layout-nav-text-react) !important; + background: var(--app-surface-react) !important; +} + +.ant-pro-layout .ant-pro-sider-collapsed-button:hover, +.ant-pro-layout .ant-pro-global-header-collapsed-button:hover { + color: var(--layout-nav-title-react) !important; + background: var(--layout-nav-action-hover-bg-react) !important; +} + +.ant-pro-layout .ant-pro-card, +.ant-pro-layout .ant-pro-table, +.ant-pro-layout .ant-pro-table-search, +.ant-pro-layout .ant-pro-query-filter, +.ant-pro-layout .ant-pro-table-list-toolbar, +.ant-pro-layout .ant-table-wrapper { + color: var(--app-text-react); + background: var(--app-surface-react) !important; +} diff --git a/src/assets/styles/layout/settings.less b/src/assets/styles/layout/settings.less new file mode 100644 index 00000000..447e9f0e --- /dev/null +++ b/src/assets/styles/layout/settings.less @@ -0,0 +1,121 @@ +.layout-logo-mark { + width: 28px; + height: 28px; + object-fit: contain; + background: transparent; + border-radius: 0; +} + +.layout-header-static-react .ant-pro-layout-container > .ant-layout-header:not(.ant-pro-layout-header) { + display: none; +} + +.layout-header-static-react .ant-layout-header.ant-pro-layout-header-fixed-header { + position: relative; + inset-block-start: auto; + inset-inline-end: auto; + z-index: 19; +} + +.layout-settings-drawer .ant-drawer-body { + padding: 18px; +} + +.layout-settings-title { + margin: 0 0 12px; + color: var(--app-text-react); + font-size: 14px; + line-height: 1.4; +} + +.layout-settings-title:not(:first-child) { + margin-top: 22px; +} + +.layout-theme-preview { + margin-bottom: 10px; +} + +.layout-theme-card { + position: relative; + width: 56px; + height: 48px; + overflow: hidden; + color: var(--layout-primary-react, #409eff); + background: var(--app-surface-muted-react); + border: 2px solid transparent; + border-radius: 8px; + cursor: pointer; +} + +.layout-theme-card::before, +.layout-theme-card::after { + position: absolute; + content: ''; +} + +.layout-theme-card::before { + top: 0; + left: 0; + width: 100%; + height: 14px; +} + +.layout-theme-card::after { + top: 14px; + left: 0; + width: 18px; + height: 34px; +} + +.layout-theme-card.dark::before, +.layout-theme-card.dark::after { + background: var(--app-text-react); +} + +.layout-theme-card.light::before { + background: var(--app-surface-react); + border-bottom: 1px solid var(--app-border-react); +} + +.layout-theme-card.light::after { + background: var(--app-surface-react); + border-right: 1px solid var(--app-border-react); +} + +.layout-theme-card.active { + border-color: var(--layout-primary-react, #409eff); +} + +.layout-theme-card .anticon { + position: absolute; + right: 6px; + bottom: 6px; + z-index: 1; +} + +.layout-settings-row { + display: flex; + align-items: center; + justify-content: space-between; + min-height: 44px; + color: var(--app-text-react); + font-size: 14px; + border-bottom: 1px solid var(--app-border-react); +} + +.layout-settings-control { + display: flex; + justify-content: flex-end; + min-width: 120px; +} + +.layout-color-input { + width: 42px; + padding: 3px; +} + +.layout-radius-slider { + width: 128px; + margin: 0; +} diff --git a/src/assets/styles/layout/tags-view.less b/src/assets/styles/layout/tags-view.less new file mode 100644 index 00000000..323e708e --- /dev/null +++ b/src/assets/styles/layout/tags-view.less @@ -0,0 +1,188 @@ +.tags-view-react { + display: flex; + align-items: center; + height: 38px; + min-width: 0; + margin: 0 0 10px; + padding: 4px 8px; + overflow: hidden; + background: var(--app-surface-react); + border: 1px solid var(--app-border-react); + border-radius: 8px; +} + +.tags-scroll-react { + flex: 1; + min-width: 0; + height: 30px; + overflow-x: auto; + overflow-y: hidden; + white-space: nowrap; + scrollbar-width: none; +} + +.tags-scroll-react::-webkit-scrollbar { + display: none; +} + +.tags-item-react { + display: inline-flex; + align-items: center; + max-width: 180px; + height: 28px; + padding: 0 8px; + margin-right: 5px; + color: var(--app-text-secondary-react); + font-size: 12px; + line-height: 28px; + vertical-align: top; + background: var(--app-surface-muted-react); + border: 1px solid var(--app-border-react); + border-radius: 6px; + cursor: pointer; + transition: + color 0.2s ease, + border-color 0.2s ease, + background 0.2s ease; +} + +.tags-item-react:hover { + color: var(--layout-primary-react, #409eff); + border-color: var(--app-link-border-react); +} + +.tags-item-react.active { + color: var(--layout-primary-react, #409eff); + background: var(--app-primary-soft-react); + border-color: var(--app-link-border-react); +} + +.tags-item-react.active:not(.has-icon)::before { + display: inline-block; + flex: 0 0 auto; + width: 7px; + height: 7px; + margin-right: 6px; + content: ''; + background: var(--layout-primary-react, #409eff); + border-radius: 50%; +} + +.tags-item-icon-react { + display: inline-flex; + flex: 0 0 auto; + align-items: center; + justify-content: center; + margin-right: 5px; + font-size: 13px; +} + +.tags-item-title-react { + min-width: 0; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.tags-item-close-react { + flex: 0 0 auto; + margin-left: 6px; + color: var(--app-text-muted-react); + font-size: 11px; + border-radius: 50%; +} + +.tags-item-close-react:hover { + color: var(--app-surface-react); + background: var(--app-text-muted-react); +} + +.tags-nav-btn-react, +.tags-action-btn-react, +.tags-refresh-btn-react { + flex: 0 0 auto; + height: 28px; + color: var(--app-text-secondary-react); + background: var(--app-surface-react); + border-color: var(--app-border-react); +} + +.tags-nav-btn-react { + width: 28px; + margin-right: 5px; +} + +.tags-action-btn-react { + width: 28px; + margin-left: 5px; +} + +.tags-refresh-btn-react { + margin-left: 5px; + font-size: 12px; +} + +.tags-context-menu-react { + position: fixed; + z-index: 3000; + min-width: 136px; + padding: 5px 0; + background: var(--app-surface-react); + border: 1px solid var(--app-border-react); + border-radius: 8px; + box-shadow: 0 10px 30px rgba(23, 32, 51, 0.16); +} + +.tags-context-menu-item-react { + display: flex; + gap: 8px; + align-items: center; + width: 100%; + height: 32px; + padding: 0 14px; + color: var(--app-text-react); + font-size: 13px; + text-align: left; + background: transparent; + border: 0; + cursor: pointer; +} + +.tags-context-menu-item-react:hover { + background: var(--app-primary-soft-react); +} + +.tags-context-menu-item-react:disabled { + color: var(--app-text-disabled-react); + cursor: not-allowed; +} + +.tags-context-menu-divider-react { + height: 1px; + margin: 5px 0; + background: var(--app-border-react); +} + +body.tags-fullscreen-mode-react { + overflow: hidden; +} + +body.tags-fullscreen-mode-react .ant-pro-sider, +body.tags-fullscreen-mode-react .ant-layout-sider, +body.tags-fullscreen-mode-react .ant-pro-layout-header, +body.tags-fullscreen-mode-react .ant-layout-header { + display: none !important; +} + +body.tags-fullscreen-mode-react .ant-layout { + min-height: 100vh; +} + +body.tags-fullscreen-mode-react .ant-pro-layout-container, +body.tags-fullscreen-mode-react .ant-layout-content { + margin: 0 !important; +} + +body.tags-fullscreen-mode-react .ant-pro-page-container { + min-height: calc(100vh - 54px); +} diff --git a/src/assets/styles/modules/ai-chat.less b/src/assets/styles/modules/ai-chat.less new file mode 100644 index 00000000..916c8e3b --- /dev/null +++ b/src/assets/styles/modules/ai-chat.less @@ -0,0 +1,218 @@ +.ai-chat-page { + display: grid; + grid-template-rows: 38px minmax(0, 1fr); + height: calc(100dvh - 150px); + min-height: 0; + overflow: hidden; + background: var(--app-bg-react); + border: 1px solid var(--app-border-subtle-react); + border-radius: 8px; +} + +.ai-chat-container .ant-pro-page-container-children-content { + padding-block-end: 0 !important; +} + +.ai-chat-container .ant-pro-page-container-children-container { + padding-block-end: 0 !important; +} + +.ai-chat-header { + display: flex; + align-items: center; + padding: 0 12px; + background: var(--app-surface-react); + border-bottom: 1px solid var(--app-border-subtle-react); +} + +.ai-chat-brand { + display: flex; + gap: 8px; + align-items: center; + font-size: 16px; + font-weight: 600; +} + +.ai-chat-brand-dot, +.ai-chat-agent-dot { + width: 12px; + height: 12px; + background: var(--app-link-react); + border-radius: 3px; +} + +.ai-chat-body { + display: grid; + grid-template-columns: 292px minmax(0, 1fr); + min-height: 0; + overflow: hidden; +} + +.ai-chat-sidebar { + display: grid; + grid-template-rows: auto minmax(0, 1fr) auto; + min-height: 0; + background: var(--app-surface-muted-react); + border-right: 1px solid var(--app-border-subtle-react); +} + +.ai-chat-sidebar > .ant-spin-nested-loading { + min-height: 0; +} + +.ai-chat-sidebar > .ant-spin-nested-loading > .ant-spin-container { + height: 100%; + min-height: 0; +} + +.ai-chat-side-scroll { + height: 100%; + min-height: 0; + overflow: auto; +} + +.ai-chat-side-block { + padding: 10px 12px; +} + +.ai-chat-block-title { + margin-bottom: 8px; + color: var(--app-text-muted-react); + font-size: 12px; +} + +.ai-chat-side-item { + display: flex; + gap: 8px; + align-items: center; + width: 100%; + height: 34px; + padding: 0 10px; + color: var(--app-text-react); + background: transparent; + border: 0; + border-radius: 8px; + cursor: pointer; +} + +.ai-chat-side-item:hover, +.ai-chat-side-item.active { + color: var(--app-link-react); + background: var(--app-link-soft-react); +} + +.ai-chat-side-name { + flex: 1; + min-width: 0; + overflow: hidden; + text-align: left; + text-overflow: ellipsis; + white-space: nowrap; +} + +.ai-chat-delete { + color: var(--app-danger-react); + opacity: 0; +} + +.ai-chat-side-item:hover .ai-chat-delete, +.ai-chat-side-item.active .ai-chat-delete { + opacity: 1; +} + +.ai-chat-user { + display: flex; + gap: 10px; + align-items: center; + padding: 10px 12px; + background: var(--app-surface-react); + border-top: 1px solid var(--app-border-subtle-react); +} + +.ai-chat-user-name { + font-weight: 600; +} + +.ai-chat-user-status { + color: var(--app-text-muted-react); + font-size: 12px; +} + +.ai-chat-main { + display: grid; + grid-template-rows: minmax(0, 1fr) auto; + min-width: 0; + min-height: 0; +} + +.ai-chat-empty { + display: flex; + min-height: 0; + align-items: center; + justify-content: center; + color: var(--app-text-muted-react); +} + +.ai-chat-scroll { + min-height: 0; + padding: 12px 14px 0; + overflow: auto; +} + +.ai-chat-content { + width: 100%; + max-width: 920px; + margin: 0 auto; +} + +.ai-chat-welcome { + padding: 14px; + margin-bottom: 12px; + background: var(--app-surface-react); + border: 1px solid var(--app-border-subtle-react); + border-radius: 8px; +} + +.ai-chat-message-row { + display: flex !important; + justify-content: flex-start; + padding: 4px 0 !important; + border-block-end: 0 !important; +} + +.ai-chat-message-row.user { + justify-content: flex-end; +} + +.ai-chat-message { + max-width: 80%; + padding: 8px 10px; + line-height: 1.6; + white-space: pre-wrap; + background: var(--app-surface-react); + border: 1px solid var(--app-border-subtle-react); + border-radius: 8px; +} + +.ai-chat-message-row.user .ai-chat-message { + color: var(--app-link-strong-react); + background: var(--app-link-soft-react); + border-color: var(--app-link-border-react); +} + +.ai-chat-message.pending { + color: var(--app-text-muted-react); +} + +.ai-chat-input-wrap { + flex: 0 0 auto; + padding: 8px 14px 10px; + background: var(--app-bg-react); + border-top: 1px solid var(--app-border-subtle-react); +} + +.ai-chat-sender { + max-width: 920px; + margin: 0 auto; + background: var(--app-surface-react); +} diff --git a/src/assets/styles/modules/monitor.less b/src/assets/styles/modules/monitor.less new file mode 100644 index 00000000..0e2113ca --- /dev/null +++ b/src/assets/styles/modules/monitor.less @@ -0,0 +1,99 @@ +.cache-grid-react { + display: grid; + grid-template-columns: repeat(3, minmax(0, 1fr)); + gap: 16px; +} + +.cache-list-current { + background: var(--app-primary-soft-react); +} + +.monitor-iframe-wrap { + margin: -24px; +} + +.monitor-iframe { + width: 100%; + height: calc(100vh - 180px); + min-height: 640px; + border: 0; +} + +.monitor-iframe-empty { + display: grid; + min-height: 360px; + place-items: center; + color: var(--app-text-secondary-react); +} + +.warm-flow-designer-iframe { + display: block; + width: 100%; + height: calc(100vh - 123px); + min-height: 640px; + border: 0; +} + +.workflow-record-iframe { + display: block; + width: 100%; + height: 62vh; + min-height: 420px; + border: 0; +} + +.workflow-approval-button-bar { + display: flex; + align-items: center; + justify-content: space-between; + gap: 12px; + margin-bottom: 16px; +} + +.json-view-react, +.json-view-raw-react { + max-height: 360px; + overflow: auto; +} + +.json-view-raw-react { + margin: 0; + white-space: pre-wrap; + word-break: break-word; +} + +.cache-overview-table-react { + overflow: hidden; + border: 1px solid var(--app-border-react); + border-radius: 8px; +} + +.cache-overview-table-react table { + width: 100%; + border-collapse: collapse; +} + +.cache-overview-table-react td { + padding: 12px; + color: var(--app-text-react); + border-right: 1px solid var(--app-border-react); + border-bottom: 1px solid var(--app-border-react); +} + +.cache-overview-table-react tr:last-child td { + border-bottom: 0; +} + +.cache-overview-table-react td:last-child { + border-right: 0; +} + +.cache-overview-label-react { + width: 120px; + color: var(--app-text-secondary-react) !important; + background: var(--app-surface-muted-react); +} + +.cache-chart-react { + height: 420px !important; +} diff --git a/src/assets/styles/modules/workflow-extra.less b/src/assets/styles/modules/workflow-extra.less new file mode 100644 index 00000000..cfcf149b --- /dev/null +++ b/src/assets/styles/modules/workflow-extra.less @@ -0,0 +1,23 @@ +.user-name-display-react { + display: -webkit-box; + width: 100%; + max-height: 60px; + overflow: hidden; + line-height: 20px; + white-space: normal; + word-break: break-all; + -webkit-box-orient: vertical; +} + +.preview-box-react { + min-height: 36px; + padding: 8px 12px; + overflow-x: auto; + color: var(--app-text-react); + font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; + line-height: 1.5; + white-space: nowrap; + background: var(--app-bg-react); + border: 1px solid var(--app-border-react); + border-radius: 6px; +} diff --git a/src/assets/styles/modules/workflow.less b/src/assets/styles/modules/workflow.less new file mode 100644 index 00000000..56026e41 --- /dev/null +++ b/src/assets/styles/modules/workflow.less @@ -0,0 +1,37 @@ +.workflow-flow-chart-image { + display: flex; + align-items: center; + justify-content: center; + width: 100%; + min-height: 360px; + padding: 0; + overflow: hidden; + background: transparent; + border: 0; + cursor: grab; + user-select: none; +} + +.workflow-flow-chart-image:active { + cursor: grabbing; +} + +.workflow-flow-chart-image-card { + width: 100%; + border-radius: 8px; +} + +.workflow-flow-chart-image-inner { + display: flex; + align-items: center; + justify-content: center; + min-height: 320px; + padding: 15px; + transform-origin: center center; +} + +.workflow-flow-chart-image-img { + width: 100%; + max-height: 68vh; + object-fit: contain; +} diff --git a/src/assets/styles/pages/auth.less b/src/assets/styles/pages/auth.less new file mode 100644 index 00000000..6e41c27a --- /dev/null +++ b/src/assets/styles/pages/auth.less @@ -0,0 +1,257 @@ +.login-page { + position: relative; + min-height: 100vh; + display: grid; + grid-template-columns: minmax(420px, 1fr) 480px; + background: #f4f7fb; +} + +.auth-locale-select { + position: absolute; + top: 22px; + right: 22px; + z-index: 10; +} + +.auth-locale-select .layout-action-button { + background: rgba(255, 255, 255, 0.92); + border: 1px solid #edf0f5; + box-shadow: 0 10px 28px rgba(23, 32, 51, 0.08); +} + +.login-brand { + display: flex; + flex-direction: column; + justify-content: center; + padding: 64px 10vw; + color: #172033; +} + +.login-brand-pill { + width: fit-content; + padding: 8px 14px; + margin-bottom: 22px; + color: #0958d9; + font-size: 12px; + font-weight: 700; + letter-spacing: 0.08em; + text-transform: uppercase; + background: #eaf3ff; + border: 1px solid #c8ddff; + border-radius: 999px; +} + +.login-brand h1 { + margin: 0 0 16px; + font-size: 44px; + line-height: 1.1; +} + +.login-brand p { + max-width: 560px; + margin: 0; + color: #5d6b82; + font-size: 16px; + line-height: 1.8; +} + +.login-brand-highlights { + display: flex; + flex-wrap: wrap; + gap: 10px; + max-width: 620px; + margin-top: 30px; +} + +.login-brand-highlights span { + padding: 9px 14px; + color: #26364f; + font-size: 13px; + font-weight: 600; + background: #fff; + border: 1px solid #edf0f5; + border-radius: 999px; + box-shadow: 0 8px 22px rgba(23, 32, 51, 0.05); +} + +.login-brand-metrics { + display: grid; + grid-template-columns: repeat(3, minmax(0, 1fr)); + gap: 12px; + max-width: 620px; + margin-top: 34px; +} + +.login-brand-metrics article { + padding: 18px 16px; + background: rgba(255, 255, 255, 0.78); + border: 1px solid #edf0f5; + border-radius: 8px; + box-shadow: 0 14px 36px rgba(23, 32, 51, 0.06); +} + +.login-brand-metrics strong, +.login-brand-metrics span { + display: block; +} + +.login-brand-metrics strong { + color: #172033; + font-size: 22px; + line-height: 1.2; +} + +.login-brand-metrics span { + margin-top: 8px; + color: #697386; + font-size: 13px; +} + +.login-panel { + display: flex; + align-items: center; + padding: 48px; + background: #fff; + box-shadow: -16px 0 40px rgba(23, 32, 51, 0.06); +} + +.login-panel-inner { + width: 100%; +} + +.login-form-meta { + display: flex; + align-items: center; + justify-content: space-between; + gap: 12px; + margin-bottom: 12px; +} + +.login-form-meta .ant-form-item { + margin-bottom: 0; +} + +.login-social-panel { + display: flex; + align-items: center; + justify-content: space-between; + gap: 12px; + padding: 12px 14px; + margin: 0 0 18px; + color: #697386; + font-size: 13px; + background: #f8fafc; + border: 1px solid #edf0f5; + border-radius: 8px; +} + +.login-social-icon { + display: block; + width: 18px; + height: 18px; + object-fit: contain; +} + +.social-provider-name { + display: inline-flex; + gap: 8px; + align-items: center; +} + +.social-provider-icon { + display: inline-block; + width: 18px; + height: 18px; + object-fit: contain; + vertical-align: -4px; +} + +.social-callback-page { + display: grid; + min-height: 100vh; + place-items: center; + background: #f5f7fb; +} + +.register-page { + position: relative; + display: grid; + grid-template-columns: minmax(420px, 1fr) 480px; + min-height: 100vh; + padding: 40px; + background: + radial-gradient(circle at 12% 12%, rgba(22, 119, 255, 0.24), transparent 24%), + radial-gradient(circle at 88% 18%, rgba(20, 184, 166, 0.18), transparent 24%), + linear-gradient(135deg, #071120 0%, #0f1b33 42%, #15345f 100%); +} + +.register-brand-react { + display: flex; + flex-direction: column; + justify-content: center; + max-width: 760px; + padding: 48px; + color: #eef4ff; +} + +.register-brand-react h1 { + margin: 22px 0 14px; + font-size: 48px; + line-height: 1.1; +} + +.register-brand-react p { + max-width: 580px; + margin: 0; + color: rgba(226, 232, 240, 0.88); + font-size: 15px; + line-height: 1.8; +} + +.register-brand-pill { + width: fit-content; + padding: 8px 14px; + color: rgba(255, 255, 255, 0.9); + font-size: 12px; + letter-spacing: 0.08em; + text-transform: uppercase; + background: rgba(255, 255, 255, 0.12); + border-radius: 999px; +} + +.register-highlights { + display: flex; + flex-wrap: wrap; + gap: 10px; + margin-top: 28px; +} + +.register-highlights span { + padding: 9px 14px; + color: #f8fbff; + font-size: 13px; + background: rgba(255, 255, 255, 0.08); + border: 1px solid rgba(255, 255, 255, 0.12); + border-radius: 999px; +} + +.register-panel { + display: flex; + align-items: center; + justify-content: center; + padding: 32px; + background: rgba(255, 255, 255, 0.96); + border: 1px solid rgba(255, 255, 255, 0.18); + border-radius: 28px; + box-shadow: 0 30px 80px rgba(2, 8, 23, 0.32); +} + +.register-actions { + display: flex; + align-items: center; + justify-content: space-between; + gap: 12px; + margin: -4px 0 16px; + color: #697386; + font-size: 13px; +} diff --git a/src/assets/styles/pages/dashboard.less b/src/assets/styles/pages/dashboard.less new file mode 100644 index 00000000..c79af56a --- /dev/null +++ b/src/assets/styles/pages/dashboard.less @@ -0,0 +1,144 @@ +.result-page { + display: grid; + min-height: 100vh; + place-items: center; + background: #f5f7fb; +} + +.home-dashboard { + display: flex; + flex-direction: column; + gap: 20px; +} + +.home-hero { + padding: 30px; + background: + radial-gradient(circle at top left, var(--app-link-soft-react), transparent 30%), var(--app-surface-react); + border: 1px solid var(--app-border-react); + border-radius: 8px; + box-shadow: 0 10px 30px rgba(23, 32, 51, 0.05); +} + +.home-hero h1 { + margin: 0 0 14px; + color: var(--app-text-react); + font-size: 42px; + line-height: 1.08; +} + +.home-hero p { + max-width: 760px; + margin: 0 0 22px; + color: var(--app-text-secondary-react); + font-size: 15px; + line-height: 1.8; +} + +.home-grid { + display: grid; + grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.85fr); + gap: 20px; +} + +.home-product-list, +.home-capability-list { + display: grid; + gap: 16px; +} + +.home-product-card, +.home-capability-card { + display: grid; + gap: 16px; + padding: 18px; + background: var(--app-surface-muted-react); + border: 1px solid var(--app-border-react); + border-radius: 8px; +} + +.home-product-top { + display: flex; + gap: 16px; + align-items: flex-start; + justify-content: space-between; +} + +.home-product-top h3, +.home-capability-card h3 { + margin: 0 0 8px; + color: var(--app-text-react); +} + +.home-product-top p { + margin: 0; + color: var(--app-text-secondary-react); + line-height: 1.8; +} + +.home-product-top span { + flex-shrink: 0; + padding: 6px 10px; + color: var(--app-link-react); + font-size: 12px; + font-weight: 700; + background: var(--app-link-soft-react); + border-radius: 999px; +} + +.home-capability-card ul { + display: grid; + gap: 10px; + padding: 0; + margin: 0; + list-style: none; +} + +.home-capability-card li { + position: relative; + padding-left: 16px; + color: var(--app-text-secondary-react); + line-height: 1.7; +} + +.home-capability-card li::before { + position: absolute; + top: 10px; + left: 0; + width: 7px; + height: 7px; + content: ''; + background: var(--app-link-react); + border-radius: 50%; +} + +.captcha-row { + display: grid; + grid-template-columns: 1fr 116px; + gap: 8px; +} + +.captcha-image { + height: 40px; + object-fit: cover; +} + +.captcha-button { + height: 40px; + padding: 0; + overflow: hidden; + background: #fff; + border: 1px solid #d9d9d9; + border-radius: 6px; + cursor: pointer; +} + +.dynamic-placeholder-title { + margin: 0 0 8px; + font-size: 20px; +} + +.dynamic-placeholder-path { + color: #697386; + font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; +} diff --git a/src/assets/styles/pages/page-surface.less b/src/assets/styles/pages/page-surface.less new file mode 100644 index 00000000..7753ee43 --- /dev/null +++ b/src/assets/styles/pages/page-surface.less @@ -0,0 +1,7 @@ +.page-surface { + min-height: calc(100vh - 168px); + padding: 24px; + background: var(--app-surface-react); + border: 1px solid var(--app-border-react); + border-radius: 8px; +} diff --git a/src/assets/styles/pages/system.less b/src/assets/styles/pages/system.less new file mode 100644 index 00000000..4f5c8fd7 --- /dev/null +++ b/src/assets/styles/pages/system.less @@ -0,0 +1,128 @@ +.tree-table-page { + display: grid; + grid-template-columns: 260px minmax(0, 1fr); + gap: 16px; +} + +.tree-table-page:has(.tree-panel-react.is-collapsed) { + grid-template-columns: 48px minmax(0, 1fr); +} + +.tree-panel, +.table-panel { + min-width: 0; +} + +.tree-panel { + padding: 16px; + background: var(--app-surface-react); + border: 1px solid var(--app-border-react); + border-radius: 8px; +} + +.tree-panel-title { + margin-bottom: 12px; + font-weight: 600; +} + +.tree-panel .ant-tree { + margin-top: 12px; +} + +.form-grid { + display: grid; + grid-template-columns: repeat(2, minmax(0, 1fr)); + column-gap: 16px; +} + +.permission-tree { + max-height: 360px; + padding: 8px; + overflow: auto; + border: 1px solid var(--app-border-react); + border-radius: 8px; +} + +.permission-tree .ant-tree-node-content-wrapper { + min-width: 0; + flex: 1; +} + +.menu-permission-row { + display: grid; + grid-template-columns: minmax(160px, 0.8fr) minmax(260px, 1.2fr); + gap: 12px; + align-items: center; + width: 100%; +} + +.menu-permission-name { + min-width: 0; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.menu-permission-name.is-hidden { + color: var(--app-text-muted-react); +} + +.menu-permission-tag { + display: inline-block; + margin-left: 6px; + padding: 0 5px; + color: var(--app-text-muted-react); + font-size: 12px; + line-height: 18px; + background: var(--app-surface-muted-react); + border: 1px solid var(--app-border-strong-react); + border-radius: 4px; +} + +.menu-permission-buttons { + display: flex; + flex-wrap: wrap; + gap: 4px 12px; +} + +.menu-permission-buttons .ant-checkbox-wrapper { + margin-inline-start: 0; +} + +.dict-grid { + display: grid; + grid-template-columns: repeat(2, minmax(0, 1fr)); + gap: 16px; +} + +.dict-panel { + min-width: 0; +} + +.dict-row-current > td { + background: var(--app-primary-soft-react) !important; +} + +.notice-detail h2 { + margin: 0 0 16px; + font-size: 22px; + line-height: 1.4; +} + +.notice-detail-content { + max-height: 60vh; + margin-top: 16px; + padding-top: 16px; + overflow: auto; + color: var(--app-text-react); + font-family: inherit; + line-height: 1.8; + white-space: normal; + word-break: break-word; + border-top: 1px solid var(--app-border-react); +} + +.notice-detail-content img, +.notice-detail-content video { + max-width: 100%; +} diff --git a/src/assets/styles/responsive/mobile.less b/src/assets/styles/responsive/mobile.less new file mode 100644 index 00000000..0223f423 --- /dev/null +++ b/src/assets/styles/responsive/mobile.less @@ -0,0 +1,80 @@ +@media (max-width: 900px) { + .login-page, + .register-page { + grid-template-columns: 1fr; + } + + .login-brand, + .register-brand-react { + display: none; + } + + .login-panel, + .register-panel { + min-height: 100vh; + padding: 32px 20px; + border-radius: 0; + } + + .tree-table-page { + grid-template-columns: 1fr; + } + + .form-grid { + grid-template-columns: 1fr; + } + + .dict-grid { + grid-template-columns: 1fr; + } + + .cache-grid-react { + grid-template-columns: 1fr; + } + + .user-select-react, + .user-select-react.is-tree-collapsed { + grid-template-columns: 1fr; + } + + .menu-permission-row { + grid-template-columns: 1fr; + gap: 6px; + } + + .home-grid { + grid-template-columns: 1fr; + } + + .home-hero, + .home-product-card, + .home-capability-card { + padding: 18px; + } + + .home-hero h1 { + font-size: 32px; + } + + .ai-chat-page { + height: calc(100dvh - 112px); + } + + .ai-chat-body { + grid-template-columns: 1fr; + grid-template-rows: 224px minmax(0, 1fr); + } + + .ai-chat-sidebar { + border-right: 0; + border-bottom: 1px solid var(--app-border-subtle-react); + } + + .ai-chat-user { + display: none; + } + + .ai-chat-message { + max-width: 92%; + } +} diff --git a/src/assets/styles/tokens/theme.less b/src/assets/styles/tokens/theme.less new file mode 100644 index 00000000..70d5d3f7 --- /dev/null +++ b/src/assets/styles/tokens/theme.less @@ -0,0 +1,37 @@ +:root { + --app-bg-react: #f5f7fb; + --app-surface-react: #fff; + --app-surface-muted-react: #f8fafc; + --app-border-react: #edf0f5; + --app-text-react: #172033; + --app-text-secondary-react: #5d6b82; + --app-primary-soft-react: #eaf3ff; + --app-link-react: #1677ff; + --app-link-strong-react: #0958d9; + --app-link-soft-react: #e6f4ff; + --app-link-border-react: #91caff; + --app-text-muted-react: #8c8c8c; + --app-text-disabled-react: #bfbfbf; + --app-danger-react: #ff4d4f; + --app-border-strong-react: #d9d9d9; + --app-border-subtle-react: #e5e7eb; +} + +html.dark { + --app-bg-react: #0f172a; + --app-surface-react: #111827; + --app-surface-muted-react: #1f2937; + --app-border-react: #334155; + --app-text-react: #e5e7eb; + --app-text-secondary-react: #94a3b8; + --app-primary-soft-react: rgba(64, 158, 255, 0.18); + --app-link-react: #409eff; + --app-link-strong-react: #69b1ff; + --app-link-soft-react: rgba(64, 158, 255, 0.18); + --app-link-border-react: rgba(64, 158, 255, 0.42); + --app-text-muted-react: #94a3b8; + --app-text-disabled-react: #64748b; + --app-danger-react: #ff7875; + --app-border-strong-react: #475569; + --app-border-subtle-react: #334155; +} diff --git a/src/components/common/DictTag.tsx b/src/components/common/DictTag.tsx new file mode 100644 index 00000000..73f20a89 --- /dev/null +++ b/src/components/common/DictTag.tsx @@ -0,0 +1,60 @@ +import { Space, Tag } from 'antd'; +import type { DictData } from '@/api/system/dict/data/types'; + +type DictValue = string | number | boolean; + +export interface DictTagProps { + options?: DictData[]; + value?: DictValue | DictValue[]; + showValue?: boolean; + separator?: string; + className?: string; +} + +const tagColorMap: Record = { + primary: 'blue', + success: 'green', + info: 'default', + warning: 'orange', + danger: 'red' +}; + +function normalizeValues(value: DictTagProps['value'], separator: string) { + if (value === '' || value === null || typeof value === 'undefined') { + return []; + } + if (Array.isArray(value)) { + return value.map(item => String(item)); + } + if (typeof value === 'boolean') { + return [String(value)]; + } + return String(value).split(separator).filter(Boolean); +} + +export default function DictTag({ options = [], value, showValue = true, separator = ',', className }: DictTagProps) { + const values = normalizeValues(value, separator); + const matchedOptions = options.filter(item => values.some(current => current === String(item.dictValue))); + const unmatchedValues = values.filter(current => !options.some(item => current === String(item.dictValue))); + + if (!values.length) { + return -; + } + + return ( + + {matchedOptions.map(item => { + const listClass = item.listClass || 'default'; + if (listClass === 'default' && !item.cssClass) { + return {item.dictLabel}; + } + return ( + + {item.dictLabel} + + ); + })} + {showValue && unmatchedValues.map(item => {item})} + + ); +} diff --git a/src/components/common/EllipsisText.tsx b/src/components/common/EllipsisText.tsx new file mode 100644 index 00000000..ee1eb290 --- /dev/null +++ b/src/components/common/EllipsisText.tsx @@ -0,0 +1,19 @@ +import { Tooltip } from 'antd'; + +interface EllipsisTextProps { + value?: unknown; + maxWidth?: number | string; + emptyText?: string; +} + +export default function EllipsisText({ value, maxWidth = 180, emptyText = '-' }: EllipsisTextProps) { + const text = value === null || typeof value === 'undefined' || value === '' ? emptyText : String(value); + + return ( + + + {text} + + + ); +} diff --git a/src/components/common/FileUpload.tsx b/src/components/common/FileUpload.tsx new file mode 100644 index 00000000..a7638f15 --- /dev/null +++ b/src/components/common/FileUpload.tsx @@ -0,0 +1,142 @@ +import { DeleteOutlined, PaperClipOutlined, UploadOutlined } from '@ant-design/icons'; +import { Button, List, message, Upload, type UploadProps } from 'antd'; +import type { OssVO } from '@/api/system/oss/types'; +import { buildAccept, getUploadErrorMessage, validateUploadFile } from '@/utils/upload'; +import { type OssUploadFile, useOssUploadList } from './useOssUploadList'; + +export interface FileUploadProps { + value?: string | number | OssVO[]; + onChange?: (value: string) => void; + limit?: number; + fileSize?: number; + fileType?: string[]; + showTip?: boolean; + disabled?: boolean; + deleteRemote?: boolean; +} + +const defaultFileTypes = ['doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx', 'txt', 'pdf']; + +function getFileName(name?: string) { + if (!name) { + return '-'; + } + const index = name.lastIndexOf('/'); + return index > -1 ? name.slice(index + 1) : name; +} + +function toUploadFile(item: OssVO, index: number): OssUploadFile { + return { + uid: String(item.ossId || `${Date.now()}-${index}`), + name: item.originalName || item.fileName || String(item.ossId), + url: item.url, + status: 'done', + ossId: item.ossId + }; +} + +function toUploadedFile( + result: { ossId?: string | number; fileName?: string; url?: string }, + file: File +): OssUploadFile { + return { + uid: String(result.ossId || file.name), + name: result.fileName || file.name, + url: result.url, + status: 'done', + ossId: result.ossId + }; +} + +export default function FileUpload({ + value, + onChange, + limit = 5, + fileSize = 5, + fileType = defaultFileTypes, + showTip = true, + disabled = false, + deleteRemote = true +}: FileUploadProps) { + const { fileList, uploading, uploadFile, removeFile } = useOssUploadList({ + value, + onChange, + deleteRemote, + toUploadFile, + toUploadedFile + }); + + const beforeUpload: UploadProps['beforeUpload'] = file => { + if (fileList.length >= limit) { + message.error(`上传文件数量不能超过 ${limit} 个`); + return Upload.LIST_IGNORE; + } + if (!validateUploadFile(file, { fileTypes: fileType, maxSizeMB: fileSize, fileKind: '文件' })) { + return Upload.LIST_IGNORE; + } + return true; + }; + + const customRequest: UploadProps['customRequest'] = async options => { + const file = options.file as File; + try { + const { response } = await uploadFile(file); + options.onSuccess?.(response, file); + } catch (error) { + options.onError?.(error as Error); + message.error(getUploadErrorMessage(error, '上传文件失败')); + } + }; + + return ( +

+ ); +} diff --git a/src/components/common/IconSelect.tsx b/src/components/common/IconSelect.tsx new file mode 100644 index 00000000..e2318f62 --- /dev/null +++ b/src/components/common/IconSelect.tsx @@ -0,0 +1,146 @@ +import { + ApiOutlined, + AppstoreOutlined, + BellOutlined, + BookOutlined, + CheckCircleOutlined, + CloudOutlined, + CodeOutlined, + CompassOutlined, + DashboardOutlined, + DatabaseOutlined, + DeploymentUnitOutlined, + DesktopOutlined, + FileProtectOutlined, + FileSearchOutlined, + FileTextOutlined, + FolderOutlined, + FormOutlined, + HddOutlined, + MonitorOutlined, + PartitionOutlined, + ProfileOutlined, + RobotOutlined, + ScheduleOutlined, + SettingOutlined, + TeamOutlined, + ToolOutlined, + UserOutlined +} from '@ant-design/icons'; +import { Icon } from '@iconify/react'; +import { useBoolean } from 'ahooks'; +import { Button, Input, Popover, Tooltip } from 'antd'; +import { useMemo, useState } from 'react'; + +type IconComponent = typeof DashboardOutlined; + +const iconOptions: Array<[string, IconComponent]> = [ + ['dashboard', DashboardOutlined], + ['guide', CompassOutlined], + ['user', UserOutlined], + ['users', TeamOutlined], + ['system', SettingOutlined], + ['monitor', MonitorOutlined], + ['tool', ToolOutlined], + ['form', FileTextOutlined], + ['list', AppstoreOutlined], + ['tree', PartitionOutlined], + ['tree-table', PartitionOutlined], + ['edit', FormOutlined], + ['post', ProfileOutlined], + ['dict', BookOutlined], + ['client', ApiOutlined], + ['international', ApiOutlined], + ['online', DesktopOutlined], + ['log', FileSearchOutlined], + ['logininfo', FileProtectOutlined], + ['cache', DatabaseOutlined], + ['server', HddOutlined], + ['job', ScheduleOutlined], + ['code', CodeOutlined], + ['oss', CloudOutlined], + ['upload', CloudOutlined], + ['notice', BellOutlined], + ['workflow', DeploymentUnitOutlined], + ['my-task', ScheduleOutlined], + ['process', DeploymentUnitOutlined], + ['process-definition', DeploymentUnitOutlined], + ['category', FolderOutlined], + ['input', FormOutlined], + ['checkbox', CheckCircleOutlined], + ['ai', RobotOutlined] +]; + +export interface IconSelectProps { + value?: string; + onChange?: (value: string) => void; + width?: string | number; +} + +export default function IconSelect({ value, onChange, width = '100%' }: IconSelectProps) { + const [open, { set: setOpen, setFalse: closePopover }] = useBoolean(false); + const [keyword, setKeyword] = useState(''); + const [customIcon, setCustomIcon] = useState(''); + + const matchedIcons = useMemo(() => iconOptions.filter(([name]) => !keyword || name.includes(keyword)), [keyword]); + + const selectIcon = (name: string) => { + onChange?.(name); + closePopover(); + }; + + const applyCustomIcon = () => { + const next = customIcon.trim(); + if (!next) { + return; + } + onChange?.(next); + closePopover(); + }; + + const CurrentIcon = iconOptions.find(([name]) => name === value)?.[1] || AppstoreOutlined; + const prefixIcon = value?.includes(':') ? : ; + + return ( + + setKeyword(event.target.value)} /> +
+ setCustomIcon(event.target.value)} + onPressEnter={applyCustomIcon} + /> + +
+
+ {matchedIcons.map(([name, Icon]) => { + return ( + + + + ); + })} +
+ + } + > + +
+ ); +} diff --git a/src/components/common/ImagePreview.tsx b/src/components/common/ImagePreview.tsx new file mode 100644 index 00000000..245db925 --- /dev/null +++ b/src/components/common/ImagePreview.tsx @@ -0,0 +1,43 @@ +import { PictureOutlined } from '@ant-design/icons'; +import { Image } from 'antd'; + +export interface ImagePreviewProps { + src?: string; + width?: string | number; + height?: string | number; +} + +function toCssSize(value?: string | number) { + if (typeof value === 'number') { + return `${value}px`; + } + return value; +} + +export default function ImagePreview({ src = '', width = 100, height = 100 }: ImagePreviewProps) { + const srcList = src + .split(',') + .map(item => item.trim()) + .filter(Boolean); + const firstSrc = srcList[0]; + + if (!firstSrc) { + return ( +
+ +
+ ); + } + + return ( + + + + ); +} diff --git a/src/components/common/ImageUpload.tsx b/src/components/common/ImageUpload.tsx new file mode 100644 index 00000000..ff99b099 --- /dev/null +++ b/src/components/common/ImageUpload.tsx @@ -0,0 +1,125 @@ +import { PlusOutlined } from '@ant-design/icons'; +import { message, Upload, type UploadFile, type UploadProps } from 'antd'; +import imageCompression from 'browser-image-compression'; +import type { OssVO } from '@/api/system/oss/types'; +import { buildAccept, getUploadErrorMessage, validateUploadFile } from '@/utils/upload'; +import { useOssUploadList } from './useOssUploadList'; + +interface OssImageFile extends UploadFile { + ossId?: string | number; +} + +export interface ImageUploadProps { + value?: string | number | OssVO[]; + onChange?: (value: string) => void; + limit?: number; + fileSize?: number; + fileType?: string[]; + showTip?: boolean; + disabled?: boolean; + deleteRemote?: boolean; + compressSupport?: boolean; + compressTargetSize?: number; +} + +const defaultImageTypes = ['png', 'jpg', 'jpeg']; + +function toUploadFile(item: OssVO, index: number): OssImageFile { + return { + uid: String(item.ossId || `${Date.now()}-${index}`), + name: String(item.ossId || item.originalName || item.fileName), + url: item.url, + status: 'done', + ossId: item.ossId + }; +} + +function toUploadedFile(result: { ossId?: string | number; url?: string }, file: File): OssImageFile { + return { + uid: String(result.ossId || file.name), + name: String(result.ossId || file.name), + url: result.url, + status: 'done', + ossId: result.ossId + }; +} + +export default function ImageUpload({ + value, + onChange, + limit = 5, + fileSize = 5, + fileType = defaultImageTypes, + showTip = true, + disabled = false, + deleteRemote = true, + compressSupport = false, + compressTargetSize = 300 +}: ImageUploadProps) { + const { fileList, uploading, uploadFile, removeFile } = useOssUploadList({ + value, + onChange, + deleteRemote, + toUploadFile, + toUploadedFile + }); + + const beforeUpload: UploadProps['beforeUpload'] = file => { + if (fileList.length >= limit) { + message.error(`上传文件数量不能超过 ${limit} 个`); + return Upload.LIST_IGNORE; + } + if (!validateUploadFile(file, { fileTypes: fileType, maxSizeMB: fileSize, fileKind: '图片', matchMime: true })) { + return Upload.LIST_IGNORE; + } + return true; + }; + + const customRequest: UploadProps['customRequest'] = async options => { + let file = options.file as File; + if (compressSupport && file.size / 1024 > compressTargetSize) { + file = await imageCompression(file, { + maxSizeMB: compressTargetSize / 1024, + useWebWorker: true + }); + } + try { + const { response } = await uploadFile(file); + options.onSuccess?.(response, file); + } catch (error) { + options.onError?.(error as Error); + message.error(getUploadErrorMessage(error, '上传图片失败')); + } + }; + + const onRemove: UploadProps['onRemove'] = async file => { + await removeFile(file as OssImageFile); + return true; + }; + + return ( +
+ + {!disabled && fileList.length < limit ? ( + + ) : null} + + {showTip && !disabled && ( +
+ 请上传大小不超过 {fileSize}MB,格式为 {fileType.join('/')} 的文件 +
+ )} +
+ ); +} diff --git a/src/components/common/JsonViewer.tsx b/src/components/common/JsonViewer.tsx new file mode 100644 index 00000000..4328c134 --- /dev/null +++ b/src/components/common/JsonViewer.tsx @@ -0,0 +1,48 @@ +import { allExpanded, defaultStyles, JsonView } from 'react-json-view-lite'; + +type ParsedJson = + | { valid: true; data: Record | unknown[]; text: string } + | { valid: false; data?: undefined; text: string }; + +export interface JsonViewerProps { + value?: string | unknown; + maxHeight?: number | string; + emptyText?: string; +} + +function parseJson(value: JsonViewerProps['value'], emptyText: string): ParsedJson { + if (value === undefined || value === null || value === '') { + return { valid: false, text: emptyText }; + } + if (typeof value === 'object') { + return { valid: true, data: value as Record | unknown[], text: '' }; + } + try { + const data = JSON.parse(String(value)) as unknown; + if (data && typeof data === 'object') { + return { valid: true, data: data as Record | unknown[], text: '' }; + } + return { valid: false, text: JSON.stringify(data, null, 2) }; + } catch { + return { valid: false, text: String(value) }; + } +} + +export default function JsonViewer({ value, maxHeight = 360, emptyText = '暂无数据' }: JsonViewerProps) { + const parsed = parseJson(value, emptyText); + const style = { maxHeight }; + + if (parsed.valid) { + return ( +
+ +
+ ); + } + + return ( +
+      {parsed.text}
+    
+ ); +} diff --git a/src/components/common/RichTextEditor.tsx b/src/components/common/RichTextEditor.tsx new file mode 100644 index 00000000..476cb83e --- /dev/null +++ b/src/components/common/RichTextEditor.tsx @@ -0,0 +1,257 @@ +import type { IDomEditor, IEditorConfig, IToolbarConfig } from '@wangeditor-next/editor'; +import { Editor, Toolbar } from '@wangeditor-next/editor-for-react'; +import { message } from 'antd'; +import { useCallback, useEffect, useMemo, useRef, useState } from 'react'; +import { listByIds, uploadOss } from '@/api/system/oss'; +import { getUploadErrorMessage, validateUploadFile } from '@/utils/upload'; + +const OSS_MARKER_RE = /oss:\/\/([\w-]+)/g; +const IMAGE_TYPES = ['jpg', 'jpeg', 'png', 'svg']; +const VIDEO_TYPES = ['mp4', 'webm', 'ogg']; +const IMAGE_MIME_TYPES = ['image/jpeg', 'image/jpg', 'image/png', 'image/svg', 'image/svg+xml']; +const VIDEO_MIME_TYPES = ['video/mp4', 'video/webm', 'video/ogg']; + +export interface RichTextEditorProps { + value?: string; + onChange?: (value: string) => void; + minHeight?: number; + height?: number; + readOnly?: boolean; + placeholder?: string; + imageSize?: number; + videoSize?: number; + type?: 'url' | 'base64' | ''; +} + +export default function RichTextEditor({ + value, + onChange, + minHeight = 400, + height, + readOnly = false, + placeholder = '请输入内容', + imageSize = 5, + videoSize = 100, + type = 'url' +}: RichTextEditorProps) { + const [editor, setEditor] = useState(null); + const [html, setHtml] = useState(''); + const ossUrlToIdRef = useRef(new Map()); + const lastEncodedValueRef = useRef(''); + const isResolvingRef = useRef(false); + + const uploadToOss = useCallback(async (file: File) => { + const formData = new FormData(); + formData.append('file', file); + const res = await uploadOss(formData); + if (!res.data.url || !res.data.ossId) { + throw new Error('上传失败'); + } + ossUrlToIdRef.current.set(res.data.url, String(res.data.ossId)); + return res.data; + }, []); + + const encodeOssContent = useCallback((content: string) => { + if (!content) { + return content; + } + let result = content; + for (const [url, ossId] of ossUrlToIdRef.current) { + result = result.replaceAll(url, `oss://${ossId}`); + } + return result; + }, []); + + const decodeOssContent = useCallback(async (content: string) => { + if (!content) { + return ''; + } + const matches = [...content.matchAll(OSS_MARKER_RE)]; + if (!matches.length) { + return content; + } + + const ossIds = [...new Set(matches.map(match => match[1]).filter(Boolean))]; + try { + const res = await listByIds(ossIds.join(',')); + let result = content; + for (const oss of res.data || []) { + ossUrlToIdRef.current.set(oss.url, String(oss.ossId)); + result = result.replaceAll(`oss://${oss.ossId}`, oss.url); + } + return result; + } catch { + return content; + } + }, []); + + const validateImageFile = useCallback( + (file: File) => { + return validateUploadFile(file, { + fileTypes: IMAGE_TYPES, + maxSizeMB: imageSize, + fileKind: '图片', + matchMime: true + }); + }, + [imageSize] + ); + + const validateVideoFile = useCallback( + (file: File) => { + return validateUploadFile(file, { + fileTypes: VIDEO_TYPES, + maxSizeMB: videoSize, + fileKind: '视频', + matchMime: true + }); + }, + [videoSize] + ); + + const getUploadImageMenuConfig = useCallback(() => { + if (type === 'base64') { + return { + allowedFileTypes: IMAGE_MIME_TYPES, + customUpload(file: File, insertFn: (url: string, alt?: string, href?: string) => void) { + if (!validateImageFile(file)) { + return; + } + const reader = new FileReader(); + reader.onload = () => insertFn(reader.result as string, file.name); + reader.onerror = () => message.error('图片插入失败'); + reader.readAsDataURL(file); + } + }; + } + + return { + allowedFileTypes: IMAGE_MIME_TYPES, + async customUpload(file: File, insertFn: (url: string, alt?: string, href?: string) => void) { + if (!validateImageFile(file)) { + return; + } + try { + const result = await uploadToOss(file); + insertFn(result.url || '', file.name, result.url); + } catch (error) { + message.error(getUploadErrorMessage(error, '图片上传失败')); + } + } + }; + }, [type, uploadToOss, validateImageFile]); + + const getUploadVideoMenuConfig = useCallback( + () => ({ + allowedFileTypes: VIDEO_MIME_TYPES, + async customUpload(file: File, insertFn: (url: string, poster?: string) => void) { + if (!validateVideoFile(file)) { + return; + } + try { + const result = await uploadToOss(file); + insertFn(result.url || ''); + } catch (error) { + message.error(getUploadErrorMessage(error, '视频上传失败')); + } + } + }), + [uploadToOss, validateVideoFile] + ); + + const toolbarConfig = useMemo>(() => { + const excludeKeys = ['fullScreen']; + if (!type) { + excludeKeys.push('uploadImage', 'uploadVideo'); + } + return { + modalAppendToBody: false, + excludeKeys + }; + }, [type]); + + const editorConfig = useMemo>( + () => ({ + placeholder, + autoFocus: false, + MENU_CONF: { + uploadImage: getUploadImageMenuConfig(), + uploadVideo: getUploadVideoMenuConfig() + } + }), + [getUploadImageMenuConfig, getUploadVideoMenuConfig, placeholder] + ); + + useEffect(() => { + const nextValue = value || ''; + if (nextValue === lastEncodedValueRef.current) { + return; + } + + let ignore = false; + isResolvingRef.current = true; + decodeOssContent(nextValue) + .then(resolved => { + if (!ignore) { + setHtml(resolved); + } + }) + .finally(() => { + if (!ignore) { + isResolvingRef.current = false; + } + }); + + return () => { + ignore = true; + }; + }, [decodeOssContent, value]); + + useEffect(() => { + if (!editor) { + return; + } + if (readOnly) { + editor.disable(); + } else { + editor.enable(); + } + }, [editor, readOnly]); + + useEffect(() => { + return () => { + if (!editor) { + return; + } + editor.destroy(); + setEditor(null); + }; + }, [editor]); + + const handleChange = (currentEditor: IDomEditor) => { + const currentHtml = currentEditor.getHtml(); + setHtml(currentHtml); + if (isResolvingRef.current) { + return; + } + const encoded = encodeOssContent(currentHtml); + lastEncodedValueRef.current = encoded; + onChange?.(encoded); + }; + + return ( +
+ +
+ +
+
+ ); +} diff --git a/src/components/common/RightToolbar.tsx b/src/components/common/RightToolbar.tsx new file mode 100644 index 00000000..64f6e396 --- /dev/null +++ b/src/components/common/RightToolbar.tsx @@ -0,0 +1,109 @@ +import { MenuOutlined, ReloadOutlined, SearchOutlined } from '@ant-design/icons'; +import { Button, Checkbox, Popover, Space, Tooltip } from 'antd'; +import { useEffect, useMemo } from 'react'; + +export interface RightToolbarColumn { + key: string; + label: string; + visible?: boolean; +} + +export interface RightToolbarProps { + showSearch?: boolean; + onShowSearchChange?: (value: boolean) => void; + search?: boolean; + columns?: RightToolbarColumn[]; + onColumnsChange?: (columns: RightToolbarColumn[]) => void; + onRefresh?: () => void; + storageKey?: string; + gutter?: number; +} + +function readStorage(storageKey?: string) { + if (!storageKey) { + return undefined; + } + try { + const text = localStorage.getItem(storageKey); + return text ? (JSON.parse(text) as Record) : undefined; + } catch { + return undefined; + } +} + +function writeStorage(storageKey: string | undefined, columns: RightToolbarColumn[]) { + if (!storageKey) { + return; + } + const state = Object.fromEntries(columns.map(column => [column.key, column.visible !== false])); + localStorage.setItem(storageKey, JSON.stringify(state)); +} + +export default function RightToolbar({ + showSearch = true, + onShowSearchChange, + search = true, + columns, + onColumnsChange, + onRefresh, + storageKey, + gutter = 10 +}: RightToolbarProps) { + const checkedKeys = useMemo( + () => (columns || []).filter(column => column.visible !== false).map(column => column.key), + [columns] + ); + + // biome-ignore lint/correctness/useExhaustiveDependencies: storage restore should run when storage key changes, not on every parent columns render. + useEffect(() => { + const stored = readStorage(storageKey); + if (!stored || !columns?.length) { + return; + } + const nextColumns = columns.map(column => ({ ...column, visible: stored[column.key] ?? column.visible ?? true })); + onColumnsChange?.(nextColumns); + }, [storageKey]); + + const changeColumns = (keys: string[]) => { + const nextColumns = (columns || []).map(column => ({ ...column, visible: keys.includes(column.key) })); + writeStorage(storageKey, nextColumns); + onColumnsChange?.(nextColumns); + }; + + return ( + + {search && ( + + + + {!treeCollapsed && ( + { + const nextQuery = { ...query, deptId: keys[0] as string | number | undefined, pageNum: 1 }; + setQuery(nextQuery); + await loadUsers(nextQuery); + }} + /> + )} + +
+
+ + + + + + + + + + + + +
+ {multiple && selectedUsers.length ? ( + + {selectedUsers.map(user => ( + setSelectedUsers(prev => prev.filter(item => item.userId !== user.userId))} + > + {user.nickName || user.userName} + + ))} + + ) : null} + + rowKey="userId" + size="small" + loading={loading} + columns={columns} + dataSource={users} + scroll={{ x: 922, y: 360 }} + rowSelection={{ + type: multiple ? 'checkbox' : 'radio', + selectedRowKeys, + preserveSelectedRowKeys: true, + onChange: (keys, rows) => updateSelectedUsers(keys, rows) + }} + pagination={{ + current: query.pageNum, + pageSize: query.pageSize, + total, + showSizeChanger: true, + onChange: async (pageNum, pageSize) => { + const nextQuery = { ...query, pageNum, pageSize }; + setQuery(nextQuery); + await loadUsers(nextQuery); + } + }} + /> +
+ + + ); +} diff --git a/src/components/common/useOssUploadList.ts b/src/components/common/useOssUploadList.ts new file mode 100644 index 00000000..b15b1f89 --- /dev/null +++ b/src/components/common/useOssUploadList.ts @@ -0,0 +1,102 @@ +import type { UploadFile } from 'antd'; +import { useCallback, useEffect, useRef, useState } from 'react'; +import type { OssUploadResult, OssVO } from '@/api/system/oss/types'; +import { delOss, listByIds, uploadOss } from '@/api/system/oss'; + +export interface OssUploadFile extends UploadFile { + ossId?: string | number; +} + +interface UseOssUploadListOptions { + value?: string | number | OssVO[]; + onChange?: (value: string) => void; + deleteRemote?: boolean; + toUploadFile: (item: OssVO, index: number) => T; + toUploadedFile: (result: OssUploadResult, file: File) => T; +} + +export function ossFileListToValue(list: OssUploadFile[]) { + return list + .map(item => item.ossId) + .filter(Boolean) + .join(','); +} + +export function useOssUploadList({ + value, + onChange, + deleteRemote = true, + toUploadFile, + toUploadedFile +}: UseOssUploadListOptions) { + const [fileList, setFileList] = useState([]); + const [uploading, setUploading] = useState(false); + const lastValueRef = useRef(''); + + const emitChange = useCallback( + (next: T[]) => { + const nextValue = ossFileListToValue(next); + lastValueRef.current = nextValue; + onChange?.(nextValue); + }, + [onChange] + ); + + useEffect(() => { + const resolveValue = async () => { + if (!value) { + setFileList([]); + return; + } + if (Array.isArray(value)) { + setFileList(value.map(toUploadFile)); + return; + } + const currentValue = String(value); + if (currentValue === lastValueRef.current) { + return; + } + const res = await listByIds(currentValue); + setFileList((res.data || []).map(toUploadFile)); + }; + + resolveValue(); + }, [toUploadFile, value]); + + const uploadFile = async (file: File) => { + const formData = new FormData(); + formData.append('file', file); + setUploading(true); + try { + const res = await uploadOss(formData); + const nextFile = toUploadedFile(res.data, file); + setFileList(prev => { + const next = [...prev, nextFile]; + emitChange(next); + return next; + }); + return { response: res, file: nextFile }; + } finally { + setUploading(false); + } + }; + + const removeFile = async (target: T) => { + if (deleteRemote && target.ossId) { + await delOss(target.ossId); + } + setFileList(prev => { + const next = prev.filter(item => item.uid !== target.uid); + emitChange(next); + return next; + }); + }; + + return { + fileList, + setFileList, + uploading, + uploadFile, + removeFile + }; +} diff --git a/src/components/layout/ExternalLinkButton.tsx b/src/components/layout/ExternalLinkButton.tsx new file mode 100644 index 00000000..699a5844 --- /dev/null +++ b/src/components/layout/ExternalLinkButton.tsx @@ -0,0 +1,35 @@ +import { GithubOutlined, QuestionCircleOutlined } from '@ant-design/icons'; +import { Button, Tooltip } from 'antd'; + +interface ExternalLinkButtonProps { + type: 'git' | 'doc'; +} + +const linkMap = { + git: { + title: 'Gitee', + url: 'https://gitee.com/dromara/RuoYi-Vue-Plus', + icon: + }, + doc: { + title: '文档', + url: 'https://plus-doc.dromara.org/', + icon: + } +}; + +export default function ExternalLinkButton({ type }: ExternalLinkButtonProps) { + const link = linkMap[type]; + + return ( + + + +
+ + patchValue({ theme: event.target.value })} + className="layout-color-input" + /> + + + patchValue({ darkMode })} /> + + + patchValue({ radiusBase })} + className="layout-radius-slider" + /> + + + +

系统布局配置

+ + patchValue({ tagsView })} /> + + + patchValue({ tagsViewPersist })} + /> + + + patchValue({ tagsIcon })} /> + + + patchValue({ fixedHeader })} /> + + + patchValue({ sidebarLogo })} /> + + + patchValue({ dynamicTitle })} /> + + + + + + + + ); +} diff --git a/src/components/layout/LocaleSelect.tsx b/src/components/layout/LocaleSelect.tsx new file mode 100644 index 00000000..0ad1f40b --- /dev/null +++ b/src/components/layout/LocaleSelect.tsx @@ -0,0 +1,54 @@ +import { GlobalOutlined } from '@ant-design/icons'; +import { useBoolean } from 'ahooks'; +import { Button, Dropdown, message, Tooltip, type MenuProps } from 'antd'; +import type { AppLocale } from '@/stores/appStore'; + +interface LocaleSelectProps { + value: AppLocale; + onChange: (value: AppLocale) => void; +} + +const localeItems = [ + { key: 'zh_CN', label: '中文' }, + { key: 'en_US', label: 'English' } +] satisfies NonNullable; + +export default function LocaleSelect({ value, onChange }: LocaleSelectProps) { + const [open, { set: setOpen }] = useBoolean(false); + const [tooltipOpen, { set: setTooltipOpen, setFalse: closeTooltip }] = useBoolean(false); + const items = localeItems.map(item => (item && 'key' in item ? { ...item, disabled: item.key === value } : item)); + + return ( + { + setOpen(nextOpen); + if (nextOpen) closeTooltip(); + }} + menu={{ + items, + onClick: ({ key }) => { + const nextLocale = key as AppLocale; + onChange(nextLocale); + message.success(nextLocale === 'zh_CN' ? '切换语言成功!' : 'Switch Language Successful!'); + } + }} + placement="bottomRight" + trigger={['click']} + > + + + + + + setActiveKey(key as MessageCategory)} + size="small" + items={(Object.keys(categoryMeta) as MessageCategory[]).map(key => ({ + key, + label: `${categoryMeta[key].label} ${grouped[key].length}` + }))} + /> + +
+ {currentItems.length ? ( + ( + readMessage(item)}> +
+
{item.title || '消息'}
+
{item.message}
+ {item.content &&
{item.content}
} +
{item.time || formatTime(item.createTime)}
+
+ {item.read ? '已读' : '未读'} +
+ )} + /> + ) : ( + + )} +
+
+ + ); + + return ( + { + setOpen(next); + if (next) closeTooltip(); + if (next) loadMessages(); + }} + placement="bottomRight" + trigger="click" + content={content} + arrow={false} + overlayInnerStyle={{ width: 340 }} + > + + + + ); + })} + + {canScrollRight && ( + + {contextMenu.open && contextMenu.tag && ( +
+ {(buildMenuItems(contextMenu.tag) || []).map(item => { + if (!item || item.type === 'divider') + return
; + const menuItem = item as { + key: string; + icon?: React.ReactNode; + label?: React.ReactNode; + disabled?: boolean; + }; + return ( + + ); + })} +
+ )} +
+ ); +} diff --git a/src/components/workflow/ApprovalButton.tsx b/src/components/workflow/ApprovalButton.tsx new file mode 100644 index 00000000..8cc1fd97 --- /dev/null +++ b/src/components/workflow/ApprovalButton.tsx @@ -0,0 +1,63 @@ +import { ArrowLeftOutlined, CheckCircleOutlined, HistoryOutlined, SaveOutlined, SendOutlined } from '@ant-design/icons'; +import { Button, Space } from 'antd'; + +type ApprovalPageType = 'add' | 'update' | 'view' | 'approval'; + +interface ApprovalButtonProps { + status?: string; + pageType: ApprovalPageType; + id?: string | number; + buttonLoading?: boolean; + onSubmitDraft: () => void; + onSubmit: () => void; + onApprovalVerifyOpen: () => void; + onApprovalRecord: () => void; + onBack: () => void; +} + +export default function ApprovalButton({ + status, + pageType, + id, + buttonLoading = false, + onSubmitDraft, + onSubmit, + onApprovalVerifyOpen, + onApprovalRecord, + onBack +}: ApprovalButtonProps) { + const submitButtonShow = + pageType === 'add' || (pageType === 'update' && !!status && ['draft', 'cancel', 'back'].includes(status)); + const approvalButtonShow = pageType === 'approval' && status === 'waiting'; + const approvalRecordShow = !!id && status !== 'draft'; + + return ( +
+ + {submitButtonShow && ( + + )} + {submitButtonShow && ( + + )} + {approvalButtonShow && ( + + )} + {approvalRecordShow && ( + + )} + + +
+ ); +} diff --git a/src/components/workflow/ApprovalRecord.tsx b/src/components/workflow/ApprovalRecord.tsx new file mode 100644 index 00000000..44490fdf --- /dev/null +++ b/src/components/workflow/ApprovalRecord.tsx @@ -0,0 +1,177 @@ +import { DownloadOutlined } from '@ant-design/icons'; +import { ProTable, type ProColumns } from '@ant-design/pro-components'; +import { useRequest } from 'ahooks'; +import { Button, Modal, Popover, Spin, Table, Tabs } from 'antd'; +import { useEffect, useState } from 'react'; +import type { OssVO } from '@/api/system/oss/types'; +import type { FlowHistoryVO } from '@/api/workflow/task/types'; +import { downloadOss, listByIds } from '@/api/system/oss'; +import { flowHisTaskList } from '@/api/workflow/instance'; +import DictTag from '@/components/common/DictTag'; +import { useDict } from '@/hooks/useDict'; +import { saveValidatedBlob } from '@/utils/download'; +import FlowChart from './FlowChart'; +import UserNameDisplay from './UserNameDisplay'; + +interface ApprovalRecordProps { + businessId?: string | number; + open: boolean; + onOpenChange: (open: boolean) => void; + width?: string | number; +} + +export default function ApprovalRecord({ businessId, open, onOpenChange, width = '80%' }: ApprovalRecordProps) { + const dicts = useDict('wf_task_status'); + const [recordList, setRecordList] = useState([]); + const [instanceId, setInstanceId] = useState(); + const { loading, runAsync: loadRecords } = useRequest( + async (nextBusinessId: string | number) => { + const res = await flowHisTaskList(nextBusinessId); + const rows = res.data?.list || []; + const nextRows = await Promise.all( + rows.map(async row => { + if (!row.ext) { + return { ...row, attachmentList: [] }; + } + try { + const ossRes = await listByIds(row.ext); + return { ...row, attachmentList: ossRes.data || [] }; + } catch { + return { ...row, attachmentList: [] }; + } + }) + ); + return { rows: nextRows, instanceId: res.data?.instanceId }; + }, + { + manual: true, + onSuccess: data => { + setRecordList(data.rows); + setInstanceId(data.instanceId); + } + } + ); + + useEffect(() => { + if (!open || !businessId) { + if (!open) { + setRecordList([]); + setInstanceId(undefined); + } + return; + } + + setRecordList([]); + setInstanceId(undefined); + loadRecords(businessId); + }, [businessId, loadRecords, open]); + + const downloadAttachment = async (row: OssVO) => { + const blob = await downloadOss(row.ossId); + await saveValidatedBlob(blob, row.originalName || row.fileName || `oss_${row.ossId}`); + }; + + const columns: ProColumns[] = [ + { title: '任务名称', dataIndex: 'nodeName', ellipsis: true }, + { + title: '办理人', + dataIndex: 'approverName', + ellipsis: true, + render: (_, row) => + }, + { + title: '状态', + dataIndex: 'flowStatus', + width: 100, + render: (_, row) => + }, + { title: '审批意见', dataIndex: 'message', ellipsis: true }, + { title: '开始时间', dataIndex: 'createTime', valueType: 'dateTime', width: 170 }, + { title: '结束时间', dataIndex: 'updateTime', valueType: 'dateTime', width: 170 }, + { title: '运行时长', dataIndex: 'runDuration', width: 140 }, + { + title: '附件', + dataIndex: 'attachmentList', + width: 100, + render: (_, row) => { + const attachments = row.attachmentList || []; + if (!attachments.length) return '-'; + return ( + + rowKey="ossId" + size="small" + pagination={false} + dataSource={attachments} + columns={[ + { title: '附件名称', dataIndex: 'originalName', ellipsis: true, width: 220 }, + { + title: '操作', + width: 90, + render: (_, attachment) => ( + + ) + } + ]} + /> + } + > + + + ); + } + } + ]; + + return ( + onOpenChange(false)} + destroyOnHidden + > + + + + ) + }, + { + key: 'info', + label: '审批信息', + children: ( + + rowKey={(_, index) => String(index)} + columns={columns} + options={false} + dataSource={recordList} + loading={loading} + search={false} + pagination={false} + /> + ) + } + ]} + /> + + ); +} diff --git a/src/components/workflow/FlowChart.tsx b/src/components/workflow/FlowChart.tsx new file mode 100644 index 00000000..9938b049 --- /dev/null +++ b/src/components/workflow/FlowChart.tsx @@ -0,0 +1,28 @@ +import { getToken } from '@/utils/auth'; +import { appEnv } from '@/utils/env'; + +interface FlowChartProps { + instanceId?: string | number; +} + +function buildFlowChartUrl(instanceId?: string | number) { + if (!instanceId) return ''; + const params = new URLSearchParams({ + id: String(instanceId), + type: 'FlowChart', + t: String(Date.now()), + Authorization: `Bearer ${getToken() || ''}`, + clientid: appEnv.clientId + }); + return `${appEnv.baseApi}/warm-flow-ui/index.html?${params.toString()}`; +} + +export default function FlowChart({ instanceId }: FlowChartProps) { + const url = buildFlowChartUrl(instanceId); + + if (!url) { + return
暂无流程图
; + } + + return