From b6a20d382dc98c6a80d33bf73bd43cc22f1fdf08 Mon Sep 17 00:00:00 2001 From: q1139 <1139168548@qq.com> Date: Sat, 27 Apr 2024 21:48:04 +0800 Subject: [PATCH] refactor: All refactored using Go --- .gitignore | 1 + build.bat | 45 + cmd/migration/main.go | 26 - cmd/migration/wire/wire.go | 38 - cmd/migration/wire/wire_gen.go | 37 - cmd/server/main.go | 8 +- cmd/server/wire/wire.go | 9 +- cmd/server/wire/wire_gen.go | 9 +- config.json | 29 + config/local.yml | 29 - config/prod.yml | 37 - frontend/.dockerignore | 5 + frontend/.editorconfig | 19 + frontend/.env | 2 + frontend/.env.development | 2 + frontend/.env.production | 2 + frontend/.eslintignore | 22 + frontend/.eslintrc.cjs | 144 + frontend/.github/workflows/ci.yml | 46 + frontend/.gitignore | 29 + frontend/.lintstagedrc | 5 + frontend/.prettierignore | 21 + frontend/.prettierrc | 21 + frontend/.stylelintignore | 8 + frontend/.stylelintrc | 71 + frontend/Dockerfile | 22 + frontend/LICENSE | 21 + frontend/README.md | 116 + frontend/README.zh-CN.md | 115 + frontend/commitlint.config.js | 30 + frontend/docker-compose.yaml | 7 + frontend/index.html | 14 + frontend/package.json | 118 + frontend/pnpm-lock.yaml | 10849 ++++++++++++++++ frontend/postcss.config.js | 8 + frontend/src/App.tsx | 23 + frontend/src/api/apiClient.ts | 104 + frontend/src/api/services/accountService.ts | 55 + frontend/src/api/services/shareService.ts | 37 + frontend/src/api/services/sysService.ts | 20 + frontend/src/api/services/userService.ts | 29 + frontend/src/assets/icons/ic-analysis.svg | 8 + frontend/src/assets/icons/ic-blog.svg | 7 + frontend/src/assets/icons/ic-clear.svg | 10 + frontend/src/assets/icons/ic-dashboard.svg | 1 + frontend/src/assets/icons/ic-left-arrow.svg | 1 + frontend/src/assets/icons/ic-locale_en_US.svg | 1 + frontend/src/assets/icons/ic-locale_zh_CN.svg | 1 + frontend/src/assets/icons/ic-logo.svg | 21 + frontend/src/assets/icons/ic-management.svg | 4 + frontend/src/assets/icons/ic-markdown.svg | 40 + frontend/src/assets/icons/ic-menu.svg | 5 + frontend/src/assets/icons/ic-menulevel.svg | 5 + .../src/assets/icons/ic-reset-password.svg | 1 + frontend/src/assets/icons/ic-right-arrow.svg | 1 + frontend/src/assets/icons/ic-search.svg | 1 + frontend/src/assets/icons/ic-setting.svg | 1 + .../icons/ic-settings-exit-fullscreen.svg | 6 + .../assets/icons/ic-settings-fullscreen.svg | 6 + .../assets/icons/ic-settings-mode-moon.svg | 4 + .../src/assets/icons/ic-settings-mode-sun.svg | 13 + frontend/src/assets/icons/ic-user.svg | 4 + frontend/src/assets/icons/ic-workbench.svg | 4 + frontend/src/assets/icons/ic_blank.svg | 4 + frontend/src/assets/icons/ic_chat.svg | 28 + frontend/src/assets/icons/ic_decline.svg | 1 + frontend/src/assets/icons/ic_delivery.svg | 20 + frontend/src/assets/icons/ic_disabled.svg | 4 + frontend/src/assets/icons/ic_external.svg | 4 + frontend/src/assets/icons/ic_file.svg | 18 + frontend/src/assets/icons/ic_file_ai.svg | 25 + frontend/src/assets/icons/ic_file_audio.svg | 24 + frontend/src/assets/icons/ic_file_excel.svg | 19 + frontend/src/assets/icons/ic_file_img.svg | 26 + frontend/src/assets/icons/ic_file_pdf.svg | 19 + frontend/src/assets/icons/ic_file_ppt.svg | 20 + frontend/src/assets/icons/ic_file_psd.svg | 25 + frontend/src/assets/icons/ic_file_txt.svg | 26 + frontend/src/assets/icons/ic_file_video.svg | 20 + frontend/src/assets/icons/ic_file_word.svg | 19 + frontend/src/assets/icons/ic_file_zip.svg | 27 + frontend/src/assets/icons/ic_folder.svg | 5 + frontend/src/assets/icons/ic_label.svg | 4 + frontend/src/assets/icons/ic_mail.svg | 15 + frontend/src/assets/icons/ic_order.svg | 45 + frontend/src/assets/icons/ic_rise.svg | 1 + .../assets/images/background/cyan-blur.png | Bin 0 -> 17324 bytes .../assets/images/background/dashboard.png | Bin 0 -> 130106 bytes .../assets/images/background/dashboard2.png | Bin 0 -> 254341 bytes .../assets/images/background/overlay_2.jpg | Bin 0 -> 41129 bytes .../src/assets/images/background/red-blur.png | Bin 0 -> 12348 bytes .../assets/images/characters/character_3.png | Bin 0 -> 12236 bytes .../assets/images/characters/character_4.png | Bin 0 -> 11957 bytes .../assets/images/characters/character_6.png | Bin 0 -> 12247 bytes .../assets/images/characters/character_8.png | Bin 0 -> 11326 bytes frontend/src/assets/images/cover/cover_3.jpg | Bin 0 -> 51224 bytes frontend/src/assets/images/cover/cover_4.jpg | Bin 0 -> 45245 bytes .../assets/images/cover/profile-banner.png | Bin 0 -> 11235 bytes .../src/assets/images/glass/ic_glass_bag.png | Bin 0 -> 6105 bytes .../src/assets/images/glass/ic_glass_buy.png | Bin 0 -> 3848 bytes .../assets/images/glass/ic_glass_message.png | Bin 0 -> 5553 bytes .../assets/images/glass/ic_glass_users.png | Bin 0 -> 5291 bytes frontend/src/assets/images/logo.png | Bin 0 -> 9354 bytes frontend/src/assets/images/qinshihuang.jpg | Bin 0 -> 61498 bytes frontend/src/assets/react.svg | 1 + frontend/src/assets/vite.svg | 1 + .../components/animate/motion-container.tsx | 40 + .../src/components/animate/motion-lazy.tsx | 15 + .../components/animate/motion-viewport.tsx | 28 + frontend/src/components/animate/types.ts | 26 + .../src/components/animate/variants/action.ts | 9 + .../components/animate/variants/background.ts | 103 + .../src/components/animate/variants/bounce.ts | 111 + .../components/animate/variants/container.ts | 26 + .../src/components/animate/variants/fade.ts | 134 + .../src/components/animate/variants/flip.ts | 61 + .../src/components/animate/variants/index.ts | 98 + .../src/components/animate/variants/path.ts | 14 + .../src/components/animate/variants/rotate.ts | 40 + .../src/components/animate/variants/scale.ts | 60 + .../src/components/animate/variants/slide.ts | 72 + .../components/animate/variants/transition.ts | 25 + .../src/components/animate/variants/zoom.ts | 137 + frontend/src/components/card/index.tsx | 40 + frontend/src/components/chart/chart.tsx | 21 + frontend/src/components/chart/styles.ts | 58 + frontend/src/components/chart/useChart.ts | 206 + frontend/src/components/editor/index.tsx | 40 + frontend/src/components/editor/styles.ts | 187 + frontend/src/components/editor/toolbar.tsx | 109 + frontend/src/components/icon/icon-button.tsx | 19 + frontend/src/components/icon/iconify-icon.tsx | 23 + frontend/src/components/icon/index.ts | 5 + frontend/src/components/icon/svg-icon.tsx | 38 + .../src/components/loading/circle-loading.tsx | 9 + frontend/src/components/loading/index.tsx | 2 + .../src/components/loading/line-loading.tsx | 41 + .../src/components/locale-picker/index.tsx | 38 + frontend/src/components/logo/index.tsx | 17 + frontend/src/components/markdown/index.tsx | 28 + frontend/src/components/markdown/styles.ts | 166 + .../src/components/progress-bar/index.tsx | 58 + .../src/components/scroll-progress/index.tsx | 31 + frontend/src/components/scrollbar/index.tsx | 14 + frontend/src/components/upload/index.ts | 3 + frontend/src/components/upload/styles.ts | 28 + .../src/components/upload/upload-avatar.tsx | 84 + frontend/src/components/upload/upload-box.tsx | 26 + .../components/upload/upload-illustration.tsx | 529 + .../components/upload/upload-list-item.tsx | 79 + frontend/src/components/upload/upload.tsx | 51 + frontend/src/components/upload/utils.ts | 139 + .../src/hooks/event/use-copy-to-clipboard.ts | 41 + frontend/src/hooks/web/use-keepalive.ts | 135 + .../src/layouts/_common/account-dropdown.tsx | 85 + frontend/src/layouts/_common/bread-crumb.tsx | 53 + .../src/layouts/_common/header-simple.tsx | 12 + .../src/layouts/_common/pandora-usage.tsx | 25 + frontend/src/layouts/_common/search-bar.tsx | 248 + .../src/layouts/_common/setting-button.tsx | 404 + frontend/src/layouts/dashboard/config.ts | 8 + frontend/src/layouts/dashboard/header.tsx | 99 + frontend/src/layouts/dashboard/index.tsx | 103 + frontend/src/layouts/dashboard/main.tsx | 49 + frontend/src/layouts/dashboard/multi-tabs.tsx | 419 + .../src/layouts/dashboard/nav-horizontal.tsx | 73 + frontend/src/layouts/dashboard/nav.tsx | 153 + frontend/src/layouts/simple/index.tsx | 24 + frontend/src/locales/i18n.ts | 35 + frontend/src/locales/lang/en_US/common.json | 32 + frontend/src/locales/lang/en_US/index.ts | 9 + frontend/src/locales/lang/en_US/sys.json | 146 + frontend/src/locales/lang/en_US/token.json | 27 + frontend/src/locales/lang/zh_CN/common.json | 24 + frontend/src/locales/lang/zh_CN/index.ts | 9 + frontend/src/locales/lang/zh_CN/sys.json | 145 + frontend/src/locales/lang/zh_CN/token.json | 33 + frontend/src/locales/useLocale.ts | 50 + frontend/src/main.tsx | 53 + .../components/animate/control-panel.tsx | 45 + .../src/pages/components/animate/index.tsx | 29 + .../animate/views/background/container.tsx | 35 + .../animate/views/background/index.tsx | 55 + .../animate/views/background/toolbar.tsx | 12 + .../animate/views/inview/container.tsx | 55 + .../components/animate/views/inview/index.tsx | 115 + .../animate/views/inview/toolbar.tsx | 35 + .../animate/views/scroll/container.tsx | 30 + .../components/animate/views/scroll/index.tsx | 72 + .../animate/views/scroll/toolbar.tsx | 12 + frontend/src/pages/components/chart/index.tsx | 99 + .../components/chart/view/chart-area.tsx | 30 + .../pages/components/chart/view/chart-bar.tsx | 29 + .../chart/view/chart-column-Stacked.tsx | 47 + .../chart/view/chart-column-multiple.tsx | 33 + .../chart/view/chart-column-negative.tsx | 76 + .../chart/view/chart-column-single.tsx | 26 + .../components/chart/view/chart-donut.tsx | 27 + .../components/chart/view/chart-line.tsx | 24 + .../components/chart/view/chart-mixed.tsx | 68 + .../pages/components/chart/view/chart-pie.tsx | 35 + .../components/chart/view/chart-radar.tsx | 44 + .../components/chart/view/chart-radial.tsx | 37 + .../src/pages/components/editor/index.tsx | 30 + .../src/pages/components/form/label/index.tsx | 19 + frontend/src/pages/components/icon/index.tsx | 70 + .../src/pages/components/markdown/index.tsx | 86 + .../pages/components/multi-language/index.tsx | 43 + .../src/pages/components/upload/index.tsx | 65 + .../src/pages/dashboard/analysis/banner.tsx | 258 + .../src/pages/dashboard/analysis/index.tsx | 12 + frontend/src/pages/sys/error/Page403.tsx | 129 + frontend/src/pages/sys/error/Page404.tsx | 120 + frontend/src/pages/sys/error/Page500.tsx | 161 + frontend/src/pages/sys/login/Login.tsx | 60 + frontend/src/pages/sys/login/LoginForm.tsx | 64 + .../sys/login/components/ReturnButton.tsx | 18 + .../login/providers/LoginStateProvider.tsx | 39 + frontend/src/pages/token/account/index.tsx | 704 + frontend/src/pages/token/share/index.tsx | 196 + frontend/src/router/components/auth-guard.tsx | 27 + frontend/src/router/hooks/index.ts | 8 + .../src/router/hooks/use-flattened-routes.ts | 17 + .../src/router/hooks/use-match-route-meta.tsx | 48 + frontend/src/router/hooks/use-params.ts | 8 + frontend/src/router/hooks/use-pathname.ts | 8 + .../router/hooks/use-permission-routes.tsx | 129 + .../src/router/hooks/use-route-to-menu.tsx | 59 + frontend/src/router/hooks/use-router.ts | 19 + .../src/router/hooks/use-search-params.ts | 8 + frontend/src/router/index.tsx | 38 + frontend/src/router/routes/error-routes.tsx | 34 + frontend/src/router/routes/menu-routes.tsx | 25 + .../src/router/routes/modules/dashboard.tsx | 37 + frontend/src/router/routes/modules/errors.tsx | 56 + frontend/src/router/routes/modules/token.tsx | 37 + frontend/src/router/utils.ts | 53 + frontend/src/store/accountStore.ts | 47 + frontend/src/store/index.ts | 21 + frontend/src/store/settingStore.ts | 67 + frontend/src/store/shareStore.ts | 44 + frontend/src/store/userStore.ts | 85 + frontend/src/theme/antd/components/rage.tsx | 21 + frontend/src/theme/antd/components/tag.tsx | 31 + frontend/src/theme/antd/index.tsx | 41 + frontend/src/theme/antd/theme.ts | 63 + frontend/src/theme/base.css | 365 + frontend/src/theme/global.css | 15 + frontend/src/theme/hooks/index.ts | 2 + frontend/src/theme/hooks/use-reponsive.ts | 32 + frontend/src/theme/hooks/use-theme-token.ts | 7 + frontend/src/theme/index.css | 5 + frontend/src/utils/copy.ts | 18 + frontend/src/utils/format-number.ts | 38 + frontend/src/utils/hcaptcha.d.ts | 12 + frontend/src/utils/highlight.ts | 19 + frontend/src/utils/storage.ts | 28 + frontend/src/utils/tree.ts | 13 + frontend/src/vite-env.d.ts | 1 + frontend/tailwind.config.js | 58 + frontend/tsconfig.json | 46 + frontend/tsconfig.node.json | 10 + frontend/types/api.ts | 5 + frontend/types/entity.ts | 100 + frontend/types/enum.ts | 58 + frontend/types/router.ts | 50 + frontend/vite.config.ts | 70 + fs.go | 6 + go.mod | 31 +- go.sum | 80 +- internal/handler/user.go | 2 +- internal/middleware/log.go | 4 +- internal/repository/repository.go | 35 +- internal/server/http.go | 14 +- internal/server/migration.go | 2 - internal/server/task.go | 4 +- internal/service/user.go | 2 +- pkg/config/config.go | 32 +- pkg/jwt/jwt.go | 27 +- 279 files changed, 23451 insertions(+), 276 deletions(-) create mode 100644 build.bat delete mode 100644 cmd/migration/main.go delete mode 100644 cmd/migration/wire/wire.go delete mode 100644 cmd/migration/wire/wire_gen.go create mode 100644 config.json delete mode 100644 config/local.yml delete mode 100644 config/prod.yml create mode 100644 frontend/.dockerignore create mode 100644 frontend/.editorconfig create mode 100644 frontend/.env create mode 100644 frontend/.env.development create mode 100644 frontend/.env.production create mode 100644 frontend/.eslintignore create mode 100644 frontend/.eslintrc.cjs create mode 100644 frontend/.github/workflows/ci.yml create mode 100644 frontend/.gitignore create mode 100644 frontend/.lintstagedrc create mode 100644 frontend/.prettierignore create mode 100644 frontend/.prettierrc create mode 100644 frontend/.stylelintignore create mode 100644 frontend/.stylelintrc create mode 100644 frontend/Dockerfile create mode 100644 frontend/LICENSE create mode 100644 frontend/README.md create mode 100644 frontend/README.zh-CN.md create mode 100644 frontend/commitlint.config.js create mode 100644 frontend/docker-compose.yaml create mode 100644 frontend/index.html create mode 100644 frontend/package.json create mode 100644 frontend/pnpm-lock.yaml create mode 100644 frontend/postcss.config.js create mode 100644 frontend/src/App.tsx create mode 100644 frontend/src/api/apiClient.ts create mode 100644 frontend/src/api/services/accountService.ts create mode 100644 frontend/src/api/services/shareService.ts create mode 100644 frontend/src/api/services/sysService.ts create mode 100644 frontend/src/api/services/userService.ts create mode 100644 frontend/src/assets/icons/ic-analysis.svg create mode 100644 frontend/src/assets/icons/ic-blog.svg create mode 100644 frontend/src/assets/icons/ic-clear.svg create mode 100644 frontend/src/assets/icons/ic-dashboard.svg create mode 100644 frontend/src/assets/icons/ic-left-arrow.svg create mode 100644 frontend/src/assets/icons/ic-locale_en_US.svg create mode 100644 frontend/src/assets/icons/ic-locale_zh_CN.svg create mode 100644 frontend/src/assets/icons/ic-logo.svg create mode 100644 frontend/src/assets/icons/ic-management.svg create mode 100644 frontend/src/assets/icons/ic-markdown.svg create mode 100644 frontend/src/assets/icons/ic-menu.svg create mode 100644 frontend/src/assets/icons/ic-menulevel.svg create mode 100644 frontend/src/assets/icons/ic-reset-password.svg create mode 100644 frontend/src/assets/icons/ic-right-arrow.svg create mode 100644 frontend/src/assets/icons/ic-search.svg create mode 100644 frontend/src/assets/icons/ic-setting.svg create mode 100644 frontend/src/assets/icons/ic-settings-exit-fullscreen.svg create mode 100644 frontend/src/assets/icons/ic-settings-fullscreen.svg create mode 100644 frontend/src/assets/icons/ic-settings-mode-moon.svg create mode 100644 frontend/src/assets/icons/ic-settings-mode-sun.svg create mode 100644 frontend/src/assets/icons/ic-user.svg create mode 100644 frontend/src/assets/icons/ic-workbench.svg create mode 100644 frontend/src/assets/icons/ic_blank.svg create mode 100644 frontend/src/assets/icons/ic_chat.svg create mode 100644 frontend/src/assets/icons/ic_decline.svg create mode 100644 frontend/src/assets/icons/ic_delivery.svg create mode 100644 frontend/src/assets/icons/ic_disabled.svg create mode 100644 frontend/src/assets/icons/ic_external.svg create mode 100644 frontend/src/assets/icons/ic_file.svg create mode 100644 frontend/src/assets/icons/ic_file_ai.svg create mode 100644 frontend/src/assets/icons/ic_file_audio.svg create mode 100644 frontend/src/assets/icons/ic_file_excel.svg create mode 100644 frontend/src/assets/icons/ic_file_img.svg create mode 100644 frontend/src/assets/icons/ic_file_pdf.svg create mode 100644 frontend/src/assets/icons/ic_file_ppt.svg create mode 100644 frontend/src/assets/icons/ic_file_psd.svg create mode 100644 frontend/src/assets/icons/ic_file_txt.svg create mode 100644 frontend/src/assets/icons/ic_file_video.svg create mode 100644 frontend/src/assets/icons/ic_file_word.svg create mode 100644 frontend/src/assets/icons/ic_file_zip.svg create mode 100644 frontend/src/assets/icons/ic_folder.svg create mode 100644 frontend/src/assets/icons/ic_label.svg create mode 100644 frontend/src/assets/icons/ic_mail.svg create mode 100644 frontend/src/assets/icons/ic_order.svg create mode 100644 frontend/src/assets/icons/ic_rise.svg create mode 100644 frontend/src/assets/images/background/cyan-blur.png create mode 100644 frontend/src/assets/images/background/dashboard.png create mode 100644 frontend/src/assets/images/background/dashboard2.png create mode 100644 frontend/src/assets/images/background/overlay_2.jpg create mode 100644 frontend/src/assets/images/background/red-blur.png create mode 100644 frontend/src/assets/images/characters/character_3.png create mode 100644 frontend/src/assets/images/characters/character_4.png create mode 100644 frontend/src/assets/images/characters/character_6.png create mode 100644 frontend/src/assets/images/characters/character_8.png create mode 100644 frontend/src/assets/images/cover/cover_3.jpg create mode 100644 frontend/src/assets/images/cover/cover_4.jpg create mode 100644 frontend/src/assets/images/cover/profile-banner.png create mode 100644 frontend/src/assets/images/glass/ic_glass_bag.png create mode 100644 frontend/src/assets/images/glass/ic_glass_buy.png create mode 100644 frontend/src/assets/images/glass/ic_glass_message.png create mode 100644 frontend/src/assets/images/glass/ic_glass_users.png create mode 100644 frontend/src/assets/images/logo.png create mode 100644 frontend/src/assets/images/qinshihuang.jpg create mode 100644 frontend/src/assets/react.svg create mode 100644 frontend/src/assets/vite.svg create mode 100644 frontend/src/components/animate/motion-container.tsx create mode 100644 frontend/src/components/animate/motion-lazy.tsx create mode 100644 frontend/src/components/animate/motion-viewport.tsx create mode 100644 frontend/src/components/animate/types.ts create mode 100644 frontend/src/components/animate/variants/action.ts create mode 100644 frontend/src/components/animate/variants/background.ts create mode 100644 frontend/src/components/animate/variants/bounce.ts create mode 100644 frontend/src/components/animate/variants/container.ts create mode 100644 frontend/src/components/animate/variants/fade.ts create mode 100644 frontend/src/components/animate/variants/flip.ts create mode 100644 frontend/src/components/animate/variants/index.ts create mode 100644 frontend/src/components/animate/variants/path.ts create mode 100644 frontend/src/components/animate/variants/rotate.ts create mode 100644 frontend/src/components/animate/variants/scale.ts create mode 100644 frontend/src/components/animate/variants/slide.ts create mode 100644 frontend/src/components/animate/variants/transition.ts create mode 100644 frontend/src/components/animate/variants/zoom.ts create mode 100644 frontend/src/components/card/index.tsx create mode 100644 frontend/src/components/chart/chart.tsx create mode 100644 frontend/src/components/chart/styles.ts create mode 100644 frontend/src/components/chart/useChart.ts create mode 100644 frontend/src/components/editor/index.tsx create mode 100644 frontend/src/components/editor/styles.ts create mode 100644 frontend/src/components/editor/toolbar.tsx create mode 100644 frontend/src/components/icon/icon-button.tsx create mode 100644 frontend/src/components/icon/iconify-icon.tsx create mode 100644 frontend/src/components/icon/index.ts create mode 100644 frontend/src/components/icon/svg-icon.tsx create mode 100644 frontend/src/components/loading/circle-loading.tsx create mode 100644 frontend/src/components/loading/index.tsx create mode 100644 frontend/src/components/loading/line-loading.tsx create mode 100644 frontend/src/components/locale-picker/index.tsx create mode 100644 frontend/src/components/logo/index.tsx create mode 100644 frontend/src/components/markdown/index.tsx create mode 100644 frontend/src/components/markdown/styles.ts create mode 100644 frontend/src/components/progress-bar/index.tsx create mode 100644 frontend/src/components/scroll-progress/index.tsx create mode 100644 frontend/src/components/scrollbar/index.tsx create mode 100644 frontend/src/components/upload/index.ts create mode 100644 frontend/src/components/upload/styles.ts create mode 100644 frontend/src/components/upload/upload-avatar.tsx create mode 100644 frontend/src/components/upload/upload-box.tsx create mode 100644 frontend/src/components/upload/upload-illustration.tsx create mode 100644 frontend/src/components/upload/upload-list-item.tsx create mode 100644 frontend/src/components/upload/upload.tsx create mode 100644 frontend/src/components/upload/utils.ts create mode 100644 frontend/src/hooks/event/use-copy-to-clipboard.ts create mode 100644 frontend/src/hooks/web/use-keepalive.ts create mode 100644 frontend/src/layouts/_common/account-dropdown.tsx create mode 100644 frontend/src/layouts/_common/bread-crumb.tsx create mode 100644 frontend/src/layouts/_common/header-simple.tsx create mode 100644 frontend/src/layouts/_common/pandora-usage.tsx create mode 100644 frontend/src/layouts/_common/search-bar.tsx create mode 100644 frontend/src/layouts/_common/setting-button.tsx create mode 100644 frontend/src/layouts/dashboard/config.ts create mode 100644 frontend/src/layouts/dashboard/header.tsx create mode 100644 frontend/src/layouts/dashboard/index.tsx create mode 100644 frontend/src/layouts/dashboard/main.tsx create mode 100644 frontend/src/layouts/dashboard/multi-tabs.tsx create mode 100644 frontend/src/layouts/dashboard/nav-horizontal.tsx create mode 100644 frontend/src/layouts/dashboard/nav.tsx create mode 100644 frontend/src/layouts/simple/index.tsx create mode 100644 frontend/src/locales/i18n.ts create mode 100644 frontend/src/locales/lang/en_US/common.json create mode 100644 frontend/src/locales/lang/en_US/index.ts create mode 100644 frontend/src/locales/lang/en_US/sys.json create mode 100644 frontend/src/locales/lang/en_US/token.json create mode 100644 frontend/src/locales/lang/zh_CN/common.json create mode 100644 frontend/src/locales/lang/zh_CN/index.ts create mode 100644 frontend/src/locales/lang/zh_CN/sys.json create mode 100644 frontend/src/locales/lang/zh_CN/token.json create mode 100644 frontend/src/locales/useLocale.ts create mode 100644 frontend/src/main.tsx create mode 100644 frontend/src/pages/components/animate/control-panel.tsx create mode 100644 frontend/src/pages/components/animate/index.tsx create mode 100644 frontend/src/pages/components/animate/views/background/container.tsx create mode 100644 frontend/src/pages/components/animate/views/background/index.tsx create mode 100644 frontend/src/pages/components/animate/views/background/toolbar.tsx create mode 100644 frontend/src/pages/components/animate/views/inview/container.tsx create mode 100644 frontend/src/pages/components/animate/views/inview/index.tsx create mode 100644 frontend/src/pages/components/animate/views/inview/toolbar.tsx create mode 100644 frontend/src/pages/components/animate/views/scroll/container.tsx create mode 100644 frontend/src/pages/components/animate/views/scroll/index.tsx create mode 100644 frontend/src/pages/components/animate/views/scroll/toolbar.tsx create mode 100644 frontend/src/pages/components/chart/index.tsx create mode 100644 frontend/src/pages/components/chart/view/chart-area.tsx create mode 100644 frontend/src/pages/components/chart/view/chart-bar.tsx create mode 100644 frontend/src/pages/components/chart/view/chart-column-Stacked.tsx create mode 100644 frontend/src/pages/components/chart/view/chart-column-multiple.tsx create mode 100644 frontend/src/pages/components/chart/view/chart-column-negative.tsx create mode 100644 frontend/src/pages/components/chart/view/chart-column-single.tsx create mode 100644 frontend/src/pages/components/chart/view/chart-donut.tsx create mode 100644 frontend/src/pages/components/chart/view/chart-line.tsx create mode 100644 frontend/src/pages/components/chart/view/chart-mixed.tsx create mode 100644 frontend/src/pages/components/chart/view/chart-pie.tsx create mode 100644 frontend/src/pages/components/chart/view/chart-radar.tsx create mode 100644 frontend/src/pages/components/chart/view/chart-radial.tsx create mode 100644 frontend/src/pages/components/editor/index.tsx create mode 100644 frontend/src/pages/components/form/label/index.tsx create mode 100644 frontend/src/pages/components/icon/index.tsx create mode 100644 frontend/src/pages/components/markdown/index.tsx create mode 100644 frontend/src/pages/components/multi-language/index.tsx create mode 100644 frontend/src/pages/components/upload/index.tsx create mode 100644 frontend/src/pages/dashboard/analysis/banner.tsx create mode 100644 frontend/src/pages/dashboard/analysis/index.tsx create mode 100644 frontend/src/pages/sys/error/Page403.tsx create mode 100644 frontend/src/pages/sys/error/Page404.tsx create mode 100644 frontend/src/pages/sys/error/Page500.tsx create mode 100644 frontend/src/pages/sys/login/Login.tsx create mode 100644 frontend/src/pages/sys/login/LoginForm.tsx create mode 100644 frontend/src/pages/sys/login/components/ReturnButton.tsx create mode 100644 frontend/src/pages/sys/login/providers/LoginStateProvider.tsx create mode 100644 frontend/src/pages/token/account/index.tsx create mode 100644 frontend/src/pages/token/share/index.tsx create mode 100644 frontend/src/router/components/auth-guard.tsx create mode 100644 frontend/src/router/hooks/index.ts create mode 100644 frontend/src/router/hooks/use-flattened-routes.ts create mode 100644 frontend/src/router/hooks/use-match-route-meta.tsx create mode 100644 frontend/src/router/hooks/use-params.ts create mode 100644 frontend/src/router/hooks/use-pathname.ts create mode 100644 frontend/src/router/hooks/use-permission-routes.tsx create mode 100644 frontend/src/router/hooks/use-route-to-menu.tsx create mode 100644 frontend/src/router/hooks/use-router.ts create mode 100644 frontend/src/router/hooks/use-search-params.ts create mode 100644 frontend/src/router/index.tsx create mode 100644 frontend/src/router/routes/error-routes.tsx create mode 100644 frontend/src/router/routes/menu-routes.tsx create mode 100644 frontend/src/router/routes/modules/dashboard.tsx create mode 100644 frontend/src/router/routes/modules/errors.tsx create mode 100644 frontend/src/router/routes/modules/token.tsx create mode 100644 frontend/src/router/utils.ts create mode 100644 frontend/src/store/accountStore.ts create mode 100644 frontend/src/store/index.ts create mode 100644 frontend/src/store/settingStore.ts create mode 100644 frontend/src/store/shareStore.ts create mode 100644 frontend/src/store/userStore.ts create mode 100644 frontend/src/theme/antd/components/rage.tsx create mode 100644 frontend/src/theme/antd/components/tag.tsx create mode 100644 frontend/src/theme/antd/index.tsx create mode 100644 frontend/src/theme/antd/theme.ts create mode 100644 frontend/src/theme/base.css create mode 100644 frontend/src/theme/global.css create mode 100644 frontend/src/theme/hooks/index.ts create mode 100644 frontend/src/theme/hooks/use-reponsive.ts create mode 100644 frontend/src/theme/hooks/use-theme-token.ts create mode 100644 frontend/src/theme/index.css create mode 100644 frontend/src/utils/copy.ts create mode 100644 frontend/src/utils/format-number.ts create mode 100644 frontend/src/utils/hcaptcha.d.ts create mode 100644 frontend/src/utils/highlight.ts create mode 100644 frontend/src/utils/storage.ts create mode 100644 frontend/src/utils/tree.ts create mode 100644 frontend/src/vite-env.d.ts create mode 100644 frontend/tailwind.config.js create mode 100644 frontend/tsconfig.json create mode 100644 frontend/tsconfig.node.json create mode 100644 frontend/types/api.ts create mode 100644 frontend/types/entity.ts create mode 100644 frontend/types/enum.ts create mode 100644 frontend/types/router.ts create mode 100644 frontend/vite.config.ts create mode 100644 fs.go diff --git a/.gitignore b/.gitignore index 4acda55..6b5b65e 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,5 @@ storage/* *.log deploy/docker-compose/conf deploy/docker-compose/data +builds diff --git a/build.bat b/build.bat new file mode 100644 index 0000000..8dd1d0f --- /dev/null +++ b/build.bat @@ -0,0 +1,45 @@ +@echo off +setlocal + +:: 编译 Linux ARM32 +set GOOS=linux +set GOARCH=arm +set GOARM=7 +set OUTPUT_DIR=.\builds\PandoraHelper-%1-%GOOS%-%GOARCH% +mkdir %OUTPUT_DIR% +go build -ldflags="-s -w" -o %OUTPUT_DIR%\PandoraHelper .\cmd\server\main.go +upx %OUTPUT_DIR%\PandoraHelper +copy .\config.json "%OUTPUT_DIR%"\ + +:: 编译 Linux ARM64 +set GOOS=linux +set GOARCH=arm64 +set OUTPUT_DIR=.\builds\PandoraHelper-%1-%GOOS%-%GOARCH% +go build -ldflags="-s -w" -o %OUTPUT_DIR%\PandoraHelper .\cmd\server\main.go +upx %OUTPUT_DIR%\PandoraHelper +COPY .\config.json "%OUTPUT_DIR%"\ + +:: 编译为Linux 64位 +set GOOS=linux +set GOARCH=amd64 +set OUTPUT_DIR=.\builds\PandoraHelper-%1-%GOOS%-%GOARCH% +go build -ldflags="-s -w" -o %OUTPUT_DIR%\PandoraHelper .\cmd\server\main.go +upx %OUTPUT_DIR%\PandoraHelper +COPY .\config.json "%OUTPUT_DIR%"\ + +:: 编译 Windows 64 位 +set GOOS=windows +set GOARCH=amd64 +set OUTPUT_DIR=.\builds\PandoraHelper-%1-%GOOS%-%GOARCH% +go build -ldflags="-s -w" -o %OUTPUT_DIR%\PandoraHelper.exe .\cmd\server\main.go +upx %OUTPUT_DIR%\PandoraHelper.exe +COPY .\config.json "%OUTPUT_DIR%"\ + +:: 编译为macOS 64位 +set GOOS=darwin +set GOARCH=amd64 +set OUTPUT_DIR=.\builds\PandoraHelper-%1-%GOOS%-%GOARCH% +go build -ldflags="-s -w" -o %OUTPUT_DIR%\PandoraHelper .\cmd\server\main.go +COPY .\config.json "%OUTPUT_DIR%"\ + +echo Compilation and compression complete. diff --git a/cmd/migration/main.go b/cmd/migration/main.go deleted file mode 100644 index e2e8fff..0000000 --- a/cmd/migration/main.go +++ /dev/null @@ -1,26 +0,0 @@ -package main - -import ( - "PandoraHelper/cmd/migration/wire" - "PandoraHelper/pkg/config" - "PandoraHelper/pkg/log" - "context" - "flag" -) - -func main() { - var envConf = flag.String("conf", "config/local.yml", "config path, eg: -conf ./config/local.yml") - flag.Parse() - conf := config.NewConfig(*envConf) - - logger := log.NewLog(conf) - - app, cleanup, err := wire.NewWire(conf, logger) - defer cleanup() - if err != nil { - panic(err) - } - if err = app.Run(context.Background()); err != nil { - panic(err) - } -} diff --git a/cmd/migration/wire/wire.go b/cmd/migration/wire/wire.go deleted file mode 100644 index 45a4af7..0000000 --- a/cmd/migration/wire/wire.go +++ /dev/null @@ -1,38 +0,0 @@ -//go:build wireinject -// +build wireinject - -package wire - -import ( - "PandoraHelper/internal/repository" - "PandoraHelper/internal/server" - "PandoraHelper/pkg/app" - "PandoraHelper/pkg/log" - "github.com/google/wire" - "github.com/spf13/viper" -) - -var repositorySet = wire.NewSet( - repository.NewDB, - //repository.NewRedis, - repository.NewRepository, -) -var serverSet = wire.NewSet( - server.NewMigrate, -) - -// build App -func newApp(migrate *server.Migrate) *app.App { - return app.NewApp( - app.WithServer(migrate), - app.WithName("demo-migrate"), - ) -} - -func NewWire(*viper.Viper, *log.Logger) (*app.App, func(), error) { - panic(wire.Build( - repositorySet, - serverSet, - newApp, - )) -} diff --git a/cmd/migration/wire/wire_gen.go b/cmd/migration/wire/wire_gen.go deleted file mode 100644 index 7dd0fec..0000000 --- a/cmd/migration/wire/wire_gen.go +++ /dev/null @@ -1,37 +0,0 @@ -// Code generated by Wire. DO NOT EDIT. - -//go:generate go run -mod=mod github.com/google/wire/cmd/wire -//go:build !wireinject -// +build !wireinject - -package wire - -import ( - "PandoraHelper/internal/repository" - "PandoraHelper/internal/server" - "PandoraHelper/pkg/app" - "PandoraHelper/pkg/log" - "github.com/google/wire" - "github.com/spf13/viper" -) - -// Injectors from wire.go: - -func NewWire(viperViper *viper.Viper, logger *log.Logger) (*app.App, func(), error) { - db := repository.NewDB(viperViper, logger) - migrate := server.NewMigrate(db, logger) - appApp := newApp(migrate) - return appApp, func() { - }, nil -} - -// wire.go: - -var repositorySet = wire.NewSet(repository.NewDB, repository.NewRepository) - -var serverSet = wire.NewSet(server.NewMigrate) - -// build App -func newApp(migrate *server.Migrate) *app.App { - return app.NewApp(app.WithServer(migrate), app.WithName("demo-migrate")) -} diff --git a/cmd/server/main.go b/cmd/server/main.go index 5ef0d5d..0835cf2 100644 --- a/cmd/server/main.go +++ b/cmd/server/main.go @@ -2,6 +2,7 @@ package main import ( "context" + "errors" "flag" "fmt" @@ -27,13 +28,18 @@ import ( // @externalDocs.description OpenAPI // @externalDocs.url https://swagger.io/resources/open-api/ func main() { - var envConf = flag.String("conf", "config/local.yml", "config path, eg: -conf ./config/local.yml") + var envConf = flag.String("conf", "./config/", "config path, eg: -conf ./config/local.yml") flag.Parse() conf := config.NewConfig(*envConf) logger := log.NewLog(conf) app, cleanup, err := wire.NewWire(conf, logger) + pwd := conf.GetString("security.admin_password") + if pwd == "" || len(pwd) < 8 { + panic(errors.New("未设置密码或密码长度小于8")) + } + defer cleanup() if err != nil { panic(err) diff --git a/cmd/server/wire/wire.go b/cmd/server/wire/wire.go index 5e924b0..87152a9 100644 --- a/cmd/server/wire/wire.go +++ b/cmd/server/wire/wire.go @@ -39,6 +39,10 @@ var serviceSet = wire.NewSet( server.NewTask, ) +var migrateSet = wire.NewSet( + server.NewMigrate, +) + var handlerSet = wire.NewSet( handler.NewHandler, handler.NewUserHandler, @@ -52,9 +56,9 @@ var serverSet = wire.NewSet( ) // build App -func newApp(httpServer *http.Server, job *server.Job, task *server.Task) *app.App { +func newApp(httpServer *http.Server, job *server.Job, task *server.Task, migrate *server.Migrate) *app.App { return app.NewApp( - app.WithServer(httpServer, job, task), + app.WithServer(httpServer, job, task, migrate), app.WithName("demo-server"), ) } @@ -65,6 +69,7 @@ func NewWire(*viper.Viper, *log.Logger) (*app.App, func(), error) { serviceSet, handlerSet, serverSet, + migrateSet, sid.NewSid, jwt.NewJwt, newApp, diff --git a/cmd/server/wire/wire_gen.go b/cmd/server/wire/wire_gen.go index b815b5b..eb4d018 100644 --- a/cmd/server/wire/wire_gen.go +++ b/cmd/server/wire/wire_gen.go @@ -42,7 +42,8 @@ func NewWire(viperViper *viper.Viper, logger *log.Logger) (*app.App, func(), err httpServer := server.NewHTTPServer(logger, viperViper, jwtJWT, userHandler, shareHandler, accountHandler) job := server.NewJob(logger) task := server.NewTask(logger, accountService, shareService) - appApp := newApp(httpServer, job, task) + migrate := server.NewMigrate(db, logger) + appApp := newApp(httpServer, job, task, migrate) return appApp, func() { }, nil } @@ -55,11 +56,13 @@ var serviceCoordinatorSet = wire.NewSet(service.NewServiceCoordinator) var serviceSet = wire.NewSet(service.NewService, service.NewUserService, serviceCoordinatorSet, service.NewAccountService, service.NewShareService, server.NewTask) +var migrateSet = wire.NewSet(server.NewMigrate) + var handlerSet = wire.NewSet(handler.NewHandler, handler.NewUserHandler, handler.NewShareHandler, handler.NewAccountHandler) var serverSet = wire.NewSet(server.NewHTTPServer, server.NewJob) // build App -func newApp(httpServer *http.Server, job *server.Job, task *server.Task) *app.App { - return app.NewApp(app.WithServer(httpServer, job, task), app.WithName("demo-server")) +func newApp(httpServer *http.Server, job *server.Job, task *server.Task, migrate *server.Migrate) *app.App { + return app.NewApp(app.WithServer(httpServer, job, task, migrate), app.WithName("demo-server")) } diff --git a/config.json b/config.json new file mode 100644 index 0000000..06f24ad --- /dev/null +++ b/config.json @@ -0,0 +1,29 @@ +{ + "security": { + "admin_password": "" + }, + "http": { + "host": "127.0.0.1", + "port": 8080 + }, + "database": { + "driver": "sqlite", + "dsn": "./data.db" + }, + "pandora": { + "domain": { + "chat": "https://chat.oaifree.com", + "token": "https://token.oaifree.com", + "new": "https://new.oaifree.com" + } + }, + "log": { + "level": "info", + "output": "console", + "log_file_name": "./logs/server.log", + "max_backups": 30, + "max_age": 7, + "max_size": 1024, + "compress": true + } +} \ No newline at end of file diff --git a/config/local.yml b/config/local.yml deleted file mode 100644 index 61c3124..0000000 --- a/config/local.yml +++ /dev/null @@ -1,29 +0,0 @@ -env: local -http: - # host: 0.0.0.0 - host: 127.0.0.1 - port: 8000 -security: - admin_password: 123456 - # will be random - jwt: - key: QQYnRFerJTSEcrfB89fw8prOaObmrch8 -data: - db: - user: - driver: sqlite - dsn: storage/nunu-test.db?_busy_timeout=5000 - -pandora: - domain: - chat: https://chat.oaifree.com - token: https://token.oaifree.com - -log: - log_level: info - encoding: console # json or console - log_file_name: "./storage/logs/server.log" - max_backups: 30 - max_age: 7 - max_size: 1024 - compress: true \ No newline at end of file diff --git a/config/prod.yml b/config/prod.yml deleted file mode 100644 index 27027cb..0000000 --- a/config/prod.yml +++ /dev/null @@ -1,37 +0,0 @@ -env: prod -http: - host: 0.0.0.0 - # host: 127.0.0.1 - port: 8000 -security: - api_sign: - app_key: 123456 - app_security: 123456 - jwt: - key: QQYnRFerJTSEcrfB89fw8prOaObmrch8 -data: - db: - user: - driver: sqlite - dsn: storage/nunu-test.db?_busy_timeout=5000 - # user: - # driver: mysql - # dsn: root:123456@tcp(127.0.0.1:3380)/user?charset=utf8mb4&parseTime=True&loc=Local - # user: - # driver: postgres - # dsn: host=localhost user=gorm password=gorm dbname=gorm port=9920 sslmode=disable TimeZone=Asia/Shanghai - redis: - addr: 127.0.0.1:6350 - password: "" - db: 0 - read_timeout: 0.2s - write_timeout: 0.2s - -log: - log_level: info - encoding: json # json or console - log_file_name: "./storage/logs/server.log" - max_backups: 30 - max_age: 7 - max_size: 1024 - compress: true \ No newline at end of file diff --git a/frontend/.dockerignore b/frontend/.dockerignore new file mode 100644 index 0000000..8b7acb3 --- /dev/null +++ b/frontend/.dockerignore @@ -0,0 +1,5 @@ +.github +.husky +.vscode/ +dist/ +node_modules/ diff --git a/frontend/.editorconfig b/frontend/.editorconfig new file mode 100644 index 0000000..dccf841 --- /dev/null +++ b/frontend/.editorconfig @@ -0,0 +1,19 @@ +root = true + +[*] +charset=utf-8 +end_of_line=lf +insert_final_newline=true +indent_style=space +indent_size=2 +max_line_length = 100 + +[*.{yml,yaml,json}] +indent_style = space +indent_size = 2 + +[*.md] +trim_trailing_whitespace = false + +[Makefile] +indent_style = tab diff --git a/frontend/.env b/frontend/.env new file mode 100644 index 0000000..25d78e7 --- /dev/null +++ b/frontend/.env @@ -0,0 +1,2 @@ +VITE_GLOB_APP_TITLE = Vite React TS Template +REACT_EDITOR=webstorm diff --git a/frontend/.env.development b/frontend/.env.development new file mode 100644 index 0000000..835c5d2 --- /dev/null +++ b/frontend/.env.development @@ -0,0 +1,2 @@ +VITE_APP_BASE_API=/api +VITE_APP_HOMEPAGE=/home diff --git a/frontend/.env.production b/frontend/.env.production new file mode 100644 index 0000000..835c5d2 --- /dev/null +++ b/frontend/.env.production @@ -0,0 +1,2 @@ +VITE_APP_BASE_API=/api +VITE_APP_HOMEPAGE=/home diff --git a/frontend/.eslintignore b/frontend/.eslintignore new file mode 100644 index 0000000..8647ad9 --- /dev/null +++ b/frontend/.eslintignore @@ -0,0 +1,22 @@ +*.sh +node_modules +*.lock +**/*.svg +**/*.md +**/*.svg +**/*.ejs +**/*.html +**/*.png +**/*.toml +**/*.md +.vscode +.idea +dist +/public +/docs +.husky +.local +/bin +Dockerfile +pnpm-lock.yaml +tsconfig.node.json diff --git a/frontend/.eslintrc.cjs b/frontend/.eslintrc.cjs new file mode 100644 index 0000000..d5ef074 --- /dev/null +++ b/frontend/.eslintrc.cjs @@ -0,0 +1,144 @@ +module.exports = { + root: true, // 表示当前目录即为根目录,ESLint 规则将被限制到该目录下 + env: { browser: true, es2020: true, node: true }, + /* 解析器 */ + parser: '@typescript-eslint/parser', // 指定ESLint解析器 + parserOptions: { + project: './tsconfig.json', // tsconfig.json的路径 + ecmaVersion: 'latest', + sourceType: 'module', + ecmaFeatures: { + jsx: true, // 启用JSX + }, + extraFileExtensions: ['.json'], + }, + settings: { + // 识别 @ # alias + 'import/resolver': { + alias: { + map: [ + ['@', './src'], + ['#', './types'], + ], + extensions: ['.ts', '.tsx', '.js', '.jsx', '.json'], + }, + }, + }, + /* ESLint 中基础配置需要继承的配置 */ + extends: [ + 'airbnb', + 'airbnb-typescript', + 'airbnb/hooks', + 'plugin:@typescript-eslint/recommended', // 使用@typescript-eslint/eslint-plugin推荐的规则 + 'plugin:jsx-a11y/recommended', + 'plugin:import/errors', + 'plugin:import/warnings', + 'prettier', // 增加 prettier 相关的校验规则 + 'plugin:prettier/recommended', // 开启 Prettier 插件推荐的规则 + ], + /* ESLint文件所依赖的插件 */ + plugins: [ + '@typescript-eslint', + 'prettier', + 'react', + 'react-hooks', + 'jsx-a11y', + 'import', + 'unused-imports', + ], + /** + * 定义规则 + * "off" 或 0 - 关闭规则 + * "warn" 或 1 - 开启规则,使用警告级别的错误:warn (不会导致程序退出) + * "error" 或 2 - 开启规则,使用错误级别的错误:error (当被触发的时候,程序会退出) + */ + rules: { + 'no-console': 'off', + 'no-unused-vars': 'off', + 'no-case-declarations': 'off', + 'no-use-before-define': 'off', + 'no-param-reassign': 'off', + 'space-before-function-paren': 'off', + 'class-methods-use-this': 'off', + + 'jsx-a11y/click-events-have-key-events': 'off', + 'jsx-a11y/interactive-supports-focus': 'off', + 'jsx-a11y/no-noninteractive-element-interactions': 'off', + 'jsx-a11y/no-static-element-interactions': 'off', + + // 不用手动引入react + 'react/react-in-jsx-scope': 'off', + 'react/button-has-type': 'off', + 'react/require-default-props': 'off', + 'react/no-array-index-key': 'off', + 'react/jsx-props-no-spreading': 'off', + + 'import/first': 'warn', + 'import/newline-after-import': 'warn', + 'import/no-duplicates': 'warn', + 'import/no-extraneous-dependencies': 'off', + 'import/prefer-default-export': 'off', + 'import/order': [ + 'warn', + { + groups: [ + 'builtin', // Node.js内置模块 + 'external', // 第三方模块 + 'internal', // 应用程序内部的模块 + 'parent', // 父级目录中导入的模块 + ['sibling', 'index'], // 具有相同或更高目录的兄弟模块 + 'object', + 'type', + ], + pathGroups: [ + { + pattern: '@/**', + group: 'internal', + }, + { + pattern: '#/**', + group: 'type', + }, + { + pattern: '*.{scss,css,less,styl,stylus}', + group: 'parent', + }, + { + pattern: '*.{js,jsx,ts,tsx}', + group: 'sibling', + }, + ], + 'newlines-between': 'always', // 在组之间插入空行 + pathGroupsExcludedImportTypes: ['sibling', 'index'], + warnOnUnassignedImports: true, + alphabetize: { order: 'asc', caseInsensitive: true }, // 对于每个组,按字母表顺序排序。 + }, + ], + + 'unused-imports/no-unused-imports-ts': 'warn', + 'unused-imports/no-unused-vars-ts': [ + 'warn', + { vars: 'all', varsIgnorePattern: '^_', args: 'after-used', argsIgnorePattern: '^_' }, + ], + + '@typescript-eslint/no-unused-vars': [ + 'warn', + { + argsIgnorePattern: '^_', + varsIgnorePattern: '^_', + }, + ], + '@typescript-eslint/no-unused-expressions': 'off', + '@typescript-eslint/ban-ts-ignore': 'off', + '@typescript-eslint/ban-ts-comment': 'off', + '@typescript-eslint/ban-types': 'off', + '@typescript-eslint/explicit-function-return-type': 'off', + '@typescript-eslint/no-explicit-any': 'off', + '@typescript-eslint/no-var-requires': 'off', + '@typescript-eslint/no-empty-function': 'off', + '@typescript-eslint/no-use-before-define': 'off', + '@typescript-eslint/no-non-null-assertion': 'off', + '@typescript-eslint/no-shadow': 'off', + '@typescript-eslint/explicit-module-boundary-types': 'off', + }, +}; diff --git a/frontend/.github/workflows/ci.yml b/frontend/.github/workflows/ci.yml new file mode 100644 index 0000000..b9ed669 --- /dev/null +++ b/frontend/.github/workflows/ci.yml @@ -0,0 +1,46 @@ +name: CI + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + +jobs: + build-and-deploy: + + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [16.x] + # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ + + steps: + - name: Checkout 🛎️ + uses: actions/checkout@v3 + + - name: Setup pnpm + uses: pnpm/action-setup@v2 + with: + version: 8 + + - name: Setup Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node-version }} + cache: 'pnpm' + + - name: Install and Build 🔧 + run: | + pnpm install + pnpm build + + - name: Deploy 🚀 + uses: JamesIves/github-pages-deploy-action@v4 + with: + TOKEN: ${{ secrets.ACCESS_TOKEN }} + FOLDER: dist + CLEAN: true + + diff --git a/frontend/.gitignore b/frontend/.gitignore new file mode 100644 index 0000000..86144f8 --- /dev/null +++ b/frontend/.gitignore @@ -0,0 +1,29 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist-ssr +*.local + +# Editor directories and files +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? +.vscode +.husky + +# vite 打包分析产物 +stats.html +dist + + diff --git a/frontend/.lintstagedrc b/frontend/.lintstagedrc new file mode 100644 index 0000000..784055b --- /dev/null +++ b/frontend/.lintstagedrc @@ -0,0 +1,5 @@ +{ + "src/**/*.{js,jsx,ts,tsx}": ["eslint --fix"], + "src/**/*.{css,scss}": ["stylelint --fix"], + "*.{json,md}": ["prettier --write"] +} diff --git a/frontend/.prettierignore b/frontend/.prettierignore new file mode 100644 index 0000000..b172d95 --- /dev/null +++ b/frontend/.prettierignore @@ -0,0 +1,21 @@ +*.sh +node_modules +*.lock +**/*.svg +**/*.md +**/*.svg +**/*.ejs +**/*.html +**/*.png +**/*.toml +**/*.md +.vscode +.idea +dist +/public +/docs +.husky +.local +/bin +Dockerfile +pnpm-lock.yaml diff --git a/frontend/.prettierrc b/frontend/.prettierrc new file mode 100644 index 0000000..6df60f9 --- /dev/null +++ b/frontend/.prettierrc @@ -0,0 +1,21 @@ +{ + "printWidth": 100, + "semi": true, + "tabWidth": 2, + "singleQuote": true, + "trailingComma": "all", + "proseWrap": "never", + "htmlWhitespaceSensitivity": "strict", + "endOfLine": "auto", + "overrides": [ + { + "files": "*rc", + "options": { + "parser": "json" + } + } + ], + "plugins": [ + "prettier-plugin-tailwindcss" + ] +} diff --git a/frontend/.stylelintignore b/frontend/.stylelintignore new file mode 100644 index 0000000..b715f87 --- /dev/null +++ b/frontend/.stylelintignore @@ -0,0 +1,8 @@ +node_modules/ +dist/ +build/ +*.min.css +*.js +*.tsx +*.ts +*.json diff --git a/frontend/.stylelintrc b/frontend/.stylelintrc new file mode 100644 index 0000000..a751afb --- /dev/null +++ b/frontend/.stylelintrc @@ -0,0 +1,71 @@ +{ + "extends": [ + "stylelint-config-standard", + "stylelint-config-rational-order" + ], + "plugins": ["stylelint-order"], + "rules": { + "indentation": 2, + "declaration-colon-space-after": "always", + "declaration-colon-space-before": "never", + "declaration-block-semicolon-newline-after": "always-multi-line", + "selector-not-notation": null, + "import-notation": null, + "function-no-unknown": null, + "selector-class-pattern": null, + "selector-pseudo-class-no-unknown": [ + true, + { + "ignorePseudoClasses": ["global", "local"] + } + ], + "at-rule-no-unknown": [ + true, + { + "ignoreAtRules": [ + "tailwind", + "apply", + "variants", + "responsive", + "screen", + "function", + "if", + "each", + "include", + "mixin", + "extend" + ] + } + ], + "no-empty-source": null, + "string-quotes": null, + "named-grid-areas-no-invalid": null, + "no-descending-specificity": null, + "font-family-no-missing-generic-family-keyword": null, + "rule-empty-line-before": [ + "always", + { + "ignore": ["after-comment", "first-nested"] + } + ], + "unit-no-unknown": [true, { "ignoreUnits": ["rpx"] }], + "order/order": [ + [ + "dollar-variables", + "custom-properties", + "at-rules", + "declarations", + { + "type": "at-rule", + "name": "supports" + }, + { + "type": "at-rule", + "name": "media" + }, + "rules" + ], + { "severity": "error" } + ] + } +} diff --git a/frontend/Dockerfile b/frontend/Dockerfile new file mode 100644 index 0000000..00f5ab7 --- /dev/null +++ b/frontend/Dockerfile @@ -0,0 +1,22 @@ +# Stage 1: build stage +FROM node:16-alpine as build-stage +# make the 'app' folder the current working directory +WORKDIR /app +# copy project files and folders to the current working directory (i.e. 'app' folder) +COPY . ./ +# config node options +ENV NODE_OPTIONS=--max_old_space_size=8192 +# config pnpm, install dependencies and build +RUN npm install pnpm -g && \ + pnpm install && \ + pnpm build +RUN echo "build successful 🎉 🎉 🎉" + + +# Stage 2: production stage +FROM nginx:latest as production-stage +COPY --from=build-stage /app/dist /usr/share/nginx/html +EXPOSE 80 +CMD ["nginx", "-g", "daemon off;"] +RUN echo "deploy to nginx successful 🎉 🎉 🎉" + diff --git a/frontend/LICENSE b/frontend/LICENSE new file mode 100644 index 0000000..ceb73cc --- /dev/null +++ b/frontend/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 d3george + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/frontend/README.md b/frontend/README.md new file mode 100644 index 0000000..e28ca5e --- /dev/null +++ b/frontend/README.md @@ -0,0 +1,116 @@ +
+
+
+

Slash Admin +

+
+ +**English** | [中文](./README.zh-CN.md) + +## Introduction +Slash Admin is a modern admin dashboard template built with React 18, Vite, Ant Design, and TypeScript. It is designed to help developers quickly create powerful admin management systems. + +## Preview ++ https://admin.slashspaces.com/ + +![login.png](https://d3george.github.io/github-static/slash-admin/login.jpeg) +![login_dark.png](https://d3george.github.io/github-static/slash-admin/login_dark.jpeg) +![analysis.png](https://d3george.github.io/github-static/slash-admin/analysis.png) +![workbench.png](https://d3george.github.io/github-static/slash-admin/workbench.png) + +## Features + +- Built using React 18 hooks. +- Powered by Vite for rapid development and hot module replacement. +- Integrates Ant Design, providing a rich set of UI components and design patterns. +- Written in TypeScript, offering type safety and an improved development experience. +- Responsive design, adapting to various screen sizes and devices. +- Flexible routing configuration, supporting nested routes. +- Integrated access control based on user roles. +- Supports internationalization for easy language switching. +- Includes common admin features like user management, role management, and permission management. +- Customizable themes and styles to meet your branding needs. +- Mocking solution based on MSW and Faker.js. +- State management using Zustand. +- Data fetching using React-Query. + +## Quick Start + +### Get the Project Code + +```bash +git clone https://github.com/d3george/slash-admin.git +``` + +### Install Dependencies + +In the project's root directory, run the following command to install project dependencies: + +```bash +pnpm install +``` + +### Start the Development Server + +Run the following command to start the development server: + +```bash +pnpm dev +``` + +Visit [http://localhost:3001](http://localhost:3001) to view your application. + +### Build for Production + +Run the following command to build the production version: + +```bash +pnpm build +``` + +## Docker deployment + + +### Build image and Run container +#### build image +Enter the project root directory in the terminal and execute the following command to build the Docker image: +``` +docker build -t your-image-name . +``` +Make sure to replace `your-image-name` with your own image name + +#### run container +Run your application in the Docker container using the following command: +``` +docker run -p 3001:80 your-image-name +``` +This will run your application on port `80`(exposed in `Dockerfile`) of the container and map it to port `3001` on your host. + +Now you can access http://localhost:3001 to view the deployed applications. + +### use docker-compose.yaml +Enter the project root directory in the terminal and execute the following command to start Docker Compose: +``` +docker-compose up -d +``` +Docker Compose will build an image based on the configuration defined by 'docker-compose. yaml' and run the container in the background. + +After the container runs successfully, it can also be accessed through http://localhost:3001 To view the deployed applications. + + +## Git Contribution submission specification + +reference[.commitlint.config.js](./commitlint.config.js) + +- `feat` new features +- `fix` fix the +- `docs` documentation or comments +- `style` code format (changes that do not affect code execution) +- `refactor` refactor +- `perf` performance optimization +- `revert` revert commit +- `test` test related +- `chore` changes in the construction process or auxiliary tools +- `ci` modify CI configuration and scripts +- `types` type definition file changes +- `wip` in development diff --git a/frontend/README.zh-CN.md b/frontend/README.zh-CN.md new file mode 100644 index 0000000..97d1461 --- /dev/null +++ b/frontend/README.zh-CN.md @@ -0,0 +1,115 @@ +
+
+
+

Slash Admin +

+
+ +**中文** | [English](./README.md) + +## 简介 + +Slash Admin 是一个现代化的后台管理模板,基于 React 18、Vite、Ant Design 和 TypeScript 构建。它旨在帮助开发人员快速搭建功能强大的后台管理系统。 + +## 预览 ++ https://admin.slashspaces.com/ + +![login.png](https://d3george.github.io/github-static/slash-admin/login.jpeg) +![login_dark.png](https://d3george.github.io/github-static/slash-admin/login_dark.jpeg) +![analysis.png](https://d3george.github.io/github-static/slash-admin/analysis.png) +![workbench.png](https://d3george.github.io/github-static/slash-admin/workbench.png) +## 特性 + +- 使用 React 18 hooks 进行构建。 +- 基于 Vite 进行快速开发和热模块替换。 +- 集成 Ant Design,提供丰富的 UI 组件和设计模式。 +- 使用 TypeScript 编写,提供类型安全性和更好的开发体验。 +- 响应式设计,适应各种屏幕尺寸和设备。 +- 灵活的路由配置,支持多级嵌套路由。 +- 集成权限管理,根据用户角色控制页面访问权限。 +- 集成国际化支持,轻松切换多语言。 +- 集成常见的后台管理功能,如用户管理、角色管理、权限管理等。 +- 可定制的主题和样式,以满足您的品牌需求。 +- 基于 MSW 和 Faker.js 的Mock方案 +- 使用 Zustand 进行状态管理 +- 使用 React-Query 进行数据获取 + +## 快速开始 + +### 获取项目代码 + +```bash +git clone https://github.com/d3george/slash-admin.git +``` + +### 安装依赖 + +在项目根目录下运行以下命令安装项目依赖: + +```bash +pnpm install +``` + +### 启动开发服务器 + +运行以下命令以启动开发服务器: + +```bash +pnpm dev +``` + +访问 [http://localhost:3001](http://localhost:3001) 查看您的应用程序。 + +### 构建生产版本 + +运行以下命令以构建生产版本: + +```bash +pnpm build +``` + +构建后的文件将位于 `dist` 目录中。 + +## 容器化部署 + +### 构建镜像并运行容器 +#### 构建镜像 +在终端中进入项目根目录,并执行以下命令来构建 Docker 镜像: +``` +docker build -t your-image-name . +``` +确保将 `your-image-name` 替换为你自己的镜像名称 + +#### 运行容器 +使用以下命令在 Docker 容器中运行你的应用: +``` +docker run -p 3001:80 your-image-name +``` +这将在容器的端口 `80` (暴露在`Dockerfile`中) 上运行你的应用,并将其映射到你主机的端口 `3001` 上。 + +现在,你可以通过访问 http://localhost:3001 来查看部署的应用。 + + +### 使用docker-compose.yaml +在终端中进入项目根目录,并执行以下命令来启动 Docker Compose: +``` +docker-compose up -d +``` +Docker Compose 根据`docker-compose.yaml`定义的配置构建镜像并在后台运行容器. + +容器运行成功后,同样可以通过访问 http://localhost:3001来查看部署的应用。 + +参考[.commitlint.config.js](./commitlint.config.js) + +- `feat` 新功能 +- `fix` 修复bug +- `docs` 文档注释 +- `style` 代码格式(不影响代码运行的变动) +- `refactor` 重构 +- `perf` 性能优化 +- `revert` 回滚commit +- `test` 测试相关 +- `chore` 构建过程或辅助工具的变动 +- `ci` 修改CI配置、脚本 +- `types` 类型定义文件修改 +- `wip` 开发中 diff --git a/frontend/commitlint.config.js b/frontend/commitlint.config.js new file mode 100644 index 0000000..66686e4 --- /dev/null +++ b/frontend/commitlint.config.js @@ -0,0 +1,30 @@ +export default { + // 继承的规则 + extends: ['@commitlint/config-conventional'], + // 定义规则类型 + rules: { + 'body-leading-blank': [2, 'always'], // 确保提交消息正文之前有一行空白行 + 'type-empty': [2, 'never'], // 不允许提交消息的 type 类型为空 + 'subject-case': [0], // subject 大小写不做校验 + // type 类型定义,表示 git 提交的 type 必须在以下类型范围内 + 'type-enum': [ + 2, + 'always', + [ + 'feat', // 新功能 feature + 'fix', // 修复 bug + 'docs', // 文档注释 + 'style', // 代码格式(不影响代码运行的变动) + 'refactor', // 重构(既不增加新功能,也不是修复bug) + 'perf', // 性能优化 + 'test', // 添加疏漏测试或已有测试改动 + 'chore', // 构建过程或辅助工具的变动 + 'revert', // 回滚commit + 'build', // 构建流程、外部依赖变更 (如升级 npm 包、修改打包配置等)', + 'ci', // 修改CI配置、脚本 + 'types', // 类型定义文件修改 + 'wip', // 开发中 + ], + ], + }, +}; diff --git a/frontend/docker-compose.yaml b/frontend/docker-compose.yaml new file mode 100644 index 0000000..c34a48a --- /dev/null +++ b/frontend/docker-compose.yaml @@ -0,0 +1,7 @@ +services: + slash: + build: + context: . + ports: + - "3001:80" + restart: always diff --git a/frontend/index.html b/frontend/index.html new file mode 100644 index 0000000..f69755f --- /dev/null +++ b/frontend/index.html @@ -0,0 +1,14 @@ + + + + + + + Slash Admin + + + +
+ + + diff --git a/frontend/package.json b/frontend/package.json new file mode 100644 index 0000000..eca4cad --- /dev/null +++ b/frontend/package.json @@ -0,0 +1,118 @@ +{ + "name": "slash-admin", + "private": true, + "version": "0.0.0", + "type": "module", + "homepage": "https://d3george.github.io/react-admin-template", + "scripts": { + "dev": "vite", + "build": "tsc && vite build", + "lint": "eslint src --ext ts,tsx --report-unused-disable-directives --max-warnings 0", + "preview": "vite preview", + "prepare": "cd .. && husky install frontend/.husky" + }, + "dependencies": { + "@ant-design/cssinjs": "^1.17.2", + "@ant-design/icons": "^5.2.6", + "@fullcalendar/common": "^5.11.5", + "@fullcalendar/core": "^6.1.9", + "@fullcalendar/daygrid": "^6.1.9", + "@fullcalendar/interaction": "^6.1.9", + "@fullcalendar/list": "^6.1.9", + "@fullcalendar/react": "^6.1.9", + "@fullcalendar/timegrid": "^6.1.9", + "@fullcalendar/timeline": "^6.1.9", + "@hcaptcha/react-hcaptcha": "^1.9.3", + "@iconify/react": "^4.1.1", + "@tanstack/react-query": "^4.36.1", + "@tanstack/react-query-devtools": "^4.36.1", + "@vitejs/plugin-react": "^4.1.0", + "antd": "^5.9.3", + "apexcharts": "^3.43.0", + "autosuggest-highlight": "^3.3.4", + "axios": "^1.5.1", + "classnames": "^2.3.2", + "color": "^4.2.3", + "dayjs": "^1.11.10", + "framer-motion": "^10.16.4", + "highlight.js": "^11.9.0", + "humps": "^2.0.1", + "i18next": "^23.5.1", + "i18next-browser-languagedetector": "^7.1.0", + "nprogress": "^0.2.0", + "numeral": "^2.0.6", + "ramda": "^0.29.1", + "react": "^18.2.0", + "react-apexcharts": "^1.4.1", + "react-beautiful-dnd": "^13.1.1", + "react-dom": "^18.2.0", + "react-helmet-async": "^1.3.0", + "react-i18next": "^13.2.2", + "react-icons": "^4.11.0", + "react-markdown": "^8.0.7", + "react-organizational-chart": "^2.2.1", + "react-quill": "^2.0.0", + "react-router-dom": "^6.16.0", + "react-use": "^17.4.0", + "rehype-highlight": "^6.0.0", + "rehype-raw": "^6.1.1", + "remark-gfm": "^3.0.1", + "reset-css": "^5.0.2", + "screenfull": "^6.0.2", + "simplebar-react": "^3.2.4", + "styled-components": "^6.0.9", + "vite": "^4.4.11", + "zustand": "^4.4.3" + }, + "devDependencies": { + "@commitlint/cli": "^17.7.2", + "@commitlint/config-conventional": "^17.7.0", + "@react-dev-inspector/vite-plugin": "^2.0.0", + "@types/autosuggest-highlight": "^3.2.0", + "@types/color": "^3.0.4", + "@types/humps": "^2.0.6", + "@types/nprogress": "^0.2.1", + "@types/numeral": "^2.0.3", + "@types/ramda": "^0.29.6", + "@types/react": "^18.2.28", + "@types/react-beautiful-dnd": "^13.1.6", + "@types/react-dom": "^18.2.13", + "@types/react-router-dom": "^5.3.3", + "@types/styled-components": "^5.1.28", + "@typescript-eslint/eslint-plugin": "^5.62.0", + "@typescript-eslint/parser": "^5.62.0", + "autoprefixer": "^10.4.16", + "eslint": "^8.51.0", + "eslint-config-airbnb": "^19.0.4", + "eslint-config-airbnb-typescript": "^17.1.0", + "eslint-config-prettier": "^8.10.0", + "eslint-import-resolver-alias": "^1.1.2", + "eslint-plugin-import": "^2.28.1", + "eslint-plugin-jsx-a11y": "^6.7.1", + "eslint-plugin-prettier": "^4.2.1", + "eslint-plugin-react": "^7.33.2", + "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-unused-imports": "^2.0.0", + "husky": "^8.0.3", + "lint-staged": "^13.3.0", + "postcss": "^8.4.31", + "postcss-import": "^15.1.0", + "postcss-nesting": "^11.3.0", + "prettier": "^2.8.8", + "prettier-plugin-tailwindcss": "^0.3.0", + "react-dev-inspector": "^2.0.0", + "rollup-plugin-visualizer": "^5.9.2", + "sass": "^1.69.3", + "stylelint": "^15.10.3", + "stylelint-config-rational-order": "^0.1.2", + "stylelint-config-standard": "^33.0.0", + "stylelint-declaration-block-no-ignored-properties": "^2.7.0", + "stylelint-order": "^6.0.3", + "tailwindcss": "^3.3.3", + "terser": "^5.26.0", + "ts-node": "^10.9.1", + "typescript": "^5.2.2", + "vite-plugin-svg-icons": "^2.0.1", + "vite-tsconfig-paths": "^4.2.1" + } +} diff --git a/frontend/pnpm-lock.yaml b/frontend/pnpm-lock.yaml new file mode 100644 index 0000000..cf3623e --- /dev/null +++ b/frontend/pnpm-lock.yaml @@ -0,0 +1,10849 @@ +lockfileVersion: '6.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +dependencies: + '@ant-design/cssinjs': + specifier: ^1.17.2 + version: 1.20.0(react-dom@18.3.0)(react@18.3.0) + '@ant-design/icons': + specifier: ^5.2.6 + version: 5.3.6(react-dom@18.3.0)(react@18.3.0) + '@fullcalendar/common': + specifier: ^5.11.5 + version: 5.11.5 + '@fullcalendar/core': + specifier: ^6.1.9 + version: 6.1.11 + '@fullcalendar/daygrid': + specifier: ^6.1.9 + version: 6.1.11(@fullcalendar/core@6.1.11) + '@fullcalendar/interaction': + specifier: ^6.1.9 + version: 6.1.11(@fullcalendar/core@6.1.11) + '@fullcalendar/list': + specifier: ^6.1.9 + version: 6.1.11(@fullcalendar/core@6.1.11) + '@fullcalendar/react': + specifier: ^6.1.9 + version: 6.1.11(@fullcalendar/core@6.1.11)(react-dom@18.3.0)(react@18.3.0) + '@fullcalendar/timegrid': + specifier: ^6.1.9 + version: 6.1.11(@fullcalendar/core@6.1.11) + '@fullcalendar/timeline': + specifier: ^6.1.9 + version: 6.1.11(@fullcalendar/core@6.1.11) + '@hcaptcha/react-hcaptcha': + specifier: ^1.9.3 + version: 1.10.1(react-dom@18.3.0)(react@18.3.0) + '@iconify/react': + specifier: ^4.1.1 + version: 4.1.1(react@18.3.0) + '@tanstack/react-query': + specifier: ^4.36.1 + version: 4.36.1(react-dom@18.3.0)(react@18.3.0) + '@tanstack/react-query-devtools': + specifier: ^4.36.1 + version: 4.36.1(@tanstack/react-query@4.36.1)(react-dom@18.3.0)(react@18.3.0) + '@vitejs/plugin-react': + specifier: ^4.1.0 + version: 4.2.1(vite@4.5.3) + antd: + specifier: ^5.9.3 + version: 5.16.4(react-dom@18.3.0)(react@18.3.0) + apexcharts: + specifier: ^3.43.0 + version: 3.49.0 + autosuggest-highlight: + specifier: ^3.3.4 + version: 3.3.4 + axios: + specifier: ^1.5.1 + version: 1.6.8 + classnames: + specifier: ^2.3.2 + version: 2.5.1 + color: + specifier: ^4.2.3 + version: 4.2.3 + dayjs: + specifier: ^1.11.10 + version: 1.11.10 + framer-motion: + specifier: ^10.16.4 + version: 10.18.0(react-dom@18.3.0)(react@18.3.0) + highlight.js: + specifier: ^11.9.0 + version: 11.9.0 + humps: + specifier: ^2.0.1 + version: 2.0.1 + i18next: + specifier: ^23.5.1 + version: 23.11.2 + i18next-browser-languagedetector: + specifier: ^7.1.0 + version: 7.2.1 + nprogress: + specifier: ^0.2.0 + version: 0.2.0 + numeral: + specifier: ^2.0.6 + version: 2.0.6 + ramda: + specifier: ^0.29.1 + version: 0.29.1 + react: + specifier: ^18.2.0 + version: 18.3.0 + react-apexcharts: + specifier: ^1.4.1 + version: 1.4.1(apexcharts@3.49.0)(react@18.3.0) + react-beautiful-dnd: + specifier: ^13.1.1 + version: 13.1.1(react-dom@18.3.0)(react@18.3.0) + react-dom: + specifier: ^18.2.0 + version: 18.3.0(react@18.3.0) + react-helmet-async: + specifier: ^1.3.0 + version: 1.3.0(react-dom@18.3.0)(react@18.3.0) + react-i18next: + specifier: ^13.2.2 + version: 13.5.0(i18next@23.11.2)(react-dom@18.3.0)(react@18.3.0) + react-icons: + specifier: ^4.11.0 + version: 4.12.0(react@18.3.0) + react-markdown: + specifier: ^8.0.7 + version: 8.0.7(@types/react@18.3.0)(react@18.3.0) + react-organizational-chart: + specifier: ^2.2.1 + version: 2.2.1(react-dom@18.3.0)(react@18.3.0) + react-quill: + specifier: ^2.0.0 + version: 2.0.0(react-dom@18.3.0)(react@18.3.0) + react-router-dom: + specifier: ^6.16.0 + version: 6.23.0(react-dom@18.3.0)(react@18.3.0) + react-use: + specifier: ^17.4.0 + version: 17.5.0(react-dom@18.3.0)(react@18.3.0) + rehype-highlight: + specifier: ^6.0.0 + version: 6.0.0 + rehype-raw: + specifier: ^6.1.1 + version: 6.1.1 + remark-gfm: + specifier: ^3.0.1 + version: 3.0.1 + reset-css: + specifier: ^5.0.2 + version: 5.0.2 + screenfull: + specifier: ^6.0.2 + version: 6.0.2 + simplebar-react: + specifier: ^3.2.4 + version: 3.2.4(react@18.3.0) + styled-components: + specifier: ^6.0.9 + version: 6.1.8(react-dom@18.3.0)(react@18.3.0) + vite: + specifier: ^4.4.11 + version: 4.5.3(@types/node@20.12.7)(sass@1.75.0)(terser@5.30.4) + zustand: + specifier: ^4.4.3 + version: 4.5.2(@types/react@18.3.0)(react@18.3.0) + +devDependencies: + '@commitlint/cli': + specifier: ^17.7.2 + version: 17.8.1 + '@commitlint/config-conventional': + specifier: ^17.7.0 + version: 17.8.1 + '@react-dev-inspector/vite-plugin': + specifier: ^2.0.0 + version: 2.0.1(eslint@8.57.0)(typescript@5.4.5)(webpack@5.91.0) + '@types/autosuggest-highlight': + specifier: ^3.2.0 + version: 3.2.3 + '@types/color': + specifier: ^3.0.4 + version: 3.0.6 + '@types/humps': + specifier: ^2.0.6 + version: 2.0.6 + '@types/nprogress': + specifier: ^0.2.1 + version: 0.2.3 + '@types/numeral': + specifier: ^2.0.3 + version: 2.0.5 + '@types/ramda': + specifier: ^0.29.6 + version: 0.29.12 + '@types/react': + specifier: ^18.2.28 + version: 18.3.0 + '@types/react-beautiful-dnd': + specifier: ^13.1.6 + version: 13.1.8 + '@types/react-dom': + specifier: ^18.2.13 + version: 18.3.0 + '@types/react-router-dom': + specifier: ^5.3.3 + version: 5.3.3 + '@types/styled-components': + specifier: ^5.1.28 + version: 5.1.34 + '@typescript-eslint/eslint-plugin': + specifier: ^5.62.0 + version: 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/parser': + specifier: ^5.62.0 + version: 5.62.0(eslint@8.57.0)(typescript@5.4.5) + autoprefixer: + specifier: ^10.4.16 + version: 10.4.19(postcss@8.4.38) + eslint: + specifier: ^8.51.0 + version: 8.57.0 + eslint-config-airbnb: + specifier: ^19.0.4 + version: 19.0.4(eslint-plugin-import@2.29.1)(eslint-plugin-jsx-a11y@6.8.0)(eslint-plugin-react-hooks@4.6.1)(eslint-plugin-react@7.34.1)(eslint@8.57.0) + eslint-config-airbnb-typescript: + specifier: ^17.1.0 + version: 17.1.0(@typescript-eslint/eslint-plugin@5.62.0)(@typescript-eslint/parser@5.62.0)(eslint-plugin-import@2.29.1)(eslint@8.57.0) + eslint-config-prettier: + specifier: ^8.10.0 + version: 8.10.0(eslint@8.57.0) + eslint-import-resolver-alias: + specifier: ^1.1.2 + version: 1.1.2(eslint-plugin-import@2.29.1) + eslint-plugin-import: + specifier: ^2.28.1 + version: 2.29.1(@typescript-eslint/parser@5.62.0)(eslint@8.57.0) + eslint-plugin-jsx-a11y: + specifier: ^6.7.1 + version: 6.8.0(eslint@8.57.0) + eslint-plugin-prettier: + specifier: ^4.2.1 + version: 4.2.1(eslint-config-prettier@8.10.0)(eslint@8.57.0)(prettier@2.8.8) + eslint-plugin-react: + specifier: ^7.33.2 + version: 7.34.1(eslint@8.57.0) + eslint-plugin-react-hooks: + specifier: ^4.6.0 + version: 4.6.1(eslint@8.57.0) + eslint-plugin-unused-imports: + specifier: ^2.0.0 + version: 2.0.0(@typescript-eslint/eslint-plugin@5.62.0)(eslint@8.57.0) + husky: + specifier: ^8.0.3 + version: 8.0.3 + lint-staged: + specifier: ^13.3.0 + version: 13.3.0 + postcss: + specifier: ^8.4.31 + version: 8.4.38 + postcss-import: + specifier: ^15.1.0 + version: 15.1.0(postcss@8.4.38) + postcss-nesting: + specifier: ^11.3.0 + version: 11.3.0(postcss@8.4.38) + prettier: + specifier: ^2.8.8 + version: 2.8.8 + prettier-plugin-tailwindcss: + specifier: ^0.3.0 + version: 0.3.0(prettier@2.8.8) + react-dev-inspector: + specifier: ^2.0.0 + version: 2.0.1(eslint@8.57.0)(react@18.3.0)(typescript@5.4.5)(webpack@5.91.0) + rollup-plugin-visualizer: + specifier: ^5.9.2 + version: 5.12.0 + sass: + specifier: ^1.69.3 + version: 1.75.0 + stylelint: + specifier: ^15.10.3 + version: 15.11.0(typescript@5.4.5) + stylelint-config-rational-order: + specifier: ^0.1.2 + version: 0.1.2 + stylelint-config-standard: + specifier: ^33.0.0 + version: 33.0.0(stylelint@15.11.0) + stylelint-declaration-block-no-ignored-properties: + specifier: ^2.7.0 + version: 2.8.0(stylelint@15.11.0) + stylelint-order: + specifier: ^6.0.3 + version: 6.0.4(stylelint@15.11.0) + tailwindcss: + specifier: ^3.3.3 + version: 3.4.3(ts-node@10.9.2) + terser: + specifier: ^5.26.0 + version: 5.30.4 + ts-node: + specifier: ^10.9.1 + version: 10.9.2(@types/node@20.12.7)(typescript@5.4.5) + typescript: + specifier: ^5.2.2 + version: 5.4.5 + vite-plugin-svg-icons: + specifier: ^2.0.1 + version: 2.0.1(vite@4.5.3) + vite-tsconfig-paths: + specifier: ^4.2.1 + version: 4.3.2(typescript@5.4.5)(vite@4.5.3) + +packages: + + /@aashutoshrathi/word-wrap@1.2.6: + resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} + engines: {node: '>=0.10.0'} + dev: true + + /@alloc/quick-lru@5.2.0: + resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} + engines: {node: '>=10'} + dev: true + + /@ampproject/remapping@2.3.0: + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + + /@ant-design/colors@7.0.2: + resolution: {integrity: sha512-7KJkhTiPiLHSu+LmMJnehfJ6242OCxSlR3xHVBecYxnMW8MS/878NXct1GqYARyL59fyeFdKRxXTfvR9SnDgJg==} + dependencies: + '@ctrl/tinycolor': 3.6.1 + dev: false + + /@ant-design/cssinjs@1.20.0(react-dom@18.3.0)(react@18.3.0): + resolution: {integrity: sha512-uG3iWzJxgNkADdZmc6W0Ci3iQAUOvLMcM8SnnmWq3r6JeocACft4ChnY/YWvI2Y+rG/68QBla/O+udke1yH3vg==} + peerDependencies: + react: '>=16.0.0' + react-dom: '>=16.0.0' + dependencies: + '@babel/runtime': 7.24.4 + '@emotion/hash': 0.8.0 + '@emotion/unitless': 0.7.5 + classnames: 2.5.1 + csstype: 3.1.3 + rc-util: 5.39.1(react-dom@18.3.0)(react@18.3.0) + react: 18.3.0 + react-dom: 18.3.0(react@18.3.0) + stylis: 4.3.2 + dev: false + + /@ant-design/icons-svg@4.4.2: + resolution: {integrity: sha512-vHbT+zJEVzllwP+CM+ul7reTEfBR0vgxFe7+lREAsAA7YGsYpboiq2sQNeQeRvh09GfQgs/GyFEvZpJ9cLXpXA==} + dev: false + + /@ant-design/icons@5.3.6(react-dom@18.3.0)(react@18.3.0): + resolution: {integrity: sha512-JeWsgNjvkTTC73YDPgWOgdScRku/iHN9JU0qk39OSEmJSCiRghQMLlxGTCY5ovbRRoXjxHXnUKgQEgBDnQfKmA==} + engines: {node: '>=8'} + peerDependencies: + react: '>=16.0.0' + react-dom: '>=16.0.0' + dependencies: + '@ant-design/colors': 7.0.2 + '@ant-design/icons-svg': 4.4.2 + '@babel/runtime': 7.24.4 + classnames: 2.5.1 + rc-util: 5.39.1(react-dom@18.3.0)(react@18.3.0) + react: 18.3.0 + react-dom: 18.3.0(react@18.3.0) + dev: false + + /@ant-design/react-slick@1.1.2(react@18.3.0): + resolution: {integrity: sha512-EzlvzE6xQUBrZuuhSAFTdsr4P2bBBHGZwKFemEfq8gIGyIQCxalYfZW/T2ORbtQx5rU69o+WycP3exY/7T1hGA==} + peerDependencies: + react: '>=16.9.0' + dependencies: + '@babel/runtime': 7.24.4 + classnames: 2.5.1 + json2mq: 0.2.0 + react: 18.3.0 + resize-observer-polyfill: 1.5.1 + throttle-debounce: 5.0.0 + dev: false + + /@babel/code-frame@7.24.2: + resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.24.2 + picocolors: 1.0.0 + + /@babel/compat-data@7.24.4: + resolution: {integrity: sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==} + engines: {node: '>=6.9.0'} + + /@babel/core@7.24.4: + resolution: {integrity: sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.24.2 + '@babel/generator': 7.24.4 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4) + '@babel/helpers': 7.24.4 + '@babel/parser': 7.24.4 + '@babel/template': 7.24.0 + '@babel/traverse': 7.24.1 + '@babel/types': 7.24.0 + convert-source-map: 2.0.0 + debug: 4.3.4 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + /@babel/generator@7.24.4: + resolution: {integrity: sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.0 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 2.5.2 + + /@babel/helper-compilation-targets@7.23.6: + resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/compat-data': 7.24.4 + '@babel/helper-validator-option': 7.23.5 + browserslist: 4.23.0 + lru-cache: 5.1.1 + semver: 6.3.1 + + /@babel/helper-environment-visitor@7.22.20: + resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} + engines: {node: '>=6.9.0'} + + /@babel/helper-function-name@7.23.0: + resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.24.0 + '@babel/types': 7.24.0 + + /@babel/helper-hoist-variables@7.22.5: + resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.0 + + /@babel/helper-module-imports@7.24.3: + resolution: {integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.0 + + /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.4): + resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-module-imports': 7.24.3 + '@babel/helper-simple-access': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-validator-identifier': 7.22.20 + + /@babel/helper-plugin-utils@7.24.0: + resolution: {integrity: sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==} + engines: {node: '>=6.9.0'} + dev: false + + /@babel/helper-simple-access@7.22.5: + resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.0 + + /@babel/helper-split-export-declaration@7.22.6: + resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.0 + + /@babel/helper-string-parser@7.24.1: + resolution: {integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==} + engines: {node: '>=6.9.0'} + + /@babel/helper-validator-identifier@7.22.20: + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + engines: {node: '>=6.9.0'} + + /@babel/helper-validator-option@7.23.5: + resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} + engines: {node: '>=6.9.0'} + + /@babel/helpers@7.24.4: + resolution: {integrity: sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.24.0 + '@babel/traverse': 7.24.1 + '@babel/types': 7.24.0 + transitivePeerDependencies: + - supports-color + + /@babel/highlight@7.24.2: + resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.22.20 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.0.0 + + /@babel/parser@7.24.4: + resolution: {integrity: sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.20.5 + + /@babel/plugin-transform-react-jsx-self@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-kDJgnPujTmAZ/9q2CN4m2/lRsUUPDvsG3+tSHWUJIzMGTt5U/b/fwWd3RO3n+5mjLrsBrVa5eKFRVSQbi3dF1w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + dev: false + + /@babel/plugin-transform-react-jsx-source@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-1v202n7aUq4uXAieRTKcwPzNyphlCuqHHDcdSNc+vdhoTEZcFMh+L5yZuCmGaIO7bs1nJUNfHB89TZyoL48xNA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + dev: false + + /@babel/runtime@7.24.4: + resolution: {integrity: sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==} + engines: {node: '>=6.9.0'} + dependencies: + regenerator-runtime: 0.14.1 + + /@babel/template@7.24.0: + resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.24.2 + '@babel/parser': 7.24.4 + '@babel/types': 7.24.0 + + /@babel/traverse@7.24.1: + resolution: {integrity: sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.24.2 + '@babel/generator': 7.24.4 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/parser': 7.24.4 + '@babel/types': 7.24.0 + debug: 4.3.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + + /@babel/types@7.20.5: + resolution: {integrity: sha512-c9fst/h2/dcF7H+MJKZ2T0KjEQ8hY/BNnDk/H3XY8C4Aw/eWQXWn/lWntHF9ooUBnGmEvbfGrTgLWc+um0YDUg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.24.1 + '@babel/helper-validator-identifier': 7.22.20 + to-fast-properties: 2.0.0 + + /@babel/types@7.24.0: + resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.24.1 + '@babel/helper-validator-identifier': 7.22.20 + to-fast-properties: 2.0.0 + + /@commitlint/cli@17.8.1: + resolution: {integrity: sha512-ay+WbzQesE0Rv4EQKfNbSMiJJ12KdKTDzIt0tcK4k11FdsWmtwP0Kp1NWMOUswfIWo6Eb7p7Ln721Nx9FLNBjg==} + engines: {node: '>=v14'} + hasBin: true + dependencies: + '@commitlint/format': 17.8.1 + '@commitlint/lint': 17.8.1 + '@commitlint/load': 17.8.1 + '@commitlint/read': 17.8.1 + '@commitlint/types': 17.8.1 + execa: 5.1.1 + lodash.isfunction: 3.0.9 + resolve-from: 5.0.0 + resolve-global: 1.0.0 + yargs: 17.7.2 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + dev: true + + /@commitlint/config-conventional@17.8.1: + resolution: {integrity: sha512-NxCOHx1kgneig3VLauWJcDWS40DVjg7nKOpBEEK9E5fjJpQqLCilcnKkIIjdBH98kEO1q3NpE5NSrZ2kl/QGJg==} + engines: {node: '>=v14'} + dependencies: + conventional-changelog-conventionalcommits: 6.1.0 + dev: true + + /@commitlint/config-validator@17.8.1: + resolution: {integrity: sha512-UUgUC+sNiiMwkyiuIFR7JG2cfd9t/7MV8VB4TZ+q02ZFkHoduUS4tJGsCBWvBOGD9Btev6IecPMvlWUfJorkEA==} + engines: {node: '>=v14'} + dependencies: + '@commitlint/types': 17.8.1 + ajv: 8.12.0 + dev: true + + /@commitlint/ensure@17.8.1: + resolution: {integrity: sha512-xjafwKxid8s1K23NFpL8JNo6JnY/ysetKo8kegVM7c8vs+kWLP8VrQq+NbhgVlmCojhEDbzQKp4eRXSjVOGsow==} + engines: {node: '>=v14'} + dependencies: + '@commitlint/types': 17.8.1 + lodash.camelcase: 4.3.0 + lodash.kebabcase: 4.1.1 + lodash.snakecase: 4.1.1 + lodash.startcase: 4.4.0 + lodash.upperfirst: 4.3.1 + dev: true + + /@commitlint/execute-rule@17.8.1: + resolution: {integrity: sha512-JHVupQeSdNI6xzA9SqMF+p/JjrHTcrJdI02PwesQIDCIGUrv04hicJgCcws5nzaoZbROapPs0s6zeVHoxpMwFQ==} + engines: {node: '>=v14'} + dev: true + + /@commitlint/format@17.8.1: + resolution: {integrity: sha512-f3oMTyZ84M9ht7fb93wbCKmWxO5/kKSbwuYvS867duVomoOsgrgljkGGIztmT/srZnaiGbaK8+Wf8Ik2tSr5eg==} + engines: {node: '>=v14'} + dependencies: + '@commitlint/types': 17.8.1 + chalk: 4.1.2 + dev: true + + /@commitlint/is-ignored@17.8.1: + resolution: {integrity: sha512-UshMi4Ltb4ZlNn4F7WtSEugFDZmctzFpmbqvpyxD3la510J+PLcnyhf9chs7EryaRFJMdAKwsEKfNK0jL/QM4g==} + engines: {node: '>=v14'} + dependencies: + '@commitlint/types': 17.8.1 + semver: 7.5.4 + dev: true + + /@commitlint/lint@17.8.1: + resolution: {integrity: sha512-aQUlwIR1/VMv2D4GXSk7PfL5hIaFSfy6hSHV94O8Y27T5q+DlDEgd/cZ4KmVI+MWKzFfCTiTuWqjfRSfdRllCA==} + engines: {node: '>=v14'} + dependencies: + '@commitlint/is-ignored': 17.8.1 + '@commitlint/parse': 17.8.1 + '@commitlint/rules': 17.8.1 + '@commitlint/types': 17.8.1 + dev: true + + /@commitlint/load@17.8.1: + resolution: {integrity: sha512-iF4CL7KDFstP1kpVUkT8K2Wl17h2yx9VaR1ztTc8vzByWWcbO/WaKwxsnCOqow9tVAlzPfo1ywk9m2oJ9ucMqA==} + engines: {node: '>=v14'} + dependencies: + '@commitlint/config-validator': 17.8.1 + '@commitlint/execute-rule': 17.8.1 + '@commitlint/resolve-extends': 17.8.1 + '@commitlint/types': 17.8.1 + '@types/node': 20.5.1 + chalk: 4.1.2 + cosmiconfig: 8.3.6(typescript@5.4.5) + cosmiconfig-typescript-loader: 4.4.0(@types/node@20.5.1)(cosmiconfig@8.3.6)(ts-node@10.9.2)(typescript@5.4.5) + lodash.isplainobject: 4.0.6 + lodash.merge: 4.6.2 + lodash.uniq: 4.5.0 + resolve-from: 5.0.0 + ts-node: 10.9.2(@types/node@20.5.1)(typescript@5.4.5) + typescript: 5.4.5 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + dev: true + + /@commitlint/message@17.8.1: + resolution: {integrity: sha512-6bYL1GUQsD6bLhTH3QQty8pVFoETfFQlMn2Nzmz3AOLqRVfNNtXBaSY0dhZ0dM6A2MEq4+2d7L/2LP8TjqGRkA==} + engines: {node: '>=v14'} + dev: true + + /@commitlint/parse@17.8.1: + resolution: {integrity: sha512-/wLUickTo0rNpQgWwLPavTm7WbwkZoBy3X8PpkUmlSmQJyWQTj0m6bDjiykMaDt41qcUbfeFfaCvXfiR4EGnfw==} + engines: {node: '>=v14'} + dependencies: + '@commitlint/types': 17.8.1 + conventional-changelog-angular: 6.0.0 + conventional-commits-parser: 4.0.0 + dev: true + + /@commitlint/read@17.8.1: + resolution: {integrity: sha512-Fd55Oaz9irzBESPCdMd8vWWgxsW3OWR99wOntBDHgf9h7Y6OOHjWEdS9Xzen1GFndqgyoaFplQS5y7KZe0kO2w==} + engines: {node: '>=v14'} + dependencies: + '@commitlint/top-level': 17.8.1 + '@commitlint/types': 17.8.1 + fs-extra: 11.2.0 + git-raw-commits: 2.0.11 + minimist: 1.2.8 + dev: true + + /@commitlint/resolve-extends@17.8.1: + resolution: {integrity: sha512-W/ryRoQ0TSVXqJrx5SGkaYuAaE/BUontL1j1HsKckvM6e5ZaG0M9126zcwL6peKSuIetJi7E87PRQF8O86EW0Q==} + engines: {node: '>=v14'} + dependencies: + '@commitlint/config-validator': 17.8.1 + '@commitlint/types': 17.8.1 + import-fresh: 3.3.0 + lodash.mergewith: 4.6.2 + resolve-from: 5.0.0 + resolve-global: 1.0.0 + dev: true + + /@commitlint/rules@17.8.1: + resolution: {integrity: sha512-2b7OdVbN7MTAt9U0vKOYKCDsOvESVXxQmrvuVUZ0rGFMCrCPJWWP1GJ7f0lAypbDAhaGb8zqtdOr47192LBrIA==} + engines: {node: '>=v14'} + dependencies: + '@commitlint/ensure': 17.8.1 + '@commitlint/message': 17.8.1 + '@commitlint/to-lines': 17.8.1 + '@commitlint/types': 17.8.1 + execa: 5.1.1 + dev: true + + /@commitlint/to-lines@17.8.1: + resolution: {integrity: sha512-LE0jb8CuR/mj6xJyrIk8VLz03OEzXFgLdivBytoooKO5xLt5yalc8Ma5guTWobw998sbR3ogDd+2jed03CFmJA==} + engines: {node: '>=v14'} + dev: true + + /@commitlint/top-level@17.8.1: + resolution: {integrity: sha512-l6+Z6rrNf5p333SHfEte6r+WkOxGlWK4bLuZKbtf/2TXRN+qhrvn1XE63VhD8Oe9oIHQ7F7W1nG2k/TJFhx2yA==} + engines: {node: '>=v14'} + dependencies: + find-up: 5.0.0 + dev: true + + /@commitlint/types@17.8.1: + resolution: {integrity: sha512-PXDQXkAmiMEG162Bqdh9ChML/GJZo6vU+7F03ALKDK8zYc6SuAr47LjG7hGYRqUOz+WK0dU7bQ0xzuqFMdxzeQ==} + engines: {node: '>=v14'} + dependencies: + chalk: 4.1.2 + dev: true + + /@cspotcode/source-map-support@0.8.1: + resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/trace-mapping': 0.3.9 + dev: true + + /@csstools/css-parser-algorithms@2.6.1(@csstools/css-tokenizer@2.2.4): + resolution: {integrity: sha512-ubEkAaTfVZa+WwGhs5jbo5Xfqpeaybr/RvWzvFxRs4jfq16wH8l8Ty/QEEpINxll4xhuGfdMbipRyz5QZh9+FA==} + engines: {node: ^14 || ^16 || >=18} + peerDependencies: + '@csstools/css-tokenizer': ^2.2.4 + dependencies: + '@csstools/css-tokenizer': 2.2.4 + dev: true + + /@csstools/css-tokenizer@2.2.4: + resolution: {integrity: sha512-PuWRAewQLbDhGeTvFuq2oClaSCKPIBmHyIobCV39JHRYN0byDcUWJl5baPeNUcqrjtdMNqFooE0FGl31I3JOqw==} + engines: {node: ^14 || ^16 || >=18} + dev: true + + /@csstools/media-query-list-parser@2.1.9(@csstools/css-parser-algorithms@2.6.1)(@csstools/css-tokenizer@2.2.4): + resolution: {integrity: sha512-qqGuFfbn4rUmyOB0u8CVISIp5FfJ5GAR3mBrZ9/TKndHakdnm6pY0L/fbLcpPnrzwCyyTEZl1nUcXAYHEWneTA==} + engines: {node: ^14 || ^16 || >=18} + peerDependencies: + '@csstools/css-parser-algorithms': ^2.6.1 + '@csstools/css-tokenizer': ^2.2.4 + dependencies: + '@csstools/css-parser-algorithms': 2.6.1(@csstools/css-tokenizer@2.2.4) + '@csstools/css-tokenizer': 2.2.4 + dev: true + + /@csstools/selector-specificity@2.2.0(postcss-selector-parser@6.0.16): + resolution: {integrity: sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==} + engines: {node: ^14 || ^16 || >=18} + peerDependencies: + postcss-selector-parser: ^6.0.10 + dependencies: + postcss-selector-parser: 6.0.16 + dev: true + + /@csstools/selector-specificity@3.0.3(postcss-selector-parser@6.0.16): + resolution: {integrity: sha512-KEPNw4+WW5AVEIyzC80rTbWEUatTW2lXpN8+8ILC8PiPeWPjwUzrPZDIOZ2wwqDmeqOYTdSGyL3+vE5GC3FB3Q==} + engines: {node: ^14 || ^16 || >=18} + peerDependencies: + postcss-selector-parser: ^6.0.13 + dependencies: + postcss-selector-parser: 6.0.16 + dev: true + + /@ctrl/tinycolor@3.6.1: + resolution: {integrity: sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==} + engines: {node: '>=10'} + dev: false + + /@emotion/babel-plugin@11.11.0: + resolution: {integrity: sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ==} + dependencies: + '@babel/helper-module-imports': 7.24.3 + '@babel/runtime': 7.24.4 + '@emotion/hash': 0.9.1 + '@emotion/memoize': 0.8.1 + '@emotion/serialize': 1.1.4 + 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 + dev: false + + /@emotion/cache@11.11.0: + resolution: {integrity: sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ==} + dependencies: + '@emotion/memoize': 0.8.1 + '@emotion/sheet': 1.2.2 + '@emotion/utils': 1.2.1 + '@emotion/weak-memoize': 0.3.1 + stylis: 4.2.0 + dev: false + + /@emotion/css@11.11.2: + resolution: {integrity: sha512-VJxe1ucoMYMS7DkiMdC2T7PWNbrEI0a39YRiyDvK2qq4lXwjRbVP/z4lpG+odCsRzadlR+1ywwrTzhdm5HNdew==} + dependencies: + '@emotion/babel-plugin': 11.11.0 + '@emotion/cache': 11.11.0 + '@emotion/serialize': 1.1.4 + '@emotion/sheet': 1.2.2 + '@emotion/utils': 1.2.1 + dev: false + + /@emotion/hash@0.8.0: + resolution: {integrity: sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==} + dev: false + + /@emotion/hash@0.9.1: + resolution: {integrity: sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==} + dev: false + + /@emotion/is-prop-valid@0.8.8: + resolution: {integrity: sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==} + requiresBuild: true + dependencies: + '@emotion/memoize': 0.7.4 + dev: false + optional: true + + /@emotion/is-prop-valid@1.2.1: + resolution: {integrity: sha512-61Mf7Ufx4aDxx1xlDeOm8aFFigGHE4z+0sKCa+IHCeZKiyP9RLD0Mmx7m8b9/Cf37f7NAvQOOJAbQQGVr5uERw==} + dependencies: + '@emotion/memoize': 0.8.1 + dev: false + + /@emotion/memoize@0.7.4: + resolution: {integrity: sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==} + requiresBuild: true + dev: false + optional: true + + /@emotion/memoize@0.8.1: + resolution: {integrity: sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==} + dev: false + + /@emotion/serialize@1.1.4: + resolution: {integrity: sha512-RIN04MBT8g+FnDwgvIUi8czvr1LU1alUMI05LekWB5DGyTm8cCBMCRpq3GqaiyEDRptEXOyXnvZ58GZYu4kBxQ==} + dependencies: + '@emotion/hash': 0.9.1 + '@emotion/memoize': 0.8.1 + '@emotion/unitless': 0.8.1 + '@emotion/utils': 1.2.1 + csstype: 3.1.3 + dev: false + + /@emotion/sheet@1.2.2: + resolution: {integrity: sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA==} + dev: false + + /@emotion/unitless@0.7.5: + resolution: {integrity: sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==} + dev: false + + /@emotion/unitless@0.8.0: + resolution: {integrity: sha512-VINS5vEYAscRl2ZUDiT3uMPlrFQupiKgHz5AA4bCH1miKBg4qtwkim1qPmJj/4WG6TreYMY111rEFsjupcOKHw==} + dev: false + + /@emotion/unitless@0.8.1: + resolution: {integrity: sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==} + dev: false + + /@emotion/utils@1.2.1: + resolution: {integrity: sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg==} + dev: false + + /@emotion/weak-memoize@0.3.1: + resolution: {integrity: sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==} + dev: false + + /@esbuild/android-arm64@0.18.20: + resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + optional: true + + /@esbuild/android-arm@0.18.20: + resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + optional: true + + /@esbuild/android-x64@0.18.20: + resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + optional: true + + /@esbuild/darwin-arm64@0.18.20: + resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + optional: true + + /@esbuild/darwin-x64@0.18.20: + resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + optional: true + + /@esbuild/freebsd-arm64@0.18.20: + resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + optional: true + + /@esbuild/freebsd-x64@0.18.20: + resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + optional: true + + /@esbuild/linux-arm64@0.18.20: + resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-arm@0.18.20: + resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-ia32@0.18.20: + resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-loong64@0.18.20: + resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-mips64el@0.18.20: + resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-ppc64@0.18.20: + resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-riscv64@0.18.20: + resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-s390x@0.18.20: + resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-x64@0.18.20: + resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/netbsd-x64@0.18.20: + resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + optional: true + + /@esbuild/openbsd-x64@0.18.20: + resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + optional: true + + /@esbuild/sunos-x64@0.18.20: + resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + optional: true + + /@esbuild/win32-arm64@0.18.20: + resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + optional: true + + /@esbuild/win32-ia32@0.18.20: + resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + optional: true + + /@esbuild/win32-x64@0.18.20: + resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + optional: true + + /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.57.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@eslint-community/regexpp@4.10.0: + resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + dev: true + + /@eslint/eslintrc@2.1.4: + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 9.6.1 + globals: 13.24.0 + ignore: 5.3.1 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@eslint/js@8.57.0: + resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /@fullcalendar/common@5.11.5: + resolution: {integrity: sha512-3iAYiUbHXhjSVXnYWz27Od2cslztUPsOwiwKlfGvQxBixv2Kl6a8IPwaijKFYJHXdwYmfPoEgK7rvqAGVoIYwA==} + dependencies: + tslib: 2.6.2 + dev: false + + /@fullcalendar/core@6.1.11: + resolution: {integrity: sha512-TjG7c8sUz+Vkui2FyCNJ+xqyu0nq653Ibe99A66LoW95oBo6tVhhKIaG1Wh0GVKymYiqAQN/OEdYTuj4ay27kA==} + dependencies: + preact: 10.12.1 + dev: false + + /@fullcalendar/daygrid@6.1.11(@fullcalendar/core@6.1.11): + resolution: {integrity: sha512-hF5jJB7cgUIxWD5MVjj8IU407HISyLu7BWXcEIuTytkfr8oolOXeCazqnnjmRbnFOncoJQVstTtq6SIhaT32Xg==} + peerDependencies: + '@fullcalendar/core': ~6.1.11 + dependencies: + '@fullcalendar/core': 6.1.11 + dev: false + + /@fullcalendar/interaction@6.1.11(@fullcalendar/core@6.1.11): + resolution: {integrity: sha512-ynOKjzuPwEAMgTQ6R/Z2zvzIIqG4p8/Qmnhi1q0vzPZZxSIYx3rlZuvpEK2WGBZZ1XEafDOP/LGfbWoNZe+qdg==} + peerDependencies: + '@fullcalendar/core': ~6.1.11 + dependencies: + '@fullcalendar/core': 6.1.11 + dev: false + + /@fullcalendar/list@6.1.11(@fullcalendar/core@6.1.11): + resolution: {integrity: sha512-9Qx8uvik9pXD12u50FiHwNzlHv4wkhfsr+r03ycahW7vEeIAKCsIZGTkUfFP+96I5wHihrfLazu1cFQG4MPiuw==} + peerDependencies: + '@fullcalendar/core': ~6.1.11 + dependencies: + '@fullcalendar/core': 6.1.11 + dev: false + + /@fullcalendar/premium-common@6.1.11(@fullcalendar/core@6.1.11): + resolution: {integrity: sha512-3WsSizkGDJEu+AlgQlFXKI+/DYCYTRp0PQRz0vS63qKBEUsVzfSD0oi/7jCylZJlCUteIjbi4Hu1I2I5o6UHrQ==} + peerDependencies: + '@fullcalendar/core': ~6.1.11 + dependencies: + '@fullcalendar/core': 6.1.11 + dev: false + + /@fullcalendar/react@6.1.11(@fullcalendar/core@6.1.11)(react-dom@18.3.0)(react@18.3.0): + resolution: {integrity: sha512-Og0Tv0OiglTFp+b++yRyEhAeWnAmKkMLQ3iS0eJE1KDEov6QqGkoO+dUG4x8zp2w55IJqzik/a9iHi0s3oQDbA==} + peerDependencies: + '@fullcalendar/core': ~6.1.11 + react: ^16.7.0 || ^17 || ^18 + react-dom: ^16.7.0 || ^17 || ^18 + dependencies: + '@fullcalendar/core': 6.1.11 + react: 18.3.0 + react-dom: 18.3.0(react@18.3.0) + dev: false + + /@fullcalendar/scrollgrid@6.1.11(@fullcalendar/core@6.1.11): + resolution: {integrity: sha512-GRhhU8ACHqgfxdMnP59VPThfNG3Stkp9zq1sLnI992g1fZQ+V2UhYvl5qhu3eEVSp2KTDPx4NaoR35cQGrC1Mw==} + peerDependencies: + '@fullcalendar/core': ~6.1.11 + dependencies: + '@fullcalendar/core': 6.1.11 + '@fullcalendar/premium-common': 6.1.11(@fullcalendar/core@6.1.11) + dev: false + + /@fullcalendar/timegrid@6.1.11(@fullcalendar/core@6.1.11): + resolution: {integrity: sha512-0seUHK/ferH89IeuCvV4Bib0zWjgK0nsptNdmAc9wDBxD/d9hm5Mdti0URJX6bDoRtsSfRDu5XsRcrzwoc+AUQ==} + peerDependencies: + '@fullcalendar/core': ~6.1.11 + dependencies: + '@fullcalendar/core': 6.1.11 + '@fullcalendar/daygrid': 6.1.11(@fullcalendar/core@6.1.11) + dev: false + + /@fullcalendar/timeline@6.1.11(@fullcalendar/core@6.1.11): + resolution: {integrity: sha512-MGUEAHlFBWxpuhSWhZbHOtD9i+b8GZjqNV82MH+vwPHq1Jjqe8qj9Wby00vKikdWH+RuAB+IuiKjQaROEU0Ecw==} + peerDependencies: + '@fullcalendar/core': ~6.1.11 + dependencies: + '@fullcalendar/core': 6.1.11 + '@fullcalendar/premium-common': 6.1.11(@fullcalendar/core@6.1.11) + '@fullcalendar/scrollgrid': 6.1.11(@fullcalendar/core@6.1.11) + dev: false + + /@hcaptcha/loader@1.2.4: + resolution: {integrity: sha512-3MNrIy/nWBfyVVvMPBKdKrX7BeadgiimW0AL/a/8TohNtJqxoySKgTJEXOQvYwlHemQpUzFrIsK74ody7JiMYw==} + dev: false + + /@hcaptcha/react-hcaptcha@1.10.1(react-dom@18.3.0)(react@18.3.0): + resolution: {integrity: sha512-P0en4gEZAecah7Pt3WIaJO2gFlaLZKkI0+Tfdg8fNqsDxqT9VytZWSkH4WAkiPRULK1QcGgUZK+J56MXYmPifw==} + peerDependencies: + react: '>= 16.3.0' + react-dom: '>= 16.3.0' + dependencies: + '@babel/runtime': 7.24.4 + '@hcaptcha/loader': 1.2.4 + react: 18.3.0 + react-dom: 18.3.0(react@18.3.0) + dev: false + + /@humanwhocodes/config-array@0.11.14: + resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} + engines: {node: '>=10.10.0'} + dependencies: + '@humanwhocodes/object-schema': 2.0.3 + debug: 4.3.4 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@humanwhocodes/module-importer@1.0.1: + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + dev: true + + /@humanwhocodes/object-schema@2.0.3: + resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} + dev: true + + /@iconify/react@4.1.1(react@18.3.0): + resolution: {integrity: sha512-jed14EjvKjee8mc0eoscGxlg7mSQRkwQG3iX3cPBCO7UlOjz0DtlvTqxqEcHUJGh+z1VJ31Yhu5B9PxfO0zbdg==} + peerDependencies: + react: '>=16' + dependencies: + '@iconify/types': 2.0.0 + react: 18.3.0 + dev: false + + /@iconify/types@2.0.0: + resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} + dev: false + + /@isaacs/cliui@8.0.2: + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + dependencies: + string-width: 5.1.2 + string-width-cjs: /string-width@4.2.3 + strip-ansi: 7.1.0 + strip-ansi-cjs: /strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: /wrap-ansi@7.0.0 + dev: true + + /@jridgewell/gen-mapping@0.3.5: + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.25 + + /@jridgewell/resolve-uri@3.1.2: + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + /@jridgewell/set-array@1.2.1: + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + + /@jridgewell/source-map@0.3.6: + resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==} + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + + /@jridgewell/sourcemap-codec@1.4.15: + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + + /@jridgewell/trace-mapping@0.3.25: + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + + /@jridgewell/trace-mapping@0.3.9: + resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + + /@mrmlnc/readdir-enhanced@2.2.1: + resolution: {integrity: sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==} + engines: {node: '>=4'} + dependencies: + call-me-maybe: 1.0.2 + glob-to-regexp: 0.3.0 + dev: true + + /@nodelib/fs.scandir@2.1.5: + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + dev: true + + /@nodelib/fs.stat@1.1.3: + resolution: {integrity: sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==} + engines: {node: '>= 6'} + dev: true + + /@nodelib/fs.stat@2.0.5: + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + dev: true + + /@nodelib/fs.walk@1.2.8: + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.17.1 + dev: true + + /@pkgjs/parseargs@0.11.0: + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + requiresBuild: true + dev: true + optional: true + + /@rc-component/color-picker@1.5.3(react-dom@18.3.0)(react@18.3.0): + resolution: {integrity: sha512-+tGGH3nLmYXTalVe0L8hSZNs73VTP5ueSHwUlDC77KKRaN7G4DS4wcpG5DTDzdcV/Yas+rzA6UGgIyzd8fS4cw==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.24.4 + '@ctrl/tinycolor': 3.6.1 + classnames: 2.5.1 + rc-util: 5.39.1(react-dom@18.3.0)(react@18.3.0) + react: 18.3.0 + react-dom: 18.3.0(react@18.3.0) + dev: false + + /@rc-component/context@1.4.0(react-dom@18.3.0)(react@18.3.0): + resolution: {integrity: sha512-kFcNxg9oLRMoL3qki0OMxK+7g5mypjgaaJp/pkOis/6rVxma9nJBF/8kCIuTYHUQNr0ii7MxqE33wirPZLJQ2w==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.24.4 + rc-util: 5.39.1(react-dom@18.3.0)(react@18.3.0) + react: 18.3.0 + react-dom: 18.3.0(react@18.3.0) + dev: false + + /@rc-component/mini-decimal@1.1.0: + resolution: {integrity: sha512-jS4E7T9Li2GuYwI6PyiVXmxTiM6b07rlD9Ge8uGZSCz3WlzcG5ZK7g5bbuKNeZ9pgUuPK/5guV781ujdVpm4HQ==} + engines: {node: '>=8.x'} + dependencies: + '@babel/runtime': 7.24.4 + dev: false + + /@rc-component/mutate-observer@1.1.0(react-dom@18.3.0)(react@18.3.0): + resolution: {integrity: sha512-QjrOsDXQusNwGZPf4/qRQasg7UFEj06XiCJ8iuiq/Io7CrHrgVi6Uuetw60WAMG1799v+aM8kyc+1L/GBbHSlw==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.24.4 + classnames: 2.5.1 + rc-util: 5.39.1(react-dom@18.3.0)(react@18.3.0) + react: 18.3.0 + react-dom: 18.3.0(react@18.3.0) + dev: false + + /@rc-component/portal@1.1.2(react-dom@18.3.0)(react@18.3.0): + resolution: {integrity: sha512-6f813C0IsasTZms08kfA8kPAGxbbkYToa8ALaiDIGGECU4i9hj8Plgbx0sNJDrey3EtHO30hmdaxtT0138xZcg==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.24.4 + classnames: 2.5.1 + rc-util: 5.39.1(react-dom@18.3.0)(react@18.3.0) + react: 18.3.0 + react-dom: 18.3.0(react@18.3.0) + dev: false + + /@rc-component/tour@1.14.2(react-dom@18.3.0)(react@18.3.0): + resolution: {integrity: sha512-A75DZ8LVvahBIvxooj3Gvf2sxe+CGOkmzPNX7ek0i0AJHyKZ1HXe5ieIGo3m0FMdZfVOlbCJ952Duq8VKAHk6g==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.24.4 + '@rc-component/portal': 1.1.2(react-dom@18.3.0)(react@18.3.0) + '@rc-component/trigger': 2.1.1(react-dom@18.3.0)(react@18.3.0) + classnames: 2.5.1 + rc-util: 5.39.1(react-dom@18.3.0)(react@18.3.0) + react: 18.3.0 + react-dom: 18.3.0(react@18.3.0) + dev: false + + /@rc-component/trigger@2.1.1(react-dom@18.3.0)(react@18.3.0): + resolution: {integrity: sha512-UjHkedkgtEcgQu87w1VuWug1idoDJV7VUt0swxHXRcmei2uu1AuUzGBPEUlmOmXGJ+YtTgZfVLi7kuAUKoZTMA==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.24.4 + '@rc-component/portal': 1.1.2(react-dom@18.3.0)(react@18.3.0) + classnames: 2.5.1 + rc-motion: 2.9.0(react-dom@18.3.0)(react@18.3.0) + rc-resize-observer: 1.4.0(react-dom@18.3.0)(react@18.3.0) + rc-util: 5.39.1(react-dom@18.3.0)(react@18.3.0) + react: 18.3.0 + react-dom: 18.3.0(react@18.3.0) + dev: false + + /@react-dev-inspector/babel-plugin@2.0.1: + resolution: {integrity: sha512-V2MzN9dj3uZu6NvAjSxXwa3+FOciVIuwAUwPLpO6ji5xpUyx8E6UiEng1QqzttdpacKHFKtkNYjtQAE+Lsqa5A==} + engines: {node: '>=12.0.0'} + dependencies: + '@babel/core': 7.24.4 + '@babel/generator': 7.24.4 + '@babel/parser': 7.24.4 + '@babel/traverse': 7.24.1 + '@babel/types': 7.20.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@react-dev-inspector/middleware@2.0.1(eslint@8.57.0)(typescript@5.4.5)(webpack@5.91.0): + resolution: {integrity: sha512-qDMtBzAxNNAX01jjU1THZVuNiVB7J1Hjk42k8iLSSwfinc3hk667iqgdzeq1Za1a0V2bF5Ev6D4+nkZ+E1YUrQ==} + engines: {node: '>=12.0.0'} + dependencies: + react-dev-utils: 12.0.1(eslint@8.57.0)(typescript@5.4.5)(webpack@5.91.0) + transitivePeerDependencies: + - eslint + - supports-color + - typescript + - vue-template-compiler + - webpack + dev: true + + /@react-dev-inspector/umi3-plugin@2.0.1(eslint@8.57.0)(typescript@5.4.5)(webpack@5.91.0): + resolution: {integrity: sha512-lRw65yKQdI/1BwrRXWJEHDJel4DWboOartGmR3S5xiTF+EiOLjmndxdA5LoVSdqbcggdtq5SWcsoZqI0TkhH7Q==} + engines: {node: '>=12.0.0'} + dependencies: + '@react-dev-inspector/babel-plugin': 2.0.1 + '@react-dev-inspector/middleware': 2.0.1(eslint@8.57.0)(typescript@5.4.5)(webpack@5.91.0) + transitivePeerDependencies: + - eslint + - supports-color + - typescript + - vue-template-compiler + - webpack + dev: true + + /@react-dev-inspector/umi4-plugin@2.0.1(eslint@8.57.0)(typescript@5.4.5)(webpack@5.91.0): + resolution: {integrity: sha512-vTefsJVAZsgpuO9IZ1ZFIoyryVUU+hjV8OPD8DfDU+po5LjVXc5Uncn+MkFOsT24AMpNdDvCnTRYiuSkFn8EsA==} + engines: {node: '>=12.0.0'} + dependencies: + '@react-dev-inspector/babel-plugin': 2.0.1 + '@react-dev-inspector/middleware': 2.0.1(eslint@8.57.0)(typescript@5.4.5)(webpack@5.91.0) + transitivePeerDependencies: + - eslint + - supports-color + - typescript + - vue-template-compiler + - webpack + dev: true + + /@react-dev-inspector/vite-plugin@2.0.1(eslint@8.57.0)(typescript@5.4.5)(webpack@5.91.0): + resolution: {integrity: sha512-J1eI7cIm2IXE6EwhHR1OyoefvobUJEn/vJWEBwOM5uW4JkkLwuVoV9vk++XJyAmKUNQ87gdWZvSWrI2LjfrSug==} + engines: {node: '>=12.0.0'} + dependencies: + '@react-dev-inspector/middleware': 2.0.1(eslint@8.57.0)(typescript@5.4.5)(webpack@5.91.0) + transitivePeerDependencies: + - eslint + - supports-color + - typescript + - vue-template-compiler + - webpack + dev: true + + /@remix-run/router@1.16.0: + resolution: {integrity: sha512-Quz1KOffeEf/zwkCBM3kBtH4ZoZ+pT3xIXBG4PPW/XFtDP7EGhtTiC2+gpL9GnR7+Qdet5Oa6cYSvwKYg6kN9Q==} + engines: {node: '>=14.0.0'} + dev: false + + /@tanstack/match-sorter-utils@8.15.1: + resolution: {integrity: sha512-PnVV3d2poenUM31ZbZi/yXkBu3J7kd5k2u51CGwwNojag451AjTH9N6n41yjXz2fpLeewleyLBmNS6+HcGDlXw==} + engines: {node: '>=12'} + dependencies: + remove-accents: 0.5.0 + dev: false + + /@tanstack/query-core@4.36.1: + resolution: {integrity: sha512-DJSilV5+ytBP1FbFcEJovv4rnnm/CokuVvrBEtW/Va9DvuJ3HksbXUJEpI0aV1KtuL4ZoO9AVE6PyNLzF7tLeA==} + dev: false + + /@tanstack/react-query-devtools@4.36.1(@tanstack/react-query@4.36.1)(react-dom@18.3.0)(react@18.3.0): + resolution: {integrity: sha512-WYku83CKP3OevnYSG8Y/QO9g0rT75v1om5IvcWUwiUZJ4LanYGLVCZ8TdFG5jfsq4Ej/lu2wwDAULEUnRIMBSw==} + peerDependencies: + '@tanstack/react-query': ^4.36.1 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + dependencies: + '@tanstack/match-sorter-utils': 8.15.1 + '@tanstack/react-query': 4.36.1(react-dom@18.3.0)(react@18.3.0) + react: 18.3.0 + react-dom: 18.3.0(react@18.3.0) + superjson: 1.13.3 + use-sync-external-store: 1.2.1(react@18.3.0) + dev: false + + /@tanstack/react-query@4.36.1(react-dom@18.3.0)(react@18.3.0): + resolution: {integrity: sha512-y7ySVHFyyQblPl3J3eQBWpXZkliroki3ARnBKsdJchlgt7yJLRDUcf4B8soufgiYt3pEQIkBWBx1N9/ZPIeUWw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-native: '*' + peerDependenciesMeta: + react-dom: + optional: true + react-native: + optional: true + dependencies: + '@tanstack/query-core': 4.36.1 + react: 18.3.0 + react-dom: 18.3.0(react@18.3.0) + use-sync-external-store: 1.2.1(react@18.3.0) + dev: false + + /@trysound/sax@0.2.0: + resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} + engines: {node: '>=10.13.0'} + dev: true + + /@tsconfig/node10@1.0.11: + resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} + dev: true + + /@tsconfig/node12@1.0.11: + resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} + dev: true + + /@tsconfig/node14@1.0.3: + resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} + dev: true + + /@tsconfig/node16@1.0.4: + resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} + dev: true + + /@types/autosuggest-highlight@3.2.3: + resolution: {integrity: sha512-8Mb21KWtpn6PvRQXjsKhrXIcxbSloGqNH50RntwGeJsGPW4xvNhfml+3kKulaKpO/7pgZfOmzsJz7VbepArlGQ==} + dev: true + + /@types/babel__core@7.20.5: + resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} + dependencies: + '@babel/parser': 7.24.4 + '@babel/types': 7.24.0 + '@types/babel__generator': 7.6.8 + '@types/babel__template': 7.4.4 + '@types/babel__traverse': 7.20.5 + dev: false + + /@types/babel__generator@7.6.8: + resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} + dependencies: + '@babel/types': 7.24.0 + dev: false + + /@types/babel__template@7.4.4: + resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} + dependencies: + '@babel/parser': 7.24.4 + '@babel/types': 7.24.0 + dev: false + + /@types/babel__traverse@7.20.5: + resolution: {integrity: sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==} + dependencies: + '@babel/types': 7.24.0 + dev: false + + /@types/color-convert@2.0.3: + resolution: {integrity: sha512-2Q6wzrNiuEvYxVQqhh7sXM2mhIhvZR/Paq4FdsQkOMgWsCIkKvSGj8Le1/XalulrmgOzPMqNa0ix+ePY4hTrfg==} + dependencies: + '@types/color-name': 1.1.4 + dev: true + + /@types/color-name@1.1.4: + resolution: {integrity: sha512-hulKeREDdLFesGQjl96+4aoJSHY5b2GRjagzzcqCfIrWhe5vkCqIvrLbqzBaI1q94Vg8DNJZZqTR5ocdWmWclg==} + dev: true + + /@types/color@3.0.6: + resolution: {integrity: sha512-NMiNcZFRUAiUUCCf7zkAelY8eV3aKqfbzyFQlXpPIEeoNDbsEHGpb854V3gzTsGKYj830I5zPuOwU/TP5/cW6A==} + dependencies: + '@types/color-convert': 2.0.3 + dev: true + + /@types/debug@4.1.12: + resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} + dependencies: + '@types/ms': 0.7.34 + dev: false + + /@types/eslint-scope@3.7.7: + resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} + dependencies: + '@types/eslint': 8.56.10 + '@types/estree': 1.0.5 + dev: true + + /@types/eslint@8.56.10: + resolution: {integrity: sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==} + dependencies: + '@types/estree': 1.0.5 + '@types/json-schema': 7.0.15 + dev: true + + /@types/estree@1.0.5: + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + dev: true + + /@types/glob@7.2.0: + resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} + dependencies: + '@types/minimatch': 5.1.2 + '@types/node': 20.12.7 + dev: true + + /@types/hast@2.3.10: + resolution: {integrity: sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==} + dependencies: + '@types/unist': 2.0.10 + dev: false + + /@types/history@4.7.11: + resolution: {integrity: sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==} + dev: true + + /@types/hoist-non-react-statics@3.3.5: + resolution: {integrity: sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg==} + dependencies: + '@types/react': 18.3.0 + hoist-non-react-statics: 3.3.2 + + /@types/humps@2.0.6: + resolution: {integrity: sha512-Fagm1/a/1J9gDKzGdtlPmmTN5eSw/aaTzHtj740oSfo+MODsSY2WglxMmhTdOglC8nxqUhGGQ+5HfVtBvxo3Kg==} + dev: true + + /@types/js-cookie@2.2.7: + resolution: {integrity: sha512-aLkWa0C0vO5b4Sr798E26QgOkss68Un0bLjs7u9qxzPT5CG+8DuNTffWES58YzJs3hrVAOs1wonycqEBqNJubA==} + dev: false + + /@types/json-schema@7.0.15: + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + dev: true + + /@types/json5@0.0.29: + resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} + dev: true + + /@types/lodash-es@4.17.12: + resolution: {integrity: sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==} + dependencies: + '@types/lodash': 4.17.0 + dev: false + + /@types/lodash@4.17.0: + resolution: {integrity: sha512-t7dhREVv6dbNj0q17X12j7yDG4bD/DHYX7o5/DbDxobP0HnGPgpRz2Ej77aL7TZT3DSw13fqUTj8J4mMnqa7WA==} + dev: false + + /@types/mdast@3.0.15: + resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==} + dependencies: + '@types/unist': 2.0.10 + dev: false + + /@types/minimatch@5.1.2: + resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==} + dev: true + + /@types/minimist@1.2.5: + resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==} + dev: true + + /@types/ms@0.7.34: + resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} + dev: false + + /@types/node@20.12.7: + resolution: {integrity: sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==} + dependencies: + undici-types: 5.26.5 + + /@types/node@20.5.1: + resolution: {integrity: sha512-4tT2UrL5LBqDwoed9wZ6N3umC4Yhz3W3FloMmiiG4JwmUJWpie0c7lcnUNd4gtMKuDEO4wRVS8B6Xa0uMRsMKg==} + dev: true + + /@types/normalize-package-data@2.4.4: + resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} + dev: true + + /@types/nprogress@0.2.3: + resolution: {integrity: sha512-k7kRA033QNtC+gLc4VPlfnue58CM1iQLgn1IMAU8VPHGOj7oIHPp9UlhedEnD/Gl8evoCjwkZjlBORtZ3JByUA==} + dev: true + + /@types/numeral@2.0.5: + resolution: {integrity: sha512-kH8I7OSSwQu9DS9JYdFWbuvhVzvFRoCPCkGxNwoGgaPeDfEPJlcxNvEOypZhQ3XXHsGbfIuYcxcJxKUfJHnRfw==} + dev: true + + /@types/parse-json@4.0.2: + resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} + + /@types/parse5@6.0.3: + resolution: {integrity: sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==} + dev: false + + /@types/prop-types@15.7.12: + resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==} + + /@types/quill@1.3.10: + resolution: {integrity: sha512-IhW3fPW+bkt9MLNlycw8u8fWb7oO7W5URC9MfZYHBlA24rex9rs23D5DETChu1zvgVdc5ka64ICjJOgQMr6Shw==} + dependencies: + parchment: 1.1.4 + dev: false + + /@types/ramda@0.29.12: + resolution: {integrity: sha512-sgIEjpJhdQPB52gDF4aphs9nl0xe54CR22DPdWqT8gQHjZYmVApgA0R3/CpMbl0Y8az2TEZrPNL2zy0EvjbkLA==} + dependencies: + types-ramda: 0.29.10 + dev: true + + /@types/react-beautiful-dnd@13.1.8: + resolution: {integrity: sha512-E3TyFsro9pQuK4r8S/OL6G99eq7p8v29sX0PM7oT8Z+PJfZvSQTx4zTQbUJ+QZXioAF0e7TGBEcA1XhYhCweyQ==} + dependencies: + '@types/react': 18.3.0 + dev: true + + /@types/react-dom@18.3.0: + resolution: {integrity: sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==} + dependencies: + '@types/react': 18.3.0 + dev: true + + /@types/react-reconciler@0.28.8: + resolution: {integrity: sha512-SN9c4kxXZonFhbX4hJrZy37yw9e7EIxcpHCxQv5JUS18wDE5ovkQKlqQEkufdJCCMfuI9BnjUJvhYeJ9x5Ra7g==} + dependencies: + '@types/react': 18.3.0 + dev: true + + /@types/react-redux@7.1.33: + resolution: {integrity: sha512-NF8m5AjWCkert+fosDsN3hAlHzpjSiXlVy9EgQEmLoBhaNXbmyeGs/aj5dQzKuF+/q+S7JQagorGDW8pJ28Hmg==} + dependencies: + '@types/hoist-non-react-statics': 3.3.5 + '@types/react': 18.3.0 + hoist-non-react-statics: 3.3.2 + redux: 4.2.1 + dev: false + + /@types/react-router-dom@5.3.3: + resolution: {integrity: sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==} + dependencies: + '@types/history': 4.7.11 + '@types/react': 18.3.0 + '@types/react-router': 5.1.20 + dev: true + + /@types/react-router@5.1.20: + resolution: {integrity: sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==} + dependencies: + '@types/history': 4.7.11 + '@types/react': 18.3.0 + dev: true + + /@types/react@18.3.0: + resolution: {integrity: sha512-DiUcKjzE6soLyln8NNZmyhcQjVv+WsUIFSqetMN0p8927OztKT4VTfFTqsbAi5oAGIcgOmOajlfBqyptDDjZRw==} + dependencies: + '@types/prop-types': 15.7.12 + csstype: 3.1.3 + + /@types/semver@7.5.8: + resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} + dev: true + + /@types/styled-components@5.1.34: + resolution: {integrity: sha512-mmiVvwpYklFIv9E8qfxuPyIt/OuyIrn6gMOAMOFUO3WJfSrSE+sGUoa4PiZj77Ut7bKZpaa6o1fBKS/4TOEvnA==} + dependencies: + '@types/hoist-non-react-statics': 3.3.5 + '@types/react': 18.3.0 + csstype: 3.1.3 + dev: true + + /@types/stylis@4.2.0: + resolution: {integrity: sha512-n4sx2bqL0mW1tvDf/loQ+aMX7GQD3lc3fkCMC55VFNDu/vBOabO+LTIeXKM14xK0ppk5TUGcWRjiSpIlUpghKw==} + dev: false + + /@types/svgo@2.6.4: + resolution: {integrity: sha512-l4cmyPEckf8moNYHdJ+4wkHvFxjyW6ulm9l4YGaOxeyBWPhBOT0gvni1InpFPdzx1dKf/2s62qGITwxNWnPQng==} + dependencies: + '@types/node': 20.12.7 + dev: true + + /@types/unist@2.0.10: + resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==} + + /@types/unist@3.0.2: + resolution: {integrity: sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==} + dev: true + + /@types/vfile-message@2.0.0: + resolution: {integrity: sha512-GpTIuDpb9u4zIO165fUy9+fXcULdD8HFRNli04GehoMVbeNq7D6OBnqSmg3lxZnC+UvgUhEWKxdKiwYUkGltIw==} + deprecated: This is a stub types definition. vfile-message provides its own type definitions, so you do not need this installed. + dependencies: + vfile-message: 4.0.2 + dev: true + + /@types/vfile@3.0.2: + resolution: {integrity: sha512-b3nLFGaGkJ9rzOcuXRfHkZMdjsawuDD0ENL9fzTophtBg8FJHSGbH7daXkEpcwy3v7Xol3pAvsmlYyFhR4pqJw==} + dependencies: + '@types/node': 20.12.7 + '@types/unist': 2.0.10 + '@types/vfile-message': 2.0.0 + dev: true + + /@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.57.0)(typescript@5.4.5): + 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 + dependencies: + '@eslint-community/regexpp': 4.10.0 + '@typescript-eslint/parser': 5.62.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/scope-manager': 5.62.0 + '@typescript-eslint/type-utils': 5.62.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.4.5) + debug: 4.3.4 + eslint: 8.57.0 + graphemer: 1.4.0 + ignore: 5.3.1 + natural-compare-lite: 1.4.0 + semver: 7.6.0 + tsutils: 3.21.0(typescript@5.4.5) + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.4.5): + 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 + dependencies: + '@typescript-eslint/scope-manager': 5.62.0 + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.4.5) + debug: 4.3.4 + eslint: 8.57.0 + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/scope-manager@5.62.0: + resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/visitor-keys': 5.62.0 + dev: true + + /@typescript-eslint/type-utils@5.62.0(eslint@8.57.0)(typescript@5.4.5): + resolution: {integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '*' + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.4.5) + '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.4.5) + debug: 4.3.4 + eslint: 8.57.0 + tsutils: 3.21.0(typescript@5.4.5) + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/types@5.62.0: + resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /@typescript-eslint/typescript-estree@5.62.0(typescript@5.4.5): + resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/visitor-keys': 5.62.0 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + semver: 7.6.0 + tsutils: 3.21.0(typescript@5.4.5) + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/utils@5.62.0(eslint@8.57.0)(typescript@5.4.5): + resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.8 + '@typescript-eslint/scope-manager': 5.62.0 + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.4.5) + eslint: 8.57.0 + eslint-scope: 5.1.1 + semver: 7.6.0 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@typescript-eslint/visitor-keys@5.62.0: + resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': 5.62.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@ungap/structured-clone@1.2.0: + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + dev: true + + /@vitejs/plugin-react@4.2.1(vite@4.5.3): + resolution: {integrity: sha512-oojO9IDc4nCUUi8qIR11KoQm0XFFLIwsRBwHRR4d/88IWghn1y6ckz/bJ8GHDCsYEJee8mDzqtJxh15/cisJNQ==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + vite: ^4.2.0 || ^5.0.0 + dependencies: + '@babel/core': 7.24.4 + '@babel/plugin-transform-react-jsx-self': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-react-jsx-source': 7.24.1(@babel/core@7.24.4) + '@types/babel__core': 7.20.5 + react-refresh: 0.14.1 + vite: 4.5.3(@types/node@20.12.7)(sass@1.75.0)(terser@5.30.4) + transitivePeerDependencies: + - supports-color + dev: false + + /@webassemblyjs/ast@1.12.1: + resolution: {integrity: sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==} + dependencies: + '@webassemblyjs/helper-numbers': 1.11.6 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + dev: true + + /@webassemblyjs/floating-point-hex-parser@1.11.6: + resolution: {integrity: sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==} + dev: true + + /@webassemblyjs/helper-api-error@1.11.6: + resolution: {integrity: sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==} + dev: true + + /@webassemblyjs/helper-buffer@1.12.1: + resolution: {integrity: sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==} + dev: true + + /@webassemblyjs/helper-numbers@1.11.6: + resolution: {integrity: sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==} + dependencies: + '@webassemblyjs/floating-point-hex-parser': 1.11.6 + '@webassemblyjs/helper-api-error': 1.11.6 + '@xtuc/long': 4.2.2 + dev: true + + /@webassemblyjs/helper-wasm-bytecode@1.11.6: + resolution: {integrity: sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==} + dev: true + + /@webassemblyjs/helper-wasm-section@1.12.1: + resolution: {integrity: sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==} + dependencies: + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-buffer': 1.12.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/wasm-gen': 1.12.1 + dev: true + + /@webassemblyjs/ieee754@1.11.6: + resolution: {integrity: sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==} + dependencies: + '@xtuc/ieee754': 1.2.0 + dev: true + + /@webassemblyjs/leb128@1.11.6: + resolution: {integrity: sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==} + dependencies: + '@xtuc/long': 4.2.2 + dev: true + + /@webassemblyjs/utf8@1.11.6: + resolution: {integrity: sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==} + dev: true + + /@webassemblyjs/wasm-edit@1.12.1: + resolution: {integrity: sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==} + dependencies: + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-buffer': 1.12.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/helper-wasm-section': 1.12.1 + '@webassemblyjs/wasm-gen': 1.12.1 + '@webassemblyjs/wasm-opt': 1.12.1 + '@webassemblyjs/wasm-parser': 1.12.1 + '@webassemblyjs/wast-printer': 1.12.1 + dev: true + + /@webassemblyjs/wasm-gen@1.12.1: + resolution: {integrity: sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==} + dependencies: + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/ieee754': 1.11.6 + '@webassemblyjs/leb128': 1.11.6 + '@webassemblyjs/utf8': 1.11.6 + dev: true + + /@webassemblyjs/wasm-opt@1.12.1: + resolution: {integrity: sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==} + dependencies: + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-buffer': 1.12.1 + '@webassemblyjs/wasm-gen': 1.12.1 + '@webassemblyjs/wasm-parser': 1.12.1 + dev: true + + /@webassemblyjs/wasm-parser@1.12.1: + resolution: {integrity: sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==} + dependencies: + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-api-error': 1.11.6 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/ieee754': 1.11.6 + '@webassemblyjs/leb128': 1.11.6 + '@webassemblyjs/utf8': 1.11.6 + dev: true + + /@webassemblyjs/wast-printer@1.12.1: + resolution: {integrity: sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==} + dependencies: + '@webassemblyjs/ast': 1.12.1 + '@xtuc/long': 4.2.2 + dev: true + + /@xobotyi/scrollbar-width@1.9.5: + resolution: {integrity: sha512-N8tkAACJx2ww8vFMneJmaAgmjAG1tnVBZJRLRcx061tmsLRZHSEZSLuGWnwPtunsSLvSqXQ2wfp7Mgqg1I+2dQ==} + dev: false + + /@xtuc/ieee754@1.2.0: + resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} + dev: true + + /@xtuc/long@4.2.2: + resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} + dev: true + + /@yr/monotone-cubic-spline@1.0.3: + resolution: {integrity: sha512-FQXkOta0XBSUPHndIKON2Y9JeQz5ZeMqLYZVVK93FliNBFm7LNMIZmY6FrMEB9XPcDbE2bekMbZD6kzDkxwYjA==} + dev: false + + /JSONStream@1.3.5: + resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} + hasBin: true + dependencies: + jsonparse: 1.3.1 + through: 2.3.8 + dev: true + + /acorn-import-assertions@1.9.0(acorn@8.11.3): + resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==} + peerDependencies: + acorn: ^8 + dependencies: + acorn: 8.11.3 + dev: true + + /acorn-jsx@5.3.2(acorn@8.11.3): + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 8.11.3 + dev: true + + /acorn-walk@8.3.2: + resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} + engines: {node: '>=0.4.0'} + dev: true + + /acorn@8.11.3: + resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} + engines: {node: '>=0.4.0'} + hasBin: true + + /address@1.2.2: + resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==} + engines: {node: '>= 10.0.0'} + dev: true + + /ajv-keywords@3.5.2(ajv@6.12.6): + resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} + peerDependencies: + ajv: ^6.9.1 + dependencies: + ajv: 6.12.6 + dev: true + + /ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + dev: true + + /ajv@8.12.0: + resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + dev: true + + /ansi-escapes@5.0.0: + resolution: {integrity: sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==} + engines: {node: '>=12'} + dependencies: + type-fest: 1.4.0 + dev: true + + /ansi-regex@2.1.1: + resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==} + engines: {node: '>=0.10.0'} + dev: true + + /ansi-regex@4.1.1: + resolution: {integrity: sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==} + engines: {node: '>=6'} + dev: true + + /ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + dev: true + + /ansi-regex@6.0.1: + resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + engines: {node: '>=12'} + dev: true + + /ansi-styles@2.2.1: + resolution: {integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==} + engines: {node: '>=0.10.0'} + dev: true + + /ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + dependencies: + color-convert: 1.9.3 + + /ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + dependencies: + color-convert: 2.0.1 + dev: true + + /ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + dev: true + + /antd@5.16.4(react-dom@18.3.0)(react@18.3.0): + resolution: {integrity: sha512-H3LtVz5hiNgs0lL8U6pzi11rluR6RDRw1cm2pWX6CsvgZmybWsaTBV2h+d+zmgFfuch53TWs5uztLdAldIoYYw==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@ant-design/colors': 7.0.2 + '@ant-design/cssinjs': 1.20.0(react-dom@18.3.0)(react@18.3.0) + '@ant-design/icons': 5.3.6(react-dom@18.3.0)(react@18.3.0) + '@ant-design/react-slick': 1.1.2(react@18.3.0) + '@babel/runtime': 7.24.4 + '@ctrl/tinycolor': 3.6.1 + '@rc-component/color-picker': 1.5.3(react-dom@18.3.0)(react@18.3.0) + '@rc-component/mutate-observer': 1.1.0(react-dom@18.3.0)(react@18.3.0) + '@rc-component/tour': 1.14.2(react-dom@18.3.0)(react@18.3.0) + '@rc-component/trigger': 2.1.1(react-dom@18.3.0)(react@18.3.0) + classnames: 2.5.1 + copy-to-clipboard: 3.3.3 + dayjs: 1.11.10 + qrcode.react: 3.1.0(react@18.3.0) + rc-cascader: 3.24.1(react-dom@18.3.0)(react@18.3.0) + rc-checkbox: 3.2.0(react-dom@18.3.0)(react@18.3.0) + rc-collapse: 3.7.3(react-dom@18.3.0)(react@18.3.0) + rc-dialog: 9.4.0(react-dom@18.3.0)(react@18.3.0) + rc-drawer: 7.1.0(react-dom@18.3.0)(react@18.3.0) + rc-dropdown: 4.2.0(react-dom@18.3.0)(react@18.3.0) + rc-field-form: 1.44.0(react-dom@18.3.0)(react@18.3.0) + rc-image: 7.6.0(react-dom@18.3.0)(react@18.3.0) + rc-input: 1.4.5(react-dom@18.3.0)(react@18.3.0) + rc-input-number: 9.0.0(react-dom@18.3.0)(react@18.3.0) + rc-mentions: 2.11.1(react-dom@18.3.0)(react@18.3.0) + rc-menu: 9.13.0(react-dom@18.3.0)(react@18.3.0) + rc-motion: 2.9.0(react-dom@18.3.0)(react@18.3.0) + rc-notification: 5.4.0(react-dom@18.3.0)(react@18.3.0) + rc-pagination: 4.0.4(react-dom@18.3.0)(react@18.3.0) + rc-picker: 4.4.2(dayjs@1.11.10)(react-dom@18.3.0)(react@18.3.0) + rc-progress: 4.0.0(react-dom@18.3.0)(react@18.3.0) + rc-rate: 2.12.0(react-dom@18.3.0)(react@18.3.0) + rc-resize-observer: 1.4.0(react-dom@18.3.0)(react@18.3.0) + rc-segmented: 2.3.0(react-dom@18.3.0)(react@18.3.0) + rc-select: 14.13.1(react-dom@18.3.0)(react@18.3.0) + rc-slider: 10.6.2(react-dom@18.3.0)(react@18.3.0) + rc-steps: 6.0.1(react-dom@18.3.0)(react@18.3.0) + rc-switch: 4.1.0(react-dom@18.3.0)(react@18.3.0) + rc-table: 7.45.4(react-dom@18.3.0)(react@18.3.0) + rc-tabs: 14.1.1(react-dom@18.3.0)(react@18.3.0) + rc-textarea: 1.6.3(react-dom@18.3.0)(react@18.3.0) + rc-tooltip: 6.2.0(react-dom@18.3.0)(react@18.3.0) + rc-tree: 5.8.5(react-dom@18.3.0)(react@18.3.0) + rc-tree-select: 5.19.0(react-dom@18.3.0)(react@18.3.0) + rc-upload: 4.5.2(react-dom@18.3.0)(react@18.3.0) + rc-util: 5.39.1(react-dom@18.3.0)(react@18.3.0) + react: 18.3.0 + react-dom: 18.3.0(react@18.3.0) + scroll-into-view-if-needed: 3.1.0 + throttle-debounce: 5.0.0 + transitivePeerDependencies: + - date-fns + - luxon + - moment + dev: false + + /any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + dev: true + + /anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + + /apexcharts@3.49.0: + resolution: {integrity: sha512-2T9HnbQFLCuYRPndQLmh+bEQFoz0meUbvASaGgiSKDuYhWcLBodJtIpKql2aOtMx4B/sHrWW0dm90HsW4+h2PQ==} + dependencies: + '@yr/monotone-cubic-spline': 1.0.3 + svg.draggable.js: 2.2.2 + svg.easing.js: 2.0.0 + svg.filter.js: 2.0.2 + svg.pathmorphing.js: 0.1.3 + svg.resize.js: 1.4.3 + svg.select.js: 3.0.1 + dev: false + + /arg@4.1.3: + resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} + dev: true + + /arg@5.0.2: + resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} + dev: true + + /argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + dependencies: + sprintf-js: 1.0.3 + dev: true + + /argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + dev: true + + /aria-query@5.3.0: + resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} + dependencies: + dequal: 2.0.3 + dev: true + + /arr-diff@4.0.0: + resolution: {integrity: sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==} + engines: {node: '>=0.10.0'} + dev: true + + /arr-flatten@1.1.0: + resolution: {integrity: sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==} + engines: {node: '>=0.10.0'} + dev: true + + /arr-union@3.1.0: + resolution: {integrity: sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==} + engines: {node: '>=0.10.0'} + dev: true + + /array-buffer-byte-length@1.0.1: + resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + is-array-buffer: 3.0.4 + dev: true + + /array-find-index@1.0.2: + resolution: {integrity: sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw==} + engines: {node: '>=0.10.0'} + dev: true + + /array-ify@1.0.0: + resolution: {integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==} + dev: true + + /array-includes@3.1.8: + resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-object-atoms: 1.0.0 + get-intrinsic: 1.2.4 + is-string: 1.0.7 + dev: true + + /array-tree-filter@2.1.0: + resolution: {integrity: sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw==} + dev: false + + /array-union@1.0.2: + resolution: {integrity: sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==} + engines: {node: '>=0.10.0'} + dependencies: + array-uniq: 1.0.3 + dev: true + + /array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + dev: true + + /array-uniq@1.0.3: + resolution: {integrity: sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==} + engines: {node: '>=0.10.0'} + dev: true + + /array-unique@0.3.2: + resolution: {integrity: sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==} + engines: {node: '>=0.10.0'} + dev: true + + /array.prototype.findlast@1.2.5: + resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + es-shim-unscopables: 1.0.2 + dev: true + + /array.prototype.findlastindex@1.2.5: + resolution: {integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + es-shim-unscopables: 1.0.2 + dev: true + + /array.prototype.flat@1.3.2: + resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-shim-unscopables: 1.0.2 + dev: true + + /array.prototype.flatmap@1.3.2: + resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-shim-unscopables: 1.0.2 + dev: true + + /array.prototype.toreversed@1.1.2: + resolution: {integrity: sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-shim-unscopables: 1.0.2 + dev: true + + /array.prototype.tosorted@1.1.3: + resolution: {integrity: sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + es-shim-unscopables: 1.0.2 + dev: true + + /arraybuffer.prototype.slice@1.0.3: + resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} + engines: {node: '>= 0.4'} + dependencies: + array-buffer-byte-length: 1.0.1 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + is-array-buffer: 3.0.4 + is-shared-array-buffer: 1.0.3 + dev: true + + /arrify@1.0.1: + resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} + engines: {node: '>=0.10.0'} + dev: true + + /assign-symbols@1.0.0: + resolution: {integrity: sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==} + engines: {node: '>=0.10.0'} + dev: true + + /ast-types-flow@0.0.8: + resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==} + dev: true + + /astral-regex@1.0.0: + resolution: {integrity: sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==} + engines: {node: '>=4'} + dev: true + + /astral-regex@2.0.0: + resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} + engines: {node: '>=8'} + dev: true + + /async-validator@4.2.5: + resolution: {integrity: sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==} + dev: false + + /asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + dev: false + + /at-least-node@1.0.0: + resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} + engines: {node: '>= 4.0.0'} + dev: true + + /atob@2.1.2: + resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==} + engines: {node: '>= 4.5.0'} + hasBin: true + dev: true + + /autoprefixer@10.4.19(postcss@8.4.38): + resolution: {integrity: sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 + dependencies: + browserslist: 4.23.0 + caniuse-lite: 1.0.30001612 + fraction.js: 4.3.7 + normalize-range: 0.1.2 + picocolors: 1.0.0 + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + dev: true + + /autoprefixer@9.8.8: + resolution: {integrity: sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==} + hasBin: true + dependencies: + browserslist: 4.23.0 + caniuse-lite: 1.0.30001612 + normalize-range: 0.1.2 + num2fraction: 1.2.2 + picocolors: 0.2.1 + postcss: 7.0.39 + postcss-value-parser: 4.2.0 + dev: true + + /autosuggest-highlight@3.3.4: + resolution: {integrity: sha512-j6RETBD2xYnrVcoV1S5R4t3WxOlWZKyDQjkwnggDPSjF5L4jV98ZltBpvPvbkM1HtoSe5o+bNrTHyjPbieGeYA==} + dependencies: + remove-accents: 0.4.4 + dev: false + + /available-typed-arrays@1.0.7: + resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} + engines: {node: '>= 0.4'} + dependencies: + possible-typed-array-names: 1.0.0 + dev: true + + /axe-core@4.7.0: + resolution: {integrity: sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==} + engines: {node: '>=4'} + dev: true + + /axios@1.6.8: + resolution: {integrity: sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==} + dependencies: + follow-redirects: 1.15.6 + form-data: 4.0.0 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug + dev: false + + /axobject-query@3.2.1: + resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==} + dependencies: + dequal: 2.0.3 + dev: true + + /babel-plugin-macros@3.1.0: + resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==} + engines: {node: '>=10', npm: '>=6'} + dependencies: + '@babel/runtime': 7.24.4 + cosmiconfig: 7.1.0 + resolve: 1.22.8 + dev: false + + /bail@1.0.5: + resolution: {integrity: sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==} + dev: true + + /bail@2.0.2: + resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} + dev: false + + /balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + dev: true + + /balanced-match@2.0.0: + resolution: {integrity: sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==} + dev: true + + /base@0.11.2: + resolution: {integrity: sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==} + engines: {node: '>=0.10.0'} + dependencies: + cache-base: 1.0.1 + class-utils: 0.3.6 + component-emitter: 1.3.1 + define-property: 1.0.0 + isobject: 3.0.1 + mixin-deep: 1.3.2 + pascalcase: 0.1.1 + dev: true + + /big.js@5.2.2: + resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} + dev: true + + /binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + + /bluebird@3.7.2: + resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} + dev: true + + /boolbase@1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + dev: true + + /brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + dev: true + + /brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + dependencies: + balanced-match: 1.0.2 + dev: true + + /braces@2.3.2: + resolution: {integrity: sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==} + engines: {node: '>=0.10.0'} + dependencies: + arr-flatten: 1.1.0 + array-unique: 0.3.2 + extend-shallow: 2.0.1 + fill-range: 4.0.0 + isobject: 3.0.1 + repeat-element: 1.1.4 + snapdragon: 0.8.2 + snapdragon-node: 2.1.1 + split-string: 3.1.0 + to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color + dev: true + + /braces@3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} + dependencies: + fill-range: 7.0.1 + + /browserslist@4.23.0: + resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: 1.0.30001612 + electron-to-chromium: 1.4.749 + node-releases: 2.0.14 + update-browserslist-db: 1.0.13(browserslist@4.23.0) + + /buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + + /cache-base@1.0.1: + resolution: {integrity: sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==} + engines: {node: '>=0.10.0'} + dependencies: + collection-visit: 1.0.0 + component-emitter: 1.3.1 + get-value: 2.0.6 + has-value: 1.0.0 + isobject: 3.0.1 + set-value: 2.0.1 + to-object-path: 0.3.0 + union-value: 1.0.1 + unset-value: 1.0.0 + dev: true + + /call-bind@1.0.7: + resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} + engines: {node: '>= 0.4'} + dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + set-function-length: 1.2.2 + + /call-me-maybe@1.0.2: + resolution: {integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==} + dev: true + + /caller-callsite@2.0.0: + resolution: {integrity: sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==} + engines: {node: '>=4'} + dependencies: + callsites: 2.0.0 + dev: true + + /caller-path@2.0.0: + resolution: {integrity: sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==} + engines: {node: '>=4'} + dependencies: + caller-callsite: 2.0.0 + dev: true + + /callsites@2.0.0: + resolution: {integrity: sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==} + engines: {node: '>=4'} + dev: true + + /callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + + /camelcase-css@2.0.1: + resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} + engines: {node: '>= 6'} + dev: true + + /camelcase-keys@4.2.0: + resolution: {integrity: sha512-Ej37YKYbFUI8QiYlvj9YHb6/Z60dZyPJW0Cs8sFilMbd2lP0bw3ylAq9yJkK4lcTA2dID5fG8LjmJYbO7kWb7Q==} + engines: {node: '>=4'} + dependencies: + camelcase: 4.1.0 + map-obj: 2.0.0 + quick-lru: 1.1.0 + dev: true + + /camelcase-keys@6.2.2: + resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} + engines: {node: '>=8'} + dependencies: + camelcase: 5.3.1 + map-obj: 4.3.0 + quick-lru: 4.0.1 + dev: true + + /camelcase-keys@7.0.2: + resolution: {integrity: sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==} + engines: {node: '>=12'} + dependencies: + camelcase: 6.3.0 + map-obj: 4.3.0 + quick-lru: 5.1.1 + type-fest: 1.4.0 + dev: true + + /camelcase@4.1.0: + resolution: {integrity: sha512-FxAv7HpHrXbh3aPo4o2qxHay2lkLY3x5Mw3KeE4KQE8ysVfziWeRZDwcjauvwBSGEC/nXUPzZy8zeh4HokqOnw==} + engines: {node: '>=4'} + dev: true + + /camelcase@5.3.1: + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} + dev: true + + /camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + dev: true + + /camelize@1.0.1: + resolution: {integrity: sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==} + dev: false + + /can-use-dom@0.1.0: + resolution: {integrity: sha512-ceOhN1DL7Y4O6M0j9ICgmTYziV89WMd96SvSl0REd8PMgrY0B/WBOPoed5S1KUmJqXgUXh8gzSe6E3ae27upsQ==} + dev: false + + /caniuse-lite@1.0.30001612: + resolution: {integrity: sha512-lFgnZ07UhaCcsSZgWW0K5j4e69dK1u/ltrL9lTUiFOwNHs12S3UMIEYgBV0Z6C6hRDev7iRnMzzYmKabYdXF9g==} + + /ccount@1.1.0: + resolution: {integrity: sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==} + dev: true + + /ccount@2.0.1: + resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} + dev: false + + /chalk@1.1.3: + resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==} + engines: {node: '>=0.10.0'} + dependencies: + ansi-styles: 2.2.1 + escape-string-regexp: 1.0.5 + has-ansi: 2.0.0 + strip-ansi: 3.0.1 + supports-color: 2.0.0 + dev: true + + /chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + + /chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + dev: true + + /chalk@5.3.0: + resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + dev: true + + /character-entities-html4@1.1.4: + resolution: {integrity: sha512-HRcDxZuZqMx3/a+qrzxdBKBPUpxWEq9xw2OPZ3a/174ihfrQKVsFhqtthBInFy1zZ9GgZyFXOatNujm8M+El3g==} + dev: true + + /character-entities-legacy@1.1.4: + resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==} + dev: true + + /character-entities@1.2.4: + resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==} + dev: true + + /character-entities@2.0.2: + resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} + dev: false + + /character-reference-invalid@1.1.4: + resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==} + dev: true + + /chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.3 + braces: 3.0.2 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + + /chrome-trace-event@1.0.3: + resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==} + engines: {node: '>=6.0'} + dev: true + + /class-utils@0.3.6: + resolution: {integrity: sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==} + engines: {node: '>=0.10.0'} + dependencies: + arr-union: 3.1.0 + define-property: 0.2.5 + isobject: 3.0.1 + static-extend: 0.1.2 + dev: true + + /classnames@2.5.1: + resolution: {integrity: sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==} + dev: false + + /cli-cursor@4.0.0: + resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + restore-cursor: 4.0.0 + dev: true + + /cli-truncate@3.1.0: + resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + slice-ansi: 5.0.0 + string-width: 5.1.2 + dev: true + + /cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + dev: true + + /clone-regexp@1.0.1: + resolution: {integrity: sha512-Fcij9IwRW27XedRIJnSOEupS7RVcXtObJXbcUOX93UCLqqOdRpkvzKywOOSizmEK/Is3S/RHX9dLdfo6R1Q1mw==} + engines: {node: '>=0.10.0'} + dependencies: + is-regexp: 1.0.0 + is-supported-regexp-flag: 1.0.1 + dev: true + + /clone@2.1.2: + resolution: {integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==} + engines: {node: '>=0.8'} + + /collapse-white-space@1.0.6: + resolution: {integrity: sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==} + dev: true + + /collection-visit@1.0.0: + resolution: {integrity: sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==} + engines: {node: '>=0.10.0'} + dependencies: + map-visit: 1.0.0 + object-visit: 1.0.1 + dev: true + + /color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + dependencies: + color-name: 1.1.3 + + /color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + dependencies: + color-name: 1.1.4 + + /color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + + /color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + /color-string@1.9.1: + resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} + dependencies: + color-name: 1.1.4 + simple-swizzle: 0.2.2 + dev: false + + /color@4.2.3: + resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} + engines: {node: '>=12.5.0'} + dependencies: + color-convert: 2.0.1 + color-string: 1.9.1 + dev: false + + /colord@2.9.3: + resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} + dev: true + + /colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + dev: true + + /combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + dependencies: + delayed-stream: 1.0.0 + dev: false + + /comma-separated-tokens@2.0.3: + resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} + dev: false + + /commander@11.0.0: + resolution: {integrity: sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ==} + engines: {node: '>=16'} + dev: true + + /commander@2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + + /commander@4.1.1: + resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} + engines: {node: '>= 6'} + dev: true + + /commander@7.2.0: + resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} + engines: {node: '>= 10'} + dev: true + + /compare-func@2.0.0: + resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==} + dependencies: + array-ify: 1.0.0 + dot-prop: 5.3.0 + dev: true + + /component-emitter@1.3.1: + resolution: {integrity: sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==} + dev: true + + /compute-scroll-into-view@3.1.0: + resolution: {integrity: sha512-rj8l8pD4bJ1nx+dAkMhV1xB5RuZEyVysfxJqB1pRchh1KVvwOv9b7CGB8ZfjTImVv2oF+sYMUkMZq6Na5Ftmbg==} + dev: false + + /concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + dev: true + + /confusing-browser-globals@1.0.11: + resolution: {integrity: sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==} + dev: true + + /conventional-changelog-angular@6.0.0: + resolution: {integrity: sha512-6qLgrBF4gueoC7AFVHu51nHL9pF9FRjXrH+ceVf7WmAfH3gs+gEYOkvxhjMPjZu57I4AGUGoNTY8V7Hrgf1uqg==} + engines: {node: '>=14'} + dependencies: + compare-func: 2.0.0 + dev: true + + /conventional-changelog-conventionalcommits@6.1.0: + resolution: {integrity: sha512-3cS3GEtR78zTfMzk0AizXKKIdN4OvSh7ibNz6/DPbhWWQu7LqE/8+/GqSodV+sywUR2gpJAdP/1JFf4XtN7Zpw==} + engines: {node: '>=14'} + dependencies: + compare-func: 2.0.0 + dev: true + + /conventional-commits-parser@4.0.0: + resolution: {integrity: sha512-WRv5j1FsVM5FISJkoYMR6tPk07fkKT0UodruX4je86V4owk451yjXAKzKAPOs9l7y59E2viHUS9eQ+dfUA9NSg==} + engines: {node: '>=14'} + hasBin: true + dependencies: + JSONStream: 1.3.5 + is-text-path: 1.0.1 + meow: 8.1.2 + split2: 3.2.2 + dev: true + + /convert-source-map@1.9.0: + resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} + dev: false + + /convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + /copy-anything@3.0.5: + resolution: {integrity: sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==} + engines: {node: '>=12.13'} + dependencies: + is-what: 4.1.16 + dev: false + + /copy-descriptor@0.1.1: + resolution: {integrity: sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==} + engines: {node: '>=0.10.0'} + dev: true + + /copy-to-clipboard@3.3.3: + resolution: {integrity: sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==} + dependencies: + toggle-selection: 1.0.6 + dev: false + + /cors@2.8.5: + resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} + engines: {node: '>= 0.10'} + dependencies: + object-assign: 4.1.1 + vary: 1.1.2 + dev: true + + /cosmiconfig-typescript-loader@4.4.0(@types/node@20.5.1)(cosmiconfig@8.3.6)(ts-node@10.9.2)(typescript@5.4.5): + resolution: {integrity: sha512-BabizFdC3wBHhbI4kJh0VkQP9GkBfoHPydD0COMce1nJ1kJAB3F2TmJ/I7diULBKtmEWSwEbuN/KDtgnmUUVmw==} + engines: {node: '>=v14.21.3'} + peerDependencies: + '@types/node': '*' + cosmiconfig: '>=7' + ts-node: '>=10' + typescript: '>=4' + dependencies: + '@types/node': 20.5.1 + cosmiconfig: 8.3.6(typescript@5.4.5) + ts-node: 10.9.2(@types/node@20.5.1)(typescript@5.4.5) + typescript: 5.4.5 + dev: true + + /cosmiconfig@5.2.1: + resolution: {integrity: sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==} + engines: {node: '>=4'} + dependencies: + import-fresh: 2.0.0 + is-directory: 0.3.1 + js-yaml: 3.14.1 + parse-json: 4.0.0 + dev: true + + /cosmiconfig@6.0.0: + resolution: {integrity: sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==} + engines: {node: '>=8'} + dependencies: + '@types/parse-json': 4.0.2 + import-fresh: 3.3.0 + parse-json: 5.2.0 + path-type: 4.0.0 + yaml: 1.10.2 + dev: true + + /cosmiconfig@7.1.0: + resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} + engines: {node: '>=10'} + dependencies: + '@types/parse-json': 4.0.2 + import-fresh: 3.3.0 + parse-json: 5.2.0 + path-type: 4.0.0 + yaml: 1.10.2 + dev: false + + /cosmiconfig@8.3.6(typescript@5.4.5): + resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} + engines: {node: '>=14'} + peerDependencies: + typescript: '>=4.9.5' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + import-fresh: 3.3.0 + js-yaml: 4.1.0 + parse-json: 5.2.0 + path-type: 4.0.0 + typescript: 5.4.5 + dev: true + + /create-require@1.1.1: + resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} + dev: true + + /cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: true + + /css-box-model@1.2.1: + resolution: {integrity: sha512-a7Vr4Q/kd/aw96bnJG332W9V9LkJO69JRcaCYDUqjp6/z0w6VcZjgAcTbgFxEPfBgdnAwlh3iwu+hLopa+flJw==} + dependencies: + tiny-invariant: 1.3.3 + dev: false + + /css-color-keywords@1.0.0: + resolution: {integrity: sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==} + engines: {node: '>=4'} + dev: false + + /css-functions-list@3.2.2: + resolution: {integrity: sha512-c+N0v6wbKVxTu5gOBBFkr9BEdBWaqqjQeiJ8QvSRIJOf+UxlJh930m8e6/WNeODIK0mYLFkoONrnj16i2EcvfQ==} + engines: {node: '>=12 || >=16'} + dev: true + + /css-in-js-utils@3.1.0: + resolution: {integrity: sha512-fJAcud6B3rRu+KHYk+Bwf+WFL2MDCJJ1XG9x137tJQ0xYxor7XziQtuGFbWNdqrvF4Tk26O3H73nfVqXt/fW1A==} + dependencies: + hyphenate-style-name: 1.0.4 + dev: false + + /css-select@4.3.0: + resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} + dependencies: + boolbase: 1.0.0 + css-what: 6.1.0 + domhandler: 4.3.1 + domutils: 2.8.0 + nth-check: 2.1.1 + dev: true + + /css-to-react-native@3.2.0: + resolution: {integrity: sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==} + dependencies: + camelize: 1.0.1 + css-color-keywords: 1.0.0 + postcss-value-parser: 4.2.0 + dev: false + + /css-tree@1.1.3: + resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==} + engines: {node: '>=8.0.0'} + dependencies: + mdn-data: 2.0.14 + source-map: 0.6.1 + + /css-tree@2.3.1: + resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} + dependencies: + mdn-data: 2.0.30 + source-map-js: 1.2.0 + dev: true + + /css-what@6.1.0: + resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} + engines: {node: '>= 6'} + dev: true + + /cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /csso@4.2.0: + resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==} + engines: {node: '>=8.0.0'} + dependencies: + css-tree: 1.1.3 + dev: true + + /csstype@3.1.2: + resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} + dev: false + + /csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + + /currently-unhandled@0.4.1: + resolution: {integrity: sha512-/fITjgjGU50vjQ4FH6eUoYu+iUoUKIXws2hL15JJpIR+BbTxaXQsMuuyjtNh2WqsSBS5nsaZHFsFecyw5CCAng==} + engines: {node: '>=0.10.0'} + dependencies: + array-find-index: 1.0.2 + dev: true + + /damerau-levenshtein@1.0.8: + resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} + dev: true + + /dargs@7.0.0: + resolution: {integrity: sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==} + engines: {node: '>=8'} + dev: true + + /data-view-buffer@1.0.1: + resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 + dev: true + + /data-view-byte-length@1.0.1: + resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 + dev: true + + /data-view-byte-offset@1.0.0: + resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 + dev: true + + /dayjs@1.11.10: + resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==} + dev: false + + /debug@2.6.9: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.0.0 + dev: true + + /debug@3.2.7: + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.3 + dev: true + + /debug@4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + + /decamelize-keys@1.1.1: + resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} + engines: {node: '>=0.10.0'} + dependencies: + decamelize: 1.2.0 + map-obj: 1.0.1 + dev: true + + /decamelize@1.2.0: + resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} + engines: {node: '>=0.10.0'} + dev: true + + /decamelize@5.0.1: + resolution: {integrity: sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA==} + engines: {node: '>=10'} + dev: true + + /decode-named-character-reference@1.0.2: + resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} + dependencies: + character-entities: 2.0.2 + dev: false + + /decode-uri-component@0.2.2: + resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} + engines: {node: '>=0.10'} + dev: true + + /deep-equal@1.1.2: + resolution: {integrity: sha512-5tdhKF6DbU7iIzrIOa1AOUt39ZRm13cmL1cGEh//aqR8x9+tNfbywRf0n5FD/18OKMdo7DNEtrX2t22ZAkI+eg==} + engines: {node: '>= 0.4'} + dependencies: + is-arguments: 1.1.1 + is-date-object: 1.0.5 + is-regex: 1.1.4 + object-is: 1.1.6 + object-keys: 1.1.1 + regexp.prototype.flags: 1.5.2 + dev: false + + /deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + dev: true + + /deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + dev: true + + /define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 + gopd: 1.0.1 + + /define-lazy-prop@2.0.0: + resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} + engines: {node: '>=8'} + dev: true + + /define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 + object-keys: 1.1.1 + + /define-property@0.2.5: + resolution: {integrity: sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==} + engines: {node: '>=0.10.0'} + dependencies: + is-descriptor: 0.1.7 + dev: true + + /define-property@1.0.0: + resolution: {integrity: sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==} + engines: {node: '>=0.10.0'} + dependencies: + is-descriptor: 1.0.3 + dev: true + + /define-property@2.0.2: + resolution: {integrity: sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==} + engines: {node: '>=0.10.0'} + dependencies: + is-descriptor: 1.0.3 + isobject: 3.0.1 + dev: true + + /delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + dev: false + + /dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + + /detect-port-alt@1.1.6: + resolution: {integrity: sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==} + engines: {node: '>= 4.2.1'} + hasBin: true + dependencies: + address: 1.2.2 + debug: 2.6.9 + transitivePeerDependencies: + - supports-color + dev: true + + /didyoumean@1.2.2: + resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} + dev: true + + /diff@4.0.2: + resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} + engines: {node: '>=0.3.1'} + dev: true + + /diff@5.2.0: + resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} + engines: {node: '>=0.3.1'} + dev: false + + /dir-glob@2.2.2: + resolution: {integrity: sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==} + engines: {node: '>=4'} + dependencies: + path-type: 3.0.0 + dev: true + + /dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + dependencies: + path-type: 4.0.0 + dev: true + + /dlv@1.1.3: + resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} + dev: true + + /doctrine@2.1.0: + resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} + engines: {node: '>=0.10.0'} + dependencies: + esutils: 2.0.3 + dev: true + + /doctrine@3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + dependencies: + esutils: 2.0.3 + dev: true + + /dom-serializer@0.2.2: + resolution: {integrity: sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==} + dependencies: + domelementtype: 2.3.0 + entities: 2.2.0 + dev: true + + /dom-serializer@1.4.1: + resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} + dependencies: + domelementtype: 2.3.0 + domhandler: 4.3.1 + entities: 2.2.0 + dev: true + + /domelementtype@1.3.1: + resolution: {integrity: sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==} + dev: true + + /domelementtype@2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + dev: true + + /domhandler@2.4.2: + resolution: {integrity: sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==} + dependencies: + domelementtype: 1.3.1 + dev: true + + /domhandler@4.3.1: + resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} + engines: {node: '>= 4'} + dependencies: + domelementtype: 2.3.0 + dev: true + + /domutils@1.7.0: + resolution: {integrity: sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==} + dependencies: + dom-serializer: 0.2.2 + domelementtype: 1.3.1 + dev: true + + /domutils@2.8.0: + resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} + dependencies: + dom-serializer: 1.4.1 + domelementtype: 2.3.0 + domhandler: 4.3.1 + dev: true + + /dot-prop@5.3.0: + resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} + engines: {node: '>=8'} + dependencies: + is-obj: 2.0.0 + dev: true + + /duplexer@0.1.2: + resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} + dev: true + + /eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + dev: true + + /electron-to-chromium@1.4.749: + resolution: {integrity: sha512-LRMMrM9ITOvue0PoBrvNIraVmuDbJV5QC9ierz/z5VilMdPOVMjOtpICNld3PuXuTZ3CHH/UPxX9gHhAPwi+0Q==} + + /emoji-regex@7.0.3: + resolution: {integrity: sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==} + dev: true + + /emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + dev: true + + /emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + dev: true + + /emojis-list@3.0.0: + resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} + engines: {node: '>= 4'} + dev: true + + /enhanced-resolve@5.16.0: + resolution: {integrity: sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==} + engines: {node: '>=10.13.0'} + dependencies: + graceful-fs: 4.2.11 + tapable: 2.2.1 + dev: true + + /entities@1.1.2: + resolution: {integrity: sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==} + dev: true + + /entities@2.2.0: + resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} + dev: true + + /error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + dependencies: + is-arrayish: 0.2.1 + + /error-stack-parser@2.1.4: + resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==} + dependencies: + stackframe: 1.3.4 + dev: false + + /es-abstract@1.23.3: + resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} + engines: {node: '>= 0.4'} + dependencies: + array-buffer-byte-length: 1.0.1 + arraybuffer.prototype.slice: 1.0.3 + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 + data-view-buffer: 1.0.1 + data-view-byte-length: 1.0.1 + data-view-byte-offset: 1.0.0 + es-define-property: 1.0.0 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + es-set-tostringtag: 2.0.3 + es-to-primitive: 1.2.1 + function.prototype.name: 1.1.6 + get-intrinsic: 1.2.4 + get-symbol-description: 1.0.2 + globalthis: 1.0.3 + gopd: 1.0.1 + has-property-descriptors: 1.0.2 + has-proto: 1.0.3 + has-symbols: 1.0.3 + hasown: 2.0.2 + internal-slot: 1.0.7 + is-array-buffer: 3.0.4 + is-callable: 1.2.7 + is-data-view: 1.0.1 + is-negative-zero: 2.0.3 + is-regex: 1.1.4 + is-shared-array-buffer: 1.0.3 + is-string: 1.0.7 + is-typed-array: 1.1.13 + is-weakref: 1.0.2 + object-inspect: 1.13.1 + object-keys: 1.1.1 + object.assign: 4.1.5 + regexp.prototype.flags: 1.5.2 + safe-array-concat: 1.1.2 + safe-regex-test: 1.0.3 + string.prototype.trim: 1.2.9 + string.prototype.trimend: 1.0.8 + string.prototype.trimstart: 1.0.8 + typed-array-buffer: 1.0.2 + typed-array-byte-length: 1.0.1 + typed-array-byte-offset: 1.0.2 + typed-array-length: 1.0.6 + unbox-primitive: 1.0.2 + which-typed-array: 1.1.15 + dev: true + + /es-define-property@1.0.0: + resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.4 + + /es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + /es-iterator-helpers@1.0.19: + resolution: {integrity: sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + es-set-tostringtag: 2.0.3 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + globalthis: 1.0.3 + has-property-descriptors: 1.0.2 + has-proto: 1.0.3 + has-symbols: 1.0.3 + internal-slot: 1.0.7 + iterator.prototype: 1.1.2 + safe-array-concat: 1.1.2 + dev: true + + /es-module-lexer@1.5.0: + resolution: {integrity: sha512-pqrTKmwEIgafsYZAGw9kszYzmagcE/n4dbgwGWLEXg7J4QFJVQRBld8j3Q3GNez79jzxZshq0bcT962QHOghjw==} + dev: true + + /es-object-atoms@1.0.0: + resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} + engines: {node: '>= 0.4'} + dependencies: + es-errors: 1.3.0 + dev: true + + /es-set-tostringtag@2.0.3: + resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.4 + has-tostringtag: 1.0.2 + hasown: 2.0.2 + dev: true + + /es-shim-unscopables@1.0.2: + resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} + dependencies: + hasown: 2.0.2 + dev: true + + /es-to-primitive@1.2.1: + resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} + engines: {node: '>= 0.4'} + dependencies: + is-callable: 1.2.7 + is-date-object: 1.0.5 + is-symbol: 1.0.4 + dev: true + + /esbuild@0.18.20: + resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/android-arm': 0.18.20 + '@esbuild/android-arm64': 0.18.20 + '@esbuild/android-x64': 0.18.20 + '@esbuild/darwin-arm64': 0.18.20 + '@esbuild/darwin-x64': 0.18.20 + '@esbuild/freebsd-arm64': 0.18.20 + '@esbuild/freebsd-x64': 0.18.20 + '@esbuild/linux-arm': 0.18.20 + '@esbuild/linux-arm64': 0.18.20 + '@esbuild/linux-ia32': 0.18.20 + '@esbuild/linux-loong64': 0.18.20 + '@esbuild/linux-mips64el': 0.18.20 + '@esbuild/linux-ppc64': 0.18.20 + '@esbuild/linux-riscv64': 0.18.20 + '@esbuild/linux-s390x': 0.18.20 + '@esbuild/linux-x64': 0.18.20 + '@esbuild/netbsd-x64': 0.18.20 + '@esbuild/openbsd-x64': 0.18.20 + '@esbuild/sunos-x64': 0.18.20 + '@esbuild/win32-arm64': 0.18.20 + '@esbuild/win32-ia32': 0.18.20 + '@esbuild/win32-x64': 0.18.20 + + /escalade@3.1.2: + resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} + engines: {node: '>=6'} + + /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'} + + /escape-string-regexp@5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} + dev: false + + /eslint-config-airbnb-base@15.0.0(eslint-plugin-import@2.29.1)(eslint@8.57.0): + resolution: {integrity: sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig==} + engines: {node: ^10.12.0 || >=12.0.0} + peerDependencies: + eslint: ^7.32.0 || ^8.2.0 + eslint-plugin-import: ^2.25.2 + dependencies: + confusing-browser-globals: 1.0.11 + eslint: 8.57.0 + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@5.62.0)(eslint@8.57.0) + object.assign: 4.1.5 + object.entries: 1.1.8 + semver: 6.3.1 + dev: true + + /eslint-config-airbnb-typescript@17.1.0(@typescript-eslint/eslint-plugin@5.62.0)(@typescript-eslint/parser@5.62.0)(eslint-plugin-import@2.29.1)(eslint@8.57.0): + resolution: {integrity: sha512-GPxI5URre6dDpJ0CtcthSZVBAfI+Uw7un5OYNVxP2EYi3H81Jw701yFP7AU+/vCE7xBtFmjge7kfhhk4+RAiig==} + peerDependencies: + '@typescript-eslint/eslint-plugin': ^5.13.0 || ^6.0.0 + '@typescript-eslint/parser': ^5.0.0 || ^6.0.0 + eslint: ^7.32.0 || ^8.2.0 + eslint-plugin-import: ^2.25.3 + dependencies: + '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/parser': 5.62.0(eslint@8.57.0)(typescript@5.4.5) + eslint: 8.57.0 + eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.29.1)(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@5.62.0)(eslint@8.57.0) + dev: true + + /eslint-config-airbnb@19.0.4(eslint-plugin-import@2.29.1)(eslint-plugin-jsx-a11y@6.8.0)(eslint-plugin-react-hooks@4.6.1)(eslint-plugin-react@7.34.1)(eslint@8.57.0): + resolution: {integrity: sha512-T75QYQVQX57jiNgpF9r1KegMICE94VYwoFQyMGhrvc+lB8YF2E/M/PYDaQe1AJcWaEgqLE+ErXV1Og/+6Vyzew==} + engines: {node: ^10.12.0 || ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^7.32.0 || ^8.2.0 + eslint-plugin-import: ^2.25.3 + eslint-plugin-jsx-a11y: ^6.5.1 + eslint-plugin-react: ^7.28.0 + eslint-plugin-react-hooks: ^4.3.0 + dependencies: + eslint: 8.57.0 + eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.29.1)(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@5.62.0)(eslint@8.57.0) + eslint-plugin-jsx-a11y: 6.8.0(eslint@8.57.0) + eslint-plugin-react: 7.34.1(eslint@8.57.0) + eslint-plugin-react-hooks: 4.6.1(eslint@8.57.0) + object.assign: 4.1.5 + object.entries: 1.1.8 + dev: true + + /eslint-config-prettier@8.10.0(eslint@8.57.0): + resolution: {integrity: sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==} + hasBin: true + peerDependencies: + eslint: '>=7.0.0' + dependencies: + eslint: 8.57.0 + dev: true + + /eslint-import-resolver-alias@1.1.2(eslint-plugin-import@2.29.1): + resolution: {integrity: sha512-WdviM1Eu834zsfjHtcGHtGfcu+F30Od3V7I9Fi57uhBEwPkjDcii7/yW8jAT+gOhn4P/vOxxNAXbFAKsrrc15w==} + engines: {node: '>= 4'} + peerDependencies: + eslint-plugin-import: '>=1.4.0' + dependencies: + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@5.62.0)(eslint@8.57.0) + dev: true + + /eslint-import-resolver-node@0.3.9: + resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} + dependencies: + debug: 3.2.7 + is-core-module: 2.13.1 + resolve: 1.22.8 + transitivePeerDependencies: + - supports-color + dev: true + + /eslint-module-utils@2.8.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0): + resolution: {integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: '*' + eslint-import-resolver-node: '*' + eslint-import-resolver-typescript: '*' + eslint-import-resolver-webpack: '*' + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + eslint: + optional: true + eslint-import-resolver-node: + optional: true + eslint-import-resolver-typescript: + optional: true + eslint-import-resolver-webpack: + optional: true + dependencies: + '@typescript-eslint/parser': 5.62.0(eslint@8.57.0)(typescript@5.4.5) + debug: 3.2.7 + eslint: 8.57.0 + eslint-import-resolver-node: 0.3.9 + transitivePeerDependencies: + - supports-color + dev: true + + /eslint-plugin-import@2.29.1(@typescript-eslint/parser@5.62.0)(eslint@8.57.0): + resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + dependencies: + '@typescript-eslint/parser': 5.62.0(eslint@8.57.0)(typescript@5.4.5) + array-includes: 3.1.8 + array.prototype.findlastindex: 1.2.5 + array.prototype.flat: 1.3.2 + array.prototype.flatmap: 1.3.2 + debug: 3.2.7 + doctrine: 2.1.0 + eslint: 8.57.0 + eslint-import-resolver-node: 0.3.9 + eslint-module-utils: 2.8.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0) + hasown: 2.0.2 + is-core-module: 2.13.1 + is-glob: 4.0.3 + minimatch: 3.1.2 + object.fromentries: 2.0.8 + object.groupby: 1.0.3 + object.values: 1.2.0 + semver: 6.3.1 + tsconfig-paths: 3.15.0 + transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + dev: true + + /eslint-plugin-jsx-a11y@6.8.0(eslint@8.57.0): + resolution: {integrity: sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==} + engines: {node: '>=4.0'} + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + dependencies: + '@babel/runtime': 7.24.4 + aria-query: 5.3.0 + array-includes: 3.1.8 + array.prototype.flatmap: 1.3.2 + ast-types-flow: 0.0.8 + axe-core: 4.7.0 + axobject-query: 3.2.1 + damerau-levenshtein: 1.0.8 + emoji-regex: 9.2.2 + es-iterator-helpers: 1.0.19 + eslint: 8.57.0 + hasown: 2.0.2 + jsx-ast-utils: 3.3.5 + language-tags: 1.0.9 + minimatch: 3.1.2 + object.entries: 1.1.8 + object.fromentries: 2.0.8 + dev: true + + /eslint-plugin-prettier@4.2.1(eslint-config-prettier@8.10.0)(eslint@8.57.0)(prettier@2.8.8): + resolution: {integrity: sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==} + engines: {node: '>=12.0.0'} + peerDependencies: + eslint: '>=7.28.0' + eslint-config-prettier: '*' + prettier: '>=2.0.0' + peerDependenciesMeta: + eslint-config-prettier: + optional: true + dependencies: + eslint: 8.57.0 + eslint-config-prettier: 8.10.0(eslint@8.57.0) + prettier: 2.8.8 + prettier-linter-helpers: 1.0.0 + dev: true + + /eslint-plugin-react-hooks@4.6.1(eslint@8.57.0): + resolution: {integrity: sha512-Ck77j8hF7l9N4S/rzSLOWEKpn994YH6iwUK8fr9mXIaQvGpQYmOnQLbiue1u5kI5T1y+gdgqosnEAO9NCz0DBg==} + engines: {node: '>=10'} + peerDependencies: + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 + dependencies: + eslint: 8.57.0 + dev: true + + /eslint-plugin-react@7.34.1(eslint@8.57.0): + resolution: {integrity: sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw==} + engines: {node: '>=4'} + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + dependencies: + array-includes: 3.1.8 + array.prototype.findlast: 1.2.5 + array.prototype.flatmap: 1.3.2 + array.prototype.toreversed: 1.1.2 + array.prototype.tosorted: 1.1.3 + doctrine: 2.1.0 + es-iterator-helpers: 1.0.19 + eslint: 8.57.0 + estraverse: 5.3.0 + jsx-ast-utils: 3.3.5 + minimatch: 3.1.2 + object.entries: 1.1.8 + object.fromentries: 2.0.8 + object.hasown: 1.1.4 + object.values: 1.2.0 + prop-types: 15.8.1 + resolve: 2.0.0-next.5 + semver: 6.3.1 + string.prototype.matchall: 4.0.11 + dev: true + + /eslint-plugin-unused-imports@2.0.0(@typescript-eslint/eslint-plugin@5.62.0)(eslint@8.57.0): + resolution: {integrity: sha512-3APeS/tQlTrFa167ThtP0Zm0vctjr4M44HMpeg1P4bK6wItarumq0Ma82xorMKdFsWpphQBlRPzw/pxiVELX1A==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + '@typescript-eslint/eslint-plugin': ^5.0.0 + eslint: ^8.0.0 + peerDependenciesMeta: + '@typescript-eslint/eslint-plugin': + optional: true + dependencies: + '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.57.0)(typescript@5.4.5) + eslint: 8.57.0 + eslint-rule-composer: 0.3.0 + dev: true + + /eslint-rule-composer@0.3.0: + resolution: {integrity: sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==} + engines: {node: '>=4.0.0'} + dev: true + + /eslint-scope@5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} + dependencies: + esrecurse: 4.3.0 + estraverse: 4.3.0 + dev: true + + /eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + dev: true + + /eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /eslint@8.57.0: + resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/regexpp': 4.10.0 + '@eslint/eslintrc': 2.1.4 + '@eslint/js': 8.57.0 + '@humanwhocodes/config-array': 0.11.14 + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 + '@ungap/structured-clone': 1.2.0 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.4 + doctrine: 3.0.0 + escape-string-regexp: 4.0.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.5.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.24.0 + graphemer: 1.4.0 + ignore: 5.3.1 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + is-path-inside: 3.0.3 + js-yaml: 4.1.0 + json-stable-stringify-without-jsonify: 1.0.1 + levn: 0.4.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.3 + strip-ansi: 6.0.1 + text-table: 0.2.0 + transitivePeerDependencies: + - supports-color + dev: true + + /espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + acorn: 8.11.3 + acorn-jsx: 5.3.2(acorn@8.11.3) + eslint-visitor-keys: 3.4.3 + dev: true + + /esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /esquery@1.5.0: + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} + dependencies: + estraverse: 5.3.0 + dev: true + + /esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + dependencies: + estraverse: 5.3.0 + dev: true + + /estraverse@4.3.0: + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} + dev: true + + /estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + dev: true + + /esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + dev: true + + /etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + dev: true + + /eventemitter3@2.0.3: + resolution: {integrity: sha512-jLN68Dx5kyFHaePoXWPsCGW5qdyZQtLYHkxkg02/Mz6g0kYpDx4FyP6XfArhQdlOC4b8Mv+EMxPo/8La7Tzghg==} + dev: false + + /eventemitter3@5.0.1: + resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} + dev: true + + /events@3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} + dev: true + + /execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + dev: true + + /execa@7.2.0: + resolution: {integrity: sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==} + engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0} + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 4.3.1 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.3.0 + onetime: 6.0.0 + signal-exit: 3.0.7 + strip-final-newline: 3.0.0 + dev: true + + /execall@1.0.0: + resolution: {integrity: sha512-/J0Q8CvOvlAdpvhfkD/WnTQ4H1eU0exze2nFGPj/RSC7jpQ0NkKe2r28T5eMkhEEs+fzepMZNy1kVRKNlC04nQ==} + engines: {node: '>=0.10.0'} + dependencies: + clone-regexp: 1.0.1 + dev: true + + /expand-brackets@2.1.4: + resolution: {integrity: sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==} + engines: {node: '>=0.10.0'} + dependencies: + debug: 2.6.9 + define-property: 0.2.5 + extend-shallow: 2.0.1 + posix-character-classes: 0.1.1 + regex-not: 1.0.2 + snapdragon: 0.8.2 + to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color + dev: true + + /extend-shallow@2.0.1: + resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} + engines: {node: '>=0.10.0'} + dependencies: + is-extendable: 0.1.1 + dev: true + + /extend-shallow@3.0.2: + resolution: {integrity: sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==} + engines: {node: '>=0.10.0'} + dependencies: + assign-symbols: 1.0.0 + is-extendable: 1.0.1 + dev: true + + /extend@3.0.2: + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + + /extglob@2.0.4: + resolution: {integrity: sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==} + engines: {node: '>=0.10.0'} + dependencies: + array-unique: 0.3.2 + define-property: 1.0.0 + expand-brackets: 2.1.4 + extend-shallow: 2.0.1 + fragment-cache: 0.2.1 + regex-not: 1.0.2 + snapdragon: 0.8.2 + to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color + dev: true + + /fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + /fast-diff@1.1.2: + resolution: {integrity: sha512-KaJUt+M9t1qaIteSvjc6P3RbMdXsNhK61GRftR6SNxqmhthcd9MGIi4T+o0jD8LUSpSnSKXE20nLtJ3fOHxQig==} + dev: false + + /fast-diff@1.3.0: + resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} + dev: true + + /fast-glob@2.2.7: + resolution: {integrity: sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==} + engines: {node: '>=4.0.0'} + dependencies: + '@mrmlnc/readdir-enhanced': 2.2.1 + '@nodelib/fs.stat': 1.1.3 + glob-parent: 3.1.0 + is-glob: 4.0.3 + merge2: 1.4.1 + micromatch: 3.1.10 + transitivePeerDependencies: + - supports-color + dev: true + + /fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + engines: {node: '>=8.6.0'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.5 + dev: true + + /fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + dev: true + + /fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + dev: true + + /fast-loops@1.1.3: + resolution: {integrity: sha512-8EZzEP0eKkEEVX+drtd9mtuQ+/QrlfW/5MlwcwK5Nds6EkZ/tRzEexkzUY2mIssnAyVLT+TKHuRXmFNNXYUd6g==} + dev: false + + /fast-shallow-equal@1.0.0: + resolution: {integrity: sha512-HPtaa38cPgWvaCFmRNhlc6NG7pv6NUHqjPgVAkWGoB9mQMwYB27/K0CvOM5Czy+qpT3e8XJ6Q4aPAnzpNpzNaw==} + dev: false + + /fastest-levenshtein@1.0.16: + resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==} + engines: {node: '>= 4.9.1'} + dev: true + + /fastest-stable-stringify@2.0.2: + resolution: {integrity: sha512-bijHueCGd0LqqNK9b5oCMHc0MluJAx0cwqASgbWMvkO01lCYgIhacVRLcaDz3QnyYIRNJRDwMb41VuT6pHJ91Q==} + dev: false + + /fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} + dependencies: + reusify: 1.0.4 + dev: true + + /fault@2.0.1: + resolution: {integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==} + dependencies: + format: 0.2.2 + dev: false + + /file-entry-cache@4.0.0: + resolution: {integrity: sha512-AVSwsnbV8vH/UVbvgEhf3saVQXORNv0ZzSkvkhQIaia5Tia+JhGTaa/ePUSVoPHQyGayQNmYfkzFi3WZV5zcpA==} + engines: {node: '>=4'} + dependencies: + flat-cache: 2.0.1 + dev: true + + /file-entry-cache@6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flat-cache: 3.2.0 + dev: true + + /file-entry-cache@7.0.2: + resolution: {integrity: sha512-TfW7/1iI4Cy7Y8L6iqNdZQVvdXn0f8B4QcIXmkIbtTIe/Okm/nSlHb4IwGzRVOd3WfSieCgvf5cMzEfySAIl0g==} + engines: {node: '>=12.0.0'} + dependencies: + flat-cache: 3.2.0 + dev: true + + /filesize@8.0.7: + resolution: {integrity: sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==} + engines: {node: '>= 0.4.0'} + dev: true + + /fill-range@4.0.0: + resolution: {integrity: sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==} + engines: {node: '>=0.10.0'} + dependencies: + extend-shallow: 2.0.1 + is-number: 3.0.0 + repeat-string: 1.6.1 + to-regex-range: 2.1.1 + dev: true + + /fill-range@7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} + dependencies: + to-regex-range: 5.0.1 + + /find-root@1.1.0: + resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==} + dev: false + + /find-up@2.1.0: + resolution: {integrity: sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==} + engines: {node: '>=4'} + dependencies: + locate-path: 2.0.0 + dev: true + + /find-up@3.0.0: + resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} + engines: {node: '>=6'} + dependencies: + locate-path: 3.0.0 + dev: true + + /find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + dev: true + + /find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + dev: true + + /flat-cache@2.0.1: + resolution: {integrity: sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==} + engines: {node: '>=4'} + dependencies: + flatted: 2.0.2 + rimraf: 2.6.3 + write: 1.0.3 + dev: true + + /flat-cache@3.2.0: + resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flatted: 3.3.1 + keyv: 4.5.4 + rimraf: 3.0.2 + dev: true + + /flatted@2.0.2: + resolution: {integrity: sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==} + dev: true + + /flatted@3.3.1: + resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} + dev: true + + /follow-redirects@1.15.6: + resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + dev: false + + /for-each@0.3.3: + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + dependencies: + is-callable: 1.2.7 + dev: true + + /for-in@1.0.2: + resolution: {integrity: sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==} + engines: {node: '>=0.10.0'} + dev: true + + /foreground-child@3.1.1: + resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} + engines: {node: '>=14'} + dependencies: + cross-spawn: 7.0.3 + signal-exit: 4.1.0 + dev: true + + /fork-ts-checker-webpack-plugin@6.5.3(eslint@8.57.0)(typescript@5.4.5)(webpack@5.91.0): + resolution: {integrity: sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==} + engines: {node: '>=10', yarn: '>=1.0.0'} + peerDependencies: + eslint: '>= 6' + typescript: '>= 2.7' + vue-template-compiler: '*' + webpack: '>= 4' + peerDependenciesMeta: + eslint: + optional: true + vue-template-compiler: + optional: true + dependencies: + '@babel/code-frame': 7.24.2 + '@types/json-schema': 7.0.15 + chalk: 4.1.2 + chokidar: 3.6.0 + cosmiconfig: 6.0.0 + deepmerge: 4.3.1 + eslint: 8.57.0 + fs-extra: 9.1.0 + glob: 7.2.3 + memfs: 3.5.3 + minimatch: 3.1.2 + schema-utils: 2.7.0 + semver: 7.6.0 + tapable: 1.1.3 + typescript: 5.4.5 + webpack: 5.91.0 + dev: true + + /form-data@4.0.0: + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} + engines: {node: '>= 6'} + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + dev: false + + /format@0.2.2: + resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} + engines: {node: '>=0.4.x'} + dev: false + + /fraction.js@4.3.7: + resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} + dev: true + + /fragment-cache@0.2.1: + resolution: {integrity: sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==} + engines: {node: '>=0.10.0'} + dependencies: + map-cache: 0.2.2 + dev: true + + /framer-motion@10.18.0(react-dom@18.3.0)(react@18.3.0): + resolution: {integrity: sha512-oGlDh1Q1XqYPksuTD/usb0I70hq95OUzmL9+6Zd+Hs4XV0oaISBa/UUMSjYiq6m8EUF32132mOJ8xVZS+I0S6w==} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + peerDependenciesMeta: + react: + optional: true + react-dom: + optional: true + dependencies: + react: 18.3.0 + react-dom: 18.3.0(react@18.3.0) + tslib: 2.6.2 + optionalDependencies: + '@emotion/is-prop-valid': 0.8.8 + dev: false + + /fs-extra@10.1.0: + resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} + engines: {node: '>=12'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + dev: true + + /fs-extra@11.2.0: + resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} + engines: {node: '>=14.14'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + dev: true + + /fs-extra@9.1.0: + resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} + engines: {node: '>=10'} + dependencies: + at-least-node: 1.0.0 + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + dev: true + + /fs-monkey@1.0.5: + resolution: {integrity: sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==} + dev: true + + /fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + dev: true + + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + optional: true + + /function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + /function.prototype.name@1.1.6: + resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + functions-have-names: 1.2.3 + dev: true + + /functions-have-names@1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + + /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.*} + dev: true + + /get-intrinsic@1.2.4: + resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} + engines: {node: '>= 0.4'} + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + has-proto: 1.0.3 + has-symbols: 1.0.3 + hasown: 2.0.2 + + /get-stdin@6.0.0: + resolution: {integrity: sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==} + engines: {node: '>=4'} + dev: true + + /get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + dev: true + + /get-symbol-description@1.0.2: + resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + dev: true + + /get-value@2.0.6: + resolution: {integrity: sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==} + engines: {node: '>=0.10.0'} + dev: true + + /git-raw-commits@2.0.11: + resolution: {integrity: sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==} + engines: {node: '>=10'} + hasBin: true + dependencies: + dargs: 7.0.0 + lodash: 4.17.21 + meow: 8.1.2 + split2: 3.2.2 + through2: 4.0.2 + dev: true + + /glob-parent@3.1.0: + resolution: {integrity: sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==} + dependencies: + is-glob: 3.1.0 + path-dirname: 1.0.2 + dev: true + + /glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + dependencies: + is-glob: 4.0.3 + + /glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + dependencies: + is-glob: 4.0.3 + dev: true + + /glob-to-regexp@0.3.0: + resolution: {integrity: sha512-Iozmtbqv0noj0uDDqoL0zNq0VBEfK2YFoMAZoxJe4cwphvLR+JskfF30QhXHOR4m3KrE6NLRYw+U9MRXvifyig==} + dev: true + + /glob-to-regexp@0.4.1: + resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} + dev: true + + /glob@10.3.12: + resolution: {integrity: sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + dependencies: + foreground-child: 3.1.1 + jackspeak: 2.3.6 + minimatch: 9.0.4 + minipass: 7.0.4 + path-scurry: 1.10.2 + dev: true + + /glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + + /global-dirs@0.1.1: + resolution: {integrity: sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==} + engines: {node: '>=4'} + dependencies: + ini: 1.3.8 + dev: true + + /global-modules@2.0.0: + resolution: {integrity: sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==} + engines: {node: '>=6'} + dependencies: + global-prefix: 3.0.0 + dev: true + + /global-prefix@3.0.0: + resolution: {integrity: sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==} + engines: {node: '>=6'} + dependencies: + ini: 1.3.8 + kind-of: 6.0.3 + which: 1.3.1 + dev: true + + /globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + + /globals@13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.20.2 + dev: true + + /globalthis@1.0.3: + resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} + engines: {node: '>= 0.4'} + dependencies: + define-properties: 1.2.1 + dev: true + + /globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.3.2 + ignore: 5.3.1 + merge2: 1.4.1 + slash: 3.0.0 + dev: true + + /globby@9.2.0: + resolution: {integrity: sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==} + engines: {node: '>=6'} + dependencies: + '@types/glob': 7.2.0 + array-union: 1.0.2 + dir-glob: 2.2.2 + fast-glob: 2.2.7 + glob: 7.2.3 + ignore: 4.0.6 + pify: 4.0.1 + slash: 2.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /globjoin@0.1.4: + resolution: {integrity: sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==} + dev: true + + /globrex@0.1.2: + resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} + dev: true + + /gonzales-pe@4.3.0: + resolution: {integrity: sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ==} + engines: {node: '>=0.6.0'} + hasBin: true + dependencies: + minimist: 1.2.8 + dev: true + + /gopd@1.0.1: + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + dependencies: + get-intrinsic: 1.2.4 + + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + dev: true + + /graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + dev: true + + /gzip-size@6.0.0: + resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} + engines: {node: '>=10'} + dependencies: + duplexer: 0.1.2 + dev: true + + /hard-rejection@2.1.0: + resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} + engines: {node: '>=6'} + dev: true + + /has-ansi@2.0.0: + resolution: {integrity: sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==} + engines: {node: '>=0.10.0'} + dependencies: + ansi-regex: 2.1.1 + dev: true + + /has-bigints@1.0.2: + resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + dev: true + + /has-flag@1.0.0: + resolution: {integrity: sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==} + engines: {node: '>=0.10.0'} + dev: true + + /has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + + /has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + dev: true + + /has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + dependencies: + es-define-property: 1.0.0 + + /has-proto@1.0.3: + resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} + engines: {node: '>= 0.4'} + + /has-symbols@1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} + + /has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.0.3 + + /has-value@0.3.1: + resolution: {integrity: sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==} + engines: {node: '>=0.10.0'} + dependencies: + get-value: 2.0.6 + has-values: 0.1.4 + isobject: 2.1.0 + dev: true + + /has-value@1.0.0: + resolution: {integrity: sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==} + engines: {node: '>=0.10.0'} + dependencies: + get-value: 2.0.6 + has-values: 1.0.0 + isobject: 3.0.1 + dev: true + + /has-values@0.1.4: + resolution: {integrity: sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==} + engines: {node: '>=0.10.0'} + dev: true + + /has-values@1.0.0: + resolution: {integrity: sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==} + engines: {node: '>=0.10.0'} + dependencies: + is-number: 3.0.0 + kind-of: 4.0.0 + dev: true + + /hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + dependencies: + function-bind: 1.1.2 + + /hast-util-from-parse5@7.1.2: + resolution: {integrity: sha512-Nz7FfPBuljzsN3tCQ4kCBKqdNhQE2l0Tn+X1ubgKBPRoiDIu1mL08Cfw4k7q71+Duyaw7DXDN+VTAp4Vh3oCOw==} + dependencies: + '@types/hast': 2.3.10 + '@types/unist': 2.0.10 + hastscript: 7.2.0 + property-information: 6.5.0 + vfile: 5.3.7 + vfile-location: 4.1.0 + web-namespaces: 2.0.1 + dev: false + + /hast-util-is-element@2.1.3: + resolution: {integrity: sha512-O1bKah6mhgEq2WtVMk+Ta5K7pPMqsBBlmzysLdcwKVrqzZQ0CHqUPiIVspNhAG1rvxpvJjtGee17XfauZYKqVA==} + dependencies: + '@types/hast': 2.3.10 + '@types/unist': 2.0.10 + dev: false + + /hast-util-parse-selector@3.1.1: + resolution: {integrity: sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA==} + dependencies: + '@types/hast': 2.3.10 + dev: false + + /hast-util-raw@7.2.3: + resolution: {integrity: sha512-RujVQfVsOrxzPOPSzZFiwofMArbQke6DJjnFfceiEbFh7S05CbPt0cYN+A5YeD3pso0JQk6O1aHBnx9+Pm2uqg==} + dependencies: + '@types/hast': 2.3.10 + '@types/parse5': 6.0.3 + hast-util-from-parse5: 7.1.2 + hast-util-to-parse5: 7.1.0 + html-void-elements: 2.0.1 + parse5: 6.0.1 + unist-util-position: 4.0.4 + unist-util-visit: 4.1.2 + vfile: 5.3.7 + web-namespaces: 2.0.1 + zwitch: 2.0.4 + dev: false + + /hast-util-to-parse5@7.1.0: + resolution: {integrity: sha512-YNRgAJkH2Jky5ySkIqFXTQiaqcAtJyVE+D5lkN6CdtOqrnkLfGYYrEcKuHOJZlp+MwjSwuD3fZuawI+sic/RBw==} + dependencies: + '@types/hast': 2.3.10 + comma-separated-tokens: 2.0.3 + property-information: 6.5.0 + space-separated-tokens: 2.0.2 + web-namespaces: 2.0.1 + zwitch: 2.0.4 + dev: false + + /hast-util-to-text@3.1.2: + resolution: {integrity: sha512-tcllLfp23dJJ+ju5wCCZHVpzsQQ43+moJbqVX3jNWPB7z/KFC4FyZD6R7y94cHL6MQ33YtMZL8Z0aIXXI4XFTw==} + dependencies: + '@types/hast': 2.3.10 + '@types/unist': 2.0.10 + hast-util-is-element: 2.1.3 + unist-util-find-after: 4.0.1 + dev: false + + /hast-util-whitespace@2.0.1: + resolution: {integrity: sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==} + dev: false + + /hastscript@7.2.0: + resolution: {integrity: sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw==} + dependencies: + '@types/hast': 2.3.10 + comma-separated-tokens: 2.0.3 + hast-util-parse-selector: 3.1.1 + property-information: 6.5.0 + space-separated-tokens: 2.0.2 + dev: false + + /he@1.2.0: + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + hasBin: true + dev: true + + /highlight.js@11.8.0: + resolution: {integrity: sha512-MedQhoqVdr0U6SSnWPzfiadUcDHfN/Wzq25AkXiQv9oiOO/sG0S7XkvpFIqWBl9Yq1UYyYOOVORs5UW2XlPyzg==} + engines: {node: '>=12.0.0'} + dev: false + + /highlight.js@11.9.0: + resolution: {integrity: sha512-fJ7cW7fQGCYAkgv4CPfwFHrfd/cLS4Hau96JuJ+ZTOWhjnhoeN1ub1tFmALm/+lW5z4WCAuAV9bm05AP0mS6Gw==} + engines: {node: '>=12.0.0'} + dev: false + + /hoist-non-react-statics@3.3.2: + resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} + dependencies: + react-is: 16.13.1 + + /hosted-git-info@2.8.9: + resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} + dev: true + + /hosted-git-info@4.1.0: + resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} + engines: {node: '>=10'} + dependencies: + lru-cache: 6.0.0 + dev: true + + /hotkeys-js@3.13.7: + resolution: {integrity: sha512-ygFIdTqqwG4fFP7kkiYlvayZppeIQX2aPpirsngkv1xM1lP0piDY5QEh68nQnIKvz64hfocxhBaD/uK3sSK1yQ==} + dev: true + + /html-parse-stringify@3.0.1: + resolution: {integrity: sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg==} + dependencies: + void-elements: 3.1.0 + dev: false + + /html-tags@2.0.0: + resolution: {integrity: sha512-+Il6N8cCo2wB/Vd3gqy/8TZhTD3QvcVeQLCnZiGkGCH3JP28IgGAY41giccp2W4R3jfyJPAP318FQTa1yU7K7g==} + engines: {node: '>=4'} + dev: true + + /html-tags@3.3.1: + resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} + engines: {node: '>=8'} + dev: true + + /html-void-elements@2.0.1: + resolution: {integrity: sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A==} + dev: false + + /htmlparser2@3.10.1: + resolution: {integrity: sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==} + dependencies: + domelementtype: 1.3.1 + domhandler: 2.4.2 + domutils: 1.7.0 + entities: 1.1.2 + inherits: 2.0.4 + readable-stream: 3.6.2 + dev: true + + /human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + dev: true + + /human-signals@4.3.1: + resolution: {integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==} + engines: {node: '>=14.18.0'} + dev: true + + /humps@2.0.1: + resolution: {integrity: sha512-E0eIbrFWUhwfXJmsbdjRQFQPrl5pTEoKlz163j1mTqqUnU9PgR4AgB8AIITzuB3vLBdxZXyZ9TDIrwB2OASz4g==} + dev: false + + /husky@8.0.3: + resolution: {integrity: sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==} + engines: {node: '>=14'} + hasBin: true + dev: true + + /hyphenate-style-name@1.0.4: + resolution: {integrity: sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==} + dev: false + + /i18next-browser-languagedetector@7.2.1: + resolution: {integrity: sha512-h/pM34bcH6tbz8WgGXcmWauNpQupCGr25XPp9cZwZInR9XHSjIFDYp1SIok7zSPsTOMxdvuLyu86V+g2Kycnfw==} + dependencies: + '@babel/runtime': 7.24.4 + dev: false + + /i18next@23.11.2: + resolution: {integrity: sha512-qMBm7+qT8jdpmmDw/kQD16VpmkL9BdL+XNAK5MNbNFaf1iQQq35ZbPrSlqmnNPOSUY4m342+c0t0evinF5l7sA==} + dependencies: + '@babel/runtime': 7.24.4 + dev: false + + /ignore@4.0.6: + resolution: {integrity: sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==} + engines: {node: '>= 4'} + dev: true + + /ignore@5.3.1: + resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} + engines: {node: '>= 4'} + dev: true + + /image-size@0.5.5: + resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==} + engines: {node: '>=0.10.0'} + hasBin: true + dev: true + + /immer@9.0.21: + resolution: {integrity: sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==} + dev: true + + /immutable@4.3.5: + resolution: {integrity: sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==} + + /import-fresh@2.0.0: + resolution: {integrity: sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==} + engines: {node: '>=4'} + dependencies: + caller-path: 2.0.0 + resolve-from: 3.0.0 + dev: true + + /import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + + /import-lazy@3.1.0: + resolution: {integrity: sha512-8/gvXvX2JMn0F+CDlSC4l6kOmVaLOO3XLkksI7CI3Ud95KDYJuYur2b9P/PUt/i/pDAMd/DulQsNbbbmRRsDIQ==} + engines: {node: '>=6'} + dev: true + + /import-lazy@4.0.0: + resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} + engines: {node: '>=8'} + dev: true + + /imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + dev: true + + /indent-string@3.2.0: + resolution: {integrity: sha512-BYqTHXTGUIvg7t1r4sJNKcbDZkL92nkXA8YtRpbjFHRHGDL/NtUeiBJMeE60kIFN/Mg8ESaWQvftaYMGJzQZCQ==} + engines: {node: '>=4'} + dev: true + + /indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + dev: true + + /indent-string@5.0.0: + resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} + engines: {node: '>=12'} + dev: true + + /indexes-of@1.0.1: + resolution: {integrity: sha512-bup+4tap3Hympa+JBJUG7XuOsdNQ6fxt0MHyXMKuLBKn0OqsTfvUxkUrroEX1+B2VsSHvCjiIcZVxRtYa4nllA==} + dev: true + + /inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + dev: true + + /inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + dev: true + + /ini@1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + dev: true + + /inline-style-parser@0.1.1: + resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==} + dev: false + + /inline-style-prefixer@7.0.0: + resolution: {integrity: sha512-I7GEdScunP1dQ6IM2mQWh6v0mOYdYmH3Bp31UecKdrcUgcURTcctSe1IECdUznSHKSmsHtjrT3CwCPI1pyxfUQ==} + dependencies: + css-in-js-utils: 3.1.0 + fast-loops: 1.1.3 + dev: false + + /internal-slot@1.0.7: + resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} + engines: {node: '>= 0.4'} + dependencies: + es-errors: 1.3.0 + hasown: 2.0.2 + side-channel: 1.0.6 + dev: true + + /invariant@2.2.4: + resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} + dependencies: + loose-envify: 1.4.0 + dev: false + + /is-accessor-descriptor@1.0.1: + resolution: {integrity: sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==} + engines: {node: '>= 0.10'} + dependencies: + hasown: 2.0.2 + dev: true + + /is-alphabetical@1.0.4: + resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==} + dev: true + + /is-alphanumeric@1.0.0: + resolution: {integrity: sha512-ZmRL7++ZkcMOfDuWZuMJyIVLr2keE1o/DeNWh1EmgqGhUcV+9BIVsx0BcSBOHTZqzjs4+dISzr2KAeBEWGgXeA==} + engines: {node: '>=0.10.0'} + dev: true + + /is-alphanumerical@1.0.4: + resolution: {integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==} + dependencies: + is-alphabetical: 1.0.4 + is-decimal: 1.0.4 + dev: true + + /is-arguments@1.1.1: + resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + has-tostringtag: 1.0.2 + dev: false + + /is-array-buffer@3.0.4: + resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + get-intrinsic: 1.2.4 + dev: true + + /is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + + /is-arrayish@0.3.2: + resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} + dev: false + + /is-async-function@2.0.0: + resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.2 + dev: true + + /is-bigint@1.0.4: + resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + dependencies: + has-bigints: 1.0.2 + dev: true + + /is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.3.0 + + /is-boolean-object@1.1.2: + resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + has-tostringtag: 1.0.2 + dev: true + + /is-buffer@1.1.6: + resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} + dev: true + + /is-buffer@2.0.5: + resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} + engines: {node: '>=4'} + + /is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + dev: true + + /is-core-module@2.13.1: + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + dependencies: + hasown: 2.0.2 + + /is-data-descriptor@1.0.1: + resolution: {integrity: sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==} + engines: {node: '>= 0.4'} + dependencies: + hasown: 2.0.2 + dev: true + + /is-data-view@1.0.1: + resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} + engines: {node: '>= 0.4'} + dependencies: + is-typed-array: 1.1.13 + dev: true + + /is-date-object@1.0.5: + resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.2 + + /is-decimal@1.0.4: + resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==} + dev: true + + /is-descriptor@0.1.7: + resolution: {integrity: sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==} + engines: {node: '>= 0.4'} + dependencies: + is-accessor-descriptor: 1.0.1 + is-data-descriptor: 1.0.1 + dev: true + + /is-descriptor@1.0.3: + resolution: {integrity: sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==} + engines: {node: '>= 0.4'} + dependencies: + is-accessor-descriptor: 1.0.1 + is-data-descriptor: 1.0.1 + dev: true + + /is-directory@0.3.1: + resolution: {integrity: sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==} + engines: {node: '>=0.10.0'} + dev: true + + /is-docker@2.2.1: + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} + hasBin: true + dev: true + + /is-extendable@0.1.1: + resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} + engines: {node: '>=0.10.0'} + dev: true + + /is-extendable@1.0.1: + resolution: {integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==} + engines: {node: '>=0.10.0'} + dependencies: + is-plain-object: 2.0.4 + dev: true + + /is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + /is-finalizationregistry@1.0.2: + resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==} + dependencies: + call-bind: 1.0.7 + dev: true + + /is-fullwidth-code-point@2.0.0: + resolution: {integrity: sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==} + engines: {node: '>=4'} + dev: true + + /is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + dev: true + + /is-fullwidth-code-point@4.0.0: + resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} + engines: {node: '>=12'} + dev: true + + /is-generator-function@1.0.10: + resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.2 + dev: true + + /is-glob@3.1.0: + resolution: {integrity: sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + dev: true + + /is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + + /is-hexadecimal@1.0.4: + resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==} + dev: true + + /is-map@2.0.3: + resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} + engines: {node: '>= 0.4'} + dev: true + + /is-negative-zero@2.0.3: + resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} + engines: {node: '>= 0.4'} + dev: true + + /is-number-object@1.0.7: + resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.2 + dev: true + + /is-number@3.0.0: + resolution: {integrity: sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==} + engines: {node: '>=0.10.0'} + dependencies: + kind-of: 3.2.2 + dev: true + + /is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + /is-obj@2.0.0: + resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} + engines: {node: '>=8'} + dev: true + + /is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + dev: true + + /is-plain-obj@1.1.0: + resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} + engines: {node: '>=0.10.0'} + dev: true + + /is-plain-obj@4.1.0: + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} + dev: false + + /is-plain-object@2.0.4: + resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} + engines: {node: '>=0.10.0'} + dependencies: + isobject: 3.0.1 + dev: true + + /is-plain-object@5.0.0: + resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} + engines: {node: '>=0.10.0'} + dev: true + + /is-regex@1.1.4: + resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + has-tostringtag: 1.0.2 + + /is-regexp@1.0.0: + resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==} + engines: {node: '>=0.10.0'} + dev: true + + /is-root@2.1.0: + resolution: {integrity: sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==} + engines: {node: '>=6'} + dev: true + + /is-set@2.0.3: + resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} + engines: {node: '>= 0.4'} + dev: true + + /is-shared-array-buffer@1.0.3: + resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + dev: true + + /is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + dev: true + + /is-stream@3.0.0: + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + + /is-string@1.0.7: + resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.2 + dev: true + + /is-supported-regexp-flag@1.0.1: + resolution: {integrity: sha512-3vcJecUUrpgCqc/ca0aWeNu64UGgxcvO60K/Fkr1N6RSvfGCTU60UKN68JDmKokgba0rFFJs12EnzOQa14ubKQ==} + engines: {node: '>=0.10.0'} + dev: true + + /is-symbol@1.0.4: + resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.0.3 + dev: true + + /is-text-path@1.0.1: + resolution: {integrity: sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==} + engines: {node: '>=0.10.0'} + dependencies: + text-extensions: 1.9.0 + dev: true + + /is-typed-array@1.1.13: + resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} + engines: {node: '>= 0.4'} + dependencies: + which-typed-array: 1.1.15 + dev: true + + /is-weakmap@2.0.2: + resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} + engines: {node: '>= 0.4'} + dev: true + + /is-weakref@1.0.2: + resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + dependencies: + call-bind: 1.0.7 + dev: true + + /is-weakset@2.0.3: + resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + get-intrinsic: 1.2.4 + dev: true + + /is-what@4.1.16: + resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==} + engines: {node: '>=12.13'} + dev: false + + /is-whitespace-character@1.0.4: + resolution: {integrity: sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==} + dev: true + + /is-windows@1.0.2: + resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} + engines: {node: '>=0.10.0'} + dev: true + + /is-word-character@1.0.4: + resolution: {integrity: sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA==} + dev: true + + /is-wsl@2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} + dependencies: + is-docker: 2.2.1 + dev: true + + /isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + dev: true + + /isarray@2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + dev: true + + /isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: true + + /isobject@2.1.0: + resolution: {integrity: sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==} + engines: {node: '>=0.10.0'} + dependencies: + isarray: 1.0.0 + dev: true + + /isobject@3.0.1: + resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} + engines: {node: '>=0.10.0'} + dev: true + + /iterator.prototype@1.1.2: + resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==} + dependencies: + define-properties: 1.2.1 + get-intrinsic: 1.2.4 + has-symbols: 1.0.3 + reflect.getprototypeof: 1.0.6 + set-function-name: 2.0.2 + dev: true + + /jackspeak@2.3.6: + resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} + engines: {node: '>=14'} + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + dev: true + + /jest-worker@27.5.1: + resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} + engines: {node: '>= 10.13.0'} + dependencies: + '@types/node': 20.12.7 + merge-stream: 2.0.0 + supports-color: 8.1.1 + dev: true + + /jiti@1.21.0: + resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} + hasBin: true + dev: true + + /js-base64@2.6.4: + resolution: {integrity: sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==} + dev: true + + /js-cookie@2.2.1: + resolution: {integrity: sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ==} + dev: false + + /js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + /js-yaml@3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + dev: true + + /js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + dependencies: + argparse: 2.0.1 + dev: true + + /jsesc@2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + + /json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + dev: true + + /json-parse-better-errors@1.0.2: + resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} + dev: true + + /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==} + dev: true + + /json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + dev: true + + /json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + dev: true + + /json2mq@0.2.0: + resolution: {integrity: sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA==} + dependencies: + string-convert: 0.2.1 + dev: false + + /json5@1.0.2: + resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} + hasBin: true + dependencies: + minimist: 1.2.8 + dev: true + + /json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + /jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + dev: true + + /jsonparse@1.3.1: + resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} + engines: {'0': node >= 0.2.0} + dev: true + + /jsx-ast-utils@3.3.5: + resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} + engines: {node: '>=4.0'} + dependencies: + array-includes: 3.1.8 + array.prototype.flat: 1.3.2 + object.assign: 4.1.5 + object.values: 1.2.0 + dev: true + + /keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + dependencies: + json-buffer: 3.0.1 + dev: true + + /kind-of@3.2.2: + resolution: {integrity: sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==} + engines: {node: '>=0.10.0'} + dependencies: + is-buffer: 1.1.6 + dev: true + + /kind-of@4.0.0: + resolution: {integrity: sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==} + engines: {node: '>=0.10.0'} + dependencies: + is-buffer: 1.1.6 + dev: true + + /kind-of@5.1.0: + resolution: {integrity: sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==} + engines: {node: '>=0.10.0'} + dev: true + + /kind-of@6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + dev: true + + /kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + dev: true + + /kleur@4.1.5: + resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} + engines: {node: '>=6'} + dev: false + + /known-css-properties@0.11.0: + resolution: {integrity: sha512-bEZlJzXo5V/ApNNa5z375mJC6Nrz4vG43UgcSCrg2OHC+yuB6j0iDSrY7RQ/+PRofFB03wNIIt9iXIVLr4wc7w==} + dev: true + + /known-css-properties@0.29.0: + resolution: {integrity: sha512-Ne7wqW7/9Cz54PDt4I3tcV+hAyat8ypyOGzYRJQfdxnnjeWsTxt1cy8pjvvKeI5kfXuyvULyeeAvwvvtAX3ayQ==} + dev: true + + /language-subtag-registry@0.3.22: + resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==} + dev: true + + /language-tags@1.0.9: + resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} + engines: {node: '>=0.10'} + dependencies: + language-subtag-registry: 0.3.22 + dev: true + + /leven@2.1.0: + resolution: {integrity: sha512-nvVPLpIHUxCUoRLrFqTgSxXJ614d8AgQoWl7zPe/2VadE8+1dpU3LBhowRuBAcuwruWtOdD8oYC9jDNJjXDPyA==} + engines: {node: '>=0.10.0'} + dev: true + + /levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /lilconfig@2.1.0: + resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} + engines: {node: '>=10'} + dev: true + + /lilconfig@3.1.1: + resolution: {integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==} + engines: {node: '>=14'} + dev: true + + /lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + + /lint-staged@13.3.0: + resolution: {integrity: sha512-mPRtrYnipYYv1FEE134ufbWpeggNTo+O/UPzngoaKzbzHAthvR55am+8GfHTnqNRQVRRrYQLGW9ZyUoD7DsBHQ==} + engines: {node: ^16.14.0 || >=18.0.0} + hasBin: true + dependencies: + chalk: 5.3.0 + commander: 11.0.0 + debug: 4.3.4 + execa: 7.2.0 + lilconfig: 2.1.0 + listr2: 6.6.1 + micromatch: 4.0.5 + pidtree: 0.6.0 + string-argv: 0.3.2 + yaml: 2.3.1 + transitivePeerDependencies: + - enquirer + - supports-color + dev: true + + /listr2@6.6.1: + resolution: {integrity: sha512-+rAXGHh0fkEWdXBmX+L6mmfmXmXvDGEKzkjxO+8mP3+nI/r/CWznVBvsibXdxda9Zz0OW2e2ikphN3OwCT/jSg==} + engines: {node: '>=16.0.0'} + peerDependencies: + enquirer: '>= 2.3.0 < 3' + peerDependenciesMeta: + enquirer: + optional: true + dependencies: + cli-truncate: 3.1.0 + colorette: 2.0.20 + eventemitter3: 5.0.1 + log-update: 5.0.1 + rfdc: 1.3.1 + wrap-ansi: 8.1.0 + dev: true + + /load-json-file@4.0.0: + resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} + engines: {node: '>=4'} + dependencies: + graceful-fs: 4.2.11 + parse-json: 4.0.0 + pify: 3.0.0 + strip-bom: 3.0.0 + dev: true + + /loader-runner@4.3.0: + resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} + engines: {node: '>=6.11.5'} + dev: true + + /loader-utils@1.4.2: + resolution: {integrity: sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==} + engines: {node: '>=4.0.0'} + dependencies: + big.js: 5.2.2 + emojis-list: 3.0.0 + json5: 1.0.2 + dev: true + + /loader-utils@3.2.1: + resolution: {integrity: sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==} + engines: {node: '>= 12.13.0'} + dev: true + + /locate-path@2.0.0: + resolution: {integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==} + engines: {node: '>=4'} + dependencies: + p-locate: 2.0.0 + path-exists: 3.0.0 + dev: true + + /locate-path@3.0.0: + resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} + engines: {node: '>=6'} + dependencies: + p-locate: 3.0.0 + path-exists: 3.0.0 + dev: true + + /locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + dependencies: + p-locate: 4.1.0 + dev: true + + /locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + dependencies: + p-locate: 5.0.0 + dev: true + + /lodash-es@4.17.21: + resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} + dev: false + + /lodash.camelcase@4.3.0: + resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} + dev: true + + /lodash.isfunction@3.0.9: + resolution: {integrity: sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==} + dev: true + + /lodash.isplainobject@4.0.6: + resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} + dev: true + + /lodash.kebabcase@4.1.1: + resolution: {integrity: sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==} + dev: true + + /lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + dev: true + + /lodash.mergewith@4.6.2: + resolution: {integrity: sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==} + dev: true + + /lodash.snakecase@4.1.1: + resolution: {integrity: sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==} + dev: true + + /lodash.startcase@4.4.0: + resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} + dev: true + + /lodash.truncate@4.4.2: + resolution: {integrity: sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==} + dev: true + + /lodash.uniq@4.5.0: + resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} + dev: true + + /lodash.upperfirst@4.3.1: + resolution: {integrity: sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==} + dev: true + + /lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + + /log-symbols@2.2.0: + resolution: {integrity: sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==} + engines: {node: '>=4'} + dependencies: + chalk: 2.4.2 + dev: true + + /log-update@5.0.1: + resolution: {integrity: sha512-5UtUDQ/6edw4ofyljDNcOVJQ4c7OjDro4h3y8e1GQL5iYElYclVHJ3zeWchylvMaKnDbDilC8irOVyexnA/Slw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + ansi-escapes: 5.0.0 + cli-cursor: 4.0.0 + slice-ansi: 5.0.0 + strip-ansi: 7.1.0 + wrap-ansi: 8.1.0 + dev: true + + /longest-streak@2.0.4: + resolution: {integrity: sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg==} + dev: true + + /longest-streak@3.1.0: + resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} + dev: false + + /loose-envify@1.4.0: + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + hasBin: true + dependencies: + js-tokens: 4.0.0 + + /loud-rejection@1.6.0: + resolution: {integrity: sha512-RPNliZOFkqFumDhvYqOaNY4Uz9oJM2K9tC6JWsJJsNdhuONW4LQHRBpb0qf4pJApVffI5N39SwzWZJuEhfd7eQ==} + engines: {node: '>=0.10.0'} + dependencies: + currently-unhandled: 0.4.1 + signal-exit: 3.0.7 + dev: true + + /lowlight@2.9.0: + resolution: {integrity: sha512-OpcaUTCLmHuVuBcyNckKfH5B0oA4JUavb/M/8n9iAvanJYNQkrVm4pvyX0SUaqkBG4dnWHKt7p50B3ngAG2Rfw==} + dependencies: + '@types/hast': 2.3.10 + fault: 2.0.1 + highlight.js: 11.8.0 + dev: false + + /lru-cache@10.2.1: + resolution: {integrity: sha512-tS24spDe/zXhWbNPErCHs/AGOzbKGHT+ybSBqmdLm8WZ1xXLWvH8Qn71QPAlqVhd0qUTWjy+Kl9JmISgDdEjsA==} + engines: {node: 14 || >=16.14} + dev: true + + /lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + dependencies: + yallist: 3.1.1 + + /lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + dependencies: + yallist: 4.0.0 + dev: true + + /make-error@1.3.6: + resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} + dev: true + + /map-cache@0.2.2: + resolution: {integrity: sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==} + engines: {node: '>=0.10.0'} + dev: true + + /map-obj@1.0.1: + resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} + engines: {node: '>=0.10.0'} + dev: true + + /map-obj@2.0.0: + resolution: {integrity: sha512-TzQSV2DiMYgoF5RycneKVUzIa9bQsj/B3tTgsE3dOGqlzHnGIDaC7XBE7grnA+8kZPnfqSGFe95VHc2oc0VFUQ==} + engines: {node: '>=4'} + dev: true + + /map-obj@4.3.0: + resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} + engines: {node: '>=8'} + dev: true + + /map-visit@1.0.0: + resolution: {integrity: sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==} + engines: {node: '>=0.10.0'} + dependencies: + object-visit: 1.0.1 + dev: true + + /markdown-escapes@1.0.4: + resolution: {integrity: sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==} + dev: true + + /markdown-table@1.1.3: + resolution: {integrity: sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q==} + dev: true + + /markdown-table@3.0.3: + resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} + dev: false + + /mathml-tag-names@2.1.3: + resolution: {integrity: sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==} + dev: true + + /mdast-util-compact@1.0.4: + resolution: {integrity: sha512-3YDMQHI5vRiS2uygEFYaqckibpJtKq5Sj2c8JioeOQBU6INpKbdWzfyLqFFnDwEcEnRFIdMsguzs5pC1Jp4Isg==} + dependencies: + unist-util-visit: 1.4.1 + dev: true + + /mdast-util-definitions@5.1.2: + resolution: {integrity: sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==} + dependencies: + '@types/mdast': 3.0.15 + '@types/unist': 2.0.10 + unist-util-visit: 4.1.2 + dev: false + + /mdast-util-find-and-replace@2.2.2: + resolution: {integrity: sha512-MTtdFRz/eMDHXzeK6W3dO7mXUlF82Gom4y0oOgvHhh/HXZAGvIQDUvQ0SuUx+j2tv44b8xTHOm8K/9OoRFnXKw==} + dependencies: + '@types/mdast': 3.0.15 + escape-string-regexp: 5.0.0 + unist-util-is: 5.2.1 + unist-util-visit-parents: 5.1.3 + dev: false + + /mdast-util-from-markdown@1.3.1: + resolution: {integrity: sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==} + dependencies: + '@types/mdast': 3.0.15 + '@types/unist': 2.0.10 + decode-named-character-reference: 1.0.2 + mdast-util-to-string: 3.2.0 + micromark: 3.2.0 + micromark-util-decode-numeric-character-reference: 1.1.0 + micromark-util-decode-string: 1.1.0 + micromark-util-normalize-identifier: 1.1.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + unist-util-stringify-position: 3.0.3 + uvu: 0.5.6 + transitivePeerDependencies: + - supports-color + dev: false + + /mdast-util-gfm-autolink-literal@1.0.3: + resolution: {integrity: sha512-My8KJ57FYEy2W2LyNom4n3E7hKTuQk/0SES0u16tjA9Z3oFkF4RrC/hPAPgjlSpezsOvI8ObcXcElo92wn5IGA==} + dependencies: + '@types/mdast': 3.0.15 + ccount: 2.0.1 + mdast-util-find-and-replace: 2.2.2 + micromark-util-character: 1.2.0 + dev: false + + /mdast-util-gfm-footnote@1.0.2: + resolution: {integrity: sha512-56D19KOGbE00uKVj3sgIykpwKL179QsVFwx/DCW0u/0+URsryacI4MAdNJl0dh+u2PSsD9FtxPFbHCzJ78qJFQ==} + dependencies: + '@types/mdast': 3.0.15 + mdast-util-to-markdown: 1.5.0 + micromark-util-normalize-identifier: 1.1.0 + dev: false + + /mdast-util-gfm-strikethrough@1.0.3: + resolution: {integrity: sha512-DAPhYzTYrRcXdMjUtUjKvW9z/FNAMTdU0ORyMcbmkwYNbKocDpdk+PX1L1dQgOID/+vVs1uBQ7ElrBQfZ0cuiQ==} + dependencies: + '@types/mdast': 3.0.15 + mdast-util-to-markdown: 1.5.0 + dev: false + + /mdast-util-gfm-table@1.0.7: + resolution: {integrity: sha512-jjcpmNnQvrmN5Vx7y7lEc2iIOEytYv7rTvu+MeyAsSHTASGCCRA79Igg2uKssgOs1i1po8s3plW0sTu1wkkLGg==} + dependencies: + '@types/mdast': 3.0.15 + markdown-table: 3.0.3 + mdast-util-from-markdown: 1.3.1 + mdast-util-to-markdown: 1.5.0 + transitivePeerDependencies: + - supports-color + dev: false + + /mdast-util-gfm-task-list-item@1.0.2: + resolution: {integrity: sha512-PFTA1gzfp1B1UaiJVyhJZA1rm0+Tzn690frc/L8vNX1Jop4STZgOE6bxUhnzdVSB+vm2GU1tIsuQcA9bxTQpMQ==} + dependencies: + '@types/mdast': 3.0.15 + mdast-util-to-markdown: 1.5.0 + dev: false + + /mdast-util-gfm@2.0.2: + resolution: {integrity: sha512-qvZ608nBppZ4icQlhQQIAdc6S3Ffj9RGmzwUKUWuEICFnd1LVkN3EktF7ZHAgfcEdvZB5owU9tQgt99e2TlLjg==} + dependencies: + mdast-util-from-markdown: 1.3.1 + mdast-util-gfm-autolink-literal: 1.0.3 + mdast-util-gfm-footnote: 1.0.2 + mdast-util-gfm-strikethrough: 1.0.3 + mdast-util-gfm-table: 1.0.7 + mdast-util-gfm-task-list-item: 1.0.2 + mdast-util-to-markdown: 1.5.0 + transitivePeerDependencies: + - supports-color + dev: false + + /mdast-util-phrasing@3.0.1: + resolution: {integrity: sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg==} + dependencies: + '@types/mdast': 3.0.15 + unist-util-is: 5.2.1 + dev: false + + /mdast-util-to-hast@12.3.0: + resolution: {integrity: sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==} + dependencies: + '@types/hast': 2.3.10 + '@types/mdast': 3.0.15 + mdast-util-definitions: 5.1.2 + micromark-util-sanitize-uri: 1.2.0 + trim-lines: 3.0.1 + unist-util-generated: 2.0.1 + unist-util-position: 4.0.4 + unist-util-visit: 4.1.2 + dev: false + + /mdast-util-to-markdown@1.5.0: + resolution: {integrity: sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A==} + dependencies: + '@types/mdast': 3.0.15 + '@types/unist': 2.0.10 + longest-streak: 3.1.0 + mdast-util-phrasing: 3.0.1 + mdast-util-to-string: 3.2.0 + micromark-util-decode-string: 1.1.0 + unist-util-visit: 4.1.2 + zwitch: 2.0.4 + dev: false + + /mdast-util-to-string@3.2.0: + resolution: {integrity: sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==} + dependencies: + '@types/mdast': 3.0.15 + dev: false + + /mdn-data@2.0.14: + resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} + + /mdn-data@2.0.30: + resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} + dev: true + + /memfs@3.5.3: + resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==} + engines: {node: '>= 4.0.0'} + dependencies: + fs-monkey: 1.0.5 + dev: true + + /memoize-one@5.2.1: + resolution: {integrity: sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==} + dev: false + + /meow@10.1.5: + resolution: {integrity: sha512-/d+PQ4GKmGvM9Bee/DPa8z3mXs/pkvJE2KEThngVNOqtmljC6K7NMPxtc2JeZYTmpWb9k/TmxjeL18ez3h7vCw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + '@types/minimist': 1.2.5 + camelcase-keys: 7.0.2 + decamelize: 5.0.1 + decamelize-keys: 1.1.1 + hard-rejection: 2.1.0 + minimist-options: 4.1.0 + normalize-package-data: 3.0.3 + read-pkg-up: 8.0.0 + redent: 4.0.0 + trim-newlines: 4.1.1 + type-fest: 1.4.0 + yargs-parser: 20.2.9 + dev: true + + /meow@5.0.0: + resolution: {integrity: sha512-CbTqYU17ABaLefO8vCU153ZZlprKYWDljcndKKDCFcYQITzWCXZAVk4QMFZPgvzrnUQ3uItnIE/LoUOwrT15Ig==} + engines: {node: '>=6'} + dependencies: + camelcase-keys: 4.2.0 + decamelize-keys: 1.1.1 + loud-rejection: 1.6.0 + minimist-options: 3.0.2 + normalize-package-data: 2.5.0 + read-pkg-up: 3.0.0 + redent: 2.0.0 + trim-newlines: 2.0.0 + yargs-parser: 10.1.0 + dev: true + + /meow@8.1.2: + resolution: {integrity: sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==} + engines: {node: '>=10'} + dependencies: + '@types/minimist': 1.2.5 + camelcase-keys: 6.2.2 + decamelize-keys: 1.1.1 + hard-rejection: 2.1.0 + minimist-options: 4.1.0 + normalize-package-data: 3.0.3 + read-pkg-up: 7.0.1 + redent: 3.0.0 + trim-newlines: 3.0.1 + type-fest: 0.18.1 + yargs-parser: 20.2.9 + dev: true + + /merge-options@1.0.1: + resolution: {integrity: sha512-iuPV41VWKWBIOpBsjoxjDZw8/GbSfZ2mk7N1453bwMrfzdrIk7EzBd+8UVR6rkw67th7xnk9Dytl3J+lHPdxvg==} + engines: {node: '>=4'} + dependencies: + is-plain-obj: 1.1.0 + dev: true + + /merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: true + + /merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + dev: true + + /micromark-core-commonmark@1.1.0: + resolution: {integrity: sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==} + dependencies: + decode-named-character-reference: 1.0.2 + micromark-factory-destination: 1.1.0 + micromark-factory-label: 1.1.0 + micromark-factory-space: 1.1.0 + micromark-factory-title: 1.1.0 + micromark-factory-whitespace: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-chunked: 1.1.0 + micromark-util-classify-character: 1.1.0 + micromark-util-html-tag-name: 1.2.0 + micromark-util-normalize-identifier: 1.1.0 + micromark-util-resolve-all: 1.1.0 + micromark-util-subtokenize: 1.1.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + uvu: 0.5.6 + dev: false + + /micromark-extension-gfm-autolink-literal@1.0.5: + resolution: {integrity: sha512-z3wJSLrDf8kRDOh2qBtoTRD53vJ+CWIyo7uyZuxf/JAbNJjiHsOpG1y5wxk8drtv3ETAHutCu6N3thkOOgueWg==} + dependencies: + micromark-util-character: 1.2.0 + micromark-util-sanitize-uri: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + dev: false + + /micromark-extension-gfm-footnote@1.1.2: + resolution: {integrity: sha512-Yxn7z7SxgyGWRNa4wzf8AhYYWNrwl5q1Z8ii+CSTTIqVkmGZF1CElX2JI8g5yGoM3GAman9/PVCUFUSJ0kB/8Q==} + dependencies: + micromark-core-commonmark: 1.1.0 + micromark-factory-space: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-normalize-identifier: 1.1.0 + micromark-util-sanitize-uri: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + uvu: 0.5.6 + dev: false + + /micromark-extension-gfm-strikethrough@1.0.7: + resolution: {integrity: sha512-sX0FawVE1o3abGk3vRjOH50L5TTLr3b5XMqnP9YDRb34M0v5OoZhG+OHFz1OffZ9dlwgpTBKaT4XW/AsUVnSDw==} + dependencies: + micromark-util-chunked: 1.1.0 + micromark-util-classify-character: 1.1.0 + micromark-util-resolve-all: 1.1.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + uvu: 0.5.6 + dev: false + + /micromark-extension-gfm-table@1.0.7: + resolution: {integrity: sha512-3ZORTHtcSnMQEKtAOsBQ9/oHp9096pI/UvdPtN7ehKvrmZZ2+bbWhi0ln+I9drmwXMt5boocn6OlwQzNXeVeqw==} + dependencies: + micromark-factory-space: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + uvu: 0.5.6 + dev: false + + /micromark-extension-gfm-tagfilter@1.0.2: + resolution: {integrity: sha512-5XWB9GbAUSHTn8VPU8/1DBXMuKYT5uOgEjJb8gN3mW0PNW5OPHpSdojoqf+iq1xo7vWzw/P8bAHY0n6ijpXF7g==} + dependencies: + micromark-util-types: 1.1.0 + dev: false + + /micromark-extension-gfm-task-list-item@1.0.5: + resolution: {integrity: sha512-RMFXl2uQ0pNQy6Lun2YBYT9g9INXtWJULgbt01D/x8/6yJ2qpKyzdZD3pi6UIkzF++Da49xAelVKUeUMqd5eIQ==} + dependencies: + micromark-factory-space: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + uvu: 0.5.6 + dev: false + + /micromark-extension-gfm@2.0.3: + resolution: {integrity: sha512-vb9OoHqrhCmbRidQv/2+Bc6pkP0FrtlhurxZofvOEy5o8RtuuvTq+RQ1Vw5ZDNrVraQZu3HixESqbG+0iKk/MQ==} + dependencies: + micromark-extension-gfm-autolink-literal: 1.0.5 + micromark-extension-gfm-footnote: 1.1.2 + micromark-extension-gfm-strikethrough: 1.0.7 + micromark-extension-gfm-table: 1.0.7 + micromark-extension-gfm-tagfilter: 1.0.2 + micromark-extension-gfm-task-list-item: 1.0.5 + micromark-util-combine-extensions: 1.1.0 + micromark-util-types: 1.1.0 + dev: false + + /micromark-factory-destination@1.1.0: + resolution: {integrity: sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==} + dependencies: + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + dev: false + + /micromark-factory-label@1.1.0: + resolution: {integrity: sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==} + dependencies: + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + uvu: 0.5.6 + dev: false + + /micromark-factory-space@1.1.0: + resolution: {integrity: sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==} + dependencies: + micromark-util-character: 1.2.0 + micromark-util-types: 1.1.0 + dev: false + + /micromark-factory-title@1.1.0: + resolution: {integrity: sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==} + dependencies: + micromark-factory-space: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + dev: false + + /micromark-factory-whitespace@1.1.0: + resolution: {integrity: sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==} + dependencies: + micromark-factory-space: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + dev: false + + /micromark-util-character@1.2.0: + resolution: {integrity: sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==} + dependencies: + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + dev: false + + /micromark-util-chunked@1.1.0: + resolution: {integrity: sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==} + dependencies: + micromark-util-symbol: 1.1.0 + dev: false + + /micromark-util-classify-character@1.1.0: + resolution: {integrity: sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==} + dependencies: + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + dev: false + + /micromark-util-combine-extensions@1.1.0: + resolution: {integrity: sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==} + dependencies: + micromark-util-chunked: 1.1.0 + micromark-util-types: 1.1.0 + dev: false + + /micromark-util-decode-numeric-character-reference@1.1.0: + resolution: {integrity: sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==} + dependencies: + micromark-util-symbol: 1.1.0 + dev: false + + /micromark-util-decode-string@1.1.0: + resolution: {integrity: sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==} + dependencies: + decode-named-character-reference: 1.0.2 + micromark-util-character: 1.2.0 + micromark-util-decode-numeric-character-reference: 1.1.0 + micromark-util-symbol: 1.1.0 + dev: false + + /micromark-util-encode@1.1.0: + resolution: {integrity: sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==} + dev: false + + /micromark-util-html-tag-name@1.2.0: + resolution: {integrity: sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==} + dev: false + + /micromark-util-normalize-identifier@1.1.0: + resolution: {integrity: sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==} + dependencies: + micromark-util-symbol: 1.1.0 + dev: false + + /micromark-util-resolve-all@1.1.0: + resolution: {integrity: sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==} + dependencies: + micromark-util-types: 1.1.0 + dev: false + + /micromark-util-sanitize-uri@1.2.0: + resolution: {integrity: sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==} + dependencies: + micromark-util-character: 1.2.0 + micromark-util-encode: 1.1.0 + micromark-util-symbol: 1.1.0 + dev: false + + /micromark-util-subtokenize@1.1.0: + resolution: {integrity: sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==} + dependencies: + micromark-util-chunked: 1.1.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + uvu: 0.5.6 + dev: false + + /micromark-util-symbol@1.1.0: + resolution: {integrity: sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==} + dev: false + + /micromark-util-types@1.1.0: + resolution: {integrity: sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==} + dev: false + + /micromark@3.2.0: + resolution: {integrity: sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==} + dependencies: + '@types/debug': 4.1.12 + debug: 4.3.4 + decode-named-character-reference: 1.0.2 + micromark-core-commonmark: 1.1.0 + micromark-factory-space: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-chunked: 1.1.0 + micromark-util-combine-extensions: 1.1.0 + micromark-util-decode-numeric-character-reference: 1.1.0 + micromark-util-encode: 1.1.0 + micromark-util-normalize-identifier: 1.1.0 + micromark-util-resolve-all: 1.1.0 + micromark-util-sanitize-uri: 1.2.0 + micromark-util-subtokenize: 1.1.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + uvu: 0.5.6 + transitivePeerDependencies: + - supports-color + dev: false + + /micromatch@3.1.0: + resolution: {integrity: sha512-3StSelAE+hnRvMs8IdVW7Uhk8CVed5tp+kLLGlBP6WiRAXS21GPGu/Nat4WNPXj2Eoc24B02SaeoyozPMfj0/g==} + engines: {node: '>=0.10.0'} + dependencies: + arr-diff: 4.0.0 + array-unique: 0.3.2 + braces: 2.3.2 + define-property: 1.0.0 + extend-shallow: 2.0.1 + extglob: 2.0.4 + fragment-cache: 0.2.1 + kind-of: 5.1.0 + nanomatch: 1.2.13 + object.pick: 1.3.0 + regex-not: 1.0.2 + snapdragon: 0.8.2 + to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color + dev: true + + /micromatch@3.1.10: + resolution: {integrity: sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==} + engines: {node: '>=0.10.0'} + dependencies: + arr-diff: 4.0.0 + array-unique: 0.3.2 + braces: 2.3.2 + define-property: 2.0.2 + extend-shallow: 3.0.2 + extglob: 2.0.4 + fragment-cache: 0.2.1 + kind-of: 6.0.3 + nanomatch: 1.2.13 + object.pick: 1.3.0 + regex-not: 1.0.2 + snapdragon: 0.8.2 + to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color + dev: true + + /micromatch@4.0.5: + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} + dependencies: + braces: 3.0.2 + picomatch: 2.3.1 + dev: true + + /mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + /mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + dependencies: + mime-db: 1.52.0 + + /mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + dev: true + + /mimic-fn@4.0.0: + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} + dev: true + + /min-indent@1.0.1: + resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} + engines: {node: '>=4'} + dev: true + + /minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + dependencies: + brace-expansion: 1.1.11 + dev: true + + /minimatch@9.0.4: + resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + brace-expansion: 2.0.1 + dev: true + + /minimist-options@3.0.2: + resolution: {integrity: sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==} + engines: {node: '>= 4'} + dependencies: + arrify: 1.0.1 + is-plain-obj: 1.1.0 + dev: true + + /minimist-options@4.1.0: + resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} + engines: {node: '>= 6'} + dependencies: + arrify: 1.0.1 + is-plain-obj: 1.1.0 + kind-of: 6.0.3 + dev: true + + /minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + dev: true + + /minipass@7.0.4: + resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} + engines: {node: '>=16 || 14 >=14.17'} + dev: true + + /mixin-deep@1.3.2: + resolution: {integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==} + engines: {node: '>=0.10.0'} + dependencies: + for-in: 1.0.2 + is-extendable: 1.0.1 + dev: true + + /mkdirp@0.5.6: + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + hasBin: true + dependencies: + minimist: 1.2.8 + dev: true + + /mri@1.2.0: + resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} + engines: {node: '>=4'} + dev: false + + /ms@2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + dev: true + + /ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + + /ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + dev: true + + /mz@2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + dev: true + + /nano-css@5.6.1(react-dom@18.3.0)(react@18.3.0): + resolution: {integrity: sha512-T2Mhc//CepkTa3X4pUhKgbEheJHYAxD0VptuqFhDbGMUWVV2m+lkNiW/Ieuj35wrfC8Zm0l7HvssQh7zcEttSw==} + peerDependencies: + react: '*' + react-dom: '*' + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + css-tree: 1.1.3 + csstype: 3.1.3 + fastest-stable-stringify: 2.0.2 + inline-style-prefixer: 7.0.0 + react: 18.3.0 + react-dom: 18.3.0(react@18.3.0) + rtl-css-js: 1.16.1 + stacktrace-js: 2.0.2 + stylis: 4.3.2 + dev: false + + /nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + /nanomatch@1.2.13: + resolution: {integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==} + engines: {node: '>=0.10.0'} + dependencies: + arr-diff: 4.0.0 + array-unique: 0.3.2 + define-property: 2.0.2 + extend-shallow: 3.0.2 + fragment-cache: 0.2.1 + is-windows: 1.0.2 + kind-of: 6.0.3 + object.pick: 1.3.0 + regex-not: 1.0.2 + snapdragon: 0.8.2 + to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color + dev: true + + /natural-compare-lite@1.4.0: + resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} + dev: true + + /natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + dev: true + + /neo-async@2.6.2: + resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + dev: true + + /node-releases@2.0.14: + resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + + /normalize-package-data@2.5.0: + resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + dependencies: + hosted-git-info: 2.8.9 + resolve: 1.22.8 + semver: 5.7.2 + validate-npm-package-license: 3.0.4 + dev: true + + /normalize-package-data@3.0.3: + resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==} + engines: {node: '>=10'} + dependencies: + hosted-git-info: 4.1.0 + is-core-module: 2.13.1 + semver: 7.6.0 + validate-npm-package-license: 3.0.4 + dev: true + + /normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + /normalize-range@0.1.2: + resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} + engines: {node: '>=0.10.0'} + dev: true + + /normalize-selector@0.2.0: + resolution: {integrity: sha512-dxvWdI8gw6eAvk9BlPffgEoGfM7AdijoCwOEJge3e3ulT2XLgmU7KvvxprOaCu05Q1uGRHmOhHe1r6emZoKyFw==} + dev: true + + /npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + dependencies: + path-key: 3.1.1 + dev: true + + /npm-run-path@5.3.0: + resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + path-key: 4.0.0 + dev: true + + /nprogress@0.2.0: + resolution: {integrity: sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==} + dev: false + + /nth-check@2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + dependencies: + boolbase: 1.0.0 + dev: true + + /num2fraction@1.2.2: + resolution: {integrity: sha512-Y1wZESM7VUThYY+4W+X4ySH2maqcA+p7UR+w8VWNWVAd6lwuXXWz/w/Cz43J/dI2I+PS6wD5N+bJUF+gjWvIqg==} + dev: true + + /numeral@2.0.6: + resolution: {integrity: sha512-qaKRmtYPZ5qdw4jWJD6bxEf1FJEqllJrwxCLIm0sQU/A7v2/czigzOb+C2uSiFsa9lBUzeH7M1oK+Q+OLxL3kA==} + dev: false + + /object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + + /object-copy@0.1.0: + resolution: {integrity: sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==} + engines: {node: '>=0.10.0'} + dependencies: + copy-descriptor: 0.1.1 + define-property: 0.2.5 + kind-of: 3.2.2 + dev: true + + /object-hash@3.0.0: + resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} + engines: {node: '>= 6'} + dev: true + + /object-inspect@1.13.1: + resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} + dev: true + + /object-is@1.1.6: + resolution: {integrity: sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + dev: false + + /object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + + /object-visit@1.0.1: + resolution: {integrity: sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==} + engines: {node: '>=0.10.0'} + dependencies: + isobject: 3.0.1 + dev: true + + /object.assign@4.1.5: + resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + has-symbols: 1.0.3 + object-keys: 1.1.1 + dev: true + + /object.entries@1.1.8: + resolution: {integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 + dev: true + + /object.fromentries@2.0.8: + resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-object-atoms: 1.0.0 + dev: true + + /object.groupby@1.0.3: + resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + dev: true + + /object.hasown@1.1.4: + resolution: {integrity: sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==} + engines: {node: '>= 0.4'} + dependencies: + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-object-atoms: 1.0.0 + dev: true + + /object.pick@1.3.0: + resolution: {integrity: sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==} + engines: {node: '>=0.10.0'} + dependencies: + isobject: 3.0.1 + dev: true + + /object.values@1.2.0: + resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 + dev: true + + /once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + dependencies: + wrappy: 1.0.2 + dev: true + + /onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + dependencies: + mimic-fn: 2.1.0 + dev: true + + /onetime@6.0.0: + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} + dependencies: + mimic-fn: 4.0.0 + dev: true + + /open@8.4.2: + resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} + engines: {node: '>=12'} + dependencies: + define-lazy-prop: 2.0.0 + is-docker: 2.2.1 + is-wsl: 2.2.0 + dev: true + + /optionator@0.9.3: + resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + engines: {node: '>= 0.8.0'} + dependencies: + '@aashutoshrathi/word-wrap': 1.2.6 + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /p-limit@1.3.0: + resolution: {integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==} + engines: {node: '>=4'} + dependencies: + p-try: 1.0.0 + dev: true + + /p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + dependencies: + p-try: 2.2.0 + dev: true + + /p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + dependencies: + yocto-queue: 0.1.0 + dev: true + + /p-locate@2.0.0: + resolution: {integrity: sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==} + engines: {node: '>=4'} + dependencies: + p-limit: 1.3.0 + dev: true + + /p-locate@3.0.0: + resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} + engines: {node: '>=6'} + dependencies: + p-limit: 2.3.0 + dev: true + + /p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + dependencies: + p-limit: 2.3.0 + dev: true + + /p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + dependencies: + p-limit: 3.1.0 + dev: true + + /p-try@1.0.0: + resolution: {integrity: sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==} + engines: {node: '>=4'} + dev: true + + /p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + dev: true + + /parchment@1.1.4: + resolution: {integrity: sha512-J5FBQt/pM2inLzg4hEWmzQx/8h8D0CiDxaG3vyp9rKrQRSDgBlhjdP5jQGgosEajXPSQouXGHOmVdgo7QmJuOg==} + dev: false + + /parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + dependencies: + callsites: 3.1.0 + + /parse-entities@1.2.2: + resolution: {integrity: sha512-NzfpbxW/NPrzZ/yYSoQxyqUZMZXIdCfE0OIN4ESsnptHJECoUk3FZktxNuzQf4tjt5UEopnxpYJbvYuxIFDdsg==} + dependencies: + character-entities: 1.2.4 + character-entities-legacy: 1.1.4 + character-reference-invalid: 1.1.4 + is-alphanumerical: 1.0.4 + is-decimal: 1.0.4 + is-hexadecimal: 1.0.4 + dev: true + + /parse-json@4.0.0: + resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} + engines: {node: '>=4'} + dependencies: + error-ex: 1.3.2 + json-parse-better-errors: 1.0.2 + dev: true + + /parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + dependencies: + '@babel/code-frame': 7.24.2 + error-ex: 1.3.2 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + + /parse5@6.0.1: + resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} + dev: false + + /pascalcase@0.1.1: + resolution: {integrity: sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==} + engines: {node: '>=0.10.0'} + dev: true + + /path-dirname@1.0.2: + resolution: {integrity: sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==} + dev: true + + /path-exists@3.0.0: + resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} + engines: {node: '>=4'} + dev: true + + /path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + dev: true + + /path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + dev: true + + /path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: true + + /path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + dev: true + + /path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + /path-scurry@1.10.2: + resolution: {integrity: sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + lru-cache: 10.2.1 + minipass: 7.0.4 + dev: true + + /path-type@3.0.0: + resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} + engines: {node: '>=4'} + dependencies: + pify: 3.0.0 + dev: true + + /path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + + /pathe@0.2.0: + resolution: {integrity: sha512-sTitTPYnn23esFR3RlqYBWn4c45WGeLcsKzQiUpXJAyfcWkolvlYpV8FLo7JishK946oQwMFUCHXQ9AjGPKExw==} + dev: true + + /picocolors@0.2.1: + resolution: {integrity: sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==} + dev: true + + /picocolors@1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + + /picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + /pidtree@0.6.0: + resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} + engines: {node: '>=0.10'} + hasBin: true + dev: true + + /pify@2.3.0: + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} + engines: {node: '>=0.10.0'} + dev: true + + /pify@3.0.0: + resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} + engines: {node: '>=4'} + dev: true + + /pify@4.0.1: + resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} + engines: {node: '>=6'} + dev: true + + /pirates@4.0.6: + resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} + engines: {node: '>= 6'} + dev: true + + /pkg-up@3.1.0: + resolution: {integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==} + engines: {node: '>=8'} + dependencies: + find-up: 3.0.0 + dev: true + + /posix-character-classes@0.1.1: + resolution: {integrity: sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==} + engines: {node: '>=0.10.0'} + dev: true + + /possible-typed-array-names@1.0.0: + resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} + engines: {node: '>= 0.4'} + dev: true + + /postcss-html@0.36.0(postcss-syntax@0.36.2)(postcss@7.0.39): + resolution: {integrity: sha512-HeiOxGcuwID0AFsNAL0ox3mW6MHH5cstWN1Z3Y+n6H+g12ih7LHdYxWwEA/QmrebctLjo79xz9ouK3MroHwOJw==} + peerDependencies: + postcss: '>=5.0.0' + postcss-syntax: '>=0.36.0' + dependencies: + htmlparser2: 3.10.1 + postcss: 7.0.39 + postcss-syntax: 0.36.2(postcss@8.4.38) + dev: true + + /postcss-import@15.1.0(postcss@8.4.38): + resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} + engines: {node: '>=14.0.0'} + peerDependencies: + postcss: ^8.0.0 + dependencies: + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + read-cache: 1.0.0 + resolve: 1.22.8 + dev: true + + /postcss-js@4.0.1(postcss@8.4.38): + resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} + engines: {node: ^12 || ^14 || >= 16} + peerDependencies: + postcss: ^8.4.21 + dependencies: + camelcase-css: 2.0.1 + postcss: 8.4.38 + dev: true + + /postcss-jsx@0.36.4(postcss-syntax@0.36.2)(postcss@7.0.39): + resolution: {integrity: sha512-jwO/7qWUvYuWYnpOb0+4bIIgJt7003pgU3P6nETBLaOyBXuTD55ho21xnals5nBrlpTIFodyd3/jBi6UO3dHvA==} + peerDependencies: + postcss: '>=5.0.0' + postcss-syntax: '>=0.36.0' + dependencies: + '@babel/core': 7.24.4 + postcss: 7.0.39 + postcss-syntax: 0.36.2(postcss@8.4.38) + transitivePeerDependencies: + - supports-color + dev: true + + /postcss-less@3.1.4: + resolution: {integrity: sha512-7TvleQWNM2QLcHqvudt3VYjULVB49uiW6XzEUFmvwHzvsOEF5MwBrIXZDJQvJNFGjJQTzSzZnDoCJ8h/ljyGXA==} + engines: {node: '>=6.14.4'} + dependencies: + postcss: 7.0.39 + dev: true + + /postcss-load-config@4.0.2(postcss@8.4.38)(ts-node@10.9.2): + resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} + engines: {node: '>= 14'} + peerDependencies: + postcss: '>=8.0.9' + ts-node: '>=9.0.0' + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + dependencies: + lilconfig: 3.1.1 + postcss: 8.4.38 + ts-node: 10.9.2(@types/node@20.12.7)(typescript@5.4.5) + yaml: 2.4.1 + dev: true + + /postcss-markdown@0.36.0(postcss-syntax@0.36.2)(postcss@7.0.39): + resolution: {integrity: sha512-rl7fs1r/LNSB2bWRhyZ+lM/0bwKv9fhl38/06gF6mKMo/NPnp55+K1dSTosSVjFZc0e1ppBlu+WT91ba0PMBfQ==} + peerDependencies: + postcss: '>=5.0.0' + postcss-syntax: '>=0.36.0' + dependencies: + postcss: 7.0.39 + postcss-syntax: 0.36.2(postcss@8.4.38) + remark: 10.0.1 + unist-util-find-all-after: 1.0.5 + dev: true + + /postcss-media-query-parser@0.2.3: + resolution: {integrity: sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==} + dev: true + + /postcss-nested@6.0.1(postcss@8.4.38): + resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.2.14 + dependencies: + postcss: 8.4.38 + postcss-selector-parser: 6.0.16 + dev: true + + /postcss-nesting@11.3.0(postcss@8.4.38): + resolution: {integrity: sha512-JlS10AQm/RzyrUGgl5irVkAlZYTJ99mNueUl+Qab+TcHhVedLiylWVkKBhRale+rS9yWIJK48JVzQlq3LcSdeA==} + engines: {node: ^14 || ^16 || >=18} + peerDependencies: + postcss: ^8.4 + dependencies: + '@csstools/selector-specificity': 2.2.0(postcss-selector-parser@6.0.16) + postcss: 8.4.38 + postcss-selector-parser: 6.0.16 + dev: true + + /postcss-prefix-selector@1.16.1(postcss@5.2.18): + resolution: {integrity: sha512-Umxu+FvKMwlY6TyDzGFoSUnzW+NOfMBLyC1tAkIjgX+Z/qGspJeRjVC903D7mx7TuBpJlwti2ibXtWuA7fKMeQ==} + peerDependencies: + postcss: '>4 <9' + dependencies: + postcss: 5.2.18 + dev: true + + /postcss-reporter@6.0.1: + resolution: {integrity: sha512-LpmQjfRWyabc+fRygxZjpRxfhRf9u/fdlKf4VHG4TSPbV2XNsuISzYW1KL+1aQzx53CAppa1bKG4APIB/DOXXw==} + engines: {node: '>=6'} + dependencies: + chalk: 2.4.2 + lodash: 4.17.21 + log-symbols: 2.2.0 + postcss: 7.0.39 + dev: true + + /postcss-resolve-nested-selector@0.1.1: + resolution: {integrity: sha512-HvExULSwLqHLgUy1rl3ANIqCsvMS0WHss2UOsXhXnQaZ9VCc2oBvIpXrl00IUFT5ZDITME0o6oiXeiHr2SAIfw==} + dev: true + + /postcss-safe-parser@4.0.2: + resolution: {integrity: sha512-Uw6ekxSWNLCPesSv/cmqf2bY/77z11O7jZGPax3ycZMFU/oi2DMH9i89AdHc1tRwFg/arFoEwX0IS3LCUxJh1g==} + engines: {node: '>=6.0.0'} + dependencies: + postcss: 7.0.39 + dev: true + + /postcss-safe-parser@6.0.0(postcss@8.4.38): + resolution: {integrity: sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.3.3 + dependencies: + postcss: 8.4.38 + dev: true + + /postcss-sass@0.3.5: + resolution: {integrity: sha512-B5z2Kob4xBxFjcufFnhQ2HqJQ2y/Zs/ic5EZbCywCkxKd756Q40cIQ/veRDwSrw1BF6+4wUgmpm0sBASqVi65A==} + dependencies: + gonzales-pe: 4.3.0 + postcss: 7.0.39 + dev: true + + /postcss-scss@2.1.1: + resolution: {integrity: sha512-jQmGnj0hSGLd9RscFw9LyuSVAa5Bl1/KBPqG1NQw9w8ND55nY4ZEsdlVuYJvLPpV+y0nwTV5v/4rHPzZRihQbA==} + engines: {node: '>=6.0.0'} + dependencies: + postcss: 7.0.39 + dev: true + + /postcss-selector-parser@3.1.2: + resolution: {integrity: sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==} + engines: {node: '>=8'} + dependencies: + dot-prop: 5.3.0 + indexes-of: 1.0.1 + uniq: 1.0.1 + dev: true + + /postcss-selector-parser@6.0.16: + resolution: {integrity: sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==} + engines: {node: '>=4'} + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + dev: true + + /postcss-sorting@4.1.0: + resolution: {integrity: sha512-r4T2oQd1giURJdHQ/RMb72dKZCuLOdWx2B/XhXN1Y1ZdnwXsKH896Qz6vD4tFy9xSjpKNYhlZoJmWyhH/7JUQw==} + engines: {node: '>=6.14.3'} + dependencies: + lodash: 4.17.21 + postcss: 7.0.39 + dev: true + + /postcss-sorting@8.0.2(postcss@8.4.38): + resolution: {integrity: sha512-M9dkSrmU00t/jK7rF6BZSZauA5MAaBW4i5EnJXspMwt4iqTh/L9j6fgMnbElEOfyRyfLfVbIHj/R52zHzAPe1Q==} + peerDependencies: + postcss: ^8.4.20 + dependencies: + postcss: 8.4.38 + dev: true + + /postcss-syntax@0.36.2(postcss@8.4.38): + 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 + dependencies: + postcss: 8.4.38 + dev: true + + /postcss-value-parser@3.3.1: + resolution: {integrity: sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==} + dev: true + + /postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + + /postcss@5.2.18: + resolution: {integrity: sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==} + engines: {node: '>=0.12'} + dependencies: + chalk: 1.1.3 + js-base64: 2.6.4 + source-map: 0.5.7 + supports-color: 3.2.3 + dev: true + + /postcss@7.0.39: + resolution: {integrity: sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==} + engines: {node: '>=6.0.0'} + dependencies: + picocolors: 0.2.1 + source-map: 0.6.1 + dev: true + + /postcss@8.4.31: + resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.0 + source-map-js: 1.2.0 + dev: false + + /postcss@8.4.38: + resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.0 + source-map-js: 1.2.0 + + /posthtml-parser@0.2.1: + resolution: {integrity: sha512-nPC53YMqJnc/+1x4fRYFfm81KV2V+G9NZY+hTohpYg64Ay7NemWWcV4UWuy/SgMupqQ3kJ88M/iRfZmSnxT+pw==} + dependencies: + htmlparser2: 3.10.1 + isobject: 2.1.0 + dev: true + + /posthtml-rename-id@1.0.12: + resolution: {integrity: sha512-UKXf9OF/no8WZo9edRzvuMenb6AD5hDLzIepJW+a4oJT+T/Lx7vfMYWT4aWlGNQh0WMhnUx1ipN9OkZ9q+ddEw==} + dependencies: + escape-string-regexp: 1.0.5 + dev: true + + /posthtml-render@1.4.0: + resolution: {integrity: sha512-W1779iVHGfq0Fvh2PROhCe2QhB8mEErgqzo1wpIt36tCgChafP+hbXIhLDOM8ePJrZcFs0vkNEtdibEWVqChqw==} + engines: {node: '>=10'} + dev: true + + /posthtml-svg-mode@1.0.3: + resolution: {integrity: sha512-hEqw9NHZ9YgJ2/0G7CECOeuLQKZi8HjWLkBaSVtOWjygQ9ZD8P7tqeowYs7WrFdKsWEKG7o+IlsPY8jrr0CJpQ==} + dependencies: + merge-options: 1.0.1 + posthtml: 0.9.2 + posthtml-parser: 0.2.1 + posthtml-render: 1.4.0 + dev: true + + /posthtml@0.9.2: + resolution: {integrity: sha512-spBB5sgC4cv2YcW03f/IAUN1pgDJWNWD8FzkyY4mArLUMJW+KlQhlmUdKAHQuPfb00Jl5xIfImeOsf6YL8QK7Q==} + engines: {node: '>=0.10.0'} + dependencies: + posthtml-parser: 0.2.1 + posthtml-render: 1.4.0 + dev: true + + /preact@10.12.1: + resolution: {integrity: sha512-l8386ixSsBdbreOAkqtrwqHwdvR35ID8c3rKPa8lCWuO86dBi32QWHV4vfsZK1utLLFMvw+Z5Ad4XLkZzchscg==} + dev: false + + /prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + dev: true + + /prettier-linter-helpers@1.0.0: + resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} + engines: {node: '>=6.0.0'} + dependencies: + fast-diff: 1.3.0 + dev: true + + /prettier-plugin-tailwindcss@0.3.0(prettier@2.8.8): + resolution: {integrity: sha512-009/Xqdy7UmkcTBpwlq7jsViDqXAYSOMLDrHAdTMlVZOrKfM2o9Ci7EMWTMZ7SkKBFTG04UM9F9iM2+4i6boDA==} + engines: {node: '>=12.17.0'} + peerDependencies: + '@ianvs/prettier-plugin-sort-imports': '*' + '@prettier/plugin-pug': '*' + '@shopify/prettier-plugin-liquid': '*' + '@shufo/prettier-plugin-blade': '*' + '@trivago/prettier-plugin-sort-imports': '*' + prettier: '>=2.2.0' + prettier-plugin-astro: '*' + prettier-plugin-css-order: '*' + prettier-plugin-import-sort: '*' + prettier-plugin-jsdoc: '*' + prettier-plugin-marko: '*' + prettier-plugin-organize-attributes: '*' + prettier-plugin-organize-imports: '*' + prettier-plugin-style-order: '*' + prettier-plugin-svelte: '*' + prettier-plugin-twig-melody: '*' + peerDependenciesMeta: + '@ianvs/prettier-plugin-sort-imports': + optional: true + '@prettier/plugin-pug': + optional: true + '@shopify/prettier-plugin-liquid': + optional: true + '@shufo/prettier-plugin-blade': + optional: true + '@trivago/prettier-plugin-sort-imports': + optional: true + prettier-plugin-astro: + optional: true + prettier-plugin-css-order: + optional: true + prettier-plugin-import-sort: + optional: true + prettier-plugin-jsdoc: + optional: true + prettier-plugin-marko: + optional: true + prettier-plugin-organize-attributes: + optional: true + prettier-plugin-organize-imports: + optional: true + prettier-plugin-style-order: + optional: true + prettier-plugin-svelte: + optional: true + prettier-plugin-twig-melody: + optional: true + dependencies: + prettier: 2.8.8 + dev: true + + /prettier@2.8.8: + resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} + engines: {node: '>=10.13.0'} + hasBin: true + dev: true + + /prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + dependencies: + kleur: 3.0.3 + sisteransi: 1.0.5 + dev: true + + /prop-types@15.8.1: + resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} + dependencies: + loose-envify: 1.4.0 + object-assign: 4.1.1 + react-is: 16.13.1 + + /property-information@6.5.0: + resolution: {integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==} + dev: false + + /proxy-from-env@1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + dev: false + + /punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + dev: true + + /qrcode.react@3.1.0(react@18.3.0): + resolution: {integrity: sha512-oyF+Urr3oAMUG/OiOuONL3HXM+53wvuH3mtIWQrYmsXoAq0DkvZp2RYUWFSMFtbdOpuS++9v+WAkzNVkMlNW6Q==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + dependencies: + react: 18.3.0 + dev: false + + /query-string@4.3.4: + resolution: {integrity: sha512-O2XLNDBIg1DnTOa+2XrIwSiXEV8h2KImXUnjhhn2+UsvZ+Es2uyd5CCRTNQlDGbzUQOW3aYCBx9rVA6dzsiY7Q==} + engines: {node: '>=0.10.0'} + dependencies: + object-assign: 4.1.1 + strict-uri-encode: 1.1.0 + dev: true + + /queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + dev: true + + /quick-lru@1.1.0: + resolution: {integrity: sha512-tRS7sTgyxMXtLum8L65daJnHUhfDUgboRdcWW2bR9vBfrj2+O5HSMbQOJfJJjIVSPFqbBCF37FpwWXGitDc5tA==} + engines: {node: '>=4'} + dev: true + + /quick-lru@4.0.1: + resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} + engines: {node: '>=8'} + dev: true + + /quick-lru@5.1.1: + resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} + engines: {node: '>=10'} + dev: true + + /quill-delta@3.6.3: + resolution: {integrity: sha512-wdIGBlcX13tCHOXGMVnnTVFtGRLoP0imqxM696fIPwIf5ODIYUHIvHbZcyvGlZFiFhK5XzDC2lpjbxRhnM05Tg==} + engines: {node: '>=0.10'} + dependencies: + deep-equal: 1.1.2 + extend: 3.0.2 + fast-diff: 1.1.2 + dev: false + + /quill@1.3.7: + resolution: {integrity: sha512-hG/DVzh/TiknWtE6QmWAF/pxoZKYxfe3J/d/+ShUWkDvvkZQVTPeVmUJVu1uE6DDooC4fWTiCLh84ul89oNz5g==} + dependencies: + clone: 2.1.2 + deep-equal: 1.1.2 + eventemitter3: 2.0.3 + extend: 3.0.2 + parchment: 1.1.4 + quill-delta: 3.6.3 + dev: false + + /raf-schd@4.0.3: + resolution: {integrity: sha512-tQkJl2GRWh83ui2DiPTJz9wEiMN20syf+5oKfB03yYP7ioZcJwsIK8FjrtLwH1m7C7e+Tt2yYBlrOpdT+dyeIQ==} + dev: false + + /ramda@0.29.1: + resolution: {integrity: sha512-OfxIeWzd4xdUNxlWhgFazxsA/nl3mS4/jGZI5n00uWOoSSFRhC1b6gl6xvmzUamgmqELraWp0J/qqVlXYPDPyA==} + dev: false + + /randombytes@2.1.0: + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + dependencies: + safe-buffer: 5.2.1 + dev: true + + /rc-cascader@3.24.1(react-dom@18.3.0)(react@18.3.0): + resolution: {integrity: sha512-RgKuYgEGPx+6wCgguYFHjMsDZdCyydZd58YJRCfYQ8FObqLnZW0x/vUcEyPjhWIj1EhjV958IcR+NFPDbbj9kg==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.24.4 + array-tree-filter: 2.1.0 + classnames: 2.5.1 + rc-select: 14.13.1(react-dom@18.3.0)(react@18.3.0) + rc-tree: 5.8.5(react-dom@18.3.0)(react@18.3.0) + rc-util: 5.39.1(react-dom@18.3.0)(react@18.3.0) + react: 18.3.0 + react-dom: 18.3.0(react@18.3.0) + dev: false + + /rc-checkbox@3.2.0(react-dom@18.3.0)(react@18.3.0): + resolution: {integrity: sha512-8inzw4y9dAhZmv/Ydl59Qdy5tdp9CKg4oPVcRigi+ga/yKPZS5m5SyyQPtYSgbcqHRYOdUhiPSeKfktc76du1A==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.24.4 + classnames: 2.5.1 + rc-util: 5.39.1(react-dom@18.3.0)(react@18.3.0) + react: 18.3.0 + react-dom: 18.3.0(react@18.3.0) + dev: false + + /rc-collapse@3.7.3(react-dom@18.3.0)(react@18.3.0): + resolution: {integrity: sha512-60FJcdTRn0X5sELF18TANwtVi7FtModq649H11mYF1jh83DniMoM4MqY627sEKRCTm4+WXfGDcB7hY5oW6xhyw==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.24.4 + classnames: 2.5.1 + rc-motion: 2.9.0(react-dom@18.3.0)(react@18.3.0) + rc-util: 5.39.1(react-dom@18.3.0)(react@18.3.0) + react: 18.3.0 + react-dom: 18.3.0(react@18.3.0) + dev: false + + /rc-dialog@9.4.0(react-dom@18.3.0)(react@18.3.0): + resolution: {integrity: sha512-AScCexaLACvf8KZRqCPz12BJ8olszXOS4lKlkMyzDQHS1m0zj1KZMYgmMCh39ee0Dcv8kyrj8mTqxuLyhH+QuQ==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.24.4 + '@rc-component/portal': 1.1.2(react-dom@18.3.0)(react@18.3.0) + classnames: 2.5.1 + rc-motion: 2.9.0(react-dom@18.3.0)(react@18.3.0) + rc-util: 5.39.1(react-dom@18.3.0)(react@18.3.0) + react: 18.3.0 + react-dom: 18.3.0(react@18.3.0) + dev: false + + /rc-drawer@7.1.0(react-dom@18.3.0)(react@18.3.0): + resolution: {integrity: sha512-nBE1rF5iZvpavoyqhSSz2mk/yANltA7g3aF0U45xkx381n3we/RKs9cJfNKp9mSWCedOKWt9FLEwZDaAaOGn2w==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.24.4 + '@rc-component/portal': 1.1.2(react-dom@18.3.0)(react@18.3.0) + classnames: 2.5.1 + rc-motion: 2.9.0(react-dom@18.3.0)(react@18.3.0) + rc-util: 5.39.1(react-dom@18.3.0)(react@18.3.0) + react: 18.3.0 + react-dom: 18.3.0(react@18.3.0) + dev: false + + /rc-dropdown@4.2.0(react-dom@18.3.0)(react@18.3.0): + resolution: {integrity: sha512-odM8Ove+gSh0zU27DUj5cG1gNKg7mLWBYzB5E4nNLrLwBmYEgYP43vHKDGOVZcJSVElQBI0+jTQgjnq0NfLjng==} + peerDependencies: + react: '>=16.11.0' + react-dom: '>=16.11.0' + dependencies: + '@babel/runtime': 7.24.4 + '@rc-component/trigger': 2.1.1(react-dom@18.3.0)(react@18.3.0) + classnames: 2.5.1 + rc-util: 5.39.1(react-dom@18.3.0)(react@18.3.0) + react: 18.3.0 + react-dom: 18.3.0(react@18.3.0) + dev: false + + /rc-field-form@1.44.0(react-dom@18.3.0)(react@18.3.0): + resolution: {integrity: sha512-el7w87fyDUsca63Y/s8qJcq9kNkf/J5h+iTdqG5WsSHLH0e6Usl7QuYSmSVzJMgtp40mOVZIY/W/QP9zwrp1FA==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.24.4 + async-validator: 4.2.5 + rc-util: 5.39.1(react-dom@18.3.0)(react@18.3.0) + react: 18.3.0 + react-dom: 18.3.0(react@18.3.0) + dev: false + + /rc-image@7.6.0(react-dom@18.3.0)(react@18.3.0): + resolution: {integrity: sha512-tL3Rvd1sS+frZQ01i+tkeUPaOeFz2iG9/scAt/Cfs0hyCRVA/w0Pu1J/JxIX8blalvmHE0bZQRYdOmRAzWu4Hg==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.24.4 + '@rc-component/portal': 1.1.2(react-dom@18.3.0)(react@18.3.0) + classnames: 2.5.1 + rc-dialog: 9.4.0(react-dom@18.3.0)(react@18.3.0) + rc-motion: 2.9.0(react-dom@18.3.0)(react@18.3.0) + rc-util: 5.39.1(react-dom@18.3.0)(react@18.3.0) + react: 18.3.0 + react-dom: 18.3.0(react@18.3.0) + dev: false + + /rc-input-number@9.0.0(react-dom@18.3.0)(react@18.3.0): + resolution: {integrity: sha512-RfcDBDdWFFetouWFXBA+WPEC8LzBXyngr9b+yTLVIygfFu7HiLRGn/s/v9wwno94X7KFvnb28FNynMGj9XJlDQ==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.24.4 + '@rc-component/mini-decimal': 1.1.0 + classnames: 2.5.1 + rc-input: 1.4.5(react-dom@18.3.0)(react@18.3.0) + rc-util: 5.39.1(react-dom@18.3.0)(react@18.3.0) + react: 18.3.0 + react-dom: 18.3.0(react@18.3.0) + dev: false + + /rc-input@1.4.5(react-dom@18.3.0)(react@18.3.0): + resolution: {integrity: sha512-AjzykhwnwYTRSwwgCu70CGKBIAv6bP2nqnFptnNTprph/TF1BAs0Qxl91mie/BR6n827WIJB6ZjaRf9iiMwAfw==} + peerDependencies: + react: '>=16.0.0' + react-dom: '>=16.0.0' + dependencies: + '@babel/runtime': 7.24.4 + classnames: 2.5.1 + rc-util: 5.39.1(react-dom@18.3.0)(react@18.3.0) + react: 18.3.0 + react-dom: 18.3.0(react@18.3.0) + dev: false + + /rc-mentions@2.11.1(react-dom@18.3.0)(react@18.3.0): + resolution: {integrity: sha512-upb4AK1SRFql7qGnbLEvJqLMugVVIyjmwBJW9L0eLoN9po4JmJZaBzmKA4089fNtsU8k6l/tdZiVafyooeKnLw==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.24.4 + '@rc-component/trigger': 2.1.1(react-dom@18.3.0)(react@18.3.0) + classnames: 2.5.1 + rc-input: 1.4.5(react-dom@18.3.0)(react@18.3.0) + rc-menu: 9.13.0(react-dom@18.3.0)(react@18.3.0) + rc-textarea: 1.6.3(react-dom@18.3.0)(react@18.3.0) + rc-util: 5.39.1(react-dom@18.3.0)(react@18.3.0) + react: 18.3.0 + react-dom: 18.3.0(react@18.3.0) + dev: false + + /rc-menu@9.13.0(react-dom@18.3.0)(react@18.3.0): + resolution: {integrity: sha512-1l8ooCB3HcYJKCltC/s7OxRKRjgymdl9htrCeGZcXNaMct0RxZRK6OPV3lPhVksIvAGMgzPd54ClpZ5J4b8cZA==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.24.4 + '@rc-component/trigger': 2.1.1(react-dom@18.3.0)(react@18.3.0) + classnames: 2.5.1 + rc-motion: 2.9.0(react-dom@18.3.0)(react@18.3.0) + rc-overflow: 1.3.2(react-dom@18.3.0)(react@18.3.0) + rc-util: 5.39.1(react-dom@18.3.0)(react@18.3.0) + react: 18.3.0 + react-dom: 18.3.0(react@18.3.0) + dev: false + + /rc-motion@2.9.0(react-dom@18.3.0)(react@18.3.0): + resolution: {integrity: sha512-XIU2+xLkdIr1/h6ohPZXyPBMvOmuyFZQ/T0xnawz+Rh+gh4FINcnZmMT5UTIj6hgI0VLDjTaPeRd+smJeSPqiQ==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.24.4 + classnames: 2.5.1 + rc-util: 5.39.1(react-dom@18.3.0)(react@18.3.0) + react: 18.3.0 + react-dom: 18.3.0(react@18.3.0) + dev: false + + /rc-notification@5.4.0(react-dom@18.3.0)(react@18.3.0): + resolution: {integrity: sha512-li19y9RoYJciF3WRFvD+DvWS70jdL8Fr+Gfb/OshK+iY6iTkwzoigmSIp76/kWh5tF5i/i9im12X3nsF85GYdA==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.24.4 + classnames: 2.5.1 + rc-motion: 2.9.0(react-dom@18.3.0)(react@18.3.0) + rc-util: 5.39.1(react-dom@18.3.0)(react@18.3.0) + react: 18.3.0 + react-dom: 18.3.0(react@18.3.0) + dev: false + + /rc-overflow@1.3.2(react-dom@18.3.0)(react@18.3.0): + resolution: {integrity: sha512-nsUm78jkYAoPygDAcGZeC2VwIg/IBGSodtOY3pMof4W3M9qRJgqaDYm03ZayHlde3I6ipliAxbN0RUcGf5KOzw==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.24.4 + classnames: 2.5.1 + rc-resize-observer: 1.4.0(react-dom@18.3.0)(react@18.3.0) + rc-util: 5.39.1(react-dom@18.3.0)(react@18.3.0) + react: 18.3.0 + react-dom: 18.3.0(react@18.3.0) + dev: false + + /rc-pagination@4.0.4(react-dom@18.3.0)(react@18.3.0): + resolution: {integrity: sha512-GGrLT4NgG6wgJpT/hHIpL9nELv27A1XbSZzECIuQBQTVSf4xGKxWr6I/jhpRPauYEWEbWVw22ObG6tJQqwJqWQ==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.24.4 + classnames: 2.5.1 + rc-util: 5.39.1(react-dom@18.3.0)(react@18.3.0) + react: 18.3.0 + react-dom: 18.3.0(react@18.3.0) + dev: false + + /rc-picker@4.4.2(dayjs@1.11.10)(react-dom@18.3.0)(react@18.3.0): + resolution: {integrity: sha512-MdbAXvwiGyhb+bHe66qPps8xPQivzEgcyCp3/MPK4T+oER0gOmVRCEDxaD4FhYG/7GLH3rDrHpu79BvEn2JFTQ==} + engines: {node: '>=8.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 + dependencies: + '@babel/runtime': 7.24.4 + '@rc-component/trigger': 2.1.1(react-dom@18.3.0)(react@18.3.0) + classnames: 2.5.1 + dayjs: 1.11.10 + rc-overflow: 1.3.2(react-dom@18.3.0)(react@18.3.0) + rc-resize-observer: 1.4.0(react-dom@18.3.0)(react@18.3.0) + rc-util: 5.39.1(react-dom@18.3.0)(react@18.3.0) + react: 18.3.0 + react-dom: 18.3.0(react@18.3.0) + dev: false + + /rc-progress@4.0.0(react-dom@18.3.0)(react@18.3.0): + resolution: {integrity: sha512-oofVMMafOCokIUIBnZLNcOZFsABaUw8PPrf1/y0ZBvKZNpOiu5h4AO9vv11Sw0p4Hb3D0yGWuEattcQGtNJ/aw==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.24.4 + classnames: 2.5.1 + rc-util: 5.39.1(react-dom@18.3.0)(react@18.3.0) + react: 18.3.0 + react-dom: 18.3.0(react@18.3.0) + dev: false + + /rc-rate@2.12.0(react-dom@18.3.0)(react@18.3.0): + resolution: {integrity: sha512-g092v5iZCdVzbjdn28FzvWebK2IutoVoiTeqoLTj9WM7SjA/gOJIw5/JFZMRyJYYVe1jLAU2UhAfstIpCNRozg==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.24.4 + classnames: 2.5.1 + rc-util: 5.39.1(react-dom@18.3.0)(react@18.3.0) + react: 18.3.0 + react-dom: 18.3.0(react@18.3.0) + dev: false + + /rc-resize-observer@1.4.0(react-dom@18.3.0)(react@18.3.0): + resolution: {integrity: sha512-PnMVyRid9JLxFavTjeDXEXo65HCRqbmLBw9xX9gfC4BZiSzbLXKzW3jPz+J0P71pLbD5tBMTT+mkstV5gD0c9Q==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.24.4 + classnames: 2.5.1 + rc-util: 5.39.1(react-dom@18.3.0)(react@18.3.0) + react: 18.3.0 + react-dom: 18.3.0(react@18.3.0) + resize-observer-polyfill: 1.5.1 + dev: false + + /rc-segmented@2.3.0(react-dom@18.3.0)(react@18.3.0): + resolution: {integrity: sha512-I3FtM5Smua/ESXutFfb8gJ8ZPcvFR+qUgeeGFQHBOvRiRKyAk4aBE5nfqrxXx+h8/vn60DQjOt6i4RNtrbOobg==} + peerDependencies: + react: '>=16.0.0' + react-dom: '>=16.0.0' + dependencies: + '@babel/runtime': 7.24.4 + classnames: 2.5.1 + rc-motion: 2.9.0(react-dom@18.3.0)(react@18.3.0) + rc-util: 5.39.1(react-dom@18.3.0)(react@18.3.0) + react: 18.3.0 + react-dom: 18.3.0(react@18.3.0) + dev: false + + /rc-select@14.13.1(react-dom@18.3.0)(react@18.3.0): + resolution: {integrity: sha512-A1VHqjIOemxLnUGRxLGVqXBs8jGcJemI5NXxOJwU5PQc1wigAu1T4PRLgMkTPDOz8gPhlY9dwsPzMgakMc2QjQ==} + engines: {node: '>=8.x'} + peerDependencies: + react: '*' + react-dom: '*' + dependencies: + '@babel/runtime': 7.24.4 + '@rc-component/trigger': 2.1.1(react-dom@18.3.0)(react@18.3.0) + classnames: 2.5.1 + rc-motion: 2.9.0(react-dom@18.3.0)(react@18.3.0) + rc-overflow: 1.3.2(react-dom@18.3.0)(react@18.3.0) + rc-util: 5.39.1(react-dom@18.3.0)(react@18.3.0) + rc-virtual-list: 3.11.5(react-dom@18.3.0)(react@18.3.0) + react: 18.3.0 + react-dom: 18.3.0(react@18.3.0) + dev: false + + /rc-slider@10.6.2(react-dom@18.3.0)(react@18.3.0): + resolution: {integrity: sha512-FjkoFjyvUQWcBo1F3RgSglky3ar0+qHLM41PlFVYB4Bj3RD8E/Mv7kqMouLFBU+3aFglMzzctAIWRwajEuueSw==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.24.4 + classnames: 2.5.1 + rc-util: 5.39.1(react-dom@18.3.0)(react@18.3.0) + react: 18.3.0 + react-dom: 18.3.0(react@18.3.0) + dev: false + + /rc-steps@6.0.1(react-dom@18.3.0)(react@18.3.0): + resolution: {integrity: sha512-lKHL+Sny0SeHkQKKDJlAjV5oZ8DwCdS2hFhAkIjuQt1/pB81M0cA0ErVFdHq9+jmPmFw1vJB2F5NBzFXLJxV+g==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.24.4 + classnames: 2.5.1 + rc-util: 5.39.1(react-dom@18.3.0)(react@18.3.0) + react: 18.3.0 + react-dom: 18.3.0(react@18.3.0) + dev: false + + /rc-switch@4.1.0(react-dom@18.3.0)(react@18.3.0): + resolution: {integrity: sha512-TI8ufP2Az9oEbvyCeVE4+90PDSljGyuwix3fV58p7HV2o4wBnVToEyomJRVyTaZeqNPAp+vqeo4Wnj5u0ZZQBg==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.24.4 + classnames: 2.5.1 + rc-util: 5.39.1(react-dom@18.3.0)(react@18.3.0) + react: 18.3.0 + react-dom: 18.3.0(react@18.3.0) + dev: false + + /rc-table@7.45.4(react-dom@18.3.0)(react@18.3.0): + resolution: {integrity: sha512-6aSbGrnkN2GLSt3s1x+wa4f3j/VEgg1uKPpaLY5qHH1/nFyreS2V7DFJ0TfUb18allf2FQl7oVYEjTixlBXEyQ==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.24.4 + '@rc-component/context': 1.4.0(react-dom@18.3.0)(react@18.3.0) + classnames: 2.5.1 + rc-resize-observer: 1.4.0(react-dom@18.3.0)(react@18.3.0) + rc-util: 5.39.1(react-dom@18.3.0)(react@18.3.0) + rc-virtual-list: 3.11.5(react-dom@18.3.0)(react@18.3.0) + react: 18.3.0 + react-dom: 18.3.0(react@18.3.0) + dev: false + + /rc-tabs@14.1.1(react-dom@18.3.0)(react@18.3.0): + resolution: {integrity: sha512-5nOr9PVpJy2SWHTLgv1+kESDOb0tFzl0cYU9r9d8LfL0Wg9i/n1B558rmkxdQHgBwMqxmwoyPSAbQROxMQe8nw==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.24.4 + classnames: 2.5.1 + rc-dropdown: 4.2.0(react-dom@18.3.0)(react@18.3.0) + rc-menu: 9.13.0(react-dom@18.3.0)(react@18.3.0) + rc-motion: 2.9.0(react-dom@18.3.0)(react@18.3.0) + rc-resize-observer: 1.4.0(react-dom@18.3.0)(react@18.3.0) + rc-util: 5.39.1(react-dom@18.3.0)(react@18.3.0) + react: 18.3.0 + react-dom: 18.3.0(react@18.3.0) + dev: false + + /rc-textarea@1.6.3(react-dom@18.3.0)(react@18.3.0): + resolution: {integrity: sha512-8k7+8Y2GJ/cQLiClFMg8kUXOOdvcFQrnGeSchOvI2ZMIVvX5a3zQpLxoODL0HTrvU63fPkRmMuqaEcOF9dQemA==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.24.4 + classnames: 2.5.1 + rc-input: 1.4.5(react-dom@18.3.0)(react@18.3.0) + rc-resize-observer: 1.4.0(react-dom@18.3.0)(react@18.3.0) + rc-util: 5.39.1(react-dom@18.3.0)(react@18.3.0) + react: 18.3.0 + react-dom: 18.3.0(react@18.3.0) + dev: false + + /rc-tooltip@6.2.0(react-dom@18.3.0)(react@18.3.0): + resolution: {integrity: sha512-iS/3iOAvtDh9GIx1ulY7EFUXUtktFccNLsARo3NPgLf0QW9oT0w3dA9cYWlhqAKmD+uriEwdWz1kH0Qs4zk2Aw==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.24.4 + '@rc-component/trigger': 2.1.1(react-dom@18.3.0)(react@18.3.0) + classnames: 2.5.1 + react: 18.3.0 + react-dom: 18.3.0(react@18.3.0) + dev: false + + /rc-tree-select@5.19.0(react-dom@18.3.0)(react@18.3.0): + resolution: {integrity: sha512-f4l5EsmSGF3ggj76YTzKNPY9SnXfFaer7ZccTSGb3urUf54L+cCqyT+UsPr+S5TAr8mZSxJ7g3CgkCe+cVQ6sw==} + peerDependencies: + react: '*' + react-dom: '*' + dependencies: + '@babel/runtime': 7.24.4 + classnames: 2.5.1 + rc-select: 14.13.1(react-dom@18.3.0)(react@18.3.0) + rc-tree: 5.8.5(react-dom@18.3.0)(react@18.3.0) + rc-util: 5.39.1(react-dom@18.3.0)(react@18.3.0) + react: 18.3.0 + react-dom: 18.3.0(react@18.3.0) + dev: false + + /rc-tree@5.8.5(react-dom@18.3.0)(react@18.3.0): + resolution: {integrity: sha512-PRfcZtVDNkR7oh26RuNe1hpw11c1wfgzwmPFL0lnxGnYefe9lDAO6cg5wJKIAwyXFVt5zHgpjYmaz0CPy1ZtKg==} + engines: {node: '>=10.x'} + peerDependencies: + react: '*' + react-dom: '*' + dependencies: + '@babel/runtime': 7.24.4 + classnames: 2.5.1 + rc-motion: 2.9.0(react-dom@18.3.0)(react@18.3.0) + rc-util: 5.39.1(react-dom@18.3.0)(react@18.3.0) + rc-virtual-list: 3.11.5(react-dom@18.3.0)(react@18.3.0) + react: 18.3.0 + react-dom: 18.3.0(react@18.3.0) + dev: false + + /rc-upload@4.5.2(react-dom@18.3.0)(react@18.3.0): + resolution: {integrity: sha512-QO3ne77DwnAPKFn0bA5qJM81QBjQi0e0NHdkvpFyY73Bea2NfITiotqJqVjHgeYPOJu5lLVR32TNGP084aSoXA==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.24.4 + classnames: 2.5.1 + rc-util: 5.39.1(react-dom@18.3.0)(react@18.3.0) + react: 18.3.0 + react-dom: 18.3.0(react@18.3.0) + dev: false + + /rc-util@5.39.1(react-dom@18.3.0)(react@18.3.0): + resolution: {integrity: sha512-OW/ERynNDgNr4y0oiFmtes3rbEamXw7GHGbkbNd9iRr7kgT03T6fT0b9WpJ3mbxKhyOcAHnGcIoh5u/cjrC2OQ==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.24.4 + react: 18.3.0 + react-dom: 18.3.0(react@18.3.0) + react-is: 18.3.0 + dev: false + + /rc-virtual-list@3.11.5(react-dom@18.3.0)(react@18.3.0): + resolution: {integrity: sha512-iZRW99m5jAxtwKNPLwUrPryurcnKpXBdTyhuBp6ythf7kg/otKO5cCiIvL55GQwU0QGSlouQS0tnkciRMJUwRQ==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.24.4 + classnames: 2.5.1 + rc-resize-observer: 1.4.0(react-dom@18.3.0)(react@18.3.0) + rc-util: 5.39.1(react-dom@18.3.0)(react@18.3.0) + react: 18.3.0 + react-dom: 18.3.0(react@18.3.0) + dev: false + + /react-apexcharts@1.4.1(apexcharts@3.49.0)(react@18.3.0): + resolution: {integrity: sha512-G14nVaD64Bnbgy8tYxkjuXEUp/7h30Q0U33xc3AwtGFijJB9nHqOt1a6eG0WBn055RgRg+NwqbKGtqPxy15d0Q==} + peerDependencies: + apexcharts: ^3.41.0 + react: '>=0.13' + dependencies: + apexcharts: 3.49.0 + prop-types: 15.8.1 + react: 18.3.0 + dev: false + + /react-beautiful-dnd@13.1.1(react-dom@18.3.0)(react@18.3.0): + resolution: {integrity: sha512-0Lvs4tq2VcrEjEgDXHjT98r+63drkKEgqyxdA7qD3mvKwga6a5SscbdLPO2IExotU1jW8L0Ksdl0Cj2AF67nPQ==} + peerDependencies: + react: ^16.8.5 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.5 || ^17.0.0 || ^18.0.0 + dependencies: + '@babel/runtime': 7.24.4 + css-box-model: 1.2.1 + memoize-one: 5.2.1 + raf-schd: 4.0.3 + react: 18.3.0 + react-dom: 18.3.0(react@18.3.0) + react-redux: 7.2.9(react-dom@18.3.0)(react@18.3.0) + redux: 4.2.1 + use-memo-one: 1.1.3(react@18.3.0) + transitivePeerDependencies: + - react-native + dev: false + + /react-dev-inspector@2.0.1(eslint@8.57.0)(react@18.3.0)(typescript@5.4.5)(webpack@5.91.0): + resolution: {integrity: sha512-b8PAmbwGFrWcxeaX8wYveqO+VTwTXGJaz/yl9RO31LK1zeLKJVlkkbeLExLnJ6IvhXY1TwL8Q4+gR2GKJ8BI6Q==} + engines: {node: '>=12.0.0'} + peerDependencies: + react: '>=16.8.0' + dependencies: + '@react-dev-inspector/babel-plugin': 2.0.1 + '@react-dev-inspector/middleware': 2.0.1(eslint@8.57.0)(typescript@5.4.5)(webpack@5.91.0) + '@react-dev-inspector/umi3-plugin': 2.0.1(eslint@8.57.0)(typescript@5.4.5)(webpack@5.91.0) + '@react-dev-inspector/umi4-plugin': 2.0.1(eslint@8.57.0)(typescript@5.4.5)(webpack@5.91.0) + '@react-dev-inspector/vite-plugin': 2.0.1(eslint@8.57.0)(typescript@5.4.5)(webpack@5.91.0) + '@types/react-reconciler': 0.28.8 + hotkeys-js: 3.13.7 + picocolors: 1.0.0 + react: 18.3.0 + react-dev-utils: 12.0.1(eslint@8.57.0)(typescript@5.4.5)(webpack@5.91.0) + transitivePeerDependencies: + - eslint + - supports-color + - typescript + - vue-template-compiler + - webpack + dev: true + + /react-dev-utils@12.0.1(eslint@8.57.0)(typescript@5.4.5)(webpack@5.91.0): + resolution: {integrity: sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==} + engines: {node: '>=14'} + peerDependencies: + typescript: '>=2.7' + webpack: '>=4' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@babel/code-frame': 7.24.2 + address: 1.2.2 + browserslist: 4.23.0 + chalk: 4.1.2 + cross-spawn: 7.0.3 + detect-port-alt: 1.1.6 + escape-string-regexp: 4.0.0 + filesize: 8.0.7 + find-up: 5.0.0 + fork-ts-checker-webpack-plugin: 6.5.3(eslint@8.57.0)(typescript@5.4.5)(webpack@5.91.0) + global-modules: 2.0.0 + globby: 11.1.0 + gzip-size: 6.0.0 + immer: 9.0.21 + is-root: 2.1.0 + loader-utils: 3.2.1 + open: 8.4.2 + pkg-up: 3.1.0 + prompts: 2.4.2 + react-error-overlay: 6.0.11 + recursive-readdir: 2.2.3 + shell-quote: 1.8.1 + strip-ansi: 6.0.1 + text-table: 0.2.0 + typescript: 5.4.5 + webpack: 5.91.0 + transitivePeerDependencies: + - eslint + - supports-color + - vue-template-compiler + dev: true + + /react-dom@18.3.0(react@18.3.0): + resolution: {integrity: sha512-zaKdLBftQJnvb7FtDIpZtsAIb2MZU087RM8bRDZU8LVCCFYjPTsDZJNFUWPcVz3HFSN1n/caxi0ca4B/aaVQGQ==} + peerDependencies: + react: ^18.3.0 + dependencies: + loose-envify: 1.4.0 + react: 18.3.0 + scheduler: 0.23.1 + dev: false + + /react-error-overlay@6.0.11: + resolution: {integrity: sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==} + dev: true + + /react-fast-compare@3.2.2: + resolution: {integrity: sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==} + dev: false + + /react-helmet-async@1.3.0(react-dom@18.3.0)(react@18.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 + dependencies: + '@babel/runtime': 7.24.4 + invariant: 2.2.4 + prop-types: 15.8.1 + react: 18.3.0 + react-dom: 18.3.0(react@18.3.0) + react-fast-compare: 3.2.2 + shallowequal: 1.1.0 + dev: false + + /react-i18next@13.5.0(i18next@23.11.2)(react-dom@18.3.0)(react@18.3.0): + resolution: {integrity: sha512-CFJ5NDGJ2MUyBohEHxljOq/39NQ972rh1ajnadG9BjTk+UXbHLq4z5DKEbEQBDoIhUmmbuS/fIMJKo6VOax1HA==} + peerDependencies: + i18next: '>= 23.2.3' + react: '>= 16.8.0' + react-dom: '*' + react-native: '*' + peerDependenciesMeta: + react-dom: + optional: true + react-native: + optional: true + dependencies: + '@babel/runtime': 7.24.4 + html-parse-stringify: 3.0.1 + i18next: 23.11.2 + react: 18.3.0 + react-dom: 18.3.0(react@18.3.0) + dev: false + + /react-icons@4.12.0(react@18.3.0): + resolution: {integrity: sha512-IBaDuHiShdZqmfc/TwHu6+d6k2ltNCf3AszxNmjJc1KUfXdEeRJOKyNvLmAHaarhzGmTSVygNdyu8/opXv2gaw==} + peerDependencies: + react: '*' + dependencies: + react: 18.3.0 + dev: false + + /react-is@16.13.1: + resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + + /react-is@17.0.2: + resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} + dev: false + + /react-is@18.3.0: + resolution: {integrity: sha512-wRiUsea88TjKDc4FBEn+sLvIDesp6brMbGWnJGjew2waAc9evdhja/2LvePc898HJbHw0L+MTWy7NhpnELAvLQ==} + dev: false + + /react-markdown@8.0.7(@types/react@18.3.0)(react@18.3.0): + resolution: {integrity: sha512-bvWbzG4MtOU62XqBx3Xx+zB2raaFFsq4mYiAzfjXJMEz2sixgeAfraA3tvzULF02ZdOMUOKTBFFaZJDDrq+BJQ==} + peerDependencies: + '@types/react': '>=16' + react: '>=16' + dependencies: + '@types/hast': 2.3.10 + '@types/prop-types': 15.7.12 + '@types/react': 18.3.0 + '@types/unist': 2.0.10 + comma-separated-tokens: 2.0.3 + hast-util-whitespace: 2.0.1 + prop-types: 15.8.1 + property-information: 6.5.0 + react: 18.3.0 + react-is: 18.3.0 + remark-parse: 10.0.2 + remark-rehype: 10.1.0 + space-separated-tokens: 2.0.2 + style-to-object: 0.4.4 + unified: 10.1.2 + unist-util-visit: 4.1.2 + vfile: 5.3.7 + transitivePeerDependencies: + - supports-color + dev: false + + /react-organizational-chart@2.2.1(react-dom@18.3.0)(react@18.3.0): + resolution: {integrity: sha512-JORmpLeYzCVtztdqCHsnKL8H3WiLRPHjohgh/PxQoszLuaQ+l3F8YefKSfpcBPZJhHwy3SlqjFjPC28a3Hh3QQ==} + engines: {node: '>=16', npm: '>=8'} + peerDependencies: + react: '>= 16.12.0' + react-dom: '>= 16.12.0' + dependencies: + '@emotion/css': 11.11.2 + react: 18.3.0 + react-dom: 18.3.0(react@18.3.0) + dev: false + + /react-quill@2.0.0(react-dom@18.3.0)(react@18.3.0): + resolution: {integrity: sha512-4qQtv1FtCfLgoD3PXAur5RyxuUbPXQGOHgTlFie3jtxp43mXDtzCKaOgQ3mLyZfi1PUlyjycfivKelFhy13QUg==} + peerDependencies: + react: ^16 || ^17 || ^18 + react-dom: ^16 || ^17 || ^18 + dependencies: + '@types/quill': 1.3.10 + lodash: 4.17.21 + quill: 1.3.7 + react: 18.3.0 + react-dom: 18.3.0(react@18.3.0) + dev: false + + /react-redux@7.2.9(react-dom@18.3.0)(react@18.3.0): + resolution: {integrity: sha512-Gx4L3uM182jEEayZfRbI/G11ZpYdNAnBs70lFVMNdHJI76XYtR+7m0MN+eAs7UHBPhWXcnFPaS+9owSCJQHNpQ==} + peerDependencies: + react: ^16.8.3 || ^17 || ^18 + react-dom: '*' + react-native: '*' + peerDependenciesMeta: + react-dom: + optional: true + react-native: + optional: true + dependencies: + '@babel/runtime': 7.24.4 + '@types/react-redux': 7.1.33 + hoist-non-react-statics: 3.3.2 + loose-envify: 1.4.0 + prop-types: 15.8.1 + react: 18.3.0 + react-dom: 18.3.0(react@18.3.0) + react-is: 17.0.2 + dev: false + + /react-refresh@0.14.1: + resolution: {integrity: sha512-iZiRCtNGY3QYP3pYOSSBOvQmBpQTcJccr/VcK2blpJrpPTUDjeN51mxm5nsrkCzBwsbGUj+TN9q2oPz5E13FLg==} + engines: {node: '>=0.10.0'} + dev: false + + /react-router-dom@6.23.0(react-dom@18.3.0)(react@18.3.0): + resolution: {integrity: sha512-Q9YaSYvubwgbal2c9DJKfx6hTNoBp3iJDsl+Duva/DwxoJH+OTXkxGpql4iUK2sla/8z4RpjAm6EWx1qUDuopQ==} + engines: {node: '>=14.0.0'} + peerDependencies: + react: '>=16.8' + react-dom: '>=16.8' + dependencies: + '@remix-run/router': 1.16.0 + react: 18.3.0 + react-dom: 18.3.0(react@18.3.0) + react-router: 6.23.0(react@18.3.0) + dev: false + + /react-router@6.23.0(react@18.3.0): + resolution: {integrity: sha512-wPMZ8S2TuPadH0sF5irFGjkNLIcRvOSaEe7v+JER8508dyJumm6XZB1u5kztlX0RVq6AzRVndzqcUh6sFIauzA==} + engines: {node: '>=14.0.0'} + peerDependencies: + react: '>=16.8' + dependencies: + '@remix-run/router': 1.16.0 + react: 18.3.0 + dev: false + + /react-universal-interface@0.6.2(react@18.3.0)(tslib@2.6.2): + resolution: {integrity: sha512-dg8yXdcQmvgR13RIlZbTRQOoUrDciFVoSBZILwjE2LFISxZZ8loVJKAkuzswl5js8BHda79bIb2b84ehU8IjXw==} + peerDependencies: + react: '*' + tslib: '*' + dependencies: + react: 18.3.0 + tslib: 2.6.2 + dev: false + + /react-use@17.5.0(react-dom@18.3.0)(react@18.3.0): + resolution: {integrity: sha512-PbfwSPMwp/hoL847rLnm/qkjg3sTRCvn6YhUZiHaUa3FA6/aNoFX79ul5Xt70O1rK+9GxSVqkY0eTwMdsR/bWg==} + peerDependencies: + react: '*' + react-dom: '*' + dependencies: + '@types/js-cookie': 2.2.7 + '@xobotyi/scrollbar-width': 1.9.5 + copy-to-clipboard: 3.3.3 + fast-deep-equal: 3.1.3 + fast-shallow-equal: 1.0.0 + js-cookie: 2.2.1 + nano-css: 5.6.1(react-dom@18.3.0)(react@18.3.0) + react: 18.3.0 + react-dom: 18.3.0(react@18.3.0) + react-universal-interface: 0.6.2(react@18.3.0)(tslib@2.6.2) + resize-observer-polyfill: 1.5.1 + screenfull: 5.2.0 + set-harmonic-interval: 1.0.1 + throttle-debounce: 3.0.1 + ts-easing: 0.2.0 + tslib: 2.6.2 + dev: false + + /react@18.3.0: + resolution: {integrity: sha512-RPutkJftSAldDibyrjuku7q11d3oy6wKOyPe5K1HA/HwwrXcEqBdHsLypkC2FFYjP7bPUa6gbzSBhw4sY2JcDg==} + engines: {node: '>=0.10.0'} + dependencies: + loose-envify: 1.4.0 + + /read-cache@1.0.0: + resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} + dependencies: + pify: 2.3.0 + dev: true + + /read-pkg-up@3.0.0: + resolution: {integrity: sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==} + engines: {node: '>=4'} + dependencies: + find-up: 2.1.0 + read-pkg: 3.0.0 + dev: true + + /read-pkg-up@7.0.1: + resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} + engines: {node: '>=8'} + dependencies: + find-up: 4.1.0 + read-pkg: 5.2.0 + type-fest: 0.8.1 + dev: true + + /read-pkg-up@8.0.0: + resolution: {integrity: sha512-snVCqPczksT0HS2EC+SxUndvSzn6LRCwpfSvLrIfR5BKDQQZMaI6jPRC9dYvYFDRAuFEAnkwww8kBBNE/3VvzQ==} + engines: {node: '>=12'} + dependencies: + find-up: 5.0.0 + read-pkg: 6.0.0 + type-fest: 1.4.0 + dev: true + + /read-pkg@3.0.0: + resolution: {integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==} + engines: {node: '>=4'} + dependencies: + load-json-file: 4.0.0 + normalize-package-data: 2.5.0 + path-type: 3.0.0 + dev: true + + /read-pkg@5.2.0: + resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} + engines: {node: '>=8'} + dependencies: + '@types/normalize-package-data': 2.4.4 + normalize-package-data: 2.5.0 + parse-json: 5.2.0 + type-fest: 0.6.0 + dev: true + + /read-pkg@6.0.0: + resolution: {integrity: sha512-X1Fu3dPuk/8ZLsMhEj5f4wFAF0DWoK7qhGJvgaijocXxBmSToKfbFtqbxMO7bVjNA1dmE5huAzjXj/ey86iw9Q==} + engines: {node: '>=12'} + dependencies: + '@types/normalize-package-data': 2.4.4 + normalize-package-data: 3.0.3 + parse-json: 5.2.0 + type-fest: 1.4.0 + dev: true + + /readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + dev: true + + /readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + + /recursive-readdir@2.2.3: + resolution: {integrity: sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==} + engines: {node: '>=6.0.0'} + dependencies: + minimatch: 3.1.2 + dev: true + + /redent@2.0.0: + resolution: {integrity: sha512-XNwrTx77JQCEMXTeb8movBKuK75MgH0RZkujNuDKCezemx/voapl9i2gCSi8WWm8+ox5ycJi1gxF22fR7c0Ciw==} + engines: {node: '>=4'} + dependencies: + indent-string: 3.2.0 + strip-indent: 2.0.0 + dev: true + + /redent@3.0.0: + resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} + engines: {node: '>=8'} + dependencies: + indent-string: 4.0.0 + strip-indent: 3.0.0 + dev: true + + /redent@4.0.0: + resolution: {integrity: sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag==} + engines: {node: '>=12'} + dependencies: + indent-string: 5.0.0 + strip-indent: 4.0.0 + dev: true + + /redux@4.2.1: + resolution: {integrity: sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==} + dependencies: + '@babel/runtime': 7.24.4 + dev: false + + /reflect.getprototypeof@1.0.6: + resolution: {integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + globalthis: 1.0.3 + which-builtin-type: 1.1.3 + dev: true + + /regenerator-runtime@0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + + /regex-not@1.0.2: + resolution: {integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==} + engines: {node: '>=0.10.0'} + dependencies: + extend-shallow: 3.0.2 + safe-regex: 1.1.0 + dev: true + + /regexp.prototype.flags@1.5.2: + resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-errors: 1.3.0 + set-function-name: 2.0.2 + + /rehype-highlight@6.0.0: + resolution: {integrity: sha512-q7UtlFicLhetp7K48ZgZiJgchYscMma7XjzX7t23bqEJF8m6/s+viXQEe4oHjrATTIZpX7RG8CKD7BlNZoh9gw==} + dependencies: + '@types/hast': 2.3.10 + hast-util-to-text: 3.1.2 + lowlight: 2.9.0 + unified: 10.1.2 + unist-util-visit: 4.1.2 + dev: false + + /rehype-raw@6.1.1: + resolution: {integrity: sha512-d6AKtisSRtDRX4aSPsJGTfnzrX2ZkHQLE5kiUuGOeEoLpbEulFF4hj0mLPbsa+7vmguDKOVVEQdHKDSwoaIDsQ==} + dependencies: + '@types/hast': 2.3.10 + hast-util-raw: 7.2.3 + unified: 10.1.2 + dev: false + + /remark-gfm@3.0.1: + resolution: {integrity: sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig==} + dependencies: + '@types/mdast': 3.0.15 + mdast-util-gfm: 2.0.2 + micromark-extension-gfm: 2.0.3 + unified: 10.1.2 + transitivePeerDependencies: + - supports-color + dev: false + + /remark-parse@10.0.2: + resolution: {integrity: sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw==} + dependencies: + '@types/mdast': 3.0.15 + mdast-util-from-markdown: 1.3.1 + unified: 10.1.2 + transitivePeerDependencies: + - supports-color + dev: false + + /remark-parse@6.0.3: + resolution: {integrity: sha512-QbDXWN4HfKTUC0hHa4teU463KclLAnwpn/FBn87j9cKYJWWawbiLgMfP2Q4XwhxxuuuOxHlw+pSN0OKuJwyVvg==} + dependencies: + collapse-white-space: 1.0.6 + is-alphabetical: 1.0.4 + is-decimal: 1.0.4 + is-whitespace-character: 1.0.4 + is-word-character: 1.0.4 + markdown-escapes: 1.0.4 + parse-entities: 1.2.2 + repeat-string: 1.6.1 + state-toggle: 1.0.3 + trim: 0.0.1 + trim-trailing-lines: 1.1.4 + unherit: 1.1.3 + unist-util-remove-position: 1.1.4 + vfile-location: 2.0.6 + xtend: 4.0.2 + dev: true + + /remark-rehype@10.1.0: + resolution: {integrity: sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==} + dependencies: + '@types/hast': 2.3.10 + '@types/mdast': 3.0.15 + mdast-util-to-hast: 12.3.0 + unified: 10.1.2 + dev: false + + /remark-stringify@6.0.4: + resolution: {integrity: sha512-eRWGdEPMVudijE/psbIDNcnJLRVx3xhfuEsTDGgH4GsFF91dVhw5nhmnBppafJ7+NWINW6C7ZwWbi30ImJzqWg==} + dependencies: + ccount: 1.1.0 + is-alphanumeric: 1.0.0 + is-decimal: 1.0.4 + is-whitespace-character: 1.0.4 + longest-streak: 2.0.4 + markdown-escapes: 1.0.4 + markdown-table: 1.1.3 + mdast-util-compact: 1.0.4 + parse-entities: 1.2.2 + repeat-string: 1.6.1 + state-toggle: 1.0.3 + stringify-entities: 1.3.2 + unherit: 1.1.3 + xtend: 4.0.2 + dev: true + + /remark@10.0.1: + resolution: {integrity: sha512-E6lMuoLIy2TyiokHprMjcWNJ5UxfGQjaMSMhV+f4idM625UjjK4j798+gPs5mfjzDE6vL0oFKVeZM6gZVSVrzQ==} + dependencies: + remark-parse: 6.0.3 + remark-stringify: 6.0.4 + unified: 7.1.0 + dev: true + + /remove-accents@0.4.4: + resolution: {integrity: sha512-EpFcOa/ISetVHEXqu+VwI96KZBmq+a8LJnGkaeFw45epGlxIZz5dhEEnNZMsQXgORu3qaMoLX4qJCzOik6ytAg==} + dev: false + + /remove-accents@0.5.0: + resolution: {integrity: sha512-8g3/Otx1eJaVD12e31UbJj1YzdtVvzH85HV7t+9MJYk/u3XmkOUJ5Ys9wQrf9PCPK8+xn4ymzqYCiZl6QWKn+A==} + dev: false + + /repeat-element@1.1.4: + resolution: {integrity: sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==} + engines: {node: '>=0.10.0'} + dev: true + + /repeat-string@1.6.1: + resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} + engines: {node: '>=0.10'} + dev: true + + /replace-ext@1.0.0: + resolution: {integrity: sha512-vuNYXC7gG7IeVNBC1xUllqCcZKRbJoSPOBhnTEcAIiKCsbuef6zO3F0Rve3isPMMoNoQRWjQwbAgAjHUHniyEA==} + engines: {node: '>= 0.10'} + dev: true + + /require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + dev: true + + /require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + dev: true + + /reset-css@5.0.2: + resolution: {integrity: sha512-YtgUGSq5z5W0NPSjsBW7ys7rtWa8P8AiE7S6Fg3d1TQCPpAodgYyLuZYlU0AOsLtprk/fC9ormHN/0pAavVIDw==} + dev: false + + /resize-observer-polyfill@1.5.1: + resolution: {integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==} + dev: false + + /resolve-from@3.0.0: + resolution: {integrity: sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==} + engines: {node: '>=4'} + dev: true + + /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'} + dev: true + + /resolve-global@1.0.0: + resolution: {integrity: sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==} + engines: {node: '>=8'} + dependencies: + global-dirs: 0.1.1 + dev: true + + /resolve-url@0.2.1: + resolution: {integrity: sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==} + deprecated: https://github.com/lydell/resolve-url#deprecated + dev: true + + /resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true + dependencies: + is-core-module: 2.13.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + /resolve@2.0.0-next.5: + resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} + hasBin: true + dependencies: + is-core-module: 2.13.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + + /restore-cursor@4.0.0: + resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + onetime: 5.1.2 + signal-exit: 3.0.7 + dev: true + + /ret@0.1.15: + resolution: {integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==} + engines: {node: '>=0.12'} + dev: true + + /reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + dev: true + + /rfdc@1.3.1: + resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} + dev: true + + /rimraf@2.6.3: + resolution: {integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==} + hasBin: true + dependencies: + glob: 7.2.3 + dev: true + + /rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + hasBin: true + dependencies: + glob: 7.2.3 + dev: true + + /rollup-plugin-visualizer@5.12.0: + resolution: {integrity: sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==} + engines: {node: '>=14'} + hasBin: true + peerDependencies: + rollup: 2.x || 3.x || 4.x + peerDependenciesMeta: + rollup: + optional: true + dependencies: + open: 8.4.2 + picomatch: 2.3.1 + source-map: 0.7.4 + yargs: 17.7.2 + dev: true + + /rollup@3.29.4: + resolution: {integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==} + engines: {node: '>=14.18.0', npm: '>=8.0.0'} + hasBin: true + optionalDependencies: + fsevents: 2.3.3 + + /rtl-css-js@1.16.1: + resolution: {integrity: sha512-lRQgou1mu19e+Ya0LsTvKrVJ5TYUbqCVPAiImX3UfLTenarvPUl1QFdvu5Z3PYmHT9RCcwIfbjRQBntExyj3Zg==} + dependencies: + '@babel/runtime': 7.24.4 + dev: false + + /run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + dependencies: + queue-microtask: 1.2.3 + dev: true + + /sade@1.8.1: + resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} + engines: {node: '>=6'} + dependencies: + mri: 1.2.0 + dev: false + + /safe-array-concat@1.1.2: + resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} + engines: {node: '>=0.4'} + dependencies: + call-bind: 1.0.7 + get-intrinsic: 1.2.4 + has-symbols: 1.0.3 + isarray: 2.0.5 + dev: true + + /safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + dev: true + + /safe-regex-test@1.0.3: + resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-regex: 1.1.4 + dev: true + + /safe-regex@1.1.0: + resolution: {integrity: sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==} + dependencies: + ret: 0.1.15 + dev: true + + /sass@1.75.0: + resolution: {integrity: sha512-ShMYi3WkrDWxExyxSZPst4/okE9ts46xZmJDSawJQrnte7M1V9fScVB+uNXOVKRBt0PggHOwoZcn8mYX4trnBw==} + engines: {node: '>=14.0.0'} + hasBin: true + dependencies: + chokidar: 3.6.0 + immutable: 4.3.5 + source-map-js: 1.2.0 + + /scheduler@0.23.1: + resolution: {integrity: sha512-5GKS5JGfiah1O38Vfa9srZE4s3wdHbwjlCrvIookrg2FO9aIwKLOJXuJQFlEfNcVSOXuaL2hzDeY20uVXcUtrw==} + dependencies: + loose-envify: 1.4.0 + dev: false + + /schema-utils@2.7.0: + resolution: {integrity: sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==} + engines: {node: '>= 8.9.0'} + dependencies: + '@types/json-schema': 7.0.15 + ajv: 6.12.6 + ajv-keywords: 3.5.2(ajv@6.12.6) + dev: true + + /schema-utils@3.3.0: + resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} + engines: {node: '>= 10.13.0'} + dependencies: + '@types/json-schema': 7.0.15 + ajv: 6.12.6 + ajv-keywords: 3.5.2(ajv@6.12.6) + dev: true + + /screenfull@5.2.0: + resolution: {integrity: sha512-9BakfsO2aUQN2K9Fdbj87RJIEZ82Q9IGim7FqM5OsebfoFC6ZHXgDq/KvniuLTPdeM8wY2o6Dj3WQ7KeQCj3cA==} + engines: {node: '>=0.10.0'} + dev: false + + /screenfull@6.0.2: + resolution: {integrity: sha512-AQdy8s4WhNvUZ6P8F6PB21tSPIYKniic+Ogx0AacBMjKP1GUHN2E9URxQHtCusiwxudnCKkdy4GrHXPPJSkCCw==} + engines: {node: ^14.13.1 || >=16.0.0} + dev: false + + /scroll-into-view-if-needed@3.1.0: + resolution: {integrity: sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==} + dependencies: + compute-scroll-into-view: 3.1.0 + dev: false + + /semver@5.7.2: + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} + hasBin: true + dev: true + + /semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + /semver@7.5.4: + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + + /semver@7.6.0: + resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + + /serialize-javascript@6.0.2: + resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} + dependencies: + randombytes: 2.1.0 + dev: true + + /set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + gopd: 1.0.1 + has-property-descriptors: 1.0.2 + + /set-function-name@2.0.2: + resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} + engines: {node: '>= 0.4'} + 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-harmonic-interval@1.0.1: + resolution: {integrity: sha512-AhICkFV84tBP1aWqPwLZqFvAwqEoVA9kxNMniGEUvzOlm4vLmOFLiTT3UZ6bziJTy4bOVpzWGTfSCbmaayGx8g==} + engines: {node: '>=6.9'} + dev: false + + /set-value@2.0.1: + resolution: {integrity: sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==} + engines: {node: '>=0.10.0'} + dependencies: + extend-shallow: 2.0.1 + is-extendable: 0.1.1 + is-plain-object: 2.0.4 + split-string: 3.1.0 + dev: true + + /shallowequal@1.1.0: + resolution: {integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==} + dev: false + + /shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + dev: true + + /shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: true + + /shell-quote@1.8.1: + resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} + dev: true + + /side-channel@1.0.6: + resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + object-inspect: 1.13.1 + dev: true + + /signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + dev: true + + /signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + dev: true + + /simple-swizzle@0.2.2: + resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} + dependencies: + is-arrayish: 0.3.2 + dev: false + + /simplebar-core@1.2.4: + resolution: {integrity: sha512-P+Sqshef4fq3++gQ82TgNYcgl3qZFSCP5jS2/8NMmw18oagXOijMzs1G+vm6RUY3oMvpwH3wGoqh9u6SyDjHfQ==} + dependencies: + '@types/lodash-es': 4.17.12 + can-use-dom: 0.1.0 + lodash: 4.17.21 + lodash-es: 4.17.21 + dev: false + + /simplebar-react@3.2.4(react@18.3.0): + resolution: {integrity: sha512-ogLN79e7JUm82wJChD7NSUB+4EHCFvDkjXpiu8hT1Alk7DnCekUWds61NXcsP9jC97KOgF5To/AVjYFbX0olgg==} + peerDependencies: + react: '>=16.8.0' + dependencies: + react: 18.3.0 + simplebar-core: 1.2.4 + dev: false + + /sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + dev: true + + /slash@2.0.0: + resolution: {integrity: sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==} + engines: {node: '>=6'} + dev: true + + /slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + dev: true + + /slice-ansi@2.1.0: + resolution: {integrity: sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==} + engines: {node: '>=6'} + dependencies: + ansi-styles: 3.2.1 + astral-regex: 1.0.0 + is-fullwidth-code-point: 2.0.0 + dev: true + + /slice-ansi@4.0.0: + resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + astral-regex: 2.0.0 + is-fullwidth-code-point: 3.0.0 + dev: true + + /slice-ansi@5.0.0: + resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} + engines: {node: '>=12'} + dependencies: + ansi-styles: 6.2.1 + is-fullwidth-code-point: 4.0.0 + dev: true + + /snapdragon-node@2.1.1: + resolution: {integrity: sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==} + engines: {node: '>=0.10.0'} + dependencies: + define-property: 1.0.0 + isobject: 3.0.1 + snapdragon-util: 3.0.1 + dev: true + + /snapdragon-util@3.0.1: + resolution: {integrity: sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==} + engines: {node: '>=0.10.0'} + dependencies: + kind-of: 3.2.2 + dev: true + + /snapdragon@0.8.2: + resolution: {integrity: sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==} + engines: {node: '>=0.10.0'} + dependencies: + base: 0.11.2 + debug: 2.6.9 + define-property: 0.2.5 + extend-shallow: 2.0.1 + map-cache: 0.2.2 + source-map: 0.5.7 + source-map-resolve: 0.5.3 + use: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /source-map-js@1.2.0: + resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} + engines: {node: '>=0.10.0'} + + /source-map-resolve@0.5.3: + resolution: {integrity: sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==} + deprecated: See https://github.com/lydell/source-map-resolve#deprecated + dependencies: + atob: 2.1.2 + decode-uri-component: 0.2.2 + resolve-url: 0.2.1 + source-map-url: 0.4.1 + urix: 0.1.0 + dev: true + + /source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + + /source-map-url@0.4.1: + resolution: {integrity: sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==} + deprecated: See https://github.com/lydell/source-map-url#deprecated + dev: true + + /source-map@0.5.6: + resolution: {integrity: sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA==} + engines: {node: '>=0.10.0'} + dev: false + + /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.4: + resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} + engines: {node: '>= 8'} + dev: true + + /space-separated-tokens@2.0.2: + resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} + dev: false + + /spdx-correct@3.2.0: + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} + dependencies: + spdx-expression-parse: 3.0.1 + spdx-license-ids: 3.0.17 + dev: true + + /spdx-exceptions@2.5.0: + resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} + dev: true + + /spdx-expression-parse@3.0.1: + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + dependencies: + spdx-exceptions: 2.5.0 + spdx-license-ids: 3.0.17 + dev: true + + /spdx-license-ids@3.0.17: + resolution: {integrity: sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==} + dev: true + + /specificity@0.4.1: + resolution: {integrity: sha512-1klA3Gi5PD1Wv9Q0wUoOQN1IWAuPu0D1U03ThXTr0cJ20+/iq2tHSDnK7Kk/0LXJ1ztUB2/1Os0wKmfyNgUQfg==} + hasBin: true + dev: true + + /split-string@3.1.0: + resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==} + engines: {node: '>=0.10.0'} + dependencies: + extend-shallow: 3.0.2 + dev: true + + /split2@3.2.2: + resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==} + dependencies: + readable-stream: 3.6.2 + dev: true + + /sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + dev: true + + /stable@0.1.8: + resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==} + deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility' + dev: true + + /stack-generator@2.0.10: + resolution: {integrity: sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ==} + dependencies: + stackframe: 1.3.4 + dev: false + + /stackframe@1.3.4: + resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==} + dev: false + + /stacktrace-gps@3.1.2: + resolution: {integrity: sha512-GcUgbO4Jsqqg6RxfyTHFiPxdPqF+3LFmQhm7MgCuYQOYuWyqxo5pwRPz5d/u6/WYJdEnWfK4r+jGbyD8TSggXQ==} + dependencies: + source-map: 0.5.6 + stackframe: 1.3.4 + dev: false + + /stacktrace-js@2.0.2: + resolution: {integrity: sha512-Je5vBeY4S1r/RnLydLl0TBTi3F2qdfWmYsGvtfZgEI+SCprPppaIhQf5nGcal4gI4cGpCV/duLcAzT1np6sQqg==} + dependencies: + error-stack-parser: 2.1.4 + stack-generator: 2.0.10 + stacktrace-gps: 3.1.2 + dev: false + + /state-toggle@1.0.3: + resolution: {integrity: sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ==} + dev: true + + /static-extend@0.1.2: + resolution: {integrity: sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==} + engines: {node: '>=0.10.0'} + dependencies: + define-property: 0.2.5 + object-copy: 0.1.0 + dev: true + + /strict-uri-encode@1.1.0: + resolution: {integrity: sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==} + engines: {node: '>=0.10.0'} + dev: true + + /string-argv@0.3.2: + resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} + engines: {node: '>=0.6.19'} + dev: true + + /string-convert@0.2.1: + resolution: {integrity: sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A==} + dev: false + + /string-width@3.1.0: + resolution: {integrity: sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==} + engines: {node: '>=6'} + dependencies: + emoji-regex: 7.0.3 + is-fullwidth-code-point: 2.0.0 + strip-ansi: 5.2.0 + dev: true + + /string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + dev: true + + /string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.0 + dev: true + + /string.prototype.matchall@4.0.11: + resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + get-intrinsic: 1.2.4 + gopd: 1.0.1 + has-symbols: 1.0.3 + internal-slot: 1.0.7 + regexp.prototype.flags: 1.5.2 + set-function-name: 2.0.2 + side-channel: 1.0.6 + dev: true + + /string.prototype.trim@1.2.9: + resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-object-atoms: 1.0.0 + dev: true + + /string.prototype.trimend@1.0.8: + resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 + dev: true + + /string.prototype.trimstart@1.0.8: + resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 + dev: true + + /string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + dependencies: + safe-buffer: 5.2.1 + dev: true + + /stringify-entities@1.3.2: + resolution: {integrity: sha512-nrBAQClJAPN2p+uGCVJRPIPakKeKWZ9GtBCmormE7pWOSlHat7+x5A8gx85M7HM5Dt0BP3pP5RhVW77WdbJJ3A==} + dependencies: + character-entities-html4: 1.1.4 + character-entities-legacy: 1.1.4 + is-alphanumerical: 1.0.4 + is-hexadecimal: 1.0.4 + dev: true + + /strip-ansi@3.0.1: + resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==} + engines: {node: '>=0.10.0'} + dependencies: + ansi-regex: 2.1.1 + dev: true + + /strip-ansi@5.2.0: + resolution: {integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==} + engines: {node: '>=6'} + dependencies: + ansi-regex: 4.1.1 + dev: true + + /strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + dependencies: + ansi-regex: 5.0.1 + dev: true + + /strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + dependencies: + ansi-regex: 6.0.1 + dev: true + + /strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + dev: true + + /strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + dev: true + + /strip-final-newline@3.0.0: + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} + dev: true + + /strip-indent@2.0.0: + resolution: {integrity: sha512-RsSNPLpq6YUL7QYy44RnPVTn/lcVZtb48Uof3X5JLbF4zD/Gs7ZFDv2HWol+leoQN2mT86LAzSshGfkTlSOpsA==} + engines: {node: '>=4'} + dev: true + + /strip-indent@3.0.0: + resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} + engines: {node: '>=8'} + dependencies: + min-indent: 1.0.1 + dev: true + + /strip-indent@4.0.0: + resolution: {integrity: sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==} + engines: {node: '>=12'} + dependencies: + min-indent: 1.0.1 + dev: true + + /strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + dev: true + + /style-search@0.1.0: + resolution: {integrity: sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==} + dev: true + + /style-to-object@0.4.4: + resolution: {integrity: sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==} + dependencies: + inline-style-parser: 0.1.1 + dev: false + + /styled-components@6.1.8(react-dom@18.3.0)(react@18.3.0): + resolution: {integrity: sha512-PQ6Dn+QxlWyEGCKDS71NGsXoVLKfE1c3vApkvDYS5KAK+V8fNWGhbSUEo9Gg2iaID2tjLXegEW3bZDUGpofRWw==} + engines: {node: '>= 16'} + peerDependencies: + react: '>= 16.8.0' + react-dom: '>= 16.8.0' + dependencies: + '@emotion/is-prop-valid': 1.2.1 + '@emotion/unitless': 0.8.0 + '@types/stylis': 4.2.0 + css-to-react-native: 3.2.0 + csstype: 3.1.2 + postcss: 8.4.31 + react: 18.3.0 + react-dom: 18.3.0(react@18.3.0) + shallowequal: 1.1.0 + stylis: 4.3.1 + tslib: 2.5.0 + dev: false + + /stylelint-config-rational-order@0.1.2: + resolution: {integrity: sha512-Qo7ZQaihCwTqijfZg4sbdQQHtugOX/B1/fYh018EiDZHW+lkqH9uHOnsDwDPGZrYJuB6CoyI7MZh2ecw2dOkew==} + dependencies: + stylelint: 9.10.1 + stylelint-order: 2.2.1(stylelint@9.10.1) + transitivePeerDependencies: + - supports-color + dev: true + + /stylelint-config-recommended@12.0.0(stylelint@15.11.0): + resolution: {integrity: sha512-x6x8QNARrGO2sG6iURkzqL+Dp+4bJorPMMRNPScdvaUK8PsynriOcMW7AFDKqkWAS5wbue/u8fUT/4ynzcmqdQ==} + peerDependencies: + stylelint: ^15.5.0 + dependencies: + stylelint: 15.11.0(typescript@5.4.5) + dev: true + + /stylelint-config-standard@33.0.0(stylelint@15.11.0): + resolution: {integrity: sha512-eyxnLWoXImUn77+ODIuW9qXBDNM+ALN68L3wT1lN2oNspZ7D9NVGlNHb2QCUn4xDug6VZLsh0tF8NyoYzkgTzg==} + peerDependencies: + stylelint: ^15.5.0 + dependencies: + stylelint: 15.11.0(typescript@5.4.5) + stylelint-config-recommended: 12.0.0(stylelint@15.11.0) + dev: true + + /stylelint-declaration-block-no-ignored-properties@2.8.0(stylelint@15.11.0): + resolution: {integrity: sha512-Ws8Cav7Y+SPN0JsV407LrnNXWOrqGjxShf+37GBtnU/C58Syve9c0+I/xpLcFOosST3ternykn3Lp77f3ITnFw==} + engines: {node: '>=6'} + peerDependencies: + stylelint: ^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0 || ^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + dependencies: + stylelint: 15.11.0(typescript@5.4.5) + dev: true + + /stylelint-order@2.2.1(stylelint@9.10.1): + resolution: {integrity: sha512-019KBV9j8qp1MfBjJuotse6MgaZqGVtXMc91GU9MsS9Feb+jYUvUU3Z8XiClqPdqJZQ0ryXQJGg3U3PcEjXwfg==} + engines: {node: '>=6'} + peerDependencies: + stylelint: ^9.10.1 || ^10.0.0 + dependencies: + lodash: 4.17.21 + postcss: 7.0.39 + postcss-sorting: 4.1.0 + stylelint: 9.10.1 + dev: true + + /stylelint-order@6.0.4(stylelint@15.11.0): + resolution: {integrity: sha512-0UuKo4+s1hgQ/uAxlYU4h0o0HS4NiQDud0NAUNI0aa8FJdmYHA5ZZTFHiV5FpmE3071e9pZx5j0QpVJW5zOCUA==} + peerDependencies: + stylelint: ^14.0.0 || ^15.0.0 || ^16.0.1 + dependencies: + postcss: 8.4.38 + postcss-sorting: 8.0.2(postcss@8.4.38) + stylelint: 15.11.0(typescript@5.4.5) + dev: true + + /stylelint@15.11.0(typescript@5.4.5): + resolution: {integrity: sha512-78O4c6IswZ9TzpcIiQJIN49K3qNoXTM8zEJzhaTE/xRTCZswaovSEVIa/uwbOltZrk16X4jAxjaOhzz/hTm1Kw==} + engines: {node: ^14.13.1 || >=16.0.0} + hasBin: true + dependencies: + '@csstools/css-parser-algorithms': 2.6.1(@csstools/css-tokenizer@2.2.4) + '@csstools/css-tokenizer': 2.2.4 + '@csstools/media-query-list-parser': 2.1.9(@csstools/css-parser-algorithms@2.6.1)(@csstools/css-tokenizer@2.2.4) + '@csstools/selector-specificity': 3.0.3(postcss-selector-parser@6.0.16) + balanced-match: 2.0.0 + colord: 2.9.3 + cosmiconfig: 8.3.6(typescript@5.4.5) + css-functions-list: 3.2.2 + css-tree: 2.3.1 + debug: 4.3.4 + fast-glob: 3.3.2 + fastest-levenshtein: 1.0.16 + file-entry-cache: 7.0.2 + global-modules: 2.0.0 + globby: 11.1.0 + globjoin: 0.1.4 + html-tags: 3.3.1 + ignore: 5.3.1 + import-lazy: 4.0.0 + imurmurhash: 0.1.4 + is-plain-object: 5.0.0 + known-css-properties: 0.29.0 + mathml-tag-names: 2.1.3 + meow: 10.1.5 + micromatch: 4.0.5 + normalize-path: 3.0.0 + picocolors: 1.0.0 + postcss: 8.4.38 + postcss-resolve-nested-selector: 0.1.1 + postcss-safe-parser: 6.0.0(postcss@8.4.38) + postcss-selector-parser: 6.0.16 + postcss-value-parser: 4.2.0 + resolve-from: 5.0.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + style-search: 0.1.0 + supports-hyperlinks: 3.0.0 + svg-tags: 1.0.0 + table: 6.8.2 + write-file-atomic: 5.0.1 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /stylelint@9.10.1: + resolution: {integrity: sha512-9UiHxZhOAHEgeQ7oLGwrwoDR8vclBKlSX7r4fH0iuu0SfPwFaLkb1c7Q2j1cqg9P7IDXeAV2TvQML/fRQzGBBQ==} + engines: {node: '>=6'} + hasBin: true + dependencies: + autoprefixer: 9.8.8 + balanced-match: 1.0.2 + chalk: 2.4.2 + cosmiconfig: 5.2.1 + debug: 4.3.4 + execall: 1.0.0 + file-entry-cache: 4.0.0 + get-stdin: 6.0.0 + global-modules: 2.0.0 + globby: 9.2.0 + globjoin: 0.1.4 + html-tags: 2.0.0 + ignore: 5.3.1 + import-lazy: 3.1.0 + imurmurhash: 0.1.4 + known-css-properties: 0.11.0 + leven: 2.1.0 + lodash: 4.17.21 + log-symbols: 2.2.0 + mathml-tag-names: 2.1.3 + meow: 5.0.0 + micromatch: 3.1.10 + normalize-selector: 0.2.0 + pify: 4.0.1 + postcss: 7.0.39 + postcss-html: 0.36.0(postcss-syntax@0.36.2)(postcss@7.0.39) + postcss-jsx: 0.36.4(postcss-syntax@0.36.2)(postcss@7.0.39) + postcss-less: 3.1.4 + postcss-markdown: 0.36.0(postcss-syntax@0.36.2)(postcss@7.0.39) + postcss-media-query-parser: 0.2.3 + postcss-reporter: 6.0.1 + postcss-resolve-nested-selector: 0.1.1 + postcss-safe-parser: 4.0.2 + postcss-sass: 0.3.5 + postcss-scss: 2.1.1 + postcss-selector-parser: 3.1.2 + postcss-syntax: 0.36.2(postcss@8.4.38) + postcss-value-parser: 3.3.1 + resolve-from: 4.0.0 + signal-exit: 3.0.7 + slash: 2.0.0 + specificity: 0.4.1 + string-width: 3.1.0 + style-search: 0.1.0 + sugarss: 2.0.0 + svg-tags: 1.0.0 + table: 5.4.6 + transitivePeerDependencies: + - supports-color + dev: true + + /stylis@4.2.0: + resolution: {integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==} + dev: false + + /stylis@4.3.1: + resolution: {integrity: sha512-EQepAV+wMsIaGVGX1RECzgrcqRRU/0sYOHkeLsZ3fzHaHXZy4DaOOX0vOlGQdlsjkh3mFHAIlVimpwAs4dslyQ==} + dev: false + + /stylis@4.3.2: + resolution: {integrity: sha512-bhtUjWd/z6ltJiQwg0dUfxEJ+W+jdqQd8TbWLWyeIJHlnsqmGLRFFd8e5mA0AZi/zx90smXRlN66YMTcaSFifg==} + dev: false + + /sucrase@3.35.0: + resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + commander: 4.1.1 + glob: 10.3.12 + lines-and-columns: 1.2.4 + mz: 2.7.0 + pirates: 4.0.6 + ts-interface-checker: 0.1.13 + dev: true + + /sugarss@2.0.0: + resolution: {integrity: sha512-WfxjozUk0UVA4jm+U1d736AUpzSrNsQcIbyOkoE364GrtWmIrFdk5lksEupgWMD4VaT/0kVx1dobpiDumSgmJQ==} + dependencies: + postcss: 7.0.39 + dev: true + + /superjson@1.13.3: + resolution: {integrity: sha512-mJiVjfd2vokfDxsQPOwJ/PtanO87LhpYY88ubI5dUB1Ab58Txbyje3+jpm+/83R/fevaq/107NNhtYBLuoTrFg==} + engines: {node: '>=10'} + dependencies: + copy-anything: 3.0.5 + dev: false + + /supports-color@2.0.0: + resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==} + engines: {node: '>=0.8.0'} + dev: true + + /supports-color@3.2.3: + resolution: {integrity: sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==} + engines: {node: '>=0.8.0'} + dependencies: + has-flag: 1.0.0 + dev: true + + /supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + dependencies: + has-flag: 3.0.0 + + /supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-hyperlinks@3.0.0: + resolution: {integrity: sha512-QBDPHyPQDRTy9ku4URNGY5Lah8PAaXs6tAAwp55sL5WCsSW7GIfdf6W5ixfziW+t7wh3GVvHyHHyQ1ESsoRvaA==} + engines: {node: '>=14.18'} + dependencies: + has-flag: 4.0.0 + supports-color: 7.2.0 + dev: true + + /supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + /svg-baker@1.7.0: + resolution: {integrity: sha512-nibslMbkXOIkqKVrfcncwha45f97fGuAOn1G99YwnwTj8kF9YiM6XexPcUso97NxOm6GsP0SIvYVIosBis1xLg==} + dependencies: + bluebird: 3.7.2 + clone: 2.1.2 + he: 1.2.0 + image-size: 0.5.5 + loader-utils: 1.4.2 + merge-options: 1.0.1 + micromatch: 3.1.0 + postcss: 5.2.18 + postcss-prefix-selector: 1.16.1(postcss@5.2.18) + posthtml-rename-id: 1.0.12 + posthtml-svg-mode: 1.0.3 + query-string: 4.3.4 + traverse: 0.6.9 + transitivePeerDependencies: + - supports-color + dev: true + + /svg-tags@1.0.0: + resolution: {integrity: sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==} + dev: true + + /svg.draggable.js@2.2.2: + resolution: {integrity: sha512-JzNHBc2fLQMzYCZ90KZHN2ohXL0BQJGQimK1kGk6AvSeibuKcIdDX9Kr0dT9+UJ5O8nYA0RB839Lhvk4CY4MZw==} + engines: {node: '>= 0.8.0'} + dependencies: + svg.js: 2.7.1 + dev: false + + /svg.easing.js@2.0.0: + resolution: {integrity: sha512-//ctPdJMGy22YoYGV+3HEfHbm6/69LJUTAqI2/5qBvaNHZ9uUFVC82B0Pl299HzgH13rKrBgi4+XyXXyVWWthA==} + engines: {node: '>= 0.8.0'} + dependencies: + svg.js: 2.7.1 + dev: false + + /svg.filter.js@2.0.2: + resolution: {integrity: sha512-xkGBwU+dKBzqg5PtilaTb0EYPqPfJ9Q6saVldX+5vCRy31P6TlRCP3U9NxH3HEufkKkpNgdTLBJnmhDHeTqAkw==} + engines: {node: '>= 0.8.0'} + dependencies: + svg.js: 2.7.1 + dev: false + + /svg.js@2.7.1: + resolution: {integrity: sha512-ycbxpizEQktk3FYvn/8BH+6/EuWXg7ZpQREJvgacqn46gIddG24tNNe4Son6omdXCnSOaApnpZw6MPCBA1dODA==} + dev: false + + /svg.pathmorphing.js@0.1.3: + resolution: {integrity: sha512-49HWI9X4XQR/JG1qXkSDV8xViuTLIWm/B/7YuQELV5KMOPtXjiwH4XPJvr/ghEDibmLQ9Oc22dpWpG0vUDDNww==} + engines: {node: '>= 0.8.0'} + dependencies: + svg.js: 2.7.1 + dev: false + + /svg.resize.js@1.4.3: + resolution: {integrity: sha512-9k5sXJuPKp+mVzXNvxz7U0uC9oVMQrrf7cFsETznzUDDm0x8+77dtZkWdMfRlmbkEEYvUn9btKuZ3n41oNA+uw==} + engines: {node: '>= 0.8.0'} + dependencies: + svg.js: 2.7.1 + svg.select.js: 2.1.2 + dev: false + + /svg.select.js@2.1.2: + resolution: {integrity: sha512-tH6ABEyJsAOVAhwcCjF8mw4crjXSI1aa7j2VQR8ZuJ37H2MBUbyeqYr5nEO7sSN3cy9AR9DUwNg0t/962HlDbQ==} + engines: {node: '>= 0.8.0'} + dependencies: + svg.js: 2.7.1 + dev: false + + /svg.select.js@3.0.1: + resolution: {integrity: sha512-h5IS/hKkuVCbKSieR9uQCj9w+zLHoPh+ce19bBYyqF53g6mnPB8sAtIbe1s9dh2S2fCmYX2xel1Ln3PJBbK4kw==} + engines: {node: '>= 0.8.0'} + dependencies: + svg.js: 2.7.1 + dev: false + + /svgo@2.8.0: + resolution: {integrity: sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==} + engines: {node: '>=10.13.0'} + hasBin: true + dependencies: + '@trysound/sax': 0.2.0 + commander: 7.2.0 + css-select: 4.3.0 + css-tree: 1.1.3 + csso: 4.2.0 + picocolors: 1.0.0 + stable: 0.1.8 + dev: true + + /table@5.4.6: + resolution: {integrity: sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==} + engines: {node: '>=6.0.0'} + dependencies: + ajv: 6.12.6 + lodash: 4.17.21 + slice-ansi: 2.1.0 + string-width: 3.1.0 + dev: true + + /table@6.8.2: + resolution: {integrity: sha512-w2sfv80nrAh2VCbqR5AK27wswXhqcck2AhfnNW76beQXskGZ1V12GwS//yYVa3d3fcvAip2OUnbDAjW2k3v9fA==} + engines: {node: '>=10.0.0'} + dependencies: + ajv: 8.12.0 + lodash.truncate: 4.4.2 + slice-ansi: 4.0.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + + /tailwindcss@3.4.3(ts-node@10.9.2): + resolution: {integrity: sha512-U7sxQk/n397Bmx4JHbJx/iSOOv5G+II3f1kpLpY2QeUv5DcPdcTsYLlusZfq1NthHS1c1cZoyFmmkex1rzke0A==} + engines: {node: '>=14.0.0'} + hasBin: true + dependencies: + '@alloc/quick-lru': 5.2.0 + arg: 5.0.2 + chokidar: 3.6.0 + didyoumean: 1.2.2 + dlv: 1.1.3 + fast-glob: 3.3.2 + glob-parent: 6.0.2 + is-glob: 4.0.3 + jiti: 1.21.0 + lilconfig: 2.1.0 + micromatch: 4.0.5 + normalize-path: 3.0.0 + object-hash: 3.0.0 + picocolors: 1.0.0 + postcss: 8.4.38 + postcss-import: 15.1.0(postcss@8.4.38) + postcss-js: 4.0.1(postcss@8.4.38) + postcss-load-config: 4.0.2(postcss@8.4.38)(ts-node@10.9.2) + postcss-nested: 6.0.1(postcss@8.4.38) + postcss-selector-parser: 6.0.16 + resolve: 1.22.8 + sucrase: 3.35.0 + transitivePeerDependencies: + - ts-node + dev: true + + /tapable@1.1.3: + resolution: {integrity: sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==} + engines: {node: '>=6'} + dev: true + + /tapable@2.2.1: + resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} + engines: {node: '>=6'} + dev: true + + /terser-webpack-plugin@5.3.10(webpack@5.91.0): + resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} + engines: {node: '>= 10.13.0'} + peerDependencies: + '@swc/core': '*' + esbuild: '*' + uglify-js: '*' + webpack: ^5.1.0 + peerDependenciesMeta: + '@swc/core': + optional: true + esbuild: + optional: true + uglify-js: + optional: true + dependencies: + '@jridgewell/trace-mapping': 0.3.25 + jest-worker: 27.5.1 + schema-utils: 3.3.0 + serialize-javascript: 6.0.2 + terser: 5.30.4 + webpack: 5.91.0 + dev: true + + /terser@5.30.4: + resolution: {integrity: sha512-xRdd0v64a8mFK9bnsKVdoNP9GQIKUAaJPTaqEQDL4w/J8WaW4sWXXoMZ+6SimPkfT5bElreXf8m9HnmPc3E1BQ==} + engines: {node: '>=10'} + hasBin: true + dependencies: + '@jridgewell/source-map': 0.3.6 + acorn: 8.11.3 + commander: 2.20.3 + source-map-support: 0.5.21 + + /text-extensions@1.9.0: + resolution: {integrity: sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==} + engines: {node: '>=0.10'} + dev: true + + /text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + dev: true + + /thenify-all@1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} + dependencies: + thenify: 3.3.1 + dev: true + + /thenify@3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + dependencies: + any-promise: 1.3.0 + dev: true + + /throttle-debounce@3.0.1: + resolution: {integrity: sha512-dTEWWNu6JmeVXY0ZYoPuH5cRIwc0MeGbJwah9KUNYSJwommQpCzTySTpEe8Gs1J23aeWEuAobe4Ag7EHVt/LOg==} + engines: {node: '>=10'} + dev: false + + /throttle-debounce@5.0.0: + resolution: {integrity: sha512-2iQTSgkkc1Zyk0MeVrt/3BvuOXYPl/R8Z0U2xxo9rjwNciaHDG3R+Lm6dh4EeUci49DanvBnuqI6jshoQQRGEg==} + engines: {node: '>=12.22'} + dev: false + + /through2@4.0.2: + resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==} + dependencies: + readable-stream: 3.6.2 + dev: true + + /through@2.3.8: + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + dev: true + + /tiny-invariant@1.3.3: + resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} + dev: false + + /to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + + /to-object-path@0.3.0: + resolution: {integrity: sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==} + engines: {node: '>=0.10.0'} + dependencies: + kind-of: 3.2.2 + dev: true + + /to-regex-range@2.1.1: + resolution: {integrity: sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==} + engines: {node: '>=0.10.0'} + dependencies: + is-number: 3.0.0 + repeat-string: 1.6.1 + dev: true + + /to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + dependencies: + is-number: 7.0.0 + + /to-regex@3.0.2: + resolution: {integrity: sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==} + engines: {node: '>=0.10.0'} + dependencies: + define-property: 2.0.2 + extend-shallow: 3.0.2 + regex-not: 1.0.2 + safe-regex: 1.1.0 + dev: true + + /toggle-selection@1.0.6: + resolution: {integrity: sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==} + dev: false + + /traverse@0.6.9: + resolution: {integrity: sha512-7bBrcF+/LQzSgFmT0X5YclVqQxtv7TDJ1f8Wj7ibBu/U6BMLeOpUxuZjV7rMc44UtKxlnMFigdhFAIszSX1DMg==} + engines: {node: '>= 0.4'} + dependencies: + gopd: 1.0.1 + typedarray.prototype.slice: 1.0.3 + which-typed-array: 1.1.15 + dev: true + + /trim-lines@3.0.1: + resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} + dev: false + + /trim-newlines@2.0.0: + resolution: {integrity: sha512-MTBWv3jhVjTU7XR3IQHllbiJs8sc75a80OEhB6or/q7pLTWgQ0bMGQXXYQSrSuXe6WiKWDZ5txXY5P59a/coVA==} + engines: {node: '>=4'} + dev: true + + /trim-newlines@3.0.1: + resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} + engines: {node: '>=8'} + dev: true + + /trim-newlines@4.1.1: + resolution: {integrity: sha512-jRKj0n0jXWo6kh62nA5TEh3+4igKDXLvzBJcPpiizP7oOolUrYIxmVBG9TOtHYFHoddUk6YvAkGeGoSVTXfQXQ==} + engines: {node: '>=12'} + dev: true + + /trim-trailing-lines@1.1.4: + resolution: {integrity: sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ==} + dev: true + + /trim@0.0.1: + resolution: {integrity: sha512-YzQV+TZg4AxpKxaTHK3c3D+kRDCGVEE7LemdlQZoQXn0iennk10RsIoY6ikzAqJTc9Xjl9C1/waHom/J86ziAQ==} + deprecated: Use String.prototype.trim() instead + dev: true + + /trough@1.0.5: + resolution: {integrity: sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==} + dev: true + + /trough@2.2.0: + resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} + dev: false + + /ts-easing@0.2.0: + resolution: {integrity: sha512-Z86EW+fFFh/IFB1fqQ3/+7Zpf9t2ebOAxNI/V6Wo7r5gqiqtxmgTlQ1qbqQcjLKYeSHPTsEmvlJUDg/EuL0uHQ==} + dev: false + + /ts-interface-checker@0.1.13: + resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + dev: true + + /ts-node@10.9.2(@types/node@20.12.7)(typescript@5.4.5): + resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} + hasBin: true + peerDependencies: + '@swc/core': '>=1.2.50' + '@swc/wasm': '>=1.2.50' + '@types/node': '*' + typescript: '>=2.7' + peerDependenciesMeta: + '@swc/core': + optional: true + '@swc/wasm': + optional: true + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.11 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.4 + '@types/node': 20.12.7 + acorn: 8.11.3 + acorn-walk: 8.3.2 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 5.4.5 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + dev: true + + /ts-node@10.9.2(@types/node@20.5.1)(typescript@5.4.5): + resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} + hasBin: true + peerDependencies: + '@swc/core': '>=1.2.50' + '@swc/wasm': '>=1.2.50' + '@types/node': '*' + typescript: '>=2.7' + peerDependenciesMeta: + '@swc/core': + optional: true + '@swc/wasm': + optional: true + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.11 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.4 + '@types/node': 20.5.1 + acorn: 8.11.3 + acorn-walk: 8.3.2 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 5.4.5 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + dev: true + + /ts-toolbelt@9.6.0: + resolution: {integrity: sha512-nsZd8ZeNUzukXPlJmTBwUAuABDe/9qtVDelJeT/qW0ow3ZS3BsQJtNkan1802aM9Uf68/Y8ljw86Hu0h5IUW3w==} + dev: true + + /tsconfck@3.0.3(typescript@5.4.5): + resolution: {integrity: sha512-4t0noZX9t6GcPTfBAbIbbIU4pfpCwh0ueq3S4O/5qXI1VwK1outmxhe9dOiEWqMz3MW2LKgDTpqWV+37IWuVbA==} + engines: {node: ^18 || >=20} + hasBin: true + peerDependencies: + typescript: ^5.0.0 + peerDependenciesMeta: + typescript: + optional: true + dependencies: + typescript: 5.4.5 + dev: true + + /tsconfig-paths@3.15.0: + resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} + dependencies: + '@types/json5': 0.0.29 + json5: 1.0.2 + minimist: 1.2.8 + strip-bom: 3.0.0 + dev: true + + /tslib@1.14.1: + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + dev: true + + /tslib@2.5.0: + resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} + dev: false + + /tslib@2.6.2: + resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + dev: false + + /tsutils@3.21.0(typescript@5.4.5): + resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} + engines: {node: '>= 6'} + peerDependencies: + typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' + dependencies: + tslib: 1.14.1 + typescript: 5.4.5 + dev: true + + /type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + dev: true + + /type-fest@0.18.1: + resolution: {integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==} + engines: {node: '>=10'} + dev: true + + /type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + dev: true + + /type-fest@0.6.0: + resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} + engines: {node: '>=8'} + dev: true + + /type-fest@0.8.1: + resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} + engines: {node: '>=8'} + dev: true + + /type-fest@1.4.0: + resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} + engines: {node: '>=10'} + dev: true + + /typed-array-buffer@1.0.2: + resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-typed-array: 1.1.13 + dev: true + + /typed-array-byte-length@1.0.1: + resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + for-each: 0.3.3 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 + dev: true + + /typed-array-byte-offset@1.0.2: + resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 + for-each: 0.3.3 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 + dev: true + + /typed-array-length@1.0.6: + resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + for-each: 0.3.3 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 + possible-typed-array-names: 1.0.0 + dev: true + + /typedarray.prototype.slice@1.0.3: + resolution: {integrity: sha512-8WbVAQAUlENo1q3c3zZYuy5k9VzBQvp8AX9WOtbvyWlLM1v5JaSRmjubLjzHF4JFtptjH/5c/i95yaElvcjC0A==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + typed-array-buffer: 1.0.2 + typed-array-byte-offset: 1.0.2 + dev: true + + /types-ramda@0.29.10: + resolution: {integrity: sha512-5PJiW/eiTPyXXBYGZOYGezMl6qj7keBiZheRwfjJZY26QPHsNrjfJnz0mru6oeqqoTHOni893Jfd6zyUXfQRWg==} + dependencies: + ts-toolbelt: 9.6.0 + dev: true + + /typescript@5.4.5: + resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} + engines: {node: '>=14.17'} + hasBin: true + dev: true + + /unbox-primitive@1.0.2: + resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + dependencies: + call-bind: 1.0.7 + has-bigints: 1.0.2 + has-symbols: 1.0.3 + which-boxed-primitive: 1.0.2 + dev: true + + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + + /unherit@1.1.3: + resolution: {integrity: sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ==} + dependencies: + inherits: 2.0.4 + xtend: 4.0.2 + dev: true + + /unified@10.1.2: + resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==} + dependencies: + '@types/unist': 2.0.10 + bail: 2.0.2 + extend: 3.0.2 + is-buffer: 2.0.5 + is-plain-obj: 4.1.0 + trough: 2.2.0 + vfile: 5.3.7 + dev: false + + /unified@7.1.0: + resolution: {integrity: sha512-lbk82UOIGuCEsZhPj8rNAkXSDXd6p0QLzIuSsCdxrqnqU56St4eyOB+AlXsVgVeRmetPTYydIuvFfpDIed8mqw==} + dependencies: + '@types/unist': 2.0.10 + '@types/vfile': 3.0.2 + bail: 1.0.5 + extend: 3.0.2 + is-plain-obj: 1.1.0 + trough: 1.0.5 + vfile: 3.0.1 + x-is-string: 0.1.0 + dev: true + + /union-value@1.0.1: + resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==} + engines: {node: '>=0.10.0'} + dependencies: + arr-union: 3.1.0 + get-value: 2.0.6 + is-extendable: 0.1.1 + set-value: 2.0.1 + dev: true + + /uniq@1.0.1: + resolution: {integrity: sha512-Gw+zz50YNKPDKXs+9d+aKAjVwpjNwqzvNpLigIruT4HA9lMZNdMqs9x07kKHB/L9WRzqp4+DlTU5s4wG2esdoA==} + dev: true + + /unist-util-find-after@4.0.1: + resolution: {integrity: sha512-QO/PuPMm2ERxC6vFXEPtmAutOopy5PknD+Oq64gGwxKtk4xwo9Z97t9Av1obPmGU0IyTa6EKYUfTrK2QJS3Ozw==} + dependencies: + '@types/unist': 2.0.10 + unist-util-is: 5.2.1 + dev: false + + /unist-util-find-all-after@1.0.5: + resolution: {integrity: sha512-lWgIc3rrTMTlK1Y0hEuL+k+ApzFk78h+lsaa2gHf63Gp5Ww+mt11huDniuaoq1H+XMK2lIIjjPkncxXcDp3QDw==} + dependencies: + unist-util-is: 3.0.0 + dev: true + + /unist-util-generated@2.0.1: + resolution: {integrity: sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==} + dev: false + + /unist-util-is@3.0.0: + resolution: {integrity: sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A==} + dev: true + + /unist-util-is@5.2.1: + resolution: {integrity: sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==} + dependencies: + '@types/unist': 2.0.10 + dev: false + + /unist-util-position@4.0.4: + resolution: {integrity: sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==} + dependencies: + '@types/unist': 2.0.10 + dev: false + + /unist-util-remove-position@1.1.4: + resolution: {integrity: sha512-tLqd653ArxJIPnKII6LMZwH+mb5q+n/GtXQZo6S6csPRs5zB0u79Yw8ouR3wTw8wxvdJFhpP6Y7jorWdCgLO0A==} + dependencies: + unist-util-visit: 1.4.1 + dev: true + + /unist-util-stringify-position@1.1.2: + resolution: {integrity: sha512-pNCVrk64LZv1kElr0N1wPiHEUoXNVFERp+mlTg/s9R5Lwg87f9bM/3sQB99w+N9D/qnM9ar3+AKDBwo/gm/iQQ==} + dev: true + + /unist-util-stringify-position@3.0.3: + resolution: {integrity: sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==} + dependencies: + '@types/unist': 2.0.10 + dev: false + + /unist-util-stringify-position@4.0.0: + resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} + dependencies: + '@types/unist': 3.0.2 + dev: true + + /unist-util-visit-parents@2.1.2: + resolution: {integrity: sha512-DyN5vD4NE3aSeB+PXYNKxzGsfocxp6asDc2XXE3b0ekO2BaRUpBicbbUygfSvYfUz1IkmjFR1YF7dPklraMZ2g==} + dependencies: + unist-util-is: 3.0.0 + dev: true + + /unist-util-visit-parents@5.1.3: + resolution: {integrity: sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==} + dependencies: + '@types/unist': 2.0.10 + unist-util-is: 5.2.1 + dev: false + + /unist-util-visit@1.4.1: + resolution: {integrity: sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw==} + dependencies: + unist-util-visit-parents: 2.1.2 + dev: true + + /unist-util-visit@4.1.2: + resolution: {integrity: sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==} + dependencies: + '@types/unist': 2.0.10 + unist-util-is: 5.2.1 + unist-util-visit-parents: 5.1.3 + dev: false + + /universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + dev: true + + /unset-value@1.0.0: + resolution: {integrity: sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==} + engines: {node: '>=0.10.0'} + dependencies: + has-value: 0.3.1 + isobject: 3.0.1 + dev: true + + /update-browserslist-db@1.0.13(browserslist@4.23.0): + resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.23.0 + escalade: 3.1.2 + picocolors: 1.0.0 + + /uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + dependencies: + punycode: 2.3.1 + dev: true + + /urix@0.1.0: + resolution: {integrity: sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==} + deprecated: Please see https://github.com/lydell/urix#deprecated + dev: true + + /use-memo-one@1.1.3(react@18.3.0): + resolution: {integrity: sha512-g66/K7ZQGYrI6dy8GLpVcMsBp4s17xNkYJVSMvTEevGy3nDxHOfE6z8BVE22+5G5x7t3+bhzrlTDB7ObrEE0cQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + dependencies: + react: 18.3.0 + dev: false + + /use-sync-external-store@1.2.0(react@18.3.0): + resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + dependencies: + react: 18.3.0 + dev: false + + /use-sync-external-store@1.2.1(react@18.3.0): + resolution: {integrity: sha512-6MCBDr76UJmRpbF8pzP27uIoTocf3tITaMJ52mccgAhMJycuh5A/RL6mDZCTwTisj0Qfeq69FtjMCUX27U78oA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + dependencies: + react: 18.3.0 + dev: false + + /use@3.1.1: + resolution: {integrity: sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==} + engines: {node: '>=0.10.0'} + dev: true + + /util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + dev: true + + /uvu@0.5.6: + resolution: {integrity: sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==} + engines: {node: '>=8'} + hasBin: true + dependencies: + dequal: 2.0.3 + diff: 5.2.0 + kleur: 4.1.5 + sade: 1.8.1 + dev: false + + /v8-compile-cache-lib@3.0.1: + resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} + dev: true + + /validate-npm-package-license@3.0.4: + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + dependencies: + spdx-correct: 3.2.0 + spdx-expression-parse: 3.0.1 + dev: true + + /vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + dev: true + + /vfile-location@2.0.6: + resolution: {integrity: sha512-sSFdyCP3G6Ka0CEmN83A2YCMKIieHx0EDaj5IDP4g1pa5ZJ4FJDvpO0WODLxo4LUX4oe52gmSCK7Jw4SBghqxA==} + dev: true + + /vfile-location@4.1.0: + resolution: {integrity: sha512-YF23YMyASIIJXpktBa4vIGLJ5Gs88UB/XePgqPmTa7cDA+JeO3yclbpheQYCHjVHBn/yePzrXuygIL+xbvRYHw==} + dependencies: + '@types/unist': 2.0.10 + vfile: 5.3.7 + dev: false + + /vfile-message@1.1.1: + resolution: {integrity: sha512-1WmsopSGhWt5laNir+633LszXvZ+Z/lxveBf6yhGsqnQIhlhzooZae7zV6YVM1Sdkw68dtAW3ow0pOdPANugvA==} + dependencies: + unist-util-stringify-position: 1.1.2 + dev: true + + /vfile-message@3.1.4: + resolution: {integrity: sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==} + dependencies: + '@types/unist': 2.0.10 + unist-util-stringify-position: 3.0.3 + dev: false + + /vfile-message@4.0.2: + resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} + dependencies: + '@types/unist': 3.0.2 + unist-util-stringify-position: 4.0.0 + dev: true + + /vfile@3.0.1: + resolution: {integrity: sha512-y7Y3gH9BsUSdD4KzHsuMaCzRjglXN0W2EcMf0gpvu6+SbsGhMje7xDc8AEoeXy6mIwCKMI6BkjMsRjzQbhMEjQ==} + dependencies: + is-buffer: 2.0.5 + replace-ext: 1.0.0 + unist-util-stringify-position: 1.1.2 + vfile-message: 1.1.1 + dev: true + + /vfile@5.3.7: + resolution: {integrity: sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==} + dependencies: + '@types/unist': 2.0.10 + is-buffer: 2.0.5 + unist-util-stringify-position: 3.0.3 + vfile-message: 3.1.4 + dev: false + + /vite-plugin-svg-icons@2.0.1(vite@4.5.3): + resolution: {integrity: sha512-6ktD+DhV6Rz3VtedYvBKKVA2eXF+sAQVaKkKLDSqGUfnhqXl3bj5PPkVTl3VexfTuZy66PmINi8Q6eFnVfRUmA==} + peerDependencies: + vite: '>=2.0.0' + dependencies: + '@types/svgo': 2.6.4 + cors: 2.8.5 + debug: 4.3.4 + etag: 1.8.1 + fs-extra: 10.1.0 + pathe: 0.2.0 + svg-baker: 1.7.0 + svgo: 2.8.0 + vite: 4.5.3(@types/node@20.12.7)(sass@1.75.0)(terser@5.30.4) + transitivePeerDependencies: + - supports-color + dev: true + + /vite-tsconfig-paths@4.3.2(typescript@5.4.5)(vite@4.5.3): + resolution: {integrity: sha512-0Vd/a6po6Q+86rPlntHye7F31zA2URZMbH8M3saAZ/xR9QoGN/L21bxEGfXdWmFdNkqPpRdxFT7nmNe12e9/uA==} + peerDependencies: + vite: '*' + peerDependenciesMeta: + vite: + optional: true + dependencies: + debug: 4.3.4 + globrex: 0.1.2 + tsconfck: 3.0.3(typescript@5.4.5) + vite: 4.5.3(@types/node@20.12.7)(sass@1.75.0)(terser@5.30.4) + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /vite@4.5.3(@types/node@20.12.7)(sass@1.75.0)(terser@5.30.4): + resolution: {integrity: sha512-kQL23kMeX92v3ph7IauVkXkikdDRsYMGTVl5KY2E9OY4ONLvkHf04MDTbnfo6NKxZiDLWzVpP5oTa8hQD8U3dg==} + engines: {node: ^14.18.0 || >=16.0.0} + hasBin: true + peerDependencies: + '@types/node': '>= 14' + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 20.12.7 + esbuild: 0.18.20 + postcss: 8.4.38 + rollup: 3.29.4 + sass: 1.75.0 + terser: 5.30.4 + optionalDependencies: + fsevents: 2.3.3 + + /void-elements@3.1.0: + resolution: {integrity: sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==} + engines: {node: '>=0.10.0'} + dev: false + + /watchpack@2.4.1: + resolution: {integrity: sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==} + engines: {node: '>=10.13.0'} + dependencies: + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + dev: true + + /web-namespaces@2.0.1: + resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} + dev: false + + /webpack-sources@3.2.3: + resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} + engines: {node: '>=10.13.0'} + dev: true + + /webpack@5.91.0: + resolution: {integrity: sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw==} + engines: {node: '>=10.13.0'} + hasBin: true + peerDependencies: + webpack-cli: '*' + peerDependenciesMeta: + webpack-cli: + optional: true + dependencies: + '@types/eslint-scope': 3.7.7 + '@types/estree': 1.0.5 + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/wasm-edit': 1.12.1 + '@webassemblyjs/wasm-parser': 1.12.1 + acorn: 8.11.3 + acorn-import-assertions: 1.9.0(acorn@8.11.3) + browserslist: 4.23.0 + chrome-trace-event: 1.0.3 + enhanced-resolve: 5.16.0 + es-module-lexer: 1.5.0 + eslint-scope: 5.1.1 + events: 3.3.0 + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + json-parse-even-better-errors: 2.3.1 + loader-runner: 4.3.0 + mime-types: 2.1.35 + neo-async: 2.6.2 + schema-utils: 3.3.0 + tapable: 2.2.1 + terser-webpack-plugin: 5.3.10(webpack@5.91.0) + watchpack: 2.4.1 + webpack-sources: 3.2.3 + transitivePeerDependencies: + - '@swc/core' + - esbuild + - uglify-js + dev: true + + /which-boxed-primitive@1.0.2: + resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + dependencies: + is-bigint: 1.0.4 + is-boolean-object: 1.1.2 + is-number-object: 1.0.7 + is-string: 1.0.7 + is-symbol: 1.0.4 + dev: true + + /which-builtin-type@1.1.3: + resolution: {integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==} + engines: {node: '>= 0.4'} + dependencies: + function.prototype.name: 1.1.6 + has-tostringtag: 1.0.2 + is-async-function: 2.0.0 + is-date-object: 1.0.5 + is-finalizationregistry: 1.0.2 + is-generator-function: 1.0.10 + is-regex: 1.1.4 + is-weakref: 1.0.2 + isarray: 2.0.5 + which-boxed-primitive: 1.0.2 + which-collection: 1.0.2 + which-typed-array: 1.1.15 + dev: true + + /which-collection@1.0.2: + resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} + engines: {node: '>= 0.4'} + dependencies: + is-map: 2.0.3 + is-set: 2.0.3 + is-weakmap: 2.0.2 + is-weakset: 2.0.3 + dev: true + + /which-typed-array@1.1.15: + resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 + for-each: 0.3.3 + gopd: 1.0.1 + has-tostringtag: 1.0.2 + dev: true + + /which@1.3.1: + resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + + /which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + + /wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + + /wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + dependencies: + ansi-styles: 6.2.1 + string-width: 5.1.2 + strip-ansi: 7.1.0 + dev: true + + /wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + dev: true + + /write-file-atomic@5.0.1: + resolution: {integrity: sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + imurmurhash: 0.1.4 + signal-exit: 4.1.0 + dev: true + + /write@1.0.3: + resolution: {integrity: sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==} + engines: {node: '>=4'} + dependencies: + mkdirp: 0.5.6 + dev: true + + /x-is-string@0.1.0: + resolution: {integrity: sha512-GojqklwG8gpzOVEVki5KudKNoq7MbbjYZCbyWzEz7tyPA7eleiE0+ePwOWQQRb5fm86rD3S8Tc0tSFf3AOv50w==} + dev: true + + /xtend@4.0.2: + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} + dev: true + + /y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + dev: true + + /yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + + /yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + dev: true + + /yaml@1.10.2: + resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} + engines: {node: '>= 6'} + + /yaml@2.3.1: + resolution: {integrity: sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==} + engines: {node: '>= 14'} + dev: true + + /yaml@2.4.1: + resolution: {integrity: sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==} + engines: {node: '>= 14'} + hasBin: true + dev: true + + /yargs-parser@10.1.0: + resolution: {integrity: sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==} + dependencies: + camelcase: 4.1.0 + dev: true + + /yargs-parser@20.2.9: + resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} + engines: {node: '>=10'} + dev: true + + /yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + dev: true + + /yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + dependencies: + cliui: 8.0.1 + escalade: 3.1.2 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + dev: true + + /yn@3.1.1: + resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} + engines: {node: '>=6'} + dev: true + + /yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + dev: true + + /zustand@4.5.2(@types/react@18.3.0)(react@18.3.0): + resolution: {integrity: sha512-2cN1tPkDVkwCy5ickKrI7vijSjPksFRfqS6237NzT0vqSsztTNnQdHw9mmN7uBdk3gceVXU0a+21jFzFzAc9+g==} + engines: {node: '>=12.7.0'} + peerDependencies: + '@types/react': '>=16.8' + immer: '>=9.0.6' + react: '>=16.8' + peerDependenciesMeta: + '@types/react': + optional: true + immer: + optional: true + react: + optional: true + dependencies: + '@types/react': 18.3.0 + react: 18.3.0 + use-sync-external-store: 1.2.0(react@18.3.0) + dev: false + + /zwitch@2.0.4: + resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} + dev: false diff --git a/frontend/postcss.config.js b/frontend/postcss.config.js new file mode 100644 index 0000000..e61a917 --- /dev/null +++ b/frontend/postcss.config.js @@ -0,0 +1,8 @@ +export default { + plugins: { + 'postcss-import': {}, + 'tailwindcss/nesting': 'postcss-nesting', + tailwindcss: {}, + autoprefixer: {}, + }, +}; diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx new file mode 100644 index 0000000..3dced77 --- /dev/null +++ b/frontend/src/App.tsx @@ -0,0 +1,23 @@ +import { App as AntdApp } from 'antd'; + +import Router from '@/router/index'; +import AntdConfig from '@/theme/antd'; + + +import { MotionLazy } from './components/animate/motion-lazy'; +import { Inspector } from 'react-dev-inspector'; + +function App() { + return ( + + + + + + + + + ); +} + +export default App; diff --git a/frontend/src/api/apiClient.ts b/frontend/src/api/apiClient.ts new file mode 100644 index 0000000..537dc2c --- /dev/null +++ b/frontend/src/api/apiClient.ts @@ -0,0 +1,104 @@ +import {message as Message} from 'antd'; +import axios, {AxiosError, AxiosRequestConfig, AxiosResponse} from 'axios'; +import {isEmpty} from 'ramda'; +import {t} from '@/locales/i18n'; + +import {Result} from '#/api'; +import {ResultEnum, StorageEnum} from '#/enum'; +import {getItem, removeItem} from "@/utils/storage.ts"; +import {UserToken} from "#/entity.ts"; + +// 创建 axios 实例 +const axiosInstance = axios.create({ + baseURL: import.meta.env.VITE_APP_BASE_API as string, + timeout: 50000, + headers: { 'Content-Type': 'application/json;charset=utf-8' }, +}); + +// 请求拦截 +axiosInstance.interceptors.request.use( + (config) => { + // 在请求被发送之前做些什么 + // if(config.data){ + // config.data = humps.decamelizeKeys(config.data) + // } + const token = getItem(StorageEnum.Token) + config.headers.Authorization = `Bearer ${token?.accessToken}`; + return config; + }, + (error) => { + return Promise.reject(error); + }, +); + +// 响应拦截 +axiosInstance.interceptors.response.use( + (res: AxiosResponse) => { + if (!res.data && !res.status) throw new Error(t('sys_info.api.apiRequestFailed')); + + let { status, data, message } = res.data; + + // 业务请求成功 + const hasSuccess = data && Reflect.has(res.data, 'status') && status === ResultEnum.SUCCESS; + if (hasSuccess) { + return data; + } + // 业务请求错误 + throw new Error(message || t('sys_info.api.apiRequestFailed')); + }, + (error: AxiosError) => { + const { response, message } = error || {}; + if(response?.status === 401){ + // Token失效,移除Token并跳转到登录页 + Message.error("登录失效", 5); + removeItem(StorageEnum.Token); + window.location.href = '#/login' + } + let errMsg = ''; + try { + errMsg = response?.data?.message || message; + } catch (error) { + throw new Error(error as unknown as string); + } + // 对响应错误做点什么 + if (isEmpty(errMsg)) { + // checkStatus + // errMsg = checkStatus(response.data.status); + errMsg = t('sys_info.api.errorMessage'); + } + Message.error(errMsg, 5); + return Promise.reject(error); + }, +); + +class APIClient { + get(config: AxiosRequestConfig): Promise { + return this.request({ ...config, method: 'GET' }); + } + + post(config: AxiosRequestConfig): Promise { + return this.request({ ...config, method: 'POST' }); + } + + put(config: AxiosRequestConfig): Promise { + return this.request({ ...config, method: 'PUT' }); + } + + delete(config: AxiosRequestConfig): Promise { + return this.request({ ...config, method: 'DELETE' }); + } + + request(config: AxiosRequestConfig): Promise { + return new Promise((resolve, reject) => { + axiosInstance + .request>(config) + .then((res: AxiosResponse) => { + resolve(res as unknown as Promise); + }) + .catch((e: Error | AxiosError) => { + reject(e); + }); + }); + } +} +export default new APIClient(); diff --git a/frontend/src/api/services/accountService.ts b/frontend/src/api/services/accountService.ts new file mode 100644 index 0000000..15b0b9e --- /dev/null +++ b/frontend/src/api/services/accountService.ts @@ -0,0 +1,55 @@ +import apiClient from '../apiClient'; + +import { Account } from '#/entity'; + +export enum AccountApi { + list = '/account/list', + add = '/account/add', + update = '/account/update', + delete = '/account/delete', + refresh = '/account/refresh', + search = '/account/search', +} + +const getAccountList = () => + apiClient.get({ url: AccountApi.list }).then((res) => { + // 将shareList转为json对象 + res.forEach((item) => { + if (item.shareList) { + item.shareList = JSON.parse(item.shareList); + } + }); + return res; + }); + +const searchAccountList = (email: string) => + apiClient.post({ url: AccountApi.search, data: { email } }).then((res) => { + // 将shareList转为json对象 + res.forEach((item) => { + if (item.shareList) { + item.shareList = JSON.parse(item.shareList); + } + }); + return res; + }); +export interface AccountAddReq { + id?: number; + email: string; + password?: string; + shared?: number; + refreshToken?: string; + accessToken?: string; +} +const addAccount = (data: AccountAddReq) => apiClient.post({ url: AccountApi.add, data }); +const updateAccount = (data: AccountAddReq) => apiClient.post({ url: AccountApi.update, data }); +const deleteAccount = (id: number) => apiClient.post({ url: AccountApi.delete, data: { id } }); +const refreshAccount = (id: number) => apiClient.post({ url: AccountApi.refresh, data: { id } }); + +export default { + getAccountList, + searchAccountList, + addAccount, + updateAccount, + deleteAccount, + refreshAccount, +}; diff --git a/frontend/src/api/services/shareService.ts b/frontend/src/api/services/shareService.ts new file mode 100644 index 0000000..c078b35 --- /dev/null +++ b/frontend/src/api/services/shareService.ts @@ -0,0 +1,37 @@ +import apiClient from '../apiClient'; + +import {Share} from '#/entity'; + +export enum ShareApi { + list = '/share/list', + add = '/share/add', + search = '/share/search', + delete = '/share/delete', + update = '/share/update', + statistic = '/share/statistic' +} + +const getShareList = () => apiClient.get({ url: ShareApi.list }); +const addShare = (data: Share) => apiClient.post({ url: ShareApi.add, data }); +const updateShare = (data: Share) => apiClient.post({ url: ShareApi.update, data }); +const deleteShare = (data: Share) => apiClient.post({ url: ShareApi.delete, data }); +const searchShare = (email?: string,uniqueName?:string ) => apiClient.post({ url: ShareApi.search, data: { + email, + uniqueName +}}); + +type ShareStatistic = { + series: ApexAxisChartSeries; + categories: string[] +} + +const getShareStatistic = (accountId: number) => apiClient.post({ url: ShareApi.statistic, data: { accountId } }); + +export default { + getShareList, + addShare, + updateShare, + searchShare, + deleteShare, + getShareStatistic +}; diff --git a/frontend/src/api/services/sysService.ts b/frontend/src/api/services/sysService.ts new file mode 100644 index 0000000..03b92f3 --- /dev/null +++ b/frontend/src/api/services/sysService.ts @@ -0,0 +1,20 @@ +import apiClient from '../apiClient'; + +export enum SysApi { + pandoraUsage = '/sys_info/usage', + setting = '/sys_info/info', +} + +export type PandoraUsage = { + total: number; + current: number; + ttl: number; +}; + +const getPandoraUsage = () => apiClient.get({ url: SysApi.pandoraUsage }); +const getSetting = () => apiClient.get({ url: SysApi.setting }); + +export default { + getPandoraUsage, + getSetting, +}; diff --git a/frontend/src/api/services/userService.ts b/frontend/src/api/services/userService.ts new file mode 100644 index 0000000..d566560 --- /dev/null +++ b/frontend/src/api/services/userService.ts @@ -0,0 +1,29 @@ +import apiClient from '../apiClient'; +import {UserInfo} from "#/entity.ts"; + +// import {UserInfo, UserToken} from '#/entity'; + +export interface SignInReq { + password: string; + token?: string; +} + +// export type SignInRes = UserToken & {user: UserInfo}; +export type SignInRes = { + accessToken: string; + user: UserInfo; +}; + +export enum UserApi { + SignIn = 'login', + // SignIn = '/auth/signin', + Logout = '/auth/logout', +} + +const signin = (data: SignInReq) => apiClient.post({ url: UserApi.SignIn, data }); +const logout = () => apiClient.get({ url: UserApi.Logout }); + +export default { + signin, + logout, +}; diff --git a/frontend/src/assets/icons/ic-analysis.svg b/frontend/src/assets/icons/ic-analysis.svg new file mode 100644 index 0000000..1308805 --- /dev/null +++ b/frontend/src/assets/icons/ic-analysis.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/frontend/src/assets/icons/ic-blog.svg b/frontend/src/assets/icons/ic-blog.svg new file mode 100644 index 0000000..eb74d96 --- /dev/null +++ b/frontend/src/assets/icons/ic-blog.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/frontend/src/assets/icons/ic-clear.svg b/frontend/src/assets/icons/ic-clear.svg new file mode 100644 index 0000000..bc535b3 --- /dev/null +++ b/frontend/src/assets/icons/ic-clear.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/frontend/src/assets/icons/ic-dashboard.svg b/frontend/src/assets/icons/ic-dashboard.svg new file mode 100644 index 0000000..6cbedde --- /dev/null +++ b/frontend/src/assets/icons/ic-dashboard.svg @@ -0,0 +1 @@ + diff --git a/frontend/src/assets/icons/ic-left-arrow.svg b/frontend/src/assets/icons/ic-left-arrow.svg new file mode 100644 index 0000000..7301e2c --- /dev/null +++ b/frontend/src/assets/icons/ic-left-arrow.svg @@ -0,0 +1 @@ + diff --git a/frontend/src/assets/icons/ic-locale_en_US.svg b/frontend/src/assets/icons/ic-locale_en_US.svg new file mode 100644 index 0000000..f3980e2 --- /dev/null +++ b/frontend/src/assets/icons/ic-locale_en_US.svg @@ -0,0 +1 @@ + diff --git a/frontend/src/assets/icons/ic-locale_zh_CN.svg b/frontend/src/assets/icons/ic-locale_zh_CN.svg new file mode 100644 index 0000000..b9aa7a2 --- /dev/null +++ b/frontend/src/assets/icons/ic-locale_zh_CN.svg @@ -0,0 +1 @@ + diff --git a/frontend/src/assets/icons/ic-logo.svg b/frontend/src/assets/icons/ic-logo.svg new file mode 100644 index 0000000..63f85c3 --- /dev/null +++ b/frontend/src/assets/icons/ic-logo.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/frontend/src/assets/icons/ic-management.svg b/frontend/src/assets/icons/ic-management.svg new file mode 100644 index 0000000..281dec2 --- /dev/null +++ b/frontend/src/assets/icons/ic-management.svg @@ -0,0 +1,4 @@ + + + + diff --git a/frontend/src/assets/icons/ic-markdown.svg b/frontend/src/assets/icons/ic-markdown.svg new file mode 100644 index 0000000..a9f882b --- /dev/null +++ b/frontend/src/assets/icons/ic-markdown.svg @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/frontend/src/assets/icons/ic-menu.svg b/frontend/src/assets/icons/ic-menu.svg new file mode 100644 index 0000000..c9d8d36 --- /dev/null +++ b/frontend/src/assets/icons/ic-menu.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/frontend/src/assets/icons/ic-menulevel.svg b/frontend/src/assets/icons/ic-menulevel.svg new file mode 100644 index 0000000..e557e94 --- /dev/null +++ b/frontend/src/assets/icons/ic-menulevel.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/frontend/src/assets/icons/ic-reset-password.svg b/frontend/src/assets/icons/ic-reset-password.svg new file mode 100644 index 0000000..cf9e8c3 --- /dev/null +++ b/frontend/src/assets/icons/ic-reset-password.svg @@ -0,0 +1 @@ + diff --git a/frontend/src/assets/icons/ic-right-arrow.svg b/frontend/src/assets/icons/ic-right-arrow.svg new file mode 100644 index 0000000..9400f21 --- /dev/null +++ b/frontend/src/assets/icons/ic-right-arrow.svg @@ -0,0 +1 @@ + diff --git a/frontend/src/assets/icons/ic-search.svg b/frontend/src/assets/icons/ic-search.svg new file mode 100644 index 0000000..d06a451 --- /dev/null +++ b/frontend/src/assets/icons/ic-search.svg @@ -0,0 +1 @@ + diff --git a/frontend/src/assets/icons/ic-setting.svg b/frontend/src/assets/icons/ic-setting.svg new file mode 100644 index 0000000..48468ac --- /dev/null +++ b/frontend/src/assets/icons/ic-setting.svg @@ -0,0 +1 @@ + diff --git a/frontend/src/assets/icons/ic-settings-exit-fullscreen.svg b/frontend/src/assets/icons/ic-settings-exit-fullscreen.svg new file mode 100644 index 0000000..46453e9 --- /dev/null +++ b/frontend/src/assets/icons/ic-settings-exit-fullscreen.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/frontend/src/assets/icons/ic-settings-fullscreen.svg b/frontend/src/assets/icons/ic-settings-fullscreen.svg new file mode 100644 index 0000000..a13fcc8 --- /dev/null +++ b/frontend/src/assets/icons/ic-settings-fullscreen.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/frontend/src/assets/icons/ic-settings-mode-moon.svg b/frontend/src/assets/icons/ic-settings-mode-moon.svg new file mode 100644 index 0000000..be81693 --- /dev/null +++ b/frontend/src/assets/icons/ic-settings-mode-moon.svg @@ -0,0 +1,4 @@ + + + + diff --git a/frontend/src/assets/icons/ic-settings-mode-sun.svg b/frontend/src/assets/icons/ic-settings-mode-sun.svg new file mode 100644 index 0000000..aeaeeac --- /dev/null +++ b/frontend/src/assets/icons/ic-settings-mode-sun.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/frontend/src/assets/icons/ic-user.svg b/frontend/src/assets/icons/ic-user.svg new file mode 100644 index 0000000..141aeba --- /dev/null +++ b/frontend/src/assets/icons/ic-user.svg @@ -0,0 +1,4 @@ + + + + diff --git a/frontend/src/assets/icons/ic-workbench.svg b/frontend/src/assets/icons/ic-workbench.svg new file mode 100644 index 0000000..6ea1c6d --- /dev/null +++ b/frontend/src/assets/icons/ic-workbench.svg @@ -0,0 +1,4 @@ + + + + diff --git a/frontend/src/assets/icons/ic_blank.svg b/frontend/src/assets/icons/ic_blank.svg new file mode 100644 index 0000000..d187ec2 --- /dev/null +++ b/frontend/src/assets/icons/ic_blank.svg @@ -0,0 +1,4 @@ + + + + diff --git a/frontend/src/assets/icons/ic_chat.svg b/frontend/src/assets/icons/ic_chat.svg new file mode 100644 index 0000000..d8b905c --- /dev/null +++ b/frontend/src/assets/icons/ic_chat.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/frontend/src/assets/icons/ic_decline.svg b/frontend/src/assets/icons/ic_decline.svg new file mode 100644 index 0000000..0931d38 --- /dev/null +++ b/frontend/src/assets/icons/ic_decline.svg @@ -0,0 +1 @@ + diff --git a/frontend/src/assets/icons/ic_delivery.svg b/frontend/src/assets/icons/ic_delivery.svg new file mode 100644 index 0000000..e0b077c --- /dev/null +++ b/frontend/src/assets/icons/ic_delivery.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/frontend/src/assets/icons/ic_disabled.svg b/frontend/src/assets/icons/ic_disabled.svg new file mode 100644 index 0000000..2164101 --- /dev/null +++ b/frontend/src/assets/icons/ic_disabled.svg @@ -0,0 +1,4 @@ + + + + diff --git a/frontend/src/assets/icons/ic_external.svg b/frontend/src/assets/icons/ic_external.svg new file mode 100644 index 0000000..d38340e --- /dev/null +++ b/frontend/src/assets/icons/ic_external.svg @@ -0,0 +1,4 @@ + + + + diff --git a/frontend/src/assets/icons/ic_file.svg b/frontend/src/assets/icons/ic_file.svg new file mode 100644 index 0000000..f5295c2 --- /dev/null +++ b/frontend/src/assets/icons/ic_file.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/frontend/src/assets/icons/ic_file_ai.svg b/frontend/src/assets/icons/ic_file_ai.svg new file mode 100644 index 0000000..4d8098a --- /dev/null +++ b/frontend/src/assets/icons/ic_file_ai.svg @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/frontend/src/assets/icons/ic_file_audio.svg b/frontend/src/assets/icons/ic_file_audio.svg new file mode 100644 index 0000000..329f232 --- /dev/null +++ b/frontend/src/assets/icons/ic_file_audio.svg @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/frontend/src/assets/icons/ic_file_excel.svg b/frontend/src/assets/icons/ic_file_excel.svg new file mode 100644 index 0000000..cb80eb2 --- /dev/null +++ b/frontend/src/assets/icons/ic_file_excel.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/frontend/src/assets/icons/ic_file_img.svg b/frontend/src/assets/icons/ic_file_img.svg new file mode 100644 index 0000000..a95194a --- /dev/null +++ b/frontend/src/assets/icons/ic_file_img.svg @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/frontend/src/assets/icons/ic_file_pdf.svg b/frontend/src/assets/icons/ic_file_pdf.svg new file mode 100644 index 0000000..8ed54c9 --- /dev/null +++ b/frontend/src/assets/icons/ic_file_pdf.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/frontend/src/assets/icons/ic_file_ppt.svg b/frontend/src/assets/icons/ic_file_ppt.svg new file mode 100644 index 0000000..f2d7f14 --- /dev/null +++ b/frontend/src/assets/icons/ic_file_ppt.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/frontend/src/assets/icons/ic_file_psd.svg b/frontend/src/assets/icons/ic_file_psd.svg new file mode 100644 index 0000000..7ecbee0 --- /dev/null +++ b/frontend/src/assets/icons/ic_file_psd.svg @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/frontend/src/assets/icons/ic_file_txt.svg b/frontend/src/assets/icons/ic_file_txt.svg new file mode 100644 index 0000000..1d34c34 --- /dev/null +++ b/frontend/src/assets/icons/ic_file_txt.svg @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/frontend/src/assets/icons/ic_file_video.svg b/frontend/src/assets/icons/ic_file_video.svg new file mode 100644 index 0000000..fb6eca6 --- /dev/null +++ b/frontend/src/assets/icons/ic_file_video.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/frontend/src/assets/icons/ic_file_word.svg b/frontend/src/assets/icons/ic_file_word.svg new file mode 100644 index 0000000..b112fe5 --- /dev/null +++ b/frontend/src/assets/icons/ic_file_word.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/frontend/src/assets/icons/ic_file_zip.svg b/frontend/src/assets/icons/ic_file_zip.svg new file mode 100644 index 0000000..f34001e --- /dev/null +++ b/frontend/src/assets/icons/ic_file_zip.svg @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/frontend/src/assets/icons/ic_folder.svg b/frontend/src/assets/icons/ic_folder.svg new file mode 100644 index 0000000..01f6671 --- /dev/null +++ b/frontend/src/assets/icons/ic_folder.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/frontend/src/assets/icons/ic_label.svg b/frontend/src/assets/icons/ic_label.svg new file mode 100644 index 0000000..933e635 --- /dev/null +++ b/frontend/src/assets/icons/ic_label.svg @@ -0,0 +1,4 @@ + + + + diff --git a/frontend/src/assets/icons/ic_mail.svg b/frontend/src/assets/icons/ic_mail.svg new file mode 100644 index 0000000..f9561c4 --- /dev/null +++ b/frontend/src/assets/icons/ic_mail.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/frontend/src/assets/icons/ic_order.svg b/frontend/src/assets/icons/ic_order.svg new file mode 100644 index 0000000..cc8dbb7 --- /dev/null +++ b/frontend/src/assets/icons/ic_order.svg @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/frontend/src/assets/icons/ic_rise.svg b/frontend/src/assets/icons/ic_rise.svg new file mode 100644 index 0000000..9368912 --- /dev/null +++ b/frontend/src/assets/icons/ic_rise.svg @@ -0,0 +1 @@ + diff --git a/frontend/src/assets/images/background/cyan-blur.png b/frontend/src/assets/images/background/cyan-blur.png new file mode 100644 index 0000000000000000000000000000000000000000..b5dbc95dadc58c306f112aadd2341a1c38ce51af GIT binary patch literal 17324 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 f|2qORvP9b6NEfAB>#}zL{qv62JP9k903 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 IB=_Zi0cXo?|ppZA)%Py8FkWBG5HS%QJvdc0Nc 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 literal 0 HcmV?d00001 diff --git a/frontend/src/assets/images/characters/character_4.png b/frontend/src/assets/images/characters/character_4.png new file mode 100644 index 0000000000000000000000000000000000000000..0ce49ffe4fff5b5e0d68204b34443445597e03c8 GIT binary patch literal 11957 zcmV;mE=tjfP)f6KS4fMRk>nYfJ;d8ww>>ognVma^juoDd2~NbOUFh(l6rAv#lJ60 zO4WCBCsD9aru{fT)4BOaB8r3bN8ErShTP1os_(2NGDlX zCRtY`R8sPPZr6>6t8Z=7b#4Eldulf}ARizhQc?e;e)oiQ`_sky+_mnnq+GkT_^hH} z!MpleRj_t*&sjr4@g@aS8r~k~o z|HrvGfqyl4cSxF-RwRr!hoL#=S|CW#c&Wit^YX8=cDPUgz(80tMGXLP0|I&^BlzsoKq5tNa z`I(XbZDjwdasRM&y%8|~T~}qly7ZNe|7BkNj9vd!QSFh7Ct6wmj(GKlTL0C?>Wqf} zp@>wqu>YlQ|AliTR8#-k%xuueS-Q3V=h^?^(*BKzC3kumLPG!l`~RAR|DJvSc4;4O zampGsDt>@Zud8#=%IbM|`Akj!eQxYYOaJMj?15MFadPN`fAx)r;6p~y9ys%afB&$N zE`^3kr=>)opZI%uG>VJbgMPGaY5%E={e*!3?&0Ezga4(0YRttROiSW>Q&Xm*|M=|x ztcJXEa6g)vEu@Ei!HR*lSXlHmM>;n)?T2&Mt8~(wli;kP;3Ym|0000{bW%=J01Yl2 z{{9+A{y1Cy{`xd!{^?BkcXo1S?YW76QT*JUF#Y?~zMQ50zq_>l{pQ=%yOxo4&d9^5 zj8xp%)XDv}h2F4+o6y$1d#?WCp8dbE<$RZem;eAP6G=otRCwCl+0Tm-VHgMS-Hqs% zQ4pOXqDzO0x-DJmfAHiUz0FO$$aa#s7$^?x;4q80f-LOLL5B{jf~)C4O3O=v=pmy^ zXhj4SY_UQ0eV%uw*Q7t-oxZiz(guC_zCWIsT~Q&cYiF=SrZJYd0**C-!CXj^lt?EEWe8C|3fT%N7xNGj{Reuhx7X zpMdHJ<`Bx80j+Xvor!J@k;00Xbg5SB_tV7e4Tpm}XIBE4wU7xSjIKOY`AGFL0Mm8* zPP$y|kur$ub)ASyH6osGAd+_7QXa}qXE+QX5=L%ud8M+Fft*UsCd!w~&x*M1V}csim>=u;`&hhXyv792%~Ee zF&>W-RM$y53ZYO_E?l9+mK4VPG49CDpr`a5NlVofL>xRdCL&2MaV@uVfIaFLDwtGd z2kD8$+8L-l(OrPiGHfDZSN1_l`!GGQg}92iTA$GWJxS%pcTgJ9@^xCXncnkv?$)fisp!YEHKyocL#@bY+mP zmS{uv6uv!HTUFnPrRr!p;^-Qbvd0ZdBtp(;1{X`e-)#U2Cz$zajg1O#NO7#%;&w0q z?DJiiFUK>>MkGep2BoOS0&a5c*Y13Q<1Qd zmlHrNwUKC!=SN2d8++;=I^Na6W1H#pEk8y{mpwwr#)M&c&m%MiMD}+#no~03(5Waq z1uPgX(;=N{+BSyr5R5+3H%60m6}%fb$#{0sfU&2p z@swu_O($I-$%tr#VAupwrt!7a<>rePsZ~Z89V9@a|^};Q6v#HLPE$=Etk_W zQSk&R*D5EK=#JP(mxubs*~l~IU=&FI1sy(O(Xcd1WCYjabUw4#SW$IgT`;~nXz#F* zk)Du8flNXgQzZ0^g|J4(xg`c2RgD+^7{_>?+S#EdWs%9N=e}PDa?vPPD`p;jGM*m6 z$U}gtL-`-$eENlu&22O(i+qZ)?JGubWC@8f3z0;BG@b>@Z6h^a@4~B6z{_+Y&MrQvYwcP7Zr*EBpc0KADB@$DehNU|9jKhkm4_6CD zzsT(cW0J#XP8dje?9gDhk#Mk7$ynn-r=qgaB;$NKeg!0o^tYrS$`|GmiGUcTr3&K~ z8+(06R5gRu><3M>Mt~tL*xhEIbE0jKyzv&uxsK(jRCX7a&hXBQm?#ZLg*L zmmp4;YusEgD*7UTj8!tWHaEFQAIVC|WG4r{3|E0n$3sHNOxdO! z3Gkby>qLYR!mX_*wo%HfZnQ1et#58|k>k;Xk*t(Vg6e)8r{A53mAXa7s_Mp;Fox*A zJ4cZtft1X4(~ra9ZgUP7#Z^Y#EQ~19SejEu)3}j+x52E@7fxh+>o; ze<{US*<9;!HDa7tUELfNBnZTmGEpM+sEP35j+h>&R!i)$rYkhx?A|G$7}wbN3`Q2h z2m+Kq8Y8wJHeyggX6=e7d5u{*-EbNj@+8&Xq*4i>v1zM(y-z+sT-p(N{^;VoDrz=9w496jtV0qWmKOjJHqz{IGh&<=-2~Dynr+8iQ6jckwHZsCRo_7- zv$HqT89eWCGZo4>wVGI6hLMSEw00eB+7UIwNjAYKb1XNEl}~H-V&mRfxPEnTRVZ z7;%8y{f3Ohv}!Ebh$4YZUk%KE;c+ou%NTvODMjWPQ6q>HRpj%R@X<{X#dx;_qmPX3 zfss!=F2;LFA0QLa4K_lVXQW33a2?6l$3Uj2NS;+?WFd^-voTt{(TfF{#>V=!n+sBm zvuiLS`Nn-VZo$Zpa4_Gw}XK=)=BcvGDaPXL|GDbn}3Xzfg zAjiHKA+(G?Mx!NMcQmjuH1f4a;)-#Djq5O4NHwZ3uG6GW4+s)P>N6ZuBaHOEo!RK= z5{xvfy`hnyo2PS^^ro{qn|hXq)XNb>U1K{V9|HM!pNLqwB-F+U?8}MS8c!)3D~y4W zpnJQH81K!_l982UBqi0D(!}<5T_hfLd_GEl2t>=M-q~A17jm_ncn3s^HLbf`H;9&Tik>oQD&eo`KeN{x>TSbweJ&2`1vajkgU6=IGeC`N-M;8Z*ujzl8i z#r{X{pY(c4GiI;$cJ{&;kaJd-jB7ZXn?NfQcsbGr&nqU?No1r^;%Br(hLCVLJT%!c zICio5WGTjj^z_x<-asfAa&Kq#!w4jJcq3UP%t^kzx#=V_(lSDsN(?P7-k?nOclV49 z_g%k#oGUe)!PYUFqF3}*6$uY5a>A{imA6ucE^1JxcgtQzRaV$6H}!XWFaq(oa z#%xz_n|Y~vD3F&nihkZ2Pwet@pX~@<4nF!-~k9Em5D5xWj*Tx4KB=PoeHIKVzFj7Fo}ApY355MoG&`}&44s@Lw{2N7wm zC}x=6-ATvB+srGRN6=V-67$w0okW(q+BfKink$?n^D6`NKi!yBrBav=`+Sqk*cKmj=ZA%kdUqW z8%&(g#(rh&)?qEY67?taGK7$VFQ&#KtE@l6J8PSHC#kbYVKP!F8OcoJoS9+gLiRyc zOW8O?p-puEZ5%qLjB(ONgrr-z5)$?dQhgLCuZyv$D&Ki`XD>V5g@Ys*n#4Q-N|UTa zV5C^gX=Dajuw{#kVKT;_9JV4jcEs~$Rq<4aDNx*y4mGEJWV;U}zUWysReIlWLAK!G z$MnKqU9Teh6o&jFN_rB8*i{D z&Ys#i*vqA}GqHAgwUfl?)SO~ck*lggV?;i%kPfJ{DVZQV}BVPvGk2oLW33%>VI z28F1if03_z!+G^JoZ5jBOgN|UVjz;jY7gVshjhh2YmYHdghCW!SR>dA`j=nm43%Jn-KEY@e z31l)k7sqLiIktuW{IEjv;TpyZY)IPAMm#+-R2mn&yS=5*|;mGz_;q z9Vg2l9J8+?FwT+DAWe~mC_Y4lPGTRz|IsMV!}#W@@Ygq-g;S(CvT7`24WKmK-s0}tN zu)12wN9nA(eMF$FGwJlJ2>Cc-B&5AaJ5hviuu+IT9csW?iQgN!h4=T~YWDtz>mpbg zYtw=YFpDK*#|PgfPa_r(L^cZ2S){B)B1(;jUX8<*V!Dl!HDMc1A_Q|FLB5LgU#D|ly4;dL>eMmpo z>{uZ6PFxKtfE<*`NZEFdERw?~aUFgSr3RCZr>|ffz@?x@VqO`E17-Q*^*54FkSN2x z?SLpqCUP_p#*eLkh3E8#sRWSJB+qLoG(uG}vcgl&_%0Ce@bHkw)i$k#n-nB!93HI9 z|5pbza-d5VCAQb{H7Ux=Fe+s72&6*^A=TJzYpAj*m3RoHV^NmBN$f!|GE$bLTuByI za?Geod`&X1#|!DH&O^op31z{vI*r7rj`65Uu*0TO*1Y0zHibM6{8#(T*cRx_VLcfQH<)c{CXZE?*HNQx6}t?>chB5 z=koaPFotv-*^Robsuy(EaSGf{M7|HeBI29JV^OX?7^PH=%_uR7vG?Jz`&+!`=@8!p zaU|M-br)|(i81WKN?HzH>pUCpbs9ZNDe_(f5eqR!JFo7((R+ObWA_-jB#D_S%rUz6BAF$6_2g8P(Y+*N<#8EA?F?MyXZVkm3D? zugXOTV$_uyyMeZ&#AsBi#He!YQLOP}MC3{(CJ{%DM_s9CtGZM}9*tFuT&h0fv)wN` zxKO2~f_N&jo+@qiCou{!7^9ivS9`h=(NWc2WaUWon^Ct_v#APEN>z;AiZy-@*Xb!u z^fqIJr@yqEul>gEF#_2!hJIFk!?DvWlzxL0qu-2Z_1todjw3|BQGce}WenIosGc*_ zV&W+qekSB@IXSwQDvZ5~HGbzgHK0nNf@r~J#C9}{Aco{<7-bBQt#}$CLWU(Vo{Icr ziO4JJ+zb{<(GU-m6!y zUYLC~mwqky54m};^MCxHAa#nz?fBu|+;ViSzO9}dKly}A`v!m_)dH;xvz63Xrd}u} zE{{$&=I-_P(|g{+k;p_WkH|j>+k%$L#{1Ozw?(0!B8%!8S3GLULodN`{P+iEIKw zB6`NNND)B#^DeIpj-5Nl&4zu#1ks99gV#~oY7||i0$y$mrJ2d(wK1uTjGXj>Bqi1> z_?!1Y_#Wz1QuO|67co8r9{CVpii99yu`wY=36hP3JP_Y?Z1CfcKBVasvcRIV--?5g z*M2Hc778()&X3Jx3dpemW1v_$NaRS+yYBw=w?UdusZvGBG1@WSsMQZ6Qe+|-Nyx@L z<=DV}G>TP_FCG3K4;gy6flP=tr5KAHQI!g!#F);&NCzQ$PH2$44xAYDj2elB_Zn2G z)^t=_eTQHqV$hiPjAhfvL2BdNe}i<1O8XH=EE2*P`CY1ca&$^H*TZNQD~wyi!~DER zN!m+{9pzFrW6Z!frj5F@O0g1>jC=naK(&%m%>Y&sV?!{SF~XS9Mk0#QDArdW8b-Cg zCrBcW*wj&ZJNim>OpIxtF>FIBWNF{<@ZjKS^$L!Id}GA66lFWA82RX6V?~Ta>KyjmXi$LRBqC4#$8o zR~KVwu})3Ry?Xfh2ZzrOdY_DqME?RVd{{+{+l_T?9EDK_X&Qm7ruW~C^JDn@TRgOm z9Jl3p(VPHa6rwh!^PX{>g#N=r&E-HM$LT~r?Z|=QkND2I-*?CE=l5;lm^@)+ zh*UTAF0=)|@yy_H)a@cI;$T zRClR~Y$3H?N#)XG_+>9-4w8*3$Ep)KvQbKvh-zp{X6rMX>ob)xeshkL`Bwu*HI&;v z=Nv?-vQd>I6E9zeqnyZWZmzGd&mc?=l2hiUqm9kllncgwW#kxzh^{i4%>THtiKUF0 z?Z&D*Mrx}PBZ%Bn#*_KYjfY=Yg7J$K?^pHTAYgQ1CTF826cmvOljZut#=|dfbTLkL zYPD+nGxAYBI)uPRzIJPj7AqUiDPt~Z#Q8W+#wzFNh%ukh1db7}Y+CL4)iKYw9x(Et zgB;uX>^R_-5dyDLanavul+#PfxF|+F=ty5ZVEdib5oMI^NQH>2nrgGXytc{4FTPk@ zH2359d>ckDM{BQ+LyRS5oP=?@+HB3Q&MKoX$E@UtzUqQ8u8p!CY2Jo$y4q^5q&hj~ z4I`c(+n%xZls+ zPHJOw{>mdSXyccGS{=oHq*|q7eI;i1iXRFyo>j(n(lk=BN{&r3)@(QSbupfS5gW36 zsEcvgXM8DU_cDwLHa0lN8aCu|DqzGH^oEi4~Y_2vQlBwXtUZl~vG~HI1z+8-`I0tn_Tv zrk>-#mDNr;(uQ0S<3$*$RcE#Py6LD|HH;OrRW&72m-&haJF%e><9OviTZLZZ?&GPG< zZN`L|<4S0)mdV)i`l|KD_>j+7FpQLAxoeJ%7S$>`lT${Wo)iIbdwLQmbsN z=wYq|qcN1H-8ZV=#j1^gp`2^A9%fwb?8ln*uUPp9Ak6xQ06nmFax8R=mjXF9cwTkJ zD2E4(dI-=tu7&lSWvSJw{l@qs0b@~yIhA9vhtc|170;Mvqjz}dH&>%O&Hz;>j0YEB3~Q`vD4*|JRd#=xXg zU1Q^7h>-^!7mVJZ)9sr81lfiW$nE>lYpnMF1Oz?k81Eo~R7R|eoMY!cM{;z>cyz%q z`a3IqyE(5Ks~9E6nj6Oc1@&~*xeAbCWn*nE)TsJu(+#6{cm$>ZLc$0nR&!A`){t6t z!>EP;nREg{a+0IkX!g~nBgX%!Ib+vMWTPg4bb>hbx^hF^Cc|0o%7>l_IX+ByZ-r72b zd_vWciZzK3Q>_M)Ob1cN$yrpawpuNuVI2Fd@_5t5D_bo#@QnG3A7>k*0NuQEo-Vt*>bV?E=*D4reF_)GU z$lG)YQhCTj4@p0OBM+~%Wc1lth5Q;IiP1xrB^;w~$sTf%F;{_XJ>;sY5MCn>PCzhZ z#&?X82M-CzSez214zBqGSw)Z##{qJ_V;rcQ19h)Hf@jRXd1o92S`$zjs z#dk!>9|9Szm=8T9$VU0VT&?fi7;{a^wMB%SZT!6RJ%QAi6eW?%)edzUlbRs#<(f+n z8J;)FUWUv_Nr}m1H5nkApQ_wKQpA+bWI_v1k$NkOlFnjdc7+941q}yW@O0i{~^hF z)>ogoDG_!2+ugl`HWh_&06$SkqoE&68<7a&Tqmn>g{d%27bpC#<&MBko2O^LZIn|A{R8qgy z!l&=vzQISHM~@$GSjRdguD5T26ikV1dmw2bFWa#ZC)+D| zclbJX9*%sP_xZ+;GRD>(T+37sjGrl@iu8-Dt|tXfwm##FmU_U=yl^`cB=7sT+`wQESoyPxQ~pJlLixC?MN}8kB;6NmbW4KAqXi4 zHfcwh@;OOFAn~IkS7=u#Z{51xJSX3mgBQoOB%*2Fsk7&luVfFI5UJFW&*XyvD6d@` zHHLv3;owDIJef!UIrQb-yLZYfcYvme2RG%LcrgC89S>P#^vNPXz_YP1c zk()H|=)-_BTlf?UOa%Qv`o^&uWwhMK^-SToTZJGN=03&NTL;juFP}Y-1Nx{P_)oFt zVU8T4O;skCN*!kkhl~agj=AYr2u0a9Ir+?(1%R|?$v7Pig~x(^zh8q)CKZTmV+sdG zAtYh}4D{oA8W3KJJ1tSk3w_xce(`xIJTVpwerc`acq9~1dO^BvvWS8h9)r=fuk}A6 zJ(gZ^^%Wt*0qqN77z3fuX{K_>Skj3bd7&nPFfzxEX9ltdzjtj%ALDu~8i;xmQ!T`J zBotP9%Q1|y7sp^ktOGi7tBX za)*P7tlh(r)6+|p=@{glbYr5Okr+r zZn+AhEadY@MC~#%m)(vn$1p|$6aM(rS&PAvLP~G8P?-A(BbpUN`iiF_Y9AbodF)Q7 zvsNpY>&wf(e|sw$z527Jb=i{5=6@~;qd=mJQMHG17zMFd#A~lsD;j_K>rDTAp(u^- z@a@Z`BAb}nag!10?(VMFm#L7n)=Zyb^wwZB)*}*4r4(O{j1jSKUZjB(VpOAZrp7Wi zCYr>dTq>n{8LeboC{eNq?m7C=t^YD=hB1ROD!v+-!%nNQHg8mNceMh+F=moIFfPef z^}?w3h@%_JX zMpE`?a_W~+HN@V z8Py+GaiiTyMjZ$ujMa*XagDQF6sIG4b;_5{WOgz2L&h460th0IOE9iXbeGD!RZ&Oe z70Rgk@h`eh8Uf^i@q}gN<=CjBRdu5mWmNt67sf%cAVsGd#?vOoQjrg>HVEh zM&=l_(GXBHka=2?{ijwmb~&k4VI*WfjOw2o6w4qX<;KdXyBGJG4svv~5K@~>r`13H zMa~Qk4leYGt(8)&cQ+b~Ti8lDj9rx*lgY$1j7mRmY>Cy4O4{bTSgma@EDbv_PL~|pMm5nfVN*O6Gcbn1OWwv%}+(^jXi?g#Gac;<1T^^5{ z;_-A@c@fR)NJ#JE;^Haw2i5<{VHi2G0Am+hmFcP#IkJwO_Xu01=`9m-89VQ(j+k)% zCl*5H8^|i{RGzNw76t+sh9vRW00000NkvXX Hu0mjf`DqwK literal 0 HcmV?d00001 diff --git a/frontend/src/assets/images/characters/character_6.png b/frontend/src/assets/images/characters/character_6.png new file mode 100644 index 0000000000000000000000000000000000000000..f59a84417a1376bfaebb2935836b5ae8d156bb9c GIT binary patch literal 12247 zcmV;|FDTH7P)r(00093P)t-s0002Z zuBiI?`Tv=Le{5;ZaZaqPtkb@^CRI}!O->m@MAp>QwK+hTVqe;NRJyvlAwojz$tYI97#&|sDu2Dd9SIdV7j&X`1ktw_{GG;s)~U7`T5y%WhGi#V7aue zsHpdbbI*5nucxM6w6L(OtM>EqsCID`LPO5Z&Ge?8tXx?YK|;pG#rL+8n|5%*x3tmF z(5Y>1T(hs)*x25Ui1e(LV_RD5V_Aw{T&!4I{L8vqudB~mv@~#UHgs|@X=p8FWdE|KWV^N}TwGtZ zuqt6;pb;wkpqNvoqW`L(|D~K(siyzDulSsl|B-%Kt*W;mHUH0z|H_L0x2v=iG5?Br zT(PbHqHzDlx&OI;|HFp=uB89KgzlA&|Hg>whlBH&k^ilC|D0?8mT2aUhySQ^|72eO zy@A_>fa#Ho|FwMod2j!~wC|6J`dU~2Z)fCxegCm~|I?BG*p>2%U#l4};fRC(%)kDT zW&YgH|AKe_pojR5Vjxyl)JR7E)yKd;KjC(E(a+ESfpX_iP3whR@$c{4+1biMLehbJ z;oslxe|x@kaoBBd@KjQ=va;%Tc;8G)|KFM9fLYmmdC7Zs&Sh!o=H}RSbjQTQ|N8H` zsHy*_kmzu4|M2AXhK2f%ion0WyFgF=n3B$MZ@^w+|K{1RYG=$>V82jT%1Kt=XlmDA zW!}NR`*~N6Syru2SHiEbsVzY_L_NeTJ1H?QxS5UP&Cl9AMTrq9>et!CrJ4SOU*5d2 zn;$mTRAA4zx${I&(6FWLw0l)OJ88zj?VW7iq@5WU7<77fb^*4>0001GbW%=J01N#7 z5&r%e{{9&L{v-bVFezsKEJ^$RJ^tt9Tq#}t{(t`chk8Uos5+JC-@=@j{nJ$P!GCe4 zs+z^L&cv?$Vd8OF`qa*ya^TLb{`}F#vP|II{{7UO+0J|X(EY-U&&a%-&t)0!Hvj-E zAxT6*RCwCdn6YZ(KoEv^heImFA%s#1*`P+oHj>dn%wa(a!v#`Y>+9U@o22tAqzPPl zmm65YHY$Zmzs{{B%Xh3~JC|US`5G5)^zqM(Mnh0x`av8;NtDKc@0bKPrk{Gi4uF>i z4kc&_6JR;&*IB&Y}lI|;}IrlNB^b_U3Pj0hIY zh@ArjpP~^8*m*#d#tlJ%1MCe5nJ>N&1kjYRHwN^bARvU!lNW^$&D)=bWEB?Y5_F$3M=%nWmK3^qkw6qJU4F1XNL~&Em^=}5vaqN znbkju=40g;3Xagx9nbddQpj3|)Wlt%DUQvQE}M`*N~Lp0dwnEVJ}6#66*secS=8~k z?Np9>d_Mm`__yw|I-Yj&Y4ad+mCsj#2{jxz-$y{Tc)%(#)mw|R-2ZmovzBcb3xX8i zW31agDCYHvYl2>G2D0z&1}6sAL2?_{cx#~nur7j^Iga%}vuPVguQpf3gJ2!iaH1pU z5O-%IjHe2xKb_Lf^C_mAm4e2s7r~W|onspYM|40cot87!N8=KIa>+KZFH`Y z4js=YtJQ1G^YeN#AJdQCMRc1g9Hnzh$)y=6mrcd%rZswbS^pZ7cR`aLn~bY)%H0)e zjm{gF1Fg{0)A}2I&uHsyoXTcrFE1U=V6u8_*gQ5m+s$^{3jO{$|Npfb zmxH;jojkC%K`r-=vqiO%tzEPRLecMg9*<3@=5q5_Y*1e8v){{kp65Kl=BGE<4wKM(&rx)kmhv_-pMs^ zoG5b81bhy_{*DBA)`O(y=XX}_xicEY8N60)Sgu{!?x_ZjNE~ST2m=p^7$+}307>1l zd~7p^J4Av>&-QM$SgxJq#CIYk2O1XZhg?2LP>hl!Kickdh_;XWwuavo?L+WH{p5y+!p$c4jCc2=+yJ#gkoo=LZF+tY*Q;fMnb zf;`~lRUGqxBg-*rA4*U-{J6r0DKph7bZDL?j{;2|r-^Aa4>+WelyCG!AW$sa@!(#A zp~8phIlA|@qZVB?K2lj6F$sy9iAw2<6 z%yL9xxu4x);EoU zAN=#|tC?Z1*V_>nJTgEs3T|p}qBO{$FWC7^ZvG@xx99kg`ueNtHCkN-ALlq4Zn7+j zd7RviR7THGUS7Q+ODAy%M6CmlB2d8@;}g?X0@(oi$4+|`2k)C&i|#pCzwYX({@js& zPRIrk<+kjDhs`!<7)AglMK#v%?d)ttbW(Ub?ju3;U$RV|g#(hZ0bFa z?%;-tr}_i+{}A0%r@K>7#Nmvuf!-}nmGz^2pw7T3pZ>8XQ-aV0^SvMZ<=n&Wk6xKjl zkc|hZ%*jEt4vSGkH5!1T<*uBb6gk@U2%hXRlr%Za$Z)5Nx7zJ?o1KD4)1YDrH$E<) zuc+Xp7&TA=plSM;`;x9)`{1==W$mLo0!>NKOOvkT+CWsNwJ)pj1q5MD0%lCb*t7r$ z`w0qxVhzt$t$_vsLWZoaOZn{+E!b+4=RzgPL7kQXjrLwKl$_Qat*qBVXq=GGLzomY z)8gW(Bb*lcgJ7V5Agdt=@|vJ}BzTg81Y$#hZ#%aBH)p!@a$uC1a?|=mh3~z}Uuc{x zb)oSQ^E7dez5roXlgXi;LHgNjPK(9TXkkGhh!P(b7Lu#0ih^N{hZ1>|ZsUA>5F&u= z{Ly3idpOhWI?WVSUz6&#;?C*l((cQp#sMdir?1Z=E2-pAd@w}ER1_1=MlCdu-O9V# zTRXjDBdKsKEN4A2<5WBzXCTUx&bn=_NkhKh^|b&K3sgU15e-DGCeYf zTC8?ao7uk53yMbitBO<)f!wY(5)HqaT~Odr;4#J#SrG4TMadO};qW!eQ$_7_u%aup zE4{CaX8I&?M2Bzj`(m=);`amN2w`B$i5Gr9NB|*0$WPWopy4q^f=3;2Jq*;6n6}bq z+-;XO);98V!*m+$Q|0}0t>C`AJzUh|pvRBz$9H4=MKIDxc|p_PA0Ol!{Rn_^9(&Hy z-#<)kgnEN#C?4;S3M#oA=+Ktk2*xeV(ddSeO`c*;=8NRv zntaB^Rd~80!Jz-9+5D>+0ZlLxi4X`LH9!5C^g}N^{bR|TCkYM%xq0#cw0~=E1dsOi z*3}V6U&MogE8+PzmGwj-XU*o!L!<=}?3$a4_z9D(H@DfG{{6`d&zq5OI4lb?dFGLy z4-mDqYoMd&x8Od#er0J%y+d0!y211D?b{1QJdT{lA5p_>Hh)cD*EsLV%%RI-Sn2`~-tt6pgK8!|hf(n{OHNJk&g?Wm;z|7;xZ>P^ch23u?vOuBO~p zRE|kkY^h$>6IdpXC8&D*pVAqxC7Yi}&~It$pP6an?RIc54>E7Eo|)NL){`Vkl7c`i zLlgkr-BrztWBtks-JrduD@y(N1^rXfV_Y4#F;B4hIt}b*1Wo^YJcSPfd zPBvC!)PzoeD9d488%n==*S7gsbz2zti0skwvlWZw7S>n1&E>w9i21PYEoLlAOA zr?sGJe0HKvuIUc2i_}H8^xHL$<;hOT+oM7Ljw*tvk9Z;4Zu6i#ZvJgc8inDpn z|L}N@eqofYJZAXVJ&!2Q%=}0`$3HbvAMxZDR!<}+PgEF>)Mp%?-|zBVL_AD<9$QX^ zP(`ppjaiXbM?8K`2k`Jr-gr2O2=Z%CAqP>|pzUWLN6wnOnVWXMZlfp7wVvmUul+B0 z7DkGSvEmpFH`t}G73tF*aEwO{pBuMr9%h3Ds?s2QXSjQxofZSEH*unN1@!`E@1D4#Kn{zVF zwM|I3{d)cS&%8zM>|w(d77K_N;n+On$OSi7)4M^B*#^ioH#av+Pz6Edg#`6%bA^>m zN=zKO&Dq0->%Wp;41{>ra0>0^@n6L1WB2H|1tgPPk-8Ej$Q}KY8>QQ>V<+n5X@Lg~ zH?ufZR0@!ebrw<%j~PCuJTt32_BAv8DkeDr@gz@y8uOxmDy?(3iRUwV_Osy@My?d% zgo+f#994zR2E%j4bB-QcvI*+%Xycp!5K074dbIC1V7krOb6j~?pn^gev;`PyWStj| z@^p+3U!0%8@CkadUG}6XkaS#Oz5+Ex3<}+c%G~B~tKRZ-qv1G$rV9#zurTJB%Es{z z&!ap}9xg-xb!bqj0u81_%1N-7=Q=zI;dxk~k!en`JcvhvE018PA*Z8%cyWFKp8fkB zJXnZi*5;*CxdK(!?cLyt>IzS9bR0cCdiG0!0z*7PD`F@yjixk6mF9T5_Zts3q@jry zkSY*B`Gp15Jv-u~Xg66(<=D;H^W#B0I2LF=z(Yag07DBR6k@8#nG7u6LwWW)dSoFY zNOxRmInGlCBb?;6I9z2rdk_|AKERXpsWu%_G)8eoCIf+c3k#lZ*5`P;gGWI90HNRj z6qm-NR6P0>?l3)jvkrc#3LoT zb`7GyB^CQ*dXwQy^^~8ODho_nU%R6&W9*3j`J>8)odiwDp9&n(L@`y`&&aLB#-^M$3+;1S@ zusnkoc16-}8x`i#C7vqe?o8v@3CnZN;+S|a(cy-HWY|_64Qp}or0i9kqE(!p!HMLE zR@5Y7Seo3;nQ|_l5T>VFi*8%f0%mSp!;ItBuirmB%q@X&sDHW-20fnpOik(7yNL%N zbw$|p+~C9ov|A*}*na-}W4Sp=@+OQgJ$2{LS27(vhqcGvahMb6LEyQFEt^L$2Ib&E zafE|*W8@H_5uEghuYfXmD&kJsxaldLnPLa$P@)9ObE`W90;VLkce&@4>_!l@fZ>6v+QfJJZl&2 z4cmB=p-pq3Q5CeBd!2)P}jGJ$_b#o-eH z!GXrciQd0?TYLUW=xehYU1y`ViB zq~l?`@uAfLG>#Q@kpqY#sSb1RO#6?kJ?`wi{XtH3@Rm_s4>ZDw_JBt`uR3`SE6=h9 znc*XxwmO2iMY!kb=AIfHo!voCitKOv7N@BK9z^c1usC{Vi+%uMLU6bS+G;$O$g~?h zxa6+GWi~)45Ha*n6zY-UAWcp5;6rJiQ=B}v>*10FgKYrePOyW=hxt0hW6IOi)+C_G zz`cW(M`zM_Qd3lMRD(hzX=(yzaFDwKa2_u1r$RhV1L%2Qi%&cf<-xRIm8Y%^pf(G% zIKzemN2kSyY?cu#kf9y5fb+jP5C7|`O3 z!O+vr<%gazdY~akSr92sa&|NrbA-*xJa+ld%j%s5oVKJN^A(GKEo)FW`UxDhHBdk9 z3V@iYAc$YfEaP-krh~qL+FtSzv7k1MO0y%?6>T=jamZOvfPv0)3f}| zC||d<>=BOTfkZr2Q$q^WcW!BAX*aU8beyxB@^san?ogQLl%|myaM){6=cTwy=rR>z zUX}}0$7FqXYj@Y_(<>`Wqr55wNA29$aN=R6rj#g9d#skhmoLd|jr7)@9wNuWSgpoh zi#{743sz=x+7scuH_h8+^~dlC`518qf~fM)qchz$J%t>8q`toX3kF}m!UFMp=No+I zkW|LfOhA*zc`f=Rup@C(Q9b*Nx+M~bHaYz>g)STyp>*WLs@5ykkCp?U;yE( z0%~eHn;C#0ssRa}-Ix&Y1m6LELx*UrR@;%{ia}7D6NgH?-pZ0n@6obmCDLJ2)z{a+ zK}eY-D8iT4!h;t+U3)aKs}~sG;-L>wNB#)zgtVu6e&k({xvuHG)hFLU%& zj+_|eqbHxVJjjWYCl#nciL^yyOa!Dnm=Ls^l;{=6_2v; zlf*}_Ud@Y1aop%N3CklMekLF(#A=Gy>$Q0}5z<46U=lHwp3Qc}A_**x={AJ*kWJLJRjt!7DEJt|04(@kaUcQ9vMHnJiXv(4fB4gD+Wo> z8Yu^V_9apv4WfuBe2`{9^hkNg5l?J2oY+p8+Q{f{@K)*q5hNms5lMaU)wc4)R71{J z-yQ)+G_u+>mmMuJ9VZ}&49WDHDGxYZLC%LU*$|NP0bbH`s#Mk**|1@wR?{pXcnpZq zB7#i2aWW8&E{@w3nsEd;v@*?NO95E zM;n?u)#F-0dTVPMRu{-F(jIa;4QEU^G3qr|M>ws;ChqPTXI@k@ub~?wjnj;uFykJjTu3QB=-6=*vb?8>X5_gZ3VjhNH`q z{@^#9*}ml|WXtwvHfALJ_hYA6I2Cmr{^7uq;>i1nzCaHXI>D{x&|^5x6SX^ozlGBF zYbgJ#nN7wHIDF;_?wRqHPJo=PZrRnrBOuK&-3E(*|Qqn>PM86SbYg zJ34z)K4x(w`%2(29Aeh?n&z0fEhXYN^QUObM)&_v9dP*LHGlQn+-FN{7;4N#g4r0n zAK@?6G&Ra_N4IB_sX%dX_q?uW9Gqd>YjR$vM{CR)YOb&i2OiUH5&vR99ADWCM`x@EzCHqd6>`Qi8M#&O0W{jEp=WolNq?BZN@PH`sAW!0fY!OMG5c23j zym(ZK-}fx@yK|0v=iX~ZbBglh|LM2fd(Qml{HC;v&S_wBE)nPHQ}YWf1K|-GV0iZi z4PivCX^!wri^>70ZS-r&4GzA|M;z-=DRGWKs2i=}!#1f=9C(m!YZ^ozqzBNO@ex65 z-JG-F+y%$}A=arbKpIzMM500C;t0>k=y%Ql^!ok8NT31= zPDTeD#%K*V+Jo>!9oxuL8>2*MU=KIvvg9nYIcRVw9uXeJ(Hf*0bA-pMdU*U&fQ)-K zCPJrX4r)h6r&G+=L&;_YhdJYU2;Bpe@AM@4dp@kaClTNfCn7e4}8jJlEHZ(=QiGJcK-J8`}iy(i!rENjOnFl5n?+5n<^gk0(xg7&l5z)C*J^)0n#4s2OJ<@4+rT1jiHoNDBB`B z?BV)p8RjnewW@ejrv?W_>>HmOeg&jKC?I&s-BUYk-lNyTGfa0rdn{mZPXgJ-#e*9d z`o_w7#HYjh0R)c%nE^umlwFB_Q_u|BCjS23@H&)dt;{yTxhObuVr4uxZ(0e*0n#9l zDB;*sF7Jxr>1mHS3{gKzM0ixTfwQK0D37inGvkye__166gp^rV?>%@!p8i3b_3Ar1 zJnF)NX=R_jHvxi2C!Em|WRDX&x)vkA@!t93TTE zL4amDopR(^6+)B1b-Z?XkZ!@-^#a_Q zfzv}e(fRQ1?ek?_%U0YAPB;q$j|L$?YyNd^qa53q2>vcg9C*Z)3?DwcdtCO*`s-f2 zkRE{K0U|(_NCc=wJX+y!w!IHCnFR@_@0$@J0x0gE6)$M%gmWKM*&rlbr+}%}(1R0t zY~xzG3gl=BXq+!-AUM*aL07y%Xb2I51CAKmh-MukK+8`aRUUvo0Mx+G&+)-7)jF`E z#ZAE|pl~~H4Ap#3;prCgDCCR+afJH%m5=feh!3so2&n*}fFf~l9XB{M=rHuj8{ceF z9@O9kdk`RB5CSwZ%GgG{RYxDHxgZ2+hVpR2F^E&nD)r0+mGFn^#?XlpkQ|Ni~Q&%du<#idT; zKX>o7c%=D)YtP2uqg}k;RA{JXR}G@S#cgQVMNo*0IIh^+xJk#ae(PJwn%>m6TR-42 zlo<6EEd0IzG61D#QxB53#F-s8IRe?NNPsZ*!$=lGF>2e)k7wl$SX z<#L5B#4K#zwUd0L+f`q`fB)XS5;q{w7|KT!r$=HiQw4v~eBkl}0I^3V-Gxho^s`{8 z&%@LjLy3P>90ZRBAx3C)XD?lxKXPd?Jg49x4${r`ltie$ zsqe#-OhetKN`vO(W~`%nsf@!lOs_sKnxHux9&l2^lhqy#f(QX>6X0PwVkqXuRbwUQ zPd(!X!6VPJdQTowQa$WRktYXFT6=b2se~I4>=K5~^Tt$V=4pJv)H5dy4m@<#&pspIq$LL%->G2xpA{D@7dKSh81YcVXQi9BtRlS#6fTl95|a?nQ;Wi zNVk;mq;lCh)DI_|0(o}qNyfW%MW3ejlNAw?Z#)znT#l3Mu+8D{98nzhWJ*2U67nb@ zzk?7Sb6CB3^<4o1N40`vGCA|e9>=I2?K!w5Men0|56`al-sef82xPML~tSd(cP3MZ^XyH zfN*l)KjyIFph1V!{h7TlC6iAUZ8O7TdsKMb0fMJK?r~5RX((-U(2S`#M>uf#VFy|Z zk5hb{ARfDbTG{3E+SqENd}7sJ%@<5PeE34|0*HR70xIia}4EcE}!bJ2Gb_bTom7QTs=(f@==~$@R$iFJ@rNbSz{=hwd7Cb ztH0u%n#VWnL-|P0LDREMdeRv?K=4?vr1luf@qIDlT6)~O9ca(abjD6Nc<@B6u{C#}{cg>kt=f~-9QP@LYzVcrCW!Em=eX4lv?os< zyMUyJPT^{6jdt`-TeO2xPGReoTsAGXb6MMi2DiUWtfp3cNYP`5r%*^~k6KoIs3FwU zYG-UsnL`@#Y|CZ0OAp5fqN1n98p2Y&HFY2Js^Da^+1$2*@T7%Cc{o7i=@P4{HP>;B zlMpv2Q`nl#?4bTeOM0+MJo}r*YH3Y?$8jH9GlvA(R5ne=JKKpvAls9#-(On|ZnWB) z8sQNf{NRQ3j=K7t@E9Fi#i!O9+z>~V4||wHKXPVAUEaq-4ZF4)+z{+db@{09FsClR zlYZj;b<)Ekw`V}ChE{x^!`)g}4?Kc{a;Fa%;mLS9lGUh^jLX`@<>siNLj4W=~T@f`onj3JTjhN zw5L4{1V?zXcflD~RaJ=lPa;1FvOKIdxVb2{i}Ik{>T08Hrttl-U!BMUkpRJy|KK#R zw;xvf5Jy!T#Zy$lWb_#1Z;99yAQB!d2+y26uNV5zKJZXHdEu`;Zx$5fq3@Qb;B)}N zL+w)!>m-TaME8iZvI@jBUVK-_BuxR*1y_3(9-r^UZXdJUeEJp0^xJ<=Qu+XDdpI4a z(sO}F4{M4?dKO})e+Q=|jUojafCu^La*L1T`4k>%j!keC9({%AcsMNxE5X5dL%AtW z<;!1Dt%WBF350-J9!?7aJTwlh=|&z;c@9xXSP5e6c~}|a8u^fiPM8U+~AS3YoOq8&XMQpAiT>sZF%aNk z^yGWPli+G9JaX5ZDh~qU?rDzG6nDA%J&Z04TjMxIKAHARYtJFt?+g#-!RMIIg<<<4 zJpyEoH`6oONYBpj#FP&^5Ax|AKeS#?Pg;-U3G_Rre0Jz?#URXK!w4sm=``M|U6dSd3D-OfHv-JS#L zjnRXM?Mcmb$6q=<$BeND>yFEV1C>1N@>$*MiG@cGY}6aOe5B{=A3RCZKUa1hM?UrB zdQ|mB1!s6NmL8SQ&gqG@2MZ7CZS8USR(QR}`sVV4>^)^!D$m|n-%L*t->Nt1zH;(B zweyMKIo;`zZblEj!c$rvT6da!X7Gf4^MIL$K=A1HF+H;)PTTWMevP z@oSI$I(AQ?OBL=8-izEI`e_YkM`=kaQ@VusabExk*Vi*tAE~v z=cGLzJVVH5dm|tH>`9&tJP|w*Ur%YzH|fbv@bu)vv);DtANPj%Yu1oGvVW8Z&s78V zSoz?;+3g?wpvd22^iNjjQ~CGi!{rA_G!M#7KF6ki*6>7w@O0|!fahNF3@o2lNB`tS z;SbjH%k-%IV7MMVui;ViKzk;A{c{?q=h-n2a(*7O-tgQDPp95u&iV9tmc5=syWZIR z;IgSVx5uuxGwO|-=MOh$tfMdt1W{diRHu`!x|V{1G7X=>S0qXU3IsXybo>pUM?;nn z40Z-KRI~24d79ZV!RvL9NBRfr<9TW-o`?B^@VewRj}gB?p29p&V^5#On>?5f@D%+u z1SOBd{Uba;AJ%+Z^s8!+J|M4Y{U$s*eF_Wb=_mRW%z4ml;!^2Tn(Uvn{q_s|CfuYv z)gVvpc|g8#ohnDA~{*gLTo)`N30Um07M)Bl{=+o|V5S)bk*7M{^@U-tSEbCK8JZAFE>GUy? z2lF?6`w8;kzM>}qo>-r)d7goB7yCT&^Nm;^2l6fIpGcq8#*97+9;q{<56HK`Z=Cw< zmHlIdXG~rv!~^`cqvO&0tu(bQ884(QX5U*G3<0v;)Qq2#@z$$ip!p@|B&>@qMG;wsC5{CpWvTg=hG4Zr9?FtR%iPcRnFXL~$Iq z5P~46K#~41(_bP8ECMS63yPwawqPY9WXWx#zY9^YTQO-nbPz%i!GnhxFz}>!3Xh@- z9-3wGpuw7+WcTDnya*B7@Auw}Z>?swLxhHn(yzl${=E=Ny4|skoER65xv+O|$ zp67GG1Nv=w&Fy(d<%F@b3qP0`(&)S=mh5<{KkoOpc%Hr=KTn#Mw^y__h+zJ3ZQAt@ z_lG~Rj_129%G;w4AFb;H#WD^9>EsW-E)n~8MhUcO-E7u3x3xSFDB?vCA)f2vG)RFX z)-j?EKXCZ_gK?K>Y{0(r_ATOArw#H%7yCy=TAX+>2j%T=%NNev%uU|eMFK=T!WDe|fpMU=WwE61=VbA`(;z_ml*_=3FS=hsE+)tyrG3}h;{p2)a zvOPHJ0ds_Q&pdlM2jWKwZKgiqq4G5#*S4LWhZ`FkQzK1GOn7#>|MYUVXJ%$<3h(`4 zj~yPln-&b$OR%ew5|aW@2NeH)TyGpCK6Si#dtEN>fEA^6VH{ZQ7)Ga11Be% zNt7qcfKnqMTOO}b)<6)4fn<3S02BqFJOVlMXqk+D1mjr!pvnV4^HC+8(V(A>JmpL( zmC`fZA<{hYWYjXqo~NqmX^@_0KxBCeBZIJ;4m|hsDOFL_6dGg@<|!n2N#I3W^4aoa z(n>6*fK{(;SpKCUe$L?oT;8E1i`L7Io&F7-0L-qC-^am$g{%fo1^0J?)zX)fKIfaLD5N2GK%oY1sQ^rhuewgIxz ztqb-L25lyx&87cG^9wk{uwsG;Hjw}T002ovPDHLkV1fuW9!dZJ literal 0 HcmV?d00001 diff --git a/frontend/src/assets/images/characters/character_8.png b/frontend/src/assets/images/characters/character_8.png new file mode 100644 index 0000000000000000000000000000000000000000..44f1708755ff0b9b0d7b81bad9e116066b792084 GIT binary patch literal 11326 zcmV-EEWy)>P)M;uE^zEVvaO->z6P3`XOJ&TI)oQ3ql zr@MN0w^vU5qJw}vJsnI;V6m&3NJ+;yKXzneqq+rx^Qmq$G-fgfcN3Y@J>oYl#xV#^%|MRkB#=!I3t@iQkvXYL!f`6)~rugyiTDP!JrlMZDv^I8iKZu4@uc|nDc}10z zO{1VMY-&iFmqCn*N}rrFa&b?nq%m)9JcEHlk&aTUr#gRqENN&iW@Z0cR{zb4WyioP zVqhsx^jCg0s!vA4h|H8HZv3LKSYX56u|KOSHj)#R>n z|8r;?R#*S)rTLeT|G$9#oRt5gZr_H0|BGP%qniKW)Blua|CxaQfp!0?pZ}kQ;YLOO zd~N^e+5fnFXm@wmeR%FpOP`*e*+fL=hl2M|PVReojEjr^e_H>ws{gR1=t)Tb?%@Bt zueKO9|NQUJfqeh1gyM{a|EG!nwTR^%Jm++E(0X>$LPGM9ivOm8$9Z%Ax0C;_kI)%6 z;%#pKK1`%!VE>44!X!HX|N8&+=kb=0vukF{KtRD5HS}(8|DSvPY*Nv0ZvBsm-(qP0 zy_wusVQS6AVsCKvg@Ep3XVy$v&p}hYac$y&dBEa&!O4sdQ3Lsi~;txpF&q6l>dq4f~3CI7r{|om968+@%J7jO(8p!2@C|$qb4K!M~^KR7k-hm7!$F83|4ymSj zr}G_%ec7?N? zH0@5?|05|l(UtubCS^fX~G zadi|M%jEv)={~?oi*qB~j}k@H3O&whnt{K#GJ4Ar8Ki3NP>vT@-MQExXl#Ru9~v5? znx6cu{VIn^3gK%p|LM+^j>1~i%OaXwihU!JZ$WYLWqm!nW#U&};roDG9F2q@q< zrt5fTnViHqnr_}*q}61UOtHDzdI1xro_bQFqTLS7Pie6GRMHck2Z&WVeUk|irbjEA z8`1>oyeJlE1*G2{_2gCH*aXo+wO>%_O!c(&M-$k)}CM;>(vWnY3D} zo=mc7B+HuVVUy6frl;>YT3Xa3(qp0|M368Qi3BIvEK1V^22?W_ z$%upD-o(@R&~4T-AWszuQGxI{eqnM;BU$rEQ}#^j>7_Q?W-nfrp>Qp%YVuK9qy!-< z(twsunrsrvJtN6@qRYY7u1>m*#yp#fRHF1C3R3QByk?L|e<(AJ19foKKJKMsJdGz86Gy}4bMFz>BpURk290=n+qW_DT;i9n0O9x z%3CUcLTG7)Nky0JUVnWUtyZVcw5yzEQGrngyuJCdp z3vf9AZh|9JYASo8C@>=9NnRp0yB(PF3_S)yUUs?!5MGKR(IBH3t}rVNok`1ly!5ec z(_Al?!FdWuwp`9mOK*n5sxphk64t9wn66A!@@XPr>X+t6_RWRY=Z!+RR4f(@&>k~f zoB%dU5vnX2@Qe2uy|oLK%0ZmSblfug?VGjNbB$nXCRGf{OUUgW8=^33nSM8c20~|E zi6zn?$<&4UxTDRc={M^zQ-gyu0R0ryF^N>DG>dfL;*QmEH^pMdku=h5w%awM>lbs4 z8J};69~3mf@|v?QmqL{pDAOqUwT0hDvDjiYf+&;FPDf_SH||S?ag;?`&*03EWnM0k zH@3Tb%&AtlpN_;9cMn_4j>ld0&AGY8m~VW1+&3uVLST~0J=G3*y$?o57Qb1HEg~=% zkB?e>3`LKR5^1`Kq}grP z4C`wbjpE?=_?P43e|_-FAHOzr9rXDIhi2481oYb%&rVLRk08RVo<*)?Y6};&u#0Q{ z_{VoIp8c-O!SVa|#|MXKw#p>(O!1xn(T7NnxvWNr&{k?~Jv({roppgEbnyOtSFlv6c((xZY`xp>zrP(D1seMgv)`_Xo;#NZ>Kpp`=hTo( z216dhO%U^L1=z$AjV>;JO{6f7VJ6v(u-R_M%%G=defafRd1BB964!$C_|Y5-l(M_K zm1Vp+L6YeOsLWku>e4*7YvQH7fCCM<*n~9tZ%A`)j)yBkr0h8{7FhPu zSqcy1sU7W=3nJxm8GC~q zK8N=2o=(jTlT7BAR48&(F2lo*bQ_JMGiBmeOHXylJ2w?7%(DY?2u(HwDjDOW+93n1SFZ8(!{xno(4=c+mGy<`kQ(l0-eSWk}u=FJ0cS( zOj0+S&4f*}7qfMnhW_uKmPw?zd)Pc@lSP0nCN4i)9~46VX0xT}FqwP#ERtvQkWI{- zO$21C+0kal35ne8@S+7DaI`a;d>X_ow%F zG$t%+9x^%IjG`!ix9#k?cXkGMiF+!u+vb1SWD_L*J>7S^d)lwvPE*&j=c=ZK9tc!k zacx~a-Q7K==$Wv6;r1%?uJvTWzI*T9J&fFkYP_B5TKSuC`+I3B4C4S^NnHt1S@e?vrHdk|Zi;?G zT|`Cw7j?1QF*jG_mJ?i|a~>Tnb2v43stFd6g#~4llE(_tVs#O_DN1t`8({@~pXYsF zUys8)&!%PQK7OC~J?CtD-yEBI;=;T#W0r2-cI3!|%F4=P?`hIXGb2q#m0GzAb?n&s z^;is*^VacOezVLKhhnCMSCg2qiiF8xk&1)nUDCoUl_Zy1iCvR!1lN{ZTx|b+{5nA(1l2dam~1$=~20s327|icc}aw4H{W zZW!2iiOzklT7MuKggR&#>6H% z!bQ$e9bUpFKBK#YLgkifFfw1kL{LodWU`!VnjZBxw$LQV=)IokF$wRVqYDCPbSZ1zo8~ zfs#q+Ld7J9q(h5L`kI4cM4iNB$2AM(0rfZo@MVf{iB%5MH%S#=_j3h87=U^&Ss~Xgz zjWkWSpTC7qVmyl$IyNPVV=UsDgWBA=DMcoOuI+9y02Fk==IWUEdBX^DP>nLFRU1h$ zC7FbYZ>69MH+Qdyi4!~jdZrn4*-=)ts8BV3V)Qdsvds#(@SV<@t7i~eiwCeQ|I7i? zphTr=QIRrcSC^T9DVt0Gj^;X;LG<(h=6M6AMkQMmQx7I$-gwq!M#xk-|J&TdvrRs0 zoj(txNR+DWC=r9nt$o&J_+7O!WzZ;p_wC!a^3C&J#JIJ}q~{n{lbjFjIpUi;*=-~q9)mF+kM1{V8*(Q+r!Jg;UzLw z(blb-$J{a!ymJquWHYT=Stq#ceN`7sP2!nQ+onBcAmKKct9Myy;GPew)bvsXqVCaFm6(f)Cy8lj0*Uw)M~=+Rd7pYcYt*q|vH?+1^g5YVKkix)x+kk%TIfD<|4M z`SIh&Ts~Ljo16-ec(1y>wYoRnqSg)Lmvv551vVOx8CK0*HRtSi3Rq5>tm>E?G>dwR zHSCFOzRu^{Fa+{VYr4JqX3MSWFfYi`VrwbJ2;@^QJ_3vbl+g z$pX++7Txt#EsX{qrNd$DBl5O~YpUD5aaw?F!p4Q38FR%=GF8wf>`FPxl&+16#0QJE zpoK|fe48yyPuJzCyFZ8ApQ?MYA+|RiuDR7(9migb5Vl7&KJ3l_E#nw*m}y&cOXi^4 z=g*1CVJxS!osg&Vg;bUAY5kp+#t$DxyBQD^Aw!$|1_tWyhF*l4JFHFO zT_$CQ#msFkJ{7IClejB1g?oXgQQ_@`FPruFFpZwN`E3$xamLH<3q7M`_5;PwKuHsSdsfpkk;dM*BOO5wyEc9c zgDG5TDz(ZtHAE-(@4Z;}ee8|D8q18r>}v*kw_c#D*-Y!1TXeMSOg}H!PPM8S)20rZ zaYqB;_}JC4mX_`emhb;@azCL-hH)Ig8=Le$C~Gxl1QirXw~7w^fucIp=#S>wY|Ujm zY|x0BS)N=V!!EJj{=g2BL{J;a-n>Y72oKX!r(LWqk+6d();tVWjlRF%`#wIt8npcS zQr$lNe!u5=echfd7US-s(6G9L2I^x|uH0bFt!NVt?!85K4a=5Eeo2y4lQ&>EB0Rx;y+JjH5kVDQZ-L0wo^@_;KO~&kOo0 zdjHDM+~d=lxxZp&snB_e(j+CxsHdcAU&#!AW)>?bh(x0SJ_pA?X2Pdn@_zlzC2Tdc zb_%V<|K^(zvy}OH6jxuQNPDUB_0xC?ES3-#iYOGIoLAB0el9e4q`A7aQz(<}7bx`Q z-R#S(W|qtM%dg9tCsnV;dc4@ALggM~hce1}RSEIYJhscLs;8pE(^F*9>PiC5W^=h* z)@(K>+KW(ePbaBP^k5k&BRUH8Q#u`wt7;vp5E@j2$wz^h)!5o+Xf4iNeSP^dhp6UM z!c;1iNG*G-MIssXc(9B{M%W}2YTQgJqmosyqLDC~An)_dZ>O|zPK@K7_FFEuu%M)p*>zxw^F>8Yj*c`|=AQQ>Icb z5-{PUbfG}1#|w-_ea-4W5E2-JU`wD(3xqb95Bl zO%V!_x~rRScAR7sEM9tu6z19K5U6K5Nx|b>G`zGFjf@B4g}GUni)7Y`oMPdzXs$H( zt+1L^QbkmR%#>!He@i`Ol1(h8r_sGjZF&EAAly337sb={}mm*1}ZRz6#lda)+X>sO-AdR3XG;TDxx!Cq6xm1`cE;iF?tXnow zq44;a_+;SAm%KkR7X7@Gm>gFUC{mEP1Sx}iy`i^Sa}f)n3_?_C)tc8yQ-Bct{>ia% z{E<}lF2y4gNi_kIOvY-+7yMc@NfRVYYA&*l`^zRsm=^JoH$)^rah7;;631+#vDVhS zA7lzQ1oC8CnPd?cg6;-&5&=o(cI~!`r6dBBYS298aM?#aj2+VBa=Gk?v%9m;X?OJZI@~Td;&9k(j50X@ zbY+9)35S~qr?U^~?Ck8*;zX{(bU6lKG6_>J6eKryZDVB9X}4wqbxIDg+q*lRc9#vN zgGfeiPkOhMw}xUp*8wk|SlI@trXtE$eHm5q$^>ecRUas?`Cq%A2;4qBU$y&Yt; zfq^z%ymEzADpp5Dl`zp-m^XSD&1hvB>s;NyI4@tn#%etZ6XT>h`!&gojg|2y=;&6}55)hd;$TthHnktn7q&4vbg>Go}?0_FZ9 zqPxsILz=zhrV#{T z0M00uARyS9EsH2ZLh>T=f(u0Qnx`@5Wg?l#GM;454LF@Il&YF8etMdYtI1>;Wj21(V9u+>J-A9ZFuEke%3 z2K7j)ldqcjV;?A1_p+m<{m$l#Unfkrwm*N02~<0(W;1CDz3=zbQLPiEkT4f)1~J0o zW=RoZ^X<(Ize(9#vf1B?3DrZzObPDIJCViG`sPaK?RY?DuBNImlY^VRv-#}WDQk-| zNfh(xkxdjTk3<)XTTh5BoBNlNi7M%CG9HW`w_CYuLUkxo^d%{_M-xjcq==)@a<%L) zeu){Nnj$h2g4->dGhD=&q!p#5-TcZoMMIzDkG517H|=8Gaa#rFXJINyuccdG{>s56 zv3Ojm93!NtYCk;1#7Iz6NqXhtKHna8`F&qVs3??8dvHI0FH9m~63LO3DmVFdN6+DP zw_%fVtSB$9q{uBU%=Fl5nXbw$d5vbJ@w(}gNRP58v@mP-*kUB0om8f*>_W(^T9$qK za+QykOWg0pWK;%y(kK2cnPEGLbYt=pJrL=k zVit2AgUArua3aV?k#34vcjk^v`fD5jSX?&Ezrl6U&ULAs@+NI3JC*ll!o<>2glO0v&E+^W5nSuQZAT}pyJ}+EqMbj*ygoG_0+Z`ZGdo2)rOv?2#jFSBI&NAn zVK-!IY_UCQ3Sq099K+RnXU+q2VK!TPL`dqCU~oHORy>nN!kSH;%;|NusZ7LH%vCA2 zjcUZ4hNkJ_cMH>R=ZTq}n2WGZyNSuiB(_Rv@*%b`*Yv>T&5~yJxSe5aPup4d%++kp zCW4EB3)43F)SQN9%{QgaQgD;Z)@eJ{90ak2`9teGe!nHJZClDb7u$u7ghth3;&M{4 z{Pcg;6* zTi@A4Y}Jg!7ADp<)x_k(7;>@2sZxoUVVw)p+IF>_*q(uzdFEF!hoNciXQyQ1@Kn=X z5@3%1*K`rW>4_<%=5^VeU~MnS(C0n2XUQb8Fzca-I+OPbBBUn01P8XOvlg1eh-s>` z3)7G7V>oTmPiM|k*A@{fpPmmeF>S*-)7KXN0r{eJ`mx1?&tj$?X7)NUg>($fKaMTT z;idg-YizMSg9z0>HXnSmo)n>TW-Vd{88VukbEe$+aH>@PQRgI>w=m-eS=k(qiwME2 zhUS{hNQPj>BBZfZ6A@xlW9yq!GGn<#o$&~ro$y{en+7u_L)}YC$@hlXPQ%!m&A!FFV-nvgm_j&Jbi&6>{wGQO zG(?DEYst{Sx<5aEFHKvRh|qP!yl@V+hz!0PiU>vS@M_M*jNeVZ#AEABL`Y(bc4ETY zXTs*+W*2pei76D{DyTCw`-VDuT*jc*m0VLuJ#U)If^r(qa~qpCXaXF%P;$`}c$ z1M0xYz|grWilBhnE1?!niKDl|q42>2{(|VG8Xp2HR?AB{2GPfyhyTP79G$toAZxn6S zo{v{K8nc2a-`lIqT040wt?k5)QPqVQ`QO7mbNgvVKgQ|=IR6{Z*p`d zS#qBBoE@hY=1^Pi?9y}lmS&F1{nV1SY}hcbGnp?@X4$|bZGCO|9_K7|-tC%(UMQHh z{2;`#o*Y+T%8!bh9~VNpw*1&euaj0&)>#C8HnOWb;vP9v=+iOzS3}IFYO@j7CNM*j zG_PAn?X49@l|8dina}HrqkVX8h4hb|K@Qvg)pquvO+`^0_aVWrR%x3?OWV|;L#YO& z)FM)mR*HjyIuySb$3XFGDFGpiL%W0`5zG+m5CRDakqnmNR7evL%#@)ND&>(31rgez z#8mNr?!C`z@ZIFy2ma@t_sjpBb66z&}XuPH$%Hnf6IL0(1cWW}6a!f2ebNkc=!;&rqtZ04mzzyQkJG3$zGQ>tz)Ob(?BZK6)SGM9z#q^ z88g#UckeczMzW52ojlPx`YdMOVutpo(%!dzF>~z1@gv-0JM57eq-jDNmHrAL_{Wd& zqwS)5F>tu}df@{`V3yWM9>3Nwi^&qj{3QqRSF&k9^9w72>Ct6wY*>+8-<>d1v1nv9 z52M28fEM#Q8xv|J$&pVZ5YDCneJzY4%B#nunZ+wab)2WeU}CB!vJ0aedQ^{zq0o6? z|4`dAyTf72C^1WjF?5)RuNNc5B2l?lM@&9JlqHwPT+?F?N0uCu zh~$nR(ql%WboD);%LK&(+A`11lTl(Os3dNfF$kTXSP)Qu+ZG}wTP}$O&g|FBZHz9d zL3)|dPY#&3!VqVopcLWh_i8fJkTlwsc_~*|kB8urHN6`H4FW^t{F#iZHsT8(=p&Xa`l#4rLiU?N%PTGTQgf)+!dro(R+4;rRB zCaVs}aXjN^qi)u&87gF9oo4(37{V;XEc4TCA6V3JLH=G7ek6IvuJwbdR^A0fvz=New#Att3)KG3Y% zGJDgDRC8go+OyUNX%nH*&nZIY#Ih6bmR-Lcvs_+^;-$Qw|FBUS85vo& z8TD=GcT(@LKr*IY`@8pw`|w96Cnv|o{Dbzy-@Hz=%Al29)c^nh07*qoM6N<$g20R literal 0 HcmV?d00001 diff --git a/frontend/src/assets/images/cover/cover_3.jpg b/frontend/src/assets/images/cover/cover_3.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d54c5f1509100a3607f695efdefe808f3c21f92b GIT binary patch literal 51224 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�AKWN%7`J$UCdj8% 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 literal 0 HcmV?d00001 diff --git a/frontend/src/assets/images/cover/profile-banner.png b/frontend/src/assets/images/cover/profile-banner.png new file mode 100644 index 0000000000000000000000000000000000000000..16cbfe9f78d8037229bd00b64a96da8927d9d5ae GIT binary patch literal 11235 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 literal 0 HcmV?d00001 diff --git a/frontend/src/assets/images/glass/ic_glass_buy.png b/frontend/src/assets/images/glass/ic_glass_buy.png new file mode 100644 index 0000000000000000000000000000000000000000..065ffcde1f9f4f08cce5e82f4bebcd8d2384dc72 GIT binary patch literal 3848 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 KMNUMnLSTaQ#vQN# literal 0 HcmV?d00001 diff --git a/frontend/src/assets/images/glass/ic_glass_message.png b/frontend/src/assets/images/glass/ic_glass_message.png new file mode 100644 index 0000000000000000000000000000000000000000..10b6c9591b17a3853c051636882ee732b25df6d8 GIT binary patch literal 5553 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

UD{35$b@4~^UmMpU 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 SKLyA|AOqc7I+a@R$o~bP?QQ`8 literal 0 HcmV?d00001 diff --git a/frontend/src/assets/images/qinshihuang.jpg b/frontend/src/assets/images/qinshihuang.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a4a0e43f7c492cbf35dfd4be17c058a4076524a7 GIT binary patch literal 61498 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 literal 0 HcmV?d00001 diff --git a/frontend/src/assets/react.svg b/frontend/src/assets/react.svg new file mode 100644 index 0000000..6c87de9 --- /dev/null +++ b/frontend/src/assets/react.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/src/assets/vite.svg b/frontend/src/assets/vite.svg new file mode 100644 index 0000000..e7b8dfb --- /dev/null +++ b/frontend/src/assets/vite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/src/components/animate/motion-container.tsx b/frontend/src/components/animate/motion-container.tsx new file mode 100644 index 0000000..e602413 --- /dev/null +++ b/frontend/src/components/animate/motion-container.tsx @@ -0,0 +1,40 @@ +import { m, MotionProps } from 'framer-motion'; + +import { varContainer } from './variants/container'; + +interface Props extends MotionProps { + className?: string; +} + +/** + * Motion 通用容器 + * + * variants: [变体可以用于使用单个动画道具为组件的整个子树设置动画](https://www.framer.com/motion/animation/#variants) + * + * Variants 是一组预定义的对象 + * const variants = { + * visible: { opacity: 1 }, + * hidden: { opacity: 0 }, + * } + * + * 需要指定 inital 和 animate 属性名 + * + */ +export default function MotionContainer({ children, className }: Props) { + return ( + + {children} + + ); +} diff --git a/frontend/src/components/animate/motion-lazy.tsx b/frontend/src/components/animate/motion-lazy.tsx new file mode 100644 index 0000000..e28642f --- /dev/null +++ b/frontend/src/components/animate/motion-lazy.tsx @@ -0,0 +1,15 @@ +import { LazyMotion, m, domMax } from 'framer-motion'; + +type Props = { + children: React.ReactNode; +}; +/** + * [Reduce bundle size by lazy-loading a subset of Motion's features](https://www.framer.com/motion/lazy-motion/) + */ +export function MotionLazy({ children }: Props) { + return ( + + {children} + + ); +} diff --git a/frontend/src/components/animate/motion-viewport.tsx b/frontend/src/components/animate/motion-viewport.tsx new file mode 100644 index 0000000..51c146b --- /dev/null +++ b/frontend/src/components/animate/motion-viewport.tsx @@ -0,0 +1,28 @@ +import { MotionProps, m } from 'framer-motion'; + +import { varContainer } from './variants'; + +interface Props extends MotionProps { + className?: string; +} +/** + * [whileInView: 元素可以在进出视口时设置动画](https://www.framer.com/motion/scroll-animations/#scroll-triggered-animations) + * + * + viewport: [视口](https://www.framer.com/motion/scroll-animations/###viewport) + * + * + once: 仅触发一次 + */ +export default function MotionViewport({ children, className, ...other }: Props) { + return ( + + {children} + + ); +} diff --git a/frontend/src/components/animate/types.ts b/frontend/src/components/animate/types.ts new file mode 100644 index 0000000..2b236c6 --- /dev/null +++ b/frontend/src/components/animate/types.ts @@ -0,0 +1,26 @@ +export type VariantsType = { + durationIn?: number; + durationOut?: number; + easeIn?: []; + easeOut?: []; + distance?: number; +}; + +export type TranHoverType = { + duration?: number; + ease?: []; +}; +export type TranEnterType = { + durationIn?: number; + easeIn?: []; +}; +export type TranExitType = { + durationOut?: number; + easeOut?: []; +}; + +export type BackgroundType = { + duration?: number; + ease?: []; + colors?: string[]; +}; diff --git a/frontend/src/components/animate/variants/action.ts b/frontend/src/components/animate/variants/action.ts new file mode 100644 index 0000000..caee72a --- /dev/null +++ b/frontend/src/components/animate/variants/action.ts @@ -0,0 +1,9 @@ +/** + * https://www.framer.com/motion/gestures/ + * @param hover + * @param tap + */ +export const varHover = (hover = 1.09, tap = 0.97) => ({ + hover: { scale: hover }, + tap: { scale: tap }, +}); diff --git a/frontend/src/components/animate/variants/background.ts b/frontend/src/components/animate/variants/background.ts new file mode 100644 index 0000000..9f2123c --- /dev/null +++ b/frontend/src/components/animate/variants/background.ts @@ -0,0 +1,103 @@ +import { BackgroundType } from '../types'; + +export const varBgColor = (props?: BackgroundType) => { + const colors = props?.colors || ['#19dcea', '#b22cff']; + const duration = props?.duration || 5; + const ease = props?.ease || 'linear'; + + return { + animate: { + background: colors, + transition: { duration, ease }, + }, + }; +}; + +// ---------------------------------------------------------------------- + +export const varBgKenburns = (props?: BackgroundType) => { + const duration = props?.duration || 5; + const ease = props?.ease || 'easeOut'; + + return { + top: { + animate: { + scale: [1, 1.25], + y: [0, -15], + transformOrigin: ['50% 16%', '50% top'], + transition: { duration, ease }, + }, + }, + bottom: { + animate: { + scale: [1, 1.25], + y: [0, 15], + transformOrigin: ['50% 84%', '50% bottom'], + transition: { duration, ease }, + }, + }, + left: { + animate: { + scale: [1, 1.25], + x: [0, 20], + y: [0, 15], + transformOrigin: ['16% 50%', '0% left'], + transition: { duration, ease }, + }, + }, + right: { + animate: { + scale: [1, 1.25], + x: [0, -20], + y: [0, -15], + transformOrigin: ['84% 50%', '0% right'], + transition: { duration, ease }, + }, + }, + }; +}; + +// ---------------------------------------------------------------------- + +export const varBgPan = (props?: BackgroundType) => { + const colors = props?.colors || ['#ee7752', '#e73c7e', '#23a6d5', '#23d5ab']; + const duration = props?.duration || 5; + const ease = props?.ease || 'linear'; + + const gradient = (deg: number) => `linear-gradient(${deg}deg, ${colors})`; + + return { + top: { + animate: { + backgroundImage: [gradient(0), gradient(0)], + backgroundPosition: ['center 99%', 'center 1%'], + backgroundSize: ['100% 600%', '100% 600%'], + transition: { duration, ease }, + }, + }, + right: { + animate: { + backgroundPosition: ['1% center', '99% center'], + backgroundImage: [gradient(270), gradient(270)], + backgroundSize: ['600% 100%', '600% 100%'], + transition: { duration, ease }, + }, + }, + bottom: { + animate: { + backgroundImage: [gradient(0), gradient(0)], + backgroundPosition: ['center 1%', 'center 99%'], + backgroundSize: ['100% 600%', '100% 600%'], + transition: { duration, ease }, + }, + }, + left: { + animate: { + backgroundPosition: ['99% center', '1% center'], + backgroundImage: [gradient(270), gradient(270)], + backgroundSize: ['600% 100%', '600% 100%'], + transition: { duration, ease }, + }, + }, + }; +}; diff --git a/frontend/src/components/animate/variants/bounce.ts b/frontend/src/components/animate/variants/bounce.ts new file mode 100644 index 0000000..880bad4 --- /dev/null +++ b/frontend/src/components/animate/variants/bounce.ts @@ -0,0 +1,111 @@ +import { VariantsType } from '../types'; + +import { varTranEnter, varTranExit } from './transition'; + +export const varBounce = (props?: VariantsType) => { + const durationIn = props?.durationIn; + const durationOut = props?.durationOut; + const easeIn = props?.easeIn; + const easeOut = props?.easeOut; + + return { + // IN + in: { + initial: {}, + animate: { + scale: [0.3, 1.1, 0.9, 1.03, 0.97, 1], + opacity: [0, 1, 1, 1, 1, 1], + transition: varTranEnter({ durationIn, easeIn }), + }, + exit: { + scale: [0.9, 1.1, 0.3], + opacity: [1, 1, 0], + }, + }, + inUp: { + initial: {}, + animate: { + y: [720, -24, 12, -4, 0], + scaleY: [4, 0.9, 0.95, 0.985, 1], + opacity: [0, 1, 1, 1, 1], + transition: { ...varTranEnter({ durationIn, easeIn }) }, + }, + exit: { + y: [12, -24, 720], + scaleY: [0.985, 0.9, 3], + opacity: [1, 1, 0], + transition: varTranExit({ durationOut, easeOut }), + }, + }, + inDown: { + initial: {}, + animate: { + y: [-720, 24, -12, 4, 0], + scaleY: [4, 0.9, 0.95, 0.985, 1], + opacity: [0, 1, 1, 1, 1], + transition: varTranEnter({ durationIn, easeIn }), + }, + exit: { + y: [-12, 24, -720], + scaleY: [0.985, 0.9, 3], + opacity: [1, 1, 0], + transition: varTranExit({ durationOut, easeOut }), + }, + }, + inLeft: { + initial: {}, + animate: { + x: [-720, 24, -12, 4, 0], + scaleX: [3, 1, 0.98, 0.995, 1], + opacity: [0, 1, 1, 1, 1], + transition: varTranEnter({ durationIn, easeIn }), + }, + exit: { + x: [0, 24, -720], + scaleX: [1, 0.9, 2], + opacity: [1, 1, 0], + transition: varTranExit({ durationOut, easeOut }), + }, + }, + inRight: { + initial: {}, + animate: { + x: [720, -24, 12, -4, 0], + scaleX: [3, 1, 0.98, 0.995, 1], + opacity: [0, 1, 1, 1, 1], + transition: varTranEnter({ durationIn, easeIn }), + }, + exit: { + x: [0, -24, 720], + scaleX: [1, 0.9, 2], + opacity: [1, 1, 0], + transition: varTranExit({ durationOut, easeOut }), + }, + }, + + // OUT + out: { + animate: { scale: [0.9, 1.1, 0.3], opacity: [1, 1, 0] }, + }, + outUp: { + animate: { + y: [-12, 24, -720], + scaleY: [0.985, 0.9, 3], + opacity: [1, 1, 0], + }, + }, + outDown: { + animate: { + y: [12, -24, 720], + scaleY: [0.985, 0.9, 3], + opacity: [1, 1, 0], + }, + }, + outLeft: { + animate: { x: [0, 24, -720], scaleX: [1, 0.9, 2], opacity: [1, 1, 0] }, + }, + outRight: { + animate: { x: [0, -24, 720], scaleX: [1, 0.9, 2], opacity: [1, 1, 0] }, + }, + }; +}; diff --git a/frontend/src/components/animate/variants/container.ts b/frontend/src/components/animate/variants/container.ts new file mode 100644 index 0000000..1ff849c --- /dev/null +++ b/frontend/src/components/animate/variants/container.ts @@ -0,0 +1,26 @@ +export type Props = { + staggerIn?: number; + delayIn?: number; + staggerOut?: number; +}; + +export const varContainer = (props?: Props) => { + const staggerIn = props?.staggerIn || 0.05; + const delayIn = props?.staggerIn || 0.05; + const staggerOut = props?.staggerIn || 0.05; + + return { + animate: { + transition: { + staggerChildren: staggerIn, + delayChildren: delayIn, + }, + }, + exit: { + transition: { + staggerChildren: staggerOut, + staggerDirection: -1, + }, + }, + }; +}; diff --git a/frontend/src/components/animate/variants/fade.ts b/frontend/src/components/animate/variants/fade.ts new file mode 100644 index 0000000..decd7f2 --- /dev/null +++ b/frontend/src/components/animate/variants/fade.ts @@ -0,0 +1,134 @@ +import { VariantsType } from '../types'; + +// +import { varTranEnter, varTranExit } from './transition'; + +// ---------------------------------------------------------------------- + +export const varFade = (props?: VariantsType) => { + const distance = props?.distance || 120; + const durationIn = props?.durationIn; + const durationOut = props?.durationOut; + const easeIn = props?.easeIn; + const easeOut = props?.easeOut; + + return { + // IN + in: { + initial: { opacity: 0 }, + animate: { opacity: 1, transition: varTranEnter }, + exit: { opacity: 0, transition: varTranExit }, + }, + inUp: { + initial: { y: distance, opacity: 0 }, + animate: { + y: 0, + opacity: 1, + transition: varTranEnter({ durationIn, easeIn }), + }, + exit: { + y: distance, + opacity: 0, + transition: varTranExit({ durationOut, easeOut }), + }, + }, + inDown: { + initial: { y: -distance, opacity: 0 }, + animate: { + y: 0, + opacity: 1, + transition: varTranEnter({ durationIn, easeIn }), + }, + exit: { + y: -distance, + opacity: 0, + transition: varTranExit({ durationOut, easeOut }), + }, + }, + inLeft: { + initial: { x: -distance, opacity: 0 }, + animate: { + x: 0, + opacity: 1, + transition: varTranEnter({ durationIn, easeIn }), + }, + exit: { + x: -distance, + opacity: 0, + transition: varTranExit({ durationOut, easeOut }), + }, + }, + inRight: { + initial: { x: distance, opacity: 0 }, + animate: { + x: 0, + opacity: 1, + transition: varTranEnter({ durationIn, easeIn }), + }, + exit: { + x: distance, + opacity: 0, + transition: varTranExit({ durationOut, easeOut }), + }, + }, + + // OUT + out: { + initial: { opacity: 1 }, + animate: { opacity: 0, transition: varTranEnter({ durationIn, easeIn }) }, + exit: { opacity: 1, transition: varTranExit({ durationOut, easeOut }) }, + }, + outUp: { + initial: { y: 0, opacity: 1 }, + animate: { + y: -distance, + opacity: 0, + transition: varTranEnter({ durationIn, easeIn }), + }, + exit: { + y: 0, + opacity: 1, + transition: varTranExit({ durationOut, easeOut }), + }, + }, + outDown: { + initial: { y: 0, opacity: 1 }, + animate: { + y: distance, + opacity: 0, + transition: varTranEnter({ durationIn, easeIn }), + }, + exit: { + y: 0, + opacity: 1, + transition: varTranExit({ durationOut, easeOut }), + }, + }, + outLeft: { + initial: { x: 0, opacity: 1 }, + animate: { + x: -distance, + opacity: 0, + transition: varTranEnter({ durationIn, easeIn }), + }, + exit: { + x: 0, + opacity: 1, + transition: varTranExit({ durationOut, easeOut }), + }, + }, + outRight: { + initial: { x: 0, opacity: 1 }, + animate: { + x: distance, + opacity: 0, + transition: varTranEnter({ durationIn, easeIn }), + }, + exit: { + x: 0, + opacity: 1, + transition: varTranExit({ durationOut, easeOut }), + }, + }, + }; +}; diff --git a/frontend/src/components/animate/variants/flip.ts b/frontend/src/components/animate/variants/flip.ts new file mode 100644 index 0000000..98fc35d --- /dev/null +++ b/frontend/src/components/animate/variants/flip.ts @@ -0,0 +1,61 @@ +import { VariantsType } from '../types'; + +// +import { varTranEnter, varTranExit } from './transition'; + +// ---------------------------------------------------------------------- + +export const varFlip = (props?: VariantsType) => { + const durationIn = props?.durationIn; + const durationOut = props?.durationOut; + const easeIn = props?.easeIn; + const easeOut = props?.easeOut; + + return { + // IN + inX: { + initial: { rotateX: -180, opacity: 0 }, + animate: { + rotateX: 0, + opacity: 1, + transition: varTranEnter({ durationIn, easeIn }), + }, + exit: { + rotateX: -180, + opacity: 0, + transition: varTranExit({ durationOut, easeOut }), + }, + }, + inY: { + initial: { rotateY: -180, opacity: 0 }, + animate: { + rotateY: 0, + opacity: 1, + transition: varTranEnter({ durationIn, easeIn }), + }, + exit: { + rotateY: -180, + opacity: 0, + transition: varTranExit({ durationOut, easeOut }), + }, + }, + + // OUT + outX: { + initial: { rotateX: 0, opacity: 1 }, + animate: { + rotateX: 70, + opacity: 0, + transition: varTranExit({ durationOut, easeOut }), + }, + }, + outY: { + initial: { rotateY: 0, opacity: 1 }, + animate: { + rotateY: 70, + opacity: 0, + transition: varTranExit({ durationOut, easeOut }), + }, + }, + }; +}; diff --git a/frontend/src/components/animate/variants/index.ts b/frontend/src/components/animate/variants/index.ts new file mode 100644 index 0000000..b3994f8 --- /dev/null +++ b/frontend/src/components/animate/variants/index.ts @@ -0,0 +1,98 @@ +import { varBgKenburns, varBgPan, varBgColor } from './background'; +import { varBounce } from './bounce'; +import { varFade } from './fade'; +import { varFlip } from './flip'; +import { varRotate } from './rotate'; +import { varScale } from './scale'; +import { varSlide } from './slide'; +import { varZoom } from './zoom'; + +export * from './action'; +export * from './background'; +export * from './bounce'; +export * from './container'; +export * from './fade'; +export * from './flip'; +export * from './path'; +export * from './rotate'; +export * from './scale'; +export * from './slide'; +export * from './transition'; +export * from './zoom'; + +export function getVariant(variant = 'slideInUp') { + return { + // Slide + slideInUp: varSlide().inUp, + slideInDown: varSlide().inDown, + slideInLeft: varSlide().inLeft, + slideInRight: varSlide().inRight, + slideOutUp: varSlide().outUp, + slideOutDown: varSlide().outDown, + slideOutLeft: varSlide().outLeft, + slideOutRight: varSlide().outRight, + // Fade + fadeIn: varFade().in, + fadeInUp: varFade().inUp, + fadeInDown: varFade().inDown, + fadeInLeft: varFade().inLeft, + fadeInRight: varFade().inRight, + fadeOut: varFade().out, + fadeOutUp: varFade().outUp, + fadeOutDown: varFade().outDown, + fadeOutLeft: varFade().outLeft, + fadeOutRight: varFade().outRight, + // Zoom + zoomIn: varZoom({ distance: 80 }).in, + zoomInUp: varZoom({ distance: 80 }).inUp, + zoomInDown: varZoom({ distance: 80 }).inDown, + zoomInLeft: varZoom({ distance: 240 }).inLeft, + zoomInRight: varZoom({ distance: 240 }).inRight, + zoomOut: varZoom().out, + zoomOutLeft: varZoom().outLeft, + zoomOutRight: varZoom().outRight, + zoomOutUp: varZoom().outUp, + zoomOutDown: varZoom().outDown, + // Bounce + bounceIn: varBounce().in, + bounceInUp: varBounce().inUp, + bounceInDown: varBounce().inDown, + bounceInLeft: varBounce().inLeft, + bounceInRight: varBounce().inRight, + bounceOut: varBounce().out, + bounceOutUp: varBounce().outUp, + bounceOutDown: varBounce().outDown, + bounceOutLeft: varBounce().outLeft, + bounceOutRight: varBounce().outRight, + // Flip + flipInX: varFlip().inX, + flipInY: varFlip().inY, + flipOutX: varFlip().outX, + flipOutY: varFlip().outY, + // Scale + scaleInX: varScale().inX, + scaleInY: varScale().inY, + scaleOutX: varScale().outX, + scaleOutY: varScale().outY, + // Rotate + rotateIn: varRotate().in, + rotateOut: varRotate().out, + // Background + kenburnsTop: varBgKenburns().top, + kenburnsBottom: varBgKenburns().bottom, + kenburnsLeft: varBgKenburns().left, + kenburnsRight: varBgKenburns().right, + panTop: varBgPan().top, + panBottom: varBgPan().bottom, + panLeft: varBgPan().left, + panRight: varBgPan().right, + color2x: varBgColor(), + color3x: varBgColor({ colors: ['#19dcea', '#b22cff', '#ea2222'] }), + color4x: varBgColor({ + colors: ['#19dcea', '#b22cff', '#ea2222', '#f5be10'], + }), + color5x: varBgColor({ + colors: ['#19dcea', '#b22cff', '#ea2222', '#f5be10', '#3bd80d'], + }), + }[variant]; +} diff --git a/frontend/src/components/animate/variants/path.ts b/frontend/src/components/animate/variants/path.ts new file mode 100644 index 0000000..a4bee2c --- /dev/null +++ b/frontend/src/components/animate/variants/path.ts @@ -0,0 +1,14 @@ +// ---------------------------------------------------------------------- + +export const TRANSITION = { + duration: 2, + ease: [0.43, 0.13, 0.23, 0.96], +}; + +export const varPath = { + animate: { + fillOpacity: [0, 0, 1], + pathLength: [1, 0.4, 0], + transition: TRANSITION, + }, +}; diff --git a/frontend/src/components/animate/variants/rotate.ts b/frontend/src/components/animate/variants/rotate.ts new file mode 100644 index 0000000..0b3fdfb --- /dev/null +++ b/frontend/src/components/animate/variants/rotate.ts @@ -0,0 +1,40 @@ +import { VariantsType } from '../types'; + +// +import { varTranEnter, varTranExit } from './transition'; + +// ---------------------------------------------------------------------- + +export const varRotate = (props?: VariantsType) => { + const durationIn = props?.durationIn; + const durationOut = props?.durationOut; + const easeIn = props?.easeIn; + const easeOut = props?.easeOut; + + return { + // IN + in: { + initial: { opacity: 0, rotate: -360 }, + animate: { + opacity: 1, + rotate: 0, + transition: varTranEnter({ durationIn, easeIn }), + }, + exit: { + opacity: 0, + rotate: -360, + transition: varTranExit({ durationOut, easeOut }), + }, + }, + + // OUT + out: { + initial: { opacity: 1, rotate: 0 }, + animate: { + opacity: 0, + rotate: -360, + transition: varTranExit({ durationOut, easeOut }), + }, + }, + }; +}; diff --git a/frontend/src/components/animate/variants/scale.ts b/frontend/src/components/animate/variants/scale.ts new file mode 100644 index 0000000..abee403 --- /dev/null +++ b/frontend/src/components/animate/variants/scale.ts @@ -0,0 +1,60 @@ +import { VariantsType } from '../types'; + +import { varTranEnter, varTranExit } from './transition'; + +// ---------------------------------------------------------------------- + +export const varScale = (props?: VariantsType) => { + const durationIn = props?.durationIn; + const durationOut = props?.durationOut; + const easeIn = props?.easeIn; + const easeOut = props?.easeOut; + + return { + // IN + inX: { + initial: { scaleX: 0, opacity: 0 }, + animate: { + scaleX: 1, + opacity: 1, + transition: varTranEnter({ durationIn, easeIn }), + }, + exit: { + scaleX: 0, + opacity: 0, + transition: varTranExit({ durationOut, easeOut }), + }, + }, + inY: { + initial: { scaleY: 0, opacity: 0 }, + animate: { + scaleY: 1, + opacity: 1, + transition: varTranEnter({ durationIn, easeIn }), + }, + exit: { + scaleY: 0, + opacity: 0, + transition: varTranExit({ durationOut, easeOut }), + }, + }, + + // OUT + outX: { + initial: { scaleX: 1, opacity: 1 }, + animate: { + scaleX: 0, + opacity: 0, + transition: varTranEnter({ durationIn, easeIn }), + }, + }, + outY: { + initial: { scaleY: 1, opacity: 1 }, + animate: { + scaleY: 0, + opacity: 0, + transition: varTranEnter({ durationIn, easeIn }), + }, + }, + }; +}; diff --git a/frontend/src/components/animate/variants/slide.ts b/frontend/src/components/animate/variants/slide.ts new file mode 100644 index 0000000..d9adacb --- /dev/null +++ b/frontend/src/components/animate/variants/slide.ts @@ -0,0 +1,72 @@ +import { VariantsType } from '../types'; + +// +import { varTranEnter, varTranExit } from './transition'; + +// ---------------------------------------------------------------------- + +export const varSlide = (props?: VariantsType) => { + const distance = props?.distance || 160; + const durationIn = props?.durationIn; + const durationOut = props?.durationOut; + const easeIn = props?.easeIn; + const easeOut = props?.easeOut; + + return { + // IN + inUp: { + initial: { y: distance }, + animate: { y: 0, transition: varTranEnter({ durationIn, easeIn }) }, + exit: { y: distance, transition: varTranExit({ durationOut, easeOut }) }, + }, + inDown: { + initial: { y: -distance }, + animate: { y: 0, transition: varTranEnter({ durationIn, easeIn }) }, + exit: { y: -distance, transition: varTranExit({ durationOut, easeOut }) }, + }, + inLeft: { + initial: { x: -distance }, + animate: { x: 0, transition: varTranEnter({ durationIn, easeIn }) }, + exit: { x: -distance, transition: varTranExit({ durationOut, easeOut }) }, + }, + inRight: { + initial: { x: distance }, + animate: { x: 0, transition: varTranEnter({ durationIn, easeIn }) }, + exit: { x: distance, transition: varTranExit({ durationOut, easeOut }) }, + }, + + // OUT + outUp: { + initial: { y: 0 }, + animate: { + y: -distance, + transition: varTranEnter({ durationIn, easeIn }), + }, + exit: { y: 0, transition: varTranExit({ durationOut, easeOut }) }, + }, + outDown: { + initial: { y: 0 }, + animate: { + y: distance, + transition: varTranEnter({ durationIn, easeIn }), + }, + exit: { y: 0, transition: varTranExit({ durationOut, easeOut }) }, + }, + outLeft: { + initial: { x: 0 }, + animate: { + x: -distance, + transition: varTranEnter({ durationIn, easeIn }), + }, + exit: { x: 0, transition: varTranExit({ durationOut, easeOut }) }, + }, + outRight: { + initial: { x: 0 }, + animate: { + x: distance, + transition: varTranEnter({ durationIn, easeIn }), + }, + exit: { x: 0, transition: varTranExit({ durationOut, easeOut }) }, + }, + }; +}; diff --git a/frontend/src/components/animate/variants/transition.ts b/frontend/src/components/animate/variants/transition.ts new file mode 100644 index 0000000..7ed7081 --- /dev/null +++ b/frontend/src/components/animate/variants/transition.ts @@ -0,0 +1,25 @@ +import { TranHoverType, TranEnterType, TranExitType } from '../types'; + +// https://www.framer.com/motion/transition/ +// A transition defines how values animate from one state to another. + +export const varTranHover = (props?: TranHoverType) => { + const duration = props?.duration || 0.32; + const ease = props?.ease || [0.43, 0.13, 0.23, 0.96]; + + return { duration, ease }; +}; + +export const varTranEnter = (props?: TranEnterType) => { + const duration = props?.durationIn || 0.64; + const ease = props?.easeIn || [0.43, 0.13, 0.23, 0.96]; + + return { duration, ease }; +}; + +export const varTranExit = (props?: TranExitType) => { + const duration = props?.durationOut || 0.48; + const ease = props?.easeOut || [0.43, 0.13, 0.23, 0.96]; + + return { duration, ease }; +}; diff --git a/frontend/src/components/animate/variants/zoom.ts b/frontend/src/components/animate/variants/zoom.ts new file mode 100644 index 0000000..86e078b --- /dev/null +++ b/frontend/src/components/animate/variants/zoom.ts @@ -0,0 +1,137 @@ +import { VariantsType } from '../types'; + +// +import { varTranEnter, varTranExit } from './transition'; + +// ---------------------------------------------------------------------- + +export const varZoom = (props?: VariantsType) => { + const distance = props?.distance || 720; + const durationIn = props?.durationIn; + const durationOut = props?.durationOut; + const easeIn = props?.easeIn; + const easeOut = props?.easeOut; + + return { + // IN + in: { + initial: { scale: 0, opacity: 0 }, + animate: { + scale: 1, + opacity: 1, + transition: varTranEnter({ durationIn, easeIn }), + }, + exit: { + scale: 0, + opacity: 0, + transition: varTranExit({ durationOut, easeOut }), + }, + }, + inUp: { + initial: { scale: 0, opacity: 0, translateY: distance }, + animate: { + scale: 1, + opacity: 1, + translateY: 0, + transition: varTranEnter({ durationIn, easeIn }), + }, + exit: { + scale: 0, + opacity: 0, + translateY: distance, + transition: varTranExit({ durationOut, easeOut }), + }, + }, + inDown: { + initial: { scale: 0, opacity: 0, translateY: -distance }, + animate: { + scale: 1, + opacity: 1, + translateY: 0, + transition: varTranEnter({ durationIn, easeIn }), + }, + exit: { + scale: 0, + opacity: 0, + translateY: -distance, + transition: varTranExit({ durationOut, easeOut }), + }, + }, + inLeft: { + initial: { scale: 0, opacity: 0, translateX: -distance }, + animate: { + scale: 1, + opacity: 1, + translateX: 0, + transition: varTranEnter({ durationIn, easeIn }), + }, + exit: { + scale: 0, + opacity: 0, + translateX: -distance, + transition: varTranExit({ durationOut, easeOut }), + }, + }, + inRight: { + initial: { scale: 0, opacity: 0, translateX: distance }, + animate: { + scale: 1, + opacity: 1, + translateX: 0, + transition: varTranEnter({ durationIn, easeIn }), + }, + exit: { + scale: 0, + opacity: 0, + translateX: distance, + transition: varTranExit({ durationOut, easeOut }), + }, + }, + + // OUT + out: { + initial: { scale: 1, opacity: 1 }, + animate: { + scale: 0, + opacity: 0, + transition: varTranEnter({ durationIn, easeIn }), + }, + }, + outUp: { + initial: { scale: 1, opacity: 1 }, + animate: { + scale: 0, + opacity: 0, + translateY: -distance, + transition: varTranEnter({ durationIn, easeIn }), + }, + }, + outDown: { + initial: { scale: 1, opacity: 1 }, + animate: { + scale: 0, + opacity: 0, + translateY: distance, + transition: varTranEnter({ durationIn, easeIn }), + }, + }, + outLeft: { + initial: { scale: 1, opacity: 1 }, + animate: { + scale: 0, + opacity: 0, + translateX: -distance, + transition: varTranEnter({ durationIn, easeIn }), + }, + }, + outRight: { + initial: { scale: 1, opacity: 1 }, + animate: { + scale: 0, + opacity: 0, + translateX: distance, + transition: varTranEnter({ durationIn, easeIn }), + }, + }, + }; +}; diff --git a/frontend/src/components/card/index.tsx b/frontend/src/components/card/index.tsx new file mode 100644 index 0000000..130267e --- /dev/null +++ b/frontend/src/components/card/index.tsx @@ -0,0 +1,40 @@ +import { CSSProperties, ReactNode } from 'react'; + +import { useSettings } from '@/store/settingStore'; +import { useThemeToken } from '@/theme/hooks'; + +import { ThemeMode } from '#/enum'; + +type Props = { + children?: ReactNode; + className?: string; + style?: CSSProperties; +}; +export default function Card({ children, ...other }: Props) { + const { colorBgContainer } = useThemeToken(); + const { themeMode } = useSettings(); + + const boxShadow: { [key in ThemeMode]: string } = { + light: 'rgba(145, 158, 171, 0.2) 0px 0px 2px 0px, rgba(145, 158, 171, 0.12) 0px 12px 24px -4px', + dark: 'rgba(0, 0, 0, 0.2) 0px 0px 2px 0px, rgba(0, 0, 0, 0.12) 0px 12px 24px -4px', + }; + return ( +

+ ); +} diff --git a/frontend/src/components/chart/chart.tsx b/frontend/src/components/chart/chart.tsx new file mode 100644 index 0000000..c5fd5c6 --- /dev/null +++ b/frontend/src/components/chart/chart.tsx @@ -0,0 +1,21 @@ +import { memo } from 'react'; +import ApexChart from 'react-apexcharts'; + +import { useSettings } from '@/store/settingStore'; +import { useThemeToken } from '@/theme/hooks'; + +import { StyledApexChart } from './styles'; + +import type { Props as ApexChartProps } from 'react-apexcharts'; + +function Chart(props: ApexChartProps) { + const { themeMode } = useSettings(); + const theme = useThemeToken(); + return ( + + + + ); +} + +export default memo(Chart); diff --git a/frontend/src/components/chart/styles.ts b/frontend/src/components/chart/styles.ts new file mode 100644 index 0000000..b59cba1 --- /dev/null +++ b/frontend/src/components/chart/styles.ts @@ -0,0 +1,58 @@ +import { GlobalToken } from 'antd'; +import Color from 'color'; +import styled from 'styled-components'; + +import { ThemeMode } from '#/enum'; + +export const StyledApexChart = styled.div<{ $thememode: ThemeMode; $theme: GlobalToken }>` + .apexcharts-canvas { + /* TOOLTIP */ + .apexcharts-tooltip { + color: ${(props) => props.$theme.colorText}; + border-radius: 10px; + backdrop-filter: blur(6px); + background-color: ${(props) => Color(props.$theme.colorBgElevated).alpha(0.8).toString()}; + box-shadow: ${(props) => + props.$thememode === ThemeMode.Light + ? `rgba(145, 158, 171, 0.24) 0px 0px 2px 0px, rgba(145, 158, 171, 0.24) -20px 20px 40px -4px` + : `rgba(0, 0, 0, 0.24) 0px 0px 2px 0px, rgba(0, 0, 0, 0.24) -20px 20px 40px -4px;`}; + .apexcharts-tooltip-title { + text-align: center; + font-weight: bold; + background-color: rgba(145, 158, 171, 0.08); + } + } + + /* TOOLTIP X */ + .apexcharts-xaxistooltip { + color: ${(props) => props.$theme.colorText}; + border-radius: 10px; + backdrop-filter: blur(6px); + border-color: transparent; + box-shadow: ${(props) => + props.$thememode === ThemeMode.Light + ? `rgba(145, 158, 171, 0.24) 0px 0px 2px 0px, rgba(145, 158, 171, 0.24) -20px 20px 40px -4px` + : `rgba(0, 0, 0, 0.24) 0px 0px 2px 0px, rgba(0, 0, 0, 0.24) -20px 20px 40px -4px;`}; + background-color: ${(props) => Color(props.$theme.colorBgElevated).alpha(0.8).toString()}; + &::before { + border-bottom-color: rgba(145, 158, 171, 0.24); + } + &::after { + border-bottom-color: rgba(255, 255, 255, 0.8); + } + } + + /* LEGEND */ + .apexcharts-legend { + padding: 0; + .apexcharts-legend-series { + display: inline-flex !important; + align-items: ecnter; + } + .apexcharts-legend-text { + line-height: 18px; + text-transform: capitalize; + } + } + } +`; diff --git a/frontend/src/components/chart/useChart.ts b/frontend/src/components/chart/useChart.ts new file mode 100644 index 0000000..07d6367 --- /dev/null +++ b/frontend/src/components/chart/useChart.ts @@ -0,0 +1,206 @@ +import { ApexOptions } from 'apexcharts'; +import { mergeDeepRight } from 'ramda'; + +import { useThemeToken } from '@/theme/hooks'; + +export default function useChart(options: ApexOptions) { + const theme = useThemeToken(); + + const LABEL_TOTAL = { + show: true, + label: 'Total', + color: theme.colorTextSecondary, + fontSize: theme.fontSizeHeading2, + lineHeight: theme.lineHeightHeading2, + }; + + const LABEL_VALUE = { + offsetY: 8, + color: theme.colorText, + fontSize: theme.fontSizeHeading3, + lineHeight: theme.lineHeightHeading3, + }; + + const baseOptions = { + // Colors + colors: [ + theme.colorPrimary, + theme.colorWarning, + theme.colorInfo, + theme.colorError, + theme.colorSuccess, + theme.colorWarningActive, + theme.colorSuccessActive, + theme.colorInfoActive, + theme.colorInfoText, + ], + + // Chart + chart: { + toolbar: { show: false }, + zoom: { enabled: false }, + foreColor: theme.colorTextDisabled, + fontFamily: theme.fontFamily, + }, + + // States + states: { + hover: { + filter: { + type: 'lighten', + value: 0.04, + }, + }, + active: { + filter: { + type: 'darken', + value: 0.88, + }, + }, + }, + + // Fill + fill: { + opacity: 1, + gradient: { + type: 'vertical', + shadeIntensity: 0, + opacityFrom: 0.4, + opacityTo: 0, + stops: [0, 100], + }, + }, + + // Datalabels + dataLabels: { + enabled: false, + }, + + // Stroke + stroke: { + width: 3, + curve: 'smooth', + lineCap: 'round', + }, + + // Grid + grid: { + strokeDashArray: 3, + borderColor: theme.colorSplit, + xaxis: { + lines: { + show: false, + }, + }, + }, + + // Xaxis + xaxis: { + axisBorder: { show: false }, + axisTicks: { show: false }, + }, + + // Markers + markers: { + size: 0, + }, + + // Tooltip + tooltip: { + theme: false, + x: { + show: true, + }, + }, + + // Legend + legend: { + show: true, + fontSize: 13, + position: 'top', + horizontalAlign: 'right', + markers: { + radius: 12, + }, + fontWeight: 500, + itemMargin: { + horizontal: 8, + }, + labels: { + colors: theme.colorText, + }, + }, + + // plotOptions + plotOptions: { + // Bar + bar: { + borderRadius: 4, + columnWidth: '28%', + borderRadiusApplication: 'end', + borderRadiusWhenStacked: 'last', + }, + + // Pie + Donut + pie: { + donut: { + labels: { + show: true, + value: LABEL_VALUE, + total: LABEL_TOTAL, + }, + }, + }, + + // Radialbar + radialBar: { + track: { + strokeWidth: '100%', + }, + dataLabels: { + value: LABEL_VALUE, + total: LABEL_TOTAL, + }, + }, + + // Radar + radar: { + polygons: { + fill: { colors: ['transparent'] }, + strokeColors: theme.colorSplit, + connectorColors: theme.colorSplit, + }, + }, + + // polarArea + polarArea: { + rings: { + strokeColor: theme.colorSplit, + }, + spokes: { + connectorColors: theme.colorSplit, + }, + }, + }, + + // Responsive + responsive: [ + { + // sm + breakpoint: theme.screenSM, + options: { + plotOptions: { bar: { columnWidth: '40%' } }, + }, + }, + { + // md + breakpoint: theme.screenMD, + options: { + plotOptions: { bar: { columnWidth: '32%' } }, + }, + }, + ], + }; + + return mergeDeepRight(baseOptions, options) as ApexOptions; +} diff --git a/frontend/src/components/editor/index.tsx b/frontend/src/components/editor/index.tsx new file mode 100644 index 0000000..3e8f661 --- /dev/null +++ b/frontend/src/components/editor/index.tsx @@ -0,0 +1,40 @@ +/* eslint-disable import/order */ +import '@/utils/highlight'; +import ReactQuill, { ReactQuillProps } from 'react-quill'; +import Toolbar, { formats } from './toolbar'; +import { useSettings } from '@/store/settingStore'; +import { useThemeToken } from '@/theme/hooks'; +import { StyledEditor } from './styles'; + +interface Props extends ReactQuillProps { + sample?: boolean; +} +export default function Editor({ id = 'slash-quill', sample = false, ...other }: Props) { + const token = useThemeToken(); + const { themeMode } = useSettings(); + const modules = { + toolbar: { + container: `#${id}`, + }, + history: { + delay: 500, + maxStack: 100, + userOnly: true, + }, + syntax: true, + clipboard: { + matchVisual: false, + }, + }; + return ( + + + + + ); +} diff --git a/frontend/src/components/editor/styles.ts b/frontend/src/components/editor/styles.ts new file mode 100644 index 0000000..241a764 --- /dev/null +++ b/frontend/src/components/editor/styles.ts @@ -0,0 +1,187 @@ +import { GlobalToken } from 'antd'; +import styled from 'styled-components'; + +import { ThemeMode } from '#/enum'; + +type KeyofToken = keyof GlobalToken; +const getHeadingStyle = (level: 1 | 2 | 3 | 4 | 5, token: GlobalToken) => { + const fontSizeHeading: KeyofToken = `fontSizeHeading${level}`; + const lineHeightHeading: KeyofToken = `lineHeightHeading${level}`; + + return { + margin: 0, + color: token.colorTextHeading, + fontWeight: 800, + fontSize: token[fontSizeHeading], + lineHeight: token[lineHeightHeading], + }; +}; + +const StyledEditor = styled.div<{ $token: GlobalToken; $thememode: ThemeMode }>` + h1 { + ${(props) => getHeadingStyle(1, props.$token)}; + } + h2 { + ${(props) => getHeadingStyle(2, props.$token)}; + } + h3 { + ${(props) => getHeadingStyle(3, props.$token)}; + } + h4 { + ${(props) => getHeadingStyle(4, props.$token)}; + } + h5 { + ${(props) => getHeadingStyle(5, props.$token)}; + } + overflow: hidden; + position: relative; + border-radius: 8px; + border: 1px solid rgba(119, 145, 170, 0.2); + & .ql-container.ql-snow { + border: none; + line-height: 1.6; + font-weight: 400; + font-size: 0.875rem; + } + & .ql-editor { + min-height: 160px; + max-height: 640px; + background-color: rgba(145, 158, 171, 0.08); + &.ql-blank::before { + font-style: normal; + color: rgb(145, 158, 171); + } + & pre.ql-syntax { + border-radius: 8px; + line-height: 1.57143; + font-size: 0.875rem; + font-family: 'Public Sans', sans-serif; + font-weight: 400; + padding: 16px; + border-radius: 8px; + background-color: rgb(22, 28, 36); + } + } +`; + +const StyledToolbar = styled.div<{ $token: GlobalToken; $thememode: ThemeMode }>` + & .ql-snow.ql-toolbar button:hover .ql-fill, + .ql-snow .ql-toolbar button:hover .ql-fill, + .ql-snow.ql-toolbar button:focus .ql-fill, + .ql-snow .ql-toolbar button:focus .ql-fill, + .ql-snow.ql-toolbar button.ql-active .ql-fill, + .ql-snow .ql-toolbar button.ql-active .ql-fill, + .ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill, + .ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill, + .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill, + .ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill, + .ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill, + .ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill, + .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill, + .ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill, + .ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill, + .ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill, + .ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill, + .ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill, + .ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill, + .ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill, + .ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill, + .ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill, + .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill, + .ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill, + .ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill, + .ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill, + .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill, + .ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill { + fill: ${(props) => props.$token.colorPrimary}; + } + & .ql-snow.ql-toolbar button:hover, + .ql-snow .ql-toolbar button:hover, + .ql-snow.ql-toolbar button:focus, + .ql-snow .ql-toolbar button:focus, + .ql-snow.ql-toolbar button.ql-active, + .ql-snow .ql-toolbar button.ql-active, + .ql-snow.ql-toolbar .ql-picker-label:hover, + .ql-snow .ql-toolbar .ql-picker-label:hover, + .ql-snow.ql-toolbar .ql-picker-label.ql-active, + .ql-snow .ql-toolbar .ql-picker-label.ql-active, + .ql-snow.ql-toolbar .ql-picker-item:hover, + .ql-snow .ql-toolbar .ql-picker-item:hover, + .ql-snow.ql-toolbar .ql-picker-item.ql-selected, + .ql-snow .ql-toolbar .ql-picker-item.ql-selected { + color: ${(props) => props.$token.colorPrimary}; + } + + & .ql-snow.ql-toolbar button:hover .ql-stroke, + .ql-snow .ql-toolbar button:hover .ql-stroke, + .ql-snow.ql-toolbar button:focus .ql-stroke, + .ql-snow .ql-toolbar button:focus .ql-stroke, + .ql-snow.ql-toolbar button.ql-active .ql-stroke, + .ql-snow .ql-toolbar button.ql-active .ql-stroke, + .ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke, + .ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke, + .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke, + .ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke, + .ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke, + .ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke, + .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke, + .ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke, + .ql-snow.ql-toolbar button:hover .ql-stroke-miter, + .ql-snow .ql-toolbar button:hover .ql-stroke-miter, + .ql-snow.ql-toolbar button:focus .ql-stroke-miter, + .ql-snow .ql-toolbar button:focus .ql-stroke-miter, + .ql-snow.ql-toolbar button.ql-active .ql-stroke-miter, + .ql-snow .ql-toolbar button.ql-active .ql-stroke-miter, + .ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter, + .ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter, + .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter, + .ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter, + .ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter, + .ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter, + .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter, + .ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter { + stroke: ${(props) => props.$token.colorPrimary}; + } + + & .ql-stroke { + stroke: ${(props) => props.$token.colorTextBase}; + } + & .ql-fill, + .ql-stroke.ql-fill { + fill: ${(props) => props.$token.colorTextBase}; + } + + & .ql-toolbar.ql-snow { + border: none; + border-bottom: 1px solid rgba(119, 145, 170, 0.2); + // Button + & button { + padding: 0; + display: flex; + align-items: center; + justify-content: center; + border-radius: 4px; + } + & button svg, + span svg { + width: 20px; + height: 20px; + } + & .ql-picker-label { + border-radius: 4px; + border-color: transparent !important; + background-color: ${(props) => props.$token.colorBgContainerDisabled}; + color: ${(props) => props.$token.colorTextBase}; + } + & .ql-picker-options { + margin-top: 4px; + border: none; + max-height: 200px; + overflow: auto; + border-radius: 8px; + color: ${(props) => props.$token.colorTextBase}; + background-color: ${(props) => props.$token.colorBgContainer}; + } + } +`; +export { StyledEditor, StyledToolbar }; diff --git a/frontend/src/components/editor/toolbar.tsx b/frontend/src/components/editor/toolbar.tsx new file mode 100644 index 0000000..64a7140 --- /dev/null +++ b/frontend/src/components/editor/toolbar.tsx @@ -0,0 +1,109 @@ +import { useSettings } from '@/store/settingStore'; +import { useThemeToken } from '@/theme/hooks'; + +import { StyledToolbar } from './styles'; + +const HEADINGS = ['Heading 1', 'Heading 2', 'Heading 3', 'Heading 4', 'Heading 5', 'Heading 6']; + +export const formats = [ + 'align', + 'background', + 'blockquote', + 'bold', + 'bullet', + 'code', + 'code-block', + 'color', + 'direction', + 'font', + 'formula', + 'header', + 'image', + 'indent', + 'italic', + 'link', + 'list', + 'script', + 'size', + 'strike', + 'table', + 'underline', + 'video', +]; + +type EditorToolbarProps = { + id: string; + isSimple?: boolean; +}; + +export default function Toolbar({ id, isSimple, ...other }: EditorToolbarProps) { + const token = useThemeToken(); + const { themeMode } = useSettings(); + return ( + +
+
+ +
+ +
+
+ + {!isSimple && ( +
+ +
+ )} + +
+
+ + {!isSimple && ( +
+
+ )} + + {!isSimple && ( +
+
+ )} + +
+ + + + + + +
+ + + + + + + + + } + > + + + + + + + ); +} + +export type ShareModalProps = { + formValue: Share; + title: string; + show: boolean; + onOk: (values: Share, callback: any) => void; + onCancel: VoidFunction; +}; + +export function ShareModal({ title, show, formValue, onOk, onCancel }: ShareModalProps) { + const [form] = Form.useForm(); + const [loading, setLoading] = useState(false); + const { t } = useTranslation(); + + const mode = title === 'Edit' || title === '编辑' ? 'edit' : 'create'; + + useEffect(() => { + form.setFieldsValue({ ...formValue }); + }, [formValue, form]); + + const onModalOk = () => { + form.validateFields().then((values) => { + onOk(values, setLoading); + }); + }; + + return ( + { + form.resetFields(); + onCancel(); + }} + okButtonProps={{ + loading, + }} + destroyOnClose={false} + > +
+ name="id" hidden> + + + name="shareToken" hidden> + + + name="accountId" hidden> + + + label="Unique Name" name="uniqueName" required> + + + label={t('token.password')} name="password" required> + + + +
+ label={t('token.expiresIn')} name="expiresIn"> + (value == 0 ? '默认' : `${value} 秒`)} /> + + + + label={t('token.siteLimit')} name="siteLimit"> + + + + + + + label={t('token.gpt35Limit')} name="gpt35Limit"> + + style={{ width: '100%' }} + formatter={(value) => { + switch (value?.toString()) { + case '-1': + return '无限制'; + case '0': + return '禁用'; + default: + return `${value}`; + } + }} + parser={(value) => { + switch (value) { + case '无限制': + return -1; + case '禁用': + return 0; + default: + return parseInt(value!); + } + }} + /> + + + + + label={ + + } + name="gpt4Limit" + > + + style={{ width: '100%' }} + formatter={(value) => { + switch (value?.toString()) { + case '-1': + return '无限制'; + case '0': + return '禁用'; + default: + return `${value}`; + } + }} + parser={(value) => { + switch (value) { + case '无限制': + return -1; + case '禁用': + return 0; + default: + return parseInt(value!); + } + }} + /> + + + + + + + + label={ + + } + name="refreshEveryday" + valuePropName="checked" + > + + + + + + label={t('token.showUserinfo')} + name="showUserinfo" + labelCol={{ span: 18 }} + wrapperCol={{ span: 6 }} + valuePropName="checked" + > + + + + + + label={t('token.showConversations')} + name="showConversations" + valuePropName="checked" + > + + + + + label={t('token.comment')} name="comment"> + + + + + ); +} + +type AccountModalProps = { + formValue: AccountAddReq; + title: string; + show: boolean; + onOk: (values: AccountAddReq, setLoading: any) => void; + onCancel: VoidFunction; +}; + +function AccountModal({ title, show, formValue, onOk, onCancel }: AccountModalProps) { + const [form] = Form.useForm(); + const [loading, setLoading] = useState(false); + const { t } = useTranslation(); + + // useEffect(() => { + // form.setFieldsValue({...formValue}); + // }, [formValue, form]); + + const onModalOk = () => { + form.validateFields().then((values) => { + setLoading(true); + onOk(values, setLoading); + }); + }; + + return ( + { + form.resetFields(); + onCancel(); + }} + okButtonProps={{ + loading, + }} + destroyOnClose={false} + > +
+ name="id" hidden> + + + label="Email" name="email" required> + + + label={t('token.password')} name="password"> + + + + label={t('token.share')} + name="shared" + labelAlign="left" + valuePropName="checked" + getValueFromEvent={(v) => { + return v ? 1 : 0; + }} + required + > + + + + label={`Refresh Token(${t('common.optional')})`} + name="refreshToken" + > + + + + label={`Access Token(${t('common.optional')})`} + name="accessToken" + > + + + +
+ ); +} + +type ShareInfoModalProps = { + accountId: number; + onOk: VoidFunction; + show: boolean; +}; + +function ShareInfoModal({ accountId, onOk, show }: ShareInfoModalProps) { + const { data: statistic, isLoading } = useQuery({ + queryKey: ['shareInfo', accountId], + queryFn: () => shareService.getShareStatistic(accountId), + enabled: show, + }); + + const { t } = useTranslation(); + + const chartOptions = useChart({ + legend: { + horizontalAlign: 'center', + }, + stroke: { + show: true, + }, + dataLabels: { + enabled: true, + dropShadow: { + enabled: false, + }, + }, + xaxis: { + categories: statistic?.categories || [], + }, + tooltip: { + fillSeriesColor: false, + }, + plotOptions: { + pie: { + donut: { + labels: { + show: false, + }, + }, + }, + }, + }); + + return ( + + + + + + ); +} diff --git a/frontend/src/pages/token/share/index.tsx b/frontend/src/pages/token/share/index.tsx new file mode 100644 index 0000000..64d4f92 --- /dev/null +++ b/frontend/src/pages/token/share/index.tsx @@ -0,0 +1,196 @@ +// import { useQuery } from '@tanstack/react-query'; +import { + Button, + Card, + Col, + Form, + Input, + Popconfirm, + Row, + Space, Typography, +} from 'antd'; +import Table, { ColumnsType } from 'antd/es/table'; +import {useEffect, useState} from 'react'; + +import {defaultShare, Share} from '#/entity'; +import { + DeleteOutlined, EditOutlined, +} from "@ant-design/icons"; +import {useQuery} from "@tanstack/react-query"; +import {useSearchParams} from "@/router/hooks"; +import shareService from "@/api/services/shareService.ts"; +import {useDeleteShareMutation, useUpdateShareMutation} from "@/store/shareStore.ts"; +import {ShareModal, ShareModalProps} from "@/pages/token/account"; +import {useTranslation} from "react-i18next"; +import {onCopy} from "@/utils/copy.ts"; +type SearchFormFieldType = { + email?: string; + uniqueName?: string; +}; + +export default function SharePage() { + + const deleteShareMutation = useDeleteShareMutation() + const updateShareMutation = useUpdateShareMutation() + + const {t} = useTranslation() + + const params = useSearchParams(); + const [searchForm] = Form.useForm(); + const email = Form.useWatch('email', searchForm); + const uniqueName = Form.useWatch('uniqueName', searchForm); + const [deleteRowKey, setDeleteRowKey] = useState(undefined); + const [shareModalProps, setShareModalProps] = useState({ + formValue: {...defaultShare,}, + title: t('token.edit'), + show: false, + onOk: (values: Share) => { + console.log(values) + setShareModalProps((prev) => ({...prev, show: false})); + }, + onCancel: () => { + setShareModalProps((prev) => ({...prev, show: false})); + }, + }); + + + useEffect(() => { + searchForm.setFieldValue('email', params.get('email')) + }, [params]); + + const columns: ColumnsType = [ + {title: t('token.email'), dataIndex: ['account','email'], + render: (text) => ( + + {text} + + ) + }, + { title: 'Unique Name', dataIndex: 'uniqueName', align: 'center', width: 120 }, + { title: t('token.password'), dataIndex: 'password', align: 'center', width: 120 }, + { title: t('token.gpt35Limit'), dataIndex: 'gpt35Limit', align: 'center', width: 120, + render: text => text == -1 ? '无限制' : text + }, + { title: t('token.gpt4Limit'), dataIndex: 'gpt4Limit', align: 'center', width: 120, + render: text => text == -1 ? '无限制' : text + }, + { title: t('token.refreshEveryday'), dataIndex: 'refreshEveryday', align: 'center', width: 120, + render: text => text ? '是' : '否' + }, + { title: t('token.expiresIn'), dataIndex: 'expiresIn', align: 'center', width: 120, + render: text => text == 0 ? '最大' : text + }, + { title: 'Share Token', dataIndex: 'shareToken', align: 'center', + render: (text) => ( + onCopy(text, t, e)} readOnly/> + ), + }, + { title: t('token.comment'), dataIndex: 'comment', align: 'center', + render: (text) => ( + + {text} + + ) + }, + { + title: t('token.action'), + key: 'operation', + align: 'center', + render: (_,record) => ( + +
+ label={t('token.email')} name="email" className="!mb-0"> + + + + + label="Unique Name" name="uniqueName" className="!mb-0"> + + + + +
+ + +
+ + + + + + +
record.accountId + record.uniqueName} + size="small" + scroll={{ x: 'max-content' }} + pagination={{ pageSize: 10 }} + columns={columns} + dataSource={data} + /> + + + + ); +} diff --git a/frontend/src/router/components/auth-guard.tsx b/frontend/src/router/components/auth-guard.tsx new file mode 100644 index 0000000..c10341b --- /dev/null +++ b/frontend/src/router/components/auth-guard.tsx @@ -0,0 +1,27 @@ +import { useCallback, useEffect } from 'react'; + +import { useUserToken } from '@/store/userStore'; + +import { useRouter } from '../hooks'; +import {useLocation} from "react-router-dom"; +type Props = { + children: React.ReactNode; +}; +export default function AuthGuard({ children }: Props) { + const router = useRouter(); + const location = useLocation() + const { accessToken } = useUserToken(); + + const check = useCallback(() => { + console.log(location.pathname) + if (!accessToken && location.pathname !== '/login') { + router.replace('/login'); + } + }, [router, accessToken]); + + useEffect(() => { + check(); + }, [check]); + + return children; +} diff --git a/frontend/src/router/hooks/index.ts b/frontend/src/router/hooks/index.ts new file mode 100644 index 0000000..94a4ff5 --- /dev/null +++ b/frontend/src/router/hooks/index.ts @@ -0,0 +1,8 @@ +export { useParams } from './use-params'; +export { usePathname } from './use-pathname'; +export { useSearchParams } from './use-search-params'; +export { useRouter } from './use-router'; +export { useRouteToMenuFn } from './use-route-to-menu'; +export { usePermissionRoutes } from './use-permission-routes'; +export { useMatchRouteMeta } from './use-match-route-meta'; +export { useFlattenedRoutes } from './use-flattened-routes'; diff --git a/frontend/src/router/hooks/use-flattened-routes.ts b/frontend/src/router/hooks/use-flattened-routes.ts new file mode 100644 index 0000000..6c9a95b --- /dev/null +++ b/frontend/src/router/hooks/use-flattened-routes.ts @@ -0,0 +1,17 @@ +import { useCallback, useMemo } from 'react'; + +import { flattenMenuRoutes, menuFilter } from '../utils'; + +import { usePermissionRoutes } from './use-permission-routes'; + +/** + * 返回拍平后的菜单路由 + */ +export function useFlattenedRoutes() { + const flattenRoutes = useCallback(flattenMenuRoutes, []); + const permissionRoutes = usePermissionRoutes(); + return useMemo(() => { + const menuRoutes = menuFilter(permissionRoutes); + return flattenRoutes(menuRoutes); + }, [flattenRoutes, permissionRoutes]); +} diff --git a/frontend/src/router/hooks/use-match-route-meta.tsx b/frontend/src/router/hooks/use-match-route-meta.tsx new file mode 100644 index 0000000..1f1c255 --- /dev/null +++ b/frontend/src/router/hooks/use-match-route-meta.tsx @@ -0,0 +1,48 @@ +import { useEffect, useState } from 'react'; +import { useMatches, useOutlet } from 'react-router-dom'; + +import { useFlattenedRoutes } from './use-flattened-routes'; +import { useRouter } from './use-router'; + +import { RouteMeta } from '#/router'; + +/** + * 返回当前路由Meta信息 + */ +export function useMatchRouteMeta() { + const { VITE_APP_HOMEPAGE: HOMEPAGE } = import.meta.env; + const [matchRouteMeta, setMatchRouteMeta] = useState(); + + // 获取路由组件实例 + const children = useOutlet(); + + // 获取所有匹配的路由 + const matchs = useMatches(); + + // 获取拍平后的路由菜单 + const flattenedRoutes = useFlattenedRoutes(); + + // const pathname = usePathname(); + const { push } = useRouter(); + + useEffect(() => { + // 获取当前匹配的路由 + console.log('matchs1', matchs, flattenedRoutes); + const lastRoute = matchs.at(-1); + + const currentRouteMeta = flattenedRoutes.find( + (item) => item.key === lastRoute?.pathname || `${item.key}/` === lastRoute?.pathname, + ); + if (currentRouteMeta) { + if (!currentRouteMeta.hideTab) { + currentRouteMeta.outlet = children; + setMatchRouteMeta(currentRouteMeta); + } + } else { + push(HOMEPAGE); + } + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [matchs]); + + return matchRouteMeta; +} diff --git a/frontend/src/router/hooks/use-params.ts b/frontend/src/router/hooks/use-params.ts new file mode 100644 index 0000000..cb09b62 --- /dev/null +++ b/frontend/src/router/hooks/use-params.ts @@ -0,0 +1,8 @@ +import { useMemo } from 'react'; +import { useParams as _useParams } from 'react-router-dom'; + +export function useParams() { + const params = _useParams(); + + return useMemo(() => params, [params]); +} diff --git a/frontend/src/router/hooks/use-pathname.ts b/frontend/src/router/hooks/use-pathname.ts new file mode 100644 index 0000000..2f2df8e --- /dev/null +++ b/frontend/src/router/hooks/use-pathname.ts @@ -0,0 +1,8 @@ +import { useMemo } from 'react'; +import { useLocation } from 'react-router-dom'; + +export function usePathname() { + const { pathname } = useLocation(); + + return useMemo(() => pathname, [pathname]); +} diff --git a/frontend/src/router/hooks/use-permission-routes.tsx b/frontend/src/router/hooks/use-permission-routes.tsx new file mode 100644 index 0000000..ef21340 --- /dev/null +++ b/frontend/src/router/hooks/use-permission-routes.tsx @@ -0,0 +1,129 @@ +import { isEmpty } from 'ramda'; +import { Suspense, lazy, useMemo } from 'react'; +import { Navigate, Outlet } from 'react-router-dom'; + +import { Iconify } from '@/components/icon'; +import { CircleLoading } from '@/components/loading'; +import { useUserPermission } from '@/store/userStore'; +import ProTag from '@/theme/antd/components/tag'; +import { flattenTrees } from '@/utils/tree'; + +import { Permission } from '#/entity'; +import { BasicStatus, PermissionType } from '#/enum'; +import { AppRouteObject } from '#/router'; + +// 使用 import.meta.glob 获取所有路由组件 +const pages = import.meta.glob('/src/pages/**/*.tsx'); + +// 构建绝对路径的函数 +function resolveComponent(path: string) { + return pages[`/src/pages${path}`]; +} + +/** + * return routes about permission + */ +export function usePermissionRoutes() { + const permissions = useUserPermission(); + + return useMemo(() => { + const flattenedPermissions = flattenTrees(permissions!); + const permissionRoutes = transformPermissionToMenuRoutes( + permissions || [], + flattenedPermissions, + ); + return [...permissionRoutes]; + }, [permissions]); +} + +/** + * transform Permission[] to AppRouteObject[] + * @param permissions + * @param parent + */ +function transformPermissionToMenuRoutes( + permissions: Permission[], + flattenedPermissions: Permission[], +) { + return permissions.map((permission) => { + const { + route, + type, + label, + icon, + order, + hide, + status, + frameSrc, + newFeature, + component, + parentId, + children = [], + } = permission; + + const appRoute: AppRouteObject = { + path: route, + meta: { + label, + key: getCompleteRoute(permission, flattenedPermissions), + hideMenu: !!hide, + disabled: status === BasicStatus.DISABLE, + }, + }; + + if (order) appRoute.order = order; + if (icon) appRoute.meta!.icon = icon; + if (frameSrc) appRoute.meta!.frameSrc = frameSrc; + if (newFeature) + appRoute.meta!.suffix = ( + }> + NEW + + ); + + if (type === PermissionType.CATALOGUE) { + appRoute.meta!.hideTab = true; + if (!parentId) { + appRoute.element = ( + }> + + + ); + } + appRoute.children = transformPermissionToMenuRoutes(children, flattenedPermissions); + if (!isEmpty(children)) { + appRoute.children.unshift({ + index: true, + element: , + }); + } + } else if (type === PermissionType.MENU) { + const Element = lazy(resolveComponent(component!) as any); + if (frameSrc) { + appRoute.element = ; + } else { + appRoute.element = ; + } + } + + return appRoute; + }); +} + +/** + * Splicing from the root permission route to the current permission route + * @param {Permission} permission - current permission + * @param {Permission[]} flattenedPermissions - flattened permission array + * @param {string} route - parent permission route + * @returns {string} - The complete route after splicing + */ +function getCompleteRoute(permission: Permission, flattenedPermissions: Permission[], route = '') { + const currentRoute = route ? `/${permission.route}${route}` : `/${permission.route}`; + + if (permission.parentId) { + const parentPermission = flattenedPermissions.find((p) => p.id === permission.parentId)!; + return getCompleteRoute(parentPermission, flattenedPermissions, currentRoute); + } + + return currentRoute; +} diff --git a/frontend/src/router/hooks/use-route-to-menu.tsx b/frontend/src/router/hooks/use-route-to-menu.tsx new file mode 100644 index 0000000..840d032 --- /dev/null +++ b/frontend/src/router/hooks/use-route-to-menu.tsx @@ -0,0 +1,59 @@ +import { ItemType } from 'antd/es/menu/hooks/useItems'; +import { useCallback } from 'react'; +import { useTranslation } from 'react-i18next'; + +import { Iconify, SvgIcon } from '@/components/icon'; +import { useSettings } from '@/store/settingStore'; + +import { ThemeLayout } from '#/enum'; +import { AppRouteObject } from '#/router'; + +/** + * routes -> menus + */ +export function useRouteToMenuFn() { + const { t } = useTranslation(); + const { themeLayout } = useSettings(); + const routeToMenuFn = useCallback( + (items: AppRouteObject[]) => { + return items + .filter((item) => !item.meta?.hideMenu) + .map((item) => { + const menuItem: any = []; + const { meta, children } = item; + if (meta) { + const { key, label, icon, disabled, suffix } = meta; + menuItem.key = key; + menuItem.disabled = disabled; + menuItem.label = ( +
+
{t(label)}
+ {suffix} +
+ ); + if (icon) { + if (typeof icon === 'string') { + if (icon.startsWith('ic')) { + menuItem.icon = ; + } else { + menuItem.icon = ; + } + } else { + menuItem.icon = icon; + } + } + } + if (children) { + menuItem.children = routeToMenuFn(children); + } + return menuItem as ItemType; + }); + }, + [t, themeLayout], + ); + return routeToMenuFn; +} diff --git a/frontend/src/router/hooks/use-router.ts b/frontend/src/router/hooks/use-router.ts new file mode 100644 index 0000000..bc99bf2 --- /dev/null +++ b/frontend/src/router/hooks/use-router.ts @@ -0,0 +1,19 @@ +import { useMemo } from 'react'; +import { useNavigate } from 'react-router-dom'; + +export function useRouter() { + const navigate = useNavigate(); + + const router = useMemo( + () => ({ + back: () => navigate(-1), + forward: () => navigate(1), + reload: () => window.location.reload(), + push: (href: string) => navigate(href), + replace: (href: string) => navigate(href, { replace: true }), + }), + [navigate], + ); + + return router; +} diff --git a/frontend/src/router/hooks/use-search-params.ts b/frontend/src/router/hooks/use-search-params.ts new file mode 100644 index 0000000..478e94c --- /dev/null +++ b/frontend/src/router/hooks/use-search-params.ts @@ -0,0 +1,8 @@ +import { useMemo } from 'react'; +import { useSearchParams as _useSearchParams } from 'react-router-dom'; + +export function useSearchParams() { + const [searchParams] = _useSearchParams(); + + return useMemo(() => searchParams, [searchParams]); +} diff --git a/frontend/src/router/index.tsx b/frontend/src/router/index.tsx new file mode 100644 index 0000000..1f33ee3 --- /dev/null +++ b/frontend/src/router/index.tsx @@ -0,0 +1,38 @@ +import { lazy } from 'react'; +import { Navigate, RouteObject, RouterProvider, createHashRouter } from 'react-router-dom'; + +import DashboardLayout from '@/layouts/dashboard'; +import AuthGuard from '@/router/components/auth-guard'; +import { usePermissionRoutes } from '@/router/hooks'; +import { ErrorRoutes } from '@/router/routes/error-routes'; + +import { AppRouteObject } from '#/router'; + +const { VITE_APP_HOMEPAGE: HOMEPAGE } = import.meta.env; +const LoginRoute: AppRouteObject = { + path: '/login', + Component: lazy(() => import('@/pages/sys/login/Login')), +}; +const PAGE_NOT_FOUND_ROUTE: AppRouteObject = { + path: '*', + element: , +}; + +export default function Router() { + const permissionRoutes = usePermissionRoutes(); + const asyncRoutes: AppRouteObject = { + path: '/', + element: ( + + + + ), + children: [{ index: true, element: }, ...permissionRoutes], + }; + + const routes = [LoginRoute, asyncRoutes, ErrorRoutes, PAGE_NOT_FOUND_ROUTE]; + + const router = createHashRouter(routes as unknown as RouteObject[]); + + return ; +} diff --git a/frontend/src/router/routes/error-routes.tsx b/frontend/src/router/routes/error-routes.tsx new file mode 100644 index 0000000..3a0cdfd --- /dev/null +++ b/frontend/src/router/routes/error-routes.tsx @@ -0,0 +1,34 @@ +import { Suspense, lazy } from 'react'; +import { Outlet } from 'react-router-dom'; + +import { CircleLoading } from '@/components/loading'; +import SimpleLayout from '@/layouts/simple'; + +import AuthGuard from '../components/auth-guard'; + +import { AppRouteObject } from '#/router'; + +const Page403 = lazy(() => import('@/pages/sys/error/Page403')); +const Page404 = lazy(() => import('@/pages/sys/error/Page404')); +const Page500 = lazy(() => import('@/pages/sys/error/Page500')); + +/** + * error routes + * 403, 404, 500 + */ +export const ErrorRoutes: AppRouteObject = { + element: ( + + + }> + + + + + ), + children: [ + { path: '403', element: }, + { path: '404', element: }, + { path: '500', element: }, + ], +}; diff --git a/frontend/src/router/routes/menu-routes.tsx b/frontend/src/router/routes/menu-routes.tsx new file mode 100644 index 0000000..fa9126e --- /dev/null +++ b/frontend/src/router/routes/menu-routes.tsx @@ -0,0 +1,25 @@ +import { Navigate } from 'react-router-dom'; + +import DashboardLayout from '@/layouts/dashboard'; + +import AuthGuard from '../components/auth-guard'; +import { getMenuModules } from '../utils'; + +import { AppRouteObject } from '#/router'; + +const menuModuleRoutes = getMenuModules(); + +const { VITE_APP_HOMEPAGE: HOMEPAGE } = import.meta.env; + +/** + * dynamic routes + */ +export const menuRoutes: AppRouteObject = { + path: '/', + element: ( + + + + ), + children: [{ index: true, element: }, ...menuModuleRoutes], +}; diff --git a/frontend/src/router/routes/modules/dashboard.tsx b/frontend/src/router/routes/modules/dashboard.tsx new file mode 100644 index 0000000..e94b0c9 --- /dev/null +++ b/frontend/src/router/routes/modules/dashboard.tsx @@ -0,0 +1,37 @@ +import { Suspense, lazy } from 'react'; +import { Navigate, Outlet } from 'react-router-dom'; + +import { SvgIcon } from '@/components/icon'; +import { CircleLoading } from '@/components/loading'; + +import { AppRouteObject } from '#/router'; + +const Analysis = lazy(() => import('@/pages/dashboard/analysis')); + +const dashboard: AppRouteObject = { + order: 1, + path: 'dashboard', + element: ( + }> + + + ), + meta: { + label: 'sys.menu.dashboard', + icon: , + key: '/dashboard', + }, + children: [ + { + index: true, + element: , + }, + { + path: 'home', + element: , + meta: { label: 'sys.menu.analysis', key: '/dashboard/analysis' }, + }, + ], +}; + +export default dashboard; diff --git a/frontend/src/router/routes/modules/errors.tsx b/frontend/src/router/routes/modules/errors.tsx new file mode 100644 index 0000000..094c1cd --- /dev/null +++ b/frontend/src/router/routes/modules/errors.tsx @@ -0,0 +1,56 @@ +import { Suspense, lazy } from 'react'; +import { Outlet } from 'react-router-dom'; + +import { Iconify } from '@/components/icon'; +import { CircleLoading } from '@/components/loading'; + +import { AppRouteObject } from '#/router'; + +const Page403 = lazy(() => import('@/pages/sys/error/Page403')); +const Page404 = lazy(() => import('@/pages/sys/error/Page404')); +const Page500 = lazy(() => import('@/pages/sys/error/Page500')); + +const errors: AppRouteObject[] = [ + { + path: 'error', + order: 6, + element: ( + }> + + + ), + meta: { + label: 'sys_info.menu.error.index', + icon: , + key: '/error', + }, + children: [ + { + path: '403', + element: , + meta: { + label: 'sys_info.menu.error.403', + key: '/error/403', + }, + }, + { + path: '404', + element: , + meta: { + label: 'sys_info.menu.error.404', + key: '/error/404', + }, + }, + { + path: '500', + element: , + meta: { + label: 'sys_info.menu.error.500', + key: '/error/500', + }, + }, + ], + }, +]; + +export default errors; diff --git a/frontend/src/router/routes/modules/token.tsx b/frontend/src/router/routes/modules/token.tsx new file mode 100644 index 0000000..541dfc5 --- /dev/null +++ b/frontend/src/router/routes/modules/token.tsx @@ -0,0 +1,37 @@ +import { Suspense, lazy } from 'react'; +import { Navigate, Outlet } from 'react-router-dom'; + +import { SvgIcon } from '@/components/icon'; +import { CircleLoading } from '@/components/loading'; + +import { AppRouteObject } from '#/router'; + +const AccountPage = lazy(() => import(`@/pages/token/account`)); + +const token: AppRouteObject = { + order: 10, + path: 'token', + element: ( + }> + + + ), + meta: { + label: 'sys_info.menu.dashboard', + icon: , + key: '/token', + }, + children: [ + { + index: true, + element: , + }, + { + path: 'account', + element: , + meta: { label: 'sys_info.menu.account', key: '/token/account' }, + }, + ], +}; + +export default token; diff --git a/frontend/src/router/utils.ts b/frontend/src/router/utils.ts new file mode 100644 index 0000000..4e96f4e --- /dev/null +++ b/frontend/src/router/utils.ts @@ -0,0 +1,53 @@ +import { ascend } from 'ramda'; + +import { AppRouteObject, RouteMeta } from '#/router'; + +/** + * return menu routes + */ +export const menuFilter = (items: AppRouteObject[]) => { + return items + .filter((item) => { + const show = item.meta?.key; + if (show && item.children) { + item.children = menuFilter(item.children); + } + return show; + }) + .sort(ascend((item) => item.order || Infinity)); +}; + +/** + * 基于 src/router/routes/modules 文件结构动态生成路由 + */ +export function getMenuModules() { + const menuModules: AppRouteObject[] = []; + + const modules = import.meta.glob('./routes/modules/**/*.tsx', { eager: true }); + Object.keys(modules).forEach((key) => { + const mod = (modules as any)[key].default || {}; + const modList = Array.isArray(mod) ? [...mod] : [mod]; + menuModules.push(...modList); + }); + return menuModules; +} + +/** + * return the routes will be used in sidebar menu + */ +export function getMenuRoutes(appRouteObjects: AppRouteObject[]) { + // return menuFilter(getMenuModules()); + return menuFilter(appRouteObjects); +} + +/** + * return flatten routes + */ +export function flattenMenuRoutes(routes: AppRouteObject[]) { + return routes.reduce((prev, item) => { + const { meta, children } = item; + if (meta) prev.push(meta); + if (children) prev.push(...flattenMenuRoutes(children)); + return prev; + }, []); +} diff --git a/frontend/src/store/accountStore.ts b/frontend/src/store/accountStore.ts new file mode 100644 index 0000000..0bd50eb --- /dev/null +++ b/frontend/src/store/accountStore.ts @@ -0,0 +1,47 @@ +import {useMutation, useQueryClient} from "@tanstack/react-query"; +import accountService from "@/api/services/accountService.ts"; +import {message} from "antd"; + +export const useAddAccountMutation = () => { + const client = useQueryClient(); + return useMutation(accountService.addAccount, { + onSuccess: () => { + /* onSuccess */ + message.success('Add Account Success') + client.invalidateQueries(['accounts']); + }, + }); +} + +export const useUpdateAccountMutation = () => { + const client = useQueryClient(); + return useMutation(accountService.updateAccount, { + onSuccess: () => { + /* onSuccess */ + message.success('Update Account Success') + client.invalidateQueries(['accounts']); + }, + }); +} + +export const useDeleteAccountMutation = () => { + const client = useQueryClient(); + return useMutation(accountService.deleteAccount, { + onSuccess: () => { + /* onSuccess */ + message.success('Delete Account Success') + client.invalidateQueries(['accounts']); + } + }); +} + +export const useRefreshAccountMutation = () => { + const client = useQueryClient(); + return useMutation(accountService.refreshAccount, { + onSuccess: () => { + /* onSuccess */ + message.success('Refresh Account Success') + client.invalidateQueries(['accounts']); + } + }); +} diff --git a/frontend/src/store/index.ts b/frontend/src/store/index.ts new file mode 100644 index 0000000..881e467 --- /dev/null +++ b/frontend/src/store/index.ts @@ -0,0 +1,21 @@ +import { create } from 'zustand'; + +type Store = { + count: number; + // 使用 actions 命名空间来存放所有的 action + actions: { + increment: () => void; + decrement: () => void; + }; +}; + +const useStore = create((set) => ({ + count: 0, + actions: { + increment: () => set((state) => ({ count: state.count + 1 })), + decrement: () => set((state) => ({ count: state.count - 1 })), + }, +})); + +export const useCount = () => useStore((state) => state.count); +export const useCountActions = () => useStore((state) => state.actions); diff --git a/frontend/src/store/settingStore.ts b/frontend/src/store/settingStore.ts new file mode 100644 index 0000000..a699eb1 --- /dev/null +++ b/frontend/src/store/settingStore.ts @@ -0,0 +1,67 @@ +import { create } from 'zustand'; + +import { getItem, removeItem, setItem } from '@/utils/storage'; + +import { StorageEnum, ThemeColorPresets, ThemeLayout, ThemeMode } from '#/enum'; + +type SettingsType = { + themeColorPresets: ThemeColorPresets; + themeMode: ThemeMode; + themeLayout: ThemeLayout; + themeStretch: boolean; + breadCrumb: boolean; + multiTab: boolean; + captchaSiteKey?: string; + taskStatus?: boolean; +}; +type SettingStore = { + settings: SettingsType; + // 使用 actions 命名空间来存放所有的 action + actions: { + setTaskStatus: (taskStatus: boolean) => void; + setCaptchaSiteKey: (captchaSiteKey: string) => void; + setSettings: (settings: SettingsType) => void; + clearSettings: () => void; + }; +}; + +const useSettingStore = create((set) => ({ + settings: getItem(StorageEnum.Settings) || { + themeColorPresets: ThemeColorPresets.Default, + themeMode: ThemeMode.Light, + themeLayout: ThemeLayout.Vertical, + themeStretch: false, + breadCrumb: true, + multiTab: true, + taskStatus: false, + }, + actions: { + setTaskStatus: (taskStatus) => { + set((state) => ({ + settings: { + ...state.settings, + taskStatus, + }, + })); + }, + setCaptchaSiteKey: (captchaSiteKey) => { + set((state) => ({ + settings: { + ...state.settings, + captchaSiteKey, + }, + })); + }, + setSettings: (settings) => { + set({ settings }); + setItem(StorageEnum.Settings, settings); + }, + clearSettings() { + removeItem(StorageEnum.Settings); + }, + }, +})); + +export const useCaptchaSiteKey = () => useSettingStore((state) => state.settings.captchaSiteKey); +export const useSettings = () => useSettingStore((state) => state.settings); +export const useSettingActions = () => useSettingStore((state) => state.actions); diff --git a/frontend/src/store/shareStore.ts b/frontend/src/store/shareStore.ts new file mode 100644 index 0000000..31fb141 --- /dev/null +++ b/frontend/src/store/shareStore.ts @@ -0,0 +1,44 @@ +import {useMutation, useQueryClient} from "@tanstack/react-query"; +import shareService from "@/api/services/shareService.ts"; +import {message} from "antd"; + + +export const useAddShareMutation = () => { + const client = useQueryClient(); + return useMutation(shareService.addShare, { + onSuccess: () => { + /* onSuccess */ + client.invalidateQueries(['accounts']); + client.invalidateQueries(['shareList']); + message.success('Success') + }, + }); +} + +export const useUpdateShareMutation = () => { + const client = useQueryClient(); + return useMutation(shareService.updateShare, { + onSuccess: () => { + /* onSuccess */ + client.invalidateQueries(['shareList']); + message.success('Success') + }, + }); +} + +export const useDeleteShareMutation = () => { + const client = useQueryClient(); + return useMutation(shareService.deleteShare, { + onSuccess: () => { + /* onSuccess */ + client.invalidateQueries(['shareList']); + message.success('Success') + }, + }) +} + +export default { + useAddShareMutation, + useDeleteShareMutation, +} + diff --git a/frontend/src/store/userStore.ts b/frontend/src/store/userStore.ts new file mode 100644 index 0000000..5ed9918 --- /dev/null +++ b/frontend/src/store/userStore.ts @@ -0,0 +1,85 @@ +import { useMutation } from '@tanstack/react-query'; +import { App } from 'antd'; +import { useCallback } from 'react'; +import { useTranslation } from 'react-i18next'; +import { useNavigate } from 'react-router-dom'; +import { create } from 'zustand'; + +import userService, { SignInReq } from '@/api/services/userService'; +import { getItem, removeItem, setItem } from '@/utils/storage'; + +import { UserInfo, UserToken } from '#/entity'; +import { StorageEnum } from '#/enum'; + +const { VITE_APP_HOMEPAGE: HOMEPAGE } = import.meta.env; + +type UserStore = { + userInfo: Partial; + userToken: UserToken; + // 使用 actions 命名空间来存放所有的 action + actions: { + setUserInfo: (userInfo: UserInfo) => void; + setUserToken: (token: UserToken) => void; + clearUserInfoAndToken: () => void; + }; +}; + +export const useUserStore = create((set) => ({ + userInfo: getItem(StorageEnum.User) || {}, + userToken: getItem(StorageEnum.Token) || {}, + actions: { + setUserInfo: (userInfo) => { + set({ userInfo }); + setItem(StorageEnum.User, userInfo); + }, + setUserToken: (userToken) => { + set({ userToken }); + setItem(StorageEnum.Token, userToken); + }, + clearUserInfoAndToken() { + set({ userInfo: {}, userToken: {} }); + removeItem(StorageEnum.User); + removeItem(StorageEnum.Token); + }, + }, +})); + +export const useUserInfo = () => useUserStore((state) => state.userInfo); +export const useUserToken = () => useUserStore((state) => state.userToken); +export const useUserPermission = () => useUserStore((state) => state.userInfo.permissions); +export const useUserActions = () => useUserStore((state) => state.actions); + +export const useSignIn = () => { + const { t } = useTranslation(); + const navigatge = useNavigate(); + const { notification, message } = App.useApp(); + const { setUserToken, setUserInfo } = useUserActions(); + + const signInMutation = useMutation(userService.signin); + + const signIn = async (data: SignInReq) => { + try { + const res = await signInMutation.mutateAsync(data); + console.log(res); + const { user, accessToken } = res; + setUserToken({ accessToken }); + // 固定一个用户信息 Admin + setUserInfo(user); + navigatge(HOMEPAGE, { replace: true }); + + notification.success({ + message: t('sys.login.loginSuccessTitle'), + description: `${t('sys.login.loginSuccessDesc')}`, + duration: 3, + }); + } catch (err) { + message.warning({ + content: err.message, + duration: 3, + }); + } + }; + + // eslint-disable-next-line react-hooks/exhaustive-deps + return useCallback(signIn, []); +}; diff --git a/frontend/src/theme/antd/components/rage.tsx b/frontend/src/theme/antd/components/rage.tsx new file mode 100644 index 0000000..4317aca --- /dev/null +++ b/frontend/src/theme/antd/components/rage.tsx @@ -0,0 +1,21 @@ +import { Rate, RateProps } from 'antd'; +import styled from 'styled-components'; + +import { Iconify } from '@/components/icon'; + +export default function ProRate(props: RateProps) { + return ( + + } {...props} /> + + ); +} + +const StyledRate = styled.div` + .ant-rate { + color: rgb(250, 175, 0); + .ant-rate-star:not(:last-child) { + margin-inline-end: 0; + } + } +`; diff --git a/frontend/src/theme/antd/components/tag.tsx b/frontend/src/theme/antd/components/tag.tsx new file mode 100644 index 0000000..434efaf --- /dev/null +++ b/frontend/src/theme/antd/components/tag.tsx @@ -0,0 +1,31 @@ +import { Tag, TagProps } from 'antd'; +import styled from 'styled-components'; + +export default function ProTag(props: TagProps) { + return ( + + + + ); +} + +const StyledTag = styled.div` + display: inline-flex; + .ant-tag { + border-radius: 6px; + cursor: default; + height: 24px; + min-width: 24px; + padding: 0 6px; + margin: 0 6px; + font-size: 0.75rem; + font-weight: 700; + border-width: 0; + display: inline-flex; + justify-content: center; + align-items: center; + white-space: nowrap; + text-transform: capitalize; + transition: all 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms; + } +`; diff --git a/frontend/src/theme/antd/index.tsx b/frontend/src/theme/antd/index.tsx new file mode 100644 index 0000000..9cf5ae5 --- /dev/null +++ b/frontend/src/theme/antd/index.tsx @@ -0,0 +1,41 @@ +import { StyleProvider } from '@ant-design/cssinjs'; +import { ConfigProvider, theme } from 'antd'; +import 'antd/dist/reset.css'; + +import useLocale from '@/locales/useLocale'; +import { useSettings } from '@/store/settingStore'; + +import { + customThemeTokenConfig, + themeModeToken, + colorPrimarys, + customComponentConfig, +} from './theme'; + +import { ThemeMode } from '#/enum'; + +type Props = { + children: React.ReactNode; +}; +export default function AntdConfig({ children }: Props) { + const { themeMode, themeColorPresets } = useSettings(); + + const { language } = useLocale(); + + const algorithm = themeMode === ThemeMode.Light ? theme.defaultAlgorithm : theme.darkAlgorithm; + const colorPrimary = colorPrimarys[themeColorPresets]; + + return ( + + {/* https://ant.design/docs/react/compatible-style-cn#styleprovider */} + {children} + + ); +} diff --git a/frontend/src/theme/antd/theme.ts b/frontend/src/theme/antd/theme.ts new file mode 100644 index 0000000..0a8dbc2 --- /dev/null +++ b/frontend/src/theme/antd/theme.ts @@ -0,0 +1,63 @@ +import { ThemeConfig } from 'antd'; + +import { ThemeColorPresets } from '#/enum'; +/** + * Antd theme editor: https://ant.design/theme-editor-cn + */ +const customThemeTokenConfig: ThemeConfig['token'] = { + colorSuccess: '#22c55e', + colorWarning: '#ff7849', + colorError: '#ff5630', + colorInfo: '#00b8d9', + + // 线性化 + wireframe: false, + + borderRadiusSM: 2, + borderRadius: 4, + borderRadiusLG: 8, +}; + +const customComponentConfig: ThemeConfig['components'] = { + Breadcrumb: { + fontSize: 12, + separatorMargin: 4, + }, + Menu: { + fontSize: 14, + colorFillAlter: 'transparent', + itemColor: 'rgb(145, 158, 171)', + }, +}; + +const colorPrimarys: { + [k in ThemeColorPresets]: string; +} = { + default: '#00a76f', + cyan: '#078DEE', + purple: '#7635DC', + blue: '#2065D1', + orange: '#FDA92D', + red: '#FF3030', +}; + +const themeModeToken: Record<'dark' | 'light', ThemeConfig> = { + dark: { + token: { + colorBgLayout: '#161c24', + colorBgContainer: '#212b36', + colorBgElevated: '#161c24', + }, + components: { + Modal: { + headerBg: '#212b36', + contentBg: '#212b36', + footerBg: '#212b36', + }, + Notification: {}, + }, + }, + light: {}, +}; + +export { customThemeTokenConfig, customComponentConfig, colorPrimarys, themeModeToken }; diff --git a/frontend/src/theme/base.css b/frontend/src/theme/base.css new file mode 100644 index 0000000..15f398c --- /dev/null +++ b/frontend/src/theme/base.css @@ -0,0 +1,365 @@ +/* +1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4) +2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116) +*/ + +*, +::before, +::after { + box-sizing: border-box; /* 1 */ + border-style: solid; /* 2 */ + border-width: 0; /* 2 */ +} + +::before, +::after { + --tw-content: ''; +} + +/* +1. Use a consistent sensible line-height in all browsers. +2. Prevent adjustments of font size after orientation changes in iOS. +3. Use a more readable tab size. +4. Use the user's configured `sans` font-family by default. +5. Use the user's configured `sans` font-feature-settings by default. +6. Use the user's configured `sans` font-variation-settings by default. +*/ + +html { + line-height: 1.5; /* 1 */ /* 3 */ + tab-size: 4; /* 3 */ + text-size-adjust: 100%; /* 2 */ +} + +/* +1. Remove the margin in all browsers. +2. Inherit line-height from `html` so users can set them as a class directly on the `html` element. +*/ + +body { + margin: 0; /* 1 */ + line-height: inherit; /* 2 */ +} + +/* +1. Add the correct height in Firefox. +2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655) +3. Ensure horizontal rules are visible by default. +*/ + +hr { + height: 0; /* 1 */ + color: inherit; /* 2 */ + border-top-width: 1px; /* 3 */ +} + +/* +Add the correct text decoration in Chrome, Edge, and Safari. +*/ + +abbr:where([title]) { + text-decoration: underline dotted; +} + +/* +Remove the default font size and weight for headings. +*/ + +h1, +h2, +h3, +h4, +h5, +h6 { + font-weight: inherit; + font-size: inherit; +} + +/* +Reset links to optimize for opt-in styling instead of opt-out. +*/ + +a { + color: inherit; + text-decoration: inherit; +} + +/* +Add the correct font weight in Edge and Safari. +*/ + +b, +strong { + font-weight: bolder; +} + +/* +1. Use the user's configured `mono` font family by default. +2. Correct the odd `em` font sizing in all browsers. +*/ + +code, +kbd, +samp, +pre { + font-size: 1em; /* 2 */ +} + +/* +Add the correct font size in all browsers. +*/ + +small { + font-size: 80%; +} + +/* +Prevent `sub` and `sup` elements from affecting the line height in all browsers. +*/ + +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +/* +1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297) +2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016) +3. Remove gaps between table borders by default. +*/ + +table { + text-indent: 0; /* 1 */ + border-color: inherit; /* 2 */ + border-collapse: collapse; /* 3 */ +} + +/* +1. Change the font styles in all browsers. +2. Remove the margin in Firefox and Safari. +3. Remove default padding in all browsers. +*/ + +button, +input, +optgroup, +select, +textarea { + margin: 0; /* 2 */ + padding: 0; /* 3 */ + color: inherit; /* 1 */ + font-weight: inherit; /* 1 */ + font-size: 100%; /* 1 */ + font-family: inherit; /* 1 */ + line-height: inherit; /* 1 */ + font-feature-settings: inherit; /* 1 */ + font-variation-settings: inherit; /* 1 */ +} + +/* +Remove the inheritance of text transform in Edge and Firefox. +*/ + +button, +select { + text-transform: none; +} + +/* +1. Correct the inability to style clickable types in iOS and Safari. +2. Remove default button styles. +*/ + +button { + background-color: inherit; +} + +/* +Use the modern Firefox focus style for all focusable elements. +*/ + +:-moz-focusring { + outline: auto; +} + +/* +Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737) +*/ + +:-moz-ui-invalid { + box-shadow: none; +} + +/* +Add the correct vertical alignment in Chrome and Firefox. +*/ + +progress { + vertical-align: baseline; +} + +/* +Correct the cursor style of increment and decrement buttons in Safari. +*/ + +::-webkit-inner-spin-button, +::-webkit-outer-spin-button { + height: auto; +} + +/* +1. Correct the odd appearance in Chrome and Safari. +2. Correct the outline style in Safari. +*/ + +[type='search'] { + outline-offset: -2px; /* 2 */ + appearance: textfield; /* 1 */ +} + +/* +Remove the inner padding in Chrome and Safari on macOS. +*/ + +::-webkit-search-decoration { + appearance: none; +} + +/* +1. Correct the inability to style clickable types in iOS and Safari. +2. Change font properties to `inherit` in Safari. +*/ + +::-webkit-file-upload-button { + font: inherit; /* 2 */ + appearance: button; /* 1 */ +} + +/* +Add the correct display in Chrome and Safari. +*/ + +summary { + display: list-item; +} + +/* +Removes the default spacing and border for appropriate elements. +*/ + +blockquote, +dl, +dd, +h1, +h2, +h3, +h4, +h5, +h6, +hr, +figure, +p, +pre { + margin: 0; +} + +fieldset { + margin: 0; + padding: 0; +} + +legend { + padding: 0; +} + +ol, +ul, +menu { + margin: 0; + padding: 0; + list-style: none; +} + +/* +Reset default styling for dialogs. +*/ +dialog { + padding: 0; +} + +/* +Prevent resizing textareas horizontally by default. +*/ + +textarea { + resize: vertical; +} + +/* +1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300) +2. Set the default placeholder color to the user's configured gray 400 color. +*/ + +input::placeholder, +textarea::placeholder { + opacity: 1; /* 1 */ +} + +/* +Set the default cursor for buttons. +*/ + +button, +[role="button"] { + cursor: pointer; +} + +/* +Make sure disabled buttons don't get the pointer cursor. +*/ +:disabled { + cursor: default; +} + +/* +1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14) +2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210) + This can trigger a poorly considered lint error in some tools but is included by design. +*/ + +img, +svg, +video, +canvas, +audio, +iframe, +embed, +object { + display: block; /* 1 */ +} + +/* +Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14) +*/ + +img, +video { + max-width: 100%; + height: auto; +} + +/* Make elements with the HTML hidden attribute stay hidden by default */ +[hidden] { + display: none; +} diff --git a/frontend/src/theme/global.css b/frontend/src/theme/global.css new file mode 100644 index 0000000..9be3745 --- /dev/null +++ b/frontend/src/theme/global.css @@ -0,0 +1,15 @@ +/* editor */ +@import 'react-quill/dist/quill.snow.css'; + +/* simplebar */ +@import 'simplebar-react/dist/simplebar.min.css'; + +/* 将 Tailwind CSS 的基础样式(也称为 "base" 样式)导入到当前文件中,包括一些基本的 HTML 元素样式、重置元素默认样式等。 */ +@import 'tailwindcss/base'; + +/* 导入 Tailwind CSS 的组件样式,包括预定义的按钮、表格、表单、卡片等组件样式。 */ +@import 'tailwindcss/components'; + +/* 导入 Tailwind CSS 的实用类,这些类通常用于添加与布局、间距、响应式设计等相关的样式,使得可以快速构建出复杂的页面 */ +@import 'tailwindcss/utilities'; + diff --git a/frontend/src/theme/hooks/index.ts b/frontend/src/theme/hooks/index.ts new file mode 100644 index 0000000..107354b --- /dev/null +++ b/frontend/src/theme/hooks/index.ts @@ -0,0 +1,2 @@ +export { useThemeToken } from './use-theme-token'; +export { useResponsive } from './use-reponsive'; diff --git a/frontend/src/theme/hooks/use-reponsive.ts b/frontend/src/theme/hooks/use-reponsive.ts new file mode 100644 index 0000000..9532dc6 --- /dev/null +++ b/frontend/src/theme/hooks/use-reponsive.ts @@ -0,0 +1,32 @@ +import { Grid, theme } from 'antd'; +import { Breakpoint, ScreenMap, ScreenSizeMap } from 'antd/es/_util/responsiveObserver'; + +const { useBreakpoint } = Grid; + +export function useResponsive() { + const { + token: { screenXS, screenSM, screenMD, screenLG, screenXL, screenXXL }, + } = theme.useToken(); + const screenArray: Breakpoint[] = ['xs', 'sm', 'md', 'lg', 'xl', 'xxl']; + + const screenEnum: ScreenSizeMap = { + xs: screenXS, + sm: screenSM, + md: screenMD, + lg: screenLG, + xl: screenXL, + xxl: screenXXL, + }; + const screenMap: ScreenMap = useBreakpoint(); + + const currentScrren = screenArray.findLast((item) => { + const result = screenMap[item]; + return result === true; + }); + + return { + screenEnum, + screenMap, + currentScrren, + }; +} diff --git a/frontend/src/theme/hooks/use-theme-token.ts b/frontend/src/theme/hooks/use-theme-token.ts new file mode 100644 index 0000000..52ac742 --- /dev/null +++ b/frontend/src/theme/hooks/use-theme-token.ts @@ -0,0 +1,7 @@ +import { theme } from 'antd'; +import { useMemo } from 'react'; + +export function useThemeToken() { + const { token } = theme.useToken(); + return useMemo(() => token, [token]); +} diff --git a/frontend/src/theme/index.css b/frontend/src/theme/index.css new file mode 100644 index 0000000..a5fdd39 --- /dev/null +++ b/frontend/src/theme/index.css @@ -0,0 +1,5 @@ +/* 自定义重置样式 */ +@import './base.css'; + +/* 第三方库样式 */ +@import './global.css'; diff --git a/frontend/src/utils/copy.ts b/frontend/src/utils/copy.ts new file mode 100644 index 0000000..79a798d --- /dev/null +++ b/frontend/src/utils/copy.ts @@ -0,0 +1,18 @@ +import {message} from "antd"; + +export const onCopy = (text?: string,t?: any, e?: any) => { + if (!text) { + return; + } + e?.preventDefault(); + e?.stopPropagation(); + try { + navigator.clipboard.writeText(text); + // 提示复制成功 + message.success(t('token.copySuccess')); + } catch (e) { + console.error('copy failed', e); + // 选定文本 + e.target.select(); + } +} diff --git a/frontend/src/utils/format-number.ts b/frontend/src/utils/format-number.ts new file mode 100644 index 0000000..0212fbe --- /dev/null +++ b/frontend/src/utils/format-number.ts @@ -0,0 +1,38 @@ +// https://numeraljs.com/ +import numeral from 'numeral'; + +type InputValue = string | number | null | undefined; + +export function fNumber(number: InputValue) { + return numeral(number).format(); +} + +export function fCurrency(number: InputValue) { + const format = number ? numeral(number).format('$0,0.00') : ''; + + return result(format, '.00'); +} + +export function fPercent(number: InputValue) { + const format = number ? numeral(Number(number) / 100).format('0.0%') : ''; + + return result(format, '.0'); +} + +export function fShortenNumber(number: InputValue) { + const format = number ? numeral(number).format('0.00a') : ''; + + return result(format, '.00'); +} + +export function fBytes(number: InputValue) { + const format = number ? numeral(number).format('0.0 b') : ''; + + return result(format, '.0'); +} + +function result(format: string, key = '.00') { + const isInteger = format.includes(key); + + return isInteger ? format.replace(key, '') : format; +} diff --git a/frontend/src/utils/hcaptcha.d.ts b/frontend/src/utils/hcaptcha.d.ts new file mode 100644 index 0000000..cac8b91 --- /dev/null +++ b/frontend/src/utils/hcaptcha.d.ts @@ -0,0 +1,12 @@ +declare module '@hcaptcha/react-hcaptcha' { + import React from 'react'; + + interface HCaptchaProps { + sitekey: string; + onVerify: (token: string) => void; + style?: React.CSSProperties; + // 根据需要添加更多属性 + } + + export default class HCaptcha extends React.Component {} +} diff --git a/frontend/src/utils/highlight.ts b/frontend/src/utils/highlight.ts new file mode 100644 index 0000000..59f9324 --- /dev/null +++ b/frontend/src/utils/highlight.ts @@ -0,0 +1,19 @@ +import 'highlight.js/styles/base16/tomorrow-night.css'; + +import hljs from 'highlight.js'; + +// ---------------------------------------------------------------------- + +declare global { + interface Window { + hljs: any; + } +} + +hljs.configure({ + languages: ['javascript', 'sh', 'bash', 'html', 'scss', 'css', 'json'], +}); + +if (typeof window !== 'undefined') { + window.hljs = hljs; +} diff --git a/frontend/src/utils/storage.ts b/frontend/src/utils/storage.ts new file mode 100644 index 0000000..507ec96 --- /dev/null +++ b/frontend/src/utils/storage.ts @@ -0,0 +1,28 @@ +import { StorageEnum } from '#/enum'; + +export const getItem = (key: StorageEnum): T | null => { + let value = null; + try { + const result = window.localStorage.getItem(key); + if (result) { + value = JSON.parse(result); + } + } catch (error) { + console.error(error); + } + return value; +}; + +export const getStringItem = (key: StorageEnum): string | null => { + return localStorage.getItem(key); +}; + +export const setItem = (key: StorageEnum, value: T): void => { + localStorage.setItem(key, JSON.stringify(value)); +}; +export const removeItem = (key: StorageEnum): void => { + localStorage.removeItem(key); +}; +export const clearItems = () => { + localStorage.clear(); +}; diff --git a/frontend/src/utils/tree.ts b/frontend/src/utils/tree.ts new file mode 100644 index 0000000..a6b4ed4 --- /dev/null +++ b/frontend/src/utils/tree.ts @@ -0,0 +1,13 @@ +import { chain } from 'ramda'; + +/** + * Flatten an array containing a tree structure + * @param {T[]} trees - An array containing a tree structure + * @returns {T[]} - Flattened array + */ +export function flattenTrees(trees: T[] = []): T[] { + return chain((node) => { + const children = node.children || []; + return [node, ...flattenTrees(children)]; + }, trees); +} diff --git a/frontend/src/vite-env.d.ts b/frontend/src/vite-env.d.ts new file mode 100644 index 0000000..11f02fe --- /dev/null +++ b/frontend/src/vite-env.d.ts @@ -0,0 +1 @@ +/// diff --git a/frontend/tailwind.config.js b/frontend/tailwind.config.js new file mode 100644 index 0000000..5994dd3 --- /dev/null +++ b/frontend/tailwind.config.js @@ -0,0 +1,58 @@ +/** @type {import('tailwindcss').Config} */ +export default { + // 使用 "class" 模式时,Tailwind 会将 "dark" 类添加到根元素(通常是 元素)上,以指示页面当前处于深色模式 + darkMode: 'class', + // 通过配置 content,Tailwind CSS 将会检索和构建包含需要的 CSS 样式的文件,并生成最终的 CSS 输出文件 + content: ['./index.html', './src/**/*.{js,ts,jsx,tsx}'], + theme: { + screens: { + xs: '480px', + sm: '576px', + md: '768px', + lg: '992px', + xl: '1400px', + '2xl': '1600px', + }, + colors: { + black: '#000000', + green: '#00A76F', + blue: '#1fb6ff', + purple: '#7e5bef', + pink: '#ff49db', + orange: '#ff7849', + yellow: '#ffc82c', + gray: '#637381', + hover: '#63738114', + + success: '#22c55e', + warning: '#ff7849', + error: '#ff5630', + info: '#00b8d9', + + code: '#d63384', + + 'gray-100': '#F9FAFB', + 'gray-200': '#F4F6F8', + 'gray-300': '#DFE3E8', + 'gray-400': '#C4CDD5', + 'gray-500': '#F9FAFB', + 'gray-600': '#637381', + 'gray-700': '#454F5B', + 'gray-800': '#212B36', + 'gray-900': '#161C24', + }, + extend: { + transitionProperty: { + height: 'height', + }, + animation: { + 'spin-slow': 'spin 8s linear infinite', + }, + }, + }, + corePlugins: { + // Remove the Tailwind CSS preflight styles so it can use custom base style (src/theme/base.css) + preflight: false, // https://tailwindcss.com/docs/preflight#disabling-preflight + }, + plugins: [], +}; diff --git a/frontend/tsconfig.json b/frontend/tsconfig.json new file mode 100644 index 0000000..463b412 --- /dev/null +++ b/frontend/tsconfig.json @@ -0,0 +1,46 @@ +{ + "compilerOptions": { + "target": "ESNext", // 编译后代码的目标版本(ECMAScript)。 + "module": "ESNext", // 使用的模块系统类型。ESNext 支持更多特性,比如动态导入等。 + "lib": ["ESNext", "DOM", "DOM.Iterable"], // 要包含的库文件。DOM、DOM.Iterable 和 ESNext 库文件是 TypeScript 开发中比较基础的依赖。 + "useDefineForClassFields": true, + "skipLibCheck": true, // 跳过编译器对引入库文件的检查,以加快构建速度 + "allowJs": true, // 允许编译JavaScript文件 + + /* Bundler mode */ + "moduleResolution": "bundler", + "sourceMap": true, // 输出 *.map 文件提供源码映射 + "declaration": true, // 是否生成声明文件(.d.ts)。 + "preserveWatchOutput": true, // 该选项允许在监视模式下保留先前编译的文件,从而避免增量编译时删除更改的文件导致的重新编译。 + "removeComments": true, // 是否移除注释。可以提高编译速度并减小生成文件的大小 + "allowImportingTsExtensions": true, // 允许在 import 导入语句中导入 .ts 或 .tsx 扩展名的模块,而不需要显式地指定扩展名 + "resolveJsonModule": true, // 允许导入json模块 + "isolatedModules": true, // 让typescript处理每个文件时都是独立的单元(可加快编译速度) + "noEmit": true, // 编译器不生成任何JS文件 + "jsx": "react-jsx", + // 使 TypeScript 可以更好地与 CommonJS 模块兼容。在使用 CommonJS 模块系统时,导出的模块将会被包装在一个对象中,这是因为 CommonJS 使用的是类似于 module.exports 的语法来导出模块。 + // 而某些工具和库可能需要以 ES6 模块的方式导入这些 CommonJS 模块,这时候就可以开启 esModuleInterop 选项。 + // 开启后,在导入 CommonJS 模块时不需要再使用默认导出才能正确引入,也不需要手动处理 require() 和 module.exports。 + // 这使得导入和使用 CommonJS 模块的过程变得更加简洁方便。 + "esModuleInterop": true, + + /* Linting */ + "strict": true, // 启用所有严格类型检查选项 + "strictNullChecks": true, // 对空值进行严格检查 + "noImplicitAny": true, // 禁止隐式any类型 + "noUnusedLocals": true, // 消除未使用变量产生的警告 + "noUnusedParameters": true, // 消除未使用参数产生的警告 + "noFallthroughCasesInSwitch": true, // 避免 switch 语句掉入陷阱 + "useUnknownInCatchVariables": false, // 为 true 时,在 catch 块中声明的变量类型会被视为 unknown 而非默认的 any。 + + "baseUrl": ".", + /* alias */ + "paths": { + "@/*": ["src/*"], + "#/*": ["types/*"] + } + }, + "include": ["src", "test", "types/**/*.ts", "**.ts", "*.json", "**.*js"], + "exclude": ["node_modules", "dist"], + "references": [{ "path": "./tsconfig.node.json" }] +} diff --git a/frontend/tsconfig.node.json b/frontend/tsconfig.node.json new file mode 100644 index 0000000..42872c5 --- /dev/null +++ b/frontend/tsconfig.node.json @@ -0,0 +1,10 @@ +{ + "compilerOptions": { + "composite": true, + "skipLibCheck": true, + "module": "ESNext", + "moduleResolution": "bundler", + "allowSyntheticDefaultImports": true + }, + "include": ["vite.config.ts"] +} diff --git a/frontend/types/api.ts b/frontend/types/api.ts new file mode 100644 index 0000000..7b13cc3 --- /dev/null +++ b/frontend/types/api.ts @@ -0,0 +1,5 @@ +export interface Result { + status: number; + message: string; + data?: T; +} diff --git a/frontend/types/entity.ts b/frontend/types/entity.ts new file mode 100644 index 0000000..687eba0 --- /dev/null +++ b/frontend/types/entity.ts @@ -0,0 +1,100 @@ +import { BasicStatus, PermissionType } from './enum'; + +export interface UserToken { + accessToken?: string; +} + +export interface UserInfo { + id: string; + email: string; + username: string; + password?: string; + avatar?: string; + role?: Role; + status?: BasicStatus; + permissions?: Permission[]; +} + +export interface Organization { + id: string; + name: string; + status: 'enable' | 'disable'; + desc?: string; + order?: number; + children?: Organization[]; +} + +export interface Permission { + id: string; + parentId: string; + name: string; + label: string; + type: PermissionType; + route: string; + status?: BasicStatus; + order?: number; + icon?: string; + component?: string; + hide?: boolean; + frameSrc?: string; + newFeature?: boolean; + children?: Permission[]; +} + +export interface Role { + id: string; + name: string; + label: string; + status: BasicStatus; + order?: number; + desc?: string; + permission?: Permission[]; +} + +export interface Account { + id: number; + email: string; + password: string; + sessionToken?: string; + accessToken?: string; + createTime?: string; + updateTime?: string; + shared?: number; + shareList?: string; + refreshToken?: string; +} + +export interface Share { + id?: number; + accountId: number; + email?: string; + uniqueName: string; + password: string; + shareToken?: string; + comment?: string; + refreshEveryday?: boolean; + expiresIn?: number; + siteLimit?: string; + gpt35Limit?: number; + gpt4Limit?: number; + showUserinfo?: boolean; + showConversations?: boolean; +} + +// share默认值 +export const defaultShare: Share = { + id: undefined, + accountId: -1, + email: '', + uniqueName: '', + password: '', + shareToken: '', + refreshEveryday: false, + comment: '', + expiresIn: 0, + siteLimit: '', + gpt35Limit: -1, + gpt4Limit: -1, + showUserinfo: false, + showConversations: false +}; diff --git a/frontend/types/enum.ts b/frontend/types/enum.ts new file mode 100644 index 0000000..cf23187 --- /dev/null +++ b/frontend/types/enum.ts @@ -0,0 +1,58 @@ +export enum BasicStatus { + DISABLE, + ENABLE, +} + +export enum ResultEnum { + SUCCESS = 0, + ERROR = -1, + TIMEOUT = 401, +} + +export enum StorageEnum { + User = 'user', + Token = 'token', + Settings = 'settings', + I18N = 'i18nextLng', +} + +export enum ThemeMode { + Light = 'light', + Dark = 'dark', +} + +export enum ThemeLayout { + Vertical = 'vertical', + Horizontal = 'horizontal', + Mini = 'mini', +} + +export enum ThemeColorPresets { + Default = 'default', + Cyan = 'cyan', + Purple = 'purple', + Blue = 'blue', + Orange = 'orange', + Red = 'red', +} + +export enum LocalEnum { + en_US = 'en_US', + zh_CN = 'zh_CN', +} + +export enum MultiTabOperation { + FULLSCREEN = 'fullscreen', + REFRESH = 'refresh', + CLOSE = 'close', + CLOSEOTHERS = 'closeOthers', + CLOSEALL = 'closeAll', + CLOSELEFT = 'closeLeft', + CLOSERIGHT = 'closeRight', +} + +export enum PermissionType { + CATALOGUE, + MENU, + BUTTON, +} diff --git a/frontend/types/router.ts b/frontend/types/router.ts new file mode 100644 index 0000000..3b561ba --- /dev/null +++ b/frontend/types/router.ts @@ -0,0 +1,50 @@ +import { ReactNode } from 'react'; +import { RouteObject } from 'react-router-dom'; + +export interface RouteMeta { + /** + * antd menu selectedKeys + */ + key: string; + /** + * menu label, i18n + */ + label: string; + /** + * menu prefix icon + */ + icon?: ReactNode; + /** + * menu suffix icon + */ + suffix?: ReactNode; + /** + * hide in menu + */ + hideMenu?: boolean; + /** + * hide in multi tab + */ + hideTab?: boolean; + /** + * disable in menu + */ + disabled?: boolean; + /** + * react router outlet + */ + outlet?: any; + /** + * use to refresh tab + */ + timeStamp?: string; + /** + * external link and iframe need + */ + frameSrc?: string; +} +export type AppRouteObject = { + order?: number; + meta?: RouteMeta; + children?: AppRouteObject[]; +} & Omit; diff --git a/frontend/vite.config.ts b/frontend/vite.config.ts new file mode 100644 index 0000000..2ea4752 --- /dev/null +++ b/frontend/vite.config.ts @@ -0,0 +1,70 @@ +import path from 'path'; + +import react from '@vitejs/plugin-react'; +import { visualizer } from 'rollup-plugin-visualizer'; +import { defineConfig } from 'vite'; +import { createSvgIconsPlugin } from 'vite-plugin-svg-icons'; +import tsconfigPaths from 'vite-tsconfig-paths'; +import { inspectorServer } from '@react-dev-inspector/vite-plugin' + +// https://vitejs.dev/config/ +export default defineConfig({ + base: './', + esbuild: { + // drop: ['console', 'debugger'], + }, + css: { + // 开css sourcemap方便找css + devSourcemap: true, + }, + plugins: [ + react(), + // 同步tsconfig.json的path设置alias + tsconfigPaths(), + createSvgIconsPlugin({ + // 指定需要缓存的图标文件夹 + iconDirs: [path.resolve(process.cwd(), 'src/assets/icons')], + // 指定symbolId格式 + symbolId: 'icon-[dir]-[name]', + }), + visualizer({ + open: true, + }), + inspectorServer(), + ], + server: { + // 自动打开浏览器 + open: true, + host: true, + port: 3001, + proxy: { + '/api': { + target: 'http://localhost:8080', + changeOrigin: true, + // rewrite: (path) => path.replace(/^\/api/, ''), + }, + }, + }, + build: { + target: 'esnext', + minify: 'terser', + // rollupOptions: { + // output: { + // manualChunks(id) { + // if (id.includes('node_modules')) { + // // 让每个插件都打包成独立的文件 + // return id.toString().split('node_modules/')[1].split('/')[0].toString(); + // } + // return null; + // }, + // }, + // }, + terserOptions: { + compress: { + // 生产环境移除console + drop_console: true, + drop_debugger: true, + }, + }, + }, +}); diff --git a/fs.go b/fs.go new file mode 100644 index 0000000..7de8a76 --- /dev/null +++ b/fs.go @@ -0,0 +1,6 @@ +package PandoraHelper + +import "embed" + +//go:embed frontend/dist +var EmbedFrontendFS embed.FS diff --git a/go.mod b/go.mod index 9d93f74..816aa1c 100644 --- a/go.mod +++ b/go.mod @@ -5,16 +5,17 @@ go 1.19 require ( github.com/DATA-DOG/go-sqlmock v1.5.0 github.com/duke-git/lancet/v2 v2.3.0 + github.com/gin-contrib/static v1.1.1 github.com/gin-gonic/gin v1.9.1 github.com/glebarez/sqlite v1.11.0 github.com/go-co-op/gocron v1.28.2 + github.com/go-resty/resty/v2 v2.12.0 github.com/golang-jwt/jwt/v5 v5.0.0 github.com/golang/mock v1.6.0 github.com/google/wire v0.5.0 - github.com/redis/go-redis/v9 v9.0.5 github.com/sony/sonyflake v1.1.0 github.com/spf13/viper v1.16.0 - github.com/stretchr/testify v1.8.4 + github.com/stretchr/testify v1.9.0 github.com/swaggo/files v1.0.1 github.com/swaggo/gin-swagger v1.6.0 github.com/swaggo/swag v1.16.2 @@ -29,14 +30,13 @@ require ( require ( github.com/KyleBanks/depth v1.2.1 // indirect - github.com/bytedance/sonic v1.9.1 // indirect - github.com/cespare/xxhash/v2 v2.2.0 // indirect - github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311 // indirect + github.com/bytedance/sonic v1.11.3 // indirect + github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d // indirect + github.com/chenzhuoyu/iasm v0.9.1 // indirect github.com/davecgh/go-spew v1.1.1 // indirect - github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect github.com/dustin/go-humanize v1.0.1 // indirect github.com/fsnotify/fsnotify v1.6.0 // indirect - github.com/gabriel-vasile/mimetype v1.4.2 // indirect + github.com/gabriel-vasile/mimetype v1.4.3 // indirect github.com/gin-contrib/sse v0.1.0 // indirect github.com/glebarez/go-sqlite v1.21.2 // indirect github.com/go-openapi/jsonpointer v0.20.0 // indirect @@ -45,8 +45,7 @@ require ( github.com/go-openapi/swag v0.22.4 // indirect github.com/go-playground/locales v0.14.1 // indirect github.com/go-playground/universal-translator v0.18.1 // indirect - github.com/go-playground/validator/v10 v10.14.0 // indirect - github.com/go-resty/resty/v2 v2.12.0 // indirect + github.com/go-playground/validator/v10 v10.19.0 // indirect github.com/go-sql-driver/mysql v1.7.0 // indirect github.com/goccy/go-json v0.10.2 // indirect github.com/golang/protobuf v1.5.3 // indirect @@ -59,15 +58,15 @@ require ( github.com/jinzhu/now v1.1.5 // indirect github.com/josharian/intern v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/cpuid/v2 v2.2.4 // indirect - github.com/leodido/go-urn v1.2.4 // indirect + github.com/klauspost/cpuid/v2 v2.2.7 // indirect + github.com/leodido/go-urn v1.4.0 // indirect github.com/magiconair/properties v1.8.7 // indirect github.com/mailru/easyjson v0.7.7 // indirect - github.com/mattn/go-isatty v0.0.19 // indirect + github.com/mattn/go-isatty v0.0.20 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/pelletier/go-toml/v2 v2.0.8 // indirect + github.com/pelletier/go-toml/v2 v2.2.0 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect github.com/robfig/cron/v3 v3.0.1 // indirect @@ -77,17 +76,17 @@ require ( github.com/spf13/pflag v1.0.5 // indirect github.com/subosito/gotenv v1.4.2 // indirect github.com/twitchyliquid64/golang-asm v0.15.1 // indirect - github.com/ugorji/go/codec v1.2.11 // indirect + github.com/ugorji/go/codec v1.2.12 // indirect go.uber.org/atomic v1.11.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/arch v0.3.0 // indirect + golang.org/x/arch v0.7.0 // indirect golang.org/x/exp v0.0.0-20221208152030-732eee02a75a // indirect golang.org/x/net v0.22.0 // indirect golang.org/x/sys v0.18.0 // indirect golang.org/x/text v0.14.0 // indirect golang.org/x/tools v0.12.0 // indirect google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 // indirect - google.golang.org/protobuf v1.30.0 // indirect + google.golang.org/protobuf v1.33.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect modernc.org/libc v1.22.5 // indirect diff --git a/go.sum b/go.sum index 7a7032d..8974cd9 100644 --- a/go.sum +++ b/go.sum @@ -42,19 +42,18 @@ github.com/DATA-DOG/go-sqlmock v1.5.0 h1:Shsta01QNfFxHCfpW6YH2STWB0MudeXXEWMr20O github.com/DATA-DOG/go-sqlmock v1.5.0/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM= github.com/KyleBanks/depth v1.2.1 h1:5h8fQADFrWtarTdtDudMmGsC7GPbOAu6RVB3ffsVFHc= github.com/KyleBanks/depth v1.2.1/go.mod h1:jzSb9d0L43HxTQfT+oSA1EEp2q+ne2uh6XgeJcm8brE= -github.com/bsm/ginkgo/v2 v2.7.0 h1:ItPMPH90RbmZJt5GtkcNvIRuGEdwlBItdNVoyzaNQao= -github.com/bsm/gomega v1.26.0 h1:LhQm+AFcgV2M0WyKroMASzAzCAJVpAxQXv4SaI9a69Y= github.com/bytedance/sonic v1.5.0/go.mod h1:ED5hyg4y6t3/9Ku1R6dU/4KyJ48DZ4jPhfY1O2AihPM= -github.com/bytedance/sonic v1.9.1 h1:6iJ6NqdoxCDr6mbY8h18oSO+cShGSMRGCEo7F2h0x8s= -github.com/bytedance/sonic v1.9.1/go.mod h1:i736AoUSYt75HyZLoJW9ERYxcy6eaN6h4BZXU064P/U= -github.com/carlmjohnson/requests v0.23.5 h1:NPANcAofwwSuC6SIMwlgmHry2V3pLrSqRiSBKYbNHHA= -github.com/carlmjohnson/requests v0.23.5/go.mod h1:zG9P28thdRnN61aD7iECFhH5iGGKX2jIjKQD9kqYH+o= +github.com/bytedance/sonic v1.10.0-rc/go.mod h1:ElCzW+ufi8qKqNW0FY314xriJhyJhuoJ3gFZdAHF7NM= +github.com/bytedance/sonic v1.11.3 h1:jRN+yEjakWh8aK5FzrciUHG8OFXK+4/KrAX/ysEtHAA= +github.com/bytedance/sonic v1.11.3/go.mod h1:iZcSUejdk5aukTND/Eu/ivjQuEL0Cu9/rf50Hi0u/g4= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= -github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/chenzhuoyu/base64x v0.0.0-20211019084208-fb5309c8db06/go.mod h1:DH46F32mSOjUmXrMHnKwZdA8wcEefY7UVqBKYGjpdQY= -github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311 h1:qSGYFH7+jGhDF8vLC+iwCD4WpbV1EBDSzWkJODFLams= github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311/go.mod h1:b583jCggY9gE99b6G5LEC39OIiVsWj+R97kbl5odCEk= +github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d h1:77cEq6EriyTZ0g/qfRdp61a3Uu/AWrgIq2s0ClJV1g0= +github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d/go.mod h1:8EPpVsBuRksnlj1mLy4AWzRNQYxauNi62uWcE3to6eA= +github.com/chenzhuoyu/iasm v0.9.0/go.mod h1:Xjy2NpN3h7aUqeqM+woSuuvxmIe6+DDsiNLIrkAmYog= +github.com/chenzhuoyu/iasm v0.9.1 h1:tUHQJXo3NhBqw6s33wkGn9SP3bvrWLdlVIJ3hQBL7P0= +github.com/chenzhuoyu/iasm v0.9.1/go.mod h1:Xjy2NpN3h7aUqeqM+woSuuvxmIe6+DDsiNLIrkAmYog= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= @@ -66,8 +65,6 @@ github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ3 github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/rVNCu3HqELle0jiPLLBs70cWOduZpkS1E78= -github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc= github.com/duke-git/lancet/v2 v2.3.0 h1:Ztie0qOnC4QgGYYqmpmQxbxkPcm54kqFXj1bwhiV8zg= github.com/duke-git/lancet/v2 v2.3.0/go.mod h1:zGa2R4xswg6EG9I6WnyubDbFO/+A/RROxIbXcwryTsc= github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= @@ -81,11 +78,13 @@ github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7 github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY= github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= -github.com/gabriel-vasile/mimetype v1.4.2 h1:w5qFW6JKBz9Y393Y4q372O9A7cUSequkh1Q7OhCmWKU= -github.com/gabriel-vasile/mimetype v1.4.2/go.mod h1:zApsH/mKG4w07erKIaJPFiX0Tsq9BFQgN3qGY5GnNgA= +github.com/gabriel-vasile/mimetype v1.4.3 h1:in2uUcidCuFcDKtdcBxlR0rJ1+fsokWf+uqxgUFjbI0= +github.com/gabriel-vasile/mimetype v1.4.3/go.mod h1:d8uq/6HKRL6CGdk+aubisF/M5GcPfT7nKyLpA0lbSSk= github.com/gin-contrib/gzip v0.0.6 h1:NjcunTcGAj5CO1gn4N8jHOSIeRFHIbn51z6K+xaN4d4= github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= +github.com/gin-contrib/static v1.1.1 h1:XEvBd4DDLG1HBlyPBQU1XO8NlTpw6mgdqcPteetYA5k= +github.com/gin-contrib/static v1.1.1/go.mod h1:yRGmar7+JYvbMLRPIi4H5TVVSBwULfT9vetnVD0IO74= github.com/gin-gonic/gin v1.9.1 h1:4idEAncQnU5cB7BeOkPtxjfCSye0AAm1R0RVIqJ+Jmg= github.com/gin-gonic/gin v1.9.1/go.mod h1:hPrL7YrpYKXt5YId3A/Tnip5kqbEAP+KLuI3SUcPTeU= github.com/glebarez/go-sqlite v1.21.2 h1:3a6LFC4sKahUunAmynQKLZceZCOzUthkRkEAl9gAXWo= @@ -117,9 +116,8 @@ github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/o github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY= github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY= github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY= -github.com/go-playground/validator/v10 v10.14.0 h1:vgvQWe3XCz3gIeFDm/HnTIbj6UGmg/+t63MyGU2n5js= -github.com/go-playground/validator/v10 v10.14.0/go.mod h1:9iXMNT7sEkjXb0I+enO7QXmzG6QCsPWY4zveKFVRSyU= -github.com/go-resty/resty/v2 v2.11.0/go.mod h1:iiP/OpA0CkcL3IGt1O0+/SIItFUbkkyw5BGXiVdTu+A= +github.com/go-playground/validator/v10 v10.19.0 h1:ol+5Fu+cSq9JD7SoSqe04GMI92cbn0+wvQ3bZ8b/AU4= +github.com/go-playground/validator/v10 v10.19.0/go.mod h1:dbuPbCMFw/DrkbEynArYaCwl3amGuJotoKCe95atGMM= github.com/go-resty/resty/v2 v2.12.0 h1:rsVL8P90LFvkUYq/V5BTVe203WfRIU4gvcf+yfzJzGA= github.com/go-resty/resty/v2 v2.12.0/go.mod h1:o0yGPrkS3lOe1+eFajk6kBW8ScXzwU3hD69/gt2yB/0= github.com/go-sql-driver/mysql v1.7.0 h1:ueSltNNllEqE3qcWBTD0iQd3IpL/6U+mJxLkazJ7YPc= @@ -220,8 +218,9 @@ github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1 github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/klauspost/cpuid/v2 v2.2.4 h1:acbojRNwl3o09bUq+yDCtZFc1aiwaAAxtcn8YkZXnvk= -github.com/klauspost/cpuid/v2 v2.2.4/go.mod h1:RVVoqg1df56z8g3pUjL/3lE5UfnlrJX8tyFgg4nqhuY= +github.com/klauspost/cpuid/v2 v2.2.7 h1:ZWSB3igEs+d0qvnxR/ZBzXVmxkgt8DdzP6m9pfuVLDM= +github.com/klauspost/cpuid/v2 v2.2.7/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= +github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M= github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= @@ -231,8 +230,8 @@ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/leodido/go-urn v1.2.4 h1:XlAE/cm/ms7TE/VMVoduSpNBoyc2dOxHs5MZSwAN63Q= -github.com/leodido/go-urn v1.2.4/go.mod h1:7ZrI8mTSeBSHl/UaRyKQW1qZeMgak41ANeCNaVckg+4= +github.com/leodido/go-urn v1.4.0 h1:WT9HwE9SGECu3lg4d/dIA+jxlljEa1/ffXKmRjqdmIQ= +github.com/leodido/go-urn v1.4.0/go.mod h1:bvxc+MVxLKB4z00jd1z+Dvzr47oO32F/QSNjSBOlFxI= github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= @@ -240,8 +239,8 @@ github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA= -github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= +github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -250,16 +249,14 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJ github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= -github.com/pelletier/go-toml/v2 v2.0.8 h1:0ctb6s9mE31h0/lhu+J6OPmVeDxJn+kYnJc2jZR9tGQ= -github.com/pelletier/go-toml/v2 v2.0.8/go.mod h1:vuYfssBdrU2XDZ9bYydBu6t+6a6PYNcZljzZR9VXg+4= +github.com/pelletier/go-toml/v2 v2.2.0 h1:QLgLl2yMN7N+ruc31VynXs1vhMZa7CeHHejIeBAsoHo= +github.com/pelletier/go-toml/v2 v2.2.0/go.mod h1:1t835xjRzz80PqgE6HHgN2JOsmgYu/h4qDAS4n929Rs= github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/redis/go-redis/v9 v9.0.5 h1:CuQcn5HIEeK7BgElubPP8CGtE0KakrnbBSTLjathl5o= -github.com/redis/go-redis/v9 v9.0.5/go.mod h1:WqMKv5vnQbRuZstUwxQI195wHy+t4PuXDOjzMvcuQHk= github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec h1:W09IVJc94icq4NjY3clb7Lk8O1qJ8BdBEF8z0ibU0rE= github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= @@ -284,6 +281,7 @@ github.com/spf13/viper v1.16.0/go.mod h1:yg78JgCJcbrQOvV9YLXgkLaZqUidkY9K+Dd1Fof github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= +github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= @@ -294,9 +292,9 @@ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= +github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/subosito/gotenv v1.4.2 h1:X1TuBLAMDFbaTAChgCBLu3DU3UPyELpnF2jjJ2cz/S8= github.com/subosito/gotenv v1.4.2/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= github.com/swaggo/files v1.0.1 h1:J1bVJ4XHZNq0I46UU90611i9/YzdrF7x92oX1ig5IdE= @@ -307,8 +305,8 @@ github.com/swaggo/swag v1.16.2 h1:28Pp+8DkQoV+HLzLx8RGJZXNGKbFqnuvSbAAtoxiY04= github.com/swaggo/swag v1.16.2/go.mod h1:6YzXnDcpr0767iOejs318CwYkCQqyGer6BizOg03f+E= github.com/twitchyliquid64/golang-asm v0.15.1 h1:SU5vSMR7hnwNxj24w34ZyCi/FmDZTkS4MhqMhdFk5YI= github.com/twitchyliquid64/golang-asm v0.15.1/go.mod h1:a1lVb/DtPvCB8fslRZhAngC2+aY1QWCk3Cedj/Gdt08= -github.com/ugorji/go/codec v1.2.11 h1:BMaWp1Bb6fHwEtbplGBGJ498wD+LKlNSl25MjdZY4dU= -github.com/ugorji/go/codec v1.2.11/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg= +github.com/ugorji/go/codec v1.2.12 h1:9LC83zGrHhuUA9l16C9AHXAqEV/2wBQ4nkvumAE65EE= +github.com/ugorji/go/codec v1.2.12/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= @@ -330,8 +328,8 @@ go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN8 go.uber.org/zap v1.26.0 h1:sI7k6L95XOKS281NhVKOFCUNIvv9e0w4BF8N3u+tCRo= go.uber.org/zap v1.26.0/go.mod h1:dtElttAiwGvoJ/vj4IwHBS/gXsEu/pZ50mUIRWuG0so= golang.org/x/arch v0.0.0-20210923205945-b76863e36670/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8= -golang.org/x/arch v0.3.0 h1:02VY4/ZcO/gBOH6PUaoiptASxtXU10jazRCP865E97k= -golang.org/x/arch v0.3.0/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8= +golang.org/x/arch v0.7.0 h1:pskyeJh/3AmoQ8CPE95vxHLqp1G1GfGNXTmcl9NEKTc= +golang.org/x/arch v0.7.0/go.mod h1:FEVrYAQjsQXMVJ1nsMoVVXPZg6p2JE2mx8psSWTDQys= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= @@ -340,8 +338,6 @@ golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.14.0 h1:wBqGXzWJW6m1XrIKlAH0Hs1JJ7+9KBwnIO8v66Q9cHc= -golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4= golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA= golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= @@ -421,9 +417,6 @@ golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= -golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk= -golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM= -golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= golang.org/x/net v0.22.0 h1:9sGLhx7iRIHEiX0oAJ3MRZMUCElJgy7Br1nO+AMN3Tc= golang.org/x/net v0.22.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= @@ -487,14 +480,11 @@ golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220704084225-05e143d24a9e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE= -golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= @@ -502,7 +492,6 @@ golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9sn golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= -golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U= golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -515,14 +504,12 @@ golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k= -golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -675,8 +662,8 @@ google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGj google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng= -google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= +google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= @@ -716,6 +703,7 @@ modernc.org/memory v1.5.0 h1:N+/8c5rE6EqugZwHii4IFsaJ7MUhoWX07J5tC/iI5Ds= modernc.org/memory v1.5.0/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU= modernc.org/sqlite v1.23.1 h1:nrSBg4aRQQwq59JpvGEQ15tNxoO5pX/kUjcRNwSAGQM= modernc.org/sqlite v1.23.1/go.mod h1:OrDj17Mggn6MhE+iPbBNf7RGKODDE9NFT0f3EwDzJqk= +nullprogram.com/x/optparse v1.0.0/go.mod h1:KdyPE+Igbe0jQUrVfMqDMeJQIJZEuyV7pjYmp6pbG50= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= diff --git a/internal/handler/user.go b/internal/handler/user.go index 0cf2c23..247680c 100644 --- a/internal/handler/user.go +++ b/internal/handler/user.go @@ -38,7 +38,7 @@ func (h *UserHandler) Login(ctx *gin.Context) { token, rules, err := h.userService.Login(ctx, &req) if err != nil { - v1.HandleError(ctx, http.StatusUnauthorized, v1.ErrUnauthorized, nil) + v1.HandleError(ctx, http.StatusUnauthorized, v1.ErrBadRequest, nil) return } v1.HandleSuccess(ctx, v1.LoginResponseData{ diff --git a/internal/middleware/log.go b/internal/middleware/log.go index f96c4aa..da184e4 100644 --- a/internal/middleware/log.go +++ b/internal/middleware/log.go @@ -21,7 +21,7 @@ func RequestLogMiddleware(logger *log.Logger) gin.HandlerFunc { trace := cryptor.Md5String(uuid) logger.WithValue(ctx, zap.String("trace", trace)) logger.WithValue(ctx, zap.String("request_method", ctx.Request.Method)) - logger.WithValue(ctx, zap.Any("request_headers", ctx.Request.Header)) + //logger.WithValue(ctx, zap.Any("request_headers", ctx.Request.Header)) logger.WithValue(ctx, zap.String("request_url", ctx.Request.URL.String())) if ctx.Request.Body != nil { bodyBytes, _ := ctx.GetRawData() @@ -39,7 +39,7 @@ func ResponseLogMiddleware(logger *log.Logger) gin.HandlerFunc { startTime := time.Now() ctx.Next() duration := time.Since(startTime).String() - logger.WithContext(ctx).Info("Response", zap.Any("response_body", blw.body.String()), zap.Any("time", duration)) + logger.WithContext(ctx).Info("Response", zap.Any("time", duration)) } } diff --git a/internal/repository/repository.go b/internal/repository/repository.go index 860de47..2515bb3 100644 --- a/internal/repository/repository.go +++ b/internal/repository/repository.go @@ -4,13 +4,12 @@ import ( "PandoraHelper/pkg/log" "PandoraHelper/pkg/zapgorm2" "context" - "fmt" "github.com/glebarez/sqlite" - "github.com/redis/go-redis/v9" "github.com/spf13/viper" "gorm.io/driver/mysql" "gorm.io/driver/postgres" "gorm.io/gorm" + "os" "time" ) @@ -68,8 +67,8 @@ func NewDB(conf *viper.Viper, l *log.Logger) *gorm.DB { ) logger := zapgorm2.New(l.Logger) - driver := conf.GetString("data.db.user.driver") - dsn := conf.GetString("data.db.user.dsn") + driver := conf.GetString("database.driver") + dsn := conf.GetString("database.dsn") // GORM doc: https://gorm.io/docs/connecting_to_the_database.html switch driver { @@ -83,6 +82,17 @@ func NewDB(conf *viper.Viper, l *log.Logger) *gorm.DB { PreferSimpleProtocol: true, // disables implicit prepared statement usage }), &gorm.Config{}) case "sqlite": + _, err := os.Stat(dsn) + if err != nil { + if os.IsNotExist(err) { + _, err := os.Create(dsn) + if err != nil { + return nil + } + } else { + panic(err) + } + } db, err = gorm.Open(sqlite.Open(dsn), &gorm.Config{}) default: panic("unknown db driver") @@ -102,20 +112,3 @@ func NewDB(conf *viper.Viper, l *log.Logger) *gorm.DB { sqlDB.SetConnMaxLifetime(time.Hour) return db } -func NewRedis(conf *viper.Viper) *redis.Client { - rdb := redis.NewClient(&redis.Options{ - Addr: conf.GetString("data.redis.addr"), - Password: conf.GetString("data.redis.password"), - DB: conf.GetInt("data.redis.db"), - }) - - ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second) - defer cancel() - - _, err := rdb.Ping(ctx).Result() - if err != nil { - panic(fmt.Sprintf("redis error: %s", err.Error())) - } - - return rdb -} diff --git a/internal/server/http.go b/internal/server/http.go index cbb644a..f6088af 100644 --- a/internal/server/http.go +++ b/internal/server/http.go @@ -1,15 +1,17 @@ package server import ( - apiV1 "PandoraHelper/api/v1" + "PandoraHelper" "PandoraHelper/docs" "PandoraHelper/internal/handler" "PandoraHelper/internal/middleware" "PandoraHelper/pkg/jwt" "PandoraHelper/pkg/log" "PandoraHelper/pkg/server/http" + "github.com/gin-contrib/static" "github.com/gin-gonic/gin" "github.com/spf13/viper" + swaggerfiles "github.com/swaggo/files" ginSwagger "github.com/swaggo/gin-swagger" ) @@ -22,7 +24,7 @@ func NewHTTPServer( shareHandler *handler.ShareHandler, accountHandler *handler.AccountHandler, ) *http.Server { - gin.SetMode(gin.DebugMode) + gin.SetMode(gin.ReleaseMode) s := http.NewServer( gin.Default(), logger, @@ -44,12 +46,8 @@ func NewHTTPServer( middleware.RequestLogMiddleware(logger), //middleware.SignMiddleware(log), ) - s.GET("/", func(ctx *gin.Context) { - logger.WithContext(ctx).Info("hello") - apiV1.HandleSuccess(ctx, map[string]interface{}{ - ":)": "Thank you for using nunu!", - }) - }) + + s.Use(static.Serve("/", static.EmbedFolder(PandoraHelper.EmbedFrontendFS, "frontend/dist"))) v1 := s.Group("/api") { diff --git a/internal/server/migration.go b/internal/server/migration.go index 47a440a..10f707a 100644 --- a/internal/server/migration.go +++ b/internal/server/migration.go @@ -6,7 +6,6 @@ import ( "context" "go.uber.org/zap" "gorm.io/gorm" - "os" ) type Migrate struct { @@ -29,7 +28,6 @@ func (m *Migrate) Start(ctx context.Context) error { return err } m.log.Info("AutoMigrate success") - os.Exit(0) return nil } func (m *Migrate) Stop(ctx context.Context) error { diff --git a/internal/server/task.go b/internal/server/task.go index 543512c..b26dc48 100644 --- a/internal/server/task.go +++ b/internal/server/task.go @@ -68,12 +68,12 @@ func (t *Task) Start(ctx context.Context) error { t.scheduler = gocron.NewScheduler(time.UTC) - _, err := t.scheduler.Every("1d").Do(t.RefreshAllAccountEveryday, ctx) + _, err := t.scheduler.Every(1).Day().At("00:00").Do(t.RefreshAllAccountEveryday, ctx) if err != nil { return err } - _, err = t.scheduler.Every("1d").Do(t.RefreshShareLimitEveryday, ctx) + _, err = t.scheduler.Every(1).Day().At("00:05").Do(t.RefreshShareLimitEveryday, ctx) if err != nil { return err } diff --git a/internal/service/user.go b/internal/service/user.go index cc41c9c..cc389ca 100644 --- a/internal/service/user.go +++ b/internal/service/user.go @@ -46,5 +46,5 @@ func (s *userService) Login(ctx context.Context, req *v1.LoginRequest) (string, return token, user, nil } - return "", nil, v1.ErrUnauthorized + return "", nil, v1.ErrBadRequest } diff --git a/pkg/config/config.go b/pkg/config/config.go index 9969ffa..dbe430a 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -6,18 +6,44 @@ import ( "os" ) +func doesPathExist(path string) bool { + // 使用os.Stat来获取文件/目录状态 + _, err := os.Stat(path) + + // 如果没有错误,说明路径存在 + if err == nil { + return true + } + + // 如果错误是因为路径不存在,返回false + if os.IsNotExist(err) { + return false + } + + // 对于其他错误,打印错误消息并返回false + fmt.Println("检查路径时发生错误:", err) + return false +} + func NewConfig(p string) *viper.Viper { envConf := os.Getenv("APP_CONF") if envConf == "" { envConf = p } fmt.Println("load conf file:", envConf) - return getConfig(envConf) + return getConfig(envConf, ".") } -func getConfig(path string) *viper.Viper { +func getConfig(path ...string) *viper.Viper { conf := viper.New() - conf.SetConfigFile(path) + conf.SetConfigName("config") + for _, p := range path { + // 路径不存在则跳过 + if !doesPathExist(p) { + continue + } + conf.AddConfigPath(p) + } err := conf.ReadInConfig() if err != nil { panic(err) diff --git a/pkg/jwt/jwt.go b/pkg/jwt/jwt.go index aa93e13..a650ccd 100644 --- a/pkg/jwt/jwt.go +++ b/pkg/jwt/jwt.go @@ -1,7 +1,10 @@ package jwt import ( + "crypto/rand" + "encoding/hex" "errors" + "fmt" "regexp" "time" @@ -18,8 +21,30 @@ type MyCustomClaims struct { jwt.RegisteredClaims } +func generateRandomJwtSecret(length int) (string, error) { + // 创建一个用于存储随机字节的切片 + randomBytes := make([]byte, length) + // 使用crypto/rand库生成随机字节 + _, err := rand.Read(randomBytes) + if err != nil { + return "", fmt.Errorf("生成随机JWT密钥时出错: %v", err) + } + + // 将随机字节转换为十六进制字符串 + randomHex := hex.EncodeToString(randomBytes) + + return randomHex, nil +} + func NewJwt(conf *viper.Viper) *JWT { - return &JWT{key: []byte(conf.GetString("security.jwt.key"))} + //随机生成一个Jwt密钥 + jwtSecret, err := generateRandomJwtSecret(32) + if err != nil { + panic(err) + } + return &JWT{ + key: []byte(jwtSecret), + } } func (j *JWT) GenToken(userId string, expiresAt time.Time) (string, error) {

EnXKm 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%0DsJfA%N>N%R;D{pBD~ARd9SZ59&*VpkQ1KD_j{bt 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