From 8b72e06784040eb410fb3a0f94357236f9fdf8e8 Mon Sep 17 00:00:00 2001 From: TtiPo Date: Fri, 4 Sep 2026 00:33:52 +0900 Subject: [PATCH] first commit --- .claude/rules/checklist.md | 52 + .claude/rules/coding-common.md | 27 + .claude/rules/env-structure.md | 30 + .claude/rules/error-codes.md | 29 + .claude/rules/git-convention.md | 12 + .claude/rules/response-format.md | 21 + .claude/rules/security.md | 15 + .claude/rules/testing.md | 40 + .claude/settings.json | 46 + .claude/skills/docker/SKILL.md | 84 + .claude/skills/flutter/SKILL.md | 246 + .claude/skills/nestjs/SKILL.md | 197 + .claude/skills/vue3/SKILL.md | 203 + .design/surinz/HomeA.dc.html | 337 + .design/surinz/HomeB.dc.html | 549 + .design/surinz/HomeC.dc.html | 307 + .design/surinz/Main.dc.html | 480 + .design/surinz/build.mjs | 28 + .design/surinz/canvas.json | 72 + .../surinz/fonts/Pretendard-Bold.subset.woff2 | Bin 0 -> 270784 bytes .../fonts/Pretendard-Regular.subset.woff2 | Bin 0 -> 267096 bytes .../fonts/Pretendard-SemiBold.subset.woff2 | Bin 0 -> 268752 bytes .design/surinz/parts/gen-ranking.mjs | 198 + .design/surinz/parts/ranking.html | 245 + .design/surinz/surinz-home.html | 11009 +++++++++++++ .design/surinz/templates/HomeA.dc.html | 335 + .design/surinz/templates/HomeB.dc.html | 547 + .design/surinz/templates/HomeC.dc.html | 305 + .design/surinz/templates/Main.dc.html | 478 + .editorconfig | 22 + .env.development.example | 39 + .env.production.example | 39 + .gitattributes | 24 + .gitignore | 52 + 20260903074208.jpg | Bin 0 -> 241299 bytes CLAUDE.md | 39 + README.md | 107 + backend/.env.development.example | 0 backend/.env.production.example | 0 backend/.gitignore | 58 + backend/.prettierrc | 4 + backend/Dockerfile | 33 + backend/README.md | 98 + backend/eslint.config.mjs | 35 + backend/nest-cli.json | 10 + backend/package-lock.json | 13651 ++++++++++++++++ backend/package.json | 90 + backend/src/app.controller.spec.ts | 22 + backend/src/app.controller.ts | 16 + backend/src/app.module.ts | 72 + backend/src/app.service.ts | 8 + .../common/filters/http-exception.filter.ts | 75 + .../interceptors/transform.interceptor.ts | 33 + backend/src/main.ts | 111 + .../src/modules/health/health.controller.ts | 24 + backend/src/modules/health/health.module.ts | 9 + .../src/modules/user/dto/create-user.dto.ts | 20 + backend/src/modules/user/user.controller.ts | 40 + backend/src/modules/user/user.module.ts | 10 + backend/src/modules/user/user.service.ts | 28 + backend/src/shared/logger/winston.config.ts | 20 + backend/src/shared/utils/format.ts | 13 + backend/test/app.e2e-spec.ts | 25 + backend/test/jest-e2e.json | 9 + backend/tsconfig.build.json | 4 + backend/tsconfig.json | 33 + docker-compose.dev.yml | 53 + docker-compose.yml | 145 + flutter/.env.example | 12 + flutter/.gitignore | 54 + flutter/.metadata | 45 + flutter/README.md | 17 + flutter/analysis_options.yaml | 28 + flutter/android/.gitignore | 14 + flutter/android/app/build.gradle.kts | 44 + .../android/app/src/debug/AndroidManifest.xml | 7 + .../android/app/src/main/AndroidManifest.xml | 45 + .../com/example/tma_app/MainActivity.kt | 5 + .../res/drawable-v21/launch_background.xml | 12 + .../main/res/drawable/launch_background.xml | 12 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 544 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 442 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 721 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 1031 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 1443 bytes .../app/src/main/res/values-night/styles.xml | 18 + .../app/src/main/res/values/styles.xml | 18 + .../app/src/profile/AndroidManifest.xml | 7 + flutter/android/build.gradle.kts | 24 + flutter/android/gradle.properties | 2 + .../gradle/wrapper/gradle-wrapper.properties | 5 + flutter/android/settings.gradle.kts | 26 + flutter/ios/.gitignore | 34 + flutter/ios/Flutter/AppFrameworkInfo.plist | 24 + flutter/ios/Flutter/Debug.xcconfig | 1 + flutter/ios/Flutter/Release.xcconfig | 1 + flutter/ios/Runner.xcodeproj/project.pbxproj | 620 + .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/WorkspaceSettings.xcsettings | 8 + .../xcshareddata/xcschemes/Runner.xcscheme | 101 + .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/WorkspaceSettings.xcsettings | 8 + flutter/ios/Runner/AppDelegate.swift | 16 + .../AppIcon.appiconset/Contents.json | 122 + .../Icon-App-1024x1024@1x.png | Bin 0 -> 10932 bytes .../AppIcon.appiconset/Icon-App-20x20@1x.png | Bin 0 -> 295 bytes .../AppIcon.appiconset/Icon-App-20x20@2x.png | Bin 0 -> 406 bytes .../AppIcon.appiconset/Icon-App-20x20@3x.png | Bin 0 -> 450 bytes .../AppIcon.appiconset/Icon-App-29x29@1x.png | Bin 0 -> 282 bytes .../AppIcon.appiconset/Icon-App-29x29@2x.png | Bin 0 -> 462 bytes .../AppIcon.appiconset/Icon-App-29x29@3x.png | Bin 0 -> 704 bytes .../AppIcon.appiconset/Icon-App-40x40@1x.png | Bin 0 -> 406 bytes .../AppIcon.appiconset/Icon-App-40x40@2x.png | Bin 0 -> 586 bytes .../AppIcon.appiconset/Icon-App-40x40@3x.png | Bin 0 -> 862 bytes .../AppIcon.appiconset/Icon-App-60x60@2x.png | Bin 0 -> 862 bytes .../AppIcon.appiconset/Icon-App-60x60@3x.png | Bin 0 -> 1674 bytes .../AppIcon.appiconset/Icon-App-76x76@1x.png | Bin 0 -> 762 bytes .../AppIcon.appiconset/Icon-App-76x76@2x.png | Bin 0 -> 1226 bytes .../Icon-App-83.5x83.5@2x.png | Bin 0 -> 1418 bytes .../LaunchImage.imageset/Contents.json | 23 + .../LaunchImage.imageset/LaunchImage.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/LaunchImage@2x.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/LaunchImage@3x.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/README.md | 5 + .../Runner/Base.lproj/LaunchScreen.storyboard | 37 + flutter/ios/Runner/Base.lproj/Main.storyboard | 26 + flutter/ios/Runner/Info.plist | 70 + flutter/ios/Runner/Runner-Bridging-Header.h | 1 + flutter/ios/Runner/SceneDelegate.swift | 6 + flutter/ios/RunnerTests/RunnerTests.swift | 12 + flutter/lib/core/api/dio_client.dart | 95 + flutter/lib/core/api/dio_provider.dart | 9 + flutter/lib/core/api/error_lexicon.dart | 15 + flutter/lib/core/utils/.gitkeep | 1 + flutter/lib/features/.gitkeep | 1 + .../presentation/providers/user_provider.dart | 15 + flutter/lib/main.dart | 67 + flutter/lib/widgets/.gitkeep | 1 + flutter/linux/.gitignore | 1 + flutter/linux/CMakeLists.txt | 128 + flutter/linux/flutter/CMakeLists.txt | 88 + .../flutter/generated_plugin_registrant.cc | 15 + .../flutter/generated_plugin_registrant.h | 15 + flutter/linux/flutter/generated_plugins.cmake | 25 + flutter/linux/runner/CMakeLists.txt | 26 + flutter/linux/runner/main.cc | 6 + flutter/linux/runner/my_application.cc | 148 + flutter/linux/runner/my_application.h | 21 + flutter/macos/.gitignore | 7 + flutter/macos/Flutter/Flutter-Debug.xcconfig | 1 + .../macos/Flutter/Flutter-Release.xcconfig | 1 + .../Flutter/GeneratedPluginRegistrant.swift | 12 + .../macos/Runner.xcodeproj/project.pbxproj | 705 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/xcschemes/Runner.xcscheme | 99 + .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + flutter/macos/Runner/AppDelegate.swift | 13 + .../AppIcon.appiconset/Contents.json | 68 + .../AppIcon.appiconset/app_icon_1024.png | Bin 0 -> 102994 bytes .../AppIcon.appiconset/app_icon_128.png | Bin 0 -> 5680 bytes .../AppIcon.appiconset/app_icon_16.png | Bin 0 -> 520 bytes .../AppIcon.appiconset/app_icon_256.png | Bin 0 -> 14142 bytes .../AppIcon.appiconset/app_icon_32.png | Bin 0 -> 1066 bytes .../AppIcon.appiconset/app_icon_512.png | Bin 0 -> 36406 bytes .../AppIcon.appiconset/app_icon_64.png | Bin 0 -> 2218 bytes flutter/macos/Runner/Base.lproj/MainMenu.xib | 343 + flutter/macos/Runner/Configs/AppInfo.xcconfig | 14 + flutter/macos/Runner/Configs/Debug.xcconfig | 2 + flutter/macos/Runner/Configs/Release.xcconfig | 2 + .../macos/Runner/Configs/Warnings.xcconfig | 13 + .../macos/Runner/DebugProfile.entitlements | 12 + flutter/macos/Runner/Info.plist | 32 + flutter/macos/Runner/MainFlutterWindow.swift | 15 + flutter/macos/Runner/Release.entitlements | 8 + flutter/macos/RunnerTests/RunnerTests.swift | 12 + flutter/pubspec.lock | 722 + flutter/pubspec.yaml | 92 + flutter/test/widget_test.dart | 30 + flutter/web/favicon.png | Bin 0 -> 917 bytes flutter/web/icons/Icon-192.png | Bin 0 -> 5292 bytes flutter/web/icons/Icon-512.png | Bin 0 -> 8252 bytes flutter/web/icons/Icon-maskable-192.png | Bin 0 -> 5594 bytes flutter/web/icons/Icon-maskable-512.png | Bin 0 -> 20998 bytes flutter/web/index.html | 46 + flutter/web/manifest.json | 35 + flutter/windows/.gitignore | 17 + flutter/windows/CMakeLists.txt | 108 + flutter/windows/flutter/CMakeLists.txt | 109 + .../flutter/generated_plugin_registrant.cc | 14 + .../flutter/generated_plugin_registrant.h | 15 + .../windows/flutter/generated_plugins.cmake | 25 + flutter/windows/runner/CMakeLists.txt | 40 + flutter/windows/runner/Runner.rc | 121 + flutter/windows/runner/flutter_window.cpp | 71 + flutter/windows/runner/flutter_window.h | 33 + flutter/windows/runner/main.cpp | 43 + flutter/windows/runner/resource.h | 16 + flutter/windows/runner/resources/app_icon.ico | Bin 0 -> 33772 bytes flutter/windows/runner/runner.exe.manifest | 14 + flutter/windows/runner/utils.cpp | 65 + flutter/windows/runner/utils.h | 19 + flutter/windows/runner/win32_window.cpp | 288 + flutter/windows/runner/win32_window.h | 102 + frontend/.env.development.example | 0 frontend/.env.production.example | 0 frontend/.gitignore | 48 + frontend/.oxfmtrc.json | 5 + frontend/.vscode/extensions.json | 7 + frontend/Dockerfile | 26 + frontend/README.md | 48 + frontend/env.d.ts | 10 + frontend/eslint.config.mjs | 17 + frontend/index.html | 14 + frontend/nginx.conf | 48 + frontend/package-lock.json | 7053 ++++++++ frontend/package.json | 45 + frontend/public/favicon.ico | Bin 0 -> 4286 bytes frontend/src/App.vue | 10 + frontend/src/components/BaseButton.vue | 76 + frontend/src/composables/useApi.ts | 93 + frontend/src/composables/useAuth.ts | 43 + frontend/src/composables/useUser.ts | 31 + frontend/src/main.ts | 12 + frontend/src/pages/HomePage.vue | 27 + frontend/src/pages/NotFoundPage.vue | 23 + frontend/src/router/index.ts | 35 + frontend/src/shared/utils/format.ts | 20 + frontend/src/stores/auth.store.ts | 24 + frontend/src/stores/user.store.ts | 19 + frontend/tsconfig.app.json | 18 + frontend/tsconfig.json | 14 + frontend/tsconfig.node.json | 27 + frontend/tsconfig.vitest.json | 19 + frontend/vite.config.ts | 28 + frontend/vitest.config.ts | 14 + 238 files changed, 44441 insertions(+) create mode 100644 .claude/rules/checklist.md create mode 100644 .claude/rules/coding-common.md create mode 100644 .claude/rules/env-structure.md create mode 100644 .claude/rules/error-codes.md create mode 100644 .claude/rules/git-convention.md create mode 100644 .claude/rules/response-format.md create mode 100644 .claude/rules/security.md create mode 100644 .claude/rules/testing.md create mode 100644 .claude/settings.json create mode 100644 .claude/skills/docker/SKILL.md create mode 100644 .claude/skills/flutter/SKILL.md create mode 100644 .claude/skills/nestjs/SKILL.md create mode 100644 .claude/skills/vue3/SKILL.md create mode 100644 .design/surinz/HomeA.dc.html create mode 100644 .design/surinz/HomeB.dc.html create mode 100644 .design/surinz/HomeC.dc.html create mode 100644 .design/surinz/Main.dc.html create mode 100644 .design/surinz/build.mjs create mode 100644 .design/surinz/canvas.json create mode 100644 .design/surinz/fonts/Pretendard-Bold.subset.woff2 create mode 100644 .design/surinz/fonts/Pretendard-Regular.subset.woff2 create mode 100644 .design/surinz/fonts/Pretendard-SemiBold.subset.woff2 create mode 100644 .design/surinz/parts/gen-ranking.mjs create mode 100644 .design/surinz/parts/ranking.html create mode 100644 .design/surinz/surinz-home.html create mode 100644 .design/surinz/templates/HomeA.dc.html create mode 100644 .design/surinz/templates/HomeB.dc.html create mode 100644 .design/surinz/templates/HomeC.dc.html create mode 100644 .design/surinz/templates/Main.dc.html create mode 100644 .editorconfig create mode 100644 .env.development.example create mode 100644 .env.production.example create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 20260903074208.jpg create mode 100644 CLAUDE.md create mode 100644 README.md create mode 100644 backend/.env.development.example create mode 100644 backend/.env.production.example create mode 100644 backend/.gitignore create mode 100644 backend/.prettierrc create mode 100644 backend/Dockerfile create mode 100644 backend/README.md create mode 100644 backend/eslint.config.mjs create mode 100644 backend/nest-cli.json create mode 100644 backend/package-lock.json create mode 100644 backend/package.json create mode 100644 backend/src/app.controller.spec.ts create mode 100644 backend/src/app.controller.ts create mode 100644 backend/src/app.module.ts create mode 100644 backend/src/app.service.ts create mode 100644 backend/src/common/filters/http-exception.filter.ts create mode 100644 backend/src/common/interceptors/transform.interceptor.ts create mode 100644 backend/src/main.ts create mode 100644 backend/src/modules/health/health.controller.ts create mode 100644 backend/src/modules/health/health.module.ts create mode 100644 backend/src/modules/user/dto/create-user.dto.ts create mode 100644 backend/src/modules/user/user.controller.ts create mode 100644 backend/src/modules/user/user.module.ts create mode 100644 backend/src/modules/user/user.service.ts create mode 100644 backend/src/shared/logger/winston.config.ts create mode 100644 backend/src/shared/utils/format.ts create mode 100644 backend/test/app.e2e-spec.ts create mode 100644 backend/test/jest-e2e.json create mode 100644 backend/tsconfig.build.json create mode 100644 backend/tsconfig.json create mode 100644 docker-compose.dev.yml create mode 100644 docker-compose.yml create mode 100644 flutter/.env.example create mode 100644 flutter/.gitignore create mode 100644 flutter/.metadata create mode 100644 flutter/README.md create mode 100644 flutter/analysis_options.yaml create mode 100644 flutter/android/.gitignore create mode 100644 flutter/android/app/build.gradle.kts create mode 100644 flutter/android/app/src/debug/AndroidManifest.xml create mode 100644 flutter/android/app/src/main/AndroidManifest.xml create mode 100644 flutter/android/app/src/main/kotlin/com/example/tma_app/MainActivity.kt create mode 100644 flutter/android/app/src/main/res/drawable-v21/launch_background.xml create mode 100644 flutter/android/app/src/main/res/drawable/launch_background.xml create mode 100644 flutter/android/app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 flutter/android/app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 flutter/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 flutter/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 flutter/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 flutter/android/app/src/main/res/values-night/styles.xml create mode 100644 flutter/android/app/src/main/res/values/styles.xml create mode 100644 flutter/android/app/src/profile/AndroidManifest.xml create mode 100644 flutter/android/build.gradle.kts create mode 100644 flutter/android/gradle.properties create mode 100644 flutter/android/gradle/wrapper/gradle-wrapper.properties create mode 100644 flutter/android/settings.gradle.kts create mode 100644 flutter/ios/.gitignore create mode 100644 flutter/ios/Flutter/AppFrameworkInfo.plist create mode 100644 flutter/ios/Flutter/Debug.xcconfig create mode 100644 flutter/ios/Flutter/Release.xcconfig create mode 100644 flutter/ios/Runner.xcodeproj/project.pbxproj create mode 100644 flutter/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 flutter/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 flutter/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 flutter/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme create mode 100644 flutter/ios/Runner.xcworkspace/contents.xcworkspacedata create mode 100644 flutter/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 flutter/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 flutter/ios/Runner/AppDelegate.swift create mode 100644 flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png create mode 100644 flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png create mode 100644 flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png create mode 100644 flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png create mode 100644 flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png create mode 100644 flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png create mode 100644 flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png create mode 100644 flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png create mode 100644 flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png create mode 100644 flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png create mode 100644 flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png create mode 100644 flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png create mode 100644 flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png create mode 100644 flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png create mode 100644 flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png create mode 100644 flutter/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json create mode 100644 flutter/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png create mode 100644 flutter/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png create mode 100644 flutter/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png create mode 100644 flutter/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md create mode 100644 flutter/ios/Runner/Base.lproj/LaunchScreen.storyboard create mode 100644 flutter/ios/Runner/Base.lproj/Main.storyboard create mode 100644 flutter/ios/Runner/Info.plist create mode 100644 flutter/ios/Runner/Runner-Bridging-Header.h create mode 100644 flutter/ios/Runner/SceneDelegate.swift create mode 100644 flutter/ios/RunnerTests/RunnerTests.swift create mode 100644 flutter/lib/core/api/dio_client.dart create mode 100644 flutter/lib/core/api/dio_provider.dart create mode 100644 flutter/lib/core/api/error_lexicon.dart create mode 100644 flutter/lib/core/utils/.gitkeep create mode 100644 flutter/lib/features/.gitkeep create mode 100644 flutter/lib/features/user/presentation/providers/user_provider.dart create mode 100644 flutter/lib/main.dart create mode 100644 flutter/lib/widgets/.gitkeep create mode 100644 flutter/linux/.gitignore create mode 100644 flutter/linux/CMakeLists.txt create mode 100644 flutter/linux/flutter/CMakeLists.txt create mode 100644 flutter/linux/flutter/generated_plugin_registrant.cc create mode 100644 flutter/linux/flutter/generated_plugin_registrant.h create mode 100644 flutter/linux/flutter/generated_plugins.cmake create mode 100644 flutter/linux/runner/CMakeLists.txt create mode 100644 flutter/linux/runner/main.cc create mode 100644 flutter/linux/runner/my_application.cc create mode 100644 flutter/linux/runner/my_application.h create mode 100644 flutter/macos/.gitignore create mode 100644 flutter/macos/Flutter/Flutter-Debug.xcconfig create mode 100644 flutter/macos/Flutter/Flutter-Release.xcconfig create mode 100644 flutter/macos/Flutter/GeneratedPluginRegistrant.swift create mode 100644 flutter/macos/Runner.xcodeproj/project.pbxproj create mode 100644 flutter/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 flutter/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme create mode 100644 flutter/macos/Runner.xcworkspace/contents.xcworkspacedata create mode 100644 flutter/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 flutter/macos/Runner/AppDelegate.swift create mode 100644 flutter/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 flutter/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png create mode 100644 flutter/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png create mode 100644 flutter/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png create mode 100644 flutter/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png create mode 100644 flutter/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png create mode 100644 flutter/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png create mode 100644 flutter/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png create mode 100644 flutter/macos/Runner/Base.lproj/MainMenu.xib create mode 100644 flutter/macos/Runner/Configs/AppInfo.xcconfig create mode 100644 flutter/macos/Runner/Configs/Debug.xcconfig create mode 100644 flutter/macos/Runner/Configs/Release.xcconfig create mode 100644 flutter/macos/Runner/Configs/Warnings.xcconfig create mode 100644 flutter/macos/Runner/DebugProfile.entitlements create mode 100644 flutter/macos/Runner/Info.plist create mode 100644 flutter/macos/Runner/MainFlutterWindow.swift create mode 100644 flutter/macos/Runner/Release.entitlements create mode 100644 flutter/macos/RunnerTests/RunnerTests.swift create mode 100644 flutter/pubspec.lock create mode 100644 flutter/pubspec.yaml create mode 100644 flutter/test/widget_test.dart create mode 100644 flutter/web/favicon.png create mode 100644 flutter/web/icons/Icon-192.png create mode 100644 flutter/web/icons/Icon-512.png create mode 100644 flutter/web/icons/Icon-maskable-192.png create mode 100644 flutter/web/icons/Icon-maskable-512.png create mode 100644 flutter/web/index.html create mode 100644 flutter/web/manifest.json create mode 100644 flutter/windows/.gitignore create mode 100644 flutter/windows/CMakeLists.txt create mode 100644 flutter/windows/flutter/CMakeLists.txt create mode 100644 flutter/windows/flutter/generated_plugin_registrant.cc create mode 100644 flutter/windows/flutter/generated_plugin_registrant.h create mode 100644 flutter/windows/flutter/generated_plugins.cmake create mode 100644 flutter/windows/runner/CMakeLists.txt create mode 100644 flutter/windows/runner/Runner.rc create mode 100644 flutter/windows/runner/flutter_window.cpp create mode 100644 flutter/windows/runner/flutter_window.h create mode 100644 flutter/windows/runner/main.cpp create mode 100644 flutter/windows/runner/resource.h create mode 100644 flutter/windows/runner/resources/app_icon.ico create mode 100644 flutter/windows/runner/runner.exe.manifest create mode 100644 flutter/windows/runner/utils.cpp create mode 100644 flutter/windows/runner/utils.h create mode 100644 flutter/windows/runner/win32_window.cpp create mode 100644 flutter/windows/runner/win32_window.h create mode 100644 frontend/.env.development.example create mode 100644 frontend/.env.production.example create mode 100644 frontend/.gitignore create mode 100644 frontend/.oxfmtrc.json create mode 100644 frontend/.vscode/extensions.json create mode 100644 frontend/Dockerfile create mode 100644 frontend/README.md create mode 100644 frontend/env.d.ts create mode 100644 frontend/eslint.config.mjs create mode 100644 frontend/index.html create mode 100644 frontend/nginx.conf create mode 100644 frontend/package-lock.json create mode 100644 frontend/package.json create mode 100644 frontend/public/favicon.ico create mode 100644 frontend/src/App.vue create mode 100644 frontend/src/components/BaseButton.vue create mode 100644 frontend/src/composables/useApi.ts create mode 100644 frontend/src/composables/useAuth.ts create mode 100644 frontend/src/composables/useUser.ts create mode 100644 frontend/src/main.ts create mode 100644 frontend/src/pages/HomePage.vue create mode 100644 frontend/src/pages/NotFoundPage.vue create mode 100644 frontend/src/router/index.ts create mode 100644 frontend/src/shared/utils/format.ts create mode 100644 frontend/src/stores/auth.store.ts create mode 100644 frontend/src/stores/user.store.ts create mode 100644 frontend/tsconfig.app.json create mode 100644 frontend/tsconfig.json create mode 100644 frontend/tsconfig.node.json create mode 100644 frontend/tsconfig.vitest.json create mode 100644 frontend/vite.config.ts create mode 100644 frontend/vitest.config.ts diff --git a/.claude/rules/checklist.md b/.claude/rules/checklist.md new file mode 100644 index 0000000..a1ca0d2 --- /dev/null +++ b/.claude/rules/checklist.md @@ -0,0 +1,52 @@ +--- +name: checklist +description: 신규 프로젝트 셋업 절차 + 매 작업 공통 점검(에러코드 SSOT 동기화 등). 특정 시점의 구현 상태가 아니라 언제나 유효한 공용 규칙만 담는다. +--- + +# 작업 점검 & 신규 프로젝트 셋업 + +> 이 저장소는 **재사용 템플릿**이다. 클론해 어떤 프로젝트든 시작할 수 있도록, 여기에는 **언제나 유효한 공용 규칙**만 둔다(특정 시점의 구현 상태는 두지 않는다). +> 각 스택이 기본 제공하는 골격과 확장 규칙은 [[nestjs]] · [[vue3]] · [[flutter]] · [[docker]] 스킬 참조. + +--- + +## 1. 신규 프로젝트 셋업 (클론 직후 1회) + +- [ ] 루트 `.env.{env}.example` → `.env.{env}` 복사 (루트가 설정 SSOT — 대표 키가 채워져 있음, [[env-structure]]) +- [ ] `flutter/.env.example` → `flutter/.env` 복사 후 `API_URL` 확인 (Android 에뮬레이터: `10.0.2.2`) +- [ ] 프로젝트 식별 값 교체 (`PROJECT_NAME` 등 루트 env 키) +- [ ] 백엔드 고유 시크릿(`JWT_SECRET` 등)을 `backend/.env.{env}` 에 작성 (compose `env_file` 로 로드) +- [ ] Docker 개발 환경 기동으로 동작 확인 ([[docker]]) + +## 2. 커밋 전 공통 점검 (매 작업) + +- [ ] 주석은 한국어, 매직 넘버·하드코딩 문자열 없음 ([[coding-common]]) +- [ ] 린트/분석 통과 — backend `npm run lint`, frontend `npm run lint && npm run type-check`, flutter `flutter analyze` (Warning 0) +- [ ] 절대경로 alias 사용 (TS `@/`, Dart `package:`), 깊은 상대경로 없음 +- [ ] 민감정보(`.env`, 시크릿) 미커밋 — `*.example` 만 추적 ([[security]]) +- [ ] 커밋 메시지 `: <한국어 제목>` 형식, 한 커밋 한 변경 ([[git-convention]]) + +## 3. 에러 코드 SSOT 동기화 (메시지/코드 변경 시 반드시 3곳 동시 수정) + +- [ ] backend `src/common/filters/http-exception.filter.ts` +- [ ] frontend `src/composables/useApi.ts` (`ErrorCodeLexicon`) +- [ ] flutter `lib/core/api/error_lexicon.dart` (`ErrorLexicon`) + +> `AUTH_002`(세션 만료)는 **클라이언트 전용** 코드로 서버 응답에는 나타나지 않는다. 자세한 내용은 [[error-codes]]. + +--- + +## 4. 기능 확장 시 따르는 순서 + +새 기능은 만들기 전에, 해당 스킬의 **"템플릿 기본 제공 골격"** 에서 재사용할 패턴을 먼저 찾는다(같은 역할을 새로 만들지 말 것). + +1. 해당 디렉터리 스킬 규칙 확인 ([[nestjs]] / [[vue3]] / [[flutter]]) +2. 기본 제공 골격(인터셉터·필터·dio client·error lexicon·예제 모듈)에서 패턴 재사용 +3. 표준 응답/에러 흐름 준수 ([[response-format]] · [[error-codes]]) +4. env 신규 값은 루트 `.env` 부터 ([[env-structure]]) +5. 커밋 전 위 2·3절 점검 통과 + +> 대표 확장 지점(각 스킬의 "확장 시 따르는 규칙" 참조): +> - 인증/권한 → [[nestjs]](guards·JWT) · [[vue3]](auth store + 라우터 가드) +> - 데이터 영속화 → [[nestjs]](TypeORM 엔티티/리포지토리) +> - 상태·화면 계층 → [[flutter]](Riverpod 프로바이더 · features 구조) diff --git a/.claude/rules/coding-common.md b/.claude/rules/coding-common.md new file mode 100644 index 0000000..4d8ff3d --- /dev/null +++ b/.claude/rules/coding-common.md @@ -0,0 +1,27 @@ +--- +name: coding-common +description: 세 클라이언트(backend/frontend/flutter) 공통 코딩 규칙 — 주석 언어, 타입 정책, 린트, 순수 유틸 분리, 절대경로 alias. +--- + +# 공통 코딩 규칙 + +- 모든 코드 주석은 **한국어**로 작성 +- 웹(`frontend`)·서버(`backend`)는 100% TypeScript, 모바일(`flutter`)은 Dart Sound Null Safety 준수 +- 컴파일러/린터 **Warning 방치 금지** — 커밋 전 각 프로젝트 `lint` / `analyze` 통과 +- 유틸 함수는 순수 함수로 분리 — TS는 `shared/utils/`, Dart는 `core/utils/` +- 매직 넘버·하드코딩 문자열 지양 → 상수 또는 환경변수로 분리 +- 절대경로 alias 사용 (TS `@/`, Dart `package:`), 깊은 상대경로(`../../`) 지양 + +## 네이밍 규약 + +| 대상 | 규칙 | 예 | +| --- | --- | --- | +| TS 파일(일반) | kebab-case | `user.store.ts`, `use-api.ts` / 기존 composable 은 `useApi.ts` 형태 유지 | +| Vue 컴포넌트 파일 | PascalCase | `BaseButton.vue`, `UserCard.vue` | +| Dart 파일·디렉터리 | snake_case | `dio_client.dart`, `user_repository.dart` | +| 클래스/타입 | PascalCase | `UserModel`, `TransformInterceptor` | +| 변수/함수 | camelCase (Dart 포함) | `getUser`, `isLoggedIn` | +| 상수 | TS `UPPER_SNAKE` 또는 모듈 상수, Dart `lowerCamel` | `MAX_RETRY`, `defaultTimeout` | +| 에러 코드 | `DOMAIN_NNN` | `AUTH_001`, `VAL_001` ([[error-codes]]) | + +> 도메인별 세부 규칙: [[nestjs]] · [[vue3]] · [[flutter]] · 테스트: [[testing]] diff --git a/.claude/rules/env-structure.md b/.claude/rules/env-structure.md new file mode 100644 index 0000000..169012f --- /dev/null +++ b/.claude/rules/env-structure.md @@ -0,0 +1,30 @@ +--- +name: env-structure +description: 환경변수 단일 진실 공급원(SSOT) 구조 — 루트 .env.{APP_ENV} 가 모든 설정의 SSOT, docker-compose 가 서비스에 주입. 새 설정값 추가/서비스 env 작성 규칙. +--- + +# 환경변수 구조 (단일 진실 공급원: 루트 `.env`) + +이 템플릿은 **루트 `.env.{APP_ENV}` 가 모든 설정의 단일 진실 공급원(SSOT)** 이다. +값을 한 곳에서만 관리하기 위해, 서비스(backend/frontend)는 자체 env에 값을 중복 작성하지 않고 **루트 → docker-compose 가 주입한 값을 그대로 사용**한다. + +``` +루트 .env.{APP_ENV} + │ (docker compose --env-file 로 로드) + ├─▶ backend : env_file + environment 로 DB/Redis/CORS/포트 주입 + │ (backend/.env.{APP_ENV} 는 "존재"만 하면 됨, 내용 최소) + ├─▶ frontend : BACKEND_API_URL → build arg(VITE_API_BASE_URL) 로 주입 + ├─▶ db : DB_USER/DB_PASSWORD/DB_NAME, DB_DATA_DIR 볼륨 + └─▶ redis : REDIS_PASSWORD, REDIS_DATA_DIR 볼륨 +``` + +규칙: + +- **새 설정값은 루트 `.env.{APP_ENV}` 에 먼저 추가**하고, 필요한 서비스에 `docker-compose.yml` 의 `environment` / `args` 로 전달한다. +- 서비스 자체 env 파일에는 **루트에서 내려주지 않는 고유 값만** 작성한다. (예: 백엔드 `JWT_SECRET`) +- `docker-compose.yml` 의 `env_file` 지시자 때문에 `backend/.env.{APP_ENV}` 파일은 비어 있어도 **존재해야 한다.** +- **Flutter 는 예외** — docker-compose 대상이 아니므로 `flutter/.env` 에서 `API_URL` 을 독립적으로 관리한다. +- 모든 env 파일은 커밋 금지, `*.example` 만 커밋한다. (`.gitignore` 의 `!*.example` 재포함 규칙) + +> 루트 env의 대표 키: `PROJECT_NAME`, `APP_ENV`, `BUILD_MODE`, 각종 `*_PORT`, `BACKEND_API_URL`, `CORS_ORIGIN`, `DB_*`/`DB_DATA_DIR`, `REDIS_*`/`REDIS_DATA_DIR`. 실제 목록은 `.env.development.example` 참조. +> 실행/배포 명령은 [[docker]], 보안 규칙은 [[security]] 참조. diff --git a/.claude/rules/error-codes.md b/.claude/rules/error-codes.md new file mode 100644 index 0000000..d6ef5d0 --- /dev/null +++ b/.claude/rules/error-codes.md @@ -0,0 +1,29 @@ +--- +name: error-codes +description: 세 플랫폼이 공유하는 에러 코드 ↔ 한국어 메시지 매핑(SSOT). 메시지 수정 시 backend/frontend/flutter 3개 파일을 함께 갱신한다. +--- + +# 에러 코드 맵핑 + +세 플랫폼이 공유하는 **단일 진실 공급원(SSOT)**. 메시지를 수정할 때는 아래 세 파일을 함께 갱신한다. + +- backend: `src/common/filters/http-exception.filter.ts` +- frontend: `src/composables/useApi.ts` (`ErrorCodeLexicon`) +- flutter: `lib/core/api/error_lexicon.dart` (`ErrorLexicon`) + +| 코드 | HTTP / 상황 | 메시지 | +| -------- | -------------------- | ------------------------------------------------------- | +| SYS_001 | 500 / 미정의 예외 | "일시적인 시스템 오류가 발생했습니다. 잠시 후 다시 시도해 주세요." | +| AUTH_001 | 401 | "로그인이 필요한 서비스입니다. 로그인 후 이용해 주세요." | +| AUTH_002 | 세션 만료 (클라이언트) | "안전을 위해 로그아웃 되었습니다. 다시 로그인해 주세요." | +| AUTH_003 | 403 | "해당 메뉴나 기능에 접근할 수 있는 권한이 없습니다." | +| VAL_001 | 400 / 422 (Validation) | "입력하신 정보를 다시 확인해 주세요. (필수값 누락 또는 형식 오류)" | +| RES_001 | 404 | "요청하신 정보나 페이지를 찾을 수 없습니다." | +| BIZ_001 | 200(비즈니스 실패) / 기타 | "요청하신 작업을 완료하지 못했습니다. 다시 시도해 주세요." | + +> 비즈니스 예외는 `HttpException` 응답의 `message` 로 사용자 노출 문구를 재정의할 수 있다. +> 응답 래퍼 구조는 [[response-format]] 참조. + +> **구현 주의:** 백엔드 필터(`http-exception.filter.ts`)는 **6개 코드**(SYS_001 / AUTH_001 / AUTH_003 / VAL_001 / RES_001 / BIZ_001)만 방출한다. +> `AUTH_002`(세션 만료)는 **클라이언트(frontend/flutter)에서만** 생성하는 코드로, 서버 응답에는 나타나지 않는다. +> 코드/메시지 변경 시 위 3개 파일을 함께 갱신해야 하며, 점검 항목은 [[checklist]] 참조. diff --git a/.claude/rules/git-convention.md b/.claude/rules/git-convention.md new file mode 100644 index 0000000..6fc5e77 --- /dev/null +++ b/.claude/rules/git-convention.md @@ -0,0 +1,12 @@ +--- +name: git-convention +description: Git 커밋 메시지 컨벤션 — : <제목> 형식, 한국어 명령형, 한 커밋 한 논리 변경. +--- + +# Git 커밋 컨벤션 + +`: <제목>` 형식 — type: **feat / fix / refactor / docs / chore / perf / test / style** + +- 예: `feat: 사용자 목록 페이지네이션 추가` +- 제목은 한국어, 명령형 현재 시제로 작성 +- 한 커밋은 하나의 논리적 변경만 포함 diff --git a/.claude/rules/response-format.md b/.claude/rules/response-format.md new file mode 100644 index 0000000..e3014f3 --- /dev/null +++ b/.claude/rules/response-format.md @@ -0,0 +1,21 @@ +--- +name: response-format +description: 모든 API 응답이 따르는 표준 응답 래퍼(success/data/error) 규칙. SSOT는 backend TransformInterceptor + HttpExceptionFilter. +--- + +# 표준 응답 포맷 (Global Response Wrapper) + +모든 API 응답은 아래 구조로 통일한다. +(SSOT: backend `TransformInterceptor` + `HttpExceptionFilter` — [[nestjs]] 참조) + +```jsonc +// 성공 +{ "success": true, "data": { /* ... */ } } + +// 실패 +{ "success": false, "error": { "code": "VAL_001", "message": "..." } } +``` + +- 프론트/플러터 인터셉터는 `success: true` 면 `data` 만 언래핑하여 반환한다. +- `success: false` 이거나 HTTP 4xx/5xx 면 `error.code` 로 메시지를 매핑한다. +- 에러 코드 ↔ 메시지 매핑은 [[error-codes]] 참조. diff --git a/.claude/rules/security.md b/.claude/rules/security.md new file mode 100644 index 0000000..2e4fe47 --- /dev/null +++ b/.claude/rules/security.md @@ -0,0 +1,15 @@ +--- +name: security +description: 프로젝트 공통 보안 규칙 — 민감정보 커밋 금지, JWT 쿠키/secure storage, SQL Injection 차단, DTO 검증, 보안 헤더/CORS/Rate Limiting, 컨테이너 비-root 구동. +--- + +# 보안 + +- `.env*` 등 민감정보 Git 커밋 금지 (`.gitignore` 확인) — 예시는 `*.example`(예: `.env.development.example`, `.env.example`) 로만 공유 +- JWT는 HttpOnly·Secure 쿠키 사용 (웹 `localStorage` 금지) / 모바일은 `flutter_secure_storage` 사용 +- TypeORM ORM 쿼리 사용으로 SQL Injection 차단 (Raw 쿼리 시 파라미터 바인딩 필수) +- 입력값은 DTO(`class-validator`) 검증을 거친 뒤 서비스 계층에 전달 +- 보안 헤더(`helmet`)·CORS·Rate Limiting(`@nestjs/throttler`) 적용 +- Docker 컨테이너 내부 root 실행 금지 (비-root 사용자로 구동) + +> 환경변수 관리 규칙은 [[env-structure]], 도메인별 적용은 [[nestjs]] · [[flutter]] 참조. diff --git a/.claude/rules/testing.md b/.claude/rules/testing.md new file mode 100644 index 0000000..7d1ff49 --- /dev/null +++ b/.claude/rules/testing.md @@ -0,0 +1,40 @@ +--- +name: testing +description: 세 스택 공통 테스트 규칙 — 테스트 위치/네이밍, 무엇을 테스트할지, 커밋 전 실행. backend Jest, frontend Vitest, flutter flutter_test 기준. +--- + +# 테스트 규칙 + +> 템플릿은 각 스택에 테스트 러너가 준비되어 있다 — backend `jest`, frontend `vitest`, flutter `flutter_test`. +> 새 로직을 추가하면 최소한의 테스트를 함께 작성한다. + +## 공통 원칙 + +- **무엇을 테스트하나**: 순수 함수(utils), 서비스/비즈니스 로직, 에러 코드 매핑 분기를 우선한다. 프레임워크 기본 동작은 테스트하지 않는다. +- **테스트는 결정적(deterministic)** 으로 — 외부 네트워크/시간/랜덤에 의존하지 않도록 모킹한다. +- **커밋 전 실행** — 변경 영역의 테스트가 통과해야 한다. ([[checklist]]) +- 테스트 설명(it/test 제목)은 한국어로 "무엇을 검증하는지" 명확히 작성한다. + +## 스택별 위치·실행 + +| 스택 | 러너 | 위치·네이밍 | 실행 | +| --- | --- | --- | --- | +| backend | Jest | 단위 `*.spec.ts` (소스 옆), e2e `test/*.e2e-spec.ts` | `npm run test`, `npm run test:e2e` | +| frontend | Vitest | `*.spec.ts` / `*.test.ts` (대상 옆 또는 `__tests__/`) | `npm run test:unit` | +| flutter | flutter_test | `test/` 하위, `*_test.dart` | `flutter test` | + +## 예시 (backend 순수 유틸) + +```typescript +// shared/utils/format.spec.ts +import { formatSomething } from './format'; + +describe('formatSomething', () => { + it('빈 입력이면 빈 문자열을 반환한다', () => { + expect(formatSomething('')).toBe(''); + }); +}); +``` + +> API 응답 래퍼/에러 코드는 세 플랫폼 공유 계약이므로([[response-format]] · [[error-codes]]), +> 매핑 로직을 변경하면 해당 분기 테스트를 추가/갱신한다. diff --git a/.claude/settings.json b/.claude/settings.json new file mode 100644 index 0000000..78aa667 --- /dev/null +++ b/.claude/settings.json @@ -0,0 +1,46 @@ +{ + "$schema": "https://json.schemastore.org/claude-code-settings.json", + "permissions": { + "allow": [ + "Read(//**)", + "Bash(npm run lint:*)", + "Bash(npm run build:*)", + "Bash(npm run test:*)", + "Bash(npm run start:*)", + "Bash(npm ci)", + "Bash(npm install)", + "Bash(pnpm lint:*)", + "Bash(pnpm build:*)", + "Bash(flutter analyze:*)", + "Bash(flutter test:*)", + "Bash(flutter pub get)", + "Bash(dart format:*)", + "Bash(docker compose -f docker-compose.yml -f docker-compose.dev.yml --env-file .env.development logs:*)", + "Bash(docker compose --env-file .env.production logs:*)", + "Bash(git status:*)", + "Bash(git diff:*)", + "Bash(git log:*)", + "Bash(git add:*)" + ], + "ask": [ + "Bash(git commit:*)", + "Bash(git push:*)", + "Bash(docker compose:*)" + ], + "deny": [ + "Read(./.env)", + "Read(./.env.development)", + "Read(./.env.production)", + "Read(./backend/.env)", + "Read(./backend/.env.development)", + "Read(./backend/.env.production)", + "Read(./frontend/.env)", + "Read(./frontend/.env.development)", + "Read(./frontend/.env.production)", + "Read(./flutter/.env)" + ] + }, + "env": { + "APP_ENV": "development" + } +} diff --git a/.claude/skills/docker/SKILL.md b/.claude/skills/docker/SKILL.md new file mode 100644 index 0000000..2bb7128 --- /dev/null +++ b/.claude/skills/docker/SKILL.md @@ -0,0 +1,84 @@ +--- +name: docker +description: Docker Compose 기반 로컬·운영 오케스트레이션 실행/배포 규칙 — 개발/운영 환경 기동, 빌드 여부 판단(--build), 로그 확인, 루트 .env SSOT 주입. 컨테이너를 띄우거나 배포·로그 확인·docker-compose 작업을 할 때 사용한다. +--- + +> 이 스킬은 `.claude/skills/docker/SKILL.md`에 위치한다. +> 환경변수 SSOT 구조는 [[env-structure]] 참조. +> `.env.development` / `.env.production` 는 커밋된 `.env.*.example` 를 복사해 생성한다. +> (`.gitignore` 는 `.env.*` 를 무시하되 `.env.*.example` 만 추적한다.) + +--- + +## 개발 환경 + +```bash +# 코드만 수정했을 때 (의존성 변경 없음) +docker compose -f docker-compose.yml -f docker-compose.dev.yml --env-file .env.development up -d + +# 의존성 변경 시에만 --build +docker compose -f docker-compose.yml -f docker-compose.dev.yml --env-file .env.development up -d --build + +# 로그 확인 (예: backend) +docker compose -f docker-compose.yml -f docker-compose.dev.yml --env-file .env.development logs -f backend +``` + +## 운영 환경 + +```bash +# 운영 환경 배포 +sudo docker compose --env-file .env.production up -d --build + +# 로그 확인 +sudo docker compose --env-file .env.production logs -f backend +``` + +--- + +## 자주 쓰는 보조 명령 + +> 개발 prefix가 길어 아래는 다음 별칭으로 줄여 표기한다. +> 운영은 `docker compose --env-file .env.production` (필요 시 `sudo`) 으로 동일하게 사용한다. +> +> ```bash +> alias dc='docker compose -f docker-compose.yml -f docker-compose.dev.yml --env-file .env.development' +> ``` + +```bash +# 상태 확인 +dc ps + +# 종료 — 컨테이너 중지·삭제 (DB/Redis 데이터 볼륨은 보존) +dc down + +# ⚠️ 데이터까지 삭제 — DB/Redis 볼륨 제거 (복구 불가, 신중히) +dc down -v + +# 특정 서비스만 재빌드·기동 (예: 의존성 바뀐 backend) +dc up -d --build backend + +# 특정 서비스 재시작 (코드 변경은 dev 핫리로드라 보통 불필요) +dc restart backend + +# 전체 / 특정 서비스 로그 +dc logs -f +dc logs -f backend + +# 컨테이너 쉘 접속 +dc exec backend sh + +# PostgreSQL 접속 (· 은 루트 .env 값으로 치환) +dc exec db psql -U -d + +# Redis 접속 ( 은 루트 .env 값) +dc exec redis redis-cli -a +``` + +--- + +## 규칙 + +- **빌드 최소화**: 의존성(package.json / pubspec 등) 변경이 없으면 `--build` 없이 기동한다. +- **env 파일**: 실행 전 `.env.{APP_ENV}` 존재를 확인한다. 없으면 `.env.{APP_ENV}.example` 을 복사해 생성. +- **컨테이너 비-root 구동**: 모든 서비스 컨테이너는 비-root 사용자로 실행한다 ([[security]] 참조). +- **개발/운영 분리**: 개발은 `docker-compose.yml + docker-compose.dev.yml`, 운영은 `docker-compose.yml` 단독 + `.env.production`. diff --git a/.claude/skills/flutter/SKILL.md b/.claude/skills/flutter/SKILL.md new file mode 100644 index 0000000..179423e --- /dev/null +++ b/.claude/skills/flutter/SKILL.md @@ -0,0 +1,246 @@ +--- +name: flutter +description: Flutter 모바일 앱(flutter/) 개발 규칙 — Dart Sound Null Safety, feature-first 디렉터리 구조, 작은 위젯 분리, 반응형 UI, Riverpod 상태관리, Dio 인터셉터, flutter_secure_storage 토큰 저장. flutter/ 에서 작업하거나 위젯·프로바이더·모델·API 클라이언트를 만들 때 사용한다. +--- + +> 이 스킬은 `.claude/skills/flutter/SKILL.md`에 위치한다. +> 사용법: `/flutter [요청 내용]` 또는 flutter/ 작업 시 자동 적용. +> 공통 규칙: [[response-format]] · [[error-codes]] · [[security]] · [[coding-common]] +> Flutter 는 docker-compose 대상이 아니므로 `flutter/.env` 에서 `API_URL` 을 독립 관리한다 ([[env-structure]] 참조). + +--- + +## 템플릿 기본 제공 골격 + +> 이 템플릿은 네트워크 계층을 **기본 제공**한다. 새 코드는 이 파일들의 패턴을 재사용한다(같은 역할을 새로 만들지 말 것). + +| 제공 항목 | 위치 | 비고 | +| --- | --- | --- | +| Dio 클라이언트 | `lib/core/api/dio_client.dart` | 싱글톤, baseUrl=dotenv `API_URL`(fallback 로컬), 타임아웃 | +| Auth/Error 인터셉터 | `dio_client.dart` 의 `InterceptorsWrapper` | onRequest(토큰 첨부)·onResponse(언래핑)·onError(코드 매핑) — 인라인 | +| ErrorLexicon | `lib/core/api/error_lexicon.dart` | 에러 코드 → 한국어 메시지, fallback `SYS_001` ([[error-codes]]) | +| 토큰 저장 | `flutter_secure_storage`, key `jwt_token` | `dio_client` 에서 사용 | +| 상태관리 초기화 | `main.dart` 의 `ProviderScope` | Riverpod 사용 준비됨 | +| Dio Provider | `lib/core/api/dio_provider.dart` | 인터셉터 적용된 Dio 를 DI 로 주입 | +| 예제 feature(참조용) | `lib/features/user/` | `data/models`·`data/repositories`·`presentation/providers` 수직 슬라이스 패턴 | + +> **확장 시 따르는 규칙** (아래 "프로젝트 구조"는 목표 구조 — 기능 추가 시 점진적으로 채운다): +> - **상태관리**: `features/user` 의 model→repository→provider 패턴을 복제. 위젯에서 `ref.watch(userProvider(id))` +> - **앱 구조**: 라우터 도입 시 `MyApp` 을 `app.dart` 로 분리, `core/{constants,theme,storage}` 채움, 공통 위젯은 `shared/widgets/` +> - **토큰 저장 추상화(선택)**: 필요 시 `core/storage/` 래퍼로 분리 +> - **권장 패키지(선택)**: `go_router`·`freezed`·`json_serializable`·`cached_network_image`·`fpdart` 도입 시 `pubspec.yaml` 추가 + +--- + +## 언어 & 기본 원칙 + +- **Dart Sound Null Safety** 완벽 준수 (`?`, `!`, `late` 올바르게 사용) +- `dynamic` 타입 사용 **지양** → 명시적 타입 선언 +- 모든 주석은 **한국어**로 작성 + +--- + +## 프로젝트 구조 + +``` +lib/ +├── main.dart +├── app.dart ← MaterialApp / 라우터 설정 +├── core/ +│ ├── constants/ ← 상수 (색상, 크기, 텍스트 등) +│ ├── theme/ ← 앱 테마 정의 +│ ├── api/ ← Dio 인스턴스(dio_client), 에러 사전(error_lexicon), 인터셉터 +│ ├── storage/ ← flutter_secure_storage 래퍼 (선택) +│ └── utils/ ← 순수 유틸 함수 +├── features/ +│ └── user/ +│ ├── data/ +│ │ ├── models/ ← JSON 직렬화 모델 +│ │ └── repositories/ ← API 호출 구현체 +│ ├── domain/ +│ │ └── entities/ ← 순수 비즈니스 엔티티 +│ └── presentation/ +│ ├── pages/ ← 화면 단위 위젯 +│ ├── widgets/ ← 재사용 위젯 +│ └── providers/ ← 상태 관리 +└── shared/ + └── widgets/ ← 앱 공통 위젯 +``` + +--- + +## 위젯 작성 원칙 + +```dart +// ✅ 좋은 예 — 작은 위젯으로 분리 +class UserProfilePage extends StatelessWidget { + const UserProfilePage({super.key}); + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: const _AppBar(), + body: const _ProfileBody(), + ); + } +} + +class _ProfileBody extends StatelessWidget { + const _ProfileBody(); + + @override + Widget build(BuildContext context) { + return Column( + children: [ + const _AvatarSection(), + const _InfoSection(), + ], + ); + } +} +``` + +- 위젯 트리 depth가 깊어지면 **커스텀 위젯으로 분리** +- `build()` 메서드 내 비즈니스 로직 작성 **금지** +- `const` 생성자 적극 활용 (불필요한 리빌드 방지) + +--- + +## 반응형 UI + +```dart +// ❌ 하드코딩 금지 +Container(width: 375, height: 200) + +// ✅ 반응형 처리 +Container( + width: MediaQuery.of(context).size.width * 0.9, + child: ..., +) + +// ✅ 유연한 레이아웃 +Expanded(flex: 2, child: LeftPanel()), +Expanded(flex: 1, child: RightPanel()), +``` + +- `Expanded`, `Flexible`, `MediaQuery`, `LayoutBuilder` 적극 활용 +- 하드코딩 픽셀값 사용 **금지** +- 폰트 크기는 `Theme.of(context).textTheme` 활용 + +--- + +## 상태 관리 + +```dart +// Riverpod 예시 (권장) +@riverpod +Future fetchUser(FetchUserRef ref, int id) async { + final repo = ref.watch(userRepositoryProvider); + return repo.getUser(id); +} + +// 위젯에서 사용 +class UserWidget extends ConsumerWidget { + @override + Widget build(BuildContext context, WidgetRef ref) { + final userAsync = ref.watch(fetchUserProvider(userId)); + return userAsync.when( + data: (user) => Text(user.name), + loading: () => const CircularProgressIndicator(), + error: (e, _) => const ErrorWidget(), + ); + } +} +``` + +- **Riverpod** 권장 (Provider는 레거시로 간주) +- `StatefulWidget`은 애니메이션, 폼 등 로컬 UI 상태에만 제한적 사용 + +--- + +## API 통신 (Dio + 인터셉터) + +실제 구현(`lib/core/api/dio_client.dart`)은 싱글톤 + `InterceptorsWrapper` 인라인 방식이다. 인터셉터 로직 추가 시 이 파일의 패턴을 그대로 따른다. + +```dart +// core/api/dio_client.dart (실제 구조 요약) +class DioClient { + DioClient._internal() { + // flutter_dotenv 로 .env 로드, 미설정 시 로컬 기본값 + final baseUrl = dotenv.maybeGet('API_URL') ?? 'http://localhost:3000/api'; + _dio = Dio(BaseOptions( + baseUrl: baseUrl, + connectTimeout: const Duration(seconds: 15), + receiveTimeout: const Duration(seconds: 15), + )); + _dio.interceptors.add(InterceptorsWrapper( + onRequest: (options, handler) async { + // jwt_token 읽어 Authorization 헤더 첨부 + final token = await _storage.read(key: 'jwt_token'); + if (token != null) options.headers['Authorization'] = 'Bearer $token'; + handler.next(options); + }, + onResponse: (response, handler) { + // success==true → data 언래핑, false → 에러 코드로 reject + handler.next(response); + }, + onError: (err, handler) { + // 상태코드/서버 error.code → ErrorLexicon 한국어 메시지 ([[error-codes]] 참조) + handler.next(err); + }, + )); + } +} +``` + +> 인터셉터를 별도 클래스(`AuthInterceptor`/`ErrorInterceptor`)로 분리하고 싶다면 리팩터링 가능하나, 현재는 위 인라인 구조가 SSOT다. + +--- + +## 보안 (토큰 저장) + +```dart +// flutter_secure_storage 사용 +const storage = FlutterSecureStorage(); + +// 저장 (키 이름은 dio_client 인터셉터와 통일: jwt_token) +await storage.write(key: 'jwt_token', value: token); + +// 읽기 +final token = await storage.read(key: 'jwt_token'); + +// 삭제 (로그아웃) +await storage.deleteAll(); +``` + +- JWT, 민감 정보는 반드시 `flutter_secure_storage` 사용 +- `SharedPreferences`에 토큰 저장 **금지** +- 추가 보안 규칙은 [[security]] 참조. + +--- + +## 성능 & 최신 트렌드 추가 규칙 + +- **모델 직렬화**: `json_serializable` + `freezed` 사용 권장 (불변 모델) +- **이미지**: `cached_network_image`로 네트워크 이미지 캐싱 +- **목록**: 긴 목록은 `ListView.builder` 사용 (전체 렌더링 금지) +- **에러 핸들링**: `Either` 패턴 고려 (`fpdart` 패키지) +- **라우팅**: `go_router` 사용 권장 (딥링크, 중첩 라우팅 지원) +- **환경 분리**: `--dart-define` 또는 `flutter_dotenv`로 dev/prod 분리 + +--- + +## 작업 점검 체크리스트 + +(전체 확장 지점·점검 목록은 [[checklist]]) + +- [ ] **Null Safety**: `dynamic` 금지, `?`/`!`/`late` 정확히 사용. +- [ ] **위젯**: depth 깊어지면 private 위젯 분리, `const` 적극, `build()` 내 비즈니스 로직 금지. +- [ ] **반응형**: 하드코딩 픽셀 금지 → `MediaQuery`/`Expanded`/`Flexible`. +- [ ] **API**: `dio_client.dart` 의 인터셉터 패턴 재사용. 에러 메시지는 `error_lexicon.dart` 경유. +- [ ] **토큰**: `flutter_secure_storage` + key `jwt_token` 통일. `SharedPreferences` 저장 금지. +- [ ] **상태관리**: 새 기능은 Riverpod 프로바이더/노티파이어로 작성 (`ProviderScope` 는 기본 제공). +- [ ] **구조 보완 시**: `app.dart` 분리, `core/{constants,theme,storage}` 생성, 공통 위젯 `lib/widgets/` → `shared/widgets/` 이동 고려. +- [ ] **권장 패키지**: 모델(`freezed`/`json_serializable`)·라우팅(`go_router`) 도입 시 `pubspec.yaml` 추가 후 `flutter pub get`. +- [ ] **analyze**: 커밋 전 `flutter analyze` 통과. +- [ ] **env**: `flutter/.env.example` → `.env` 복사 후 `API_URL` 설정 (Android 에뮬레이터는 `10.0.2.2`). diff --git a/.claude/skills/nestjs/SKILL.md b/.claude/skills/nestjs/SKILL.md new file mode 100644 index 0000000..ec731be --- /dev/null +++ b/.claude/skills/nestjs/SKILL.md @@ -0,0 +1,197 @@ +--- +name: nestjs +description: NestJS 백엔드(backend/) 개발 규칙 — 컨트롤러/서비스/DTO 관심사 분리, 표준 응답 인터셉터, 전역 예외 필터, Swagger, JWT 인증, 캐싱/Rate Limiting/페이지네이션. backend/ 에서 작업하거나 REST API·모듈·DTO·인터셉터·필터를 만들 때 사용한다. +--- + +> 이 스킬은 `.claude/skills/nestjs/SKILL.md`에 위치한다. +> 사용법: `/nestjs [요청 내용]` 또는 backend/ 작업 시 자동 적용. +> 공통 규칙: [[response-format]] · [[error-codes]] · [[security]] · [[coding-common]] + +--- + +## 템플릿 기본 제공 골격 + +> 이 템플릿은 아래 인프라를 **기본 제공**한다. 새 코드는 이 파일들의 패턴을 재사용한다(같은 역할을 새로 만들지 말 것). + +| 제공 항목 | 위치 | 비고 | +| --- | --- | --- | +| 표준 응답 인터셉터 | `src/common/interceptors/transform.interceptor.ts` | main.ts 전역 등록 — 컨트롤러는 raw 데이터만 반환 | +| 전역 예외 필터 | `src/common/filters/http-exception.filter.ts` | `HttpException` → `{success:false,error:{code,message}}` ([[error-codes]]) | +| 전역 ValidationPipe | `main.ts` | `whitelist/forbidNonWhitelisted/transform` | +| Swagger | `main.ts` → `/api-docs` | 모든 엔드포인트 데코레이터 | +| 보안 미들웨어 | `main.ts` | helmet · CORS 화이트리스트 · Rate Limiting(`express-rate-limit`) | +| 로깅 | `shared/logger/winston.config.ts` | `console.log` 대신 사용 | +| 예제 모듈(참조용) | `modules/user`(DTO+Swagger), `modules/health`(`/health`) | 새 모듈 패턴 참고. user 예제는 in-memory 데모 저장소 | +| 순수 유틸 | `shared/utils/` | 순수 함수 분리 위치 | + +> **확장 시 따르는 규칙** (기능이 필요해지면 규칙대로 구현): +> - **인증(JWT)**: `@nestjs/jwt`·`@nestjs/passport` 설치 → `common/guards/` 생성 → AUTH_001/AUTH_003 흐름 검증 +> - **DB 영속화**: TypeORM 엔티티/리포지토리 추가 (예제의 in-memory 저장 대체) +> - **페이지네이션**: 목록 API 에 커서/오프셋 적용 +> - `common/{guards,decorators,pipes}/` 는 해당 관심사 등장 시 생성 (아래 "모듈 구조"는 목표 구조) + +--- + +## 아키텍처 원칙 + +### 관심사 분리 (Separation of Concerns) + +``` +Controller → HTTP 라우팅, 요청/응답 파싱만 담당 +Service → 모든 비즈니스 로직 처리 +Repository → 데이터 접근 계층 (TypeORM) +DTO → 요청/응답 데이터 형식 정의 및 검증 +``` + +- `Controller`에 비즈니스 로직 작성 **금지** +- `new` 키워드로 수동 객체 생성 **지양** → 의존성 주입(DI) 활용 + +### 모듈 구조 + +``` +src/ +├── modules/ +│ └── user/ +│ ├── user.module.ts +│ ├── user.controller.ts +│ ├── user.service.ts +│ ├── user.repository.ts ← 커스텀 Repository (선택) +│ └── dto/ +│ ├── create-user.dto.ts +│ └── update-user.dto.ts +├── common/ +│ ├── interceptors/ ← 응답 래핑, 에러 처리 +│ ├── filters/ ← 전역 Exception Filter +│ ├── guards/ ← 인증/권한 Guard +│ ├── decorators/ ← 커스텀 데코레이터 +│ └── pipes/ ← 전역 Validation Pipe +└── shared/ + └── utils/ ← 순수 유틸 함수 +``` + +--- + +## DTO 작성 규칙 + +```typescript +import { IsString, IsEmail, IsNotEmpty, MinLength } from 'class-validator'; +import { ApiProperty } from '@nestjs/swagger'; + +export class CreateUserDto { + @ApiProperty({ description: '사용자 이메일', example: 'user@example.com' }) + @IsEmail({}, { message: '올바른 이메일 형식을 입력해 주세요.' }) + @IsNotEmpty() + email: string; + + @ApiProperty({ description: '비밀번호 (최소 8자)', example: 'password123' }) + @IsString() + @MinLength(8, { message: '비밀번호는 최소 8자 이상이어야 합니다.' }) + password: string; +} +``` + +- 모든 DTO는 `class-validator` + `class-transformer` 사용 +- 에러 메시지는 **한국어**로 작성 +- `@ApiProperty()` 반드시 포함 (Swagger 명세용) + +--- + +## 표준 응답 인터셉터 + +```typescript +// common/interceptors/transform.interceptor.ts +@Injectable() +export class TransformInterceptor implements NestInterceptor { + intercept(context: ExecutionContext, next: CallHandler): Observable { + return next.handle().pipe( + map((data) => ({ + success: true, + data: data ?? null, + })), + ); + } +} +``` + +- `main.ts`에서 전역 등록: `app.useGlobalInterceptors(new TransformInterceptor())` +- 실패 응답(`success: false`)은 아래 Exception Filter가 생성한다. +- 응답 포맷 SSOT는 [[response-format]] 참조. + +--- + +## 전역 Exception Filter + +```typescript +// common/filters/http-exception.filter.ts +@Catch() +export class HttpExceptionFilter implements ExceptionFilter { + catch(exception: unknown, host: ArgumentsHost) { + const ctx = host.switchToHttp(); + const response = ctx.getResponse(); + + // HTTP 상태 → 에러 코드 매핑 후 { success: false, error: { code, message } } 반환 + // SYS_001 / AUTH_001 / VAL_001 등 에러 맵은 [[error-codes]] 참조 + } +} +``` + +이 필터는 세 플랫폼 공유 에러 코드 맵의 **단일 진실 공급원(SSOT)** 이다. 메시지 수정 시 [[error-codes]] 의 3개 파일을 함께 갱신한다. + +--- + +## Swagger 필수 적용 + +```typescript +// main.ts +const config = new DocumentBuilder() + .setTitle('API 문서') + .setDescription('프로젝트 API 명세서') + .setVersion('1.0') + .addBearerAuth() + .build(); + +const document = SwaggerModule.createDocument(app, config); +SwaggerModule.setup('api-docs', app, document); +``` + +- 모든 Controller에 `@ApiTags()` 적용 +- 모든 엔드포인트에 `@ApiOperation()`, `@ApiResponse()` 작성 +- 모든 DTO에 `@ApiProperty()` 작성 + +--- + +## 인증 (JWT) + +> 📐 **확장 지점.** 이 템플릿은 JWT 인증을 강제하지 않는다(규칙만 제공). **인증이 필요해지면** 아래 규칙대로 구현한다: `@nestjs/jwt`·`@nestjs/passport` 설치 → `common/guards/` 생성 → AUTH_001/AUTH_003 흐름 검증. + +- Access Token: 만료 시간 짧게 (15분 ~ 1시간) +- Refresh Token: HttpOnly Secure 쿠키로 전달 +- `@nestjs/jwt` + `@nestjs/passport` 사용 +- Guard를 통한 라우트 보호 +- 토큰 저장·전송 보안 규칙은 [[security]] 참조. + +--- + +## 성능 & 최신 트렌드 추가 규칙 + +- **캐싱**: 자주 조회되는 데이터는 `@nestjs/cache-manager` (Redis) 활용 고려 +- **Rate Limiting**: 템플릿은 `main.ts` 에서 `express-rate-limit`(초과 시 `SYS_001`)로 API 남용을 방지한다. 라우트 단위 데코레이터 제어가 필요하면 `@nestjs/throttler` 로 전환 고려 +- **Pagination**: 목록 API는 반드시 커서 기반 또는 오프셋 페이지네이션 적용 +- **Logging**: `winston` 또는 `@nestjs/common Logger` 사용, `console.log` 지양 +- **Health Check**: `@nestjs/terminus`로 `/health` 엔드포인트 구성 권장 +- **Versioning**: API 버전 관리 (`/v1/`, `/v2/`) 적용 고려 + +--- + +## 작업 점검 체크리스트 + +코드 작성/수정 후 아래를 점검한다. (전체 확장 지점·점검 목록은 [[checklist]]) + +- [ ] **응답 포맷**: 컨트롤러는 raw 데이터만 반환 — `{success,data}` 래핑은 인터셉터가 담당. 직접 래핑 금지. +- [ ] **에러**: 사용자 노출 실패는 `HttpException` 으로 던져 필터가 코드 매핑하게 한다. 새 코드 추가 시 [[error-codes]] 의 3개 파일 동시 갱신. +- [ ] **DTO**: 모든 입력 DTO 에 `class-validator` + 한국어 메시지 + `@ApiProperty()`. +- [ ] **Swagger**: 새 엔드포인트에 `@ApiTags`/`@ApiOperation`/`@ApiResponse`. +- [ ] **lint**: 커밋 전 `npm run lint` 통과 (Warning 0). +- [ ] **DB 전환 시**: in-memory Map → TypeORM 엔티티/리포지토리로 교체. +- [ ] **인증 추가 시**: `@nestjs/jwt`·`@nestjs/passport` 설치 → `common/guards/` 생성 → AUTH_001/003 흐름 확인. +- [ ] **env**: DB/Redis/CORS/포트는 루트 `.env` 에서 주입된다. 백엔드 고유 시크릿(`JWT_SECRET` 등)만 `backend/.env.{env}` 에 작성(compose `env_file` 로 로드). diff --git a/.claude/skills/vue3/SKILL.md b/.claude/skills/vue3/SKILL.md new file mode 100644 index 0000000..efef90b --- /dev/null +++ b/.claude/skills/vue3/SKILL.md @@ -0,0 +1,203 @@ +--- +name: vue3 +description: Vue 3 프론트엔드(frontend/) 개발 규칙 — Composition API + + + + + +``` + +- `Options API` 사용 **금지** → `Composition API` + ` + + + + + + + +
+ +
+
+
+ +
+ 서린즈 +
+ +
+ +
+ + +
+

누구의 전적이 궁금하세요?

+

닉네임만 알려주시면 최근 경기부터 자주 쓰는 무기까지 정리해 드릴게요.

+
+ + 닉네임을 입력해 보세요 + +
+
+ 최근에 찾아봤어요 + 달빛조각사 + 칼든햄스터 + 새벽두시 +
+
+ + +
+
+

이벤트

+
+ 전체 보기 +
+ + +
+ 서든 페스티벌 같이 갈래? +
+ +
+ 시즌 이벤트 + + 서든 페스티벌 같이 갈래? + 9월 1일 ~ 9월 30일 +
+ + + + + + 1 / 5 + + +
+
+ + +
+
+
+

게임 랭킹

+
+ 전체 + 폭파미션 + 팀 데스매치 + 클랜전 +
+
+ 전체 보기 +
+ +
+ 순위유저 + 승률 + K/D + 헤드샷 + 판수 +
+ +
+ 1 +
달빛조각사병장 3호봉
+ 78.4% + 2.14 + 41.2% + 1,284 +
+
+ 2 +
칼든햄스터소위 1호봉
+ 74.9% + 1.96 + 38.7% + 2,041 +
+
+ 3 +
새벽두시병장 1호봉
+ 71.2% + 1.88 + 44.1% + 986 +
+
+ 4 +
무명연대장중사 2호봉
+ 69.5% + 1.74 + 33.9% + 3,102 +
+
+ 5 +
한밤의저격수상사 1호봉
+ 68.1% + 1.71 + 47.3% + 742 +
+
+ 6 +
조용한총잡이병장 2호봉
+ 66.7% + 1.68 + 36.4% + 1,530 +
+ + +
+ +
+
+

검색 랭킹

+
+ 18:20 기준 +
+
+ 순위닉네임변동 +
+
+ 1달빛조각사 + 2 +
+
+ 2칼든햄스터 + 1 +
+
+ 3새벽두시 + 4 +
+
+ 4무명연대장 + +
+
+ 5한밤의저격수 + 3 +
+
+ 6조용한총잡이 + 2 +
+
+ 7야간부대장 + +
+
+ 8헤드샷장인 + 5 +
+
+
+ + +
+
+
+

서든어택 소식

더 보기 +
+
+ 공지사항업데이트 +
+
+
9월 정기점검 안내 (09.04 02:00~08:00)09.02
+
비매너 이용자 제재 결과 안내09.01
+
가을 시즌 랭크전 일정 공지08.29
+
신규 맵 컨테이너 야드 추가08.28
+
AK-47 반동 수치 조정 안내08.26
+
+
+ +
+
+

서린즈 소식

더 보기 +
+
+ 공지사항업데이트 +
+
+
맵별 승률 통계를 새로 열었어요09.03
+
전적 갱신 속도가 두 배 빨라졌어요09.01
+
즐겨찾기한 유저 알림 기능 추가08.30
+
8월 서버 점검 결과 보고08.27
+
커뮤니티 이용 규칙을 정리했어요08.24
+
+
+
+ + +
+
+

지금 방송 중

+ 시청자 2,924명 +
전체 보기 +
+
+
+
+
삼보급 스나 연습
+
LIVE달빛조각사 · 1,204명
+
+
+
+
클랜전 정기 리그 중계
+
LIVE무명연대 · 862명
+
+
+
+
초보 탈출 폭파미션 강의
+
LIVE새벽두시 · 517명
+
+
+
+
시청자 참여 한 판
+
LIVE한밤의저격수 · 341명
+
+
+
+ + +
+
+

커뮤니티

+
+ 인기최신클립공략클랜원 모집 +
+
전체 보기 +
+ +
+
+
달빛조각사312
+
+
+
+
칼든햄스터274
+
+ +
+

폭파 삼보급에서 A 롱각 잡을 때 다들 어디 서세요? 요즘 자꾸 먼저 죽습니다.

+
+
+ + 새벽두시 + + 198 +
+
+ + +
+
+ +
+
무명연대장163
+
+
+ + +
+ +
+ 서린즈이용약관개인정보 처리방침문의하기 +
넥슨 공개 API 기반 · 서든어택 비공식 서비스 +
+
+
+ + diff --git a/.design/surinz/HomeB.dc.html b/.design/surinz/HomeB.dc.html new file mode 100644 index 0000000..67814c2 --- /dev/null +++ b/.design/surinz/HomeB.dc.html @@ -0,0 +1,549 @@ + + + + + + + + + + + + +
+ + +
+
+
+ + + + +
+ 서린즈 +
+ + + +
+
+ + + + + 닉네임 검색 +
+
+ + +
+ + +
+ + + + + +
+
+ + + + + 궁금한 닉네임을 입력해 보세요 + +
+ + +
+ +
+
+

서든어택 소식

+
+ 더 보기 +
+
+ 공지사항 + 업데이트 +
+
+
+ + 9월 정기점검 안내 + 09.02 +
+
+ + 비매너 이용자 제재 결과 + 09.01 +
+
+ + 가을 시즌 랭크전 일정 + 08.29 +
+
+ + 신규 맵 컨테이너 야드 추가 + 08.28 +
+
+ + AK-47 반동 수치 조정 + 08.26 +
+
+
+ +
+
+

서린즈 소식

+
+ 더 보기 +
+
+ 공지사항 + 업데이트 +
+
+
+ + 맵별 승률 통계를 열었어요 + 09.03 +
+
+ + 전적 갱신이 두 배 빨라졌어요 + 09.01 +
+
+ + 즐겨찾기 알림 기능 추가 + 08.30 +
+
+ + 8월 서버 점검 결과 보고 + 08.27 +
+
+ + 커뮤니티 이용 규칙 정리 + 08.24 +
+
+
+
+ + +
+

커뮤니티

+
+ 인기 + 최신 + 클립 + 공략 +
+
+ +
+ +
+
+ +
+
달빛조각사
+
병장 3호봉 · 12분 전
+
+ +
+ +
+ +
+ + + +
+ +
+ +
좋아요 312개
+

+ 달빛조각사 + 제3보급창고 마지막 라운드 1대4 역전했어요. 각도만 잘 잡으면 아직 됩니다. +

+
댓글 24개 모두 보기
+
+ + +
+
+ +
+
칼든햄스터
+
소위 1호봉 · 48분 전
+
+ +
+ +

웨어하우스 스나 자리 세 군데만 외우면 됩니다. 컨테이너 위, 이층 창문, 그리고 리스폰 바로 옆 기둥. 나머지는 다 걸립니다.

+ +
+ + + +
+ +
+ +
좋아요 274개
+
댓글 18개 모두 보기
+
+ + +
+
+ +
+
새벽두시
+
병장 1호봉 · 2시간 전
+
+ +
+ +
+
+ +
+
0:24
+
+ +
+ + + +
+ +
+ +
좋아요 198개
+

+ 새벽두시 + 크로스카운터 1대3 클러치. 소리만 듣고 돌았습니다. +

+
댓글 31개 모두 보기
+
+ + +
+ + + +
+ + +
+ 서린즈 + 이용약관 + 개인정보 처리방침 + 문의하기 +
+ 넥슨 공개 API 기반 · 서든어택 비공식 서비스 +
+
+
+ + diff --git a/.design/surinz/HomeC.dc.html b/.design/surinz/HomeC.dc.html new file mode 100644 index 0000000..654f781 --- /dev/null +++ b/.design/surinz/HomeC.dc.html @@ -0,0 +1,307 @@ + + + + + + + + + + + + +
+ + + + + +
+ +
+
+ + 닉네임을 입력해 보세요 +
+
+ + + + +
+ +
+ + +
+

이벤트

전체 보기 +
+ + +
+ 서든 페스티벌 같이 갈래? +
+ +
+ 시즌 이벤트 + + 서든 페스티벌 같이 갈래? + 9월 1일 ~ 9월 30일 +
+ + + + + + 1 / 5 + + +
+ + +
+ +
+ +
+

게임 랭킹

+
+ 전체폭파미션팀 데스매치 +
+
전체 보기 +
+ +
+ 순위유저 + 승률 + K/D + 판수 +
+ +
+ 1 +
달빛조각사병장 3호봉
+ 78.4% + 2.14 + 1,284 +
+
+ 2 +
칼든햄스터소위 1호봉
+ 74.9% + 1.96 + 2,041 +
+
+ 3 +
새벽두시병장 1호봉
+ 71.2% + 1.88 + 986 +
+
+ 4 +
무명연대장중사 2호봉
+ 69.5% + 1.74 + 3,102 +
+
+ 5 +
한밤의저격수상사 1호봉
+ 68.1% + 1.71 + 742 +
+
+ 6 +
조용한총잡이병장 2호봉
+ 66.7% + 1.68 + 1,530 +
+ + + + +
+
+

서든어택 소식

더 보기
+
공지사항업데이트
+
+
9월 정기점검 안내09.02
+
비매너 이용자 제재 결과09.01
+
가을 시즌 랭크전 일정08.29
+
신규 맵 컨테이너 야드 추가08.28
+
AK-47 반동 수치 조정08.26
+
+
+ +
+

서린즈 소식

더 보기
+
공지사항업데이트
+
+
맵별 승률 통계를 열었어요09.03
+
전적 갱신이 두 배 빨라졌어요09.01
+
즐겨찾기 알림 기능 추가08.30
+
8월 서버 점검 결과 보고08.27
+
커뮤니티 이용 규칙 정리08.24
+
+
+
+ + +
+

커뮤니티

+
+ 인기최신클립 +
+
전체 보기 +
+ +
+
+
달빛조각사312
+
+
+
+
칼든햄스터274
+
+ +
+

폭파 삼보급에서 A 롱각 잡을 때 다들 어디 서세요? 요즘 자꾸 먼저 죽습니다.

+
+
+ + 새벽두시 + + 198 +
+
+
+
+ + + +
+
+ +
+ 서린즈이용약관개인정보 처리방침문의하기 +
넥슨 공개 API 기반 · 서든어택 비공식 서비스 +
+
+
+
+ + diff --git a/.design/surinz/Main.dc.html b/.design/surinz/Main.dc.html new file mode 100644 index 0000000..0181d4e --- /dev/null +++ b/.design/surinz/Main.dc.html @@ -0,0 +1,480 @@ + + + + + + + + + + + + +
+ +
+
+
+ +
+ 서린즈 +
+ + + +
+ + +
+ + +
+
+

누구의 전적이 궁금하세요?

+

닉네임만 알려주시면 최근 경기 흐름부터 자주 쓰는 무기까지 정리해 드릴게요.

+ +
+ + 닉네임을 입력해 보세요 + +
+ +
+ 최근에 찾아봤어요 + 달빛조각사 + 칼든햄스터 + 새벽두시 + 무명연대장 +
+
+
+ + +
+ + +
+
+

이벤트

전체 보기 +
+ +
+ 서든 페스티벌 같이 갈래? +
+ +
+ 시즌 이벤트 + + 서든 페스티벌 같이 갈래? + 9월 1일 ~ 9월 30일 +
+ + + + + + 1 / 5 + + +
+
+ + +
+
+

검색 랭킹

18:20 기준 +
+
+ 순위닉네임변동 +
+
1달빛조각사2
+
2칼든햄스터1
+
3새벽두시4
+
4무명연대장
+
5한밤의저격수3
+
6조용한총잡이2
+
7야간부대장
+
8헤드샷장인5
+
9삼보급단골
+
+ + +
+
+

게임 랭킹

+ 매일 오전 8시 갱신 +
전체 보기 +
+ +
+ + +
+
계급 랭킹
+
+ 통합시즌 +
+
+ #유저 + 등락 +
+
+ 1 + + 달빛조각사 + 2 +
+
+ 2 + + 칼든햄스터 + 1 +
+
+ 3 + + 새벽두시 + 4 +
+
+ 4 + + 무명연대장 + +
+
+ 5 + + 한밤의저격수 + 3 +
+
+ 6 + + 조용한총잡이 + 2 +
+
+ 7 + + 야간부대장 + +
+
+ 8 + + 헤드샷장인 + 5 +
+
+ 9 + + 삼보급단골 + 3 +
+
+ 10 + + 웨어하우스지박령 + 1 +
+
+ + +
+
랭크전 랭킹
+
+ 솔로파티클랜 +
+
+ #유저 + RP + 등락 +
+
+ 1 + + 헤드샷장인 + 2,4861 +
+
+ 2 + + 달빛조각사 + 2,4511 +
+
+ 3 + + 삼보급단골 + 2,3986 +
+
+ 4 + + 칼든햄스터 + 2,344 +
+
+ 5 + + 웨어하우스지박령 + 2,3012 +
+
+ 6 + + 새벽두시 + 2,2763 +
+
+ 7 + + 조용한총잡이 + 2,240 +
+
+ 8 + + 한밤의저격수 + 2,2054 +
+
+ 9 + + 야간부대장 + 2,1812 +
+
+ 10 + + 무명연대장 + 2,1541 +
+
+ + +
+
클랜 랭킹
+
+ 공식일반 +
+
+ #클랜 + 등락 +
+
+ 1 + + 무명연대 + +
+
+ 2 + + 새벽클랜 + 2 +
+
+ 3 + + 야간부대 + 1 +
+
+ 4 + + 정예사격단 + 3 +
+
+ 5 + + 삼보급수호대 + +
+
+ 6 + + 헤드샷연구소 + 4 +
+
+ 7 + + 크로스카운터 + 2 +
+
+ 8 + + 웨어하우스단 + +
+
+ 9 + + 새벽정찰대 + 1 +
+
+ 10 + + 삼보급기동대 + 3 +
+
+
+ + +
+ 1 ~ 10위 · 전체 100위 +
+ +
+ 1 + 2 + 3 + 4 + 5 + + 10 +
+ +
+
+ + +
+
+

커뮤니티

전체 보기 +
+
인기최신클립
+
+
+
달빛조각사312
+
+
+
+
칼든햄스터274
+
+ +
+

폭파 삼보급 A 롱각, 다들 어디 서세요?

+
+
+ + 새벽두시 + 198 +
+
+ +
+
+ +
+
무명연대장163
+
+
+
+ + +
+
+

서든어택 소식

더 보기 +
+
공지사항업데이트
+
+
9월 정기점검 안내09.02
+
비매너 이용자 제재 결과09.01
+
가을 시즌 랭크전 일정08.29
+
신규 맵 컨테이너 야드 추가08.28
+
AK-47 반동 수치 조정08.26
+
클랜전 매칭 로직 개선08.22
+
+
+ + +
+
+

서린즈 소식

더 보기 +
+
공지사항업데이트
+
+
맵별 승률 통계를 열었어요09.03
+
전적 갱신이 두 배 빨라졌어요09.01
+
즐겨찾기 알림 기능 추가08.30
+
8월 서버 점검 결과 보고08.27
+
커뮤니티 이용 규칙 정리08.24
+
모바일 화면을 다듬었어요08.20
+
+
+ + +
+
+

지금 방송 중

전체 보기 +
+
+
+
삼보급 스나 연습
+
달빛조각사 · 1,204명
+
+
+
+
+
클랜전 정기 리그 중계
무명연대 · 862명
+
+
+
+
초보 탈출 폭파미션 강의
새벽두시 · 517명
+
+
+
+
시청자 참여 한 판
한밤의저격수 · 341명
+
+
+
+
+ +
+ 서린즈이용약관개인정보 처리방침문의하기 +
넥슨 공개 API 기반 · 서든어택 비공식 서비스 +
+
+
+ + diff --git a/.design/surinz/build.mjs b/.design/surinz/build.mjs new file mode 100644 index 0000000..137828c --- /dev/null +++ b/.design/surinz/build.mjs @@ -0,0 +1,28 @@ +// templates/*.dc.html 의 /*PRETENDARD*/ 토큰을 Pretendard woff2 data URI 로 치환해 +// 작업 디렉터리 루트에 최종 .dc.html 아트보드를 생성한다. +import { readFileSync, writeFileSync, readdirSync } from 'node:fs'; +import { join } from 'node:path'; + +const WEIGHTS = [ + ['Regular', 400], + ['SemiBold', 600], + ['Bold', 700], +]; + +const faces = WEIGHTS.map(([file, weight]) => { + const b64 = readFileSync(join('fonts', `Pretendard-${file}.subset.woff2`)).toString('base64'); + return `@font-face{font-family:'Pretendard';font-style:normal;font-weight:${weight};font-display:swap;src:url(data:font/woff2;base64,${b64}) format('woff2');}`; +}).join('\n'); + +let count = 0; +for (const name of readdirSync('templates')) { + if (!name.endsWith('.dc.html')) continue; + const src = readFileSync(join('templates', name), 'utf8'); + if (!src.includes('/*PRETENDARD*/')) { + console.error(`warn: ${name} 에 /*PRETENDARD*/ 토큰이 없습니다`); + } + writeFileSync(name, src.replace('/*PRETENDARD*/', faces), 'utf8'); + count += 1; + console.log(`${name} — ${(readFileSync(name).length / 1024).toFixed(0)} KB`); +} +console.log(`${count} artboards built`); diff --git a/.design/surinz/canvas.json b/.design/surinz/canvas.json new file mode 100644 index 0000000..846447a --- /dev/null +++ b/.design/surinz/canvas.json @@ -0,0 +1,72 @@ +{ + "pages": [ + { + "id": "page-1", + "name": "홈 (확정)" + }, + { + "id": "page-2", + "name": "지난 시안" + } + ], + "artboards": [ + { + "file": "Main.dc.html", + "title": "서린즈 홈", + "page": "page-1", + "x": 0, + "y": 0, + "w": 1440, + "h": 2420 + }, + { + "file": "HomeA.dc.html", + "title": "A · 세로 스택형", + "page": "page-2", + "x": 0, + "y": 0, + "w": 1440, + "h": 3000 + }, + { + "file": "HomeB.dc.html", + "title": "B · 포털 3단형", + "page": "page-2", + "x": 1600, + "y": 0, + "w": 1440, + "h": 2360 + }, + { + "file": "HomeC.dc.html", + "title": "C · 앱 사이드바형", + "page": "page-2", + "x": 3200, + "y": 0, + "w": 1440, + "h": 2120 + } + ], + "annotations": [ + { + "id": "note-home", + "x": 0, + "y": -520, + "w": 760, + "page": "page-1", + "text": "서린즈 홈 · 확정안 (밀도 그리드형)\n\n게임 랭킹 — 세 갈래로 나눴습니다\n한 칸에 하나씩, 세 랭킹을 나란히 놓았습니다.\n· 계급 랭킹 — 통합 / 시즌\n· 랭크전 랭킹 — 솔로 / 파티 / 클랜 (여기만 RP 점수 열이 있습니다)\n· 클랜 랭킹 — 공식 / 일반\n유저 랭킹은 계급 이미지 + 닉네임, 클랜 랭킹은 클랜 마크 + 클랜명으로만 구성했고 승률·K/D·헤드샷·판수는 모두 뺐습니다. 모든 랭킹에 등락(▲n / ▼n / 변동 없음)을 붙였습니다.\n계급 이미지와 클랜 마크는 실제 에셋 자리로, 지금은 회색 타일에 약식 표장을 그려 뒀습니다. 실제 이미지 규격을 주시면 교체하겠습니다.\n\n검색을 최상단으로\n헤더에서 검색을 빼고 화면 맨 위 히어로로 올렸습니다. 검색창만 덩그러니 올리면 허전해서 세 가지를 함께 뒀습니다.\n· 문구 두 줄 — \"누구의 전적이 궁금하세요?\" 와 무엇을 해주는 곳인지 설명하는 한 줄\n· 최근 검색 칩 — 빈 검색창 아래에 바로 누를 것이 생겨서 첫 화면이 비어 보이지 않습니다\n· 옅은 색면(#FAFBFC) + 아래 경계선 — 히어로가 떠 있는 게 아니라 하나의 층으로 읽힙니다. 아래 그리드와 역할이 분리됩니다\n헤더에는 대신 \"전적 검색\" 메뉴를 넣었습니다.\n\n그 아래 배치 — 커뮤니티와 스트리밍의 자리를 바꿨습니다\n· 이벤트 슬라이드(2칸) + 검색 랭킹(1칸)\n· 게임 랭킹(2칸) + 커뮤니티(1칸)\n· 서든어택 소식 + 서린즈 소식 + 지금 방송 중\n\n지금 방송 중\n· 스트리머 이름 앞에 프로필 아바타를 붙였습니다. 대표 방송은 20px, 아래 목록 세 줄은 18px 원형이고, 히어로의 \"최근에 찾아봤어요\" 칩과 같은 자리표시 방식입니다. 실제 프로필 이미지 규격을 주시면 교체하겠습니다.\n· 빨간 LIVE 점과 글자는 뺐습니다. 이제 아바타 + 닉네임 · 시청자 수만 남습니다.\n\n남은 검토거리\n· 스크롤을 내리면 히어로 검색창이 사라집니다. 헤더에 작은 검색창을 다시 붙여 따라오게 할지 정하면 좋겠습니다.\n· 히어로 오른쪽에 오늘의 요약 수치(분석된 경기 수 등)를 넣는 안도 있는데, 지금은 넣지 않았습니다. 필요하면 말씀해 주세요.\n· 스트리밍이 아랫줄로 내려가면서 그 줄이 소식 목록보다 200px쯤 높아졌습니다. 소식을 6건에서 8건으로 늘려 높이를 맞출지 정하면 좋겠습니다.\n\n회색 사각형은 썸네일·스크린샷 자리, 닉네임·수치·공지 제목은 예시 데이터입니다." + }, + { + "id": "note-past", + "x": 0, + "y": -300, + "w": 700, + "page": "page-2", + "text": "지난 시안 (참고용)\n\n고르지 않은 세 배치입니다. 나중에 되돌아볼 일이 있을까 싶어 남겨 뒀습니다. 지워도 괜찮으면 말씀해 주세요.\n이벤트 배너와 커뮤니티 글 종류는 세 안에도 모두 반영되어 있습니다." + } + ], + "launch": { + "view": "canvas", + "page": "page-1" + } +} diff --git a/.design/surinz/fonts/Pretendard-Bold.subset.woff2 b/.design/surinz/fonts/Pretendard-Bold.subset.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..f80bdb727651de9c769ca4f4a1bc641abde71d4d GIT binary patch literal 270784 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

|JeV6JGi&~!u_VzE%M|y2f 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 Nq&_x_0Qhy*{{T7n02crN literal 0 HcmV?d00001 diff --git a/.design/surinz/fonts/Pretendard-Regular.subset.woff2 b/.design/surinz/fonts/Pretendard-Regular.subset.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..6fc8ec42f67d99de884a2e57a9f8fea1f01e23f5 GIT binary patch literal 267096 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

-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

* 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

bs;o~N+?eF%=1b6=9 zZP~bp+;5mh=iG9}a*96%sZSM8HPizqF+MPoEwjNPUJvYdP^2%4wM?vANBBcWNV;_` z#WT&j_FCZ(gn)8o?gf9S*CecpBs(~_oU zD~*SsK~J>GVC8~6)Ta}`b~^lX>dLUEY`EF;4$l%_I43m`2tO4v zq)$BA4yM!3L#Cb0CGxFqPuJE!>&QGir4JS8uV^)PHkx-siThB)sLJn|NCJUWVoifg z&0RAKl=!c?nC#(){@0so)6=8OU7a2}sdY^!H;6FtY@0Wy$fs}!rpTm>MmapFC~C4K ziRQXVy2tf=i}UKH_<1(;1v>nQvF~p)f$D_xQcp?oVPNwqyYv58IoH(mn(c|faIl?N z>6@AecXl^-x~IE#e=%yxcL(3v&-%Oe)-!-RSf67-n_K(xIwNk{zHX-Iv>P56y=ITA z%?7qyQnrqNmGqA+0$Dq6a7<9Tnqh+-%te7B)y;aAZ9*|blq*$p%EzefP|=c-@0&oU zREztsbzt2xOWjgIdZgrcQ1sPplo!MfUS@qj2GhD@aaA@vnGXPFu3(Weo z03r|^yJaPd5V{?uSEIKdADY_q1iytygR(@%)sSI)LAQ+Yv!{@Z6AP8vq z`WLsG9=NJb_%HfSB3^|y!UvW9MOD&9*yqh(l|LRi4ASxs5&AiIU-F8LGlMT)9&dWyP)S)j}ia$>LK)`RgKT-9xq+<$jZ zHJKs0Y@DKENa%9ZcEc06SC#Z?R(awVr!cov_hX43bG2v#n?8HqN9XN*-n;Fz?~k63 z1@!Q`-_C8~{8wa-GfIWX+%Gwx8(()~sOh@}sb#g1=(o%;8JEQ;#mOd4j0~36;{mY% zP4TW$(i8`%f07#u4sr;(sl%sOa+OH1g})kT0;NSY9cx|x!;)~eZ&M;N{J3DOm{6NT zfyAX~>Hg05Bqdz%OULC>-aqH|hf^hll>xp#OHOJnI0XUDi)))^Z$S_->K(@SyUYRp zKeGw$iUR4t-iTe>2X4f|YE$QTduo1K$6uL8==pHHUhBq`4${F)A|A{__IdR&TPqJN z<6DbrIyDRTO-Lt@Kf9Q%Q2a<@TS}`Jttd|EiK$8QRHu+@K zv>n)d`}rvcDM=bEtrwpkcX|=OVcT~bnGM~fI{S9-oyLq2w;bC#_Y+7mHR#$ixRppb zc&I57Fb~>y8!F@`gTgC^%^QKE|3uQ+RBi@gHu5-v?@Xu?K+zm=z20=yre-$obQv5* zp?ADu6~c6PKXB}ybBAqu5nt9!{oSJB(vIqD`+8%oOm%ZJ%!qqV#FNfE zKLwc=#(~cY3Tb4!o1}YR)INmGp|nr;H`SDagY-9m`sUyPjOB2U?+_?IV-Xbteu3XA zb@r|Qm)P1LqWEb^@TfXNCOHJOs&6<{X9WXs6+QyUyF&&o?He2-8;qFwh&Kkv5eh>k zYU*Z+qJydj$7zS~K4)|QDu!Pxg5<*x%OHjoZ@w0gOJ>4q_rIvmfF{;PPdZ|qhubv(y zhtci-tjI9Ub}X=I?h|xZ{fpyl%cfI*OwYns8$orwPnTw?SaY|m2*9I6qh6R)uyJT4 z*=ci2*Dn@PKFi{%@TrxM`qjRiMZS31EH9CeJJlgvfCaP5G8x2M7jL!pM&ufv_8Na( zYF-%lh*x$asV@wRfw2NpRkG0~SKwbv?XR#q#|~yq9qw8NGu!EwV7ws}`HFy(HQ-Zv zA;d&7Avq}qQ}-`Z${sQgCh}5a_QO93ZROmC*DWR@Br8aM~Q@80vx`Xgg8i81A zR*XWV(d$ng+?AWms5`JC>@+rL{A?SQj>Ex(&fuu#$Zd$~PIV)E(KcCkx#v(&&)LBq zJ0JC&XrpF?9+y8meg;O!G*TY=*+PhG+M=RXObS6q@1yUHxigXNTrPZC?8*F3evV%; zr}7JxT*y_0hG;v7Y19h>2EmSyu=X*d=Uuum+M*3t#~8*SZe};nhqJr^jsMy%n+Od|zgut2=yemWxZ7Ul2c*3FF(o$;9dy@~LVt zy(XKIRR1>f^z-*0vH=~gMxZvcUyU_4!u^2dBGAk>n#H&SHD9&frPIJ0t!9dT$sh;c z_72Sjvh%>H0~CSqHw>KySBPQfA`OV0GtfTE=eh4{S;6QvCR@yQjd>>b4PocL9a9S! zU2K>!g8U-dAXAt*Qq$4sk zUt>BMa~TPUI6TDB^0pw|qSX4*1e!f?%r~D_OVuC%oyQx1=Xj@O3>}qu(G`kb>)g;o zNlCj=msve$h;Pixc8}f$wX@`_lLL5lUf)p1hV4 zc0_gibg=h@2(=t4`NQW6^nT#^jiUQg(BJjp##t@izv=>>4=xzsA;1RsK1DRto<7C^ zOU2bJU1c#u1W;CC`a(I8{P5t8Rwcc=Mj!AQ%&VKP1Og6>^f z0lUbT6D!Jp)wR`D5&sY(1Ob}awonn7509YMDC6rf7I9fbIzE>|`3+pyd@=A1qfX>$ z!PQJu_B3Y!h#!R7UWPuUB)C7sluf8pk^}HQJaGBs1Y624WTcReN1!mr8xAw;MiN|U ziC_1eTJTZKD?cb$J8JYgRjkufp2^mjll-(}bn8ftZ+bK3rvP?kL)YV}=cZ-15pTPn z)_1sWev7HG%PB6h=1K6W5#QYmul6jwAR&j>IWJBZDi`PdNijbNC>N!q8fcrMTD|z& z_rr@yj+08pE1QW}|K-fym~-vmjv%*uYi+#19N+K#(~8iOXe1{DEQ#F@$%1~|+%2pF zA^V*tv;vjiF;D=(E_i}>iN3gi&JyRKTq=Gu_M}S2_$8N1$E~;RZlAdIGTyrVIUOGW zVkXn$KL?xS{@EoV7Y7P>SU}(rdSvK#LT~1+>9&3JR|&hxq%UI}?s;3d*H1-NSbGoC z{WPPDx92jsggoN^h~l}>$<4Lhy;p}b-C+CI9scVxAqd31jJwzV)A3<=Rr6Q@B$rID zvz(wgrVS*fA_nKOJanSRJ@1wi9M(|Ot3znBMVj%VhhUz}CtL~Fa{t=}6bqK3D26v~ zSA-rB#em%!o=@g=?{R^-p@6pEaF`Ckkys_-xC0AEWSTgePTB^g;a1T7?O_iw9zzd4 zUpImnk6wEZRanCdwd3>-c6^Z*U7X>WnEM3{h`8dTZYaL`^49J#jv`TOhI;eLJdf{) zu3{k%o6TA6Y}>$x4W`o9Hn9FkS+No%t^MekTN2TO!?vKJl^&-jZ@V!tA` z%aXe2QQl!*t;a+0o*c*|!TW(hK8t;I2011fk}jC4OzC{AbJv#0uJ|R;3S1WE`rCBh zo9x2wSn)GG`nAXPRAHl;&Z)E|%y=DL^gmXz@P*e6m}k0+-~8DHh6|{k!46^D`({! zhq81PKD!4quW)~y;WjQSF$60@wIl`Zip<&2q>l$P;%PxDC{83JqqM%%Z`h~ZwfgdV zacd1Jd6!^_)=2M!!Pj7Al~9WlI>;xa+Dc|HZLUGPBY6#Bf+9Ad8C0xD@?Pu%;36tO zV93EZNNEYhdvPgck3Tad6&@CCoVp|@^K*`ScCKi~u-Q;U!%%vY2(rxO$~enC>k!(u5V*Zm; z9q=U{OBwYT0Btz8s-HHx2u{6@x_cuKodtTw{&uRb$9GcC+u4Kr$(7;k*dZI+_scEd zh{ssq)jaAM*eP?#4E2QoN^S(jVjvwt z0=e5)>^1z|?8Qf8csdDgHb~`tZjFFHpfQ$<$XPF64Uq?KU<-L4b>+oHdfI8-dttYt5t?QJfAJ`WhHdZrtR5Eya`XzyqG48 zr7}Y-h@cTvGC`E+bqHvXqhZUQ1_c$A^Rp$05PueW4wsJaMfHuytcCnAJ$)CS!gu-1 zD0|BaI`rH;x#xYLx2wSBI7?gyf%O^X_m(c292k7<=3d&rYMd}=R346 zx7JYTCS0fBP?4p?*qy5$0SFq}776ZI0Me00lU%*hcbj&3t%z;7W(oo1pMLEguaO$p z(QWO90`ZYSGU$@ALLMuKjAtlBTHizdkx3*#mqVs!c+mE)8B<8$*)n}R6POPXz0w1a zV@|<|ecSa!>+)H~j5&e@sKU*3UJNH`e5;*63VD-8m}&pvX+nkP(KrD=>|28(b*LUu zq^kRvU`BpYJN{q7cT9nt^bjg%?tUkraWOnAp0^bP{fj-XN~B!uf+qGAPSUYQVx-1;OW+OTpWX;zqb2`%OSw8e`Q}i19u+N+Pe<3Lc z97;rYQ#HX(I59|P4iufRQzpMDV{WIk7I40odX5`R|cs0jw8`0q4!29jVj{SiXcA`J|9OAXnAmB zva6H77;ew$`q4WoKCBKVX(`1+SmFsCYAM642_$oalbY`W$AUL=(4ZdSZLYJV@3;YS z078wWe5V`pE#u{cbU>MMr(^P8`A`cvWLweg3*x?Y?MY?J-O2Rv%X`0rqP+P?m-EM z%78^+8#6>=x+pv#wYy3UCC2VE$4EGb} zIQvhzoGtz>Psi=U(w)+cuB62=I9X(GvDxw_Di06aXpL<{Ui)QGRrSY)6 z41R@8&yE*;_!|kj$+!*b|^2$Aw$^JshO8s7mq4;94r!qgsj7;H4N7SiC z$BMgF>{%SLQ9`fIu8M*CrU8Gi1sjrb(vikjH{Rx#fQr`JD=%EQm5QGC2I1-U+4PjV zP7Nb!A>WU2j>oO#@WX7M%koiQBvI)QLFjN!5{r0SrZ_ZuiQZ}7U7hrW5aWpkhODO- z`0QDQ_@g)nnOS&m%73wP35{cWkr-9sZeWF>Bd4YL?<*cYQDMaxzx)9s3I|S{<_-tH z5#Ir=$DhcmQ=3gLr>}jb45N5*(m?s@nVHmh+mU#~Okh}16Jctiqn-<2qO7&@u-nT` z(b~ro7WbMq&F$j+1@tjUy4=Yr#Y7@9kELI$rJCK?8Ry7%(X3v*CI{BE?uZ3pg#8b! z0KdcI%S9A$4$FuuKI5@Ey*LNvNF+NMNKsVFLuXR&69P*^sn^X3k`MVGG*nu-0B$tw2SSl(ylO260(UmSa)e3P>IZLA=oW@k7Tav(Y z_Nrt}Ls=~}T(~M!J)9zS6RUqHuaT6>+;S?;Fky;X#EfYNijxNHPWgPwg7t;g%YG)= z-p+m=7-j7#i`cH2vp=1MV=*+gf_rY8a8OBsI7zcPvHG`!aSews^;I&A$GmI}ZwWI3 zTDJ0L`A?BAOs+hfrv7Z1)8-@B{Y<9DILL%jA?8%|`3hy*Ib(MgWG`6UXM~Q+FKKvY z{*?NS>Jfo}zl;z-t+N8;&g`%Yd-PhLJ;f?ObZ8n^6%Cai;oP}BHL@GZ+oL#6=D3nl zspVO$7ce3kgqQdS(la7TSY0Hu_ARK0&4mpl*rkMqI}VDtjrCF@)}G~3Zx8-H(d z9lT=G7V-B|6BGI6*`?K)qol-13#ZHhuqupkl67@@50S9@qypM6uib<-eV+nj$zHvM zDzo|hR6kY340bEemjW??KE_ytIY}jcsKS`qx;&E!kK6d^YC6c{_9XH0wO+-Wbvf*Yyu^L zXUxeNNw`22VwlYgpkIycImYe_W38$FLnDGY30Z%sm%UE-wNxAsW~sWrC6J;YF-%Zt*lH6n z)xh*dt_i9)6ZYfzf1Y`e8$GB>d%r;UNup1DK-)8lqK`vGj%O@z#0xf+w%b5Wl}cGR z$K;)vJXLNld%)tGD*mBLh6r~xtCVfu2n1rAofM|>Z98izKr*i zH%ILHZE*}ojSRkT-py68C%{{S1Z6I%KtO`UT7?dQ0#8-r=~R|7F;s!lP(k?*Z>gb2{EBp<$8oSb_iq}O0wd0@ zwkPtGY4|M5cwa-cZU%-c8N%rs+EGY$oqb{lFX0Fpr5f+@s1Mpd+o*wBU~Z)ZKd3r# zeT#eA9Z#C8+q%$f_lGSA%W81LbD7q(zh-k#)`;T7e}96uxY z1!W==BwK}IAnRX*Ovg*T@&hi!FZxOEdMPa$oEaAO!)i`{;Rdl+2*@)l1B19vkx5q} zGUY@R8++DyBbBLm_4CGW!s9L)T=hOEa9(#a2;g>>SnUz1@nOm9nSW!57S-YVI&U>jp>_=Q@$u*{IADSjG4VPA>k-fG z5$gXH&0`AUlOnycm49>FDtT^h+ibrrlW&fa)$=~c*HiTYuD}NL-5zSoOF?k&rBjJQjk(X>rILWR3|C;Vu!Kf2*e-^-C|+G&W^l}cxPGM#gjmgP z=Pr`N+2C~0ZlWSATNqUQaQ4;-&XYK`2sbLCl69W?)OH%~Nrg^%4qaF! za*~S@q@QyP@{MF(QNyh}RV3-E%sLb!j3r$uVa!mtv!tbCi2yD&uJo*x9dk6x+72Zf zY!$Vju$%KQh*KW>EJBgPzOh3s5IBojBA#CE{cy=C`u)vdrfNwT%n=6lhuePvN)yrP z8mTjUU!7|21)zEJ4Jk(>3L}l6`(yYuk`_kMlD(~F=O~@eY7C%38!MW!_hwtLsifuB zw9*r9;^P;SN>)TE#8E;MQN)YLO6xUxio|}u@mz2eJ#4@a4?cEb!j+W5U7Id>NoMv5 z!_jpyuLaw+X79CGVOYDSdzr)1QzD|vOUnWRr65FF5INL@*#29HYjSO`$F|S`QGN^7 z3r(v87Lb^LLf{TwDM_#l@W*W{b~Rnk`xe zR8$^V<&LdhZ8~+ozZ^97H^d{}<4^;{_bi;i!lFQFV=)@d7z+BvCfb&Pp!}AAm8yZ# zX@lw$1`%aPgT?r-QOD&=-r~^Z7l~E!n>N$Q+0-z@Lj8|f0b(gsYiMs`e~BQFUVByw zip(tp3uo{aW#@wp`%%7dtQ0}H;Q*r zgBmFmf(19^6RVO!l_Nic1=65c5g`EM$_RJ+KK^dS%5CT}>|7<6WmS5(;bREE9*`C#QM8M|JtT0yTZI}>W~+?FmtSgv?*e57KTNE}oQD-%Rn4HAew zsqh<>e(>2V5(|N_YG+x_pc}z2A_n`MdJ9Fg93zVg@rpg(h^VM#$h0xn{GE1Rc;ent zpUYGadPnb#lsG7Y6KZ3O%ij#Y;pezl=xTmedB{8w2(@}kw1H;?b>wF!)%MN{!649< zR0=?72feVWyaeZ|~d6>A}L|po+dNYWpH!+vt#P zD5}r6)D7PzeLL3Qp|b6X;f9BK`(}H5EvOwWxn2HB!gO!OCzZ%wn_hjg(TYY~nhx+V zrl|*MnrS+=eIjSEuBZ<9rAi06hryTh(}Zxtb$7F(UNG9$p1Q7XFSggxO-8G;$a>l5 z6p64rXi9ED^J!*s=grq0oB|AX8-t#$eD@^#J3wusP>g#_DpS3j6Cm?crnZY*?Tb?XDy zBXP8L1SYui8i+B_H*Z`;OLTn1o;K2eLbd2XN%50<#GklH(Lvk`2mDWuCvx5TjyfzI zAd7M~!7q=bPe?zxF$N>g9oJwk6f@Q<_2UAkF|`|iXSV-NEXwefq`jbP*9 zmmQnTKuudRrDUxHfd%z>dl#FdMpq-}QX4?MM*qax;k>wuP;nU>&+UE;+OkP&U_E9M zQTZD;ahZ-nPrFeNh?+Wod>*w>w03MF)yfiSR`9oyD239-Bpx>WF7GY`msH)Z=w9G| z#67oln<#PPK>2FyNP%2elj(Z~?H(1|w~mo8E@Q`5tGVN=AQ%IUK4Bu^uRPIq@qh+! z`#dG0V8)c>l{4`cc%xr)&yb~^s0L=k3irk-q3geuOrGd%<9-44s|qy>XGPp4m0Z9e ze?D}CU3plYNmy`J$4p?Y#BZD?!{=AN7)fTWly4Na%sc9hUmq}^vQ(kTod=((mc%{+ zB`W`*xUZCw!~ffhA{MOZbn-)@sKTwV3#-YjqpDu5IDjhMkB%%C#xZ*-th zaU1!29VpXI#Bm-%YZmW~Hx?9jlgrh2v^RgxJIM*Vp^Pl|Zv0^JY;0oiW5IKiIxej4 z>W%M3!LE3tr-(k~@A#gCCf_ov*&;IKYnBbdE0ukMQnb{VBZQIpdV3$9eUTa(p zEBJ$zxpOObgR`(jlR}4O8)NMOxL3nh&Fqpi*!nnwJ;&X05hsFX$s{7lqt_{Ya}eHS zgdr<}oI1(XxI!7L{O{Fz557_uHt+;B(ddx$0@7Zc{P@OKUdX9qZ(oRWek1{``EsEV zBQsu1kd5dZT(c3ON+;4jlg+L;FZx(;N}=J%uzDg59J8OJe7suN7PXmO_$-o~oZR*T z%&3@!VY=hijjiT1n#ew*Y zljRHO?)uqJf0fP?^tvQa#S4mqQlTwF%7j{CCI8yhXLA1)QEpzK97B;^b3I6Ps6Zdz+l{Z{&F)e6(3TumFT zty}pgm!qrcKqh)c-DiV&kcXkb3zybua4Q~TfS&NWd`8x(O_7k`g|tAUQwtl7rxK#y z^(wPc&~nD`p&A zuj495&KX*6X;xS6u9QJhB$j0DwqEFQ^FP8RvXpT2!mhE3KCg!=C-HJ5VHQQ3hYB*k zjF)1VWbt&-2VJL=s+X?(4rU!z9euMx-u&}^Ne^?d*3q#&4J7u^)+FF{g+$(Y)Ys5G z$YqqcG9Wpnr25M7n8iJBdd*jK9>YyF3!|%-KjGC#t*h3P)Lt?MxH($wB~YmyLk$fU zGdS(G5D(yShAE4ME1{UokI|{$csNImd>*T|>LGwRfz{ucDtuxd3J8FpM7sfFU9UR=L^mt6H!&a{oMI zYKMKA*7UBdrmwY3=!lWeU>JPFMK3YWM%$wJnoW%-u*t>-0b;~_=TY8alkFK8vYG@! zwP7et)%qN9wM_*SDD=~{KUU+!T(m24UQ7BGbWFvRG%S3q5)U#wMK8aJAuTxD&xVa; zgGG?fJ0F}W?`&HeY_rJ4JkfR)-^-Zv{ZnQw5c_F2|s;&HI?G$`{^Rl*LTo(NFO1Mt>r6w?VOcc8T_$(dd|%dddZX}h@QV(TiAQ3m&%64eD= z`(Oj`f*ktouDC|E>;9iOa*^Vs(V3tBS3!-nqu}`F{PVSC=@#h)Pt6&`3{2nob}%7K z+XIK9XE#9y)gKWeLkk^$9`>n`9WIM$RY(;4UXWWi8PK^`q><+(!qX-5-q^fS8a2BR zFP~1;f(#-9?wg{-)oFPnc!&T!vD1hfENe1X>>4ncH@JZH5+Oa^tF5jI-Dx6pds=I)wT)09t z2P02BX0q-!FPaL5XCi^;fT5A1$v8iC5~{d{pnF}O3x-RH*({DuHNQmiur%wbT|kD= z*s{qf=%(3Pc)j*Ga!xl`;LMazR9cst*U4%3J8{+l=@^r9!YI5r4yZpXDm0oxgu7O2 zp`ed{aZ6CfbPdm(U-=K3I(_&bObXD02e{$7cp8~6UVXH3zzWb2ET(wiyrAs`&GW#yL0B}|1K91q?DKREY=Xq0o5HhQ zCg&fmv$pH*8gl%RK#p5S$K*^Q+U+=2PbUj=Ro+y_lD9s)2ri971V2^^GaRvJ(7eiO z@T&i41~(waMB2u~wMx{TVpHJeK->9V=h~7nbf)-rr~TGpBj9v-OX-+%GEsgP@$D41 zfp$ySy{--uCUA6F7fb=r}s;*HD)bTvdeSp11>f1W+gyEK$Nwut%y89L++U$}3;4UcP@yJgdjhp5?X zoSbMLPoQtIqYHxjB12lMI)Z4|%!Z7*bnVQ3`DT|QS)NXmoE=-_8x8aKcU3SSh&{4s z9XdFU0iU$J9UfJ~F4aXV_&mNlHO;5%Qq8Fjm3qsOml__YDXO5fehOH~YjqRZ?2r6T z)Y?~0*=S!;ydTLhx2K@A2I)v#f~h)TOZoQpYScX}<9m3wF5_;waqdea{( zr!8qsiPKC)q>{J^A3@rIjx%inrwsRLYUU+DYxV{ z)G&YiIHTThL1Lx6*~>k74VbNLvC>iyYoic#uSDHOrQ4C%dGy#SZg(g|fa~RqyNGsx z_f7iM?fi2hNZI2V^xgFseX7!32NC_PKj_Z5p8N}5D0Mnm%0CozX0-4E@=d`(BsUlk z3Q!j?l?Y#R?M=S!+zwmceD>Mv^5YYo=yxXkvp8p5L_5v*v*hi?KZwQ7XMXd-$JAr@ z?KeyH66yg^v3$}+z4$_Oq!CY-?)r^Mig*1=q2l7cYgu4;)th}KU6t)(c-U1VbkA>@A{PIQwgRX9ULqf+Y&yRDRHzvqi3!YHH zRpFYET2h<9Agr8>V>dc(OL&ixlCnZ?QW##2PQOYl$2GR?TpOJ{J~ktyesI?q8)njc$<+Q#of4aZqO#I^jY(Im`hIE845Af=`HZk8;;!E z*Y86-Vw$f}vsE|6-2J-NdTn3BtB`+nWcdW?Y)AVvL(#B44t%1GC^N5)T_1xk&BCMR zy;{|jT=4UbQ#y`mm>r1X`oRW;*W!kdh#v#32ChWG<7vCap6}k8xw7aDGUW9H&cz#j zmPJf)-xQ+z6IfoqtFsqb*A$13ENhr|OIgz@u>K$*Tj6x%C)LJs>u<)mXU%N9+o4R_ibWAWqRgwG{NiTfm+DN z3}M z^4)WTnILNaAYU(5Uui~LedB5npHfnt2K&v?O$TyC5Ohqu0|-^?oF0Y1vvpM8Y#XLc zWgVNiO`}$tsikPfeeRSGC(4O|cJ!OL@2;ApL%uEIPrxyGYW_rY>G6?Q91OS}@3^&+ z^Odxo0^{lm&7T|F>&uE7%T})1xn5f!SIyp(H5wB(yF5;eZ_SmN-!nauDHuZZiY^O+ zA-NYJ$XX7m!oQ=_*Ar8aO9w-;RO<|HifwGs&o6Ij49Vy-kWXauPKeCc6{>e|Ond0D zCYQpwHUsj6GTL&*06`@KMRlk$wX~U*7YL4UXk@P-4lu@SVk{Kd^7uDaWY8}Hd#P!b z*^3wixBORr-MC(qZt*y}muvryEH()}Mv*wVbM0*<9-*S3g6P+SdIeIh#;=5ZjD~|& zuv&YxxG`WTEtyzQ5nU(EI1>9=pkJMewpl@g>0M*W~w&xm3dA0B{ReXa0UvrqMS z93Pe4Kllox6(XN&w*TN|{B+F$ZD=%-ptM%t_7)iS*RZ;Lg)j{>H7nfX!nxYu0`|Q~ z)Co&fzn6t!Y^&JIV#`z@;G>)n`d)y|^ISpgd<8}Ke{tuDM#TjVx!F_;;oVmp3J!u! zj|Rcz!^E}99ex7UO>-Fq_9Bf$M~BnxRX*Xx6f0V?$1ubFkN#YjgFZP^!}TsZ3chkK*>Dlt14M*wgX*q zTf81enwh&gj6>hYtA+n?;9%M}|BB#h)+IeZ=oU`*^RD*@hO31c>A9_~<-4-(z44KX zJg2(}_RS@{-$%#YJ`$oED=pgRG@NaKpYvkbH28MC9a-WleJf4B3`L7@hk}-cZvCUa zkCCo6O6C~`-u!@h$NLUP?Mo*h519CxCf8Gs@mqo=`$jgz1taj24jAN*ks@N74YaiH z8=tF_YZuVcQ!LQSX;y+Wm)!7``|9X7;`GjEb2Bq(3)f>Jf9O@vPm^3a=@DL@XgR~( zI<+S=jIP#KR%f0hO}fVxmCGcuH~ z-U=?(YTv0M-?|sLURYwde3x6$d*@0$%CGI~pzF4qoz5DYu_FR1Z?9eHe!*uCtV#&l z+}(G*yiLA2T+(^%@zSWaH{}_GJjTc)ocM=)dMO8Jqa!T`hiK#=uBPVes?%YRN_vjL zzE7&!+P_4+S^A5)7?QUyB{IP?6vTI{wul@-vHw2ke6b7WJ*1q~`b;}cec_ApA zjgwA)7I3#pcn!$kS&84Y*CX59OQ%6|B(yltRi`EbChIk4T280B2}k71rS^F%H zTd~Rgb0+rXhbJW8qde zT2^O2s@=*X?I_(vv-;~IHfbLnJyc9<<0r%hvlhW#I`}npp4!_Ndc3ew9Ln;_FR9$*j^Kn%?Sjy z)?xktQMU(InKmP|WV4m4^9^G-S**cYXbvI;U0-rv$xW))LXpsMs8=94)W7<1tN2hAWM&8nFQ#(nh;qNi;XCQ@?gatS>;LTe0XO9zn^i`V^#Ouut zP`%`jLpR+Qc^}baaFgF1V1iip0rmHW4d2XFEX8+oXyFLIL)kskpRx@wvva)CFSP8D z;a)@#KwKH7@7^lj;FdmnYi^tUfi4#~zj}nT8fz8yviq5%y_o$U_;43#cQbUk4L$GY zr2yA+#!p86Xm|aYa?j~m$8)+1KdS?Ht&!p1AmBHPn{62a7Lrc)kb~caTx2or;@1;Z zJ2U28q@l=|f`ZDCak^7g0K>&nv9VqV?&={vZ@$&9qVa{+up33hwC}@;a!zd^ER)B| zy-zb=3nM9)`_88*!1;Ri|0yApPRFWgp{ge46ekBwF5R-72rSrTd*%V)`GU88epJ5^Gs&Um6G1+#?V9$v*TQM0Q5+v`a0smq(a=dbw+ox!E@45kXQ> zrawYByr&C{zAT4$mKsSZWxQPyu%cWQ#))(tmexkJYjL0~;#GmMsMllVMZOl8w&>Rc z_A)?+Wj|$s&Mx$2f(r0KkZizhS=&-BNc6ExfSX$P z4jw$`d}J^Hg~lcWUh)KnO?lZz>SnDQ;+7!n#?v~d6);oXdL)Cql@P3XREsg)kU+O| zRD16qHgk22z`hXkKiAgV>%+SAu!0@Pn2Kwu1f2gW71z#J|Gv3ZGxA}yRzBPFJ(^ZZ zbeeKCF&1IY&AM1Ke)o3Q8<}v@T9&-UAqEfbS^q~2T)AgnVS3GbPL-!UFG5*(wt9U& zWm0(Xr7Jpiw|C5HZC_fS;ilDD7H7HqewXc`Yoymi3WG@pl;zo(kHbNUXmKz*lBEW^{E3oLL1jXY z>>a!{SQ9Y?D2tC!9`wz7v~j=ILZBVCo$)2*1!_P1{@ zO<(*gVRJM?=TF4})xoTdLUq!LkiFBDm-e30-`_&JsU0spcXNAt`mH-NGChyfFVAbsnjB5B8tw5_nhFU!RAgv>E6rh1n&*C!dRdj}k%rGAbm=twi2+ zKn@Kk4eZXhhmh>Ox3m6fk4#sKsABNV!=ifotOv+pe7}6Zv8d2srA2{N+PQ5V;h?Sj zNhf==$6Vwv37=!M<;_fnWVO<+I|bM)UKTQp;3=@ldRbaERiJrw0Tk#@x@@tGiLNkK zy*GT+Lrdyz$y`1-_5Fv-EGAxHwUv8f-;eltr(3t&O^h_^b|xB_NiIZjxP_xW*Jb%; z7+4=$LoMy+tLu2j{L94pZhM-m+(lFT3f|DFi2+FByAW89C3nl%jFizlOf&P54Cr5+ zXt`^KQQj)~d8chZL~_Dk{kj~L@pha$cLfU+CCR%;6H{JwEAs0_(4550q1M~$*7LiX zy4c_Tj+NtAz&a<39&2jX4>J53{GKCN)ZJGP1dZJK#k~p}$y`eXj*ecb&?#Uk7d(2( z+=P$z8%|9CQRC@~LP!To9{W8Jf4k8cN3AWKbhy?NQYwI{v9MBMY5O3wbYK*Pm(KXI z=BWBXd=q9W(7wYGickad<6=(=Dy8D5Y8oSRVHT|D$!?aoTw-#mB(x;VYerL(*dIAr zObCLb!3bpCd-r?Nx?nFjsqtqUVYBE*{OhHkg@RD@sFl##DLtu_I*17~Wqj(4GAQx% z_xTONV)5PBbyrV%3(3@M50v=8W-Rg@_@F&^M1sx4OhsxakB*3oM2%A=;K)hHcYprg zn>;$_x6g~!5QDaNZq+^CpvTl-9^e3iF)hrFt24h0(HD9N%CZrY<0`&k2Kpoje7`0J z*4pU8{eURi}l`tTk;E zh}XcTh|b;r)D_FSgZ73Ef;Qh+rq8SskLr_C< z*Y!C~3@tpJ5_3npgBzi|_t5FHeDyEjg$$W}Q# zN=deoJ3Y2{-v%*e7H$vy?-e=I>;CSe<0=;u_K0%lDu!r_ z>Sv@_z>gk-d3GPU$*nAv#yp9LUO7LxT}NZ%*uNPQf@!+%DULA9f=Q>0_a2w zy)?K?&^aSzx@`c~$e(go?ISXxZ4thTjtK10tQD*`&QLDGT@@e;Qt`}FCq+DO(x_+KemvwOP+8$UOYVA);N(a8FQboSC zX}NGS3SqvE&g^Mq>mo-oi+ok1Z7=!T=p5JK4=xXmSo8feO}Rs3@zb zJjq)JuOy0~k$1=&q?z1sUVP|kSstP<=15~~ESj}+*Do7`-G#(_-dmVk)8Qw3aVk$` z5hMxmKl3P}dTe})Y-v!ig%jQA!CXX)Snu;H?k%DG$OR8W%uR-ZfEcv0U@Qp_@SI$R zmxap3P4i{}sfq%GpdUfL%m76O5ZmG$-gtzKDkL_3pMQm= zs}Z1x(HTeJf?s*MC6psiteH_g>!-&PHcNtP8i#byqt@-Vf$3efYj>lMIG18v!9Wa6 zd$Y7grbauRb@+$5qnS0k4H}|xLw9^d5AtF7P*2nb@AtqT@iWgLaetj@_Fj$ld?bjH zTiY`rz468C0m@-|3Qha%p9d8ot&A*o=Nz-=qw-aQ6K`;@5%P^F>DvE2j)|frU$z7) z{oIFiJ8P{aG;R9Oj$yphT3D+V4D&cs5nrvAZ@0@I+Twx#7wd(&{D0wqf8ucq)A9Q$ zYx0gQigpI+`_|q)q0d+>%$sx&m315F%F`_e^EEo9EZ#Fh;q_K(qbUk$Vp=TwJ~YKA zO+W9Uz<$cy2Y0PgKBs}?Tc?ye>)9b6eM&sGAB$}p?8WV4J4mo-Ho1N3l54k}^t}_e zLTvFRAtNTA;C5yTckE)uBg*8~?)1(7(0}ejN>dl+VT;E+{VGRv*4s}rOP8g4l4y2j0I@=YEZk}C^PE2AX1ZYEiAfoFxsTb{Bb%)m=Y^rcKbEQ*@F7kjx)Ro%> zgP2XbGpp_X`JkZjxCK`F@7q5R_*!>Jj{HAwdpgz*b-o>k*`vV!2jjk%yq)oP+_z_M z<8M#J)@HG4#$99R-uC{$fhQ;63&-%eH8;R^$cPIPJaIDu+hYRvCr{vWi%54U2RBk7 zm=V~n4L@Wu{K&BIEtcWq=)ia0!9_^$*&KXx5qy>yJYtd)>UHo3wC3gLqa_Sr+kMhC z_cnKj*0FUyPR9^Hbkx*=|2MO#SuNblF%j4#uW`rQTF4ENT@mRif{&v0yr*NorlnTJ zeE02*h63;}tb+2|*E#8VkrV7P@1eRUrJ0{Kg#)L=9x2cp=nGbKxxsa=x<0`{R4dQ# z)UcVwSkRf(S~Ly#TJSl??G67@aH=Z<6A_Ou9V@7DUi4kZ!oJz)ntZ66C5y5^N?6SC zwHQ}i?fZ1WveQY_u34H@FkEM*EF_e3r}*&NI^=e1t-qS7lu|ZUNXhnp^<|VhP(ehg z?2&}3*v=-wF;Mc!MMvVvwvi>9bwc5!GRLw>W^AooIwYBtwV4SfWn1?|E~z+KEXiiO ztW;9VIzma`Tf9tiyLKYUKRB^Ok|;xgq%2S#DeH1e9H~V`8o4)z7e={muF52G!yA%I z}&qljszj^q)`Dq={p$SZPv*=yBMPk(ZYyuT5<)H&TXRBx)lFk&y_ z7%`1t8F_DIo{?LvDKL$^1(|E)z7E^S=f?4k=wJDtapW~P&XMmN#5!_p%scW+>X}D= zI6U_Ve{Xxf+sQbo&acG2qkfCRPdXn5if;WAEFw{iH86-o>sGVaLm~r~F^9yLFdl12bg4F{f#eHNj4dSgb=krc5=8^C zgv8Ot7((J+c%$f~G#hK2Hou)q;;XQ(lu=X6#v4>%IE5TYG&HBwvvn+>*_k!9+`~CI>0iTLFOwO)JN4 ziTf-o!p9yhKPuQ~;M!?w6hOSse5X8-U)>qrmg}V2+=-W0SnllnZ_P>W)hMbtHaa#X zrGBYKucU=N0zGPUMm}%zWl&R=nO~rKffG$nbYdpZTqKN+qjaZE&Q<^KIQ3axaE|sq zZ}wX0GLJsB;&~A3lz1>kWa^AgwDHv`alkftio*s+<~sze|HSyaGSDR^nni_4&dX* zmJ&j&o?O^}Z?nBuuX65@uDoj-VS{lXCLQFn;sTHMBJ;du3xVv?v}B^vH%X(iF*x3W z*DEfn)#CBO_Q!{?2TvtiJXxfAk`ToO1tQ(XpjJ4rbEhQ_`%XB3YFheqw~9KpgRZ#( zz9MEc(2Lr?FXXyqnBP|@bUhX3Wr<@GgtA?jR+(w2va<=Z^0cos`rsTr? zRLV$``Wy?4s4ohm>T}6@dFhWs%*PiU_~&k8+rPqeVfh2aZguWNSOzCu+xJ;WmpK*I z`#)kWa=Jc!`Mi!tm>umZWG9)*-O`i2w>}UN4w!20j&hab>m|cA%rKcwWOSsgi_kdP z_?st?|7G(JBGjNl6_kIrSy@;{n**Db3J)m__hQt6zSNp|yyouq_+=ICa7@T6i=QVJ z;Fc6?Fh%P*S(`atG&ydgGGBD}d>zM&>=^5L|70eQI`gJl4mEq zDLy<%_7sl+Cx41Zpe2KfpY7|m^x=cmmqkS*-PA%J6+f#Q(K_1sX6~bReBcbtqv5~p z(Bzhra+~(?MC<4uk5X&ZNHeYf{%_*dOndSwC>!_W(`?SZ|307jALm)wqvt%J?*;KG zIi&0S=a9DZNG*NmbG}OBxmu%|oBLivH{)F7oYl?26Hs~Qj3e5O2{L{$6)CljUxVIEmA-D7TmYZ{WFjc%Zs0E;2KcEZ1((DduzdGw`}Kgs5X&21?bes5y0?v`1#m# ztS$X>J9NIuIvoR3ZmxaCPHf5TcS*_gBUT{fc*No+1OpG5%s`m7vWr5_dp-6NLp63y5Abvn1lVB?@Qbwo zBjNx%rw{lVR|6bRBuKwK2K;L@;8*B_9y|u)9NmW{3det_s-sD$tl{_5r`N zE_@8Rx#e#6?c4PG+oEBsZKuvr^y&v>la?J;L%~-f%+mT(SVxP7u#Fo3B8wh>VS^$L zZqSJeQx*AVKjQL!ls1_HIiZuprF9bjj0Ff`10aMx{ACXV$V_exWt#BxVO>nZWoxpN z1ls{7T{=D9&E$z|3#&6P!=ixsC*U&` z>F3KfiWD@hZgobitO^N)A?Sa*5-&@?l|1pYEHSb=Bvde$LulSE$?|%Q=T0m~qmk=P zsSiP9bkm2c-+uAtVYlD%9tdQyp@ns{L8_G?X@r> zk3>JLXdyg90jdXC-8zgfY+P^5HJ+NH_4WOwg+sXNR=a{p=g$7kKhlrP?7h;T`sJ4b zPG`FEYwz52woJ-=nR0ACdT%Sc!Cd}lIwcW~$!iKLG^yM{4G8jh{gc4E_MGj1U6&9K z!M-B$0|-5O81(iT%*$7G+aoSKv)E(0eUs1vW%D~d8=OAyqQO*itY>;wFlL?s?Oel5 z>YPE&hZ~i>QF7SzNCmMBlWzoiLDM9lqr!E=b=6v9PJ)VgyuZ9=hRK?PDDw3Fx=SZ4 zpw*wudml2SzWS1Sd#+qN@o)C&$1d6#0M%r}M}Zc&(NxpNG7T`O-b&v-4(Y9=TM{%G z^wFj#NU%TS*2iujJtqM^<5r8hbYxjd_!;_ET=!MD`C-Pb>nD|x>se*}+zA*gmmPxP zOWK;umF2%@tGWBbm+d~Um(2VqxqEkAvnM-%NS+}b?2Y)$jr4k`YMcF4&3=z;JQE7E z**omsFl@{8DR{2;2+qni9%n!s6sIb6z~(7160wct%rZ_Ki#M3<%x(qSJ_CF)j08uL z8X7PZ?^~Xhh1X8QT|6Lm{aU}*^UAfd629iSZN1P|HX6%GeZ*E-rK!jcQhW zDS{N5ui@ZXrw$btI~4-hPOO|fU34_2q$BQbZ1z6m22RQ`$zHJtMeL_BuglbxNk^9I zrOHV?{>kS&aqq;9_XThA;ir(6|F1uBLB&!Xe%Sg)3bUx3KMedLF2CO>C|}#k>5sLV z{OW?@^uXcP(`N^RbHIl2VSl?5pL2LOs;l_39__J%y)@@JvlHC=4h^|k_sZK(X4oRX8IbS+>DeT784zX(b6+_edyrg!_xS|E^Ev&4# zvc~T;CpOwUDEA7r#bOS3#FV2Z3yf~U7?wd8Qo+qbANJld2~5M<;rnxK^&Ne_t4lS; zR;zuaSR(K6TzA`d|3_h%;Oy?s$?-B;{{>oA^(akR%f=7hl4{PAyBEvte#*=ZuT!`1 zZUOD6^|RWntrn@(4}Q6G$q-Kq{n3S4}vNn6MHY|)5k3q0h zvHAH&)a3Z^7zzP1@SAKaBMBZ6ij70`yy{YAX4zj;o|cR$MaQUVc`+*g)i6vlE7^)r z2QiO0+IT9N&b!1aS!y~@zdfGBE70PLTc9*K`~2-SWXonbxLIF(L)}n(bB0m3{jjNr z&Pd4uyc-K>pawN*UT~YZFFVUZQSR*g2dLgnsu%f9`OG+eZOrQR{^JB9hJ}t*<>tjS zl%a9?90nw-OHN~QXomibvg*raMN8`Q^yN#ZEAzC3;(91mq3ljExPjV7ucP;+_A%?s ze!XQt45}7BvPpuu_7TYNgRPGPd0=;kBp7MqNsqM*9Cb~4Rug-(GpgM-uS{GV5vHv&&ZyPLy9I+`O)BLk@& zjS*&%u`_b>q%U3ihR>T|(VMPvDT&V~IJ>!y7NcgOuq@dLjRus3Js>~F^0fSkTHu>4 zn1UueR+*NDt8FF}7+m@SPN$|&aM;vTN=p!I%<=bYrVDM4!k=IP7e%94R=Mo8#{m9{7FNrZGY;D?Zu)A6n6ZZEn~+Sre_(tGYqre zcV=VO#u2h1qUjJ(k7(l3?_qW|WXgDG$I$H6gO7{b!5NDolcDM0Zf!rEdRJ(6cgIwO zW3(YU%n_&Wmn9cVCz|BNm+lj%28h0Sd!Yr2wjDOB&n}bmq$P?}Tg0S!W_sf+sap3h z@!LI>$SkHXxgk88HI!1+Q~F7cJi9cng@~8pI5xJ@?Tv>r!RG~j+J#an%Cv}m-JN*-L zMoOnix|{#k+eaO&*i?ifzOdzCOV)o)O;sNU>GK5&I1F!RH#j&nfWOwtETXrw@iWyz z+!YOrS=?HJo0Nj9fiI2c{;OBid^8z_!fWXwttCT!8J)on!xnaxq)tf{$=AB*#YHW} z_SvJBMQPfr+0{UFJ?dKuJ@j?g8CvO%B)|L5jy;7++iS;*e>?__2CmUrADf!0{(DN5 z7b@U!xL=*@P6G%H58B$n@CtZ=F+Zs6ZgDn> z8HN|PVyhWHXJxB9(_d=7#Ghprp)P57tm4CT>Uw8|Sk=CxL}Nqg zOsncVRok#-b#8IC5?0vwus-{@21V8HPc`KQ%J@h`tJUZ*t+{4mBja#;*4dRSS@=t> z#U+fkQrtwP0QX5-0Rv>d0w6SMXGOX9ZuGnRPg>Q3wGEmosuDwJpq<D|Z z#lkOxD`c&IL_en7UtwR<%>)aQ%)aQ2x38XxRo){fMzj8hpzg!L5i8HlJq2vm(fs|{ zQ2$LsMZ%J9O4^`eb99(5t0*Lu$48apZjDXAVrYe-@yJRHN}4n{3MyU^`vUqF=?W#h z{+vTsnz?Lcy}qI%lLg>f;7e`(e+>~_ckM`JS$StA{+etLKi$bK2gg`R87Ly|fl^>Q z?OY_bw49j8N0IOkYXws~d1zeO_zh`xqDS-ZN-jRA5dB|7-tQ&212m)!sJ)FgJ`^Re z5$p$|hO&7ZYkwj@uo74g1r3&+6}$J3(k7&H(W7?1+Q%s1g)M6>ng2C4i9Qa}Wd%xj z0_mYu(kXLw{F|w5%woERjcbPvZDTR$s`a*EJF8zl&E)X~Ee~5VKB!c}j|0?ssf$M@ zjwgd@^x!mmY|AyHfNT&#mwzy)aZb*8jD8z6^;I5=KYC^3~-P$utzpKb8~}nM2OEKfC{^=aEi90ln*H zTI1EnI=AjgtK^KtQc?4v#Mq3)T)Tdsc8_DnIW+pwDM~eWh*;ccp4Eu)7G_cppUL8y z=XZ~9a}QoGbmEk4Bls_&nTWe(<8yfm=|T?oJYOOoVR>8SI<)7coTLlNuH0lO^#*++ zKQ6ukPr?Y4h;(IN4u*w|7NXEF4j)b?2x1Xs*wE2Pu#XyhQ(Z_#qC&$AQJBPLct&k* z-$3WUwy|w*0P&+yd97rr)GEAsdcG z)*;gx3J#z8_~e_IO07+g_(U!Xa>jWZ{Hm=wAIk4Pvp~vVPg$v9=2pj8(^g*dp;l$l zlXe5}5v#?Bc~;arVZ6 z?JL)%$J>-=zlN>*<5?@9|AJ^JPn|q8d~3H&|rghW>c9eJUfDI@}A2cAAsv@zE&} z{(JLuvfYLD#YH4^6018`;bQs>22hmhDpWmuZ5x6-nx5=aD% z+QZJKZO*;zD6ZLA`{{<_GQ|8cWB}x=dyiZ9J!brmqd&W=f0w~6Z7}q}co|ar)G6!{ zv&`zX<4)YR&-4LXbhK-lxG2x*xRF&DrsvqFo|aV3)Yewce||>mEBo>Wp<1FDP$2+hs!pG0 zWL;M(vaX${OI%=Z}84@QL*hCD!>8+9V-n$9kw9N*-(CxCT_}!mB zePM=Vl1zQ3>G(J>Sv6u|DE=sh@|fXAegV19q2NC&ai|D@IHqk2WR7R%8NlPIa9qeA znPAOvQs$HGdGpz01w}wg=kq}2=Mxd!TI`ZI(hVfVlzjLoPEa*im$_v`M(QJNd-7gi zER>w;J8OSx+Ol2oh22jf3Avm5(g7(;$zsGq)H$6Y4xLJ_bE^ zj6HMIPIumC=Q6W3CC*kxpZkdY(B3@2_6Q1HPfu$KYT7s^V6Xg-bM6QIgbr2Hwe3Tp zp~1taj<rL{4j`3yRaR#L`R}obD5gahWvAJlS%I%;%3J=e1;J zmx$7w%$Ky-Fdn9e)iskM5l)lKnju+QusWJ_Dd}yL2O6~ue;ega?N^(1X^*$=Zn|dw z0=c8=8-;ndkb^Z413Ez_Es$&6#hQCO9JJtam+v?zj$B)8a z1+C2n2YZdy+u5V{jc(luo|v;m3`T}OC{vN>>4xo9S%8vv%(YlS8>Jol!m(-jRr}ly z;QKCv26y!+r`+)f$B8Qeb5+>EV7@e0=G~&0K2$QH&L7Pet0d*>I&Ys5P@~Z6KB$k9 zR0&>ThoQ$X!payt4V-8}g)4eII`t*k=It{#^nni>TQhS{F-mA>CTQ~2k3R-Axw|0f zLDA`vQPElSV1#=O*eEpw>H`UlJVV?*c7Y#F%!?e(6AsNW%R1M)QvVQc{(#?qQdd`9 zFJ)h@7=~fWc!)I$XfhLzo26gTb(*K`>Zr*|1>odu8)#SE*2cN!Odvj&as8&1$#(f| z_Go0<%+WybqPo~exY+5V^4P0KIBby0O?&*^uHXJ3(}R7olAd$)lccJ7`0$UTC$bL( zC%YGM4<&=bnAtG^k+rF_0_?WEw9w}je9+*CafkBTFCg#@`G$N-@Flax7n3_&-kfn_ zThNAQdkj4$C6u?W36r&o215gw>Q0*{G>hl66LNV{>OAVBfcTIDYIGNbG`?-wTZ{?7x^Jg1p=T8P6>|#~or{$juwz zatit{w^j)9tq`M$(@OV)Pba3+AiCvdhMtp(# z*+6JJ?R4PEWIfyK^2{`q{)E+Q+3FD*G$>%Yn(nLZ&wZu3CjRZ2LD2NL-T(h3t`+CL zK2@LRyE+G)2)u9NfOA7tABGI2?N?4kwn1QOgWSE<-GH<<+G$@nUAg-P_F8Qj_3)XG zevL*(mfmB3TuN+UlBTOc{Q23ra>m8tbb=li$%rUh71jurSGmd?^tLPJqX0hIUOBPE zknO}&qeZot^z23wUYUqT$g9ZYR()!+5E)+)k3ca*F*tm6ES8NK1UU##aet%@I&#Kw zz;|qP%<;{uV9i)SseA|{BuX67&cm2C4`f;nEbKsTwm4uT=Z^JNhL!*AbY+!4RufO&pZLmGvn6pZ`N%;if?R_ysyf3a;%_K z;EZ3)!>r0#)HDSPx7tAo3=WVH)@r$wG#LlAcEmT(9jwoU^LDS0DEC?#%#fr5m5Qe0 z!64hYQ&zmU_*LU_o9789oJ9LQvpq6M*x3C60VnpMp!={h(m;iy*PG8B*BQNzf4djF zz+lhpQnx@wI>r7FQ=^+>kX`p)y#kJavNcfVN8!v7Mt+f=byQ=}OkUHTSbT`nu z4f;+DHZ0u!?^)Mwd-ON17M)?#V9*DHrf>Pb_O{n|eAacwe8R4~{Hr^~Wd&`RFqF}D z@vXrV#$@DJO>th1EI-arY_4bJ7{_dSZ{^vx@wy9vfDUGb3!BjcF)kdiJ)B6!B$;~(LGzWu>} zuI&9T{{YNC4`p6)(dQ{5F4Oa|`Q?MBa4Wb|6@z(LdVa)ZMZSw3KZ)YsIx(}cI~Tl3 z)QAk#`}q6#hH8;?tSJ`^zk2+~TaZd=q;s89<$z3`QLpP7niSZt)4DIC$3U9WNaxa{ z3jKfHxO`Mv5s)PmhMu1A75RxyPY6OYgyjK84fxw-$-T*-M7NXIsoVJoOh`*0m+UDn zCyPSrhGDDCdegeWI&(cA{pg6QJm`?PGNO0JSF&HyeYGMy9J#$<&5d2W=*$T{xZG7L zRL=Qo&{6Oyr45EH(cc ziV<)ImI4@fVq7+l=wt(uA-EPW`^13g1o)@4pN{}DUnlZ(qo{?|iWKkCJcT8xkP^Tg z;JO7_V1arVhmaM#WinPRYGigGxx3xkEBh*in#tK6c^vujz-`7a9E7?kct=5M#ET*P zc0Aq3I#4}ejx11e!?}RbzZA_!J?Ewf6Vmny@WY*FiqYcpxuYGgU)a5C`xDC3w-YlI z3?lh06%~G+u#MET;G+P)^eMX&0sM~vZK$)~#dK-sWUEzLsx5gE^;0v&&z zC9M)?(sB))e^{LeyBi&*<8IMhbA~r0Q}BicxMCmy1MT^{6*7L>UwBY(1xb-pluFGh zAro^-s42O{1W+t7OOzGDygWShp5UdV)HP8*mpP{kS&XiBEd<*ImMgAv6h7Kzv-mpC zwYcrIQ%0BPx^2|E=Tr;?+djk%cgZRO(u7r^`b)kdf6?hng3u&Zt~`Y6GexrkJI>&i zfTgh~nej!jE6nqfON`(BBawQO6$>G29%r0ZFbJBjm@NK#_VRaKzB+es;FIkU*D5bi z;i)k02*xz~H`x>@Cf7P|a)S?5iK29i`*-;__B|HIh+$_p{V-p-ZiOFxNLU`$c?Gjp z^n-p5a#7#@U(#M^E)qP9>E6$1t7K$?hxX6punj;^Rd3%l8lO*v-AAWSR z;}1V7YJACxnMm6&lJ_9bnC2KQNzv>3!)VDqQt(ujpn4$(%^{FB{dV=B=!J@-`YjV6 z8@@E_E5nKuWf7edenS6-;hBc;hKS+oeoX;Y$0y4p3KYE1u50MmV$okHSM@>!^2z7* zqhDXY?nM^Q20Lsf4#aD1H&0Q>;vTQJeML{zv^01|40FH-z7b5N0fvbU!j?%`W?Z#9 z(P8typdw(1%GKHuqg^lx*NbC-DKqhfod!7(nq(C*@XE-NED12Hq(TGjBe7;(hkCr` zv>KRz<>4!XB_*;KC0SR11(+UcdR$V%I$yHYfB#p(p0TpP@Nii`KwOCHs{JzmaIh{} zD}ZbU9AING*n}`vXJ!NoVA(8QW;Y8oN&74{9J-|j0oW));ebsbh_t3sSOCjqjioN4 zA;*R*oDYIpq=Vag3_T+_Xmau~fKAxB{w#J`FdWQdgW3s#F!dUH3qNx;Y zHgeHLXmvCk9gzx0^r65W$WLAXp1~z-X%2j*4v=biFlgUXVR8ZYjGD~tf0Io&qQd}F z!r;+QXG7U+UECvl6Z1U0%=I}ffVFGDiM4t2*Z?bJOS~Qolm(sz>E7W(_#atNFeL&U9HU?mc=A~=R>{J!2yh6(nE(+OfoppJuqya4L!y_2!2WYIFDbH4 z0RNRNhreoz0*vGOJ--$r;-+hqUSpe)o=|$T2?rL$!%mvt( z{V2s&F8w`@kI=Funng+gG*edV_YZ@+m_R3RVSp{;yFk4ga+zNLEVd{{RItL|&7r#j zqqP#lzzoAU__v71#|yx;JrU9=_o$xte?+$iamtx$uZMJRsW71cBN9nHtx za=v<$(RQIc15)>Pgg^y6w|%U<@Q+og;bp&Uqe_|=F^4N5H_JWlYhEK*JUrU1q-82^ z)N*}Dp9?GCO&j^5zCQ4mpWMTyfVOr8{i|$=NGvJzKm7}wSYAwe{ng`xg&(w2!%Jtj zQ>D^BF-I#PSFq~2jN8WoldNJ_OCsI$VW>wd=LnHP*E6r2W>VUYSbQgFo5M6>*subg z+xh*&XWp-VpIQ2P8&!P&4@{Hv#4uXBFmwzLZiCGQ^A^^Q8Ta|lbw|L0+TR8D)PV_R z@k$Fk-DEA)t7+nh5UTSH)svVrf2_tc%U*Az-j%-BYpS3@EQc`=rYm)7j~Ak_`;>2D z>aRZRRF6KqBg--2Cd+K3519)bI#l>~a0;_t5%gJhdFnti&u8}=K zeiQGK0>i)v;X!yVU?{$DIXIQ~-?LnVT&+n=@2T3hWx&Kn*-*SnaWS3TO zf_y?`o3Xk4+MNt?MnUqH_A3GR!Pb-PYS5>824MgKe}cZQ8p<((YH>&n=eDcb% zW!9Xds#sHWhbgu4WLddJYf5RoL@QNV-~gHg4lbO~rsPRNci3;c6A!{9+X9 z1AQS(4M2Zu6SM(3s`~(br`%ykJ~+fOYoA9a-kA7%#m073v91K`p!DIJKbolvqLgF{ZC%wdSe;!KB&@ZQujjlYx2V) z*&qLysW-w>RM2bf_=jn@06AM}t@wZ?Lc*D)n&dSYgm=rm{qzk!SYSR|!}?=V@q4xY3 z2~chRem(@hzXC?Y=kiwyFo30F$ci`fR|PdS?eU?Lu5orpELClQPq?C!%fqSnY-D*j z1+b5}8qb&hEIKm1uPQXpnCD!8f60S803RoymCGfVlKp)h&wl;K!8cJgp{I?i$aK>; z97w(`RsX&MlR5(HRD~j)U!sxku_ux}wA_KG*zmFo|J)t-DvTMKW5{#N#lPe#g<|AN zmQ`31JA2uTUvm#h!;6CQ^s}}^;-5o^)Zwl8%fxQU?BI8qiUupSQS5=`HayB^+o>Q$ z9E4FzZ?;!&Ac>cx>#AV0mRrYtJ-c$*j(?HH4ngNZCUxr_f%rmTX&cgqX zBUk8-X!-jNqQmLss zo|;+Mu#WPg;ccbyUI_qizgYhCJ;10A^tl%aN&NHiNSaS9_)tXA`h87rN~#Sa=-S%2 zJ#4A{b##kG8d|MrrR0h7SEdsCUuUm0*CW1Zx#`JtT{cL;JXZ!Rb2SlOxjev4EU)m_ z4mCH-(a+uzjeh}Y@+-cK?b2okzIUlgz?Fuv<+0Mw&o56sg;UF4?)6+(y&R|1AkxW) z1x--X2u#w73@NSNe^#=We5{s61~nG%VneP5Vnh|a+!fyI{1)DO4zeK%ixG^zQyhkL z)9G|20#Lvnp;pi0W^E5Cc zTsFQdyyyKNDV9Js#C`JKMzBPCj9-t2( z&V2uO!S6u(VaiPHVA^1E50Al9sxc82G@9G%fg*1Yu^-#mO;pLkaK4(WZ z#f^lpL$B@~9kq=rx@m4)D|`ixws50jT9Xf1mLy`(8AFKco=x>{se2-wL^ZqM06K>b zjP3UtT>?vakVBi)G22ck?8tYLZyl0v&f6yS?w)a=IkEt4I-h_=_`aW zW$0us8ndH{CcPpa4{8|nouk{X*`U>ptiG0hqMEA{scFd(?uqmaZnceGJh=U2lCR&1 zqmP^v^nRz3qksgu$G36%x5EI$=f8QK=e~rbF>9w?=$#$^hg+{g-d4sAgkMfCpFmK_ z!(UOA(z|FXX0p5B(FR&;P-zh4t9ZO2yx@unnjr3?jw~Q;fRj9YDj6soXw#s|#!6Nt z5XBG#4Is9GkB;Q6(7DW7l}mW5bcJa-OS1(vE_kOl{~L+RR48{ubhiB$ZaoLt63em> zW+lCH3<0SV;1r&wqT#q2G}-mFTq+k-`>?2;nX*$B5Ru_+^85*!nRQt(Qc+2(6d@YP zDs?ewolp{fnwW8~I0YKOZtP3TAL#m=u>4cMx@*Dc>E=LvNITrYFc})azQNZZu zvjMh@ElTCEJgZU_`VwWd~ zv4yz4gI7WtX^RKTgvrLIWPBalEt&26E{j^Q zMqzv#)(xOKA)$jJ^Adh|j{avMIc6^-<#GrAC^p3Q;%g+LiC%^Y_IDJl;rdav>lJK- zoqD86xAaPAj%n!@vdMG0Mr1gzj-TLm)po%yeVK167rgSy*<*G`By8UJo8ywTD+}ZA zY&>^+U!JkhxeWg`2a==uBU{%mpgOqceNW9VA!fUaE|`9{e~7po4X@olJW7fzx?#5V z(%q*y5l94Bqk;F!gbB2dosoJ+Cx?j4F|2gSHT{wUD;%sLwibKGqtxMgq}IqUM;k0A z(HS=5u-Lp*5SeGf+fiWph6lGf_{rG5Y_o|nY;sM+HMN~xhL9tMVO`*#ZW91QPr(mw z;{!s&=&dpTURT+%7%YDR?iD0j@iH8250dL5&&4;L`iJMup*@P+z;aBAt344CvN#1z zt#lrGUb}@DzFRT1E2gg<2Jl(a#v)p^Be0519BuLCwKNH zeMpC@ST)%j`J8F7#a})J{P&)Awx4_&BF18=*R>D;t2_Me0i;Jo)%rv|t1{W_r+u~c zK$CPq?{FT9h`~~>e<#$Wfw@A$Ft>?_e{k77@&wR>T7&400|s!k3li;tow zs+_DNy@tgLD242ZjMRSO%TW!#gpIyt4tK%wNyg;6hf&IETl>&mir}bxKm68Jx}627 zujq*ku#wDS*wev-$@9A`5AHcT;qA8S&^36ih(y2uJlYn2(4FNU$oN*3phpZ42Q}n5&f&I#AGAVMmY{H$|}3Hu*rhY!A|na}PxzVK!UvewyCx1gHyQ`aut?dBhGE&Zozj_A~v z`TCwnBzz*!@kjfe{%j*yWz#4$EMObE6wrOhRUNnXDds?G% z6Hx%|F_T8{cxE6i5be3M&m-`o-KROmRnFyRU$Y?TX?z80nrLmRaLAX}ZF^ZsDA=4~ z)=t52NG2`pRE;Kv%UD2wR%=7ir{!h2@ zS;ICmn@xW0<^MkY+i9~h2Lk>XUDISZ&{pzowQbJy8X9|ohuN|*u;`h$fGyMv;xq4{ zFHi2vGpgFoHvJ|7mL1kle?vxfaK^qN^LoT|*O?3W|LnS9mqb;1;m`F+*?9&wE&p)4 zJCq%W1cK9RyTcN7rj8ip{wHE}vAVtK-qV(G-5xf7o{7xS&7&r*eKt7k?|!-LPbe^l z-s5fl1LfGhdEIcs4GUBBr}gAOXaR$cPVoj}aWS{p6WGJF6ao;DG;W$X^tqEa;Ra91 zEA@XCp1)yWDbOFSLEG{NKzKT>#^8e&dc&Adi=AzMg=?X@kwKhD7B|b>JeY5`z&ZYs zJgLh7k1<2v=vvL!jU$-7Q#HMSIeuuW@vgwue#7yIe-ZY;U=>$*VjCfui*Cy zKm_8sT3{TLjnJWV2~Q}<_q_bXd)T`*(s4@xT6FvNC@!;8Y%_9Bl21rBWp3uMCF$ET za+2*dSNF6WlCq>a4TBKoq1nmn24?A)6UA5!SnTy66fVWQgFkQ;T*Vw)X-T9R-wo;3 zO7TsCLQi0m6wYb_4Qw9Sy1jfyNLqk@$nkQwSkMjz-GcfDOy(DM#0H*>_i>Ag_YT^7 zz#Gl7YJ1yP)ecG?>j+(}u~SA1P-{}6tX9M>vdf9F#{kC|oWNR0`ASNA&}2rkP_; z+?V8E^|L4#M6nBqCKjD>4uFSS4(;5_~ZHQAiUgR=wCj8!|NH(II}Oo&N0||l%dmOh zV2ykuGygN{4|-o1KL?23zIm_rDn_=K50WCpzAUHVTD68SsJbW^l2sA^GN{9?s*5g7M_0?)BH;*ZI$|8U6*M8ND^hq}iUuGTTdA_+0N zfHI`F9VfrDCcPif9b?I@TXBNx+`lyQJBBY~{DGq)_XB=gHf*FJG}jS)lojS~92NY4 zjsoxc4Vdm2F-Th~@t>IG=r?q*HcbqS%NfJs3N<>OITp?Ro!yUg=sRRejpWhjIY1IZ zw1_t9+R7{woZAGt-H@C(iBl zJ>Yl1w|7{)glu9W=JOrkfjXrZcx>}lYU&V-Q~LKLZ5&g$E@31 z<*9)gEjM-t=g1qnq#26jOBc%L`|U_EudP|v78Y3(#W#JCDkqKk5P!s^p~El9UGq(A0)z`n^xa%xHQNi|$`N+L3~QqpeN~v0@hkDGt5X0)o$pvP|8H3J)KZ zir`e2nPE0<7w#UCm#)`=OGA6*wyMFylj69&G}$r>EIQ9`Q3iFVP_YuqCgPr8-8t{Q zKF3V+NRUPxp#ZiLPTq)b&R(JEP0Pc#eae9v{epE@uS4B`+7CULzz@o`Hqr&Mnfl5R z4})_QV}FL}z1fCu?f5rTVW{s`hY%%u+=c;;#$q>m3{S+J06QzW`{X?e))9FS2r0uV z%Mq%+h5S1rOft>y`To||x0GQsd`__9S`+k@b|`a19dTj z7A#y4CAG0q8X$&|+=7Y^5lHr01iA%b@k4A+qBCLph~RL zmVZ7ZuJz3w02SI6bzduZo0zN%W4VlJ)$b+BF6UrL=3R#b3+HUhiTIcZ46$4<+^V!+eSn7i;an~Tuz3zp<5>_$A){K`aVi@!My5Y9a%FG-CPa2ZX0aU&KC&D@O-lH(My9I<|psV4?g@ zJ~HL%HDkoEZ+Y2fU3odl`=*-gU0$x+TwX@;?G)`9mY1*BA(e#=1UagQg33}HwwERM z%Wc3MeN^N2L@UrAIz~5Y7vLv+*cF|CE|9bw*$N0(!aiajyH6fq_J(o67RtDaJwax> zD3fiZt(FHQH@PP;xU3jX_e-~@C+lct&q4nB7-c>Q1Y)GCtc0UfdL`jn(H$oBaw?+i zu3|om=FSaYbbSYmKI6Y>2qn zBc$UBHyqA16=gn$d!1u?C^YXdJrHYsT2;Sx)`aB@}r5 zyPb80{9ads=1+9kJDwXlR?4XFdKhfRg^o*_l=)kioL{{XG5lO({|7Yz8jGA4A(+l( zT0SYeCMcmiv!fBNwzY!vKxz8BdEy20lyopd@To(tmh<`Z4SBs>Gx_ep(5%r&eyj$c zXp1-*Zqjn&PaEYvRxLRoHnUZI2mDEsCqM`xTO;y^g2uKcmppc177ouAqLV@6{yZKT8 zAMmDkRd2{QRJBwDFr|&Ploxs@27NA5l@I6At)GZryVLW)0=J z&W=W3s5$l6*=$h><>{bH&9(Yx$VAr!ybw)ztzS~1I`^Eu4U-M>LE~lp!V1bXFeBlO z`|U^%E47KX3I9=0c-FU)vp4wiBf&iUB#mxtxtJL#kL;Xo{&uo8Vg%2*$8qo17ncGS z^c=5Z`(D4nT5GM!$;dzcE<%OZds2EuR7Ra@5(-@Mk*_A?)u}MKI&3(&y>2|%pdrJC zz4ztK0GQH;_ETockZoa%ML;aQe1(#6mc9+2^4fTb^9`pqxX1seFukCcuACU^3xw>a zrTv2A)E5nfzRx);P?~?f6dh4c*@TVrH=Op{?VGn#Il`Td9ijX`zV|pI1S23Q><&EO zo-Tv#D2b1*rE%H#40;o)C-+nX+}9ze5~j%vb}sCE#4d=&_S63>X+~ppCGdA`{c&Od zfoS{|M;1Nfre_HM%8LOCOd_zQ#1e@(X_%c6CQj=HlTV-yfj|S?!OqGhL=%a|H{LUa zggkx7jUWeU*d(k)!tV!=i>&xq4%ZAj&;$3DjQwyzl&NS1d-Z?Oiy>olOa^II)sgO= zM23tLzA+LXeE8pZoVIIJjDRyOX%;fJIC!Ne!|W2K`KUo*vzzq066_|1lZb{H{|w0j zE>!MjfygOsT?(x^Nxx_#$!Xc`gTBU?(Nb>Nc%#xN_FyrpDK|j7PoNIwf~BM;W=b)% zheX7d{HKd|A-k^=*X1Ys4tlrBuFlv>SSaz)3y=!MY-+1`~3C=wm%jvAWqY0X!EsgGPw-kgBsF! z8w0mYk{g@tWh2>riV2p%*P%m6_*NkLtiG&D4&v3_5H*mqaHRp%Lb%KWr5*YrWzK@FXOX~D^^2BXYxSE`9} zUrI}8XiX@-aq_!ls!4>I7CLsE9lBtJeS`g}3L42lYI!yE=5Dl-zal(+q6CVe2_>;Y#6ky=<|Bcefh#UY`^nvl% z@XaYvS z@8PUk%W68yM7@oqD9{KV7ewJsc6upcpAHdy>!lVh;=+b#Jwy(#?~WX_!;LVa(ujJJ zJpou37g<0SY22S9Rk4&|gkOUylRV%G-j!1YIx!?7y6Bf2X@x6J;LQ;wjI3IHN=@OP zV>%IIlI-t&4*1pjokmuiIK|X8JJp5p3V*=5ULo0tU*?#B&`Hv>QJ*45Y6Qx7E@+1D zD=ejiaF~bzDpO18`9HFJ%d58P$}7pf9UTNON|%~g7#rZ%hbJh(6s~_(sm9Tfot^AH>W7-LBnDeRax7-;)Dcw>lln~^ z{V%&;_Dfj~P@d}@7-6q`(WsW>7tB{Zzb}5~Ag_9Uue?=0G+o+DKc8QyALchVJozj2 zv&dN2m^044dTJYPRy!-|%t@;8ke5~HXt!cLGfJ+P`$a&~Yp4wsi}R z?VZoj`+ElhHV(|U8feZUKcb{=!ZeTGtCsp-FC&4zaS?NI*kEkmSWyM?D!L8FpY07? zF_zF~*Q41?4@gzXvm*r4WkWqvN+tQR+WL8$G{J|IM;Lx~TaDER8G=uv^4nJP=$cwp zO_|g;qO_!R2^%TT8NcIk6I;9Pfj`JOdiIvIu}Tw^w24if%Z?N1f44kl-cYG)8Q2hIXPZl9G-sx zDH>n2bu5zYw$*-nln*D=1=8CRB{Siw(X411^8q(q+*Z|PE2C#DSCDB+=T#uDqTFu# zM!Vgsn)Y%7n$5VtzP#a`15xKcFg10+#nWYr@YAlR@WR@R5B7!BlcE!}S!cIBoaPtg}QX?e3f+&v9a&;!khYBuNEZEmhl-kcn% zlp8Q`XzzrgIt|cfr|f&EXa$F$4-|$CFra;K|9wRZFmW6lyyemvTtX#f6MkE;zQf<( zlOJ&Iu^YkWTbGsfS|Iw@PNC;LY<0k!^MYqx8dm~GGz1Qxb-=7riOZnesc0I zkPLTFC-hBdf#UGa2g2jj=Zpp9QYIRKe)-EM3jhyt`g zH@WOa>y2m^m!7B_=6$ED8;cHokVKj%Tsy`z_4_m`aumXiS`7RKz5-ygfn!OnE)XuB zkLmohP`?VrU;*ng#sH*n7>oO-RkAL=@vV3R&_#ZxaF!7cz_5{EvqYE8F8FzYRM$zJ zLr&UFDnK9jSMPhdBxh@RHHCAtgTkq(-kMV`q4;+ILxnd(O0_PI@tS^xv*xCvOylU1 z6W$-~K2rFZHs1)h8_W zjXBgL*owSIfcoPO5nkY|F#$yOz;!TF+1qJN`=VggSGgPM56ex8RV%~i>dedoqjRbk z2BCseV4e2?cK6bAl{Wsq8qYj8O{R+Ff9M^%Ky%V&Jq3L?z$8@SYC)#s))~F1!d8Ju zNcA}N(rG%S{V?&Z1Z?nskao!rr3l$CJLwO*zO&dhG&d`2D!d2-Y|6~0d-CxSoCtvM zR_-8IueH7N#*rP0=)HxWb~FEgT-PU82CKP)(BMT*ZXtM~{F2?U7}hz_pIc;Tk{4e4 zvsd(Rr!JPLhFnn}>G(>+#+w$qi^euFUj%bPIN>jzZ%WC$bw-yPm1oalZj>$m76QSa z@q!c^^;@ccY#|=;`a-hTer45%(ZA{6dZEce}p0*b@w&yv?w+_oU=aIQBcd1(` zc_(fAtK%e~U1URmO;~ElT-~EXIp=gBhbnmK8TYhLXHiWJS*%8y( z{$IGYn(j{MZ-L*zmU~>z+|@0tHQ8A(Y#G-aTpCRCZ64YXT5!!on~+EV%J`R$Y2V2p zdH>P*>g+$%)Tnc>o#PZ8|1f*%AP<6d3^IynXbpX_2{a{5Tku)mTxTU<2!P3*tzWKR zT}Jokf+Wki2=&Lahk6D&XANTa(cixU4NkGXOXq;0w1~*7_HfuGE5&#gk5@5 z4_i(xv5p^4xtD#<5ZmPksa!@hF#01Zro2$JPu)Fz=&_1cWnDEoF3`%X)!DhYOC`k1$=J>^N_|)M$XGG=( z*VjTaV6^sO^cWbHz^*9i7uqMrFCJM`4XJk*akodq>3 zgEQOXK$JrT@;K`opsKD_(!wPa_YmC)RYuSuEZes3!470zNcmKPR=0-<4&OdV+fWU z+dY-Ouoc{Vo(#F=yJ%eC+y63l5HJQsJ2zMNX|Hv zw_?WTf$G?Mv6<}5EYn}7kWY$o4&1vS^22T{%mXlGm}%GoHj9p3J+iVcEsecbhqfuS zL#r~tf_7LN@SN)>pE#s1sE_n-JI@dR_4WeHD-?j>JF5du!OWxQ_=yTc>#z@7jyr_^ zXCVT2!yv>S6Ln>G$v>-w9qGUZf?VEgU@gG1g-x?cE=5f|zwQ2SXG6JN7YB9cM!2dQ z=54hX#E`UfuW;;~o+9N}Bn=2bSJvdrFl&*;o9STz>?5JJ;}7|1MltbKe_u|`J5YD_ zqLJQp4H~Pl)79;=W%1c_`#8*tQJ5FAv|JzrNG#?|1Z#w~;^QHjjNy4QF823NL4~iq z{PjwDUTj@Sxt0EH0>W+RcJZv(NG&}Ve&x!A!@93#pY6`Jv1V!^$OUM&6<70*0>MxHiOX>~L|qXnv;nTx1=S5v=>{-%u_Pf^rr#Q^?9< z<<78J0J6S%c4X6CU;BX*@zZ!20S>FE$)^t`2A^U3%5-vHT;CuqmV*@g|y;SEOsSw%cHZ!QoC-vN`O^DGA4GekFN=+oKZ|cJ=lB zSUW?$ykeJC>mNlYat_oMmao3IjLOD=5CA0Z%|#)mFG6`Rs;XRcmlBsJbX62d!^+-FC^8T2!>J?lQw) zx6Wt{HjNsw>grOClVKRr^}sl!w(fX}u#CeVR1}Sn`G@pHVLaX1P%*r<^pJrd#!tx? z!TrLb{!x8~K6Utb-NO2mNbhyu-c*;_-vE5i^k=}q0vp~V(pFRAv3iGZttkrh zhCXNwg$S?gd(Y-H(E=lfE-Q+i@HnwUrq*x>;Mx68TdM%~h@J6{p}dH% z_nq4}ToIp*r#@9M9jNX&PxJ%Fm*DI|aqC=N{npr~%npX`^`)j!fJjG0f6>OjAOBjI zdb#*aH1(0j(uKM;?{v&$EYUhpIdv>&%a!!=WZi2^jiYp%9;P&zVvknBG^ObUnBN69 zDhve&zTR=>Z2Gn0OcrHYX>FU4o?OmVpkLj&#>K2GhrMve>FLwkHecnR{TaEpOgIjR z6JKexu8to_%ZW;KuQ-u<5l**9AN^m4U+Jn9vGf)du6Nz1mhblYJGiV%hs4HnPyF*|NiDv9X;lF!|TdR|L5EHcBC~Gw!~0J z6qXLbtL!pq-C|cLv@sMQQmWABgfBjBF5Gaj&>2a7pkUhjeNQbNbVPFB<&43@W+&I) z%ase5{zZkn))z;%sNZ=A>k_<+;_(>#^uVaPs9}0q^Et`S3{qG zUHNONB(!29 zpuO_%zeY3|=GcETtbCKJ3-3UGC<_QCJeb}xdpL7z?4`tWKa4a>jHCbUm{%3kqxirZ z-Vy%%VSWCF#-q(P$Q`+*LnK7#+65O+dn8p-HsJdyA2RQY!UDsBu8IDPE2D10k07M- zCK-MwoJUq8eGEXAj@wOWnylWKAC=&FqI~^Da{3n0oV=^*@eXtVlbT zcT$h?mZQz(skMgO5mh!ht=5ZG6hM(VlU4uvpFKOy^imo7zchJQ7ar_#9&3b_#Zj|z+EG|hh`2P4m>&xDtlND8KiDMrN zvQcVI*;JF26*mflmEu^`>~cGXYc4P4@Sf76H5BqyH-Qy&Ipe3eew%tN-wPnw%Zddj z^FC#LI5}Jqbn4Xp&4k$xQ5|YR=l$u4^mosBQB9wVGY;>m&ad$y|2qV&2Z9)A`@!b8 zy|&pu2fppTv}cv1Vt*X*>Bnf+sG#FXyX`;!yU(@pzq^w%c2(q7!|-)Cw0;?mD-+w7 zptbjwaDm{uWOLeBT&$$!y*005W>f6Zpp(`6Qwc9V6zWj7l^s*v*57CgR88-xslV*3 zJX)gXHR8bH3DBp3l0TbpXIM@ zsM@;qWF_C{=1qe&)=JO?x*o6M``(;6`mYtTWT)uiZCAV5FI=lgi{U2kt>#IUAfOIwrTb79% z;O2AVg0jYxzwv67b2E7=Lg>sQ99$RfuseUo<(xW`-$m_cbdfFm8idue0OG_-4X&%g zZq81>-*;*It-2+;agV%A`8I6)E7Y4f2-e;6LTfCU7LD&5&uD5PdRV^SNJd2!$0G=C0^6Ua}^Mo zo{s*Nan`#W+{piz93t(AVF zf$jA^WEC1kU4FG9I&Sib!@5{+;r?ljV`7IsFbR>lXOHsMdc2p=L7_mjKD2ry!0%K6 zf-=c3H&%w(qr%(k!h^PYcm&0lZP}YjRbVzi18ReUwKqOF(s|34SEBqtEtupt3BAj4)P{NIz{i*g$H z^@|_Uvt@vVY2(vBy3`({8aY`Lz)Qz@RI04XG@t-Q>W)m$SO2s8(TAw*&P)%Q=4784BAmn z|KI|S(v6&~ap1#7BPYa}rvUe?)-u8WL5`zzum57622H|BK=Ay|oVEUE$Qm?>NQ17HK`uBAIgpc*!hZj6{k}Ez zW62`2naL~)9R%AASQwxrUlj3HNluQW8sZELutt(iPD(ib*MP%?;~~{r7bgJ^H3O_y z)dnZ${QX5p8%17$VBdVg??XAQj{j4mo#8-L1OXWK=E zdrGzLHvG0{?nRD~vzOEIyXQRou&!2hqk<5I=WDBA7rvw%^`)u(7=7)B#cBAwrsy zgofYI@p09TbF?DGGn&x(n5b)GTxWX&IKQZ#yheNdFw^in)u=PZJPH)vx-u@X;<+On zi$>uK9Q)m6y8cHn+S@9D;TtwgKSRW3-FToCTJ^^3W%-uUnt0vq1jh?nxtg~DW5L|f zKsR=>p5<>uN5L0FV_W}6BnTJ8@Zedm9cEf|372rncbAD|stgamtrnnP(ZSl;B0yXY z3#fV%_Og7d)(Rj;aqRzU8ULDV8lYO@V?^qpNQ!?EJChw ziN-dM^VDPh;K!ls+}n5=)Db<~z%;0%-vXv`bab!pXXjR}b;tpra;{66H_`fDZYLO+)Pdk0B zBq&$j&>>9=N<4d^L>91%XMXxX!r9$1Qcpm}r?kCGOE+hh9{2EWZzp)4IG(xrM5%|j zO0;`Wb|87X{egA8GF#ORS!ogk7=FmQ2aQG;T*2$V(?o9yAoLrateq(w&m;4ry@--xk9qhe3 z1IZagJ*q^veT6q}aYERysL2A`wc42Ir*!o9AYw*5R1mXIXmx`AYYBI*yXT z{|a?)K^|#Z)m%+vG1P};dO`%G={93x1~60h*VPfe2fzer%V4(TmDSH}vxZ)Kw(iB! zAYC_^;;UOL^hn9CRtg+{Aw~06 z$`8nFw$I?VyYI-WQk@*DQoOC@+i{B=Dv^3WxOu~YS@J11(YViLH!c4k-NA72)pdH- zH$T}vPscHGH_5Fa-(XBej{~TtGVRtUu%Gk6R~*}GUgo@EXCXqtNtNLr>-iYzr)*DG zdXeTD9`Pt}x~A{*%%TRWmHtLYH#|$FBmIfyIq=_e66B6D3?*0;h#U|Bh}3)%7AaXD z{R#n)?8n3njsL*4q0al`EA)Q^)E{Q9Y4(~z(K-Tn{WHe@%$*16D;>;dpM?vSG66h& zw2-sl({+UDJca4zqwxAvjeN@QdiG%BycX4{sD0?-w@wP_sa9YhTBU1>Pz-uA*ooWb zR^09-CJ_KzXf5&O3r<=Cl-&g&(o*gx2iWM8&3zrcJNn}&kNkm#k3Lz^N6eS~tqhjj zTal&r(OP?u>GBjaG6{v(PcuF@w;W`yFf;Fg!-6g+LjNZmgdL8Fn^!8C%$;1~8X^CN zC}Y$*;m=^YMBtwjRn{C!59|G7#ShZW8Q}vQxyFx=+IWz@f@b~>c9#B+|ABnUD|NcE z3a1^N1W;g8(<7B+pPRr??r?BvDoiR31$EX?Ri5JDSe}YZ$EpT-9I`$p#q{?KPOw-b z^h80lo95GrJ0lljegc>Uh1=;k91Twiol%+N9V%EKZ?=m>&-q@%zd&YPrh zwDI!$iu1m!gW)-2w5nX_q8v}OY!{gFygFl2d==An#)E%A88cR)&zyB}zFD{6BXX9b zD$h!~_LNuu;hV_FU5-hG#n16c>7SHk_@4)mNWg)2O?272-juvuWunO&LnAjb{M9M{ z_D(z^Bp{gNHDALpoO%TX?NJRW{OxkUp$d66L%-}dlr8u%D7)cp;ZHQ6pFPdw{(w2s z&d7de!RKxLj6CTztF~jzMYltL%O|M+3!EG`%KQ@%Afp4O$n8exA1~Z*+vntIuSw;I zGMC(X{@(GsTcGbd@IH~JOT~9EpK$ZV4Op8~uin6Wcdmup(Ac6dJ6jX(m+R^2mmuD< zYkkqz8@YFI5{mYduM(Z25?Xs^D-Z6yzGOomDaZdrpWaTTx#<9`KF!x zC6p*fRqjTbX2S8$Z;_T}PGS>f8}X30!Rcr4JG!&}F>e8Jio&dHQErM-xPmffs9cXc z^W1xLI(UnSSIk}-pnmahXzA0Nw09f$m4FBK<0qMZ*Seu~4hQ54IxFV(H4?r(M*i|y z3OgAvMdISiCqk;zU7SYErVeQ~_V_Y3WC=|I?=f#>n;cTyoNxpj92*#gwd!K^IWJ z@DVsvR-@Nt12gD9$PE2@z!Yg)2jQljlC5au%%X#)e_Lh`^^;5e`(IuF^2Q5=sJ&(6 zpRoz3=#+n{Z|*Mn7&IHJCxbHRRD^;C6&5w z&D|F;!+Zl9eQc(MuwSm0FJK9 z=Jugb7TU2SkNVuD=^;)`U>{_wP$6X0xl)JR(NVcNDv#8+{%Mlch|4v+79s`P^jop* z2ZDlv<%epworzP*l>66TQSL921eE5lRh{eU&<&K0x@mCgRLQ+Tex<3V%IcK%eM+ek zK+3tDuvu>oMS|e&ZTa9 zbRa|Lig$9Gwf&?=Uy>96KCocZ+304)wvvdf2xps1RQf(}-Ayv^Oqd<3k&X20;dj_v zZG%c$6R^b1*;$FC>zw3eTF%-~)#a6Mq|J@~CAd!^3}U!3D-2V|8Rr2X(3S$YQ%X0F z^2~W;M@Vg7_UsFNN=E*RW=Ck4DbGxv@31-A?0QBQDrVZ0txbamG?a!oDo91MvaZpi z4v#~`U^5n?=igiT(Vfja^lH>X%NXXwBAk`(gn(dm@e3f(NjQyh^QvDLFQ zF+L3Z`3~uOCdiHAQJy&4FT4GstzS)R0UdE;o|Xw7fG@EVmTG;rbLRTS9a%SK1rJ9L zFN^9!Vvxw$NG0{mbe`gf>hO8o_CD(YXUH%h&CC9kS$I}2=8eiLj76vuW6 zKvNS!|9#LSHxfKFEl=_xvz2ftvz$Sj_OBnXmkAaD==&0Z(3Ojd$CYvi9cr2n5sCPu zXL96+yT<+q#!>=+Tn2Igss6+;;DWVz7k>%t3()Sk3i=OE#WmaoqHz;z9Hknf-I_A$ zoXK547>h_<3Xq6Vn0MP_10shTo9`wFfF+~OJh0g2Or}qmUH7n+cmtHFM(w4eoh#8f zaF_5{GZ`|>c}59;RHyty+aupo z#*{QAD=>AHWMlzIjDzRlc=RPbY8Buh|#*v zZI?ELy<7iL_yS+(dj?$zo72oAcBji}4|nw)Eq?^;;bJ8nV~uDhYb>8soSkRxz4Tiq zbe!{esAa3bg6CRr>t?*OKb!n5@}7z4w=Q{uLh#}JknvCQZ}eY1<|Rv*AWD1d)D>X) zBU1gqdtR18kc8FD~nY>xRAwm*)l1FI>7sME8?EbD1F zOKY3_6GEa~XUYP7ckqlG$~Tio1dHVz=m)q}Kb12fCM0~{~5MXQCZQs2-09+q) zYqU*wuh*QdF}YL*94c3J#lQFZlRSUb6dRGr{?{V)+BQZe2Tc)<$X2afW}kxr_h4i( zWb=Q_%Wis`M>;U+*RD9{4@qZEBGD0f9B9UCBC}5ZGICU+k?yGdT0-6<9pSMh=)I%k zXKoU>6bMaW-s7I_>S$XzaQ9*Rr$T4{XV{ z-~-WmjVukofe&i(zWHjUw!l09EGE>5znHK1nH~|qL3rI((AGA_$|<*)S$@MHhiTzB zkoSEG&g-E-(I>^7ECxf8O;|W^;1fU-cqY&b|Mw6a9SZIuNW2zYY!b78Km$R~3)G%9 zbloWzJbu~13OXv=mVXL^g8P6QP(h0g%ikuIafA9x_udVy+2rP)7X3ikY`LQ}WV*Yh zM*R`m1RN@3Wbb>g1@>%EIk*Kc@_cTj#3pXu0!lF7qP+IfzPZ=q?p&0rKjkl;PcuDu zH3$%JI>&cP{dhBb?PZY#&+A{(%RF+HY8rRBfxhw#UC%EPyXIGaqL zM;ezN>Ql%8_L%@`VoQ|~#{1Pzwuk5zoWW;KqV?PNjYOV1Dzwm2{^yJ5e>&coEx}^1`9Ugh)z+=an3;e2h_U?UG5sk& zv>PB@oDM*=BFN^>un6NycgK6$Y%{jUkKUp6BpXaFqpQe|R_wjAnRWKmv3oV$HG1>@ z!Y)v}X2oH3kU>JU2aNY{#C*ON`9c=>q>#0j75?NKnLSx=ZtQ6M zQtQe0Y+o8S%)WBr$lW}NG4@Rgr1~p|9!%YS>aeNejY9o@R&#GiWKQ<|ed^UGj~VlC z8yH^oq0jue_C)K%J68@FF5Wn<|BXo473;@i-U5f3h1eVUwngcehJbUe8P41srpQxl?Tf@4KaTtj%@ zGqaWp$2#*QhS)1U;?;et`5XI_hfEjV%+sIhMWWA*CJbFx!}W;w*3VCZVb!rD8auUH zZav+hhk?x|{_m z|GzK*y!fFcD*Gz2nmF0MMI0Aal*~#f5#&bL55Ru>)2$vDm!BlgbmSCLUk#N*88Coa z7zKT|J{RuUFF*Sc(q$%{c{KHz<7>Xfg|{F zzF-{eR~k8)0tcNVjyJlGPO=2z39oZXpQ*#cJPYr7kZi@xP4&$UEeIS+jah@f5Yp_Y0|;NMwxUbr&-#DDR5+#3E`tW_MipaSes&KK(d`C zLi@A|c0ZL;u3TfsUCd{=N9L?zkd$)t32C9gHuVTNH04W z{qY}SGMJS(;oJ8$@Zz5&4tX;16!BHZ2EmxODi?8I-3+!*@Uq^wD*vaz*FW9BLSTE|?POqnhtk5f=qhIcDAaAZSY8FggA=BNyQJ>Ci z!x!-5{H51Pr6-I_+p#hQiAsJ@x@69k?2Z7v$VG^B1$*O;8pqcA;Bp%~-NocvtqS>6 z^F2Tru+T*5f>_XsK`?Y^9+tvpEO+g_RdB|oMP3gE8qq1IHcobM5WZuc0V!g~`Lln~ICK>wBlio^Ka(fk zyhk}(XSSPol;HGc5Ix|$SLb7i1I{wlq=+Oa@iRiA+n-Z-Cq9YeP~1_M9uH?CQA`?? zl&OdUQpKv(;q{H=+&bf(_~SUYItsc!6&=Cag4aiC)bhH6kE}w?2<}OCLkbAP9Vg0X z0u036+nMd#q?3}dj(bGD)MR;hi)$z}zi>tzU)0rp%0~wLQ(h^V>~Il1>1q&)vjOF7Vd2nU`BRML%1yt~gNKet5o+81%MsT8ITIE4x zNy@-qD!WOW)y;8;9gAPB99B^jX}62kycTKA^x6dKM=vAdMq9TLbG^BC+lZbdH@*sT z-7WzYbc?KIXPQRwlT@oe@5Y%U0Y~L3(Ejai^O)JXJ%R#k#?ooYCR6s;)&2e*4syLt zAq~DEwv@fmMA@*yM%1$1YDUeS+XLuf;ab%UHf$co_s?X_S1pGZ7%?Dsy9HF(Ei{+D zq4M?cE9GG{<(terZ64g7K~DzR^hd35%4oEG=ep?2Bt8~X%sq1J3tlNskXxIJ=jsoG zl?NtFIJox6$sph`s4EwJCjKYozf{|Jbl+>&mM(pQ53BWiFb&YOuf!%2m&&(|36SeM z@)Qk&P^Le=L)lUO&chnZO))&_0$6xp%47#0+G4l~VSzPh{rMMO3S%kWr>5#9&;^Qy z(ZYJ`v+aui8Vo*>0Mce%h<_a1*bsd4RJ=Y|*P9^2Yq}IJ?@|`UiNfs{)!}xe6fu z8jE1L)klUX3e8|gQXlZ5$$M+YJPqg#|3gfkF=vt)(DA+|n@v%B+rSI~@Xz%kHae$JW- znj$@tNJ7JoMf?7JSC2P2F3CcJ@LUiGQ#3@!os`WPPlxJ2FD(7UM3m};QOJNgl1&8o z<~N42#w1L%yS8^5+~c+gkXBr@T5+3{8BL^h-wQl;5?g3jAX_;%QNn-iH3p0TO>`59 zR!kBHDa;+2C#70;$Y@|Zu|WJ+tDXRPB=u9!r0Cd5vyaL6;#aL{@)O+#0?g8jONeaX z#`4#ug|9*VB9)B6jwT)xziyStP5vfANPnP#Y=V)F+tGEsy>3U)o@T|_H+CgUQ%=44 z)SiIdbvrAr7dU`rA8rha^vP6634j851R02Uo(WoWuU9Vbfmr;N??FS+&7BOpM|M>7 zy0wY`+*HSqy3YU!%>A2{W1wcPT0$dlC1mgx4Ov*>SsNk8St(5#-0>r5SkRup0v|~e zMPo|whPRVLtO6&?RscljN5uk{+t<&u`18JYvUkYy{=bdOH4@um0o$)mKmL!)yZDi^S6C49GWFa{u0P;vpE$Yu@e9`MxX!&y)&(z=) zAX2fERA}uQc@0buc!n^Z$9VzuR1VmBdNkQ@ewQ(xapjD3Q3~V{(=4c8(7uBOKa=GN z-?nZOCvKJ#bRbf)!ta|GEOahs&UeNpVA&ymeO%VC0OW6j5jZOv&7l{5^VMBoTBMfI z*gHG(yxyFQWRy?>PFe;WYyoAn zsv52R!-RvLqp9MYRb|U3JY>G^BP7oKf3`0pOS)oQc7M6UclZHQk?G`^cZUP%;M1Kw zUxLnhtPrdsD}E<)En0Rkz-Ng9@yn*5XZD%`5b5ykuiufscsZ{)C8ItA%hO@HM<439 zwW*{*yI_Utwjy1c?pSfcdr6rJhW^;D#+?+6W7yu0>cA?paFi5pc|%5HM|U3aS|o|Z z@)I{liCW;ocx&2%KYzllYt7Ke`x6-&U5%2ZG$VL|trXpZ)zY?NoGXi<(_=&_@uS%eS&t(Gf zY}*8J;?o*JhBIr?{bapmRiD&?4f2N0At9stE2uKOEw3V{(V%J*z> z=VHUs;MsexfC9H$Km%`z*2>PQ^5i-mt4L@NW`~IMjj~k$*JyMz8-YN`nz3wQlAWlGC76_(t4n=_M5t0|L&sO}71q&@BW; z5(k+jNY2U*A%i|Gu~xic%E>ZgN@p$ZHaD@~HFCam8BqTF3TdmVLxg}gB{rIqsx+)< zkt21WTz9h`fMK{9We~r-b%$4kbM1*L?x(n6EcJi_AVS6+6i~uRC7;Z}bAS=I^KhhG zw+|==ZZIVn4ZRB%(gTJZ)+NW`MKz7LHgl7Tr6RPFD4loC*SP1)W*%HyHK zf*ao5m4)|W86dO9QUi>*t|#*Vo;3tPYHZdqP>}B&ilx$L;;iInRY}drmdqRLKeIU={Y)t~-ccr|9XXt+^&}U9-0a}-t7W2sLb!7d z7Aimkhz#YSi?@Pc1Q{R1?76A}U7bZxOBCi#t^#@C)dU25yd%Z)?^Y85n*RC=5EeGY z)4==Ec;P#t`ZM=33$=IS0bRhu(j1F=?<9FWaDWBKPY|Bx%1!3|p991EE(roY-;pjD zCyDU&5MEK{-hE5cwN0&LnMOA`SL1$H;mvfDcZ;}JMKIAH&*QvC3h~RJ8&|-Xf_gC( z3`iomfG35rRT1R@U7$Ch4LH}4vCg{$e3!%5y`YCdUR(GSKyxpPX}~3k<1ZK+ttXyw z6Bb=)m`8kq0NAWvts$Ni9yXEzHcUNK5IU#H}ee;7Bq=r@V+>X`;Vx& za|HE7T|gh`59k7J0_3&Bp8)B+EAdpiD}JZoVVbDIdg82|AhxyJgV38K_SYxm|8n_w z@jkrEd%Om#se0%g+jFWNK|A0*?Ifdfi`K^XCV|nnwR_gIwiD1f9<8z6p7b>+pMOnC z1GlAN!r4@DrS-%!cM0dgEd}&}X(EQ32n8}R8-zc4|udYkdeXDJCA zXNCmwIPGBMg*3Y@ZoTr1ssTT_Btxd%+R_*_ehs2gqd-uac>qlEaNR$m(lmq0 z#j+oDc!`Yg9k>ayI4!ZhgveNSL#2hwu^-anC+84aRIsXFrBiv)^t!b3Ae+;wDe6_B zzVt3BEfL@Ucs10A*-=~9(HWZ52Ck5OBFyS)uXlu{b%EfHix(g7jgPZuvfvkrVz3X~ z3Q9OY-CZ8{d~Xr3i2Ov=qKmj%G|OQIYSX`aglXBb4=0+eL0d-0WT5x&#H3O%`u9Vr zE|L~QOaZ1-(^4R%ekFocXCa}siM_eNB{0sTBV>%MO^WjRNpQ2Wt~0xf3ve7;VWF(jg$9n?J)j>Qlz^L; z2g?;cy)%Y#I=Fc$a}?{gb>nGj*;LbPj^E$Xk9-E@pdRrw(2RCSfH^Y9dq1mxt-!$4 zy7fqSgue=|7Ysxe@S}GTN{N5Z1685Sh@Qy=2eN_9YM@V_cIUYR3pFQQC`I=kXdWGv zT+cJwTT^4Xl0H%$5&W+!hpy=9fW<&xqey($m9RGa|w zX{G>d`k_ajyQej-B1|sEo)0V@wCxvjh%ND8qJ@ATCy)Wv9GQtoixB5gDmE%veEZLW z>SBOgEC>Ef1KgdzVSW6$83+Gym~@cQSgX`DtsGA+DBpTUBZyAqRya_#98dHfF$lZ8 z_=fz`!;Z@ajx+;9q}GgKM)L^U&rXp(KKWpjTB#Aii64=c3#-=jLPYpQs#7dmTMCRJ z9W5b+$^+1srzsq_Z4%AsQ+;h~#Z+{p2huTtH2(0S$Gl+f2TzPzEJ}BAAqApDUHYGo z%iU+&OL>tpOH>cR%_9Qno`A@GOPs9AHnhxXtkI>FVh0u%@b6 zBSjOGfm#B||04v`&xYuKahdB)5hwc(3D=Sji{&iC9)mvslyBvZ*Nxz&=|n^Qqeh zcP3{OMYI%J8=*%!*N?}Jr81l?v(&&^AWs$87h_-E4P|mxa{-b5hUe7pQK!Xpf0*W! zePY&aV%3h$uHoq$5qVGcg(!ze$DDF^ZiqA6IX>1T_UY*`M#yo@UJw)njnOBQ9x%M^w%n zZ!kP}h^GJ2kw%*s+*W{rQGjp@zZ0_0kNf%W)CHY651!U%FYw8;A|hP9d#QfD6dpPz zL84e*N0pT^IRN3w$a~`czjG|~Uv(I3+ceTV6-~ZV_r%9b9^G2K6caO{I1fgH-{oh>hU{?7h=Emkc)dS zhO|EyI}kj)k-4GcZyaJP_^>I9B(!*J(T!~Xh7EH()0qWDgg($ z;R-0Qs|yOeT=5Im;Y(pbozE}-cIIF9uCpcrw??1u0W z%LK5fCK)Rpr>UDTk-158flcDzSMh$xk)<;vX8Hu8u1-Q5+iO42?)se-fK*WP<(zg9(u4NgNX zx$}@g@y$1k=XoeO%o9?Tn9urBAdKZVr1$JB_+$;M#_*KzId`IM=tD6Ji-B=`6HW;vmXIPKYK z8Gg zloF5J=*K;!+*iZd)9MDKmCWiyQkZ7(j7uP+`etML^9$d&xLp_v9so!oKs>k}mJqr9 zCV{~}F?{@1Xdd21y!AbWS7%)6Lt9Wq;A2w&DOd28{4)J|hxyk^lT3b#7ja98CL$rX zv5%%pqr3@C!78Fcyta&X-_`8%k@k@e+2?m&4YGx855yP+$P^OynHxM{G{GedEhnfVE)s^{g3&bAhw!x~7VGf<)`fuqq`>}~ zMV?sRyczhN@M~x+XZIp~t&&YRCYz^o4Y`(c?gBi*?gOk?fsf+HmfhLdAJ_=)4*{}d zmcriFW|U0!py6PDn)@|ai$Qw8aut#O)MBC*&l?;tb%q2mKy=nvB`5y-p z5GT0K&pk1i7jruVZEdZX5e93(rNpJH{2j|RGnJsdVk)=cIei=A1iT36Lf%;$#3aA? zyb-JwYbDZ%lg2ZLfH|oif~|qg*H#HlxXH_M4`Y=*3pMY~f%_yk9}F^=qL98^nvQn8AH;bb#0O;SR~eI_KEZ zBc^U~%!%0Fa^L9S7_d-Z+=+0Lr2V0DZFYZe+0vR0W=d{SQEKCAZ(jL0um(LV{Oy** z5=rabMFy7e9y@;8VRB>S-)F9TGM2?6HqAgtTSn*0-<<{#CF|TsK5tOc{`g!X=;uCJWh3}Z zHZ%>++*clzb$)>K0B6Xo7e1uGNQQtcRZi*M<3m7X(v!{alD51&=M9`#7f+h+@6q|u z13~wk*&!alLOXX`a1klGZ(KO|3TAL}a+#q^M^@@$wDWuM*wpYX|3r5%pl;wa=c3bk z-nfiA{v==pX9nhny3Oldtc9r#pZR>0J~B8mB7t4Ki@JxpnijYf3PGep4)>zPj`=dQ z4UYmsfo4MsD;a(=U6!gQ5#G$Q^|S6*ueTz{ zPK{lhc$171wJMY=kM|^{*UpSn!pRPlN|}~S0t@xQodtJG+V9tE_lxBy-3{UzQW6vE zf z0MZ4(09taIHunZ0q?NbrOqX-t8rXNVfbMY4dtoD)ipVDb%E0jfJWuxin8{aR829Tj z-pPFluRmFh*9`GzSN!@kXu`3r1Ouah)hc;8Jg+ySmHs*B{`1djJAOd_ES?Wjax%OO zev1~-ucA4M48++9R*|zGA6|nslCmwGrNDc3xxo$*PrUUTz5(LiN^2EtYQ4!WVoc1r zA9_CYd`R=C$bsOS7&bI0KyL-&3RcY-8#zRTk54G}#6Bdl`Y4WvZz^aOaefd&&P}kVy-_C$e&}qlL`0|GZ&jj?lRKb9Cgv2~$a$c>tV*933!v#od zfZ159xB}LK3)E{bz%!~Zl2}lkbj9X%Ckp{cN5cTbU_p#=Pd3t(7{FCp0A-6$Y@JmJ7S!sp$e-L8ZsLSk$;2BmL0$h=RESn2+yzgjy$XFyVCE zcn!^Qe9m}`itpn0f6Tp2dBvR~el88+3EXA8pl@**99J3M&4NGguG{#5R1JJ52UTH+ zoKP7MX@Gn16B^^cf|JT4i7YUiRA=*h=N1Uls>)r)=k>Gj_$GeHoh>7$MFxoz*0`U5 zP#W6B0Hbm#arK-E5xnJ7WBnwjsv*{=Xfn}HS$IvAuoqwNN@LVwVbUhNdo@@e3{ZxY zvxkElv_FHBN{@Ck;FI0Qt(W8#cx0RP4Q5pJjlX56t}`Rs+QTEAHlBR2!lT+RUi0kZ zB^{(Q+l$oVa!+bv5}<&CV)(@X;o007te|iCcW@Lxn8bpr-O7zion%B#e?q*?pv;;* zB=V5C{A9ITa8Az|jV;)G`zg(8jl7NM^{z_b$FmXPAo+>X%A>{etY933{6Ah!7~RF9 zC-*3=Kbtm)g8p)D4+c`I&1O2y3o|5sp1NkYgkc8;cXbloPDa_jE8py`rT>|+rYC`B zA4oW2YS>hf#fKFegL!{B^uP?Sl3?9Xyh()Y!#5F)>1ONWrnWAunWn2A13?Oy1M2@8 zhnOv9cSy!Sz9W4tsTvd)mes-~z_hfpH(_xlEm1f!RQ(KQHVmLPMp|#OTVI5~O*95A zk`rb`my=mSwv))8+sAS_O&B`V2j9b~|7aX|Tg~p=@8g8@wbm|u++^#)vGz57M|%^f zg0B}(WiJ)36zZO?aaJ5#1Yaj-W-~d)nj+EOI$xfJ@u+z)UE~p8n2wYtHPYT_Wm-BDls5D z1LERNeAip6#ccv%(ocqZxWIXo(Vs5ib~9^nPnAR5KJ#hv*#)k!518E}9{Snn6%~3! zKoyKBUWSs^%B+mZE>ez#iEELo=QObgd#IEQ686D!u4-;6S~bD_|q2oeH|-9v4!2G=3elKQK9&%ZPN}6_9Ls z!PB9R%c1_KamrcF^%4+HyH+0;vp+GfA<1KFvv0DO;ZBZ;JI?yAX7PAko(4{rRZN+| zhwFOCzThIx;Ve0}S2xdg-LB#c)P3cVkG?}qBm{*%!b94u!|7eb zj)g=8!`aZ#Rh_bvqsE(^&T3lEJ!XDAUFVnz>KU3~fKg%gb&T6l|s9?s-E{*&@* zNJI-A9!*Y2h>j`d4eu+Yf4a|UOmyD$XUPRX>er*w5gKg!UBP8RkXQR7i9KFt`a`xV zq8<4cwqohuIeZ4bhg+a+F=vYBFT|nIVq%Q>m;4Gf*JQLEWFO$){BK&-sxuhpp$IMw zDy1lh_)IPve|w^y7Z#_X(;kIKF+nSB>C#D3nrW+*32c)bHUBfWa!R1(F3e%V)?O>Q zPR0#B^Q=lUOPoN{Gj$}Unch2)3;CLe)YZ|Ct;*}`LmdwLpc1MU8s%5s1~bz zsN-m|i#AX`3N|{8u`qmDWFh;kxf)AG3h7<{glWTM^Lti%?B^KmirFTJc>`>6+JrED zLu4xZl$37X0Lrb{@Z{gyT|kJ;WuG)F8x(Uow8yV9c};WvfHbIZcr+V#CF|uzy`Zn00UfTDSghCb2CZoSc8U~ShlOWP<5xocE zEaZ=xX^pJD=Bm4x%k0AU&!oSqS^|YERVa&nEyU4PBI4!j-9~f#J*GKRzkdo9yZ=M% zmF=}?x7~k_{*dS<_8Bk;Xihh&kBLOESJ4)rWBwu2w8>&B^tWKL@W$P?(<+1kE?O=7 zq?z4Fm%jrqUdnwiIpff(W*62nFM@iD$__#_iIUAPyqlD%Nbc#oyvJ`x#bX5%)JU)78C=jn!+?H`1h zFWRwyDWS<7tx)fc-w+O$9dbi)>z%zk4HG~=HGI|ZOpo7Tnl#~l_b_)|0R>(=dOE+j0V-%5 z$xd_${(f$>OZr5T2^k=FyH$x1f>g)nrToic78sJm370ZUGT9SOGV7QDJVcEZKu#cY zAcu=O<+Z@*EuaZ$@60!jFGet`S**J)P!WACzU`N;gajV!Fe^=u77{BolvYQ8YF&bs zFuYCb;;D2~yo2(`KtoxI$yf`q#^m=^5;K0-?#eJc8LJPi!RCGh^Y9jBOB^@J?|2Udxo zH6Qg#pF95=h4 z*(*Y*d*X12VFhKa;T*g>pbNC)nmT_ef50){y_mhmDrWO^a!r)+G^*=*RrDC%`dCrS+e_bWUscG0e zS_d)2HV;0Ea1Xwz zni%vW{@%{i5SR`&%t^_xJ6ftm`_o#KVw;O^5L2njFi_VK!<*Vo!^5(Ea8;9}By6&R zF@Pt)@LS|b+bUZlIK_sOB7LL;`_>iqx!sW;{&w)}@J3wHoT8w>`64!x0#-}@MZ zb6rA&eL=WV`V}cHodANO0l&vX9g1E(v~~K0|3&PJfvGwnTl_y&W`m;Fj;2YYgh`TF z6|CwtgL0IUitd5AUbhgYkT`Sc$Evb!MV}D`Q0j?NuAy)v+&F>8;E#@G$%kZsfMe(Y z8Wq!o5-Odl7Jcax#(NJ4WjDtXfrW1-d8}INR`jO<*IMf59TWpy#slS;1X;aHB1)Wm zB3&12Bpy@A8Wg>4C=HD&*f0+_8XDWoQKA78Vmcg+j)1BF12qu+9T3cR#cqu`d<{Bn zdCc6Sf>m1cF5yJ^l*QTUwC+bU=F6AgVDKpV_Qd0~ZyI^RMq0@IJG^N2wsad7JaHxHqeKy@S^sZJtU8?YVNkJE%~mH6B}G9Wnl6nh*fRI4^eUSktM;Ea< zQ%%N73Fx!YFV!;mrwLG{Gt*rwfS6Y=LMU;ZHCb6N0zF;M4NyehkXN0PLP067&1)^Y%p@tR6yXbM-R7 zx&0!9YKq^%B$yLT?|xh`3{Q?CoQauEaZB3VdYOkZ&K|G8D)8-$grHJ*Z~N`Nq7#as z839?72)ATiHUnA#c)GN?;TJ%t9}y#FkjyQnGO5!;z`}4XHq|zkKenu5dE1i zrCM`nGXDV6e598`S?$J41M&`gl0{%2u@IgXH`afuU3WcdM7^%ot0&RdcWNJe41yzV zd@8su(389%r4?GiDxETezC~IkZ;plOs{)4PE-8tvOXk)-hKx2)PcdBVD$$n|KaMzt z+?Zk^J7hyk>K^?A6VUq0uwZ>M&mJy+ZOYn#8D?lVA_)marDJnYOgTQAC7Au8E+LD} z;O{ZHgG7f4qzgVquVf6&Eyy&udDyN4UWU6I;W|rE$$ej_Tgi0(D3a(E4wxewg7!JM zoE6uO}B7W8(_GC#At67$9o6Tx&aEd*d z=U;K-SZ6{xxAm!iKIQwFM%V~TGq^U_DOG3qTCAf;2QIRZzoxt?h;ZMnMNF& z|Jx7qv$hIYdk1%en;>^%1zBu1$+)DY;T`sjsV%nLCQe39#P%TbY#wscwRS4~_5gp`RJLUcro zBm_WTL^E}`Yn5ow0>%(bfhb&Jl6YuNwm!IoswmaYvhW#FeSDWW=7EsNeV5JGC5uRG zOXYftvUu3GF54`q2692RD%o{p1FaZpfLxEvh1RfEgXmB%B|M_0aoT-~Du89wcKenr z;Q4OP<67U!9iJKU+#(>`7t^5?oYml=^^>Ttk#xXQbaowcq4}zDvxv1O&-k`9CSQQt zLA;9H*Bo{}oPJRLGIk5W$C=mPmY$>NDP<)R28Yq7c55bWsyCo~p*GTpbcWsF zz+-|Rf+w`(1gJ-GA8sCH>W>SFKqG0UYL#)(p;ZmFfwf+xL)F1Nt>skwJCQ$LJVAR{ z=@bG?D+8Klxt9O_m3u5lspx<;NrVU4KY7*a`L@ zuT!iV(z+%bW8xum{(FvJJ z=^^iBycsqdu!K=AGpZ9B&olQt=nC6Yc^;Sndx!y19+W@*C@DTNbpLOa&q)eK_lG8! zGKztPgtR21#!LDGcCzbbn!q)=&p}d|Fi<|X6A}}$-pqLZ`%*nOZCZ6~Y)|NCR=8U^ zMHXbcsHGm(<^Q~e-84yv6R=S7(dKSQlI7IiJ6;1PeS{U(D@Bg`i53qPT%GyUEaD@I zX9RqA9ousPvp`#Dus{LWO&u_O0dH3M2AGxamzc?>ReXEo=M-^sQ;pqkjD{XJHo%3B z(~RLvp~!C6y2(}6B|1_c#yYE0_2In0da8L)-T~|hbbgBOKU{=Y&aL`sqC8m2m)m_5n9`4hMP7(KX+=LXe+*uYrdp3ws6LC*u8^TQ$ zU|onw-maUWMG6K12`15`Scsef*d2BF`nzdM@g;S@1iD6;_5u;+`NMt1$M^=cRCVoR zTB-%6Y~`h*{4xP~skFM3?IwyE+K`G6}&o5LXULexeWrbirNHy6RN|j2#c4h z4>F+iQMTlA;hv_csJzFU^3`HJd`#^TQD4UMmG5>KM^5I<`>6LS?`%(SNK41lOxLfB zJ{GaLa_9#|*ykj|#JCtk1JYy_S^#ZnZ$buAphEZEq*GhPTj2K=l!_1Ir?lfNVm*I0 ztG%R{U3i~*EaPwPb^IDAvzQ4#z>4S%kwulcfGdLq6G%p&Cs>~;`oKG;vjA5>sJ~aH z9c*M(Qv~#E1ea{f@#jQ3N%T#JqliFmJ{xA`F&hbykPN|t%hmj@iiryTPSjfiox^|+ zC{PULP~wp!Z((!^ve$ZKd0gl8DfRcSqTTDx0}B|oxwaW4KsIw~9;-bcO?mvo#Sf3f zWW295g0G?9ABjnSSNS^GY3=qk+?@@t=`oV(SO1DKq-+58Ef-+RSgzm54oa{~7+#K3 z2q~QVN3af!^#zG+D1p|ap8~8)2L{j|-ZR(WWr(cfq}f8&Hu87r(lswPcPuoPN{XuLrQT=*(`ljOJm;s8WrC7Nk5$nxi0BK#+ATDZ)&?FEHhZCbXw_Ye7d5ruq{ z-T0Wu_kPIvP)3MsOtcNidg=u&pwH#y{+v>Ms&X!a+88}I&%z!sWsYGR`8!8|p7DMX z|3<9$23rI>JCFE43l}M(gXezJd1K!3S$CRRpCpFo)!275CTDEUZIElWo!QoKKQU+9 ziPi@FmdHGzXH)rU$suozH(*`!cq8o4VE=IQ8mNl37JZnGx!kfUsPa-xvhp$`sI83= z#JpU4P$bW^(Ws~HK%AjhqJTnnw;(A^>)wv;iQgZwyEJBakNARTPeN?OuCkbsJw?E* z^2IEq>hG;e4d;%kkz5gkTfGW+>2P`=%dWOGSZcj?&JQ;jmc6?C)aMV3~;?SMq&ls9k9qUUy} zxluKoGph{4N3sN}u=Nkhx@nRaPzx2+gpb=gy{bLROiESF&|$;u85_x0L%I6jSdpC0 z4YmWGSJTAAVXzZ1@mO|lG2JAgert%=^b>lq%U3gVNeP9GlW9v*Nrl5l!t{hLUWu%}n+dH+e) z-K_Tg%Hk+bcs{yihjn2=H|c7cCm4?rW=wZI$M1= z;rxRMrG%H*69`Os3hP52KG5qW2WXf06o8898uAf?&TPFo%xl~G3UV}Mj9@Bh>>a8vjbX{om|A0ORM^B|KPuU=gj#q zf<5Uoz)uOwTaQ^6!Pdm@Cs_nJHv?ANqS296Jlji#Y1F3XPphyY#U@;L^Y6G9-)k)# z34{qKYTIBL^t=-wg%APQ3h|$<|6;K7O}niO(m$0PHM2&PbG4a@Knip`&9ke4+N22h zR3hU4>=yZmJu~qY7TQ;hOE9p3WdsT%6S*o00!Afyd}d2Y)~XOQ7eL4tq!{-k$-5H) zEew{B{cv8#4k{Rxiug8eN+Q9n9QWfO`e4n#MIEgj0O12z8wMb{I4R{1c$VDDdgQOa zD#zmT1f2;q@`^M~2xquGg#aRpa54t4S%cn?b$+{8Uo47wWcSNU`8Q=$IFe8hv%$Sx z08(I>WL>$FtCCXbekq@8kGQuA#BM8b7oO$*K7RrCz#cpm&0ES}0y>=)@5iZIPw{*{ zpXL85fx*ZQVT_Gi$g?cCqV4VMJ0*xNoQ4(wErnB&7L(lwt=~!_}X5B&AaSf)aeAsSleGSD(uCnhv zBuhX2{?p2EP$*N~{q|)=P-!FL&!2w#A-B?gAd-&d<3Srw(+AEPbSE6+*dcBx5nbmB zORcs5JFr<8O0}&AC{>on8weG7WxgjRVdK%G&-FFMtz#*?jGP>TTNDG%)%;)jmkm8+ zQEikxJ|c0yTyRZeIq!Qsuk8Z60^N+G|H9_TJun6P>qG74PCfUQ)c2#ODAvLqxD=Lf zC9?zC1caRAE0DN1GGB+B87g2I>~$IU1uBF3|NbBL`%nY$9jrgz)*+@xE531p=an}JSrbygDJabj%S5$==i;cOKIUmec^PvYBqlP8 z)H5V?0s_xRUky8rqUVLzG*$V>BzsfzU|3Cg>e&4kR*kDI1b{3*C2qu(r05nL{P{fi z-_I%;?U`X$VTiwx37DWk5p{GYP`CGci>>DZNeUtFkkBRg`t5pr zXWjLO$(GyGTD2>NmAiyOo<7aA5FM^d#T{VA4I+d(dOA3YsU7{yGo;y!vf(O}QiWc4 z{QAqGthNuRV!r(Ng${J?Y%^ZI^Lm~FQhOc?pCT|wG&G)*Q(yIq3Yo2wD~1)Euo6Lf zbWNYsMD!)TnELV1;T;d2x~Tr~pbY=%VAf6zFHDnZ{?Hll?9BI1kX*oqb0=<)a8mDy zJo(PWXX4}8xLTWr{vaeCp?->P4ilp2c}~~SD>=3%QcFY>6DBiay2I*8X}lT0S7lGl zJP(LjX0jtx?Z!_Bm$y|>%PnB`Ow`%X4F7E8+iTnRIf5XmwGh(~RvMVy1{$pf?*y7C zo%P-Z*)ae9e~V&1DtjG5AB~pp9wjmB=WFZYT9Q1LN@qsbg&q%16z%lXT32%5g}zvx zm*J|^W%bsXCm!h`b9?xhYzqX`1wcx@tLu9Xkz@oatchA>QHqk{M01&PXP#lXy(ZLx z8ogR`{a}B#=+g$}tw-pioU;sZ%z1un4}v8{pW~co6a>#1cY4V5M#}XYPF@RNFbEp0 zX0HpSp&rXL&zOJzagm&h+F7XAL3vE_1=9IADiA5i=9xT*3?3OF3k+~z^?7aR1lsMz z&4jG}?cyH@wcNbflE2R<{c$3wMpWz_zmacNub(Dd11|gknz^942l!T%cOD%?OTEM9 zfcf`77KJ?*n(q+F!riBU0z@L}@RPSj`9(yu15wTWeDD+3Nic}evz9}m4dBOc9x*U1 zlh=(h&~dNRJT0sLvdAu=o>|v02lr9z!_;%@S8zoUW_=mC#10-jqaFxGl8X54y4Do? z-a}HvKDe0t=63HaMM{tTvH}iSMa!zuY9OGslXuZ z_8tyxt-Bj)2=ER5GW-@$r2eMM$?0~OjW{>5<;4A-KG|MR59fNFyqT4YTP?sRz$}d-lHz7a1)8`nNoIRds0K z5C(jix*LU3Ty&{W%Q;U@^|TZ7Uv3PXl=F+}x{coi^NMWI^OS1LAr`p)CVGmH;I5bb zu;P6vm{Nv*|FUYK?*D(=3{?S9vNMGWQrS{s9_UFI`-?O^qMoIh+F2!8;b_9=KbETC z{;y(OjL*Zf(NVcq3rW4Pq82Os&ZQ zI~bABJoh6>(>j&TckZ}b$rUEuZ2Fsw^R$26-r$$Z$aFHI*f7OqbyD+VHB)bR-&rS) zq*fZgEz~YeEDsjR2Gg^A|2mE-5hK(zBAUc`^^xCv1*oD%&aFXw-a8%z`|Rqf zm&l}r^(|vfV3H6=Meq#fF!!)n-PqAy7JXqhd^GIUZGIm-pju_RaBPd7z?sh^%1!uigDh{`2bU`pB?^+uZzhAoOa?N|IMf6A7N)MGZDy$yEM*K)dpRcS-^Mbp?ad1$WmjzJ+;O-b~(?HPS+w^eQ* z5?$gNvSp*7+4OvO>PS6jS7>U&Y+ka~e^claP>QZ=?~-SNeXBGqH@M-F^q1h2OU)q# zDJ8=PQRzSumk%yDQ|c-ChTgoL!JpQBV011QWd zYzS^-*ARDlx~9CT#BVu*IqnOCE&O&`e5|9?U&N5r@Xj^CTT7mPK(=6WNO#NFTC-c6 z9s;y1DIwU^miJpFSRO=GNvI$n>ZEXeY%BZ=+H8ubnhR{Wp;K=*-~uJ0_t55;dEZP? zwpNlpLhoY~6Aoy&2CqJQfu?|FwU*w-YNPT%pWu}W>lzD&crX_CS~mN;q9677)~dR9 zw2d^O`u^B_x>kzevqh&dP7(uM=X2le)p>mwd(wwS=dn7ev7C9kmffkjjMZ;ORx7Wo z3|=4PUlZi@#CnzH!7XIVY(B;GjPNifx&25|dljq)^or>SFASD|??j=b*+Ko_kxzI9 z@`7fv&D6DtY-&x(im@3+AJV`h+zJNAmw9Wl%tlp-so-&58}no^bFooSjZUIRYBw}f zgmb`&A3)Q`;~fe4EXnW|ywz(??p~SMCq^zx8tTaKtd>D4=_k~_t5fO|Ua?asl@6lu zg(0`^@Wr3_MJgi)u>Uw5=4$DQi0W0D2e#lXi+Oe5%&uc@vF6nx<(kicr7GyMm`e2z zD=&VnC<9H84V22m5Rq9`V_V3U)s(DQnAw$v=C6aP#ORvPv;(e2_V$xB2}6PvRwmFA zlpm6zP-AkAROjd3t&Fh!mS%wW}%cpx+Pkb3!Euj7Z&H(rd404(GV3kp<7#T;+{5{$wzaY!5i=K&13 zpq(t#+ALG>u6x-XZ_@@#d~OvY1Z?BBkP1v56*@Mu~%u!mz``Kpu&IN4!Fb?k^S z_Wjq;Y(3Vd7CZ`!=iS)(0k%F9X`X;Kff%2AkSkZH|S}vibS*oG*{|D6&wK5(1*aBfRfoOonpzt-XT*kIUj; zIf$PhZ?v1ahZ(l%ho?6Om=-6;fqdYbch%RzvG`qmdoa7h zzBA1VBEn4S*pa(Cy1YKa7H3K6Dx;6G3Ki`Wj<{Ruu0C7}cwiejLG!u>On}_FLnm~b zD@&Q)j+)F&z>uA|>z=Fy9D?lXS0+2`dt-PGZfjZ4ry4%4VKH5i$1eD)3l|{!uNR1r z=K0@eM8;@ewN4sUjVl*l2)NLS5sP4&$NZI)!D;LR1W^}mQ-o5GcTs6{KJy0Y2@W*&;!djcU2|Q$KyWC1w0zo!{v9U^y7THf$ayIsm>P8Zgc^ zA~;`_8q)b{0uB83RNkyHx2zHwU#B{K#)XJACR-&s%Eq-|2k{n)oL&@MK71f*)^GGz zVgP3PfH7nb7y>53N!*{H`z@^>Ss2$Ue>m&hZ^y&$^WZ8C%SF1`VmhV9WVz(=*|&Si z&;;E^sL_2Ll2nkkQo zkEpZsyE-L(SqM!d8KTOCbQ6kh4Lci5Z_Dg6ZEI670+$OvC-Y7`PKy8hCzu3mz$W4S z_h{pV`l?$4`!<%Pk%5|x0EV~2+XUnH*H*gP=|vU@b&RKkk|rRoQ_{oa@9sw<_WpBW)CuA2oD{h0Wb>{pq zx8cpbN2zDcsi0F>pW-POesyIn1#M3F;-|3FJP3V~ILgx$gZcNUi*;f?pfsz*&^Vun z{wu?4R6UyJVizJG%7Xl{p9@lW2}VB3bnmOqC&uW`;IFURUhTq2B?!o5|4Kbz8{9bz z(4;f~;Q9c@b9fvtuTtz9v<~i*Zzb%p(g@EuLDOrT&Zv%$Eh8LMiFNFJ?^|LIr)G(m zO6RatX zBEDHSlrD9c&*a;4Un5ih_V0pC87RXMsZj}a4S z^vql>=7_3>>zg_@2a9q^VFEQ{=n3^IU5NfuR?DYRHEdAQt0RT~ENq#}C1Z`SV%5oN zm2b9}r|-d{Eukp{r=DIJ=G8-2Chm3B#>Wbwcx~=oFMyMF<;I7h>iDrcem(KWz!^my zp9*S)KQurWAHAt}_T&S-{LuvFNP|EJZ7JRgR89TSO+azYluh^)Z{tZ$xq?AJf+@z> ze_DN9nV>y9*D!%PdhCu{&$46StODav>6#T^H1)cu=uN%3Gn2B(={pACq#e1@VW>Ll zxg?jKr~+`RO8_4uAlIjh&RLf^bF;y1X&qk-n1L{I!nTK-0CRLtWThV!FNZd2^*


4* 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

}Db#d#R0TRs< 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 t`o+xYlFyUb9AAi>k>u!VJ= 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', + dia: '', + star: '', +}; + +// 클랜 마크 — 실제 클랜 마크가 들어올 자리 +const MARK = { + shield: '', + hex: '', +}; + +// 등락 셀 +function move(n) { + if (n === 0) return ''; + const up = n > 0; + const color = up ? '#12805C' : '#C4453D'; + const path = up ? 'M6 2l4 7H2z' : 'M6 10L2 3h8z'; + return `${Math.abs(n)}`; +} + +const rankNum = (i) => + i < 3 + ? `${i + 1}` + : `${i + 1}`; + +const NAME = ''; + +// 유저 랭킹 한 블록 (RP 열은 rp 값이 있을 때만) +function userList(rows, withRp) { + const cols = withRp + ? '18px 26px minmax(0, 1fr) 48px 38px' + : '18px 26px minmax(0, 1fr) 38px'; + return rows + .map((r, i) => { + const last = i === rows.length - 1; + const border = last ? '' : ' border-bottom: 1px solid #F3F5F7;'; + const rp = withRp + ? `${r.rp}` + : ''; + return `

`; + }) + .join('\n'); +} + +function clanList(rows) { + const cols = '18px 28px minmax(0, 1fr) 38px'; + return rows + .map((r, i) => { + const last = i === rows.length - 1; + const border = last ? '' : ' border-bottom: 1px solid #F3F5F7;'; + return `
+ ${rankNum(i)} + ${MARK[r.mark]} + ${NAME}${r.name} + ${move(r.mv)} +
`; + }) + .join('\n'); +} + +const tab = (label, on) => `${label}`; + +// 표 머리글 +function head(withRp, unit) { + const cols = withRp + ? '18px 26px minmax(0, 1fr) 48px 38px' + : `18px ${unit} minmax(0, 1fr) 38px`; + const rp = withRp ? '\n RP' : ''; + const who = unit === '28px' ? '클랜' : '유저'; + return `
+ #${who}${rp} + 등락 +
`; +} + +const 계급 = [ + { name: '달빛조각사', ins: 'chev', mv: 2 }, + { name: '칼든햄스터', ins: 'star', mv: -1 }, + { name: '새벽두시', ins: 'chev', mv: 4 }, + { name: '무명연대장', ins: 'dia', mv: 0 }, + { name: '한밤의저격수', ins: 'dia', mv: 3 }, + { name: '조용한총잡이', ins: 'chev', mv: -2 }, + { name: '야간부대장', ins: 'dia', mv: 0 }, + { name: '헤드샷장인', ins: 'dia', mv: 5 }, + { name: '삼보급단골', ins: 'chev', mv: -3 }, + { name: '웨어하우스지박령', ins: 'star', mv: 1 }, +]; + +const 랭크전 = [ + { name: '헤드샷장인', ins: 'star', rp: '2,486', mv: 1 }, + { name: '달빛조각사', ins: 'chev', rp: '2,451', mv: -1 }, + { name: '삼보급단골', ins: 'dia', rp: '2,398', mv: 6 }, + { name: '칼든햄스터', ins: 'star', rp: '2,344', mv: 0 }, + { name: '웨어하우스지박령', ins: 'dia', rp: '2,301', mv: 2 }, + { name: '새벽두시', ins: 'chev', rp: '2,276', mv: -3 }, + { name: '조용한총잡이', ins: 'dia', rp: '2,240', mv: 0 }, + { name: '한밤의저격수', ins: 'dia', rp: '2,205', mv: 4 }, + { name: '야간부대장', ins: 'chev', rp: '2,181', mv: -2 }, + { name: '무명연대장', ins: 'dia', rp: '2,154', mv: 1 }, +]; + +const 클랜 = [ + { name: '무명연대', mark: 'shield', mv: 0 }, + { name: '새벽클랜', mark: 'hex', mv: 2 }, + { name: '야간부대', mark: 'shield', mv: -1 }, + { name: '정예사격단', mark: 'hex', mv: 3 }, + { name: '삼보급수호대', mark: 'shield', mv: 0 }, + { name: '헤드샷연구소', mark: 'hex', mv: 4 }, + { name: '크로스카운터', mark: 'shield', mv: -2 }, + { name: '웨어하우스단', mark: 'hex', mv: 0 }, + { name: '새벽정찰대', mark: 'shield', mv: 1 }, + { name: '삼보급기동대', mark: 'hex', mv: -3 }, +]; + +// 페이지 이동 — 순위 구간을 세 랭킹이 함께 넘긴다 +const pageBtn = (label, on) => + on + ? `${label}` + : `${label}`; + +const chev = (dir, dim) => + ``; + +const pager = ` + +
+ 1 ~ 10위 · 전체 100위 +
+ ${chev('prev', true)} +
+ ${pageBtn('1', true)} + ${pageBtn('2', false)} + ${pageBtn('3', false)} + ${pageBtn('4', false)} + ${pageBtn('5', false)} + + ${pageBtn('10', false)} +
+ ${chev('next', false)} +
`; + +const html = ` +
+
+

게임 랭킹

+ 매일 오전 8시 갱신 +
전체 보기 +
+ +
+ + +
+
계급 랭킹
+
+ ${tab('통합', true)}${tab('시즌', false)} +
+${head(false, '26px')} +${userList(계급, false)} +
+ + +
+
랭크전 랭킹
+
+ ${tab('솔로', true)}${tab('파티', false)}${tab('클랜', false)} +
+${head(true, '26px')} +${userList(랭크전, true)} +
+ + +
+
클랜 랭킹
+
+ ${tab('공식', true)}${tab('일반', false)} +
+${head(false, '28px')} +${clanList(클랜)} +
+
+${pager} +
+`; + +writeFileSync('parts/ranking.html', html, 'utf8'); +console.log('parts/ranking.html written —', html.length, 'chars'); diff --git a/.design/surinz/parts/ranking.html b/.design/surinz/parts/ranking.html new file mode 100644 index 0000000..b333553 --- /dev/null +++ b/.design/surinz/parts/ranking.html @@ -0,0 +1,245 @@ + +
+
+

게임 랭킹

+ 매일 오전 8시 갱신 +
전체 보기 +
+ +
+ + +
+
계급 랭킹
+
+ 통합시즌 +
+
+ #유저 + 등락 +
+
+ 1 + + 달빛조각사 + 2 +
+
+ 2 + + 칼든햄스터 + 1 +
+
+ 3 + + 새벽두시 + 4 +
+
+ 4 + + 무명연대장 + +
+
+ 5 + + 한밤의저격수 + 3 +
+
+ 6 + + 조용한총잡이 + 2 +
+
+ 7 + + 야간부대장 + +
+
+ 8 + + 헤드샷장인 + 5 +
+
+ 9 + + 삼보급단골 + 3 +
+
+ 10 + + 웨어하우스지박령 + 1 +
+
+ + +
+
랭크전 랭킹
+
+ 솔로파티클랜 +
+
+ #유저 + RP + 등락 +
+
+ 1 + + 헤드샷장인 + 2,4861 +
+
+ 2 + + 달빛조각사 + 2,4511 +
+
+ 3 + + 삼보급단골 + 2,3986 +
+
+ 4 + + 칼든햄스터 + 2,344 +
+
+ 5 + + 웨어하우스지박령 + 2,3012 +
+
+ 6 + + 새벽두시 + 2,2763 +
+
+ 7 + + 조용한총잡이 + 2,240 +
+
+ 8 + + 한밤의저격수 + 2,2054 +
+
+ 9 + + 야간부대장 + 2,1812 +
+
+ 10 + + 무명연대장 + 2,1541 +
+
+ + +
+
클랜 랭킹
+
+ 공식일반 +
+
+ #클랜 + 등락 +
+
+ 1 + + 무명연대 + +
+
+ 2 + + 새벽클랜 + 2 +
+
+ 3 + + 야간부대 + 1 +
+
+ 4 + + 정예사격단 + 3 +
+
+ 5 + + 삼보급수호대 + +
+
+ 6 + + 헤드샷연구소 + 4 +
+
+ 7 + + 크로스카운터 + 2 +
+
+ 8 + + 웨어하우스단 + +
+
+ 9 + + 새벽정찰대 + 1 +
+
+ 10 + + 삼보급기동대 + 3 +
+
+
+ + +
+ 1 ~ 10위 · 전체 100위 +
+ +
+ 1 + 2 + 3 + 4 + 5 + + 10 +
+ +
+
diff --git a/.design/surinz/surinz-home.html b/.design/surinz/surinz-home.html new file mode 100644 index 0000000..16697e9 --- /dev/null +++ b/.design/surinz/surinz-home.html @@ -0,0 +1,11009 @@ + + + + +서린즈 홈 화면 + + + + + + + +
+ + + + diff --git a/.design/surinz/templates/HomeA.dc.html b/.design/surinz/templates/HomeA.dc.html new file mode 100644 index 0000000..d9396d5 --- /dev/null +++ b/.design/surinz/templates/HomeA.dc.html @@ -0,0 +1,335 @@ + + + + + + + + + + + + +
+ +
+
+
+ +
+ 서린즈 +
+ +
+ +
+ + +
+

누구의 전적이 궁금하세요?

+

닉네임만 알려주시면 최근 경기부터 자주 쓰는 무기까지 정리해 드릴게요.

+
+ + 닉네임을 입력해 보세요 + +
+
+ 최근에 찾아봤어요 + 달빛조각사 + 칼든햄스터 + 새벽두시 +
+
+ + +
+
+

이벤트

+
+ 전체 보기 +
+ + +
+ 서든 페스티벌 같이 갈래? +
+ +
+ 시즌 이벤트 + + 서든 페스티벌 같이 갈래? + 9월 1일 ~ 9월 30일 +
+ + + + + + 1 / 5 + + +
+
+ + +
+
+
+

게임 랭킹

+
+ 전체 + 폭파미션 + 팀 데스매치 + 클랜전 +
+
+ 전체 보기 +
+ +
+ 순위유저 + 승률 + K/D + 헤드샷 + 판수 +
+ +
+ 1 +
달빛조각사병장 3호봉
+ 78.4% + 2.14 + 41.2% + 1,284 +
+
+ 2 +
칼든햄스터소위 1호봉
+ 74.9% + 1.96 + 38.7% + 2,041 +
+
+ 3 +
새벽두시병장 1호봉
+ 71.2% + 1.88 + 44.1% + 986 +
+
+ 4 +
무명연대장중사 2호봉
+ 69.5% + 1.74 + 33.9% + 3,102 +
+
+ 5 +
한밤의저격수상사 1호봉
+ 68.1% + 1.71 + 47.3% + 742 +
+
+ 6 +
조용한총잡이병장 2호봉
+ 66.7% + 1.68 + 36.4% + 1,530 +
+ + +
+ +
+
+

검색 랭킹

+
+ 18:20 기준 +
+
+ 순위닉네임변동 +
+
+ 1달빛조각사 + 2 +
+
+ 2칼든햄스터 + 1 +
+
+ 3새벽두시 + 4 +
+
+ 4무명연대장 + +
+
+ 5한밤의저격수 + 3 +
+
+ 6조용한총잡이 + 2 +
+
+ 7야간부대장 + +
+
+ 8헤드샷장인 + 5 +
+
+
+ + +
+
+
+

서든어택 소식

더 보기 +
+
+ 공지사항업데이트 +
+
+
9월 정기점검 안내 (09.04 02:00~08:00)09.02
+
비매너 이용자 제재 결과 안내09.01
+
가을 시즌 랭크전 일정 공지08.29
+
신규 맵 컨테이너 야드 추가08.28
+
AK-47 반동 수치 조정 안내08.26
+
+
+ +
+
+

서린즈 소식

더 보기 +
+
+ 공지사항업데이트 +
+
+
맵별 승률 통계를 새로 열었어요09.03
+
전적 갱신 속도가 두 배 빨라졌어요09.01
+
즐겨찾기한 유저 알림 기능 추가08.30
+
8월 서버 점검 결과 보고08.27
+
커뮤니티 이용 규칙을 정리했어요08.24
+
+
+
+ + +
+
+

지금 방송 중

+ 시청자 2,924명 +
전체 보기 +
+
+
+
+
삼보급 스나 연습
+
LIVE달빛조각사 · 1,204명
+
+
+
+
클랜전 정기 리그 중계
+
LIVE무명연대 · 862명
+
+
+
+
초보 탈출 폭파미션 강의
+
LIVE새벽두시 · 517명
+
+
+
+
시청자 참여 한 판
+
LIVE한밤의저격수 · 341명
+
+
+
+ + +
+
+

커뮤니티

+
+ 인기최신클립공략클랜원 모집 +
+
전체 보기 +
+ +
+
+
달빛조각사312
+
+
+
+
칼든햄스터274
+
+ +
+

폭파 삼보급에서 A 롱각 잡을 때 다들 어디 서세요? 요즘 자꾸 먼저 죽습니다.

+
+
+ + 새벽두시 + + 198 +
+
+ + +
+
+ +
+
무명연대장163
+
+
+ + +
+ +
+ 서린즈이용약관개인정보 처리방침문의하기 +
넥슨 공개 API 기반 · 서든어택 비공식 서비스 +
+
+
+ + diff --git a/.design/surinz/templates/HomeB.dc.html b/.design/surinz/templates/HomeB.dc.html new file mode 100644 index 0000000..2d525bb --- /dev/null +++ b/.design/surinz/templates/HomeB.dc.html @@ -0,0 +1,547 @@ + + + + + + + + + + + + +
+ + +
+
+
+ + + + +
+ 서린즈 +
+ + + +
+
+ + + + + 닉네임 검색 +
+
+ + +
+ + +
+ + + + + +
+
+ + + + + 궁금한 닉네임을 입력해 보세요 + +
+ + +
+ +
+
+

서든어택 소식

+
+ 더 보기 +
+
+ 공지사항 + 업데이트 +
+
+
+ + 9월 정기점검 안내 + 09.02 +
+
+ + 비매너 이용자 제재 결과 + 09.01 +
+
+ + 가을 시즌 랭크전 일정 + 08.29 +
+
+ + 신규 맵 컨테이너 야드 추가 + 08.28 +
+
+ + AK-47 반동 수치 조정 + 08.26 +
+
+
+ +
+
+

서린즈 소식

+
+ 더 보기 +
+
+ 공지사항 + 업데이트 +
+
+
+ + 맵별 승률 통계를 열었어요 + 09.03 +
+
+ + 전적 갱신이 두 배 빨라졌어요 + 09.01 +
+
+ + 즐겨찾기 알림 기능 추가 + 08.30 +
+
+ + 8월 서버 점검 결과 보고 + 08.27 +
+
+ + 커뮤니티 이용 규칙 정리 + 08.24 +
+
+
+
+ + +
+

커뮤니티

+
+ 인기 + 최신 + 클립 + 공략 +
+
+ +
+ +
+
+ +
+
달빛조각사
+
병장 3호봉 · 12분 전
+
+ +
+ +
+ +
+ + + +
+ +
+ +
좋아요 312개
+

+ 달빛조각사 + 제3보급창고 마지막 라운드 1대4 역전했어요. 각도만 잘 잡으면 아직 됩니다. +

+
댓글 24개 모두 보기
+
+ + +
+
+ +
+
칼든햄스터
+
소위 1호봉 · 48분 전
+
+ +
+ +

웨어하우스 스나 자리 세 군데만 외우면 됩니다. 컨테이너 위, 이층 창문, 그리고 리스폰 바로 옆 기둥. 나머지는 다 걸립니다.

+ +
+ + + +
+ +
+ +
좋아요 274개
+
댓글 18개 모두 보기
+
+ + +
+
+ +
+
새벽두시
+
병장 1호봉 · 2시간 전
+
+ +
+ +
+
+ +
+
0:24
+
+ +
+ + + +
+ +
+ +
좋아요 198개
+

+ 새벽두시 + 크로스카운터 1대3 클러치. 소리만 듣고 돌았습니다. +

+
댓글 31개 모두 보기
+
+ + +
+ + + +
+ + +
+ 서린즈 + 이용약관 + 개인정보 처리방침 + 문의하기 +
+ 넥슨 공개 API 기반 · 서든어택 비공식 서비스 +
+
+
+ + diff --git a/.design/surinz/templates/HomeC.dc.html b/.design/surinz/templates/HomeC.dc.html new file mode 100644 index 0000000..9570ed7 --- /dev/null +++ b/.design/surinz/templates/HomeC.dc.html @@ -0,0 +1,305 @@ + + + + + + + + + + + + +
+ + + + + +
+ +
+
+ + 닉네임을 입력해 보세요 +
+
+ + + + +
+ +
+ + +
+

이벤트

전체 보기 +
+ + +
+ 서든 페스티벌 같이 갈래? +
+ +
+ 시즌 이벤트 + + 서든 페스티벌 같이 갈래? + 9월 1일 ~ 9월 30일 +
+ + + + + + 1 / 5 + + +
+ + +
+ +
+ +
+

게임 랭킹

+
+ 전체폭파미션팀 데스매치 +
+
전체 보기 +
+ +
+ 순위유저 + 승률 + K/D + 판수 +
+ +
+ 1 +
달빛조각사병장 3호봉
+ 78.4% + 2.14 + 1,284 +
+
+ 2 +
칼든햄스터소위 1호봉
+ 74.9% + 1.96 + 2,041 +
+
+ 3 +
새벽두시병장 1호봉
+ 71.2% + 1.88 + 986 +
+
+ 4 +
무명연대장중사 2호봉
+ 69.5% + 1.74 + 3,102 +
+
+ 5 +
한밤의저격수상사 1호봉
+ 68.1% + 1.71 + 742 +
+
+ 6 +
조용한총잡이병장 2호봉
+ 66.7% + 1.68 + 1,530 +
+ + + + +
+
+

서든어택 소식

더 보기
+
공지사항업데이트
+
+
9월 정기점검 안내09.02
+
비매너 이용자 제재 결과09.01
+
가을 시즌 랭크전 일정08.29
+
신규 맵 컨테이너 야드 추가08.28
+
AK-47 반동 수치 조정08.26
+
+
+ +
+

서린즈 소식

더 보기
+
공지사항업데이트
+
+
맵별 승률 통계를 열었어요09.03
+
전적 갱신이 두 배 빨라졌어요09.01
+
즐겨찾기 알림 기능 추가08.30
+
8월 서버 점검 결과 보고08.27
+
커뮤니티 이용 규칙 정리08.24
+
+
+
+ + +
+

커뮤니티

+
+ 인기최신클립 +
+
전체 보기 +
+ +
+
+
달빛조각사312
+
+
+
+
칼든햄스터274
+
+ +
+

폭파 삼보급에서 A 롱각 잡을 때 다들 어디 서세요? 요즘 자꾸 먼저 죽습니다.

+
+
+ + 새벽두시 + + 198 +
+
+
+
+ + + +
+
+ +
+ 서린즈이용약관개인정보 처리방침문의하기 +
넥슨 공개 API 기반 · 서든어택 비공식 서비스 +
+
+
+
+ + diff --git a/.design/surinz/templates/Main.dc.html b/.design/surinz/templates/Main.dc.html new file mode 100644 index 0000000..0e25446 --- /dev/null +++ b/.design/surinz/templates/Main.dc.html @@ -0,0 +1,478 @@ + + + + + + + + + + + + +
+ +
+
+
+ +
+ 서린즈 +
+ + + +
+ + +
+ + +
+
+

누구의 전적이 궁금하세요?

+

닉네임만 알려주시면 최근 경기 흐름부터 자주 쓰는 무기까지 정리해 드릴게요.

+ +
+ + 닉네임을 입력해 보세요 + +
+ +
+ 최근에 찾아봤어요 + 달빛조각사 + 칼든햄스터 + 새벽두시 + 무명연대장 +
+
+
+ + +
+ + +
+
+

이벤트

전체 보기 +
+ +
+ 서든 페스티벌 같이 갈래? +
+ +
+ 시즌 이벤트 + + 서든 페스티벌 같이 갈래? + 9월 1일 ~ 9월 30일 +
+ + + + + + 1 / 5 + + +
+
+ + +
+
+

검색 랭킹

18:20 기준 +
+
+ 순위닉네임변동 +
+
1달빛조각사2
+
2칼든햄스터1
+
3새벽두시4
+
4무명연대장
+
5한밤의저격수3
+
6조용한총잡이2
+
7야간부대장
+
8헤드샷장인5
+
9삼보급단골
+
+ + +
+
+

게임 랭킹

+ 매일 오전 8시 갱신 +
전체 보기 +
+ +
+ + +
+
계급 랭킹
+
+ 통합시즌 +
+
+ #유저 + 등락 +
+
+ 1 + + 달빛조각사 + 2 +
+
+ 2 + + 칼든햄스터 + 1 +
+
+ 3 + + 새벽두시 + 4 +
+
+ 4 + + 무명연대장 + +
+
+ 5 + + 한밤의저격수 + 3 +
+
+ 6 + + 조용한총잡이 + 2 +
+
+ 7 + + 야간부대장 + +
+
+ 8 + + 헤드샷장인 + 5 +
+
+ 9 + + 삼보급단골 + 3 +
+
+ 10 + + 웨어하우스지박령 + 1 +
+
+ + +
+
랭크전 랭킹
+
+ 솔로파티클랜 +
+
+ #유저 + RP + 등락 +
+
+ 1 + + 헤드샷장인 + 2,4861 +
+
+ 2 + + 달빛조각사 + 2,4511 +
+
+ 3 + + 삼보급단골 + 2,3986 +
+
+ 4 + + 칼든햄스터 + 2,344 +
+
+ 5 + + 웨어하우스지박령 + 2,3012 +
+
+ 6 + + 새벽두시 + 2,2763 +
+
+ 7 + + 조용한총잡이 + 2,240 +
+
+ 8 + + 한밤의저격수 + 2,2054 +
+
+ 9 + + 야간부대장 + 2,1812 +
+
+ 10 + + 무명연대장 + 2,1541 +
+
+ + +
+
클랜 랭킹
+
+ 공식일반 +
+
+ #클랜 + 등락 +
+
+ 1 + + 무명연대 + +
+
+ 2 + + 새벽클랜 + 2 +
+
+ 3 + + 야간부대 + 1 +
+
+ 4 + + 정예사격단 + 3 +
+
+ 5 + + 삼보급수호대 + +
+
+ 6 + + 헤드샷연구소 + 4 +
+
+ 7 + + 크로스카운터 + 2 +
+
+ 8 + + 웨어하우스단 + +
+
+ 9 + + 새벽정찰대 + 1 +
+
+ 10 + + 삼보급기동대 + 3 +
+
+
+ + +
+ 1 ~ 10위 · 전체 100위 +
+ +
+ 1 + 2 + 3 + 4 + 5 + + 10 +
+ +
+
+ + +
+
+

커뮤니티

전체 보기 +
+
인기최신클립
+
+
+
달빛조각사312
+
+
+
+
칼든햄스터274
+
+ +
+

폭파 삼보급 A 롱각, 다들 어디 서세요?

+
+
+ + 새벽두시 + 198 +
+
+ +
+
+ +
+
무명연대장163
+
+
+
+ + +
+
+

서든어택 소식

더 보기 +
+
공지사항업데이트
+
+
9월 정기점검 안내09.02
+
비매너 이용자 제재 결과09.01
+
가을 시즌 랭크전 일정08.29
+
신규 맵 컨테이너 야드 추가08.28
+
AK-47 반동 수치 조정08.26
+
클랜전 매칭 로직 개선08.22
+
+
+ + +
+
+

서린즈 소식

더 보기 +
+
공지사항업데이트
+
+
맵별 승률 통계를 열었어요09.03
+
전적 갱신이 두 배 빨라졌어요09.01
+
즐겨찾기 알림 기능 추가08.30
+
8월 서버 점검 결과 보고08.27
+
커뮤니티 이용 규칙 정리08.24
+
모바일 화면을 다듬었어요08.20
+
+
+ + +
+
+

지금 방송 중

전체 보기 +
+
+
+
삼보급 스나 연습
+
달빛조각사 · 1,204명
+
+
+
+
+
클랜전 정기 리그 중계
무명연대 · 862명
+
+
+
+
초보 탈출 폭파미션 강의
새벽두시 · 517명
+
+
+
+
시청자 참여 한 판
한밤의저격수 · 341명
+
+
+
+
+ +
+ 서린즈이용약관개인정보 처리방침문의하기 +
넥슨 공개 API 기반 · 서든어택 비공식 서비스 +
+
+
+ + diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..7243538 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,22 @@ +# 에디터 공통 포맷 — 3스택·여러 에디터에서 들여쓰기/인코딩 통일 +root = true + +[*] +charset = utf-8 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true +indent_style = space +indent_size = 2 + +# Dart (dart format 기본 2칸) +[*.dart] +indent_size = 2 + +# Markdown — 줄 끝 공백이 의미를 가질 수 있어 트림 제외 +[*.md] +trim_trailing_whitespace = false + +# Makefile 은 탭 필수 +[Makefile] +indent_style = tab diff --git a/.env.development.example b/.env.development.example new file mode 100644 index 0000000..8250361 --- /dev/null +++ b/.env.development.example @@ -0,0 +1,39 @@ +# ========================================== +# 프로젝트 전역 설정 +# ========================================== +PROJECT_NAME=project +APP_ENV=development +BUILD_MODE=development +FRONTEND_DIR=frontend +BACKEND_DIR=backend + +# ========================================== +# 포트 설정 +# ========================================== +FRONTEND_PORT=5173 +BACKEND_PORT=3000 +WEBSOCKET_PORT=3001 +DB_PORT=5432 +REDIS_PORT=6379 + +# ========================================== +# Database 설정 +# ========================================== +DB_IMAGE=postgres:15-alpine +DB_USER=dev_ttipo +DB_PASSWORD=dev_960426 +DB_NAME=project_db +DB_DATA_DIR=./data/postgres + +# ========================================== +# Redis 설정 +# ========================================== +REDIS_IMAGE=redis:7-alpine +REDIS_PASSWORD=dev_960426 +REDIS_DATA_DIR=./data/redis + +# ========================================== +# API 경로 설정 +# ========================================== +BACKEND_API_URL=http://localhost:3000/api +CORS_ORIGIN=http://localhost:5173 \ No newline at end of file diff --git a/.env.production.example b/.env.production.example new file mode 100644 index 0000000..951abd1 --- /dev/null +++ b/.env.production.example @@ -0,0 +1,39 @@ +# ========================================== +# 프로젝트 전역 설정 +# ========================================== +PROJECT_NAME=project +APP_ENV=production +BUILD_MODE=production +FRONTEND_DIR=frontend +BACKEND_DIR=backend + +# ========================================== +# 포트 설정 +# ========================================== +FRONTEND_PORT=80 +BACKEND_PORT=3000 +WEBSOCKET_PORT=3001 +DB_PORT=5432 +REDIS_PORT=6379 + +# ========================================== +# Database 설정 +# ========================================== +DB_IMAGE=postgres:15-alpine +DB_USER=prd_ttipo +DB_PASSWORD=prd_960426 +DB_NAME=project_db +DB_DATA_DIR=./data/postgres + +# ========================================== +# Redis 설정 +# ========================================== +REDIS_IMAGE=redis:7-alpine +REDIS_PASSWORD=prd_960426 +REDIS_DATA_DIR=./data/redis + +# ========================================== +# API 경로 설정 +# ========================================== +BACKEND_API_URL=http://localhost:3000/api +CORS_ORIGIN=http://localhost:5173 \ No newline at end of file diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..26757db --- /dev/null +++ b/.gitattributes @@ -0,0 +1,24 @@ +# 줄바꿈 정규화 — 어떤 OS에서 클론해도 저장소 내부는 LF로 통일 (Windows 작업 시 CRLF 변환 churn 방지) +* text=auto eol=lf + +# Windows 전용 스크립트는 CRLF 유지 +*.bat text eol=crlf +*.cmd text eol=crlf +*.ps1 text eol=crlf + +# 셸 스크립트는 LF 강제 +*.sh text eol=lf + +# 바이너리 — 변환/diff 제외 +*.png binary +*.jpg binary +*.jpeg binary +*.gif binary +*.ico binary +*.webp binary +*.woff binary +*.woff2 binary +*.ttf binary +*.otf binary +*.jar binary +*.keystore binary diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..976e0ab --- /dev/null +++ b/.gitignore @@ -0,0 +1,52 @@ +# ========================================== +# 환경 변수 (민감정보) — 절대 커밋 금지 +# ========================================== +.env +.env.* +!.env.example +!.env.*.example + +# ========================================== +# 도커 영속 데이터 +# ========================================== +data/ +!data/.gitkeep +db-data/ +redis-data/ + +# ========================================== +# 의존성/빌드 산출물 +# ========================================== +node_modules/ +dist/ +build/ +coverage/ +.tsbuildinfo +*.tsbuildinfo + +# ========================================== +# 로그 +# ========================================== +logs/ +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* + +# ========================================== +# IDE / OS +# ========================================== +.idea/ +.vscode/* +!.vscode/extensions.json +!.vscode/settings.json +.DS_Store +Thumbs.db + +# ========================================== +# 캐시 +# ========================================== +.cache/ +.eslintcache +.npm/ diff --git a/20260903074208.jpg b/20260903074208.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7514512f3e147ecbb4cd616bf1a057164c974900 GIT binary patch literal 241299 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

<1!jmfh89g_SB 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 z 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�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

`%d{1LR@UN@~n>k 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

DMJ@xrgebaeX}PmE@^n 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%0D;)Dp8e_4HtXWCgN|5F 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 규칙은 `.claude/` 아래로 모듈화되어 있다. +> - `.claude/rules/` — 세 플랫폼 공통 규칙 (코딩·응답 포맷·에러 코드·커밋·보안·환경변수) +> - `.claude/skills/` — 도메인별 개발 규칙 (스킬). 슬래시 명령(`/nestjs` 등) 또는 해당 디렉터리 작업 시 자동 적용 +> - `.claude/settings.json` — Claude Code 권한·환경 설정 + +--- + +## 공통 규칙 (모든 디렉터리 적용) + +@.claude/rules/coding-common.md +@.claude/rules/response-format.md +@.claude/rules/error-codes.md +@.claude/rules/git-convention.md +@.claude/rules/security.md +@.claude/rules/env-structure.md +@.claude/rules/testing.md +@.claude/rules/checklist.md + +--- + +## 도메인별 개발 규칙 (스킬) + +- 백엔드(NestJS): @.claude/skills/nestjs/SKILL.md +- 프론트엔드(Vue 3): @.claude/skills/vue3/SKILL.md +- 모바일(Flutter): @.claude/skills/flutter/SKILL.md +- 실행/배포(Docker): @.claude/skills/docker/SKILL.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..bb36eeb --- /dev/null +++ b/README.md @@ -0,0 +1,107 @@ +# 풀스택 모노레포 기본 템플릿 + +NestJS(백엔드) · Vue 3(웹) · Flutter(모바일)를 하나의 저장소에서 운영하는 풀스택 템플릿입니다. +세 클라이언트는 **동일한 표준 응답 포맷**과 **공통 에러 코드 맵**을 공유하며, Docker Compose로 한 번에 구동됩니다. + +## 구성 + +| 디렉터리 | 스택 | 역할 | 포트(기본) | +| ----------- | -------------- | ------------------------ | ---------- | +| `backend/` | NestJS + TypeORM | REST API 서버 | 3000 | +| `frontend/` | Vue 3 + Vite | 웹 프론트엔드 | 5173 | +| `flutter/` | Flutter + Riverpod | 모바일 앱 | - | +| `db` | PostgreSQL | 데이터베이스 | 5432 | +| `redis` | Redis | 캐시 / 세션 | 6379 | + +## 사전 요구사항 + +- Docker / Docker Compose — backend·frontend·db·redis 구동 +- Flutter SDK `^3.11` — 모바일 앱 실행용 (compose 대상 아님) + +## 빠른 시작 (Docker) + +```bash +# 1) 환경변수 파일 생성 (예제 복사) +# 실제 설정값은 루트 .env.development 한 곳에서 관리한다 (SSOT). +# backend/frontend 는 docker-compose 가 값을 주입하므로 예제만 복사하면 된다. +cp .env.development.example .env.development # ← 여기에만 값 입력 +cp backend/.env.development.example backend/.env.development # (존재 필요: JWT 등 고유 시크릿) +# frontend 는 compose 가 빌드 시 값을 주입하므로 자체 env 복사 불필요 + +# 2) 개발 환경 기동 (코드만 수정 시) +docker compose -f docker-compose.yml -f docker-compose.dev.yml --env-file .env.development up -d + +# 3) 의존성 변경 시에만 --build +docker compose -f docker-compose.yml -f docker-compose.dev.yml --env-file .env.development up -d --build +``` + +기동 후: + +- 웹: +- API: +- Swagger 문서: + +전체 실행/배포 명령어는 [`.claude/skills/docker/SKILL.md`](./.claude/skills/docker/SKILL.md) 참조. + +## 모바일 앱 실행 (Flutter) + +Flutter 는 Docker Compose 대상이 아니므로 로컬에서 직접 실행합니다. + +```bash +cd flutter && cp .env.example .env && flutter pub get && flutter run +``` + +> `flutter/.env` 의 `API_URL` 을 백엔드 주소로 설정합니다. (Android 에뮬레이터는 `http://10.0.2.2:3000/api`) + +## 환경변수 + +`.env*` 는 커밋하지 않습니다. 각 디렉터리의 `*.example` 파일을 복사해 사용하세요. + +**루트 `.env.{env}` 가 단일 진실 공급원(SSOT)** 입니다. backend·frontend 는 docker-compose 가 +루트 값을 주입하므로 자체 env 에 값을 중복 작성하지 않습니다. (자세한 위임 구조는 [`CLAUDE.md`](./CLAUDE.md) 의 "환경변수 구조" 참조) + +| 파일 | 용도 | 값 작성 위치 | +| ----------------------------- | ---------------------------------------- | --------------------- | +| `.env.{env}.example` | 루트 — 모든 설정의 SSOT (compose 주입) | ✅ 여기에 작성 | +| `backend/.env.{env}.example` | 백엔드 — 고유 시크릿(JWT 등)만 | 최소 (존재 필수) | +| `frontend/.env.{env}.example` | 프론트 — 빌드 시 루트 `BACKEND_API_URL` 주입 | 작성 불필요 | +| `flutter/.env.example` | 모바일 — `API_URL` (compose 비대상) | ✅ 독립 관리 | + +`{env}` = `development` | `production` + +## 표준 응답 포맷 + +```jsonc +// 성공 +{ "success": true, "data": { /* ... */ } } +// 실패 +{ "success": false, "error": { "code": "VAL_001", "message": "..." } } +``` + +에러 코드 맵과 코딩 규칙 전문은 [`CLAUDE.md`](./CLAUDE.md) 및 `.claude/rules/`·`.claude/skills/` 의 규칙 문서를 참고하세요. + +## 개발 규칙 + +| 영역 | 문서 | +| --------- | ------------------------------------------------- | +| 공통/보안 | [`CLAUDE.md`](./CLAUDE.md) · [`.claude/rules/`](./.claude/rules/) | +| NestJS | [`.claude/skills/nestjs/SKILL.md`](./.claude/skills/nestjs/SKILL.md) | +| Vue 3 | [`.claude/skills/vue3/SKILL.md`](./.claude/skills/vue3/SKILL.md) | +| Flutter | [`.claude/skills/flutter/SKILL.md`](./.claude/skills/flutter/SKILL.md) | +| Docker | [`.claude/skills/docker/SKILL.md`](./.claude/skills/docker/SKILL.md) | + +## 디렉터리 구조 + +``` +. +├── backend/ # NestJS API (Controller / Service / DTO / 공통 필터·인터셉터) +├── frontend/ # Vue 3 (pages / components / composables / stores / router) +├── flutter/ # Flutter (core / features / widgets) +├── docker-compose.yml # 베이스 정의 +├── docker-compose.dev.yml # 개발 오버라이드 (핫리로드, 포트 노출) +├── CLAUDE.md # 프로젝트 개요 + 공통 규칙 @import +└── .claude/ + ├── settings.json # Claude Code 권한·환경 설정 + ├── rules/ # 공통 규칙 (코딩·응답 포맷·에러 코드·커밋·보안·환경변수) + └── skills/ # 도메인별 개발 규칙 (nestjs·vue3·flutter·docker) +``` diff --git a/backend/.env.development.example b/backend/.env.development.example new file mode 100644 index 0000000..e69de29 diff --git a/backend/.env.production.example b/backend/.env.production.example new file mode 100644 index 0000000..e69de29 diff --git a/backend/.gitignore b/backend/.gitignore new file mode 100644 index 0000000..1f75059 --- /dev/null +++ b/backend/.gitignore @@ -0,0 +1,58 @@ +# compiled output +/dist +/node_modules +/build + +# Logs +logs +*.log +npm-debug.log* +pnpm-debug.log* +yarn-debug.log* +yarn-error.log* +lerna-debug.log* + +# OS +.DS_Store + +# Tests +/coverage +/.nyc_output + +# IDEs and editors +/.idea +.project +.classpath +.c9/ +*.launch +.settings/ +*.sublime-workspace + +# IDE - VSCode +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json + +# dotenv environment variable files +.env +.env.development.local +.env.test.local +.env.production.local +.env.local +.env.development +.env.production + +# temp directory +.temp +.tmp + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Diagnostic reports (https://nodejs.org/api/report.html) +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json diff --git a/backend/.prettierrc b/backend/.prettierrc new file mode 100644 index 0000000..a20502b --- /dev/null +++ b/backend/.prettierrc @@ -0,0 +1,4 @@ +{ + "singleQuote": true, + "trailingComma": "all" +} diff --git a/backend/Dockerfile b/backend/Dockerfile new file mode 100644 index 0000000..61ac3f6 --- /dev/null +++ b/backend/Dockerfile @@ -0,0 +1,33 @@ +FROM node:20-alpine AS builder +WORKDIR /app + +# 호스트의 npm 11 이 작성한 package-lock.json 형식과 호환되도록 npm 을 11 로 업그레이드 +RUN npm install -g npm@11 + +# 재현 가능한 빌드를 위해 npm ci 사용 (lockfile 기반) +COPY package*.json ./ +RUN npm ci + +COPY . . +RUN npm run build + +FROM node:20-alpine AS production +WORKDIR /app + +ENV NODE_ENV=production + +# 운영 stage 도 동일 npm 버전 사용 +RUN npm install -g npm@11 + +# 운영용 의존성만 설치 +COPY package*.json ./ +RUN npm ci --omit=dev && npm cache clean --force + +COPY --from=builder /app/dist ./dist + +EXPOSE 3000 + +# 비-root 실행 (보안 규칙) +USER node + +CMD ["node", "dist/main"] \ No newline at end of file diff --git a/backend/README.md b/backend/README.md new file mode 100644 index 0000000..8f0f65f --- /dev/null +++ b/backend/README.md @@ -0,0 +1,98 @@ +

+ Nest Logo +

+ +[circleci-image]: https://img.shields.io/circleci/build/github/nestjs/nest/master?token=abc123def456 +[circleci-url]: https://circleci.com/gh/nestjs/nest + +

A progressive Node.js framework for building efficient and scalable server-side applications.

+

+NPM Version +Package License +NPM Downloads +CircleCI +Discord +Backers on Open Collective +Sponsors on Open Collective + Donate us + Support us + Follow us on Twitter +

+ + +## Description + +[Nest](https://github.com/nestjs/nest) framework TypeScript starter repository. + +## Project setup + +```bash +$ npm install +``` + +## Compile and run the project + +```bash +# development +$ npm run start + +# watch mode +$ npm run start:dev + +# production mode +$ npm run start:prod +``` + +## Run tests + +```bash +# unit tests +$ npm run test + +# e2e tests +$ npm run test:e2e + +# test coverage +$ npm run test:cov +``` + +## Deployment + +When you're ready to deploy your NestJS application to production, there are some key steps you can take to ensure it runs as efficiently as possible. Check out the [deployment documentation](https://docs.nestjs.com/deployment) for more information. + +If you are looking for a cloud-based platform to deploy your NestJS application, check out [Mau](https://mau.nestjs.com), our official platform for deploying NestJS applications on AWS. Mau makes deployment straightforward and fast, requiring just a few simple steps: + +```bash +$ npm install -g @nestjs/mau +$ mau deploy +``` + +With Mau, you can deploy your application in just a few clicks, allowing you to focus on building features rather than managing infrastructure. + +## Resources + +Check out a few resources that may come in handy when working with NestJS: + +- Visit the [NestJS Documentation](https://docs.nestjs.com) to learn more about the framework. +- For questions and support, please visit our [Discord channel](https://discord.gg/G7Qnnhy). +- To dive deeper and get more hands-on experience, check out our official video [courses](https://courses.nestjs.com/). +- Deploy your application to AWS with the help of [NestJS Mau](https://mau.nestjs.com) in just a few clicks. +- Visualize your application graph and interact with the NestJS application in real-time using [NestJS Devtools](https://devtools.nestjs.com). +- Need help with your project (part-time to full-time)? Check out our official [enterprise support](https://enterprise.nestjs.com). +- To stay in the loop and get updates, follow us on [X](https://x.com/nestframework) and [LinkedIn](https://linkedin.com/company/nestjs). +- Looking for a job, or have a job to offer? Check out our official [Jobs board](https://jobs.nestjs.com). + +## Support + +Nest is an MIT-licensed open source project. It can grow thanks to the sponsors and support by the amazing backers. If you'd like to join them, please [read more here](https://docs.nestjs.com/support). + +## Stay in touch + +- Author - [Kamil Myśliwiec](https://twitter.com/kammysliwiec) +- Website - [https://nestjs.com](https://nestjs.com/) +- Twitter - [@nestframework](https://twitter.com/nestframework) + +## License + +Nest is [MIT licensed](https://github.com/nestjs/nest/blob/master/LICENSE). diff --git a/backend/eslint.config.mjs b/backend/eslint.config.mjs new file mode 100644 index 0000000..4e9f827 --- /dev/null +++ b/backend/eslint.config.mjs @@ -0,0 +1,35 @@ +// @ts-check +import eslint from '@eslint/js'; +import eslintPluginPrettierRecommended from 'eslint-plugin-prettier/recommended'; +import globals from 'globals'; +import tseslint from 'typescript-eslint'; + +export default tseslint.config( + { + ignores: ['eslint.config.mjs'], + }, + eslint.configs.recommended, + ...tseslint.configs.recommendedTypeChecked, + eslintPluginPrettierRecommended, + { + languageOptions: { + globals: { + ...globals.node, + ...globals.jest, + }, + sourceType: 'commonjs', + parserOptions: { + projectService: true, + tsconfigRootDir: import.meta.dirname, + }, + }, + }, + { + rules: { + '@typescript-eslint/no-explicit-any': 'off', + '@typescript-eslint/no-floating-promises': 'warn', + '@typescript-eslint/no-unsafe-argument': 'warn', + "prettier/prettier": ["error", { endOfLine: "auto" }], + }, + }, +); diff --git a/backend/nest-cli.json b/backend/nest-cli.json new file mode 100644 index 0000000..04dc27f --- /dev/null +++ b/backend/nest-cli.json @@ -0,0 +1,10 @@ +{ + "$schema": "https://json.schemastore.org/nest-cli", + "collection": "@nestjs/schematics", + "sourceRoot": "src", + "compilerOptions": { + "deleteOutDir": true, + "builder": "swc", + "typeCheck": true + } +} \ No newline at end of file diff --git a/backend/package-lock.json b/backend/package-lock.json new file mode 100644 index 0000000..07e1a31 --- /dev/null +++ b/backend/package-lock.json @@ -0,0 +1,13651 @@ +{ + "name": "backend", + "version": "0.0.1", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "backend", + "version": "0.0.1", + "license": "UNLICENSED", + "dependencies": { + "@nestjs/cache-manager": "^3.0.1", + "@nestjs/common": "^11.0.1", + "@nestjs/config": "^4.0.3", + "@nestjs/core": "^11.0.1", + "@nestjs/platform-express": "^11.0.1", + "@nestjs/schedule": "^6.1.1", + "@nestjs/swagger": "^11.2.6", + "@nestjs/terminus": "^11.0.0", + "@nestjs/throttler": "^6.4.0", + "@nestjs/typeorm": "^11.0.1", + "cache-manager": "^6.4.0", + "class-transformer": "^0.5.1", + "class-validator": "^0.14.4", + "express-rate-limit": "^8.3.2", + "helmet": "^8.1.0", + "nest-winston": "^1.10.0", + "pg": "^8.20.0", + "reflect-metadata": "^0.2.2", + "rxjs": "^7.8.1", + "typeorm": "^0.3.28", + "winston": "^3.17.0" + }, + "devDependencies": { + "@eslint/eslintrc": "^3.2.0", + "@eslint/js": "^9.18.0", + "@nestjs/cli": "^11.0.0", + "@nestjs/schematics": "^11.0.0", + "@nestjs/testing": "^11.0.1", + "@swc/cli": "^0.8.1", + "@swc/core": "^1.15.24", + "@types/express": "^5.0.0", + "@types/jest": "^30.0.0", + "@types/node": "^22.10.7", + "@types/supertest": "^6.0.2", + "chokidar": "^5.0.0", + "eslint": "^9.18.0", + "eslint-config-prettier": "^10.0.1", + "eslint-plugin-prettier": "^5.2.2", + "globals": "^16.0.0", + "jest": "^30.0.0", + "prettier": "^3.4.2", + "source-map-support": "^0.5.21", + "supertest": "^7.0.0", + "ts-jest": "^29.2.5", + "ts-loader": "^9.5.2", + "ts-node": "^10.9.2", + "tsconfig-paths": "^4.2.0", + "typescript": "^5.7.3", + "typescript-eslint": "^8.20.0" + } + }, + "node_modules/@angular-devkit/schematics": { + "version": "19.2.27", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-19.2.27.tgz", + "integrity": "sha512-/PZmyAlb2NGWPikRRuiWLdfHQd8Wrx6lX4HqvTcaDhlU43M3T0ud4PH2T3QDp7BzHYY92xtD8iPxX2asg67G1A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "19.2.27", + "jsonc-parser": "3.3.1", + "magic-string": "0.30.17", + "ora": "5.4.1", + "rxjs": "7.8.1" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular-devkit/schematics-cli": { + "version": "19.2.27", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics-cli/-/schematics-cli-19.2.27.tgz", + "integrity": "sha512-wHYH6SVXVykhLzovUHtYor3Nl4SpIiITi7r9DQDaKYUD4hpRBx25W6N9eGuakT9Vd5tV/x6wmvQFWQZQwFB7eA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "19.2.27", + "@angular-devkit/schematics": "19.2.27", + "@inquirer/prompts": "7.3.2", + "ansi-colors": "4.1.3", + "symbol-observable": "4.0.0", + "yargs-parser": "21.1.1" + }, + "bin": { + "schematics": "bin/schematics.js" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular-devkit/schematics-cli/node_modules/@angular-devkit/core": { + "version": "19.2.27", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-19.2.27.tgz", + "integrity": "sha512-3amNzoCVSKd7ah6l6lBQL4onwwJvqvam7FMoQBILrxtW5LB5ezh8gMSPuA4zJjKjoRzf9uoWdlzqv/84I52xZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "8.18.0", + "ajv-formats": "3.0.1", + "jsonc-parser": "3.3.1", + "picomatch": "4.0.4", + "rxjs": "7.8.1", + "source-map": "0.7.4" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^4.0.0" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/@angular-devkit/schematics-cli/node_modules/@inquirer/prompts": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-7.3.2.tgz", + "integrity": "sha512-G1ytyOoHh5BphmEBxSwALin3n1KGNYB6yImbICcRQdzXfOGbuJ9Jske/Of5Sebk339NSGGNfUshnzK8YWkTPsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/checkbox": "^4.1.2", + "@inquirer/confirm": "^5.1.6", + "@inquirer/editor": "^4.2.7", + "@inquirer/expand": "^4.0.9", + "@inquirer/input": "^4.1.6", + "@inquirer/number": "^3.0.9", + "@inquirer/password": "^4.0.9", + "@inquirer/rawlist": "^4.0.9", + "@inquirer/search": "^3.0.9", + "@inquirer/select": "^4.0.9" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@angular-devkit/schematics-cli/node_modules/ajv": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@angular-devkit/schematics-cli/node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@angular-devkit/schematics-cli/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, + "node_modules/@angular-devkit/schematics-cli/node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@angular-devkit/schematics-cli/node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@angular-devkit/schematics-cli/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@angular-devkit/schematics/node_modules/@angular-devkit/core": { + "version": "19.2.27", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-19.2.27.tgz", + "integrity": "sha512-3amNzoCVSKd7ah6l6lBQL4onwwJvqvam7FMoQBILrxtW5LB5ezh8gMSPuA4zJjKjoRzf9uoWdlzqv/84I52xZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "8.18.0", + "ajv-formats": "3.0.1", + "jsonc-parser": "3.3.1", + "picomatch": "4.0.4", + "rxjs": "7.8.1", + "source-map": "0.7.4" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^4.0.0" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/@angular-devkit/schematics/node_modules/ajv": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@angular-devkit/schematics/node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@angular-devkit/schematics/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, + "node_modules/@angular-devkit/schematics/node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@angular-devkit/schematics/node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@angular-devkit/schematics/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz", + "integrity": "sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.29.7", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.7.tgz", + "integrity": "sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.7.tgz", + "integrity": "sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/code-frame": "^7.29.7", + "@babel/generator": "^7.29.7", + "@babel/helper-compilation-targets": "^7.29.7", + "@babel/helper-module-transforms": "^7.29.7", + "@babel/helpers": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/template": "^7.29.7", + "@babel/traverse": "^7.29.7", + "@babel/types": "^7.29.7", + "@jridgewell/remapping": "^2.3.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.7.tgz", + "integrity": "sha512-DkXD5OJQaAQIdZ1bt3UZdEnHAn9Imd3IVBdX03UFe+ony9Ojw5pzr9YVKGDY1jt+Gcn/FnGkNf8r+Vj5NOJWtQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.7", + "@babel/types": "^7.29.7", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.29.7.tgz", + "integrity": "sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.29.7", + "@babel/helper-validator-option": "^7.29.7", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.29.7.tgz", + "integrity": "sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.29.7.tgz", + "integrity": "sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.29.7", + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.29.7.tgz", + "integrity": "sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7", + "@babel/traverse": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.29.7.tgz", + "integrity": "sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.29.7.tgz", + "integrity": "sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz", + "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.29.7.tgz", + "integrity": "sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.7.tgz", + "integrity": "sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.29.7", + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.7.tgz", + "integrity": "sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.7" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.29.7.tgz", + "integrity": "sha512-zGYcYfq/WmZ4V+kBIXQon9dSSc8ircGZqw9ZaNhhGj9nZkeBu1jHLBDQqYYi5WA9uawvA2sIMbry2nCFhf5Djg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.29.7.tgz", + "integrity": "sha512-TSu8+mHCoEaaCDEZ0I3+6mvTBYR4PCxQwf2z9/r5Tbztv6NaLR3B9thGTTxX2WGuGHJqRiAbKPeGTJ5XWXVg6A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.29.7.tgz", + "integrity": "sha512-ngr+82Sh0xMz25TPCZi+nC2iTzjfCdWS2ONXTp/PtSCHCgaCNBpdMqgvJ2ccdLlClVZ7sisIgB914j/JFe+RZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.29.7.tgz", + "integrity": "sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.7.tgz", + "integrity": "sha512-EhlfNQtZ+NK22w5BM61ciuiq1m58ed33Wr1Xan//ZRTy6hgjnwyCffRYwzsGXdASJSUJ1guZILsErh1eQcl+zw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.7", + "@babel/generator": "^7.29.7", + "@babel/helper-globals": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/template": "^7.29.7", + "@babel/types": "^7.29.7", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.7.tgz", + "integrity": "sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@borewit/text-codec": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@borewit/text-codec/-/text-codec-0.2.2.tgz", + "integrity": "sha512-DDaRehssg1aNrH4+2hnj1B7vnUGEjU6OIlyRdkMd0aUdIUvKXrJfXsy8LVtXAy7DRvYVluWbMspsRhz2lcW0mQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, + "node_modules/@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@dabh/diagnostics": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.8.tgz", + "integrity": "sha512-R4MSXTVnuMzGD7bzHdW2ZhhdPC/igELENcq5IjEverBvq5hn1SXCWcsi6eSsdWP0/Ur+SItRRjAktmdoX/8R/Q==", + "license": "MIT", + "dependencies": { + "@so-ric/colorspace": "^1.1.6", + "enabled": "2.0.x", + "kuler": "^2.0.0" + } + }, + "node_modules/@emnapi/core": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.10.0.tgz", + "integrity": "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "@emnapi/wasi-threads": "1.2.1", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz", + "integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz", + "integrity": "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", + "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", + "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/config-array": { + "version": "0.21.2", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.2.tgz", + "integrity": "sha512-nJl2KGTlrf9GjLimgIru+V/mzgSK0ABCDQRvxw5BjURL7WfH5uoWmizbH7QB6MmnMBd8cIC9uceWnezL1VZWWw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^2.1.7", + "debug": "^4.3.1", + "minimatch": "^3.1.5" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/config-helpers": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz", + "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.17.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/core": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz", + "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.5.tgz", + "integrity": "sha512-4IlJx0X0qftVsN5E+/vGujTRIFtwuLbNsVUe7TO6zYPDR1O6nFwvwhIKEKSrl6dZchmYBITazxKoUYOjdtjlRg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.14.0", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.1", + "minimatch": "^3.1.5", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/js": { + "version": "9.39.4", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.4.tgz", + "integrity": "sha512-nE7DEIchvtiFTwBw4Lfbu59PG+kCofhjsKaCWzxTpt4lfRjRMqG6uMBzKXuEcyXhOHoUp9riAm7/aWYGhXZ9cw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz", + "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz", + "integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.17.0", + "levn": "^0.4.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@humanfs/core": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.2.tgz", + "integrity": "sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/types": "^0.15.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.8", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.8.tgz", + "integrity": "sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/core": "^0.19.2", + "@humanfs/types": "^0.15.0", + "@humanwhocodes/retry": "^0.4.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/types": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@humanfs/types/-/types-0.15.0.tgz", + "integrity": "sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@inquirer/ansi": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/ansi/-/ansi-1.0.2.tgz", + "integrity": "sha512-S8qNSZiYzFd0wAcyG5AXCvUHC5Sr7xpZ9wZ2py9XR88jUz8wooStVx5M6dRzczbBWjic9NP7+rY0Xi7qqK/aMQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/checkbox": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-4.3.2.tgz", + "integrity": "sha512-VXukHf0RR1doGe6Sm4F0Em7SWYLTHSsbGfJdS9Ja2bX5/D5uwVOEjr07cncLROdBvmnvCATYEWlHqYmXv2IlQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/ansi": "^1.0.2", + "@inquirer/core": "^10.3.2", + "@inquirer/figures": "^1.0.15", + "@inquirer/type": "^3.0.10", + "yoctocolors-cjs": "^2.1.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/confirm": { + "version": "5.1.21", + "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.1.21.tgz", + "integrity": "sha512-KR8edRkIsUayMXV+o3Gv+q4jlhENF9nMYUZs9PA2HzrXeHI8M5uDag70U7RJn9yyiMZSbtF5/UexBtAVtZGSbQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.3.2", + "@inquirer/type": "^3.0.10" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/core": { + "version": "10.3.2", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.3.2.tgz", + "integrity": "sha512-43RTuEbfP8MbKzedNqBrlhhNKVwoK//vUFNW3Q3vZ88BLcrs4kYpGg+B2mm5p2K/HfygoCxuKwJJiv8PbGmE0A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/ansi": "^1.0.2", + "@inquirer/figures": "^1.0.15", + "@inquirer/type": "^3.0.10", + "cli-width": "^4.1.0", + "mute-stream": "^2.0.0", + "signal-exit": "^4.1.0", + "wrap-ansi": "^6.2.0", + "yoctocolors-cjs": "^2.1.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/editor": { + "version": "4.2.23", + "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-4.2.23.tgz", + "integrity": "sha512-aLSROkEwirotxZ1pBaP8tugXRFCxW94gwrQLxXfrZsKkfjOYC1aRvAZuhpJOb5cu4IBTJdsCigUlf2iCOu4ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.3.2", + "@inquirer/external-editor": "^1.0.3", + "@inquirer/type": "^3.0.10" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/expand": { + "version": "4.0.23", + "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-4.0.23.tgz", + "integrity": "sha512-nRzdOyFYnpeYTTR2qFwEVmIWypzdAx/sIkCMeTNTcflFOovfqUk+HcFhQQVBftAh9gmGrpFj6QcGEqrDMDOiew==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.3.2", + "@inquirer/type": "^3.0.10", + "yoctocolors-cjs": "^2.1.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/external-editor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@inquirer/external-editor/-/external-editor-1.0.3.tgz", + "integrity": "sha512-RWbSrDiYmO4LbejWY7ttpxczuwQyZLBUyygsA9Nsv95hpzUWwnNTVQmAq3xuh7vNwCp07UTmE5i11XAEExx4RA==", + "dev": true, + "license": "MIT", + "dependencies": { + "chardet": "^2.1.1", + "iconv-lite": "^0.7.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/figures": { + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.15.tgz", + "integrity": "sha512-t2IEY+unGHOzAaVM5Xx6DEWKeXlDDcNPeDyUpsRc6CUhBfU3VQOEl+Vssh7VNp1dR8MdUJBWhuObjXCsVpjN5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/input": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-4.3.1.tgz", + "integrity": "sha512-kN0pAM4yPrLjJ1XJBjDxyfDduXOuQHrBB8aLDMueuwUGn+vNpF7Gq7TvyVxx8u4SHlFFj4trmj+a2cbpG4Jn1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.3.2", + "@inquirer/type": "^3.0.10" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/number": { + "version": "3.0.23", + "resolved": "https://registry.npmjs.org/@inquirer/number/-/number-3.0.23.tgz", + "integrity": "sha512-5Smv0OK7K0KUzUfYUXDXQc9jrf8OHo4ktlEayFlelCjwMXz0299Y8OrI+lj7i4gCBY15UObk76q0QtxjzFcFcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.3.2", + "@inquirer/type": "^3.0.10" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/password": { + "version": "4.0.23", + "resolved": "https://registry.npmjs.org/@inquirer/password/-/password-4.0.23.tgz", + "integrity": "sha512-zREJHjhT5vJBMZX/IUbyI9zVtVfOLiTO66MrF/3GFZYZ7T4YILW5MSkEYHceSii/KtRk+4i3RE7E1CUXA2jHcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/ansi": "^1.0.2", + "@inquirer/core": "^10.3.2", + "@inquirer/type": "^3.0.10" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/prompts": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-7.10.1.tgz", + "integrity": "sha512-Dx/y9bCQcXLI5ooQ5KyvA4FTgeo2jYj/7plWfV5Ak5wDPKQZgudKez2ixyfz7tKXzcJciTxqLeK7R9HItwiByg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/checkbox": "^4.3.2", + "@inquirer/confirm": "^5.1.21", + "@inquirer/editor": "^4.2.23", + "@inquirer/expand": "^4.0.23", + "@inquirer/input": "^4.3.1", + "@inquirer/number": "^3.0.23", + "@inquirer/password": "^4.0.23", + "@inquirer/rawlist": "^4.1.11", + "@inquirer/search": "^3.2.2", + "@inquirer/select": "^4.4.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/rawlist": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-4.1.11.tgz", + "integrity": "sha512-+LLQB8XGr3I5LZN/GuAHo+GpDJegQwuPARLChlMICNdwW7OwV2izlCSCxN6cqpL0sMXmbKbFcItJgdQq5EBXTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.3.2", + "@inquirer/type": "^3.0.10", + "yoctocolors-cjs": "^2.1.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/search": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@inquirer/search/-/search-3.2.2.tgz", + "integrity": "sha512-p2bvRfENXCZdWF/U2BXvnSI9h+tuA8iNqtUKb9UWbmLYCRQxd8WkvwWvYn+3NgYaNwdUkHytJMGG4MMLucI1kA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.3.2", + "@inquirer/figures": "^1.0.15", + "@inquirer/type": "^3.0.10", + "yoctocolors-cjs": "^2.1.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/select": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-4.4.2.tgz", + "integrity": "sha512-l4xMuJo55MAe+N7Qr4rX90vypFwCajSakx59qe/tMaC1aEHWLyw68wF4o0A4SLAY4E0nd+Vt+EyskeDIqu1M6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/ansi": "^1.0.2", + "@inquirer/core": "^10.3.2", + "@inquirer/figures": "^1.0.15", + "@inquirer/type": "^3.0.10", + "yoctocolors-cjs": "^2.1.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/type": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.10.tgz", + "integrity": "sha512-BvziSRxfz5Ov8ch0z/n3oijRSEcEsHnhggm4xFZe93DHcUCTlutlq9Ox4SVENAfcRD22UQq7T/atg9Wr3k09eA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "license": "MIT" + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.2.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz", + "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.6.tgz", + "integrity": "sha512-+Sg6GCR/wy1oSmQDFq4LQDAhm3ETKnorxN+y5nbLULOR3P0c14f2Wurzj3/xqPXtasLFfHd5iRFQ7AJt4KH2cw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-30.4.1.tgz", + "integrity": "sha512-v3bhyxUh9Hgmo5p6hAOXe14/R3ZxZDOsvHleh4B07z3m/x4/ngPUXEm9XwK4sF4u+f+P2ORb0Ge+MgpaqRMVDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "30.4.1", + "@types/node": "*", + "chalk": "^4.1.2", + "jest-message-util": "30.4.1", + "jest-util": "30.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/core": { + "version": "30.4.2", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-30.4.2.tgz", + "integrity": "sha512-TZJA6cPJUFxoWhxaLo8t0VX/MZX2wPWr0uIDvLSHIvN4gu9h02vSzqI2kBADG1ExqQlC+cY09xKMSreivvrChQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/console": "30.4.1", + "@jest/pattern": "30.4.0", + "@jest/reporters": "30.4.1", + "@jest/test-result": "30.4.1", + "@jest/transform": "30.4.1", + "@jest/types": "30.4.1", + "@types/node": "*", + "ansi-escapes": "^4.3.2", + "chalk": "^4.1.2", + "ci-info": "^4.2.0", + "exit-x": "^0.2.2", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.11", + "jest-changed-files": "30.4.1", + "jest-config": "30.4.2", + "jest-haste-map": "30.4.1", + "jest-message-util": "30.4.1", + "jest-regex-util": "30.4.0", + "jest-resolve": "30.4.1", + "jest-resolve-dependencies": "30.4.2", + "jest-runner": "30.4.2", + "jest-runtime": "30.4.2", + "jest-snapshot": "30.4.1", + "jest-util": "30.4.1", + "jest-validate": "30.4.1", + "jest-watcher": "30.4.1", + "pretty-format": "30.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/diff-sequences": { + "version": "30.4.0", + "resolved": "https://registry.npmjs.org/@jest/diff-sequences/-/diff-sequences-30.4.0.tgz", + "integrity": "sha512-zOpzlfUs45l6u7jm39qr87JCHUDsaeCtvL+kQe/Vn9jSnRB4/5IPXISm0h9I1vZW/o00Kn4UTJ2MOlhnUGwv3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/environment": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-30.4.1.tgz", + "integrity": "sha512-AK9yNRqgKxiabqMoe4oW+3/TSSeV8vkdC7BGaxZdU0AFXfOpofTLqdru2GXKZghP3sdgwE9XXpnVwfZ8JnFV4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/fake-timers": "30.4.1", + "@jest/types": "30.4.1", + "@types/node": "*", + "jest-mock": "30.4.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/expect": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-30.4.1.tgz", + "integrity": "sha512-ginrj6TMgh2GshLUGCjO94Ptx9HhdZA/I6A9iUfyeLKFtdAjnKzHDgzgP9HYQgbxM1lbXScQ2eUBz2lGeVDPWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "expect": "30.4.1", + "jest-snapshot": "30.4.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/expect-utils": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-30.4.1.tgz", + "integrity": "sha512-ZBn5CglH8fBsQsvs4VWNzD4aWfUYks+IdOOQU3MEK71ol/BcVm+P+rtb1KpiFBpSWSCE27uOahyyf1vfqOVbcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/get-type": "30.1.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/fake-timers": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-30.4.1.tgz", + "integrity": "sha512-iW5umdmfPeWzehrVhugFQZqCchSCud5S1l2YT0O9ZhjRR0ExclANDZkiSBwzqtnlOn0J1JXvO+HZ6rkuyOVOgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "30.4.1", + "@sinonjs/fake-timers": "^15.4.0", + "@types/node": "*", + "jest-message-util": "30.4.1", + "jest-mock": "30.4.1", + "jest-util": "30.4.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/get-type": { + "version": "30.1.0", + "resolved": "https://registry.npmjs.org/@jest/get-type/-/get-type-30.1.0.tgz", + "integrity": "sha512-eMbZE2hUnx1WV0pmURZY9XoXPkUYjpc55mb0CrhtdWLtzMQPFvu/rZkTLZFTsdaVQa+Tr4eWAteqcUzoawq/uA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/globals": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-30.4.1.tgz", + "integrity": "sha512-ZbuY4cmXC8DkxYjfvT2DbcHWL2T6vmsMhXCDcmTB2T0y0gaezBI77ufq5ZAIdcRkYZ7NEQEDg1xFeKbxUJ5v5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "30.4.1", + "@jest/expect": "30.4.1", + "@jest/types": "30.4.1", + "jest-mock": "30.4.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/pattern": { + "version": "30.4.0", + "resolved": "https://registry.npmjs.org/@jest/pattern/-/pattern-30.4.0.tgz", + "integrity": "sha512-RAWn3+f9u8BsHijKJ71uHcFp6vmyEt6VvoWXkl6hKF3qVIuWNmudVjg12DlBPGup/frIl5UcUlH5HfEuvHpEXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "jest-regex-util": "30.4.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/reporters": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-30.4.1.tgz", + "integrity": "sha512-/SnkPCzEQpUaBH81kjdEdDdo2WZl5hxw+BmLDGWjRkm8o7XlhjwsU36cqwe5PGBE5WYpBvDzRSdXx9rbGuJtNA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "30.4.1", + "@jest/test-result": "30.4.1", + "@jest/transform": "30.4.1", + "@jest/types": "30.4.1", + "@jridgewell/trace-mapping": "^0.3.25", + "@types/node": "*", + "chalk": "^4.1.2", + "collect-v8-coverage": "^1.0.2", + "exit-x": "^0.2.2", + "glob": "^10.5.0", + "graceful-fs": "^4.2.11", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^6.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^5.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "30.4.1", + "jest-util": "30.4.1", + "jest-worker": "30.4.1", + "slash": "^3.0.0", + "string-length": "^4.0.2", + "v8-to-istanbul": "^9.0.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/reporters/node_modules/brace-expansion": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.1.tgz", + "integrity": "sha512-WR1cURNjuvBLMZBMbqM0UoE+WAfdUcEV1ccD8PVBVOI+Z3ND4+SZbN8RsfT2bMuG1qwz5RFvPukSZm5fF2D5eA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@jest/reporters/node_modules/glob": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz", + "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@jest/reporters/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/@jest/reporters/node_modules/minimatch": { + "version": "9.0.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz", + "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.2" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@jest/reporters/node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@jest/schemas": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.4.1.tgz", + "integrity": "sha512-i6b4qw5qnP8c5FEeBJg/uZQ4ddrkN6Ca8qISJh0pr7a5hfn3h3v5x60BEbOC7OYAGZNMs1LfFLwnW2CuK8F57Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@sinclair/typebox": "^0.34.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/snapshot-utils": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/@jest/snapshot-utils/-/snapshot-utils-30.4.1.tgz", + "integrity": "sha512-ObY4ljvQ95mt6iwKtVLetR/4yXiAgl3H4nJxhztr0MTjrN97TwDYrnCp/kF60Ec9HdhkWTHSu+Hg05aXfngpOA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "30.4.1", + "chalk": "^4.1.2", + "graceful-fs": "^4.2.11", + "natural-compare": "^1.4.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/source-map": { + "version": "30.0.1", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-30.0.1.tgz", + "integrity": "sha512-MIRWMUUR3sdbP36oyNyhbThLHyJ2eEDClPCiHVbrYAe5g3CHRArIVpBw7cdSB5fr+ofSfIb2Tnsw8iEHL0PYQg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.25", + "callsites": "^3.1.0", + "graceful-fs": "^4.2.11" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/test-result": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-30.4.1.tgz", + "integrity": "sha512-/ZG7pgEiOmmWkN9TplKbOu4id2N5lh7FHwRwlkgBVAzGdRH+OkkQ8wX/kIxg4zmd3ZQvAL1RwL2yWsvNYYECTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/console": "30.4.1", + "@jest/types": "30.4.1", + "@types/istanbul-lib-coverage": "^2.0.6", + "collect-v8-coverage": "^1.0.2" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-30.4.1.tgz", + "integrity": "sha512-PeYE+4td5rKjoRPxztObrXU+H8hsjZfxKMXOcmrr34JerSyB/ROOxbbicz8B7A5j9R9VayDnVPvBmedqCsFCdw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/test-result": "30.4.1", + "graceful-fs": "^4.2.11", + "jest-haste-map": "30.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/transform": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-30.4.1.tgz", + "integrity": "sha512-Wz0LyktlTvRefoymh+n64hQ84KNXsRGcwdoZ8CSa0Ea+fgYcHZlnk+hDP7v2MS7il2bQ5uTEIxf4/NNfhMN4KQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.27.4", + "@jest/types": "30.4.1", + "@jridgewell/trace-mapping": "^0.3.25", + "babel-plugin-istanbul": "^7.0.1", + "chalk": "^4.1.2", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.11", + "jest-haste-map": "30.4.1", + "jest-regex-util": "30.4.0", + "jest-util": "30.4.1", + "pirates": "^4.0.7", + "slash": "^3.0.0", + "write-file-atomic": "^5.0.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/types": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-30.4.1.tgz", + "integrity": "sha512-f1x/vJXIfjOlEmejYpbkbgw1gOqpPECwMvMEtBqe47j7H2Hg8h8w3o3ikhSXq3MI15kg+oQ0exWO0uCtTNJLoQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/pattern": "30.4.0", + "@jest/schemas": "30.4.1", + "@types/istanbul-lib-coverage": "^2.0.6", + "@types/istanbul-reports": "^3.0.4", + "@types/node": "*", + "@types/yargs": "^17.0.33", + "chalk": "^4.1.2" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.11", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.11.tgz", + "integrity": "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@keyv/serialize": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@keyv/serialize/-/serialize-1.1.1.tgz", + "integrity": "sha512-dXn3FZhPv0US+7dtJsIi2R+c7qWYiReoEh5zUntWCf4oSpMNib8FDhSoed6m3QyZdx5hK7iLFkYk3rNxwt8vTA==", + "license": "MIT" + }, + "node_modules/@lukeed/csprng": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@lukeed/csprng/-/csprng-1.1.0.tgz", + "integrity": "sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@microsoft/tsdoc": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/@microsoft/tsdoc/-/tsdoc-0.16.0.tgz", + "integrity": "sha512-xgAyonlVVS+q7Vc7qLW0UrJU7rSFcETRWsqdXZtjzRU8dF+6CkozTK4V4y1LwOX7j8r/vHphjDeMeGI4tNGeGA==", + "license": "MIT" + }, + "node_modules/@napi-rs/nice": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice/-/nice-1.1.1.tgz", + "integrity": "sha512-xJIPs+bYuc9ASBl+cvGsKbGrJmS6fAKaSZCnT0lhahT5rhA2VVy9/EcIgd2JhtEuFOJNx7UHNn/qiTPTY4nrQw==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "optionalDependencies": { + "@napi-rs/nice-android-arm-eabi": "1.1.1", + "@napi-rs/nice-android-arm64": "1.1.1", + "@napi-rs/nice-darwin-arm64": "1.1.1", + "@napi-rs/nice-darwin-x64": "1.1.1", + "@napi-rs/nice-freebsd-x64": "1.1.1", + "@napi-rs/nice-linux-arm-gnueabihf": "1.1.1", + "@napi-rs/nice-linux-arm64-gnu": "1.1.1", + "@napi-rs/nice-linux-arm64-musl": "1.1.1", + "@napi-rs/nice-linux-ppc64-gnu": "1.1.1", + "@napi-rs/nice-linux-riscv64-gnu": "1.1.1", + "@napi-rs/nice-linux-s390x-gnu": "1.1.1", + "@napi-rs/nice-linux-x64-gnu": "1.1.1", + "@napi-rs/nice-linux-x64-musl": "1.1.1", + "@napi-rs/nice-openharmony-arm64": "1.1.1", + "@napi-rs/nice-win32-arm64-msvc": "1.1.1", + "@napi-rs/nice-win32-ia32-msvc": "1.1.1", + "@napi-rs/nice-win32-x64-msvc": "1.1.1" + } + }, + "node_modules/@napi-rs/nice-android-arm-eabi": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-android-arm-eabi/-/nice-android-arm-eabi-1.1.1.tgz", + "integrity": "sha512-kjirL3N6TnRPv5iuHw36wnucNqXAO46dzK9oPb0wj076R5Xm8PfUVA9nAFB5ZNMmfJQJVKACAPd/Z2KYMppthw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-android-arm64": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-android-arm64/-/nice-android-arm64-1.1.1.tgz", + "integrity": "sha512-blG0i7dXgbInN5urONoUCNf+DUEAavRffrO7fZSeoRMJc5qD+BJeNcpr54msPF6qfDD6kzs9AQJogZvT2KD5nw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-darwin-arm64": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-darwin-arm64/-/nice-darwin-arm64-1.1.1.tgz", + "integrity": "sha512-s/E7w45NaLqTGuOjC2p96pct4jRfo61xb9bU1unM/MJ/RFkKlJyJDx7OJI/O0ll/hrfpqKopuAFDV8yo0hfT7A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-darwin-x64": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-darwin-x64/-/nice-darwin-x64-1.1.1.tgz", + "integrity": "sha512-dGoEBnVpsdcC+oHHmW1LRK5eiyzLwdgNQq3BmZIav+9/5WTZwBYX7r5ZkQC07Nxd3KHOCkgbHSh4wPkH1N1LiQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-freebsd-x64": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-freebsd-x64/-/nice-freebsd-x64-1.1.1.tgz", + "integrity": "sha512-kHv4kEHAylMYmlNwcQcDtXjklYp4FCf0b05E+0h6nDHsZ+F0bDe04U/tXNOqrx5CmIAth4vwfkjjUmp4c4JktQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-arm-gnueabihf": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm-gnueabihf/-/nice-linux-arm-gnueabihf-1.1.1.tgz", + "integrity": "sha512-E1t7K0efyKXZDoZg1LzCOLxgolxV58HCkaEkEvIYQx12ht2pa8hoBo+4OB3qh7e+QiBlp1SRf+voWUZFxyhyqg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-arm64-gnu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm64-gnu/-/nice-linux-arm64-gnu-1.1.1.tgz", + "integrity": "sha512-CIKLA12DTIZlmTaaKhQP88R3Xao+gyJxNWEn04wZwC2wmRapNnxCUZkVwggInMJvtVElA+D4ZzOU5sX4jV+SmQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-arm64-musl": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm64-musl/-/nice-linux-arm64-musl-1.1.1.tgz", + "integrity": "sha512-+2Rzdb3nTIYZ0YJF43qf2twhqOCkiSrHx2Pg6DJaCPYhhaxbLcdlV8hCRMHghQ+EtZQWGNcS2xF4KxBhSGeutg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-ppc64-gnu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-ppc64-gnu/-/nice-linux-ppc64-gnu-1.1.1.tgz", + "integrity": "sha512-4FS8oc0GeHpwvv4tKciKkw3Y4jKsL7FRhaOeiPei0X9T4Jd619wHNe4xCLmN2EMgZoeGg+Q7GY7BsvwKpL22Tg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-riscv64-gnu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-riscv64-gnu/-/nice-linux-riscv64-gnu-1.1.1.tgz", + "integrity": "sha512-HU0nw9uD4FO/oGCCk409tCi5IzIZpH2agE6nN4fqpwVlCn5BOq0MS1dXGjXaG17JaAvrlpV5ZeyZwSon10XOXw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-s390x-gnu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-s390x-gnu/-/nice-linux-s390x-gnu-1.1.1.tgz", + "integrity": "sha512-2YqKJWWl24EwrX0DzCQgPLKQBxYDdBxOHot1KWEq7aY2uYeX+Uvtv4I8xFVVygJDgf6/92h9N3Y43WPx8+PAgQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-x64-gnu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-x64-gnu/-/nice-linux-x64-gnu-1.1.1.tgz", + "integrity": "sha512-/gaNz3R92t+dcrfCw/96pDopcmec7oCcAQ3l/M+Zxr82KT4DljD37CpgrnXV+pJC263JkW572pdbP3hP+KjcIg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-x64-musl": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-x64-musl/-/nice-linux-x64-musl-1.1.1.tgz", + "integrity": "sha512-xScCGnyj/oppsNPMnevsBe3pvNaoK7FGvMjT35riz9YdhB2WtTG47ZlbxtOLpjeO9SqqQ2J2igCmz6IJOD5JYw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-openharmony-arm64": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-openharmony-arm64/-/nice-openharmony-arm64-1.1.1.tgz", + "integrity": "sha512-6uJPRVwVCLDeoOaNyeiW0gp2kFIM4r7PL2MczdZQHkFi9gVlgm+Vn+V6nTWRcu856mJ2WjYJiumEajfSm7arPQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-win32-arm64-msvc": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-arm64-msvc/-/nice-win32-arm64-msvc-1.1.1.tgz", + "integrity": "sha512-uoTb4eAvM5B2aj/z8j+Nv8OttPf2m+HVx3UjA5jcFxASvNhQriyCQF1OB1lHL43ZhW+VwZlgvjmP5qF3+59atA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-win32-ia32-msvc": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-ia32-msvc/-/nice-win32-ia32-msvc-1.1.1.tgz", + "integrity": "sha512-CNQqlQT9MwuCsg1Vd/oKXiuH+TcsSPJmlAFc5frFyX/KkOh0UpBLEj7aoY656d5UKZQMQFP7vJNa1DNUNORvug==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-win32-x64-msvc": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-x64-msvc/-/nice-win32-x64-msvc-1.1.1.tgz", + "integrity": "sha512-vB+4G/jBQCAh0jelMTY3+kgFy00Hlx2f2/1zjMoH821IbplbWZOkLiTYXQkygNTzQJTq5cvwBDgn2ppHD+bglQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.5.tgz", + "integrity": "sha512-AWPoBRJ9tsnVhor4sjO7rkni+7p+2IAEFj6cx06UgP10jkQHqay/36uRV/bFkgrh18D9vb4cr8Q0Pthskgzy+Q==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@tybys/wasm-util": "^0.10.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "peerDependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1" + } + }, + "node_modules/@nestjs/cache-manager": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@nestjs/cache-manager/-/cache-manager-3.1.3.tgz", + "integrity": "sha512-HMtiOfHz75NZX7mJn1VnZGLSachVI04TnUc5wvEogIaKwk5BDQHgtP5htxreizjv7oxKalJbuTyxtiF6bE+bgQ==", + "license": "MIT", + "peerDependencies": { + "@nestjs/common": "^9.0.0 || ^10.0.0 || ^11.0.0", + "@nestjs/core": "^9.0.0 || ^10.0.0 || ^11.0.0", + "cache-manager": ">=6", + "keyv": ">=5", + "rxjs": "^7.8.1" + } + }, + "node_modules/@nestjs/cli": { + "version": "11.0.23", + "resolved": "https://registry.npmjs.org/@nestjs/cli/-/cli-11.0.23.tgz", + "integrity": "sha512-2V0Bf5jz0KXhUZk3eJi9GljIyqH04otwsE/mYLbqJR+X0iiYx+6bkNJ2Qz28uHNFj1cpHgimf9xDzHkqarie0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "19.2.27", + "@angular-devkit/schematics": "19.2.27", + "@angular-devkit/schematics-cli": "19.2.27", + "@inquirer/prompts": "7.10.1", + "@nestjs/schematics": "^11.0.1", + "ansis": "4.2.0", + "chokidar": "4.0.3", + "cli-table3": "0.6.5", + "commander": "4.1.1", + "fork-ts-checker-webpack-plugin": "9.1.0", + "glob": "13.0.6", + "node-emoji": "1.11.0", + "ora": "5.4.1", + "tsconfig-paths": "4.2.0", + "tsconfig-paths-webpack-plugin": "4.2.0", + "typescript": "5.9.3", + "webpack": "5.106.2", + "webpack-node-externals": "3.0.0" + }, + "bin": { + "nest": "bin/nest.js" + }, + "engines": { + "node": ">= 20.11" + }, + "peerDependencies": { + "@swc/cli": "^0.1.62 || ^0.3.0 || ^0.4.0 || ^0.5.0 || ^0.6.0 || ^0.7.0 || ^0.8.0", + "@swc/core": "^1.3.62" + }, + "peerDependenciesMeta": { + "@swc/cli": { + "optional": true + }, + "@swc/core": { + "optional": true + } + } + }, + "node_modules/@nestjs/cli/node_modules/@angular-devkit/core": { + "version": "19.2.27", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-19.2.27.tgz", + "integrity": "sha512-3amNzoCVSKd7ah6l6lBQL4onwwJvqvam7FMoQBILrxtW5LB5ezh8gMSPuA4zJjKjoRzf9uoWdlzqv/84I52xZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "8.18.0", + "ajv-formats": "3.0.1", + "jsonc-parser": "3.3.1", + "picomatch": "4.0.4", + "rxjs": "7.8.1", + "source-map": "0.7.4" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^4.0.0" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/@nestjs/cli/node_modules/ajv": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@nestjs/cli/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/@nestjs/cli/node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@nestjs/cli/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@nestjs/cli/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/@nestjs/cli/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, + "node_modules/@nestjs/cli/node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@nestjs/cli/node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@nestjs/cli/node_modules/schema-utils": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz", + "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/@nestjs/cli/node_modules/schema-utils/node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/@nestjs/cli/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nestjs/cli/node_modules/webpack": { + "version": "5.106.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.106.2.tgz", + "integrity": "sha512-wGN3qcrBQIFmQ/c0AiOAQBvrZ5lmY8vbbMv4Mxfgzqd/B6+9pXtLo73WuS1dSGXM5QYY3hZnIbvx+K1xxe6FyA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/eslint-scope": "^3.7.7", + "@types/estree": "^1.0.8", + "@types/json-schema": "^7.0.15", + "@webassemblyjs/ast": "^1.14.1", + "@webassemblyjs/wasm-edit": "^1.14.1", + "@webassemblyjs/wasm-parser": "^1.14.1", + "acorn": "^8.16.0", + "acorn-import-phases": "^1.0.3", + "browserslist": "^4.28.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.20.0", + "es-module-lexer": "^2.0.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.11", + "loader-runner": "^4.3.1", + "mime-db": "^1.54.0", + "neo-async": "^2.6.2", + "schema-utils": "^4.3.3", + "tapable": "^2.3.0", + "terser-webpack-plugin": "^5.3.17", + "watchpack": "^2.5.1", + "webpack-sources": "^3.3.4" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/@nestjs/common": { + "version": "11.1.27", + "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-11.1.27.tgz", + "integrity": "sha512-kEGSzqM2lWr4whh4Ubflw+oPZSEzxvRMu9WL+LveZploJWTjec5bBlCiRVlVzTPg2kIwBiLwWSvCCW7Wnin1gg==", + "license": "MIT", + "peer": true, + "dependencies": { + "file-type": "21.3.4", + "iterare": "1.2.1", + "load-esm": "1.0.3", + "tslib": "2.8.1", + "uid": "2.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nest" + }, + "peerDependencies": { + "class-transformer": ">=0.4.1", + "class-validator": ">=0.13.2", + "reflect-metadata": "^0.1.12 || ^0.2.0", + "rxjs": "^7.1.0" + }, + "peerDependenciesMeta": { + "class-transformer": { + "optional": true + }, + "class-validator": { + "optional": true + } + } + }, + "node_modules/@nestjs/config": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@nestjs/config/-/config-4.0.4.tgz", + "integrity": "sha512-CJPjNitr0bAufSEnRe2N+JbnVmMmDoo6hvKCPzXgZoGwJSmp/dZPk9f/RMbuD/+Q1ZJPjwsRpq0vxna++Knwow==", + "license": "MIT", + "dependencies": { + "dotenv": "17.4.1", + "dotenv-expand": "12.0.3", + "lodash": "4.18.1" + }, + "peerDependencies": { + "@nestjs/common": "^10.0.0 || ^11.0.0", + "rxjs": "^7.1.0" + } + }, + "node_modules/@nestjs/core": { + "version": "11.1.27", + "resolved": "https://registry.npmjs.org/@nestjs/core/-/core-11.1.27.tgz", + "integrity": "sha512-K6DX7hcqmZdeXkv7tsPakKBRCgqL19a4mtbX4FluY0hWtFdtPKp6lbe+lb8gWPfvLdbOWr/CPScn7BSjBX+Ecg==", + "license": "MIT", + "peer": true, + "dependencies": { + "fast-safe-stringify": "2.1.1", + "iterare": "1.2.1", + "path-to-regexp": "8.4.2", + "tslib": "2.8.1", + "uid": "2.0.2" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nest" + }, + "peerDependencies": { + "@nestjs/common": "^11.0.0", + "@nestjs/microservices": "^11.0.0", + "@nestjs/platform-express": "^11.0.0", + "@nestjs/websockets": "^11.0.0", + "reflect-metadata": "^0.1.12 || ^0.2.0", + "rxjs": "^7.1.0" + }, + "peerDependenciesMeta": { + "@nestjs/microservices": { + "optional": true + }, + "@nestjs/platform-express": { + "optional": true + }, + "@nestjs/websockets": { + "optional": true + } + } + }, + "node_modules/@nestjs/mapped-types": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@nestjs/mapped-types/-/mapped-types-2.1.1.tgz", + "integrity": "sha512-SCCoMEJ6jdeI5h/N+KCVF1+pmg/hmEkNA5nHTS8Gvww7T/LCl4o1gFLinw2iQ60w7slFkszHcGLKGdazVI4F8A==", + "license": "MIT", + "peerDependencies": { + "@nestjs/common": "^10.0.0 || ^11.0.0", + "class-transformer": "^0.4.0 || ^0.5.0", + "class-validator": "^0.13.0 || ^0.14.0 || ^0.15.0", + "reflect-metadata": "^0.1.12 || ^0.2.0" + }, + "peerDependenciesMeta": { + "class-transformer": { + "optional": true + }, + "class-validator": { + "optional": true + } + } + }, + "node_modules/@nestjs/platform-express": { + "version": "11.1.27", + "resolved": "https://registry.npmjs.org/@nestjs/platform-express/-/platform-express-11.1.27.tgz", + "integrity": "sha512-0ZFhz6H6EdGh4xQVbUNwjoAwBuz73P7FvUAl67h9CTdMqQlJDaQYJApBv8pKfVZ1fGjMCbl0m9DcC6pXaZPWSQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "cors": "2.8.6", + "express": "5.2.1", + "multer": "2.1.1", + "path-to-regexp": "8.4.2", + "tslib": "2.8.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nest" + }, + "peerDependencies": { + "@nestjs/common": "^11.0.0", + "@nestjs/core": "^11.0.0" + } + }, + "node_modules/@nestjs/schedule": { + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/@nestjs/schedule/-/schedule-6.1.3.tgz", + "integrity": "sha512-RflMFOpR16Dwd1jAUbeB4mfGTCh65fvEdL4mSjQPJChpkRGRjIXjb+6YQcK2faQrVT60c9DmLmoVR7/ONCtuYQ==", + "license": "MIT", + "dependencies": { + "cron": "4.4.0" + }, + "peerDependencies": { + "@nestjs/common": "^10.0.0 || ^11.0.0", + "@nestjs/core": "^10.0.0 || ^11.0.0" + } + }, + "node_modules/@nestjs/schematics": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/@nestjs/schematics/-/schematics-11.1.0.tgz", + "integrity": "sha512-lVxGZ46tcdItFMoXr6vyKWlnOsm1SZm/GUqAEDvy2RL4Q4O+3bkziAhrO7Y8JLssFUUvNFEGqAizI52WAxhjDw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "19.2.24", + "@angular-devkit/schematics": "19.2.24", + "comment-json": "5.0.0", + "jsonc-parser": "3.3.1", + "pluralize": "8.0.0" + }, + "peerDependencies": { + "prettier": "^3.0.0", + "typescript": ">=4.8.2" + }, + "peerDependenciesMeta": { + "prettier": { + "optional": true + } + } + }, + "node_modules/@nestjs/schematics/node_modules/@angular-devkit/core": { + "version": "19.2.24", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-19.2.24.tgz", + "integrity": "sha512-Kd49warf6U/EyWe5BszF/eebN3zQ3bk7tgfEljAw8q/rX95UUtriJubWvp6pgzHfzBA4jwq8f+QiNZB8eBEXPA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "8.18.0", + "ajv-formats": "3.0.1", + "jsonc-parser": "3.3.1", + "picomatch": "4.0.4", + "rxjs": "7.8.1", + "source-map": "0.7.4" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^4.0.0" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/@nestjs/schematics/node_modules/@angular-devkit/schematics": { + "version": "19.2.24", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-19.2.24.tgz", + "integrity": "sha512-lnw+ZM1Io+cJAkReC0NPDjqObL8NtKzKIkdgEEKC8CUmkhurYhedbicN8Y8NYHgG1uLd2GozW3+/QqPRZaN+Lw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "19.2.24", + "jsonc-parser": "3.3.1", + "magic-string": "0.30.17", + "ora": "5.4.1", + "rxjs": "7.8.1" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@nestjs/schematics/node_modules/ajv": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@nestjs/schematics/node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@nestjs/schematics/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, + "node_modules/@nestjs/schematics/node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@nestjs/schematics/node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@nestjs/schematics/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nestjs/swagger": { + "version": "11.4.4", + "resolved": "https://registry.npmjs.org/@nestjs/swagger/-/swagger-11.4.4.tgz", + "integrity": "sha512-VaIo1ruV2G7b+f2zPzkBSUNy9a/WQ9sg8TLKhWlrTfg4O6U10M/PA7Xi6XMXadOVhwOqoesijba8jH3i/3adrA==", + "license": "MIT", + "dependencies": { + "@microsoft/tsdoc": "0.16.0", + "@nestjs/mapped-types": "2.1.1", + "js-yaml": "4.1.1", + "lodash": "4.18.1", + "path-to-regexp": "8.4.2", + "swagger-ui-dist": "5.32.6" + }, + "peerDependencies": { + "@fastify/static": "^8.0.0 || ^9.0.0", + "@nestjs/common": "^11.0.1", + "@nestjs/core": "^11.0.1", + "class-transformer": "*", + "class-validator": "*", + "reflect-metadata": "^0.1.12 || ^0.2.0" + }, + "peerDependenciesMeta": { + "@fastify/static": { + "optional": true + }, + "class-transformer": { + "optional": true + }, + "class-validator": { + "optional": true + } + } + }, + "node_modules/@nestjs/swagger/node_modules/js-yaml": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@nestjs/terminus": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/@nestjs/terminus/-/terminus-11.1.1.tgz", + "integrity": "sha512-Ssql79H+EQY/Wg108eJqN4NiNsO/tLrj+qbzOWSQUf2JE4vJQ2RG3WTqUOrYjfjWmVHD3+Ys0+azed7LSMKScw==", + "license": "MIT", + "dependencies": { + "boxen": "5.1.2", + "check-disk-space": "3.4.0" + }, + "peerDependencies": { + "@grpc/grpc-js": "*", + "@grpc/proto-loader": "*", + "@mikro-orm/core": "*", + "@mikro-orm/nestjs": "*", + "@nestjs/axios": "^2.0.0 || ^3.0.0 || ^4.0.0", + "@nestjs/common": "^10.0.0 || ^11.0.0", + "@nestjs/core": "^10.0.0 || ^11.0.0", + "@nestjs/microservices": "^10.0.0 || ^11.0.0", + "@nestjs/mongoose": "^11.0.0", + "@nestjs/sequelize": "^10.0.0 || ^11.0.0", + "@nestjs/typeorm": "^10.0.0 || ^11.0.0", + "@prisma/client": "*", + "mongoose": "*", + "reflect-metadata": "0.1.x || 0.2.x", + "rxjs": "7.x", + "sequelize": "*", + "typeorm": "*" + }, + "peerDependenciesMeta": { + "@grpc/grpc-js": { + "optional": true + }, + "@grpc/proto-loader": { + "optional": true + }, + "@mikro-orm/core": { + "optional": true + }, + "@mikro-orm/nestjs": { + "optional": true + }, + "@nestjs/axios": { + "optional": true + }, + "@nestjs/microservices": { + "optional": true + }, + "@nestjs/mongoose": { + "optional": true + }, + "@nestjs/sequelize": { + "optional": true + }, + "@nestjs/typeorm": { + "optional": true + }, + "@prisma/client": { + "optional": true + }, + "mongoose": { + "optional": true + }, + "sequelize": { + "optional": true + }, + "typeorm": { + "optional": true + } + } + }, + "node_modules/@nestjs/testing": { + "version": "11.1.27", + "resolved": "https://registry.npmjs.org/@nestjs/testing/-/testing-11.1.27.tgz", + "integrity": "sha512-I35po13UHZZeGenLWJ3QYwh77RsLau5RcFKWBZ4waVHeARpwjtC7v7n7lGh98swLQdGmZgTnbvKaZ0B5dsUIKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "2.8.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nest" + }, + "peerDependencies": { + "@nestjs/common": "^11.0.0", + "@nestjs/core": "^11.0.0", + "@nestjs/microservices": "^11.0.0", + "@nestjs/platform-express": "^11.0.0" + }, + "peerDependenciesMeta": { + "@nestjs/microservices": { + "optional": true + }, + "@nestjs/platform-express": { + "optional": true + } + } + }, + "node_modules/@nestjs/throttler": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@nestjs/throttler/-/throttler-6.5.0.tgz", + "integrity": "sha512-9j0ZRfH0QE1qyrj9JjIRDz5gQLPqq9yVC2nHsrosDVAfI5HHw08/aUAWx9DZLSdQf4HDkmhTTEGLrRFHENvchQ==", + "license": "MIT", + "peerDependencies": { + "@nestjs/common": "^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0", + "@nestjs/core": "^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0", + "reflect-metadata": "^0.1.13 || ^0.2.0" + } + }, + "node_modules/@nestjs/typeorm": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/@nestjs/typeorm/-/typeorm-11.0.1.tgz", + "integrity": "sha512-8rw/nKT0S+L+MkzgE9F2/mox7mAgsPlwfzmW9gsESN1lmQtIrVEfiiBwC2O8+guS1jBfQehJIdcdUj2OAp4VUQ==", + "license": "MIT", + "peer": true, + "peerDependencies": { + "@nestjs/common": "^10.0.0 || ^11.0.0", + "@nestjs/core": "^10.0.0 || ^11.0.0", + "reflect-metadata": "^0.1.13 || ^0.2.0", + "rxjs": "^7.2.0", + "typeorm": "^0.3.0 || ^1.0.0-dev" + } + }, + "node_modules/@noble/hashes": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.8.0.tgz", + "integrity": "sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@paralleldrive/cuid2": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@paralleldrive/cuid2/-/cuid2-2.3.1.tgz", + "integrity": "sha512-XO7cAxhnTZl0Yggq6jOgjiOHhbgcO4NqFqwSmQpjK3b6TEE6Uj/jfSk6wzYyemh3+I0sHirKSetjQwn5cZktFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@noble/hashes": "^1.1.5" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@pkgr/core": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.3.6.tgz", + "integrity": "sha512-SEeaJLb3qBNF/OaXnaR1NmmBbFYk1zC0ZH/52fATcRPLFg/p791YrcyFFy44Bo9sLaGuSuLp5Q6axbb/O+v/RA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/pkgr" + } + }, + "node_modules/@scarf/scarf": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@scarf/scarf/-/scarf-1.4.0.tgz", + "integrity": "sha512-xxeapPiUXdZAE3che6f3xogoJPeZgig6omHEy1rIY5WVsB3H2BHNnZH+gHG6x91SCWyQCzWGsuL2Hh3ClO5/qQ==", + "hasInstallScript": true, + "license": "Apache-2.0" + }, + "node_modules/@sec-ant/readable-stream": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz", + "integrity": "sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@sinclair/typebox": { + "version": "0.34.49", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.49.tgz", + "integrity": "sha512-brySQQs7Jtn0joV8Xh9ZV/hZb9Ozb0pmazDIASBkYKCjXrXU3mpcFahmK/z4YDhGkQvP9mWJbVyahdtU5wQA+A==", + "dev": true, + "license": "MIT" + }, + "node_modules/@sindresorhus/is": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-7.2.0.tgz", + "integrity": "sha512-P1Cz1dWaFfR4IR+U13mqqiGsLFf1KbayybWwdd2vfctdV6hDpUkgCY0nKOLLTMSoRd/jJNjtbqzf13K8DCCXQw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" + } + }, + "node_modules/@sindresorhus/merge-streams": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz", + "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@sinonjs/commons": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", + "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "15.4.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-15.4.0.tgz", + "integrity": "sha512-DsG+8/LscQIQg68J6Ef3dv10u6nVyetYn923s3/sus5eaGfTo1of5WMZSLf0UJc9KDuKPilPH0UDJCjvNbDNCA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@sinonjs/commons": "^3.0.1" + } + }, + "node_modules/@so-ric/colorspace": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/@so-ric/colorspace/-/colorspace-1.1.6.tgz", + "integrity": "sha512-/KiKkpHNOBgkFJwu9sh48LkHSMYGyuTcSFK/qMBdnOAlrRJzRSXAOFB5qwzaVQuDl8wAvHVMkaASQDReTahxuw==", + "license": "MIT", + "dependencies": { + "color": "^5.0.2", + "text-hex": "1.0.x" + } + }, + "node_modules/@sqltools/formatter": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@sqltools/formatter/-/formatter-1.2.5.tgz", + "integrity": "sha512-Uy0+khmZqUrUGm5dmMqVlnvufZRSK0FbYzVgp0UMstm+F5+W2/jnEEQyc9vo1ZR/E5ZI/B1WjjoTqBqwJL6Krw==", + "license": "MIT" + }, + "node_modules/@swc/cli": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@swc/cli/-/cli-0.8.1.tgz", + "integrity": "sha512-L+ACCGHCiS0VqHVep/INLVnvRvJ2XooQFLZq4L8snhxw1jsqz+XRcY313UsyPVturPPE1shW3jic7rt3qEQTSQ==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@swc/counter": "^0.1.3", + "@xhmikosr/bin-wrapper": "^14.0.0", + "commander": "^8.3.0", + "minimatch": "^9.0.3", + "piscina": "^4.3.1", + "semver": "^7.3.8", + "slash": "3.0.0", + "source-map": "^0.7.3", + "tinyglobby": "^0.2.13" + }, + "bin": { + "spack": "bin/spack.js", + "swc": "bin/swc.js", + "swcx": "bin/swcx.js" + }, + "engines": { + "node": ">= 20.19.0" + }, + "peerDependencies": { + "@swc/core": "^1.2.66", + "chokidar": "^5.0.0" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/@swc/cli/node_modules/brace-expansion": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.1.tgz", + "integrity": "sha512-WR1cURNjuvBLMZBMbqM0UoE+WAfdUcEV1ccD8PVBVOI+Z3ND4+SZbN8RsfT2bMuG1qwz5RFvPukSZm5fF2D5eA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@swc/cli/node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "node_modules/@swc/cli/node_modules/minimatch": { + "version": "9.0.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz", + "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.2" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@swc/core": { + "version": "1.15.41", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.15.41.tgz", + "integrity": "sha512-03nQq/082QRJJiOvp3FGbgxTGyyxMxohPTjhk/W9bD2J0tk4ukITI7goOhOO2WbaHn/lsPmo/zf8+DIXhwpgYQ==", + "dev": true, + "hasInstallScript": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@swc/counter": "^0.1.3", + "@swc/types": "^0.1.26" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/swc" + }, + "optionalDependencies": { + "@swc/core-darwin-arm64": "1.15.41", + "@swc/core-darwin-x64": "1.15.41", + "@swc/core-linux-arm-gnueabihf": "1.15.41", + "@swc/core-linux-arm64-gnu": "1.15.41", + "@swc/core-linux-arm64-musl": "1.15.41", + "@swc/core-linux-ppc64-gnu": "1.15.41", + "@swc/core-linux-s390x-gnu": "1.15.41", + "@swc/core-linux-x64-gnu": "1.15.41", + "@swc/core-linux-x64-musl": "1.15.41", + "@swc/core-win32-arm64-msvc": "1.15.41", + "@swc/core-win32-ia32-msvc": "1.15.41", + "@swc/core-win32-x64-msvc": "1.15.41" + }, + "peerDependencies": { + "@swc/helpers": ">=0.5.17" + }, + "peerDependenciesMeta": { + "@swc/helpers": { + "optional": true + } + } + }, + "node_modules/@swc/core-darwin-arm64": { + "version": "1.15.41", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.15.41.tgz", + "integrity": "sha512-kREh6J5paQFvP3i7f/4FbqRNOJREutVFVOkder4GVyCBQ39YmER55cW/y1NNjwrchzFqgYswFn0mMDCqbqKzrw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-darwin-x64": { + "version": "1.15.41", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.15.41.tgz", + "integrity": "sha512-N8B56ESFazZAWZyIkecADSPCwlLEinW7QLMEeotCpv4J7VXwfH+OLkmRL8o96UZ+1355fwHxDTS6/wK7yucvkA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm-gnueabihf": { + "version": "1.15.41", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.15.41.tgz", + "integrity": "sha512-6XrId2fyle0mS5xxON8rU84mPd2Cq1kDJRj+4BnQKTd7u+2kSA6Ww+JkOP0iTNqOqt9OXhPOEAjBHAuonWcdCg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm64-gnu": { + "version": "1.15.41", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.15.41.tgz", + "integrity": "sha512-ynLIarxlkVnqHn1D0fKOVht6mNU5ks6lrH+MY3kkS+XFaGGgDxFZVjWKJlkYTKm3RCvBTfA8Ng5fLufXheMRKQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm64-musl": { + "version": "1.15.41", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.15.41.tgz", + "integrity": "sha512-dXu/5vd4gh8symyhRF+4G7gOPkjmb4pONhh7sl+6GSiW0LOKZlfu5kXmyFbTz9smOT7jgr002qY9b1nujjXt2A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-ppc64-gnu": { + "version": "1.15.41", + "resolved": "https://registry.npmjs.org/@swc/core-linux-ppc64-gnu/-/core-linux-ppc64-gnu-1.15.41.tgz", + "integrity": "sha512-XGO6zVPXoPE0gf/XnI4jBbafNT13AYgoh6ns0JCSdOetI/kqVf0vhpz7NuNgAzZrMVCsmieqjPoTwViDgh4mOQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-s390x-gnu": { + "version": "1.15.41", + "resolved": "https://registry.npmjs.org/@swc/core-linux-s390x-gnu/-/core-linux-s390x-gnu-1.15.41.tgz", + "integrity": "sha512-0WUglRwyZtW+iMi7J3iFdrCxreZZIKf4egTwEQfIYRsqFax69A0OrFj+NIoFSE03xBT/IFRrg+S8K6f9Ky+4hA==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-x64-gnu": { + "version": "1.15.41", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.15.41.tgz", + "integrity": "sha512-VxkuQK59c0tHm6uJZCUrS3cyA2JhGGfdU6e41SZz0x/JS+4Sm7C1mIc97In14vkZJopEt7yXA2TouCqZDSygEA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-x64-musl": { + "version": "1.15.41", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.15.41.tgz", + "integrity": "sha512-/0qXIu1ZxggLuovLb22vFfKHq2AA4n6Whw5UwmVCHk4pkw7KWnPIQpMCEqUMPsNkFJig7PPp/TSYFu8ZEb2rtQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-arm64-msvc": { + "version": "1.15.41", + "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.15.41.tgz", + "integrity": "sha512-Y481sMNZM6rECh9VO4+y26N1lWEDAyxnBZskUf37fl90uHE946VHfmiVQWT0uMFOhyJJFovGTRuF4W82dwewUg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-ia32-msvc": { + "version": "1.15.41", + "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.15.41.tgz", + "integrity": "sha512-BAchBD5qeUzy3hiPSLJtaaoSm4blCLyYffOF1bGE4ETcV+OisqjUAwDQMJj++4bTpvMCDzwC+Bj3PmQyBCtscw==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-x64-msvc": { + "version": "1.15.41", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.15.41.tgz", + "integrity": "sha512-WOkA+fJ/ViVBQDsSV9JC52NACTe5PhlurA6viASDZGb7HR3KS01ZG7RZ+Bg6SVQFIoq3gSbTsskQVe6EbHFAYw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/counter": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", + "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/@swc/types": { + "version": "0.1.26", + "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.26.tgz", + "integrity": "sha512-lyMwd7WGgG79RS7EERZV3T8wMdmPq3xwyg+1nmAM64kIhx5yl+juO2PYIHb7vTiPgPCj8LYjsNV2T5wiQHUEaw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@swc/counter": "^0.1.3" + } + }, + "node_modules/@tokenizer/inflate": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@tokenizer/inflate/-/inflate-0.4.1.tgz", + "integrity": "sha512-2mAv+8pkG6GIZiF1kNg1jAjh27IDxEPKwdGul3snfztFerfPGI1LjDezZp3i7BElXompqEtPmoPx6c2wgtWsOA==", + "license": "MIT", + "dependencies": { + "debug": "^4.4.3", + "token-types": "^6.1.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, + "node_modules/@tokenizer/token": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz", + "integrity": "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==", + "license": "MIT" + }, + "node_modules/@tsconfig/node10": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.12.tgz", + "integrity": "sha512-UCYBaeFvM11aU2y3YPZ//O5Rhj+xKyzy7mvcIoAjASbigy8mHMryP5cK7dgjlz2hWxh1g5pLw084E0a/wlUSFQ==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/@tybys/wasm-util": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.2.tgz", + "integrity": "sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", + "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", + "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.28.2" + } + }, + "node_modules/@types/body-parser": { + "version": "1.19.6", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.6.tgz", + "integrity": "sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/cookiejar": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.5.tgz", + "integrity": "sha512-he+DHOWReW0nghN24E1WUqM0efK4kI9oTqDm6XmK8ZPe2djZ90BSNdGnIyCLzCPw7/pogPlGbzI2wHGGmi4O/Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/eslint": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", + "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", + "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/express": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/@types/express/-/express-5.0.6.tgz", + "integrity": "sha512-sKYVuV7Sv9fbPIt/442koC7+IIwK5olP1KWeD88e/idgoJqDm3JV/YUiPwkoKK92ylff2MGxSz1CSjsXelx0YA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^5.0.0", + "@types/serve-static": "^2" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.1.1.tgz", + "integrity": "sha512-v4zIMr/cX7/d2BpAEX3KNKL/JrT1s43s96lLvvdTmza1oEvDudCqK9aF/djc/SWgy8Yh0h30TZx5VpzqFCxk5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/http-cache-semantics": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", + "integrity": "sha512-L3LgimLHXtGkWikKnsPg0/VFx9OGZaC+eN1u4r+OB1XRqH3meBIAVC2zr1WdMH+RHmnRkqliQAOHNJ/E0j/e0Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/http-errors": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.5.tgz", + "integrity": "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/jest": { + "version": "30.0.0", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-30.0.0.tgz", + "integrity": "sha512-XTYugzhuwqWjws0CVz8QpM36+T+Dz5mTEBKhNs/esGLnCIlGdRy+Dq78NRjd7ls7r8BC8ZRMOrKlkO1hU0JOwA==", + "dev": true, + "license": "MIT", + "dependencies": { + "expect": "^30.0.0", + "pretty-format": "^30.0.0" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/luxon": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/@types/luxon/-/luxon-3.7.1.tgz", + "integrity": "sha512-H3iskjFIAn5SlJU7OuxUmTEpebK6TKB8rxZShDslBMZJ5u9S//KM1sbdAisiSrqwLQncVjnpi2OK2J51h+4lsg==", + "license": "MIT" + }, + "node_modules/@types/methods": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@types/methods/-/methods-1.1.4.tgz", + "integrity": "sha512-ymXWVrDiCxTBE3+RIrrP533E70eA+9qu7zdWoHuOmGujkYtzf4HQF96b8nwHLqhuf4ykX61IGRIB38CC6/sImQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "22.19.21", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.21.tgz", + "integrity": "sha512-VMeFBSCKQKmm2swI2kW51SFusDqekC6q9trBCvJ/JliDchFSuoYYKN7yVNjPthP1HKZcx3U1gI/wTcEBjEFKTA==", + "devOptional": true, + "license": "MIT", + "peer": true, + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "node_modules/@types/qs": { + "version": "6.15.1", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.15.1.tgz", + "integrity": "sha512-GZHUBZR9hckSUhrxmp1nG6NwdpM9fCunJwyThLW1X3AyHgd9IlHb6VANpQQqDr2o/qQp6McZ3y/IA2rVzKzSbw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/range-parser": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/send": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@types/send/-/send-1.2.1.tgz", + "integrity": "sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-2.2.0.tgz", + "integrity": "sha512-8mam4H1NHLtu7nmtalF7eyBH14QyOASmcxHhSfEoRyr0nP/YdoesEtU+uSRvMe96TW/HPTtkoKqQLl53N7UXMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/http-errors": "*", + "@types/node": "*" + } + }, + "node_modules/@types/stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/superagent": { + "version": "8.1.10", + "resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-8.1.10.tgz", + "integrity": "sha512-nbt4IWXABhW0jGmmpRzCFNlbmwCTzZ2gTUsNIr+X+ItdqPms+PAJZbWsNzpS2USqXjcoNLQcO6nXo60zcPQiIg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/cookiejar": "^2.1.5", + "@types/methods": "^1.1.4", + "@types/node": "*", + "form-data": "^4.0.0" + } + }, + "node_modules/@types/supertest": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-6.0.3.tgz", + "integrity": "sha512-8WzXq62EXFhJ7QsH3Ocb/iKQ/Ty9ZVWnVzoTKc9tyyFRRF3a74Tk2+TLFgaFFw364Ere+npzHKEJ6ga2LzIL7w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/methods": "^1.1.4", + "@types/superagent": "^8.1.0" + } + }, + "node_modules/@types/triple-beam": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/triple-beam/-/triple-beam-1.3.5.tgz", + "integrity": "sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==", + "license": "MIT" + }, + "node_modules/@types/validator": { + "version": "13.15.10", + "resolved": "https://registry.npmjs.org/@types/validator/-/validator-13.15.10.tgz", + "integrity": "sha512-T8L6i7wCuyoK8A/ZeLYt1+q0ty3Zb9+qbSSvrIVitzT3YjZqkTZ40IbRsPanlB4h1QB3JVL1SYCdR6ngtFYcuA==", + "license": "MIT" + }, + "node_modules/@types/yargs": { + "version": "17.0.35", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.35.tgz", + "integrity": "sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "8.61.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.61.1.tgz", + "integrity": "sha512-ZPlVl3PB3et/59Ne0fv/sci6ZXz4T4Hp4nTJ56i/Y0gR89ARb+KphojTq6j+56E5PIezmOIOOWyY+aWQFd+IkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.12.2", + "@typescript-eslint/scope-manager": "8.61.1", + "@typescript-eslint/type-utils": "8.61.1", + "@typescript-eslint/utils": "8.61.1", + "@typescript-eslint/visitor-keys": "8.61.1", + "ignore": "^7.0.5", + "natural-compare": "^1.4.0", + "ts-api-utils": "^2.5.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^8.61.1", + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "8.61.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.61.1.tgz", + "integrity": "sha512-PJ5vePq5/ognBbrIcoC5+SHO5dfpeLPzP9FpLkzWrguoYQEeeSjlJpVwOpo1JRSTEi7dRcwNy4h4dzV70PqHcg==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@typescript-eslint/scope-manager": "8.61.1", + "@typescript-eslint/types": "8.61.1", + "@typescript-eslint/typescript-estree": "8.61.1", + "@typescript-eslint/visitor-keys": "8.61.1", + "debug": "^4.4.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/project-service": { + "version": "8.61.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.61.1.tgz", + "integrity": "sha512-PrC4JYGmR241lYnfhmKGTXkFqv8+ymbTFgSAY0fVXpY82/QkMw5TZPl+vGzuDDU2QYJk9fIDOBTntF+yDv9LEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/tsconfig-utils": "^8.61.1", + "@typescript-eslint/types": "^8.61.1", + "debug": "^4.4.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "8.61.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.61.1.tgz", + "integrity": "sha512-L2bdIeoQS8FlKAvONAr20w6OcLXeB+qiDKbAooS9A0Ben+iSIkBef0FxqwKWYqt5sa0i4KJtxVyVmhMylKzF5w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.61.1", + "@typescript-eslint/visitor-keys": "8.61.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/tsconfig-utils": { + "version": "8.61.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.61.1.tgz", + "integrity": "sha512-UN/H4di+OO7EWx2ovME+8t31YO+KVnK0RRKEHR3kOt21/Ay8BOq3M1OMvWs5vNiqcFCYGYoxK3MXPZzmMUE+yg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "8.61.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.61.1.tgz", + "integrity": "sha512-GYRicKmVK0C4fsKgaACaknOUAq9Oa2kwsjnpFhFcS/5p4Ht5IP9OVLbgIgcK4SRk92nVHFluurg1lumD9dBcLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.61.1", + "@typescript-eslint/typescript-estree": "8.61.1", + "@typescript-eslint/utils": "8.61.1", + "debug": "^4.4.3", + "ts-api-utils": "^2.5.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "8.61.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.61.1.tgz", + "integrity": "sha512-G+CRlPqLv7Bz1IZVs03x5K59F1veqL0EJUROAdGhKsEq8qOiRiZbI+HUojPq5l0fEGOKModD9br6lObhB8zkoA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "8.61.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.61.1.tgz", + "integrity": "sha512-u+oQD3BqYWPc8YV9Zab4vaJElJuwOLPRc10Jm1o/qS+6Qwen14HCWwx0Seo4LnSn2wxea2Ik8DxPt2/FHmuhrg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/project-service": "8.61.1", + "@typescript-eslint/tsconfig-utils": "8.61.1", + "@typescript-eslint/types": "8.61.1", + "@typescript-eslint/visitor-keys": "8.61.1", + "debug": "^4.4.3", + "minimatch": "^10.2.2", + "semver": "^7.7.3", + "tinyglobby": "^0.2.15", + "ts-api-utils": "^2.5.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/balanced-match": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.6.tgz", + "integrity": "sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "10.2.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", + "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "brace-expansion": "^5.0.5" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "8.61.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.61.1.tgz", + "integrity": "sha512-1+P/3Dj6jvtybE1q0HQ6yBt/gq+oKJyLdEv4HdnqasaEXRSYCAsD59mXEVQnM/ULNdQxbX77tdG4jPRjIS6knA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.9.1", + "@typescript-eslint/scope-manager": "8.61.1", + "@typescript-eslint/types": "8.61.1", + "@typescript-eslint/typescript-estree": "8.61.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "8.61.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.61.1.tgz", + "integrity": "sha512-6fJ9MHWtK14C1DSkiMlHUSOmrVebL7150xZJBlJiL62jjhIA4JmOq6flwBgDxIdBKKdoiZRel+dfPD5MLfny3w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.61.1", + "eslint-visitor-keys": "^5.0.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", + "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.1.tgz", + "integrity": "sha512-mUFwbeTqrVgDQxFveS+df2yfap6iuP20NAKAsBt5jDEoOTDew+zwLAOilHCeQJOVSvmgCX4ogqIrA0mnyr08yQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/@unrs/resolver-binding-android-arm-eabi": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.12.2.tgz", + "integrity": "sha512-g5T90pqg1bo/7mytQx6F4iBNC0Wsh9cu+z9veDbFjc7HjpesJFWD7QMS0NGStXM075+7dJPPVvBbpZlnrdpi/w==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@unrs/resolver-binding-android-arm64": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.12.2.tgz", + "integrity": "sha512-YGCRZv/9GLhwmz6mYDeTsm/92BAyR28l6c2ReweVW5pWgfsitWLY8upvfRlGdoyD8HjeTHSYJWyZGD4KJA/nFQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@unrs/resolver-binding-darwin-arm64": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.12.2.tgz", + "integrity": "sha512-u9DiNT1auQMO20A9SyTuG3wUgQWB9Z7KjAg0uFuCDR1FsAY8A0CG2S6JpHS1xwm/w1G08bjXZDcyOCjv1WAm2w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@unrs/resolver-binding-darwin-x64": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.12.2.tgz", + "integrity": "sha512-f7rPLi/T1HVKZu/u6t87lroib16n8vrSzcyxI7lg4BGO9UF26KhQL44sd9eOUgrTYhvRXtWOIZT5PejdPyJfUA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@unrs/resolver-binding-freebsd-x64": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.12.2.tgz", + "integrity": "sha512-BpcOjWCJub6nRZUS2zA20pmLvjtqAtGejETaIyRLiZiQf++cbrjltLA5NN/xaXfqeOBOSlMFbemIl5/S5tljmg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.12.2.tgz", + "integrity": "sha512-vZTDvdSISZjJx66OzJqtsOhzifbqRjbmI1Mnu49fQDwog5GtDI4QidRiEAYbZCRj9C8YZEW+3ZjqsyS9GR4k2A==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm-musleabihf": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.12.2.tgz", + "integrity": "sha512-BiPI+IrIlwcW4nLLMM21+B1dFPzd55yAVgVGrdgDjNef+ch03GdxrcyaIz8X9SsQirh/kCQ7mviyWlMxdh2D7g==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm64-gnu": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.12.2.tgz", + "integrity": "sha512-zJc0H99FEPoFfSrNpa91HYfxzfAJCr502oxNK1cfdC9hlaFI43RT+JFCann9JUgZmLzzntChHyn13Sgn9ljHNg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm64-musl": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.12.2.tgz", + "integrity": "sha512-KQ3Lki6l+Pz1k/eBipN41ES+YUK30beLGb9YqcB1O542cyLCNE6GaxrfcY3T6EezmGGk84wb5XyO9loTM9tkcA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-loong64-gnu": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-loong64-gnu/-/resolver-binding-linux-loong64-gnu-1.12.2.tgz", + "integrity": "sha512-3SJGEh1DborhG6pyxvhPzCT4bbSIVihsvgJc13P1bHG7KLdNDaF9T3gsTwFc7Jw/5Y5/iWOjkEx7Zy0NvCGX3Q==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-loong64-musl": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-loong64-musl/-/resolver-binding-linux-loong64-musl-1.12.2.tgz", + "integrity": "sha512-jiuG/Obbel7uw1PwHNFfrkiKhLAF6mnyZ6aWlOAVN9WqKm8v0OFGnciJIHu8+CMvXLQ8AD51LPzAoUfT21D5Ew==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-ppc64-gnu": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.12.2.tgz", + "integrity": "sha512-q7xRvVpmcfeL+LlZg8Pbbo6QaTZwDU5BaGZbwfhkEsXJn3Was8xYfE0RBH266xZt0rM6B7i8xAYIvjthuUIWHg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-riscv64-gnu": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.12.2.tgz", + "integrity": "sha512-0CVdx6lcnT3Q9inOH8tsMIOJ6ImndllMjqJHg8RLVdB7Vq4SfkEXl9mCSsVNuNA4MCYycRicCUxPCabVHJRr6A==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-riscv64-musl": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.12.2.tgz", + "integrity": "sha512-iOwlRo9vnp6R6ohHQS11n0NnfdXx/omhkocmIfaPRpQhKZ+3BDMkkdRVh53qjkFkpPddf+FETA28NwGN7l5l+w==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-s390x-gnu": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.12.2.tgz", + "integrity": "sha512-HYJtLfXq94q8iZNFT1lknx258wlkkWhZeUXJRqzKBBUJ00CvZ+N33zgbCqimLjsyw5Va6uUxhVa12mI+kaveEw==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-x64-gnu": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.12.2.tgz", + "integrity": "sha512-mPsUhunKKDih5O96Y6enDQyHc1SqBPlY1E/SfMWDM3EdJ95Z9CArPeCVwCCqbP45ljvivdEk8Fxn+SIb1rDAJQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-x64-musl": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.12.2.tgz", + "integrity": "sha512-azrt6+5ydLd8Vt210AAFis/lZevSfPw93EJRIJG+xPu4WCJ8K0kppCTpMyLPcKT7H15M4Jnt2tMp5bOvCkRC6A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-openharmony-arm64": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-openharmony-arm64/-/resolver-binding-openharmony-arm64-1.12.2.tgz", + "integrity": "sha512-YZ9hP4O0X9PQb8eO980qmLNGH4zT3I9+SZTdt0Pr0YyuGQhYKoOZkV02VzrzyOZJ5xIJ3UFIenKkUkGg8GjgWQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@unrs/resolver-binding-wasm32-wasi": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.12.2.tgz", + "integrity": "sha512-tYFDIkMxSflfEc/h92ZWNsZlHSwgimbNHSO3PL2JWQHfCuC2q316jMyYU9TIWZsFK2bQwyK5VAdYgn8ygPj69A==", + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "1.10.0", + "@emnapi/runtime": "1.10.0", + "@napi-rs/wasm-runtime": "^1.1.4" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@unrs/resolver-binding-win32-arm64-msvc": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.12.2.tgz", + "integrity": "sha512-qzNyg3xL0VPQmCaUh+N5jSitce6k+uCBfMDesWRnlULOZaqUkaJ0ybdT+UqlAWJoQjuqfIU/0Ptx9bteN4D82g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@unrs/resolver-binding-win32-ia32-msvc": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.12.2.tgz", + "integrity": "sha512-WD9sY00OfpHVGfsnHZoA8jVT+esS/Bg8z8jzxp5BnDCjjwsuKsPQrzswwpFy4J1AUJbXPRfkpcX0mXrzeXW79g==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@unrs/resolver-binding-win32-x64-msvc": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.12.2.tgz", + "integrity": "sha512-nAB74NfSNKknqQ1RrYj6uz8FcXEomu/MATJZxh/x+BArzN2U3JbOYC0APYzUIGhVY3m5hRxA8VPNdPBoG8txlA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", + "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/helper-numbers": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", + "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", + "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", + "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", + "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.13.2", + "@webassemblyjs/helper-api-error": "1.13.2", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", + "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", + "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/wasm-gen": "1.14.1" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", + "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", + "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", + "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", + "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/helper-wasm-section": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-opt": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1", + "@webassemblyjs/wast-printer": "1.14.1" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", + "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", + "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", + "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-api-error": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", + "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xhmikosr/archive-type": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@xhmikosr/archive-type/-/archive-type-8.1.0.tgz", + "integrity": "sha512-EXOjEbnZFE5c/nFMf4FOrEURVanzHpnkPYmnmr78u02/8hAhE0FMq8p9TK1IM0/bFr5VcyBUY0gfLm8f7dKy+Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "file-type": "^21.3.4" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@xhmikosr/bin-check": { + "version": "8.2.1", + "resolved": "https://registry.npmjs.org/@xhmikosr/bin-check/-/bin-check-8.2.1.tgz", + "integrity": "sha512-DNruLq+kalxcE7JeDxtqrN9kyWjLW8VqsQPLRTwD1t9ck/1rF4qBL0mX5Fe2/xLOMjo5wPb67BNX2kSAhzfLjA==", + "dev": true, + "license": "MIT", + "dependencies": { + "execa": "^9.6.1", + "isexe": "^4.0.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@xhmikosr/bin-wrapper": { + "version": "14.3.0", + "resolved": "https://registry.npmjs.org/@xhmikosr/bin-wrapper/-/bin-wrapper-14.3.0.tgz", + "integrity": "sha512-rDYWjJ/xmH2vhcGUj6ZdUBmJghKPAlQNhzQY2LxI/6CTE2W/TMhnnrTlpET3TfYql6koTYD2sUiO/t9ew1JaCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@xhmikosr/bin-check": "^8.2.1", + "@xhmikosr/downloader": "^16.1.3", + "@xhmikosr/os-filter-obj": "^4.1.0", + "binary-version-check": "^6.1.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@xhmikosr/decompress": { + "version": "11.1.3", + "resolved": "https://registry.npmjs.org/@xhmikosr/decompress/-/decompress-11.1.3.tgz", + "integrity": "sha512-NiyhJq6z7ERsYghcnXZUI6ooDXgZtoB+G9eUsYhfSM4VLp2rKx9UxhKI1NEf1PqosrNPxG3bnSsr2UBVbNurlg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@xhmikosr/decompress-tar": "^9.0.1", + "@xhmikosr/decompress-tarbz2": "^9.0.1", + "@xhmikosr/decompress-targz": "^9.0.1", + "@xhmikosr/decompress-unzip": "^8.1.1", + "graceful-fs": "^4.2.11", + "strip-dirs": "^3.0.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@xhmikosr/decompress-tar": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@xhmikosr/decompress-tar/-/decompress-tar-9.0.1.tgz", + "integrity": "sha512-4AkVR1SoqTxYY22IRRYKDeLirPIDGqMqYsqgjKYuwhgRcBb+yDP4t5Xph33UCzL/nahK/aADmlMEjTNstbX7kw==", + "dev": true, + "license": "MIT", + "dependencies": { + "file-type": "^21.3.0", + "is-stream": "^4.0.1", + "tar-stream": "3.1.7" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@xhmikosr/decompress-tarbz2": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/@xhmikosr/decompress-tarbz2/-/decompress-tarbz2-9.0.2.tgz", + "integrity": "sha512-m0DvZhE7remCxtS8xY2iHSjivT4v+iyYDdfNoeuu8Nm+7g8xEXdLKSyDEicu4u1ImJLLGEfjMuTLera/F6UGWw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@xhmikosr/decompress-tar": "^9.0.1", + "file-type": "^21.3.4", + "is-stream": "^4.0.1", + "seek-bzip": "^2.0.0", + "unbzip2-stream": "^1.4.3" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@xhmikosr/decompress-targz": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@xhmikosr/decompress-targz/-/decompress-targz-9.0.1.tgz", + "integrity": "sha512-1JXu2b6yrpm5EuBoOzMU57B4qrHXJKWQQ7LlMynNEiz85mEjDciO3ayf//GXaTLLCEKiHjWlU3q3THjgf7uODA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@xhmikosr/decompress-tar": "^9.0.0", + "file-type": "^21.3.0", + "is-stream": "^4.0.1" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@xhmikosr/decompress-unzip": { + "version": "8.2.1", + "resolved": "https://registry.npmjs.org/@xhmikosr/decompress-unzip/-/decompress-unzip-8.2.1.tgz", + "integrity": "sha512-2MS94QnmXQwjkKN8WyFiu1sU7J3rcWJcMze4kRYsX7tN+CXpUGECgkh4YSOhujpkWPuVlFudIziJHO/TxOqkQQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "file-type": "^21.3.4", + "get-stream": "^9.0.1", + "yauzl": "^3.4.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@xhmikosr/downloader": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/@xhmikosr/downloader/-/downloader-16.2.0.tgz", + "integrity": "sha512-5vFLFTOFdDyuPJ6DDaqFPviMnMLrjWvpvbTp+go+JDoyzUBLd4dTjb+1PXIRiUMvJSvlxjpC8GIVN8mYVhQfhg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@xhmikosr/archive-type": "^8.0.1", + "@xhmikosr/decompress": "^11.1.3", + "content-disposition": "^2.0.1", + "ext-name": "^5.0.0", + "file-type": "^21.3.4", + "filenamify": "^7.0.1", + "got": "^14.6.6" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@xhmikosr/os-filter-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@xhmikosr/os-filter-obj/-/os-filter-obj-4.1.0.tgz", + "integrity": "sha512-y5ArHvQ7BVule/+L9yE2nYMhceiJhgsqo58lOfnisQ7bg+Kjfmkgr7JBuVFiTkl+ErdShpp829QstZQyLugl8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "system-architecture": "^1.0.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/accepts": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz", + "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==", + "license": "MIT", + "dependencies": { + "mime-types": "^3.0.0", + "negotiator": "^1.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.17.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.17.0.tgz", + "integrity": "sha512-xRQbDb9BnwDafYNn6Vwl839DYVjqXYb1XVGtWAZ1kcDc6iwAL4hg3B1dZlRiuENFeO2H53gFG3in621AdERVAg==", + "devOptional": true, + "license": "MIT", + "peer": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-phases": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz", + "integrity": "sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.13.0" + }, + "peerDependencies": { + "acorn": "^8.14.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.3.5", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.5.tgz", + "integrity": "sha512-HEHNfbars9v4pgpW6SO1KSPkfoS0xVOM/9UzkJltjlsHZmJasxg8aXkuZa7SMf8vKGIBhpUsPluQSqhJFCqebw==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.11.0" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ajv": { + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.15.0.tgz", + "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", + "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-formats/node_modules/ajv": { + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.20.0.tgz", + "integrity": "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "license": "ISC", + "dependencies": { + "string-width": "^4.1.0" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/ansis": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/ansis/-/ansis-4.2.0.tgz", + "integrity": "sha512-HqZ5rWlFjGiV0tDm3UxxgNRqsOTniqoKZu0pIAfh7TZQMGuZK+hH0drySty0si0QXj1ieop4+SkSfPZBPPkHig==", + "license": "ISC", + "engines": { + "node": ">=14" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/anymatch/node_modules/picomatch": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/app-root-path": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-3.1.0.tgz", + "integrity": "sha512-biN3PwB2gUtjaYy/isrU3aNWI5w+fAfvHkSvCKeQGxhmYpwKFUxudR3Yya+KqVRHBmEDYh+/lTozYCFbmzX4nA==", + "license": "MIT", + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/append-field": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz", + "integrity": "sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==", + "license": "MIT" + }, + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "license": "Python-2.0" + }, + "node_modules/array-timsort": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-timsort/-/array-timsort-1.0.3.tgz", + "integrity": "sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", + "dev": true, + "license": "MIT" + }, + "node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "license": "MIT" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "license": "MIT", + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/b4a": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.8.1.tgz", + "integrity": "sha512-aiqre1Nr0B/6DgE2N5vwTc+2/oQZ4Wh1t4NznYY4E00y8LCt6NqdRv81so00oo27D8MVKTpUa/MwUUtBLXCoDw==", + "dev": true, + "license": "Apache-2.0", + "peerDependencies": { + "react-native-b4a": "*" + }, + "peerDependenciesMeta": { + "react-native-b4a": { + "optional": true + } + } + }, + "node_modules/babel-jest": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-30.4.1.tgz", + "integrity": "sha512-fATAbM8piYxkiXQp3RBXmZHxZVNJZAVXXfyeyCN2Tida3+qJ8ea9UxhiJ2y4fLO90ZImKt6k9FlcH2+rLkJGhw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/transform": "30.4.1", + "@types/babel__core": "^7.20.5", + "babel-plugin-istanbul": "^7.0.1", + "babel-preset-jest": "30.4.0", + "chalk": "^4.1.2", + "graceful-fs": "^4.2.11", + "slash": "^3.0.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.11.0 || ^8.0.0-0" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-7.0.1.tgz", + "integrity": "sha512-D8Z6Qm8jCvVXtIRkBnqNHX0zJ37rQcFJ9u8WOS6tkYOsRdHBzypCstaxWiu5ZIlqQtviRYbgnRLSoCEvjqcqbA==", + "dev": true, + "license": "BSD-3-Clause", + "workspaces": [ + "test/babel-8" + ], + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.3", + "istanbul-lib-instrument": "^6.0.2", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "30.4.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-30.4.0.tgz", + "integrity": "sha512-9EdtWM/sSfXLOGLwSn+GS6pIXyBnL07/8gyJlwFXjWy4DxMOyItqyUT29d4lQiS380EZwYlX7/At4PgBS+m2aA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/babel__core": "^7.20.5" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.2.0.tgz", + "integrity": "sha512-E/VlAEzRrsLEb2+dv8yp3bo4scof3l9nR4lrld+Iy5NyVqgVYUJnDAmunkhPMisRI32Qc4iRiz425d8vM++2fg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-import-attributes": "^7.24.7", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5" + }, + "peerDependencies": { + "@babel/core": "^7.0.0 || ^8.0.0-0" + } + }, + "node_modules/babel-preset-jest": { + "version": "30.4.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-30.4.0.tgz", + "integrity": "sha512-lBY4jxsNmCnSiu7kquw8ZC9F4+XLMOKypT3RnNHPvU2Kpd4W0xaPuLr5ZkRyOsvLYAY4yaW1ZwTW4xB7NIiZzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "babel-plugin-jest-hoist": "30.4.0", + "babel-preset-current-node-syntax": "^1.2.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.11.0 || ^8.0.0-beta.1" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "license": "MIT" + }, + "node_modules/bare-events": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.9.1.tgz", + "integrity": "sha512-Z0oHEHAFDZkffN8Qc39zNZjQlMDkPJRyyyZieU1VH7u8c5S+qHZ2S8ixdKIAxEjfHO7FJxXmJWgteOghVanIsg==", + "dev": true, + "license": "Apache-2.0", + "peerDependencies": { + "bare-abort-controller": "*" + }, + "peerDependenciesMeta": { + "bare-abort-controller": { + "optional": true + } + } + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/baseline-browser-mapping": { + "version": "2.10.37", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.37.tgz", + "integrity": "sha512-girxaJ7WZssDOFhzCGZTDKoTa1gk6A1TbflaYTpykLJ4UU9Fz9kx1aREM8JCuoVHbL8X8T/mJg7w2oYSq72Oig==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.cjs" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/binary-version": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/binary-version/-/binary-version-7.1.0.tgz", + "integrity": "sha512-Iy//vPc3ANPNlIWd242Npqc8MK0a/i4kVcHDlDA6HNMv5zMxz4ulIFhOSYJVKw/8AbHdHy0CnGYEt1QqSXxPsw==", + "dev": true, + "license": "MIT", + "dependencies": { + "execa": "^8.0.1", + "find-versions": "^6.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/binary-version-check": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/binary-version-check/-/binary-version-check-6.1.0.tgz", + "integrity": "sha512-REKdLKmuViV2WrtWXvNSiPX04KbIjfUV3Cy8batUeOg+FtmowavzJorfFhWq95cVJzINnL/44ixP26TrdJZACA==", + "dev": true, + "license": "MIT", + "dependencies": { + "binary-version": "^7.1.0", + "semver": "^7.6.0", + "semver-truncate": "^3.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/binary-version/node_modules/execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/binary-version/node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/binary-version/node_modules/human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=16.17.0" + } + }, + "node_modules/binary-version/node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/binary-version/node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/binary-version/node_modules/npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/binary-version/node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/binary-version/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/binary-version/node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/body-parser": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.3.0.tgz", + "integrity": "sha512-2cGmJupaNgg+QUwVLAucDuWuoMZ6EX9iHDRswZ5lsNYEmwPaRknMPCLZz07yTzVq/83p4o/wzbDZbBrTvGGTIw==", + "license": "MIT", + "dependencies": { + "bytes": "^3.1.2", + "content-type": "^2.0.0", + "debug": "^4.4.3", + "http-errors": "^2.0.1", + "iconv-lite": "^0.7.2", + "on-finished": "^2.4.1", + "qs": "^6.15.2", + "raw-body": "^3.0.2", + "type-is": "^2.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/body-parser/node_modules/content-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-2.0.0.tgz", + "integrity": "sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/boxen": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz", + "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==", + "license": "MIT", + "dependencies": { + "ansi-align": "^3.0.0", + "camelcase": "^6.2.0", + "chalk": "^4.1.0", + "cli-boxes": "^2.2.1", + "string-width": "^4.2.2", + "type-fest": "^0.20.2", + "widest-line": "^3.1.0", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/boxen/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.15.tgz", + "integrity": "sha512-EwOCDEex4quD37XhqM3omwtMoJjr//isUZz1JopUNWms+4Z2ViyM/k1YIRePpoVNnQhENnxtFjLaxNHrT7xIUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz", + "integrity": "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "baseline-browser-mapping": "^2.10.12", + "caniuse-lite": "^1.0.30001782", + "electron-to-chromium": "^1.5.328", + "node-releases": "^2.0.36", + "update-browserslist-db": "^1.2.3" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-json-stable-stringify": "2.x" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "license": "MIT" + }, + "node_modules/busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", + "dependencies": { + "streamsearch": "^1.1.0" + }, + "engines": { + "node": ">=10.16.0" + } + }, + "node_modules/byte-counter": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/byte-counter/-/byte-counter-0.1.0.tgz", + "integrity": "sha512-jheRLVMeUKrDBjVw2O5+k4EvR4t9wtxHL+bo/LxfkxsVeuGMy3a5SEGgXdAFA4FSzTrU8rQXQIrsZ3oBq5a0pQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cache-manager": { + "version": "6.4.3", + "resolved": "https://registry.npmjs.org/cache-manager/-/cache-manager-6.4.3.tgz", + "integrity": "sha512-VV5eq/QQ5rIVix7/aICO4JyvSeEv9eIQuKL5iFwgM2BrcYoE0A/D1mNsAHJAsB0WEbNdBlKkn6Tjz6fKzh/cKQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "keyv": "^5.3.3" + } + }, + "node_modules/cacheable-lookup": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz", + "integrity": "sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.16" + } + }, + "node_modules/cacheable-request": { + "version": "13.0.19", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-13.0.19.tgz", + "integrity": "sha512-SVXGH037+Mo1aIMO5B2UcleR43FGjFdN+M8JObSyEoQ2Mn4CODRWx28gN5jiTF0n5ItsgtIZfyargMNs8GX4kg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/http-cache-semantics": "^4.2.0", + "get-stream": "^9.0.1", + "http-cache-semantics": "^4.2.0", + "keyv": "^5.6.0", + "mimic-response": "^4.0.0", + "normalize-url": "^8.1.1", + "responselike": "^4.0.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/call-bind": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.9.tgz", + "integrity": "sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "get-intrinsic": "^1.3.0", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001799", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001799.tgz", + "integrity": "sha512-hG1bReV+OUU+MOqK4t/ZWI0tZOyz3rqS9XuhOUz1cIcbwBKjOyJEJuw9ER5JuNyqxNk8u/JUVbGibBOL1yrjFw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/chardet": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-2.1.1.tgz", + "integrity": "sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/check-disk-space": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/check-disk-space/-/check-disk-space-3.4.0.tgz", + "integrity": "sha512-drVkSqfwA+TvuEhFipiR1OC9boEGZL5RrWvVsOthdcvQNXyCCuKkEiTOTXZ7qxSf/GLwq4GvzfrQD/Wz325hgw==", + "license": "MIT", + "engines": { + "node": ">=16" + } + }, + "node_modules/chokidar": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz", + "integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "readdirp": "^5.0.0" + }, + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", + "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0" + } + }, + "node_modules/ci-info": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.4.0.tgz", + "integrity": "sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cjs-module-lexer": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-2.2.0.tgz", + "integrity": "sha512-4bHTS2YuzUvtoLjdy+98ykbNB5jS0+07EvFNXerqZQJ89F7DI6ET7OQo/HJuW6K0aVsKA9hj9/RVb2kQVOrPDQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/class-transformer": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/class-transformer/-/class-transformer-0.5.1.tgz", + "integrity": "sha512-SQa1Ws6hUbfC98vKGxZH3KFY0Y1lm5Zm0SY8XX9zbK7FJCyVEac3ATW0RIpwzW+oOfmHE5PMPufDG9hCfoEOMw==", + "license": "MIT", + "peer": true + }, + "node_modules/class-validator": { + "version": "0.14.4", + "resolved": "https://registry.npmjs.org/class-validator/-/class-validator-0.14.4.tgz", + "integrity": "sha512-AwNusCCam51q703dW82x95tOqQp6oC9HNUl724KxJJOfnKscI8dOloXFgyez7LbTTKWuRBA37FScqVbJEoq8Yw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/validator": "^13.15.3", + "libphonenumber-js": "^1.11.1", + "validator": "^13.15.22" + } + }, + "node_modules/cli-boxes": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", + "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==", + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-spinners": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-table3": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.5.tgz", + "integrity": "sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "string-width": "^4.2.0" + }, + "engines": { + "node": "10.* || >= 12.*" + }, + "optionalDependencies": { + "@colors/colors": "1.5.0" + } + }, + "node_modules/cli-width": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", + "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 12" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/collect-v8-coverage": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.3.tgz", + "integrity": "sha512-1L5aqIkwPfiodaMgQunkF1zRhNqifHBmtbbbxcr6yVxxBnliw4TDOW6NxpO8DJLgJ16OT+Y4ztZqP6p/FtXnAw==", + "dev": true, + "license": "MIT" + }, + "node_modules/color": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/color/-/color-5.0.3.tgz", + "integrity": "sha512-ezmVcLR3xAVp8kYOm4GS45ZLLgIE6SPAFoduLr6hTDajwb3KZ2F46gulK3XpcwRFb5KKGCSezCBAY4Dw4HsyXA==", + "license": "MIT", + "dependencies": { + "color-convert": "^3.1.3", + "color-string": "^2.1.3" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/color-string": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-2.1.4.tgz", + "integrity": "sha512-Bb6Cq8oq0IjDOe8wJmi4JeNn763Xs9cfrBcaylK1tPypWzyoy2G3l90v9k64kjphl/ZJjPIShFztenRomi8WTg==", + "license": "MIT", + "dependencies": { + "color-name": "^2.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/color-string/node_modules/color-name": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.1.0.tgz", + "integrity": "sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg==", + "license": "MIT", + "engines": { + "node": ">=12.20" + } + }, + "node_modules/color/node_modules/color-convert": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.3.tgz", + "integrity": "sha512-fasDH2ont2GqF5HpyO4w0+BcewlhHEZOFn9c1ckZdHpJ56Qb7MHhH/IcJZbBGgvdtwdwNbLvxiBEdg336iA9Sg==", + "license": "MIT", + "dependencies": { + "color-name": "^2.0.0" + }, + "engines": { + "node": ">=14.6" + } + }, + "node_modules/color/node_modules/color-name": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.1.0.tgz", + "integrity": "sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg==", + "license": "MIT", + "engines": { + "node": ">=12.20" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/comment-json": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/comment-json/-/comment-json-5.0.0.tgz", + "integrity": "sha512-uiqLcOiVDJtBP8WGkZHEP+FZIhTzP1dxvn59EfoYUi9gqupjrBWVQkO2atDrbnKPwLeotFYDsuNb26uBMqB+hw==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-timsort": "^1.0.3", + "esprima": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/component-emitter": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz", + "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/concat-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", + "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", + "engines": [ + "node >= 6.0" + ], + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.0.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/content-disposition": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-2.0.1.tgz", + "integrity": "sha512-e+H0ZXHSWYrENhQzw1LPuP4oF5MzVKmDU6d3hxlvaPEYLLg62MxtQNPRx4SYSuYJSBUgnQIG4HIN2tEtNv7Dog==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-hrtime": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/convert-hrtime/-/convert-hrtime-5.0.0.tgz", + "integrity": "sha512-lOETlkIeYSJWcbbcvjRKGxVMXJR+8+OQb/mTPbA4ObPMytYIsUbuOE0Jzy60hjARYszq1id0j8KgVhC+WGZVTg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz", + "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==", + "license": "MIT", + "engines": { + "node": ">=6.6.0" + } + }, + "node_modules/cookiejar": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz", + "integrity": "sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==", + "dev": true, + "license": "MIT" + }, + "node_modules/cors": { + "version": "2.8.6", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.6.tgz", + "integrity": "sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==", + "license": "MIT", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/cosmiconfig": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/cron": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/cron/-/cron-4.4.0.tgz", + "integrity": "sha512-fkdfq+b+AHI4cKdhZlppHveI/mgz2qpiYxcm+t5E5TsxX7QrLS1VE0+7GENEk9z0EeGPcpSciGv6ez24duWhwQ==", + "license": "MIT", + "dependencies": { + "@types/luxon": "~3.7.0", + "luxon": "~3.7.0" + }, + "engines": { + "node": ">=18.x" + }, + "funding": { + "type": "ko-fi", + "url": "https://ko-fi.com/intcreator" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/dayjs": { + "version": "1.11.21", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.21.tgz", + "integrity": "sha512-98IT+HOahAisibz/yjKbzuOBwYcjJ7BCLPzARyHiyEBmRz4fatF+KPJszEHXsGYjUG234aH/cOjW1wwTbKUZlA==", + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decompress-response": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-10.0.0.tgz", + "integrity": "sha512-oj7KWToJuuxlPr7VV0vabvxEIiqNMo+q0NueIiL3XhtwC6FVOX7Hr1c0C4eD0bmf7Zr+S/dSf2xvkH3Ad6sU3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-response": "^4.0.0" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/dedent": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.7.2.tgz", + "integrity": "sha512-WzMx3mW98SN+zn3hgemf4OzdmyNhhhKz5Ay0pUfQiMQ3e1g+xmTJWp/pKdwKVXhdSkAEGIIzqeuWrL3mV/AXbA==", + "license": "MIT", + "peerDependencies": { + "babel-plugin-macros": "^3.1.0" + }, + "peerDependenciesMeta": { + "babel-plugin-macros": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/dezalgo": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz", + "integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==", + "dev": true, + "license": "ISC", + "dependencies": { + "asap": "^2.0.0", + "wrappy": "1" + } + }, + "node_modules/diff": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.4.tgz", + "integrity": "sha512-X07nttJQkwkfKfvTPG/KSnE2OMdcUCao6+eXF3wmnIQRn2aPAHH3VxDbDOdegkd6JbPsXqShpvEOHfAT+nCNwQ==", + "devOptional": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/dotenv": { + "version": "17.4.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-17.4.1.tgz", + "integrity": "sha512-k8DaKGP6r1G30Lx8V4+pCsLzKr8vLmV2paqEj1Y55GdAgJuIqpRp5FfajGF8KtwMxCz9qJc6wUIJnm053d/WCw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/dotenv-expand": { + "version": "12.0.3", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-12.0.3.tgz", + "integrity": "sha512-uc47g4b+4k/M/SeaW1y4OApx+mtLWl92l5LMPP0GNXctZqELk+YGgOPIIC5elYmUH4OuoK3JLhuRUYegeySiFA==", + "license": "BSD-2-Clause", + "dependencies": { + "dotenv": "^16.4.5" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/dotenv-expand/node_modules/dotenv": { + "version": "16.6.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.6.1.tgz", + "integrity": "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "license": "MIT" + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "license": "MIT" + }, + "node_modules/electron-to-chromium": { + "version": "1.5.373", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.373.tgz", + "integrity": "sha512-G2Hym8JIf/QreuseqkDibgH8Ci8KfJzqGDKdakbhSx9UltwRBH2cBLAWU/lBX0sCdv0TlhyxQyDCnSfxgMWsjA==", + "dev": true, + "license": "ISC" + }, + "node_modules/emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/enabled": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz", + "integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==", + "license": "MIT" + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.24.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.24.0.tgz", + "integrity": "sha512-SkE2t82KlkkxQRVMVLAGKxLfORGQfrkx5dkj+vlgXRVNEdPc4eZcR+J/Fvj8C+yKSFH5L0q3NFlyufOVQnCcYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.3.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/error-ex": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz", + "integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-module-lexer": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.1.0.tgz", + "integrity": "sha512-n27zTYMjYu1aj4MjCWzSP7G9r75utsaoc8m61weK+W8JMBGGQybd43GstCXZ3WNmSFtGT9wi59qQTW6mhTR5LQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/es-object-atoms": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz", + "integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "9.39.4", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.4.tgz", + "integrity": "sha512-XoMjdBOwe/esVgEvLmNsD3IRHkm7fbKIUGvrleloJXUZgDHig2IPWNniv+GwjyJXzuNqVjlr5+4yVUZjycJwfQ==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.8.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.21.2", + "@eslint/config-helpers": "^0.4.2", + "@eslint/core": "^0.17.0", + "@eslint/eslintrc": "^3.3.5", + "@eslint/js": "9.39.4", + "@eslint/plugin-kit": "^0.4.1", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.2", + "@types/estree": "^1.0.6", + "ajv": "^6.14.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.4.0", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.0", + "esquery": "^1.5.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.5", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } + } + }, + "node_modules/eslint-config-prettier": { + "version": "10.1.8", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.1.8.tgz", + "integrity": "sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==", + "dev": true, + "license": "MIT", + "peer": true, + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "funding": { + "url": "https://opencollective.com/eslint-config-prettier" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-plugin-prettier": { + "version": "5.5.6", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.5.6.tgz", + "integrity": "sha512-ifetmTcxWfz+4qRW3pH/ujdTq2jQIj59AxJMIN26K5avYgU8dxycUETQonWiW+wPrYXA0j3Try0l1CnwVQtDqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prettier-linter-helpers": "^1.0.1", + "synckit": "^0.11.13" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint-plugin-prettier" + }, + "peerDependencies": { + "@types/eslint": ">=8.0.0", + "eslint": ">=8.0.0", + "eslint-config-prettier": ">= 7.0.0 <10.0.0 || >=10.1.0", + "prettier": ">=3.0.0" + }, + "peerDependenciesMeta": { + "@types/eslint": { + "optional": true + }, + "eslint-config-prettier": { + "optional": true + } + } + }, + "node_modules/eslint-scope": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", + "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", + "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.15.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", + "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/events-universal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/events-universal/-/events-universal-1.0.1.tgz", + "integrity": "sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "bare-events": "^2.7.0" + } + }, + "node_modules/execa": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-9.6.1.tgz", + "integrity": "sha512-9Be3ZoN4LmYR90tUoVu2te2BsbzHfhJyfEiAVfz7N5/zv+jduIfLrV2xdQXOHbaD6KgpGdO9PRPM1Y4Q9QkPkA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@sindresorhus/merge-streams": "^4.0.0", + "cross-spawn": "^7.0.6", + "figures": "^6.1.0", + "get-stream": "^9.0.0", + "human-signals": "^8.0.1", + "is-plain-obj": "^4.1.0", + "is-stream": "^4.0.1", + "npm-run-path": "^6.0.0", + "pretty-ms": "^9.2.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^4.0.0", + "yoctocolors": "^2.1.1" + }, + "engines": { + "node": "^18.19.0 || >=20.5.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/exit-x": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/exit-x/-/exit-x-0.2.2.tgz", + "integrity": "sha512-+I6B/IkJc1o/2tiURyz/ivu/O0nKNEArIUB5O7zBrlDVJr22SCLH3xTeEry428LvFhRzIA1g8izguxJ/gbNcVQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expect": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-30.4.1.tgz", + "integrity": "sha512-PMARsyh/JtqC20HoGqlFcIlQAyqUtW4PlI1rup1uhYJtKuwAjbvWi3GQMAn+STdHum/dk8xrKfUM1+5SAwpolA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/expect-utils": "30.4.1", + "@jest/get-type": "30.1.0", + "jest-matcher-utils": "30.4.1", + "jest-message-util": "30.4.1", + "jest-mock": "30.4.1", + "jest-util": "30.4.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/express": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/express/-/express-5.2.1.tgz", + "integrity": "sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==", + "license": "MIT", + "peer": true, + "dependencies": { + "accepts": "^2.0.0", + "body-parser": "^2.2.1", + "content-disposition": "^1.0.0", + "content-type": "^1.0.5", + "cookie": "^0.7.1", + "cookie-signature": "^1.2.1", + "debug": "^4.4.0", + "depd": "^2.0.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "finalhandler": "^2.1.0", + "fresh": "^2.0.0", + "http-errors": "^2.0.0", + "merge-descriptors": "^2.0.0", + "mime-types": "^3.0.0", + "on-finished": "^2.4.1", + "once": "^1.4.0", + "parseurl": "^1.3.3", + "proxy-addr": "^2.0.7", + "qs": "^6.14.0", + "range-parser": "^1.2.1", + "router": "^2.2.0", + "send": "^1.1.0", + "serve-static": "^2.2.0", + "statuses": "^2.0.1", + "type-is": "^2.0.1", + "vary": "^1.1.2" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/express-rate-limit": { + "version": "8.5.2", + "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-8.5.2.tgz", + "integrity": "sha512-5Kb34ipNX694DH48vN9irak1Qx30nb0PLYHXfJgw4YEjiC3ZEmZJhwOp+VfiCYwFzvFTdB9QkArYS5kXa2cx2A==", + "license": "MIT", + "dependencies": { + "ip-address": "^10.2.0" + }, + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/express-rate-limit" + }, + "peerDependencies": { + "express": ">= 4.11" + } + }, + "node_modules/express/node_modules/content-disposition": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.1.0.tgz", + "integrity": "sha512-5jRCH9Z/+DRP7rkvY83B+yGIGX96OYdJmzngqnw2SBSxqCFPd0w2km3s5iawpGX8krnwSGmF0FW5Nhr0Hfai3g==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/ext-list": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/ext-list/-/ext-list-2.2.2.tgz", + "integrity": "sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "^1.28.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ext-name": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ext-name/-/ext-name-5.0.0.tgz", + "integrity": "sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ext-list": "^2.0.0", + "sort-keys-length": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-diff": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/fast-fifo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-safe-stringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==", + "license": "MIT" + }, + "node_modules/fast-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.2.tgz", + "integrity": "sha512-rVjf7ArG3LTk+FS6Yw81V1DLuZl1bRbNrev6Tmd/9RaroeeRRJhAt7jg/6YFxbvAQXUCavSoZhPPj6oOx+5KjQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/fecha": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz", + "integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==", + "license": "MIT" + }, + "node_modules/figures": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-6.1.0.tgz", + "integrity": "sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-unicode-supported": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^4.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/file-type": { + "version": "21.3.4", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-21.3.4.tgz", + "integrity": "sha512-Ievi/yy8DS3ygGvT47PjSfdFoX+2isQueoYP1cntFW1JLYAuS4GD7NUPGg4zv2iZfV52uDyk5w5Z0TdpRS6Q1g==", + "license": "MIT", + "dependencies": { + "@tokenizer/inflate": "^0.4.1", + "strtok3": "^10.3.4", + "token-types": "^6.1.1", + "uint8array-extras": "^1.4.0" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sindresorhus/file-type?sponsor=1" + } + }, + "node_modules/filename-reserved-regex": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-4.0.0.tgz", + "integrity": "sha512-9ZT504KxEQDamsOogZImAWGEN24R1uFAxU3ZS4AZqn2ooidmN68Olh7n4/RcA4lLatZztjA0ZSuxeLHVoCc8JA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/filenamify": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-7.0.1.tgz", + "integrity": "sha512-9b4rfnaX2MkJCgp27wypV6DAMvj4WMOSgJ+TdcpJIO84Dql+Cv6iJjdG4XDTLubOWkfNiBv3joO59sau/TXw+Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "filename-reserved-regex": "^4.0.0" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.1.tgz", + "integrity": "sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==", + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "on-finished": "^2.4.1", + "parseurl": "^1.3.3", + "statuses": "^2.0.1" + }, + "engines": { + "node": ">= 18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/find-versions": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-6.0.0.tgz", + "integrity": "sha512-2kCCtc+JvcZ86IGAz3Z2Y0A1baIz9fL31pH/0S1IqZr9Iwnjq8izfPtrCyQKO6TLMPELLsQMre7VDqeIKCsHkA==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver-regex": "^4.0.5", + "super-regex": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/flat-cache/node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/flatted": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", + "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", + "dev": true, + "license": "ISC" + }, + "node_modules/fn.name": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz", + "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==", + "license": "MIT" + }, + "node_modules/for-each": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", + "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/foreground-child": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/fork-ts-checker-webpack-plugin": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-9.1.0.tgz", + "integrity": "sha512-mpafl89VFPJmhnJ1ssH+8wmM2b50n+Rew5x42NeI2U78aRWgtkEtGmctp7iT16UjquJTjorEmIfESj3DxdW84Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.16.7", + "chalk": "^4.1.2", + "chokidar": "^4.0.1", + "cosmiconfig": "^8.2.0", + "deepmerge": "^4.2.2", + "fs-extra": "^10.0.0", + "memfs": "^3.4.1", + "minimatch": "^3.0.4", + "node-abort-controller": "^3.0.1", + "schema-utils": "^3.1.1", + "semver": "^7.3.5", + "tapable": "^2.2.1" + }, + "engines": { + "node": ">=14.21.3" + }, + "peerDependencies": { + "typescript": ">3.6.0", + "webpack": "^5.11.0" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/form-data": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.6.tgz", + "integrity": "sha512-vKatAh4SlVfgbv+YtmhiRjhEMJsYpsG1Y2rMQtR+SVSbytsSD1YGzDIcrAJmdFec88u/+VoGmxnl+80gL1tRCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.4", + "mime-types": "^2.1.35" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/form-data-encoder": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-4.1.0.tgz", + "integrity": "sha512-G6NsmEW15s0Uw9XnCg+33H3ViYRyiM0hMrMhhqQOR8NFc5GhYrI+6I3u7OTw7b91J2g8rtvMBZJDbcGb2YUniw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 18" + } + }, + "node_modules/form-data/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/form-data/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/formidable": { + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/formidable/-/formidable-3.5.4.tgz", + "integrity": "sha512-YikH+7CUTOtP44ZTnUhR7Ic2UASBPOqmaRkRKxRbywPTe5VxF7RRCck4af9wutiZ/QKM5nME9Bie2fFaPz5Gug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@paralleldrive/cuid2": "^2.2.2", + "dezalgo": "^1.0.4", + "once": "^1.4.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "url": "https://ko-fi.com/tunnckoCore/commissions" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz", + "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/fs-monkey": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.1.0.tgz", + "integrity": "sha512-QMUezzXWII9EV5aTFXW1UBVUO77wYPpjqIF8/AviUCThNeSYZykpoTixUeaNNBwmCev0AMDWMAni+f8Hxb1IFw==", + "dev": true, + "license": "Unlicense" + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true, + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/function-timeout": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/function-timeout/-/function-timeout-1.0.2.tgz", + "integrity": "sha512-939eZS4gJ3htTHAldmyyuzlrD58P03fHG49v2JfFXbV6OhvZKRC9j2yAtdHw/zrp2zXHuv05zMIy40F0ge7spA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-stream": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-9.0.1.tgz", + "integrity": "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@sec-ant/readable-stream": "^0.4.1", + "is-stream": "^4.0.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob": { + "version": "13.0.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz", + "integrity": "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "minimatch": "^10.2.2", + "minipass": "^7.1.3", + "path-scurry": "^2.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/glob/node_modules/balanced-match": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.6.tgz", + "integrity": "sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "10.2.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", + "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "brace-expansion": "^5.0.5" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/globals": { + "version": "16.5.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-16.5.0.tgz", + "integrity": "sha512-c/c15i26VrJ4IRt5Z89DnIzCGDn9EcebibhAOjw5ibqEHsE1wLUgkPn9RDmNcUKyU87GeaL633nyJ+pplFR2ZQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/got": { + "version": "14.6.6", + "resolved": "https://registry.npmjs.org/got/-/got-14.6.6.tgz", + "integrity": "sha512-QLV1qeYSo5l13mQzWgP/y0LbMr5Plr5fJilgAIwgnwseproEbtNym8xpLsDzeZ6MWXgNE6kdWGBjdh3zT/Qerg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@sindresorhus/is": "^7.0.1", + "byte-counter": "^0.1.0", + "cacheable-lookup": "^7.0.0", + "cacheable-request": "^13.0.12", + "decompress-response": "^10.0.0", + "form-data-encoder": "^4.0.2", + "http2-wrapper": "^2.2.1", + "keyv": "^5.5.3", + "lowercase-keys": "^3.0.0", + "p-cancelable": "^4.0.1", + "responselike": "^4.0.2", + "type-fest": "^4.26.1" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sindresorhus/got?sponsor=1" + } + }, + "node_modules/got/node_modules/type-fest": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/handlebars": { + "version": "4.7.9", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.9.tgz", + "integrity": "sha512-4E71E0rpOaQuJR2A3xDZ+GM1HyWYv1clR58tC8emQNeQe3RH7MAzSbat+V0wG78LQBo6m6bzSG/L4pBuCsgnUQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.5", + "neo-async": "^2.6.2", + "source-map": "^0.6.1", + "wordwrap": "^1.0.0" + }, + "bin": { + "handlebars": "bin/handlebars" + }, + "engines": { + "node": ">=0.4.7" + }, + "optionalDependencies": { + "uglify-js": "^3.1.4" + } + }, + "node_modules/handlebars/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz", + "integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/helmet": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/helmet/-/helmet-8.2.0.tgz", + "integrity": "sha512-DRgTIUgnWcJ62KyarxxziuqYxKGnR6Rgg19BlbucN/dpmJbl1XOit6qvoOX0ZT+HhWe5OUVhU/a1zpGyc1xA0Q==", + "license": "MIT", + "engines": { + "node": ">=18.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/EvanHahn" + } + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true, + "license": "MIT" + }, + "node_modules/http-cache-semantics": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", + "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "license": "MIT", + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/http2-wrapper": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.1.tgz", + "integrity": "sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "quick-lru": "^5.1.1", + "resolve-alpn": "^1.2.0" + }, + "engines": { + "node": ">=10.19.0" + } + }, + "node_modules/human-signals": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-8.0.1.tgz", + "integrity": "sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.2.tgz", + "integrity": "sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-local": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", + "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dev": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/inspect-with-kind": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/inspect-with-kind/-/inspect-with-kind-1.0.5.tgz", + "integrity": "sha512-MAQUJuIo7Xqk8EVNP+6d3CKq9c80hi4tjIbIAT6lmGW9W6WzlHiu9PS8uSuUYU+Do+j1baiFp3H25XEVxDIG2g==", + "dev": true, + "license": "ISC", + "dependencies": { + "kind-of": "^6.0.2" + } + }, + "node_modules/ip-address": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.2.0.tgz", + "integrity": "sha512-/+S6j4E9AHvW9SWMSEY9Xfy66O5PWvVEJ08O0y5JGyEKQpojb0K0GKpz/v5HJ/G0vi3D2sjGK78119oXZeE0qA==", + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-promise": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", + "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", + "license": "MIT" + }, + "node_modules/is-stream": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", + "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", + "license": "MIT", + "dependencies": { + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-unicode-supported": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz", + "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "license": "MIT" + }, + "node_modules/isexe": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-4.0.0.tgz", + "integrity": "sha512-FFUtZMpoZ8RqHS3XeXEmHWLA4thH+ZxCv2lOiPIn1Xc7CxrqhWzNSDzD+/chS/zbYezmiwWLdQC09JdQKmthOw==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=20" + } + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", + "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@babel/core": "^7.23.9", + "@babel/parser": "^7.23.9", + "@istanbuljs/schema": "^0.1.3", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-5.0.6.tgz", + "integrity": "sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.23", + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-reports": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.2.0.tgz", + "integrity": "sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/iterare": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/iterare/-/iterare-1.2.1.tgz", + "integrity": "sha512-RKYVTCjAnRthyJes037NX/IiqeidgN1xc3j1RjFfECFp28A1GVwK9nA+i0rJPaHqSZwygLzRnFlzUuHFoWWy+Q==", + "license": "ISC", + "engines": { + "node": ">=6" + } + }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jest": { + "version": "30.4.2", + "resolved": "https://registry.npmjs.org/jest/-/jest-30.4.2.tgz", + "integrity": "sha512-Yi1jqNC/Oq0N4hBgNH/YvBpP1P57QqundgytzYqy3yqAa7NZPNjSoi4SGbRAXDMdBzNE6xBCi5U7RgfrvMEUVQ==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@jest/core": "30.4.2", + "@jest/types": "30.4.1", + "import-local": "^3.2.0", + "jest-cli": "30.4.2" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-changed-files": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-30.4.1.tgz", + "integrity": "sha512-IuctmYrxi21iOSOaIXpJWalHyPAsVv0GeBHKDn8C1CA4W5htHn7INL+wdnL4Bo0+olEndvAFkmb++tIQJG+vvg==", + "dev": true, + "license": "MIT", + "dependencies": { + "execa": "^5.1.1", + "jest-util": "30.4.1", + "p-limit": "^3.1.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-changed-files/node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/jest-changed-files/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-changed-files/node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/jest-changed-files/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-changed-files/node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-changed-files/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/jest-changed-files/node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-circus": { + "version": "30.4.2", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-30.4.2.tgz", + "integrity": "sha512-rvHH7VlY6LgbJXJTQ87GW62g1FntOtbhh0zT+v04kC+pgL6aBKyYINXxWukCpj3dcIBMw5/XUbtDS9dU9JTXeQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "30.4.1", + "@jest/expect": "30.4.1", + "@jest/test-result": "30.4.1", + "@jest/types": "30.4.1", + "@types/node": "*", + "chalk": "^4.1.2", + "co": "^4.6.0", + "dedent": "^1.6.0", + "is-generator-fn": "^2.1.0", + "jest-each": "30.4.1", + "jest-matcher-utils": "30.4.1", + "jest-message-util": "30.4.1", + "jest-runtime": "30.4.2", + "jest-snapshot": "30.4.1", + "jest-util": "30.4.1", + "p-limit": "^3.1.0", + "pretty-format": "30.4.1", + "pure-rand": "^7.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.6" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-cli": { + "version": "30.4.2", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-30.4.2.tgz", + "integrity": "sha512-jfA2ocvVHMXS2QijrJ0d31ektP+d/W0T5RpcTX2Pq+3sVqHlsXVCM2+FmwpL+bdY8OfHpIg9xMxLF17Zg0U49Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/core": "30.4.2", + "@jest/test-result": "30.4.1", + "@jest/types": "30.4.1", + "chalk": "^4.1.2", + "exit-x": "^0.2.2", + "import-local": "^3.2.0", + "jest-config": "30.4.2", + "jest-util": "30.4.1", + "jest-validate": "30.4.1", + "yargs": "^17.7.2" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-config": { + "version": "30.4.2", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-30.4.2.tgz", + "integrity": "sha512-rNHAShJQqQwFNoL0hbf3BphSBOWnpOUAKvidLS/AjNVLPfoj5mSf4jQMfW3cYOs6hXeZC7nF7mDHaBnbxELOzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.27.4", + "@jest/get-type": "30.1.0", + "@jest/pattern": "30.4.0", + "@jest/test-sequencer": "30.4.1", + "@jest/types": "30.4.1", + "babel-jest": "30.4.1", + "chalk": "^4.1.2", + "ci-info": "^4.2.0", + "deepmerge": "^4.3.1", + "glob": "^10.5.0", + "graceful-fs": "^4.2.11", + "jest-circus": "30.4.2", + "jest-docblock": "30.4.0", + "jest-environment-node": "30.4.1", + "jest-regex-util": "30.4.0", + "jest-resolve": "30.4.1", + "jest-runner": "30.4.2", + "jest-util": "30.4.1", + "jest-validate": "30.4.1", + "parse-json": "^5.2.0", + "pretty-format": "30.4.1", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "peerDependencies": { + "@types/node": "*", + "esbuild-register": ">=3.4.0", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "esbuild-register": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/jest-config/node_modules/brace-expansion": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.1.tgz", + "integrity": "sha512-WR1cURNjuvBLMZBMbqM0UoE+WAfdUcEV1ccD8PVBVOI+Z3ND4+SZbN8RsfT2bMuG1qwz5RFvPukSZm5fF2D5eA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/jest-config/node_modules/glob": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz", + "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/jest-config/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/jest-config/node_modules/minimatch": { + "version": "9.0.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz", + "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.2" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/jest-config/node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/jest-diff": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-30.4.1.tgz", + "integrity": "sha512-CRpFK0RtLriVDGcPPAnR6HMVI8bSR2jnUIgralhauzYQZIb4RH9AtEInTuQr65LmmGggGcRT6HIASxwqsVsmlA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/diff-sequences": "30.4.0", + "@jest/get-type": "30.1.0", + "chalk": "^4.1.2", + "pretty-format": "30.4.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-docblock": { + "version": "30.4.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-30.4.0.tgz", + "integrity": "sha512-ZPMabUZCx5MpbZ2eBYSvZ0J8fvo3dR9oM+eeUpb3aKNQFuS2tu3Duw1TNlMoP8k3WQgKGJuhcMFvwcVuq6T7oA==", + "dev": true, + "license": "MIT", + "dependencies": { + "detect-newline": "^3.1.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-each": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-30.4.1.tgz", + "integrity": "sha512-/8MJbH6fuj48TstjrMf+u/pd06Qezz5xOXvZA6442heNOWr8bdeoGZX2d9fCn028CoMgYmroH9//zky5GfyYmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/get-type": "30.1.0", + "@jest/types": "30.4.1", + "chalk": "^4.1.2", + "jest-util": "30.4.1", + "pretty-format": "30.4.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-environment-node": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-30.4.1.tgz", + "integrity": "sha512-4FZYVOk85hz2AyT6BbarKy9u37g6DbrDyCdFhsnDdXqyrueYQvB+0zO4f/kqLCRD0BsPRXPMNJeQwihKZV8naw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "30.4.1", + "@jest/fake-timers": "30.4.1", + "@jest/types": "30.4.1", + "@types/node": "*", + "jest-mock": "30.4.1", + "jest-util": "30.4.1", + "jest-validate": "30.4.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-haste-map": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-30.4.1.tgz", + "integrity": "sha512-rFrcONd8jeFsyw+Z9CrScJgglRf2+NFmNam8dKu7n+SoHqNYT47mn0DdEcVUZJpvh7Iz6/si7f7yUH7GJHVgnw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "30.4.1", + "@types/node": "*", + "anymatch": "^3.1.3", + "fb-watchman": "^2.0.2", + "graceful-fs": "^4.2.11", + "jest-regex-util": "30.4.0", + "jest-util": "30.4.1", + "jest-worker": "30.4.1", + "picomatch": "^4.0.3", + "walker": "^1.0.8" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.3" + } + }, + "node_modules/jest-leak-detector": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-30.4.1.tgz", + "integrity": "sha512-IpmyiioeHxiWDhesHnUFmOxcTzwCwKpgACgWajtAP+nYQXiY7DakTxB6Bx9JFiRMljr0AX1PvnQdaU1KFoz6NQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/get-type": "30.1.0", + "pretty-format": "30.4.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-matcher-utils": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-30.4.1.tgz", + "integrity": "sha512-zvYfX5CaeEkFrrLS9suWe9rvJrm9J1Iv3ua8kIBv9GEPzcnsfBf0bob37la7s67fs0nlBC3EuvkOLnXQKxtx4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/get-type": "30.1.0", + "chalk": "^4.1.2", + "jest-diff": "30.4.1", + "pretty-format": "30.4.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-message-util": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-30.4.1.tgz", + "integrity": "sha512-kwCKIvq0MCW1HzLoGola9Te6JUdzgV0loyKJ3Qghrkz9i5/RRIHsL95BMQc2HBBhlBKC4j22K9p11TGHH8RBpQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@jest/types": "30.4.1", + "@types/stack-utils": "^2.0.3", + "chalk": "^4.1.2", + "graceful-fs": "^4.2.11", + "jest-util": "30.4.1", + "picomatch": "^4.0.3", + "pretty-format": "30.4.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.6" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-mock": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-30.4.1.tgz", + "integrity": "sha512-/i8SVb8/NSB7RfNi8gfqu8gxLV23KaL5EpAttyb9iz8qWRIqXRLflycz/32wXsYkOnaUlx8NAKnJYtpsmXUmfw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "30.4.1", + "@types/node": "*", + "jest-util": "30.4.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } + }, + "node_modules/jest-regex-util": { + "version": "30.4.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-30.4.0.tgz", + "integrity": "sha512-mWlvLviKIgIQ8VCuM1xRdD0TWp3zlzionlmDBjuXVBs+VkmXq6FgW9T4Emr7oGz/Rk6feDCGyiugolcQEyp3mg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-resolve": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-30.4.1.tgz", + "integrity": "sha512-Zry8Yq/yJcNAZ7dJ5F2heic8AheXvbFZ7XI5V+h28nrYZ7Qoyy4dItq8OodjnYD270mvX+ZudmrNV9cysqhW5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.2", + "graceful-fs": "^4.2.11", + "jest-haste-map": "30.4.1", + "jest-pnp-resolver": "^1.2.3", + "jest-util": "30.4.1", + "jest-validate": "30.4.1", + "slash": "^3.0.0", + "unrs-resolver": "^1.7.11" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "30.4.2", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-30.4.2.tgz", + "integrity": "sha512-gDiVh1I+GxYzz9oXlyw+1wv6VOYX1WYxMOfjsA3iGKePV2oxmbHhwxfkALxNxYy1ciw6APWwkW2zZONwP97aEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "jest-regex-util": "30.4.0", + "jest-snapshot": "30.4.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-runner": { + "version": "30.4.2", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-30.4.2.tgz", + "integrity": "sha512-2dw0PslVYXxffXGpLo+Ejad+KcI1Qkjn7f4X4619gf21oCUmL+SPfjqIa/losUem3yEOvfNZe/F1HWUcNpODcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/console": "30.4.1", + "@jest/environment": "30.4.1", + "@jest/test-result": "30.4.1", + "@jest/transform": "30.4.1", + "@jest/types": "30.4.1", + "@types/node": "*", + "chalk": "^4.1.2", + "emittery": "^0.13.1", + "exit-x": "^0.2.2", + "graceful-fs": "^4.2.11", + "jest-docblock": "30.4.0", + "jest-environment-node": "30.4.1", + "jest-haste-map": "30.4.1", + "jest-leak-detector": "30.4.1", + "jest-message-util": "30.4.1", + "jest-resolve": "30.4.1", + "jest-runtime": "30.4.2", + "jest-util": "30.4.1", + "jest-watcher": "30.4.1", + "jest-worker": "30.4.1", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-runner/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-runner/node_modules/source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/jest-runtime": { + "version": "30.4.2", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-30.4.2.tgz", + "integrity": "sha512-3/5e8iPz2k/VLqlr8DgTftYyLUv8Su3FkCAO2/Od81UsUTpSxOrS6O5x5KkoQwyUjmpYyDJKeyAvg2T2nvpNkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "30.4.1", + "@jest/fake-timers": "30.4.1", + "@jest/globals": "30.4.1", + "@jest/source-map": "30.0.1", + "@jest/test-result": "30.4.1", + "@jest/transform": "30.4.1", + "@jest/types": "30.4.1", + "@types/node": "*", + "chalk": "^4.1.2", + "cjs-module-lexer": "^2.1.0", + "collect-v8-coverage": "^1.0.2", + "glob": "^10.5.0", + "graceful-fs": "^4.2.11", + "jest-haste-map": "30.4.1", + "jest-message-util": "30.4.1", + "jest-mock": "30.4.1", + "jest-regex-util": "30.4.0", + "jest-resolve": "30.4.1", + "jest-snapshot": "30.4.1", + "jest-util": "30.4.1", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-runtime/node_modules/brace-expansion": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.1.tgz", + "integrity": "sha512-WR1cURNjuvBLMZBMbqM0UoE+WAfdUcEV1ccD8PVBVOI+Z3ND4+SZbN8RsfT2bMuG1qwz5RFvPukSZm5fF2D5eA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/jest-runtime/node_modules/glob": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz", + "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/jest-runtime/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/jest-runtime/node_modules/minimatch": { + "version": "9.0.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz", + "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.2" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/jest-runtime/node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/jest-snapshot": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-30.4.1.tgz", + "integrity": "sha512-tEOkkfOMppUyeiHwjZswOQ3lcnoTnws/q5FnGIaeIh/jmoU0ZlgMYRR8sTlTj+nNGCoJ0RDq6SfxGxCsyMTPmw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.27.4", + "@babel/generator": "^7.27.5", + "@babel/plugin-syntax-jsx": "^7.27.1", + "@babel/plugin-syntax-typescript": "^7.27.1", + "@babel/types": "^7.27.3", + "@jest/expect-utils": "30.4.1", + "@jest/get-type": "30.1.0", + "@jest/snapshot-utils": "30.4.1", + "@jest/transform": "30.4.1", + "@jest/types": "30.4.1", + "babel-preset-current-node-syntax": "^1.2.0", + "chalk": "^4.1.2", + "expect": "30.4.1", + "graceful-fs": "^4.2.11", + "jest-diff": "30.4.1", + "jest-matcher-utils": "30.4.1", + "jest-message-util": "30.4.1", + "jest-util": "30.4.1", + "pretty-format": "30.4.1", + "semver": "^7.7.2", + "synckit": "^0.11.8" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-util": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-30.4.1.tgz", + "integrity": "sha512-vjQb1sACEiv13DKJMDToJpzVW0joCsIQrmbg0fi7CyOOt+g9jTuQl2A216pWRBYhOVt53XbL/2LbMKg1BECWOw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "30.4.1", + "@types/node": "*", + "chalk": "^4.1.2", + "ci-info": "^4.2.0", + "graceful-fs": "^4.2.11", + "picomatch": "^4.0.3" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-validate": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-30.4.1.tgz", + "integrity": "sha512-PDWi4SOwLnwqNDfHZjOcsEFyZ4fc/2W2gVL3DEoyqnB6jCQMLRtfBong8s6omIw3lI0HWOus12xfnFmQtjW3fw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/get-type": "30.1.0", + "@jest/types": "30.4.1", + "camelcase": "^6.3.0", + "chalk": "^4.1.2", + "leven": "^3.1.0", + "pretty-format": "30.4.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-watcher": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-30.4.1.tgz", + "integrity": "sha512-/l9UonmvCwjHH7d2h3iAwIloLc1H0S8mJZ/LNK3i86hqwPAz8otUJjP9MfYtz9Tt77Su5FD2xGjZn8d31IZHlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/test-result": "30.4.1", + "@jest/types": "30.4.1", + "@types/node": "*", + "ansi-escapes": "^4.3.2", + "chalk": "^4.1.2", + "emittery": "^0.13.1", + "jest-util": "30.4.1", + "string-length": "^4.0.2" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-worker": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-30.4.1.tgz", + "integrity": "sha512-SHynN/q/QD++iNyvMdy+WMmbCGk8jIsNcRxycXbWubSOhvo6T+j2afcfUSl+3hYsiBebOTo0cT7c2H7CXugu1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@ungap/structured-clone": "^1.3.0", + "jest-util": "30.4.1", + "merge-stream": "^2.0.0", + "supports-color": "^8.1.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.2.0.tgz", + "integrity": "sha512-ePWsvanv0DWuDRsW8dnt+R4jQ31SCRCQ7hhNcPXZPsoBZiemuZNYGf7adZdqX2D86j6rvKp3RpCxVTSb8WQlOw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/nodeca" + } + ], + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonc-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz", + "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/jsonfile": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.1.tgz", + "integrity": "sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/keyv": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.6.0.tgz", + "integrity": "sha512-CYDD3SOtsHtyXeEORYRx2qBtpDJFjRTGXUtmNEMGyzYOKj1TE3tycdlho7kA1Ufx9OYWZzg52QFBGALTirzDSw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@keyv/serialize": "^1.1.1" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kuler": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz", + "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==", + "license": "MIT" + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/libphonenumber-js": { + "version": "1.13.6", + "resolved": "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.13.6.tgz", + "integrity": "sha512-NdB6O6QvlGMCoG003m0YIKG2+Xw7DjmCZhmc1RH+K6HncADUbRf8TZeLegxBBN1VFyPHcNpPTKpIhYLXzJVy1Q==", + "license": "MIT" + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true, + "license": "MIT" + }, + "node_modules/load-esm": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/load-esm/-/load-esm-1.0.3.tgz", + "integrity": "sha512-v5xlu8eHD1+6r8EHTg6hfmO97LN8ugKtiXcy5e6oN72iD2r6u0RPfLl6fxM+7Wnh2ZRq15o0russMst44WauPA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + }, + { + "type": "buymeacoffee", + "url": "https://buymeacoffee.com/borewit" + } + ], + "license": "MIT", + "engines": { + "node": ">=13.2.0" + } + }, + "node_modules/loader-runner": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.2.tgz", + "integrity": "sha512-DFEqQ3ihfS9blba08cLfYf1NRAIEm+dDjic073DRDc3/JspI/8wYmtDsHwd3+4hwvdxSK7PGaElfTmm0awWJ4w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.11.5" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz", + "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==", + "license": "MIT" + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-symbols/node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/logform": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/logform/-/logform-2.7.0.tgz", + "integrity": "sha512-TFYA4jnP7PVbmlBIfhlSe+WKxs9dklXMTEGcBCIvLhE/Tn3H6Gk1norupVW7m5Cnd4bLcr08AytbyV/xj7f/kQ==", + "license": "MIT", + "dependencies": { + "@colors/colors": "1.6.0", + "@types/triple-beam": "^1.3.2", + "fecha": "^4.2.0", + "ms": "^2.1.1", + "safe-stable-stringify": "^2.3.1", + "triple-beam": "^1.3.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/logform/node_modules/@colors/colors": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.6.0.tgz", + "integrity": "sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==", + "license": "MIT", + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/lowercase-keys": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz", + "integrity": "sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/luxon": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.7.2.tgz", + "integrity": "sha512-vtEhXh/gNjI9Yg1u4jX/0YVPMvxzHuGgCm6tC5kZyb08yjGWGnqAjGJvcXbqQR2P3MyMEFnRbpcdFS6PBcLqew==", + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "node_modules/magic-string": { + "version": "0.30.17", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", + "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, + "node_modules/make-asynchronous": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/make-asynchronous/-/make-asynchronous-1.1.0.tgz", + "integrity": "sha512-ayF7iT+44LXdxJLTrTd3TLQpFDDvPCBxXxbv+pMUSuHA5Q8zyAfwkRP6aHHwNVFBUFWtxAHqwNJxF8vMZLAbVg==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-event": "^6.0.0", + "type-fest": "^4.6.0", + "web-worker": "^1.5.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-asynchronous/node_modules/type-fest": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "devOptional": true, + "license": "ISC" + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "tmpl": "1.0.5" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/media-typer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", + "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/memfs": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", + "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", + "dev": true, + "license": "Unlicense", + "dependencies": { + "fs-monkey": "^1.0.4" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/merge-descriptors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz", + "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true, + "license": "MIT" + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/micromatch/node_modules/picomatch": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "dev": true, + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz", + "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", + "license": "MIT", + "dependencies": { + "mime-db": "^1.54.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/mimic-response": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-4.0.0.tgz", + "integrity": "sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/minimatch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", + "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==", + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/multer": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/multer/-/multer-2.1.1.tgz", + "integrity": "sha512-mo+QTzKlx8R7E5ylSXxWzGoXoZbOsRMpyitcht8By2KHvMbf3tjwosZ/Mu/XYU6UuJ3VZnODIrak5ZrPiPyB6A==", + "license": "MIT", + "dependencies": { + "append-field": "^1.0.0", + "busboy": "^1.6.0", + "concat-stream": "^2.0.0", + "type-is": "^1.6.18" + }, + "engines": { + "node": ">= 10.16.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/multer/node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/multer/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/multer/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/multer/node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "license": "MIT", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mute-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-2.0.0.tgz", + "integrity": "sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/napi-postinstall": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/napi-postinstall/-/napi-postinstall-0.3.4.tgz", + "integrity": "sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ==", + "dev": true, + "license": "MIT", + "bin": { + "napi-postinstall": "lib/cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/napi-postinstall" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/negotiator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", + "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true, + "license": "MIT" + }, + "node_modules/nest-winston": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/nest-winston/-/nest-winston-1.10.2.tgz", + "integrity": "sha512-Z9IzL/nekBOF/TEwBHUJDiDPMaXUcFquUQOFavIRet6xF0EbuWnOzslyN/ksgzG+fITNgXhMdrL/POp9SdaFxA==", + "license": "MIT", + "dependencies": { + "fast-safe-stringify": "^2.1.1" + }, + "peerDependencies": { + "@nestjs/common": "^5.0.0 || ^6.6.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0", + "winston": "^3.0.0" + } + }, + "node_modules/node-abort-controller": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.1.1.tgz", + "integrity": "sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-emoji": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", + "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash": "^4.17.21" + } + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-releases": { + "version": "2.0.47", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.47.tgz", + "integrity": "sha512-Uzmd6LXpouKo8EUK68IjH4+E01w/hXyV3R3g/geCJo+rXLNfh1xucB+LOzYEOQPSiUK3h/xZf0cQGcSsmyL2Og==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.1.1.tgz", + "integrity": "sha512-JYc0DPlpGWB40kH5g07gGTrYuMqV653k3uBKY6uITPWds3M0ov3GaWGp9lbE3Bzngx8+XkfzgvASb9vk9JDFXQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-6.0.0.tgz", + "integrity": "sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^4.0.0", + "unicorn-magic": "^0.3.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/one-time": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz", + "integrity": "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==", + "license": "MIT", + "dependencies": { + "fn.name": "1.x.x" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora/node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-cancelable": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-4.0.1.tgz", + "integrity": "sha512-wBowNApzd45EIKdO1LaU+LrMBwAcjfPaYtVzV3lmfM3gf8Z4CHZsiIqlM8TZZ8okYvh5A1cP6gTfCRQtwUpaUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.16" + } + }, + "node_modules/p-event": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/p-event/-/p-event-6.0.1.tgz", + "integrity": "sha512-Q6Bekk5wpzW5qIyUP4gdMEujObYstZl6DMMOSenwBvV0BlE5LkDwkjs5yHbZmdCEq2o4RJx4tE1vwxFVf2FG1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-timeout": "^6.1.2" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-timeout": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-6.1.4.tgz", + "integrity": "sha512-MyIV3ZA/PmyBN/ud8vV9XzwTrNtR4jFrObymZYnZqMmW0zA8Z17vnT0rBgFE/TlohB+YCHqXMgZzb3Csp49vqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "license": "BlueOak-1.0.0" + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse-ms": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-4.0.0.tgz", + "integrity": "sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-scurry": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.2.tgz", + "integrity": "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "11.5.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.5.1.tgz", + "integrity": "sha512-RPimw/7aMdv2oqRrxKwvZXcPfwBrn/JZ2xYcY9Hus/6LaS3VOAKVWKWgNLCFSiOm1ESXinjsDlidVU7JlnCN2A==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/path-to-regexp": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.4.2.tgz", + "integrity": "sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true, + "license": "MIT" + }, + "node_modules/pg": { + "version": "8.21.0", + "resolved": "https://registry.npmjs.org/pg/-/pg-8.21.0.tgz", + "integrity": "sha512-AUP1EYJuHraQGsVoCQVIcM7TEJVGtDzxWtGFZd8rds9d+CCXlU5Js1rYgfLNvxy9iJrpHjGrRjoi/3BT9fRyiA==", + "license": "MIT", + "peer": true, + "dependencies": { + "pg-connection-string": "^2.13.0", + "pg-pool": "^3.14.0", + "pg-protocol": "^1.14.0", + "pg-types": "2.2.0", + "pgpass": "1.0.5" + }, + "engines": { + "node": ">= 16.0.0" + }, + "optionalDependencies": { + "pg-cloudflare": "^1.4.0" + }, + "peerDependencies": { + "pg-native": ">=3.0.1" + }, + "peerDependenciesMeta": { + "pg-native": { + "optional": true + } + } + }, + "node_modules/pg-cloudflare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/pg-cloudflare/-/pg-cloudflare-1.4.0.tgz", + "integrity": "sha512-Vo7z/6rrQYxpNRylp4Tlob2elzbh+N/MOQbxFVWCxS7oEx6jF53GTJFxK2WWpKuBRkmiin4Mt+xofFDjx09R0A==", + "license": "MIT", + "optional": true + }, + "node_modules/pg-connection-string": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.13.0.tgz", + "integrity": "sha512-EMnU9E2fSULdsbErBbMaXJvFeD9B4+nPcM3f+4lsiCR0BHLPrLVjv3DbyM2hgQQviKJaTWIRRTjKjWlHg3p2ig==", + "license": "MIT" + }, + "node_modules/pg-int8": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/pg-int8/-/pg-int8-1.0.1.tgz", + "integrity": "sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==", + "license": "ISC", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/pg-pool": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.14.0.tgz", + "integrity": "sha512-gKtPkFdQPU3DksooVLi9LsjZxrsBUZIpa+7aVx+LV5pNh0KzP4Zleud2po+ConrxbuXGBJ6Hfer6hdgpIBpBaw==", + "license": "MIT", + "peerDependencies": { + "pg": ">=8.0" + } + }, + "node_modules/pg-protocol": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.14.0.tgz", + "integrity": "sha512-n5taZ1kO3s9ngDTVxsEznOqCyToTgz0FLuPq0B33COy5pPpuWJpY3/2oRBVETuOgzdqRXfWpM9HIhp2LBBT1BA==", + "license": "MIT" + }, + "node_modules/pg-types": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/pg-types/-/pg-types-2.2.0.tgz", + "integrity": "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==", + "license": "MIT", + "dependencies": { + "pg-int8": "1.0.1", + "postgres-array": "~2.0.0", + "postgres-bytea": "~1.0.0", + "postgres-date": "~1.0.4", + "postgres-interval": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pgpass": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/pgpass/-/pgpass-1.0.5.tgz", + "integrity": "sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==", + "license": "MIT", + "dependencies": { + "split2": "^4.1.0" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pirates": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz", + "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/piscina": { + "version": "4.9.3", + "resolved": "https://registry.npmjs.org/piscina/-/piscina-4.9.3.tgz", + "integrity": "sha512-3e3ka9QCE8RJ5I9uszdAADZnkcYi21cqmF3gxox3u884N72qpFHCsIVhHt8cEQ9t3Auq/NqoiCEuhxlxxQuDWA==", + "dev": true, + "license": "MIT", + "optionalDependencies": { + "@napi-rs/nice": "^1.0.1" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pluralize": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", + "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/possible-typed-array-names": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", + "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/postgres-array": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz", + "integrity": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/postgres-bytea": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.1.tgz", + "integrity": "sha512-5+5HqXnsZPE65IJZSMkZtURARZelel2oXUEO8rH83VS/hxH5vv1uHquPg5wZs8yMAfdv971IU+kcPUczi7NVBQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postgres-date": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.7.tgz", + "integrity": "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postgres-interval": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.2.0.tgz", + "integrity": "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==", + "license": "MIT", + "dependencies": { + "xtend": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "3.8.4", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.4.tgz", + "integrity": "sha512-N2MylSdi48+5N/6S5j+maeHbUSIzzZ5uOcX5Hm4QpV8Dkb1HFjfAKTKX6yNPJQD9AhcT3ifHNB66tWTTJDi11Q==", + "dev": true, + "license": "MIT", + "peer": true, + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prettier-linter-helpers": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.1.tgz", + "integrity": "sha512-SxToR7P8Y2lWmv/kTzVLC1t/GDI2WGjMwNhLLE9qtH8Q13C+aEmuRlzDst4Up4s0Wc8sF2M+J57iB3cMLqftfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-diff": "^1.1.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/pretty-format": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.4.1.tgz", + "integrity": "sha512-K6KiKMHTL4jjX4u3Kir2EW07nRfcqVTXIImx50wbjHQTcZPgg+gjVeNTIT3l3L1Rd4UefxfogquC9J37SoFyyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "30.4.1", + "ansi-styles": "^5.2.0", + "react-is-18": "npm:react-is@^18.3.1", + "react-is-19": "npm:react-is@^19.2.5" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/pretty-ms": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-9.3.0.tgz", + "integrity": "sha512-gjVS5hOP+M3wMm5nmNOucbIrqudzs9v/57bWRHQWLYklXqoXKrVfYW2W9+glfGsqtPgpiz5WwyEEB+ksXIx3gQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "parse-ms": "^4.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/pure-rand": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-7.0.1.tgz", + "integrity": "sha512-oTUZM/NAZS8p7ANR3SHh30kXB+zK2r2BPcEn/awJIbOvq82WoMN4p62AWWp3Hhw50G0xMsw1mhIBLqHw64EcNQ==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" + } + ], + "license": "MIT" + }, + "node_modules/qs": { + "version": "6.15.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.2.tgz", + "integrity": "sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw==", + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.2.tgz", + "integrity": "sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==", + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.7.0", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/react-is-18": { + "name": "react-is", + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true, + "license": "MIT" + }, + "node_modules/react-is-19": { + "name": "react-is", + "version": "19.2.7", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-19.2.7.tgz", + "integrity": "sha512-kZFnouyVv7eP/Phmrlo9FK+zcAdriZJvzxXHF1Sl1P377WSGe2G/JxVolhTrB/jeV47lKImhNUsijjHAAbcl/A==", + "dev": true, + "license": "MIT" + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.0.0.tgz", + "integrity": "sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/reflect-metadata": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz", + "integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==", + "license": "Apache-2.0", + "peer": true + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-alpn": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", + "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", + "dev": true, + "license": "MIT" + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-cwd/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/responselike": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-4.0.2.tgz", + "integrity": "sha512-cGk8IbWEAnaCpdAt1BHzJ3Ahz5ewDJa0KseTsE3qIRMJ3C698W8psM7byCeWVpd/Ha7FUYzuRVzXoKoM6nRUbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "lowercase-keys": "^3.0.0" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/restore-cursor/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/router": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz", + "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==", + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "depd": "^2.0.0", + "is-promise": "^4.0.0", + "parseurl": "^1.3.3", + "path-to-regexp": "^8.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/rxjs": { + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", + "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safe-stable-stringify": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.5.0.tgz", + "integrity": "sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" + }, + "node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/seek-bzip": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-2.0.0.tgz", + "integrity": "sha512-SMguiTnYrhpLdk3PwfzHeotrcwi8bNV4iemL9tx9poR/yeaMYwB9VzR1w7b57DuWpuqR8n6oZboi0hj3AxZxQg==", + "dev": true, + "license": "MIT", + "dependencies": { + "commander": "^6.0.0" + }, + "bin": { + "seek-bunzip": "bin/seek-bunzip", + "seek-table": "bin/seek-bzip-table" + } + }, + "node_modules/seek-bzip/node_modules/commander": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/semver": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.4.tgz", + "integrity": "sha512-rUCObTnP32Q08R2uuIrt7r9PlEonuTmtuXYcW6s5kjdlj3xbnwe+21yXptAUYcMAABLkYYTtnmzb3w3EDZfueA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver-regex": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-4.0.5.tgz", + "integrity": "sha512-hunMQrEy1T6Jr2uEVjrAIqjwWcQTgOAcIM52C8MY1EZSD3DDNft04XzvYKPqjED65bNVVko0YI38nYeEHCX3yw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/semver-truncate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/semver-truncate/-/semver-truncate-3.0.0.tgz", + "integrity": "sha512-LJWA9kSvMolR51oDE6PN3kALBNaUdkxzAGcexw8gjMA8xr5zUqK0JiR3CgARSqanYF3Z1YHvsErb1KDgh+v7Rg==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/send": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/send/-/send-1.2.1.tgz", + "integrity": "sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==", + "license": "MIT", + "dependencies": { + "debug": "^4.4.3", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "fresh": "^2.0.0", + "http-errors": "^2.0.1", + "mime-types": "^3.0.2", + "ms": "^2.1.3", + "on-finished": "^2.4.1", + "range-parser": "^1.2.1", + "statuses": "^2.0.2" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/serve-static": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.1.tgz", + "integrity": "sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==", + "license": "MIT", + "dependencies": { + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "parseurl": "^1.3.3", + "send": "^1.2.0" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "license": "MIT", + "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" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC" + }, + "node_modules/sha.js": { + "version": "2.4.12", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.12.tgz", + "integrity": "sha512-8LzC5+bvI45BjpfXU8V5fdU2mfeKiQe1D1gIMn7XUlF3OTUrpdJpPPH4EMAnF0DsHHdSZqCdSss5qCmJKuiO3w==", + "license": "(MIT AND BSD-3-Clause)", + "dependencies": { + "inherits": "^2.0.4", + "safe-buffer": "^5.2.1", + "to-buffer": "^1.2.0" + }, + "bin": { + "sha.js": "bin.js" + }, + "engines": { + "node": ">= 0.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.1.tgz", + "integrity": "sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.4", + "side-channel-list": "^1.0.1", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz", + "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-plain-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sort-keys-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sort-keys-length/-/sort-keys-length-1.0.1.tgz", + "integrity": "sha512-GRbEOUqCxemTAk/b32F2xa8wDTs+Z1QHOkbhJDQTvv/6G3ZkbJ+frYWsTcc7cBB3Fu4wy4XlLCuNtJuMn7Gsvw==", + "dev": true, + "license": "MIT", + "dependencies": { + "sort-keys": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sort-keys/node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz", + "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">= 12" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/split2": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", + "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", + "license": "ISC", + "engines": { + "node": ">= 10.x" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/sql-highlight": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/sql-highlight/-/sql-highlight-6.1.0.tgz", + "integrity": "sha512-ed7OK4e9ywpE7pgRMkMQmZDPKSVdm0oX5IEtZiKnFucSF0zu6c80GZBe38UqHuVhTWJ9xsKgSMjCG2bml86KvA==", + "funding": [ + "https://github.com/scriptcoded/sql-highlight?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/scriptcoded" + } + ], + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==", + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/streamsearch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/streamx": { + "version": "2.28.0", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.28.0.tgz", + "integrity": "sha512-1Yowhzjf0ivGMrTIkY9hav5TxobO9qIVqUE41fiCGMGgc3CLlf4MY+9AHmZqBWgDTue0fY9zWjYFVyf6Diuobw==", + "dev": true, + "license": "MIT", + "dependencies": { + "events-universal": "^1.0.0", + "fast-fifo": "^1.3.2", + "text-decoder": "^1.1.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-dirs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-3.0.0.tgz", + "integrity": "sha512-I0sdgcFTfKQlUPZyAqPJmSG3HLO9rWDFnxonnIbskYNM3DwFOeTNB5KzVq3dA1GdRAc/25b5Y7UO2TQfKWw4aQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "inspect-with-kind": "^1.0.5", + "is-plain-obj": "^1.1.0" + } + }, + "node_modules/strip-dirs/node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-final-newline": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-4.0.0.tgz", + "integrity": "sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strtok3": { + "version": "10.3.5", + "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-10.3.5.tgz", + "integrity": "sha512-ki4hZQfh5rX0QDLLkOCj+h+CVNkqmp/CMf8v8kZpkNVK6jGQooMytqzLZYUVYIZcFZ6yDB70EfD8POcFXiF5oA==", + "license": "MIT", + "dependencies": { + "@tokenizer/token": "^0.3.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, + "node_modules/super-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/super-regex/-/super-regex-1.1.0.tgz", + "integrity": "sha512-WHkws2ZflZe41zj6AolvvmaTrWds/VuyeYr9iPVv/oQeaIoVxMKaushfFWpOGDT+GuBrM/sVqF8KUCYQlSSTdQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "function-timeout": "^1.0.1", + "make-asynchronous": "^1.0.1", + "time-span": "^5.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/superagent": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/superagent/-/superagent-10.3.0.tgz", + "integrity": "sha512-B+4Ik7ROgVKrQsXTV0Jwp2u+PXYLSlqtDAhYnkkD+zn3yg8s/zjA2MeGayPoY/KICrbitwneDHrjSotxKL+0XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "component-emitter": "^1.3.1", + "cookiejar": "^2.1.4", + "debug": "^4.3.7", + "fast-safe-stringify": "^2.1.1", + "form-data": "^4.0.5", + "formidable": "^3.5.4", + "methods": "^1.1.2", + "mime": "2.6.0", + "qs": "^6.14.1" + }, + "engines": { + "node": ">=14.18.0" + } + }, + "node_modules/supertest": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/supertest/-/supertest-7.2.2.tgz", + "integrity": "sha512-oK8WG9diS3DlhdUkcFn4tkNIiIbBx9lI2ClF8K+b2/m8Eyv47LSawxUzZQSNKUrVb2KsqeTDCcjAAVPYaSLVTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "cookie-signature": "^1.2.2", + "methods": "^1.1.2", + "superagent": "^10.3.0" + }, + "engines": { + "node": ">=14.18.0" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/swagger-ui-dist": { + "version": "5.32.6", + "resolved": "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-5.32.6.tgz", + "integrity": "sha512-75ttZNaYCLoFPnozPZcTUU6mS3wKT8l7WLjU5zJSHFeJa23i5vtnze6IiCl4jDMPeQTXVXIgovq4M11NNfQvSA==", + "license": "Apache-2.0", + "dependencies": { + "@scarf/scarf": "=1.4.0" + } + }, + "node_modules/symbol-observable": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz", + "integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/synckit": { + "version": "0.11.13", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.13.tgz", + "integrity": "sha512-eNRKgb3z66Yp3D2CixVujOUvXLFUTij/zVnV8KRyvFdQwpz7I5DS8UfRkTeLzb64u+dkzDSdelE24izu+zSSUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@pkgr/core": "^0.3.6" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/synckit" + } + }, + "node_modules/system-architecture": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/system-architecture/-/system-architecture-1.0.0.tgz", + "integrity": "sha512-0OJWD12D7XX3KUg1DYkMaTTjSTo2k/mhIYI3HlBlceXSMcJhW/1qO735fPKS5prcyjvn57Ub151vvASYXpQrEw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/tapable": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.3.tgz", + "integrity": "sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/tar-stream": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz", + "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" + } + }, + "node_modules/terser": { + "version": "5.48.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.48.0.tgz", + "integrity": "sha512-J/9An6vs9Us6wKRriSFXBWdRZapREHqFzdNUKk0pmu804EMR6dr6winwo7e5JDxN4xahxQsuysyYFwlwj4XN/Q==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.15.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.6.1.tgz", + "integrity": "sha512-201R5j+sJpK8nFWwKVyNfZot8FaJbLZDq5evriVzbV1wDtSXDjRUDRfJzHpAaxFDMEhsZL1QkeqM61wgsS3KaQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.25", + "jest-worker": "^27.4.5", + "schema-utils": "^4.3.0", + "terser": "^5.31.1" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@minify-html/node": { + "optional": true + }, + "@swc/core": { + "optional": true + }, + "@swc/css": { + "optional": true + }, + "@swc/html": { + "optional": true + }, + "clean-css": { + "optional": true + }, + "cssnano": { + "optional": true + }, + "csso": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "html-minifier-terser": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "postcss": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/terser-webpack-plugin/node_modules/ajv": { + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.20.0.tgz", + "integrity": "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/terser-webpack-plugin/node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/terser-webpack-plugin/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/terser-webpack-plugin/node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/terser-webpack-plugin/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, + "node_modules/terser-webpack-plugin/node_modules/schema-utils": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz", + "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/terser-webpack-plugin/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "license": "ISC", + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/test-exclude/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/text-decoder": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.7.tgz", + "integrity": "sha512-vlLytXkeP4xvEq2otHeJfSQIRyWxo/oZGEbXrtEEF9Hnmrdly59sUbzZ/QgyWuLYHctCHxFF4tRQZNQ9k60ExQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "b4a": "^1.6.4" + } + }, + "node_modules/text-hex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz", + "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==", + "license": "MIT" + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true, + "license": "MIT" + }, + "node_modules/time-span": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/time-span/-/time-span-5.1.0.tgz", + "integrity": "sha512-75voc/9G4rDIJleOo4jPvN4/YC4GRZrY8yy1uU4lwrB3XEQbWve8zXoO5No4eFrGcTAMYyoY67p8jRQdtA1HbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "convert-hrtime": "^5.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz", + "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/to-buffer": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.2.2.tgz", + "integrity": "sha512-db0E3UJjcFhpDhAF4tLo03oli3pwl3dbnzXOUIlRKrp+ldk/VUxzpWYZENsw2SZiuBjHAk7DfB0VU7NKdpb6sw==", + "license": "MIT", + "dependencies": { + "isarray": "^2.0.5", + "safe-buffer": "^5.2.1", + "typed-array-buffer": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/token-types": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/token-types/-/token-types-6.1.2.tgz", + "integrity": "sha512-dRXchy+C0IgK8WPC6xvCHFRIWYUbqqdEIKPaKo/AcTUNzwLTK6AH7RjdLWsEZcAN/TBdtfUw3PYEgPr5VPr6ww==", + "license": "MIT", + "dependencies": { + "@borewit/text-codec": "^0.2.1", + "@tokenizer/token": "^0.3.0", + "ieee754": "^1.2.1" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, + "node_modules/triple-beam": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.4.1.tgz", + "integrity": "sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg==", + "license": "MIT", + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/ts-api-utils": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.5.0.tgz", + "integrity": "sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.12" + }, + "peerDependencies": { + "typescript": ">=4.8.4" + } + }, + "node_modules/ts-jest": { + "version": "29.4.11", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.4.11.tgz", + "integrity": "sha512-IrFl7l9AuB/qrNw5quqvAv/hmKMb8dhWOH4jQOGo0Oq8tCeo1O86/iTFG1FaRimgUkF13l4PcepO8ATFT6Ns4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "bs-logger": "^0.2.6", + "fast-json-stable-stringify": "^2.1.0", + "handlebars": "^4.7.9", + "json5": "^2.2.3", + "lodash.memoize": "^4.1.2", + "make-error": "^1.3.6", + "semver": "^7.8.0", + "type-fest": "^4.41.0", + "yargs-parser": "^21.1.1" + }, + "bin": { + "ts-jest": "cli.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "@babel/core": ">=7.0.0-beta.0 <8", + "@jest/transform": "^29.0.0 || ^30.0.0", + "@jest/types": "^29.0.0 || ^30.0.0", + "babel-jest": "^29.0.0 || ^30.0.0", + "jest": "^29.0.0 || ^30.0.0", + "jest-util": "^29.0.0 || ^30.0.0", + "typescript": ">=4.3 <7" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@jest/transform": { + "optional": true + }, + "@jest/types": { + "optional": true + }, + "babel-jest": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "jest-util": { + "optional": true + } + } + }, + "node_modules/ts-jest/node_modules/type-fest": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ts-loader": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.6.0.tgz", + "integrity": "sha512-dsJO0S+T7grTDWTc4a0nTygXGjKncVUpx8Y+af8EvI/D5WgTJby5UEk5eoMCB9EcLQmnvitqh99MqtjtHgAwFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "enhanced-resolve": "^5.0.0", + "micromatch": "^4.0.0", + "semver": "^7.3.4", + "source-map": "^0.7.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "loader-utils": "*", + "typescript": "*", + "webpack": "^4.0.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "loader-utils": { + "optional": true + } + } + }, + "node_modules/ts-node": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", + "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", + "devOptional": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "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 + } + } + }, + "node_modules/tsconfig-paths": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", + "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", + "dev": true, + "license": "MIT", + "dependencies": { + "json5": "^2.2.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tsconfig-paths-webpack-plugin": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths-webpack-plugin/-/tsconfig-paths-webpack-plugin-4.2.0.tgz", + "integrity": "sha512-zbem3rfRS8BgeNK50Zz5SIQgXzLafiHjOwUAvk/38/o1jHn/V5QAgVUcz884or7WYcPaH3N2CIfUc2u0ul7UcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "enhanced-resolve": "^5.7.0", + "tapable": "^2.2.1", + "tsconfig-paths": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/tsconfig-paths/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.1.0.tgz", + "integrity": "sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA==", + "license": "MIT", + "dependencies": { + "content-type": "^2.0.0", + "media-typer": "^1.1.0", + "mime-types": "^3.0.0" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/type-is/node_modules/content-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-2.0.0.tgz", + "integrity": "sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", + "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", + "license": "MIT" + }, + "node_modules/typeorm": { + "version": "0.3.30", + "resolved": "https://registry.npmjs.org/typeorm/-/typeorm-0.3.30.tgz", + "integrity": "sha512-8T35PzjefOdqc2ZR9mwLQj0pUGp6lQhMbK2EvVMwJVJWlaoHm0v/Q6dThNOZkFchD+0yMg8gwjKM28ePiLSXSQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "@sqltools/formatter": "^1.2.5", + "ansis": "^4.2.0", + "app-root-path": "^3.1.0", + "buffer": "^6.0.3", + "dayjs": "^1.11.20", + "debug": "^4.4.3", + "dedent": "^1.7.2", + "dotenv": "^16.6.1", + "glob": "^10.5.0", + "reflect-metadata": "^0.2.2", + "sha.js": "^2.4.12", + "sql-highlight": "^6.1.0", + "tslib": "^2.8.1", + "uuid": "^11.1.1", + "yargs": "^17.7.2" + }, + "bin": { + "typeorm": "cli.js", + "typeorm-ts-node-commonjs": "cli-ts-node-commonjs.js", + "typeorm-ts-node-esm": "cli-ts-node-esm.js" + }, + "engines": { + "node": ">=16.13.0" + }, + "funding": { + "url": "https://opencollective.com/typeorm" + }, + "peerDependencies": { + "@google-cloud/spanner": "^5.18.0 || ^6.0.0 || ^7.0.0 || ^8.0.0", + "@sap/hana-client": "^2.14.22", + "better-sqlite3": "^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0 || ^12.0.0", + "ioredis": "^5.0.4", + "mongodb": "^5.8.0 || ^6.0.0", + "mssql": "^9.1.1 || ^10.0.0 || ^11.0.0 || ^12.0.0", + "mysql2": "^2.2.5 || ^3.0.1", + "oracledb": "^6.3.0", + "pg": "^8.5.1", + "pg-native": "^3.0.0", + "pg-query-stream": "^4.0.0", + "redis": "^3.1.1 || ^4.0.0 || ^5.0.14", + "sql.js": "^1.4.0", + "sqlite3": "^5.0.3", + "ts-node": "^10.7.0", + "typeorm-aurora-data-api-driver": "^2.0.0 || ^3.0.0" + }, + "peerDependenciesMeta": { + "@google-cloud/spanner": { + "optional": true + }, + "@sap/hana-client": { + "optional": true + }, + "better-sqlite3": { + "optional": true + }, + "ioredis": { + "optional": true + }, + "mongodb": { + "optional": true + }, + "mssql": { + "optional": true + }, + "mysql2": { + "optional": true + }, + "oracledb": { + "optional": true + }, + "pg": { + "optional": true + }, + "pg-native": { + "optional": true + }, + "pg-query-stream": { + "optional": true + }, + "redis": { + "optional": true + }, + "sql.js": { + "optional": true + }, + "sqlite3": { + "optional": true + }, + "ts-node": { + "optional": true + }, + "typeorm-aurora-data-api-driver": { + "optional": true + } + } + }, + "node_modules/typeorm/node_modules/brace-expansion": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.1.tgz", + "integrity": "sha512-WR1cURNjuvBLMZBMbqM0UoE+WAfdUcEV1ccD8PVBVOI+Z3ND4+SZbN8RsfT2bMuG1qwz5RFvPukSZm5fF2D5eA==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/typeorm/node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/typeorm/node_modules/dotenv": { + "version": "16.6.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.6.1.tgz", + "integrity": "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/typeorm/node_modules/glob": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz", + "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/typeorm/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "license": "ISC" + }, + "node_modules/typeorm/node_modules/minimatch": { + "version": "9.0.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz", + "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.2" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/typeorm/node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/typescript": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "devOptional": true, + "license": "Apache-2.0", + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/typescript-eslint": { + "version": "8.61.1", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.61.1.tgz", + "integrity": "sha512-V7PayAfJokV3pEHgN7/v03D1SpujhRfQtYLbLIiBfDDncdg4PAiRBfoS4cnCANK4jmAPncczi59QO3afiXUlNw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/eslint-plugin": "8.61.1", + "@typescript-eslint/parser": "8.61.1", + "@typescript-eslint/typescript-estree": "8.61.1", + "@typescript-eslint/utils": "8.61.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/uglify-js": { + "version": "3.19.3", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.3.tgz", + "integrity": "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==", + "dev": true, + "license": "BSD-2-Clause", + "optional": true, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/uid": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/uid/-/uid-2.0.2.tgz", + "integrity": "sha512-u3xV3X7uzvi5b1MncmZo3i2Aw222Zk1keqLA1YkHldREkAhAqi65wuPfe7lHx8H/Wzy+8CE7S7uS3jekIM5s8g==", + "license": "MIT", + "dependencies": { + "@lukeed/csprng": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/uint8array-extras": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/uint8array-extras/-/uint8array-extras-1.5.0.tgz", + "integrity": "sha512-rvKSBiC5zqCCiDZ9kAOszZcDvdAHwwIKJG33Ykj43OKcWsnmcBRL09YTU4nOeHZ8Y2a7l1MgTd08SBe9A8Qj6A==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/unbzip2-stream": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", + "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer": "^5.2.1", + "through": "^2.3.8" + } + }, + "node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/unicorn-magic": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz", + "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/unrs-resolver": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.12.2.tgz", + "integrity": "sha512-dmlRxBJJayXjqTwC+JtF1HhJmgf3ftQ3YejFcZrf4+KKtJv0qDsK1pjqaaVjG7wJ5NJ6UVP1OqRMQ71Z4C3rxQ==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "napi-postinstall": "^0.3.4" + }, + "funding": { + "url": "https://opencollective.com/unrs-resolver" + }, + "optionalDependencies": { + "@unrs/resolver-binding-android-arm-eabi": "1.12.2", + "@unrs/resolver-binding-android-arm64": "1.12.2", + "@unrs/resolver-binding-darwin-arm64": "1.12.2", + "@unrs/resolver-binding-darwin-x64": "1.12.2", + "@unrs/resolver-binding-freebsd-x64": "1.12.2", + "@unrs/resolver-binding-linux-arm-gnueabihf": "1.12.2", + "@unrs/resolver-binding-linux-arm-musleabihf": "1.12.2", + "@unrs/resolver-binding-linux-arm64-gnu": "1.12.2", + "@unrs/resolver-binding-linux-arm64-musl": "1.12.2", + "@unrs/resolver-binding-linux-loong64-gnu": "1.12.2", + "@unrs/resolver-binding-linux-loong64-musl": "1.12.2", + "@unrs/resolver-binding-linux-ppc64-gnu": "1.12.2", + "@unrs/resolver-binding-linux-riscv64-gnu": "1.12.2", + "@unrs/resolver-binding-linux-riscv64-musl": "1.12.2", + "@unrs/resolver-binding-linux-s390x-gnu": "1.12.2", + "@unrs/resolver-binding-linux-x64-gnu": "1.12.2", + "@unrs/resolver-binding-linux-x64-musl": "1.12.2", + "@unrs/resolver-binding-openharmony-arm64": "1.12.2", + "@unrs/resolver-binding-wasm32-wasi": "1.12.2", + "@unrs/resolver-binding-win32-arm64-msvc": "1.12.2", + "@unrs/resolver-binding-win32-ia32-msvc": "1.12.2", + "@unrs/resolver-binding-win32-x64-msvc": "1.12.2" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT" + }, + "node_modules/uuid": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.1.1.tgz", + "integrity": "sha512-vIYxrBCC/N/K+Js3qSN88go7kIfNPssr/hHCesKCQNAjmgvYS2oqr69kIufEG+O4+PfezOH4EbIeHCfFov8ZgQ==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist/esm/bin/uuid" + } + }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/v8-to-istanbul": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz", + "integrity": "sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==", + "dev": true, + "license": "ISC", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^2.0.0" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/validator": { + "version": "13.15.35", + "resolved": "https://registry.npmjs.org/validator/-/validator-13.15.35.tgz", + "integrity": "sha512-TQ5pAGhd5whStmqWvYF4OjQROlmv9SMFVt37qoCBdqRffuuklWYQlCNnEs2ZaIBD1kZRNnikiZOS1eqgkar0iw==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "makeerror": "1.0.12" + } + }, + "node_modules/watchpack": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.5.2.tgz", + "integrity": "sha512-6i/00NBjP4yGPs+caKSyRfpTF/8Torsu0MOW3mMzIbhgISFder8i7xbqgHlLMwJrdiN8ndBV3UA1/AfzPSr+jg==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dev": true, + "license": "MIT", + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/web-worker": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/web-worker/-/web-worker-1.5.0.tgz", + "integrity": "sha512-RiMReJrTAiA+mBjGONMnjVDP2u3p9R1vkcGz6gDIrOMT3oGuYwX2WRMYI9ipkphSuE5XKEhydbhNEJh4NY9mlw==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/webpack": { + "version": "5.107.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.107.2.tgz", + "integrity": "sha512-v7RhXaJbpMlV0D7hC7lb2EbnxkoeUqf9qhKr6lozx3Q48pmFrqqNRmZFUEGmi7pSwm6fCQ2H1IjvCkHqdpVdjQ==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@types/estree": "^1.0.8", + "@types/json-schema": "^7.0.15", + "@webassemblyjs/ast": "^1.14.1", + "@webassemblyjs/wasm-edit": "^1.14.1", + "@webassemblyjs/wasm-parser": "^1.14.1", + "acorn": "^8.16.0", + "acorn-import-phases": "^1.0.3", + "browserslist": "^4.28.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.22.0", + "es-module-lexer": "^2.1.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.11", + "loader-runner": "^4.3.2", + "mime-db": "^1.54.0", + "neo-async": "^2.6.2", + "schema-utils": "^4.3.3", + "tapable": "^2.3.0", + "terser-webpack-plugin": "^5.5.0", + "watchpack": "^2.5.1", + "webpack-sources": "^3.5.0" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-node-externals": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/webpack-node-externals/-/webpack-node-externals-3.0.0.tgz", + "integrity": "sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-sources": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.5.0.tgz", + "integrity": "sha512-HPuy+uuoTCaaoEoI1LQ3JN9+vrPBvEesnnX1jADHy728cHSMlq4wUc4afYqahq2B1mhQVZxCXOkNTnXltr+2vQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack/node_modules/ajv": { + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.20.0.tgz", + "integrity": "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/webpack/node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/webpack/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/webpack/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/webpack/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/webpack/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, + "node_modules/webpack/node_modules/schema-utils": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz", + "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.22", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.22.tgz", + "integrity": "sha512-fvO4ExWMFsqyhG3AiPAObMuY1lxaqgYcxbc49CNdWDDECOJNgQyvsOWVwbZc+qf3rzRtxojBK+CMEv0Ld5CYpw==", + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.9", + "call-bound": "^1.0.4", + "for-each": "^0.3.5", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which/node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC" + }, + "node_modules/widest-line": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", + "license": "MIT", + "dependencies": { + "string-width": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/winston": { + "version": "3.19.0", + "resolved": "https://registry.npmjs.org/winston/-/winston-3.19.0.tgz", + "integrity": "sha512-LZNJgPzfKR+/J3cHkxcpHKpKKvGfDZVPS4hfJCc4cCG0CgYzvlD6yE/S3CIL/Yt91ak327YCpiF/0MyeZHEHKA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@colors/colors": "^1.6.0", + "@dabh/diagnostics": "^2.0.8", + "async": "^3.2.3", + "is-stream": "^2.0.0", + "logform": "^2.7.0", + "one-time": "^1.0.0", + "readable-stream": "^3.4.0", + "safe-stable-stringify": "^2.3.1", + "stack-trace": "0.0.x", + "triple-beam": "^1.3.0", + "winston-transport": "^4.9.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/winston-transport": { + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.9.0.tgz", + "integrity": "sha512-8drMJ4rkgaPo1Me4zD/3WLfI/zPdA9o2IipKODunnGDcuqbHwjsbB79ylv04LCGGzU0xQ6vTznOMpQGaLhhm6A==", + "license": "MIT", + "dependencies": { + "logform": "^2.7.0", + "readable-stream": "^3.6.2", + "triple-beam": "^1.3.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/winston/node_modules/@colors/colors": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.6.0.tgz", + "integrity": "sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==", + "license": "MIT", + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/winston/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC" + }, + "node_modules/write-file-atomic": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz", + "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==", + "dev": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "license": "MIT", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/yauzl": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-3.4.0.tgz", + "integrity": "sha512-jIH9yLR9wqr0wOS0TpBvo/g/2UgZH5qePVbjgRliiF0BYvOZyaBknKsF+x9Iht0O6sqgnB93rCICdOZFecJuDw==", + "dev": true, + "license": "MIT", + "dependencies": { + "pend": "~1.2.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yoctocolors": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.1.2.tgz", + "integrity": "sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yoctocolors-cjs": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/yoctocolors-cjs/-/yoctocolors-cjs-2.1.3.tgz", + "integrity": "sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/backend/package.json b/backend/package.json new file mode 100644 index 0000000..f59dc55 --- /dev/null +++ b/backend/package.json @@ -0,0 +1,90 @@ +{ + "name": "backend", + "version": "0.0.1", + "description": "", + "author": "", + "private": true, + "license": "UNLICENSED", + "scripts": { + "build": "nest build", + "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"", + "start": "nest start", + "start:dev": "nest start --watch", + "start:debug": "nest start --debug --watch", + "start:prod": "node dist/main", + "lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix", + "test": "jest", + "test:watch": "jest --watch", + "test:cov": "jest --coverage", + "test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand", + "test:e2e": "jest --config ./test/jest-e2e.json" + }, + "dependencies": { + "@nestjs/cache-manager": "^3.0.1", + "@nestjs/common": "^11.0.1", + "@nestjs/config": "^4.0.3", + "@nestjs/core": "^11.0.1", + "@nestjs/platform-express": "^11.0.1", + "@nestjs/schedule": "^6.1.1", + "@nestjs/swagger": "^11.2.6", + "@nestjs/terminus": "^11.0.0", + "@nestjs/throttler": "^6.4.0", + "@nestjs/typeorm": "^11.0.1", + "cache-manager": "^6.4.0", + "class-transformer": "^0.5.1", + "class-validator": "^0.14.4", + "express-rate-limit": "^8.3.2", + "helmet": "^8.1.0", + "nest-winston": "^1.10.0", + "pg": "^8.20.0", + "reflect-metadata": "^0.2.2", + "rxjs": "^7.8.1", + "typeorm": "^0.3.28", + "winston": "^3.17.0" + }, + "devDependencies": { + "@eslint/eslintrc": "^3.2.0", + "@eslint/js": "^9.18.0", + "@nestjs/cli": "^11.0.0", + "@nestjs/schematics": "^11.0.0", + "@nestjs/testing": "^11.0.1", + "@swc/cli": "^0.8.1", + "@swc/core": "^1.15.24", + "chokidar": "^5.0.0", + "@types/express": "^5.0.0", + "@types/jest": "^30.0.0", + "@types/node": "^22.10.7", + "@types/supertest": "^6.0.2", + "eslint": "^9.18.0", + "eslint-config-prettier": "^10.0.1", + "eslint-plugin-prettier": "^5.2.2", + "globals": "^16.0.0", + "jest": "^30.0.0", + "prettier": "^3.4.2", + "source-map-support": "^0.5.21", + "supertest": "^7.0.0", + "ts-jest": "^29.2.5", + "ts-loader": "^9.5.2", + "ts-node": "^10.9.2", + "tsconfig-paths": "^4.2.0", + "typescript": "^5.7.3", + "typescript-eslint": "^8.20.0" + }, + "jest": { + "moduleFileExtensions": [ + "js", + "json", + "ts" + ], + "rootDir": "src", + "testRegex": ".*\\.spec\\.ts$", + "transform": { + "^.+\\.(t|j)s$": "ts-jest" + }, + "collectCoverageFrom": [ + "**/*.(t|j)s" + ], + "coverageDirectory": "../coverage", + "testEnvironment": "node" + } +} diff --git a/backend/src/app.controller.spec.ts b/backend/src/app.controller.spec.ts new file mode 100644 index 0000000..d22f389 --- /dev/null +++ b/backend/src/app.controller.spec.ts @@ -0,0 +1,22 @@ +import { Test, TestingModule } from '@nestjs/testing'; +import { AppController } from './app.controller'; +import { AppService } from './app.service'; + +describe('AppController', () => { + let appController: AppController; + + beforeEach(async () => { + const app: TestingModule = await Test.createTestingModule({ + controllers: [AppController], + providers: [AppService], + }).compile(); + + appController = app.get(AppController); + }); + + describe('root', () => { + it('should return "Hello World!"', () => { + expect(appController.getHello()).toBe('Hello World!'); + }); + }); +}); diff --git a/backend/src/app.controller.ts b/backend/src/app.controller.ts new file mode 100644 index 0000000..f167b96 --- /dev/null +++ b/backend/src/app.controller.ts @@ -0,0 +1,16 @@ +import { Controller, Get } from '@nestjs/common'; +import { ApiOperation, ApiTags } from '@nestjs/swagger'; +import { AppService } from './app.service'; + +// 루트 컨트롤러 — 헬스체크/디버그 용 단순 엔드포인트 +@ApiTags('App') +@Controller() +export class AppController { + constructor(private readonly appService: AppService) {} + + @Get('hello') + @ApiOperation({ summary: '동작 확인용 Hello World' }) + getHello(): string { + return this.appService.getHello(); + } +} diff --git a/backend/src/app.module.ts b/backend/src/app.module.ts new file mode 100644 index 0000000..f18c50f --- /dev/null +++ b/backend/src/app.module.ts @@ -0,0 +1,72 @@ +import { Module } from '@nestjs/common'; +import { TypeOrmModule } from '@nestjs/typeorm'; +import { ConfigModule } from '@nestjs/config'; +import { ScheduleModule } from '@nestjs/schedule'; +import { ThrottlerGuard, ThrottlerModule } from '@nestjs/throttler'; +import { CacheModule } from '@nestjs/cache-manager'; +import { APP_GUARD } from '@nestjs/core'; + +import { AppController } from './app.controller'; +import { AppService } from './app.service'; +import { HealthModule } from './modules/health/health.module'; +import { UserModule } from './modules/user/user.module'; + +@Module({ + imports: [ + ScheduleModule.forRoot(), + ConfigModule.forRoot({ + isGlobal: true, + envFilePath: `.env.${process.env.NODE_ENV || 'development'}`, + }), + // 전역 캐시 매니저 — Redis 도입 시 store 옵션을 redisStore 로 변경 + CacheModule.register({ + isGlobal: true, + ttl: 60_000, // 60초 기본 TTL + }), + // 전역 Rate Limiter — main.ts 의 express-rate-limit 와 별개로 라우트 단위 제어 가능 + ThrottlerModule.forRoot([ + { + ttl: 60_000, + limit: 100, + }, + ]), + TypeOrmModule.forRootAsync({ + useFactory: () => { + const isProduction = process.env.NODE_ENV === 'production'; + return { + type: 'postgres', + host: process.env.DB_HOST || 'db', + port: parseInt(process.env.DB_PORT || '5432', 10), + username: + process.env.DB_USER || process.env.DB_USERNAME || 'postgres', + password: process.env.DB_PASSWORD || 'password', + database: + process.env.DB_NAME || process.env.DB_DATABASE || 'project_db', + autoLoadEntities: true, + // 운영 환경에서는 절대 synchronize 사용 금지 (스키마 자동 변경 → 데이터 손실 위험) + synchronize: !isProduction, + migrationsRun: isProduction, + logging: !isProduction, + extra: { + max: 100, + connectionTimeoutMillis: 5000, + idleTimeoutMillis: 30000, + }, + entities: [__dirname + '/**/*.entity{.ts,.js}'], + migrations: [__dirname + '/migrations/*{.ts,.js}'], + }; + }, + }), + HealthModule, + UserModule, + ], + controllers: [AppController], + providers: [ + AppService, + { + provide: APP_GUARD, + useClass: ThrottlerGuard, + }, + ], +}) +export class AppModule {} diff --git a/backend/src/app.service.ts b/backend/src/app.service.ts new file mode 100644 index 0000000..927d7cc --- /dev/null +++ b/backend/src/app.service.ts @@ -0,0 +1,8 @@ +import { Injectable } from '@nestjs/common'; + +@Injectable() +export class AppService { + getHello(): string { + return 'Hello World!'; + } +} diff --git a/backend/src/common/filters/http-exception.filter.ts b/backend/src/common/filters/http-exception.filter.ts new file mode 100644 index 0000000..224d5a5 --- /dev/null +++ b/backend/src/common/filters/http-exception.filter.ts @@ -0,0 +1,75 @@ +import { + ArgumentsHost, + Catch, + ExceptionFilter, + HttpException, + HttpStatus, + Logger, +} from '@nestjs/common'; +import { Response } from 'express'; + +// 전역 Exception Filter — CLAUDE.md 에러 코드 맵에 따라 표준 응답으로 변환 +@Catch() +export class HttpExceptionFilter implements ExceptionFilter { + private readonly logger = new Logger(HttpExceptionFilter.name); + + catch(exception: unknown, host: ArgumentsHost): void { + const ctx = host.switchToHttp(); + const response = ctx.getResponse(); + + // 비교 대상인 HttpStatus enum 과 동일 타입으로 선언 (no-unsafe-enum-comparison 대응) + let status: HttpStatus = HttpStatus.INTERNAL_SERVER_ERROR; + let code = 'SYS_001'; + let message = + '일시적인 시스템 오류가 발생했습니다. 잠시 후 다시 시도해 주세요.'; + + if (exception instanceof HttpException) { + status = exception.getStatus(); + const exceptionResponse = exception.getResponse(); + + if (status === HttpStatus.UNAUTHORIZED) { + code = 'AUTH_001'; + message = '로그인이 필요한 서비스입니다. 로그인 후 이용해 주세요.'; + } else if (status === HttpStatus.FORBIDDEN) { + code = 'AUTH_003'; + message = '해당 메뉴나 기능에 접근할 수 있는 권한이 없습니다.'; + } else if (status === HttpStatus.NOT_FOUND) { + code = 'RES_001'; + message = '요청하신 정보나 페이지를 찾을 수 없습니다.'; + } else if ( + status === HttpStatus.BAD_REQUEST || + status === HttpStatus.UNPROCESSABLE_ENTITY + ) { + code = 'VAL_001'; + message = + '입력하신 정보를 다시 확인해 주세요. (필수값 누락 또는 형식 오류)'; + } else { + code = 'BIZ_001'; + message = '요청하신 작업을 완료하지 못했습니다. 다시 시도해 주세요.'; + + // 비즈니스 예외에서는 사용자에게 보일 메시지를 재정의 가능 + if ( + typeof exceptionResponse === 'object' && + exceptionResponse !== null && + 'message' in exceptionResponse + ) { + const responseMessage = exceptionResponse.message; + if (typeof responseMessage === 'string') { + message = responseMessage; + } + } + } + } else { + // 정의되지 않은 예외 → 운영팀이 추적 가능하도록 로그 + SYS_001 응답 유지 + this.logger.error('Unhandled Exception', exception as Error); + } + + response.status(status).json({ + success: false, + error: { + code, + message, + }, + }); + } +} diff --git a/backend/src/common/interceptors/transform.interceptor.ts b/backend/src/common/interceptors/transform.interceptor.ts new file mode 100644 index 0000000..e1b3353 --- /dev/null +++ b/backend/src/common/interceptors/transform.interceptor.ts @@ -0,0 +1,33 @@ +import { + Injectable, + NestInterceptor, + ExecutionContext, + CallHandler, +} from '@nestjs/common'; +import { Observable } from 'rxjs'; +import { map } from 'rxjs/operators'; + +export interface StandardResponse { + success: boolean; + // 핸들러가 undefined/null 을 반환하면 null 로 정규화되므로 nullable + data: T | null; +} + +@Injectable() +export class TransformInterceptor implements NestInterceptor< + T, + StandardResponse +> { + intercept( + _context: ExecutionContext, + next: CallHandler, + ): Observable> { + // 이미 Http 응답객체인 경우 등 예외처리가 필요할 수 있으나 기본적으로 data 래핑 + return (next.handle() as Observable).pipe( + map((data) => ({ + success: true, + data: data ?? null, + })), + ); + } +} diff --git a/backend/src/main.ts b/backend/src/main.ts new file mode 100644 index 0000000..5531264 --- /dev/null +++ b/backend/src/main.ts @@ -0,0 +1,111 @@ +import { NestFactory } from '@nestjs/core'; +import { AppModule } from './app.module'; +import { Logger, RequestMethod, ValidationPipe } from '@nestjs/common'; +import { DocumentBuilder, SwaggerModule } from '@nestjs/swagger'; +import { WinstonModule } from 'nest-winston'; +import helmet from 'helmet'; +import rateLimit from 'express-rate-limit'; +import type { + Express, + Request as ExpressRequest, + Response as ExpressResponse, +} from 'express'; + +import { HttpExceptionFilter } from './common/filters/http-exception.filter'; +import { TransformInterceptor } from './common/interceptors/transform.interceptor'; +import { winstonConfig } from './shared/logger/winston.config'; + +async function bootstrap() { + const app = await NestFactory.create(AppModule, { + logger: WinstonModule.createLogger(winstonConfig), + }); + + // 리버스 프록시(Nginx, Docker 배포 환경 등) 뒤에서 올바른 클라이언트 IP 식별 지원을 위해 설정합니다. + const expressApp = app.getHttpAdapter().getInstance() as Express; + expressApp.set('trust proxy', 1); + + // 글로벌 prefix — 모든 라우트가 /api/* 로 정규화됨 (Flutter, Web 양쪽 baseURL과 일치) + app.setGlobalPrefix('api', { + // 헬스체크 / 루트 상태 엔드포인트는 prefix 미적용 + exclude: [{ path: '/', method: RequestMethod.GET }], + }); + + // 기본 주소('/') 접속 시 상태 확인용 텍스트 응답 추가 + expressApp.get('/', (_req: ExpressRequest, res: ExpressResponse) => { + res.send('Backend API Server is running 정상 구동 중입니다.'); + }); + + // 1. 보안 헤더 (Helmet) - XSS 방지 및 기본 웹 보안 + app.use(helmet()); + + // 2. 화이트리스트 기반 CORS 정책 + const frontendUrl = process.env.FRONTEND_URL || 'http://localhost:5173'; + const corsOriginEnv = process.env.CORS_ORIGIN; + + app.enableCors({ + origin: ( + origin: string | undefined, + callback: (err: Error | null, allow?: boolean) => void, + ) => { + // 서버간의 통신(origin이 undefined)이거나 명시된 리스트일 때만 허용 + const whitelist = [frontendUrl, 'http://localhost:3000']; + if (corsOriginEnv) whitelist.push(corsOriginEnv); + + if (!origin || whitelist.indexOf(origin) !== -1) { + callback(null, true); + } else { + // 클라이언트에는 403 금지 에러로 리턴됨 + callback(new Error('CORS 정책에 의해 차단된 도메인입니다.')); + } + }, + credentials: true, // 쿠키 교환 허용 + }); + + // 3. 글로벌 Rate Limiting 적용 (DDoS, 브루트포스 예방) + app.use( + rateLimit({ + windowMs: 15 * 60 * 1000, // 15분 + max: 150, // 15분 IP당 최대 150개 요청 + message: { + success: false, + error: { + code: 'SYS_001', + message: + '일시적인 시스템 오류가 발생했습니다. (요청 한도 초과) 잠시 후 다시 시도해 주세요.', // 글로벌 통합 에러 포맷 + }, + }, + }), + ); + + // 4. 전역 DTO 유효성 파이프 (강력한 검증 단계) + app.useGlobalPipes( + new ValidationPipe({ + whitelist: true, // DTO에 불필요한 값이 오면 삭제 + forbidNonWhitelisted: true, // DTO에 없는 필드가 주입되면 400 에러 발생 + transform: true, // 네트워크 데이터를 DTO나 기본 타입으로 자동 변환 + }), + ); + + // 5. 프론트엔드 연동을 위한 규격화된 에러 & 성공 페이로드 인터셉터 적용 + app.useGlobalFilters(new HttpExceptionFilter()); + app.useGlobalInterceptors(new TransformInterceptor()); + + // 6. Swagger API 문서 설정 + const config = new DocumentBuilder() + .setTitle('Backend API Documentation') + .setDescription('The API documentation conforming to the global guidelines') + .setVersion('1.0') + .addBearerAuth() + .build(); + const document = SwaggerModule.createDocument(app, config); + SwaggerModule.setup('api-docs', app, document); + + const port = Number(process.env.PORT ?? 3000); + await app.listen(port, '0.0.0.0'); + Logger.log(`🚀 Backend running on http://localhost:${port}/api`, 'Bootstrap'); + Logger.log( + `📘 Swagger docs at http://localhost:${port}/api-docs`, + 'Bootstrap', + ); +} +void bootstrap(); diff --git a/backend/src/modules/health/health.controller.ts b/backend/src/modules/health/health.controller.ts new file mode 100644 index 0000000..341b6ec --- /dev/null +++ b/backend/src/modules/health/health.controller.ts @@ -0,0 +1,24 @@ +import { Controller, Get } from '@nestjs/common'; +import { ApiOperation, ApiTags } from '@nestjs/swagger'; +import { + HealthCheck, + HealthCheckService, + TypeOrmHealthIndicator, +} from '@nestjs/terminus'; + +// 헬스체크 엔드포인트 — Docker healthcheck, 모니터링 시스템에서 사용 +@ApiTags('Health') +@Controller('health') +export class HealthController { + constructor( + private readonly health: HealthCheckService, + private readonly db: TypeOrmHealthIndicator, + ) {} + + @Get() + @HealthCheck() + @ApiOperation({ summary: '애플리케이션 상태 확인' }) + check() { + return this.health.check([() => this.db.pingCheck('database')]); + } +} diff --git a/backend/src/modules/health/health.module.ts b/backend/src/modules/health/health.module.ts new file mode 100644 index 0000000..0208ef7 --- /dev/null +++ b/backend/src/modules/health/health.module.ts @@ -0,0 +1,9 @@ +import { Module } from '@nestjs/common'; +import { TerminusModule } from '@nestjs/terminus'; +import { HealthController } from './health.controller'; + +@Module({ + imports: [TerminusModule], + controllers: [HealthController], +}) +export class HealthModule {} diff --git a/backend/src/modules/user/dto/create-user.dto.ts b/backend/src/modules/user/dto/create-user.dto.ts new file mode 100644 index 0000000..218bf7a --- /dev/null +++ b/backend/src/modules/user/dto/create-user.dto.ts @@ -0,0 +1,20 @@ +import { IsEmail, IsNotEmpty, IsString, MinLength } from 'class-validator'; +import { ApiProperty } from '@nestjs/swagger'; + +// 사용자 생성 DTO 샘플 — 모든 검증 메시지는 한국어, Swagger 메타 필수 +export class CreateUserDto { + @ApiProperty({ description: '사용자 이메일', example: 'user@example.com' }) + @IsEmail({}, { message: '올바른 이메일 형식을 입력해 주세요.' }) + @IsNotEmpty({ message: '이메일은 필수 입력 항목입니다.' }) + email!: string; + + @ApiProperty({ description: '비밀번호 (최소 8자)', example: 'password123' }) + @IsString() + @MinLength(8, { message: '비밀번호는 최소 8자 이상이어야 합니다.' }) + password!: string; + + @ApiProperty({ description: '사용자 이름', example: '홍길동' }) + @IsString() + @IsNotEmpty({ message: '이름은 필수 입력 항목입니다.' }) + name!: string; +} diff --git a/backend/src/modules/user/user.controller.ts b/backend/src/modules/user/user.controller.ts new file mode 100644 index 0000000..2c31ad2 --- /dev/null +++ b/backend/src/modules/user/user.controller.ts @@ -0,0 +1,40 @@ +import { + Body, + Controller, + Get, + Param, + ParseIntPipe, + Post, +} from '@nestjs/common'; +import { + ApiBearerAuth, + ApiOperation, + ApiResponse, + ApiTags, +} from '@nestjs/swagger'; +import { UserService } from './user.service'; +import { CreateUserDto } from './dto/create-user.dto'; + +// 사용자 도메인 컨트롤러 샘플 — 라우팅과 입출력만 담당, 비즈니스 로직은 모두 service 위임 +@ApiTags('User') +@ApiBearerAuth() +@Controller('users') +export class UserController { + constructor(private readonly userService: UserService) {} + + @Get(':id') + @ApiOperation({ summary: '사용자 단건 조회' }) + @ApiResponse({ status: 200, description: '사용자 조회 성공' }) + @ApiResponse({ status: 404, description: '사용자를 찾을 수 없음 (RES_001)' }) + findOne(@Param('id', ParseIntPipe) id: number) { + return this.userService.findOne(id); + } + + @Post() + @ApiOperation({ summary: '사용자 생성' }) + @ApiResponse({ status: 201, description: '사용자 생성 성공' }) + @ApiResponse({ status: 400, description: '입력값 검증 실패 (VAL_001)' }) + create(@Body() dto: CreateUserDto) { + return this.userService.create(dto); + } +} diff --git a/backend/src/modules/user/user.module.ts b/backend/src/modules/user/user.module.ts new file mode 100644 index 0000000..ca5060e --- /dev/null +++ b/backend/src/modules/user/user.module.ts @@ -0,0 +1,10 @@ +import { Module } from '@nestjs/common'; +import { UserController } from './user.controller'; +import { UserService } from './user.service'; + +@Module({ + controllers: [UserController], + providers: [UserService], + exports: [UserService], +}) +export class UserModule {} diff --git a/backend/src/modules/user/user.service.ts b/backend/src/modules/user/user.service.ts new file mode 100644 index 0000000..6fbdad2 --- /dev/null +++ b/backend/src/modules/user/user.service.ts @@ -0,0 +1,28 @@ +import { Injectable, NotFoundException } from '@nestjs/common'; +import { CreateUserDto } from './dto/create-user.dto'; + +// 비즈니스 로직 계층 샘플 — 실제 구현 시 Repository 주입하여 데이터 접근 +@Injectable() +export class UserService { + // 임시 인메모리 저장소 — Repository 도입 시 교체 + private readonly users = new Map< + number, + { id: number; email: string; name: string } + >(); + + findOne(id: number) { + const user = this.users.get(id); + if (!user) { + // 404 → 전역 필터에서 RES_001 로 변환됨 + throw new NotFoundException(); + } + return user; + } + + create(dto: CreateUserDto) { + const id = this.users.size + 1; + const user = { id, email: dto.email, name: dto.name }; + this.users.set(id, user); + return user; + } +} diff --git a/backend/src/shared/logger/winston.config.ts b/backend/src/shared/logger/winston.config.ts new file mode 100644 index 0000000..c7c81de --- /dev/null +++ b/backend/src/shared/logger/winston.config.ts @@ -0,0 +1,20 @@ +import { utilities as nestWinstonUtilities } from 'nest-winston'; +import * as winston from 'winston'; + +// 표준 로거 설정 — console.log 대체용 +// 운영 환경에서는 파일 로테이션 또는 외부 로그 수집기(예: Loki, ELK) 추가 권장 +export const winstonConfig: winston.LoggerOptions = { + level: process.env.NODE_ENV === 'production' ? 'info' : 'debug', + transports: [ + new winston.transports.Console({ + format: winston.format.combine( + winston.format.timestamp(), + winston.format.ms(), + nestWinstonUtilities.format.nestLike('App', { + colors: process.env.NODE_ENV !== 'production', + prettyPrint: true, + }), + ), + }), + ], +}; diff --git a/backend/src/shared/utils/format.ts b/backend/src/shared/utils/format.ts new file mode 100644 index 0000000..72b69be --- /dev/null +++ b/backend/src/shared/utils/format.ts @@ -0,0 +1,13 @@ +// 공통 포맷터 — 부수효과 없는 순수 함수만 작성 + +/** + * Date 또는 ISO 문자열을 'YYYY-MM-DD' 형식으로 변환 + */ +export function formatDate(input: Date | string): string { + const date = typeof input === 'string' ? new Date(input) : input; + if (Number.isNaN(date.getTime())) return ''; + const yyyy = date.getFullYear(); + const mm = String(date.getMonth() + 1).padStart(2, '0'); + const dd = String(date.getDate()).padStart(2, '0'); + return `${yyyy}-${mm}-${dd}`; +} diff --git a/backend/test/app.e2e-spec.ts b/backend/test/app.e2e-spec.ts new file mode 100644 index 0000000..36852c5 --- /dev/null +++ b/backend/test/app.e2e-spec.ts @@ -0,0 +1,25 @@ +import { Test, TestingModule } from '@nestjs/testing'; +import { INestApplication } from '@nestjs/common'; +import request from 'supertest'; +import { App } from 'supertest/types'; +import { AppModule } from './../src/app.module'; + +describe('AppController (e2e)', () => { + let app: INestApplication; + + beforeEach(async () => { + const moduleFixture: TestingModule = await Test.createTestingModule({ + imports: [AppModule], + }).compile(); + + app = moduleFixture.createNestApplication(); + await app.init(); + }); + + it('/ (GET)', () => { + return request(app.getHttpServer()) + .get('/') + .expect(200) + .expect('Hello World!'); + }); +}); diff --git a/backend/test/jest-e2e.json b/backend/test/jest-e2e.json new file mode 100644 index 0000000..e9d912f --- /dev/null +++ b/backend/test/jest-e2e.json @@ -0,0 +1,9 @@ +{ + "moduleFileExtensions": ["js", "json", "ts"], + "rootDir": ".", + "testEnvironment": "node", + "testRegex": ".e2e-spec.ts$", + "transform": { + "^.+\\.(t|j)s$": "ts-jest" + } +} diff --git a/backend/tsconfig.build.json b/backend/tsconfig.build.json new file mode 100644 index 0000000..64f86c6 --- /dev/null +++ b/backend/tsconfig.build.json @@ -0,0 +1,4 @@ +{ + "extends": "./tsconfig.json", + "exclude": ["node_modules", "test", "dist", "**/*spec.ts"] +} diff --git a/backend/tsconfig.json b/backend/tsconfig.json new file mode 100644 index 0000000..ab9f373 --- /dev/null +++ b/backend/tsconfig.json @@ -0,0 +1,33 @@ +{ + "compilerOptions": { + "module": "nodenext", + "moduleResolution": "nodenext", + "resolvePackageJsonExports": true, + "esModuleInterop": true, + "isolatedModules": true, + "declaration": true, + "removeComments": true, + "emitDecoratorMetadata": true, + "experimentalDecorators": true, + "allowSyntheticDefaultImports": true, + "target": "ES2023", + "sourceMap": true, + "outDir": "./dist", + "baseUrl": "./", + "incremental": true, + "skipLibCheck": true, + "strict": true, + "strictNullChecks": true, + "noImplicitAny": true, + "strictBindCallApply": true, + "forceConsistentCasingInFileNames": true, + "noFallthroughCasesInSwitch": true, + "noUnusedLocals": true, + "noUnusedParameters": true + }, + "watchOptions": { + "watchFile": "priorityPollingInterval", + "watchDirectory": "dynamicPriorityPolling", + "fallbackPolling": "dynamicPriority" + } +} diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml new file mode 100644 index 0000000..0b6743b --- /dev/null +++ b/docker-compose.dev.yml @@ -0,0 +1,53 @@ +services: + frontend: + # dev에서는 Docker Desktop 시작 시 자동 실행 방지 (수동 up 때만 실행) + restart: "no" + build: + target: build-stage + command: npm run dev -- --host 0.0.0.0 --port 80 + ports: + - "${FRONTEND_PORT}:80" + environment: + - CHOKIDAR_USEPOLLING=true + - WATCHPACK_POLLING=true + volumes: + - ./${FRONTEND_DIR}:/app + - /app/node_modules + # dev에서는 리버스 프록시 미사용 — base의 networks 목록을 덮어씀 + networks: !override + - app-network + + backend: + # dev에서는 Docker Desktop 시작 시 자동 실행 방지 (수동 up 때만 실행) + restart: "no" + build: + target: builder + command: npm run start:dev + ports: + - "${BACKEND_PORT}:${BACKEND_PORT}" + - "${WEBSOCKET_PORT}:${WEBSOCKET_PORT}" + environment: + - CHOKIDAR_USEPOLLING=true + - WATCHPACK_POLLING=true + volumes: + - ./${BACKEND_DIR}:/app + - /app/node_modules + # dev에서는 리버스 프록시 미사용 — base의 networks 목록을 덮어씀 + networks: !override + - app-network + + db: + # dev에서는 Docker Desktop 시작 시 자동 실행 방지 (base 의 always 를 덮어씀) + restart: "no" + ports: + - "${DB_PORT}:5432" + + redis: + # dev에서는 Docker Desktop 시작 시 자동 실행 방지 (base 의 always 를 덮어씀) + restart: "no" + ports: + - "${REDIS_PORT}:6379" + +# base의 proxy 외부 네트워크 의존을 dev에서 제거 +networks: + proxy: !reset null \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..73f1bcd --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,145 @@ +services: + # ---------------------------------------- + # 1. Frontend (Nginx 정적 호스팅) + # ---------------------------------------- + frontend: + container_name: ${PROJECT_NAME}-frontend + build: + context: ./${FRONTEND_DIR} + dockerfile: Dockerfile + args: + - BUILD_MODE=${BUILD_MODE} + - VITE_API_BASE_URL=${BACKEND_API_URL} + expose: + - "80" + environment: + - NODE_ENV=${APP_ENV} + restart: unless-stopped + networks: + - app-network + - proxy + depends_on: + - backend + healthcheck: + test: ["CMD-SHELL", "wget -qO- http://localhost:80/ || exit 1"] + interval: 30s + timeout: 5s + retries: 5 + start_period: 10s + deploy: + resources: + limits: + cpus: '0.5' + memory: 512m + + # ---------------------------------------- + # 2. Backend (HTTP API & WebSocket 통합) + # ---------------------------------------- + backend: + container_name: ${PROJECT_NAME}-backend + build: + context: ./${BACKEND_DIR} + dockerfile: Dockerfile + expose: + - "${BACKEND_PORT}" + - "${WEBSOCKET_PORT}" + env_file: + - ./${BACKEND_DIR}/.env.${APP_ENV} + environment: + - NODE_ENV=${APP_ENV} + - PORT=${BACKEND_PORT} + - WEBSOCKET_PORT=${WEBSOCKET_PORT} + - CORS_ORIGIN=${CORS_ORIGIN} + - DB_HOST=db + - DB_PORT=5432 + - DB_USER=${DB_USER} + - DB_PASSWORD=${DB_PASSWORD} + - DB_NAME=${DB_NAME} + - REDIS_HOST=redis + - REDIS_PORT=6379 + - REDIS_PASSWORD=${REDIS_PASSWORD} + restart: unless-stopped + networks: + - app-network + - proxy + depends_on: + db: + condition: service_healthy + redis: + condition: service_healthy + healthcheck: + test: ["CMD-SHELL", "wget -qO- http://localhost:${BACKEND_PORT}/ || exit 1"] + interval: 30s + timeout: 5s + retries: 5 + start_period: 30s + deploy: + resources: + limits: + cpus: '1.0' + memory: 1g + + # ---------------------------------------- + # 3. Database (PostgreSQL) — 내부 네트워크 전용 + # ---------------------------------------- + db: + container_name: ${PROJECT_NAME}-db + image: ${DB_IMAGE} + expose: + - "5432" + environment: + POSTGRES_USER: ${DB_USER} + POSTGRES_PASSWORD: ${DB_PASSWORD} + POSTGRES_DB: ${DB_NAME} + volumes: + - ${DB_DATA_DIR}:/var/lib/postgresql/data + restart: always + networks: + - app-network + healthcheck: + test: ["CMD-SHELL", "pg_isready -U ${DB_USER} -d ${DB_NAME}"] + interval: 10s + timeout: 5s + retries: 5 + start_period: 10s + deploy: + resources: + limits: + cpus: '0.5' + memory: 512m + labels: + - "com.centurylinklabs.watchtower.enable=true" + + # ---------------------------------------- + # 4. Redis — 내부 네트워크 전용 + # ---------------------------------------- + redis: + container_name: ${PROJECT_NAME}-redis + image: ${REDIS_IMAGE} + command: redis-server --requirepass ${REDIS_PASSWORD} + expose: + - "6379" + volumes: + - ${REDIS_DATA_DIR}:/data + restart: always + networks: + - app-network + healthcheck: + test: ["CMD-SHELL", "redis-cli -a ${REDIS_PASSWORD} ping | grep PONG"] + interval: 10s + timeout: 5s + retries: 5 + start_period: 5s + deploy: + resources: + limits: + cpus: '0.25' + memory: 256m + labels: + - "com.centurylinklabs.watchtower.enable=true" + +networks: + app-network: + driver: bridge + proxy: + external: true \ No newline at end of file diff --git a/flutter/.env.example b/flutter/.env.example new file mode 100644 index 0000000..74d0c74 --- /dev/null +++ b/flutter/.env.example @@ -0,0 +1,12 @@ +# ========================================== +# Flutter 환경변수 (flutter_dotenv) — pubspec assets 에 .env 등록됨 +# 사용법: cp .env.example .env +# +# ⚠️ 모바일 앱은 docker-compose 대상이 아니므로 루트 .env 의 위임을 받지 않는다. +# 아래 값은 항상 이 파일에서 직접 관리한다. +# 빌드 타임 분리가 필요하면 --dart-define 또는 .env.{flavor} 도입 고려. +# ========================================== + +# 백엔드 API 베이스 URL (백엔드 글로벌 prefix /api 포함) +# 안드로이드 에뮬레이터에서 호스트 접근 시: http://10.0.2.2:3000/api +API_URL=http://localhost:3000/api diff --git a/flutter/.gitignore b/flutter/.gitignore new file mode 100644 index 0000000..3e8a293 --- /dev/null +++ b/flutter/.gitignore @@ -0,0 +1,54 @@ +# Miscellaneous +*.class +*.log +*.pyc +*.swp +.DS_Store +.atom/ +.build/ +.buildlog/ +.history +.svn/ +.swiftpm/ +migrate_working_dir/ + +# IntelliJ related +*.iml +*.ipr +*.iws +.idea/ + +# The .vscode folder contains launch configuration and tasks you configure in +# VS Code which you may wish to be included in version control, so this line +# is commented out by default. +#.vscode/ + +# Flutter/Dart/Pub related +**/doc/api/ +**/ios/Flutter/.last_build_id +.dart_tool/ +.flutter-plugins-dependencies +.pub-cache/ +.pub/ +/build/ +/coverage/ + +# Symbolication related +app.*.symbols + +# Obfuscation related +app.*.map.json + +# Android Studio will place build artifacts here +/android/app/debug +/android/app/profile +/android/app/release + +# dotenv environment variable files +.env +.env.development.local +.env.test.local +.env.production.local +.env.local +.env.development +.env.production \ No newline at end of file diff --git a/flutter/.metadata b/flutter/.metadata new file mode 100644 index 0000000..89db5de --- /dev/null +++ b/flutter/.metadata @@ -0,0 +1,45 @@ +# This file tracks properties of this Flutter project. +# Used by Flutter tool to assess capabilities and perform upgrades etc. +# +# This file should be version controlled and should not be manually edited. + +version: + revision: "ff37bef603469fb030f2b72995ab929ccfc227f0" + channel: "stable" + +project_type: app + +# Tracks metadata for the flutter migrate command +migration: + platforms: + - platform: root + create_revision: ff37bef603469fb030f2b72995ab929ccfc227f0 + base_revision: ff37bef603469fb030f2b72995ab929ccfc227f0 + - platform: android + create_revision: ff37bef603469fb030f2b72995ab929ccfc227f0 + base_revision: ff37bef603469fb030f2b72995ab929ccfc227f0 + - platform: ios + create_revision: ff37bef603469fb030f2b72995ab929ccfc227f0 + base_revision: ff37bef603469fb030f2b72995ab929ccfc227f0 + - platform: linux + create_revision: ff37bef603469fb030f2b72995ab929ccfc227f0 + base_revision: ff37bef603469fb030f2b72995ab929ccfc227f0 + - platform: macos + create_revision: ff37bef603469fb030f2b72995ab929ccfc227f0 + base_revision: ff37bef603469fb030f2b72995ab929ccfc227f0 + - platform: web + create_revision: ff37bef603469fb030f2b72995ab929ccfc227f0 + base_revision: ff37bef603469fb030f2b72995ab929ccfc227f0 + - platform: windows + create_revision: ff37bef603469fb030f2b72995ab929ccfc227f0 + base_revision: ff37bef603469fb030f2b72995ab929ccfc227f0 + + # User provided section + + # List of Local paths (relative to this file) that should be + # ignored by the migrate tool. + # + # Files that are not part of the templates will be ignored by default. + unmanaged_files: + - 'lib/main.dart' + - 'ios/Runner.xcodeproj/project.pbxproj' diff --git a/flutter/README.md b/flutter/README.md new file mode 100644 index 0000000..16d2584 --- /dev/null +++ b/flutter/README.md @@ -0,0 +1,17 @@ +# tma_app + +A new Flutter project. + +## Getting Started + +This project is a starting point for a Flutter application. + +A few resources to get you started if this is your first Flutter project: + +- [Learn Flutter](https://docs.flutter.dev/get-started/learn-flutter) +- [Write your first Flutter app](https://docs.flutter.dev/get-started/codelab) +- [Flutter learning resources](https://docs.flutter.dev/reference/learning-resources) + +For help getting started with Flutter development, view the +[online documentation](https://docs.flutter.dev/), which offers tutorials, +samples, guidance on mobile development, and a full API reference. diff --git a/flutter/analysis_options.yaml b/flutter/analysis_options.yaml new file mode 100644 index 0000000..0d29021 --- /dev/null +++ b/flutter/analysis_options.yaml @@ -0,0 +1,28 @@ +# This file configures the analyzer, which statically analyzes Dart code to +# check for errors, warnings, and lints. +# +# The issues identified by the analyzer are surfaced in the UI of Dart-enabled +# IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be +# invoked from the command line by running `flutter analyze`. + +# The following line activates a set of recommended lints for Flutter apps, +# packages, and plugins designed to encourage good coding practices. +include: package:flutter_lints/flutter.yaml + +linter: + # The lint rules applied to this project can be customized in the + # section below to disable rules from the `package:flutter_lints/flutter.yaml` + # included above or to enable additional rules. A list of all available lints + # and their documentation is published at https://dart.dev/lints. + # + # Instead of disabling a lint rule for the entire project in the + # section below, it can also be suppressed for a single line of code + # or a specific dart file by using the `// ignore: name_of_lint` and + # `// ignore_for_file: name_of_lint` syntax on the line or in the file + # producing the lint. + rules: + # avoid_print: false # Uncomment to disable the `avoid_print` rule + # prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule + +# Additional information about this file can be found at +# https://dart.dev/guides/language/analysis-options diff --git a/flutter/android/.gitignore b/flutter/android/.gitignore new file mode 100644 index 0000000..be3943c --- /dev/null +++ b/flutter/android/.gitignore @@ -0,0 +1,14 @@ +gradle-wrapper.jar +/.gradle +/captures/ +/gradlew +/gradlew.bat +/local.properties +GeneratedPluginRegistrant.java +.cxx/ + +# Remember to never publicly share your keystore. +# See https://flutter.dev/to/reference-keystore +key.properties +**/*.keystore +**/*.jks diff --git a/flutter/android/app/build.gradle.kts b/flutter/android/app/build.gradle.kts new file mode 100644 index 0000000..6b66a87 --- /dev/null +++ b/flutter/android/app/build.gradle.kts @@ -0,0 +1,44 @@ +plugins { + id("com.android.application") + id("kotlin-android") + // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins. + id("dev.flutter.flutter-gradle-plugin") +} + +android { + namespace = "com.example.tma_app" + compileSdk = flutter.compileSdkVersion + ndkVersion = flutter.ndkVersion + + compileOptions { + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 + } + + kotlinOptions { + jvmTarget = JavaVersion.VERSION_17.toString() + } + + defaultConfig { + // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). + applicationId = "com.example.tma_app" + // You can update the following values to match your application needs. + // For more information, see: https://flutter.dev/to/review-gradle-config. + minSdk = flutter.minSdkVersion + targetSdk = flutter.targetSdkVersion + versionCode = flutter.versionCode + versionName = flutter.versionName + } + + buildTypes { + release { + // TODO: Add your own signing config for the release build. + // Signing with the debug keys for now, so `flutter run --release` works. + signingConfig = signingConfigs.getByName("debug") + } + } +} + +flutter { + source = "../.." +} diff --git a/flutter/android/app/src/debug/AndroidManifest.xml b/flutter/android/app/src/debug/AndroidManifest.xml new file mode 100644 index 0000000..399f698 --- /dev/null +++ b/flutter/android/app/src/debug/AndroidManifest.xml @@ -0,0 +1,7 @@ + + + + diff --git a/flutter/android/app/src/main/AndroidManifest.xml b/flutter/android/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..c4346bb --- /dev/null +++ b/flutter/android/app/src/main/AndroidManifest.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/flutter/android/app/src/main/kotlin/com/example/tma_app/MainActivity.kt b/flutter/android/app/src/main/kotlin/com/example/tma_app/MainActivity.kt new file mode 100644 index 0000000..af70f0b --- /dev/null +++ b/flutter/android/app/src/main/kotlin/com/example/tma_app/MainActivity.kt @@ -0,0 +1,5 @@ +package com.example.tma_app + +import io.flutter.embedding.android.FlutterActivity + +class MainActivity : FlutterActivity() diff --git a/flutter/android/app/src/main/res/drawable-v21/launch_background.xml b/flutter/android/app/src/main/res/drawable-v21/launch_background.xml new file mode 100644 index 0000000..f74085f --- /dev/null +++ b/flutter/android/app/src/main/res/drawable-v21/launch_background.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/flutter/android/app/src/main/res/drawable/launch_background.xml b/flutter/android/app/src/main/res/drawable/launch_background.xml new file mode 100644 index 0000000..304732f --- /dev/null +++ b/flutter/android/app/src/main/res/drawable/launch_background.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/flutter/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/flutter/android/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..db77bb4b7b0906d62b1847e87f15cdcacf6a4f29 GIT binary patch literal 544 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY3?!3`olAj~WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h8bpbvhu0Wd6uZuB!w&u2PAxD2eNXD>P5D~Wn-+_Wa#27Xc zC?Zj|6r#X(-D3u$NCt}(Ms06KgJ4FxJVv{GM)!I~&n8Bnc94O7-Hd)cjDZswgC;Qs zO=b+9!WcT8F?0rF7!Uys2bs@gozCP?z~o%U|N3vA*22NaGQG zlg@K`O_XuxvZ&Ks^m&R!`&1=spLvfx7oGDKDwpwW`#iqdw@AL`7MR}m`rwr|mZgU`8P7SBkL78fFf!WnuYWm$5Z0 zNXhDbCv&49sM544K|?c)WrFfiZvCi9h0O)B3Pgg&ebxsLQ05GG~ AQ2+n{ literal 0 HcmV?d00001 diff --git a/flutter/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/flutter/android/app/src/main/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..17987b79bb8a35cc66c3c1fd44f5a5526c1b78be GIT binary patch literal 442 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA3?vioaBc-sk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5Xx&nMcT!A!W`0S9QKQy;}1Cl^CgaH=;G9cpY;r$Q>i*pfB zP2drbID<_#qf;rPZx^FqH)F_D#*k@@q03KywUtLX8Ua?`H+NMzkczFPK3lFz@i_kW%1NOn0|D2I9n9wzH8m|-tHjsw|9>@K=iMBhxvkv6m8Y-l zytQ?X=U+MF$@3 zt`~i=@j|6y)RWMK--}M|=T`o&^Ni>IoWKHEbBXz7?A@mgWoL>!*SXo`SZH-*HSdS+ yn*9;$7;m`l>wYBC5bq;=U}IMqLzqbYCidGC!)_gkIk_C@Uy!y&wkt5C($~2D>~)O*cj@FGjOCM)M>_ixfudOh)?xMu#Fs z#}Y=@YDTwOM)x{K_j*Q;dPdJ?Mz0n|pLRx{4n|)f>SXlmV)XB04CrSJn#dS5nK2lM zrZ9#~WelCp7&e13Y$jvaEXHskn$2V!!DN-nWS__6T*l;H&Fopn?A6HZ-6WRLFP=R` zqG+CE#d4|IbyAI+rJJ`&x9*T`+a=p|0O(+s{UBcyZdkhj=yS1>AirP+0R;mf2uMgM zC}@~JfByORAh4SyRgi&!(cja>F(l*O+nd+@4m$|6K6KDn_&uvCpV23&>G9HJp{xgg zoq1^2_p9@|WEo z*X_Uko@K)qYYv~>43eQGMdbiGbo>E~Q& zrYBH{QP^@Sti!`2)uG{irBBq@y*$B zi#&(U-*=fp74j)RyIw49+0MRPMRU)+a2r*PJ$L5roHt2$UjExCTZSbq%V!HeS7J$N zdG@vOZB4v_lF7Plrx+hxo7(fCV&}fHq)$ literal 0 HcmV?d00001 diff --git a/flutter/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/flutter/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..d5f1c8d34e7a88e3f88bea192c3a370d44689c3c GIT binary patch literal 1031 zcmeAS@N?(olHy`uVBq!ia0vp^6F``Q8Ax83A=Cw=BuiW)N`mv#O3D+9QW+dm@{>{( zJaZG%Q-e|yQz{EjrrIztFa`(sgt!6~Yi|1%a`XoT0ojZ}lNrNjb9xjc(B0U1_% zz5^97Xt*%oq$rQy4?0GKNfJ44uvxI)gC`h-NZ|&0-7(qS@?b!5r36oQ}zyZrNO3 zMO=Or+<~>+A&uN&E!^Sl+>xE!QC-|oJv`ApDhqC^EWD|@=#J`=d#Xzxs4ah}w&Jnc z$|q_opQ^2TrnVZ0o~wh<3t%W&flvYGe#$xqda2bR_R zvPYgMcHgjZ5nSA^lJr%;<&0do;O^tDDh~=pIxA#coaCY>&N%M2^tq^U%3DB@ynvKo}b?yu-bFc-u0JHzced$sg7S3zqI(2 z#Km{dPr7I=pQ5>FuK#)QwK?Y`E`B?nP+}U)I#c1+FM*1kNvWG|a(TpksZQ3B@sD~b zpQ2)*V*TdwjFOtHvV|;OsiDqHi=6%)o4b!)x$)%9pGTsE z-JL={-Ffv+T87W(Xpooq<`r*VzWQcgBN$$`u}f>-ZQI1BB8ykN*=e4rIsJx9>z}*o zo~|9I;xof literal 0 HcmV?d00001 diff --git a/flutter/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/flutter/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..4d6372eebdb28e45604e46eeda8dd24651419bc0 GIT binary patch literal 1443 zcmb`G{WsKk6vsdJTdFg%tJav9_E4vzrOaqkWF|A724Nly!y+?N9`YV6wZ}5(X(D_N(?!*n3`|_r0Hc?=PQw&*vnU?QTFY zB_MsH|!j$PP;I}?dppoE_gA(4uc!jV&0!l7_;&p2^pxNo>PEcNJv za5_RT$o2Mf!<+r?&EbHH6nMoTsDOa;mN(wv8RNsHpG)`^ymG-S5By8=l9iVXzN_eG%Xg2@Xeq76tTZ*dGh~Lo9vl;Zfs+W#BydUw zCkZ$o1LqWQO$FC9aKlLl*7x9^0q%0}$OMlp@Kk_jHXOjofdePND+j!A{q!8~Jn+s3 z?~~w@4?egS02}8NuulUA=L~QQfm;MzCGd)XhiftT;+zFO&JVyp2mBww?;QByS_1w! zrQlx%{^cMj0|Bo1FjwY@Q8?Hx0cIPF*@-ZRFpPc#bBw{5@tD(5%sClzIfl8WU~V#u zm5Q;_F!wa$BSpqhN>W@2De?TKWR*!ujY;Yylk_X5#~V!L*Gw~;$%4Q8~Mad z@`-kG?yb$a9cHIApZDVZ^U6Xkp<*4rU82O7%}0jjHlK{id@?-wpN*fCHXyXh(bLt* zPc}H-x0e4E&nQ>y%B-(EL=9}RyC%MyX=upHuFhAk&MLbsF0LP-q`XnH78@fT+pKPW zu72MW`|?8ht^tz$iC}ZwLp4tB;Q49K!QCF3@!iB1qOI=?w z7In!}F~ij(18UYUjnbmC!qKhPo%24?8U1x{7o(+?^Zu0Hx81|FuS?bJ0jgBhEMzf< zCgUq7r2OCB(`XkKcN-TL>u5y#dD6D!)5W?`O5)V^>jb)P)GBdy%t$uUMpf$SNV31$ zb||OojAbvMP?T@$h_ZiFLFVHDmbyMhJF|-_)HX3%m=CDI+ID$0^C>kzxprBW)hw(v zr!Gmda);ICoQyhV_oP5+C%?jcG8v+D@9f?Dk*!BxY}dazmrT@64UrP3hlslANK)bq z$67n83eh}OeW&SV@HG95P|bjfqJ7gw$e+`Hxo!4cx`jdK1bJ>YDSpGKLPZ^1cv$ek zIB?0S<#tX?SJCLWdMd{-ME?$hc7A$zBOdIJ)4!KcAwb=VMov)nK;9z>x~rfT1>dS+ zZ6#`2v@`jgbqq)P22H)Tx2CpmM^o1$B+xT6`(v%5xJ(?j#>Q$+rx_R|7TzDZe{J6q zG1*EcU%tE?!kO%^M;3aM6JN*LAKUVb^xz8-Pxo#jR5(-KBeLJvA@-gxNHx0M-ZJLl z;#JwQoh~9V?`UVo#}{6ka@II>++D@%KqGpMdlQ}?9E*wFcf5(#XQnP$Dk5~%iX^>f z%$y;?M0BLp{O3a(-4A?ewryHrrD%cx#Q^%KY1H zNre$ve+vceSLZcNY4U(RBX&)oZn*Py()h)XkE?PL$!bNb{N5FVI2Y%LKEm%yvpyTP z(1P?z~7YxD~Rf<(a@_y` literal 0 HcmV?d00001 diff --git a/flutter/android/app/src/main/res/values-night/styles.xml b/flutter/android/app/src/main/res/values-night/styles.xml new file mode 100644 index 0000000..06952be --- /dev/null +++ b/flutter/android/app/src/main/res/values-night/styles.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/flutter/android/app/src/main/res/values/styles.xml b/flutter/android/app/src/main/res/values/styles.xml new file mode 100644 index 0000000..cb1ef88 --- /dev/null +++ b/flutter/android/app/src/main/res/values/styles.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/flutter/android/app/src/profile/AndroidManifest.xml b/flutter/android/app/src/profile/AndroidManifest.xml new file mode 100644 index 0000000..399f698 --- /dev/null +++ b/flutter/android/app/src/profile/AndroidManifest.xml @@ -0,0 +1,7 @@ + + + + diff --git a/flutter/android/build.gradle.kts b/flutter/android/build.gradle.kts new file mode 100644 index 0000000..dbee657 --- /dev/null +++ b/flutter/android/build.gradle.kts @@ -0,0 +1,24 @@ +allprojects { + repositories { + google() + mavenCentral() + } +} + +val newBuildDir: Directory = + rootProject.layout.buildDirectory + .dir("../../build") + .get() +rootProject.layout.buildDirectory.value(newBuildDir) + +subprojects { + val newSubprojectBuildDir: Directory = newBuildDir.dir(project.name) + project.layout.buildDirectory.value(newSubprojectBuildDir) +} +subprojects { + project.evaluationDependsOn(":app") +} + +tasks.register("clean") { + delete(rootProject.layout.buildDirectory) +} diff --git a/flutter/android/gradle.properties b/flutter/android/gradle.properties new file mode 100644 index 0000000..fbee1d8 --- /dev/null +++ b/flutter/android/gradle.properties @@ -0,0 +1,2 @@ +org.gradle.jvmargs=-Xmx8G -XX:MaxMetaspaceSize=4G -XX:ReservedCodeCacheSize=512m -XX:+HeapDumpOnOutOfMemoryError +android.useAndroidX=true diff --git a/flutter/android/gradle/wrapper/gradle-wrapper.properties b/flutter/android/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..e4ef43f --- /dev/null +++ b/flutter/android/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-all.zip diff --git a/flutter/android/settings.gradle.kts b/flutter/android/settings.gradle.kts new file mode 100644 index 0000000..ca7fe06 --- /dev/null +++ b/flutter/android/settings.gradle.kts @@ -0,0 +1,26 @@ +pluginManagement { + val flutterSdkPath = + run { + val properties = java.util.Properties() + file("local.properties").inputStream().use { properties.load(it) } + val flutterSdkPath = properties.getProperty("flutter.sdk") + require(flutterSdkPath != null) { "flutter.sdk not set in local.properties" } + flutterSdkPath + } + + includeBuild("$flutterSdkPath/packages/flutter_tools/gradle") + + repositories { + google() + mavenCentral() + gradlePluginPortal() + } +} + +plugins { + id("dev.flutter.flutter-plugin-loader") version "1.0.0" + id("com.android.application") version "8.11.1" apply false + id("org.jetbrains.kotlin.android") version "2.2.20" apply false +} + +include(":app") diff --git a/flutter/ios/.gitignore b/flutter/ios/.gitignore new file mode 100644 index 0000000..7a7f987 --- /dev/null +++ b/flutter/ios/.gitignore @@ -0,0 +1,34 @@ +**/dgph +*.mode1v3 +*.mode2v3 +*.moved-aside +*.pbxuser +*.perspectivev3 +**/*sync/ +.sconsign.dblite +.tags* +**/.vagrant/ +**/DerivedData/ +Icon? +**/Pods/ +**/.symlinks/ +profile +xcuserdata +**/.generated/ +Flutter/App.framework +Flutter/Flutter.framework +Flutter/Flutter.podspec +Flutter/Generated.xcconfig +Flutter/ephemeral/ +Flutter/app.flx +Flutter/app.zip +Flutter/flutter_assets/ +Flutter/flutter_export_environment.sh +ServiceDefinitions.json +Runner/GeneratedPluginRegistrant.* + +# Exceptions to above rules. +!default.mode1v3 +!default.mode2v3 +!default.pbxuser +!default.perspectivev3 diff --git a/flutter/ios/Flutter/AppFrameworkInfo.plist b/flutter/ios/Flutter/AppFrameworkInfo.plist new file mode 100644 index 0000000..391a902 --- /dev/null +++ b/flutter/ios/Flutter/AppFrameworkInfo.plist @@ -0,0 +1,24 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + App + CFBundleIdentifier + io.flutter.flutter.app + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + App + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1.0 + + diff --git a/flutter/ios/Flutter/Debug.xcconfig b/flutter/ios/Flutter/Debug.xcconfig new file mode 100644 index 0000000..592ceee --- /dev/null +++ b/flutter/ios/Flutter/Debug.xcconfig @@ -0,0 +1 @@ +#include "Generated.xcconfig" diff --git a/flutter/ios/Flutter/Release.xcconfig b/flutter/ios/Flutter/Release.xcconfig new file mode 100644 index 0000000..592ceee --- /dev/null +++ b/flutter/ios/Flutter/Release.xcconfig @@ -0,0 +1 @@ +#include "Generated.xcconfig" diff --git a/flutter/ios/Runner.xcodeproj/project.pbxproj b/flutter/ios/Runner.xcodeproj/project.pbxproj new file mode 100644 index 0000000..8fe3ebe --- /dev/null +++ b/flutter/ios/Runner.xcodeproj/project.pbxproj @@ -0,0 +1,620 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 54; + objects = { + +/* Begin PBXBuildFile section */ + 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; + 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; + 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; + 7884E8682EC3CC0700C636F2 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7884E8672EC3CC0400C636F2 /* SceneDelegate.swift */; }; + 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; + 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; + 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 331C8085294A63A400263BE5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 97C146E61CF9000F007C117D /* Project object */; + proxyType = 1; + remoteGlobalIDString = 97C146ED1CF9000F007C117D; + remoteInfo = Runner; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 9705A1C41CF9048500538489 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; + 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; + 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; + 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; + 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; + 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 7884E8672EC3CC0400C636F2 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; + 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; + 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; + 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 97C146EB1CF9000F007C117D /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 331C8082294A63A400263BE5 /* RunnerTests */ = { + isa = PBXGroup; + children = ( + 331C807B294A618700263BE5 /* RunnerTests.swift */, + ); + path = RunnerTests; + sourceTree = ""; + }; + 9740EEB11CF90186004384FC /* Flutter */ = { + isa = PBXGroup; + children = ( + 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */, + 9740EEB21CF90195004384FC /* Debug.xcconfig */, + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, + 9740EEB31CF90195004384FC /* Generated.xcconfig */, + ); + name = Flutter; + sourceTree = ""; + }; + 97C146E51CF9000F007C117D = { + isa = PBXGroup; + children = ( + 9740EEB11CF90186004384FC /* Flutter */, + 97C146F01CF9000F007C117D /* Runner */, + 97C146EF1CF9000F007C117D /* Products */, + 331C8082294A63A400263BE5 /* RunnerTests */, + ); + sourceTree = ""; + }; + 97C146EF1CF9000F007C117D /* Products */ = { + isa = PBXGroup; + children = ( + 97C146EE1CF9000F007C117D /* Runner.app */, + 331C8081294A63A400263BE5 /* RunnerTests.xctest */, + ); + name = Products; + sourceTree = ""; + }; + 97C146F01CF9000F007C117D /* Runner */ = { + isa = PBXGroup; + children = ( + 97C146FA1CF9000F007C117D /* Main.storyboard */, + 97C146FD1CF9000F007C117D /* Assets.xcassets */, + 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */, + 97C147021CF9000F007C117D /* Info.plist */, + 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */, + 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */, + 74858FAE1ED2DC5600515810 /* AppDelegate.swift */, + 7884E8672EC3CC0400C636F2 /* SceneDelegate.swift */, + 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */, + ); + path = Runner; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 331C8080294A63A400263BE5 /* RunnerTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; + buildPhases = ( + 331C807D294A63A400263BE5 /* Sources */, + 331C807F294A63A400263BE5 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 331C8086294A63A400263BE5 /* PBXTargetDependency */, + ); + name = RunnerTests; + productName = RunnerTests; + productReference = 331C8081294A63A400263BE5 /* RunnerTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + 97C146ED1CF9000F007C117D /* Runner */ = { + isa = PBXNativeTarget; + buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; + buildPhases = ( + 9740EEB61CF901F6004384FC /* Run Script */, + 97C146EA1CF9000F007C117D /* Sources */, + 97C146EB1CF9000F007C117D /* Frameworks */, + 97C146EC1CF9000F007C117D /* Resources */, + 9705A1C41CF9048500538489 /* Embed Frameworks */, + 3B06AD1E1E4923F5004D2608 /* Thin Binary */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Runner; + productName = Runner; + productReference = 97C146EE1CF9000F007C117D /* Runner.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 97C146E61CF9000F007C117D /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1510; + ORGANIZATIONNAME = ""; + TargetAttributes = { + 331C8080294A63A400263BE5 = { + CreatedOnToolsVersion = 14.0; + TestTargetID = 97C146ED1CF9000F007C117D; + }; + 97C146ED1CF9000F007C117D = { + CreatedOnToolsVersion = 7.3.1; + LastSwiftMigration = 1100; + }; + }; + }; + buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 97C146E51CF9000F007C117D; + productRefGroup = 97C146EF1CF9000F007C117D /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 97C146ED1CF9000F007C117D /* Runner */, + 331C8080294A63A400263BE5 /* RunnerTests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 331C807F294A63A400263BE5 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 97C146EC1CF9000F007C117D /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */, + 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */, + 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */, + 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", + ); + name = "Thin Binary"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; + }; + 9740EEB61CF901F6004384FC /* Run Script */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Run Script"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 331C807D294A63A400263BE5 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 97C146EA1CF9000F007C117D /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */, + 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */, + 7884E8682EC3CC0700C636F2 /* SceneDelegate.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 331C8086294A63A400263BE5 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 97C146ED1CF9000F007C117D /* Runner */; + targetProxy = 331C8085294A63A400263BE5 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + 97C146FA1CF9000F007C117D /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 97C146FB1CF9000F007C117D /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 97C147001CF9000F007C117D /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 249021D3217E4FDB00AE95B9 /* Profile */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Profile; + }; + 249021D4217E4FDB00AE95B9 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.example.tmaApp; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Profile; + }; + 331C8088294A63A400263BE5 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.example.tmaApp.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = Debug; + }; + 331C8089294A63A400263BE5 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.example.tmaApp.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = Release; + }; + 331C808A294A63A400263BE5 /* Profile */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.example.tmaApp.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = Profile; + }; + 97C147031CF9000F007C117D /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 97C147041CF9000F007C117D /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 97C147061CF9000F007C117D /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.example.tmaApp; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Debug; + }; + 97C147071CF9000F007C117D /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.example.tmaApp; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 331C8088294A63A400263BE5 /* Debug */, + 331C8089294A63A400263BE5 /* Release */, + 331C808A294A63A400263BE5 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 97C147031CF9000F007C117D /* Debug */, + 97C147041CF9000F007C117D /* Release */, + 249021D3217E4FDB00AE95B9 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 97C147061CF9000F007C117D /* Debug */, + 97C147071CF9000F007C117D /* Release */, + 249021D4217E4FDB00AE95B9 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 97C146E61CF9000F007C117D /* Project object */; +} diff --git a/flutter/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/flutter/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..919434a --- /dev/null +++ b/flutter/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/flutter/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/flutter/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/flutter/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/flutter/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/flutter/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..f9b0d7c --- /dev/null +++ b/flutter/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/flutter/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/flutter/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme new file mode 100644 index 0000000..e3773d4 --- /dev/null +++ b/flutter/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -0,0 +1,101 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/flutter/ios/Runner.xcworkspace/contents.xcworkspacedata b/flutter/ios/Runner.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..1d526a1 --- /dev/null +++ b/flutter/ios/Runner.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/flutter/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/flutter/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/flutter/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/flutter/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/flutter/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..f9b0d7c --- /dev/null +++ b/flutter/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/flutter/ios/Runner/AppDelegate.swift b/flutter/ios/Runner/AppDelegate.swift new file mode 100644 index 0000000..c30b367 --- /dev/null +++ b/flutter/ios/Runner/AppDelegate.swift @@ -0,0 +1,16 @@ +import Flutter +import UIKit + +@main +@objc class AppDelegate: FlutterAppDelegate, FlutterImplicitEngineDelegate { + override func application( + _ application: UIApplication, + didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? + ) -> Bool { + return super.application(application, didFinishLaunchingWithOptions: launchOptions) + } + + func didInitializeImplicitFlutterEngine(_ engineBridge: FlutterImplicitEngineBridge) { + GeneratedPluginRegistrant.register(with: engineBridge.pluginRegistry) + } +} diff --git a/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..d36b1fa --- /dev/null +++ b/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,122 @@ +{ + "images" : [ + { + "size" : "20x20", + "idiom" : "iphone", + "filename" : "Icon-App-20x20@2x.png", + "scale" : "2x" + }, + { + "size" : "20x20", + "idiom" : "iphone", + "filename" : "Icon-App-20x20@3x.png", + "scale" : "3x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@1x.png", + "scale" : "1x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@2x.png", + "scale" : "2x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@3x.png", + "scale" : "3x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "Icon-App-40x40@2x.png", + "scale" : "2x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "Icon-App-40x40@3x.png", + "scale" : "3x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "Icon-App-60x60@2x.png", + "scale" : "2x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "Icon-App-60x60@3x.png", + "scale" : "3x" + }, + { + "size" : "20x20", + "idiom" : "ipad", + "filename" : "Icon-App-20x20@1x.png", + "scale" : "1x" + }, + { + "size" : "20x20", + "idiom" : "ipad", + "filename" : "Icon-App-20x20@2x.png", + "scale" : "2x" + }, + { + "size" : "29x29", + "idiom" : "ipad", + "filename" : "Icon-App-29x29@1x.png", + "scale" : "1x" + }, + { + "size" : "29x29", + "idiom" : "ipad", + "filename" : "Icon-App-29x29@2x.png", + "scale" : "2x" + }, + { + "size" : "40x40", + "idiom" : "ipad", + "filename" : "Icon-App-40x40@1x.png", + "scale" : "1x" + }, + { + "size" : "40x40", + "idiom" : "ipad", + "filename" : "Icon-App-40x40@2x.png", + "scale" : "2x" + }, + { + "size" : "76x76", + "idiom" : "ipad", + "filename" : "Icon-App-76x76@1x.png", + "scale" : "1x" + }, + { + "size" : "76x76", + "idiom" : "ipad", + "filename" : "Icon-App-76x76@2x.png", + "scale" : "2x" + }, + { + "size" : "83.5x83.5", + "idiom" : "ipad", + "filename" : "Icon-App-83.5x83.5@2x.png", + "scale" : "2x" + }, + { + "size" : "1024x1024", + "idiom" : "ios-marketing", + "filename" : "Icon-App-1024x1024@1x.png", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..dc9ada4725e9b0ddb1deab583e5b5102493aa332 GIT binary patch literal 10932 zcmeHN2~<R zh`|8`A_PQ1nSu(UMFx?8j8PC!!VDphaL#`F42fd#7Vlc`zIE4n%Y~eiz4y1j|NDpi z?<@|pSJ-HM`qifhf@m%MamgwK83`XpBA<+azdF#2QsT{X@z0A9Bq>~TVErigKH1~P zRX-!h-f0NJ4Mh++{D}J+K>~~rq}d%o%+4dogzXp7RxX4C>Km5XEI|PAFDmo;DFm6G zzjVoB`@qW98Yl0Kvc-9w09^PrsobmG*Eju^=3f?0o-t$U)TL1B3;sZ^!++3&bGZ!o-*6w?;oOhf z=A+Qb$scV5!RbG+&2S}BQ6YH!FKb0``VVX~T$dzzeSZ$&9=X$3)_7Z{SspSYJ!lGE z7yig_41zpQ)%5dr4ff0rh$@ky3-JLRk&DK)NEIHecf9c*?Z1bUB4%pZjQ7hD!A0r-@NF(^WKdr(LXj|=UE7?gBYGgGQV zidf2`ZT@pzXf7}!NH4q(0IMcxsUGDih(0{kRSez&z?CFA0RVXsVFw3^u=^KMtt95q z43q$b*6#uQDLoiCAF_{RFc{!H^moH_cmll#Fc^KXi{9GDl{>%+3qyfOE5;Zq|6#Hb zp^#1G+z^AXfRKaa9HK;%b3Ux~U@q?xg<2DXP%6k!3E)PA<#4$ui8eDy5|9hA5&{?v z(-;*1%(1~-NTQ`Is1_MGdQ{+i*ccd96ab$R$T3=% zw_KuNF@vI!A>>Y_2pl9L{9h1-C6H8<)J4gKI6{WzGBi<@u3P6hNsXG=bRq5c+z;Gc3VUCe;LIIFDmQAGy+=mRyF++u=drBWV8-^>0yE9N&*05XHZpPlE zxu@?8(ZNy7rm?|<+UNe0Vs6&o?l`Pt>P&WaL~M&#Eh%`rg@Mbb)J&@DA-wheQ>hRV z<(XhigZAT z>=M;URcdCaiO3d^?H<^EiEMDV+7HsTiOhoaMX%P65E<(5xMPJKxf!0u>U~uVqnPN7T!X!o@_gs3Ct1 zlZ_$5QXP4{Aj645wG_SNT&6m|O6~Tsl$q?nK*)(`{J4b=(yb^nOATtF1_aS978$x3 zx>Q@s4i3~IT*+l{@dx~Hst21fR*+5}S1@cf>&8*uLw-0^zK(+OpW?cS-YG1QBZ5q! zgTAgivzoF#`cSz&HL>Ti!!v#?36I1*l^mkrx7Y|K6L#n!-~5=d3;K<;Zqi|gpNUn_ z_^GaQDEQ*jfzh;`j&KXb66fWEk1K7vxQIMQ_#Wu_%3 z4Oeb7FJ`8I>Px;^S?)}2+4D_83gHEq>8qSQY0PVP?o)zAv3K~;R$fnwTmI-=ZLK`= zTm+0h*e+Yfr(IlH3i7gUclNH^!MU>id$Jw>O?2i0Cila#v|twub21@e{S2v}8Z13( zNDrTXZVgris|qYm<0NU(tAPouG!QF4ZNpZPkX~{tVf8xY690JqY1NVdiTtW+NqyRP zZ&;T0ikb8V{wxmFhlLTQ&?OP7 z;(z*<+?J2~z*6asSe7h`$8~Se(@t(#%?BGLVs$p``;CyvcT?7Y!{tIPva$LxCQ&4W z6v#F*);|RXvI%qnoOY&i4S*EL&h%hP3O zLsrFZhv&Hu5tF$Lx!8(hs&?!Kx5&L(fdu}UI5d*wn~A`nPUhG&Rv z2#ixiJdhSF-K2tpVL=)5UkXRuPAFrEW}7mW=uAmtVQ&pGE-&az6@#-(Te^n*lrH^m@X-ftVcwO_#7{WI)5v(?>uC9GG{lcGXYJ~Q8q zbMFl7;t+kV;|;KkBW2!P_o%Czhw&Q(nXlxK9ak&6r5t_KH8#1Mr-*0}2h8R9XNkr zto5-b7P_auqTJb(TJlmJ9xreA=6d=d)CVbYP-r4$hDn5|TIhB>SReMfh&OVLkMk-T zYf%$taLF0OqYF?V{+6Xkn>iX@TuqQ?&cN6UjC9YF&%q{Ut3zv{U2)~$>-3;Dp)*(? zg*$mu8^i=-e#acaj*T$pNowo{xiGEk$%DusaQiS!KjJH96XZ-hXv+jk%ard#fu=@Q z$AM)YWvE^{%tDfK%nD49=PI|wYu}lYVbB#a7wtN^Nml@CE@{Gv7+jo{_V?I*jkdLD zJE|jfdrmVbkfS>rN*+`#l%ZUi5_bMS<>=MBDNlpiSb_tAF|Zy`K7kcp@|d?yaTmB^ zo?(vg;B$vxS|SszusORgDg-*Uitzdi{dUV+glA~R8V(?`3GZIl^egW{a919!j#>f` znL1o_^-b`}xnU0+~KIFLQ)$Q6#ym%)(GYC`^XM*{g zv3AM5$+TtDRs%`2TyR^$(hqE7Y1b&`Jd6dS6B#hDVbJlUXcG3y*439D8MrK!2D~6gn>UD4Imctb z+IvAt0iaW73Iq$K?4}H`7wq6YkTMm`tcktXgK0lKPmh=>h+l}Y+pDtvHnG>uqBA)l zAH6BV4F}v$(o$8Gfo*PB>IuaY1*^*`OTx4|hM8jZ?B6HY;F6p4{`OcZZ(us-RVwDx zUzJrCQlp@mz1ZFiSZ*$yX3c_#h9J;yBE$2g%xjmGF4ca z&yL`nGVs!Zxsh^j6i%$a*I3ZD2SoNT`{D%mU=LKaEwbN(_J5%i-6Va?@*>=3(dQy` zOv%$_9lcy9+(t>qohkuU4r_P=R^6ME+wFu&LA9tw9RA?azGhjrVJKy&8=*qZT5Dr8g--d+S8zAyJ$1HlW3Olryt`yE zFIph~Z6oF&o64rw{>lgZISC6p^CBer9C5G6yq%?8tC+)7*d+ib^?fU!JRFxynRLEZ zj;?PwtS}Ao#9whV@KEmwQgM0TVP{hs>dg(1*DiMUOKHdQGIqa0`yZnHk9mtbPfoLx zo;^V6pKUJ!5#n`w2D&381#5#_t}AlTGEgDz$^;u;-vxDN?^#5!zN9ngytY@oTv!nc zp1Xn8uR$1Z;7vY`-<*?DfPHB;x|GUi_fI9@I9SVRv1)qETbNU_8{5U|(>Du84qP#7 z*l9Y$SgA&wGbj>R1YeT9vYjZuC@|{rajTL0f%N@>3$DFU=`lSPl=Iv;EjuGjBa$Gw zHD-;%YOE@<-!7-Mn`0WuO3oWuL6tB2cpPw~Nvuj|KM@))ixuDK`9;jGMe2d)7gHin zS<>k@!x;!TJEc#HdL#RF(`|4W+H88d4V%zlh(7#{q2d0OQX9*FW^`^_<3r$kabWAB z$9BONo5}*(%kx zOXi-yM_cmB3>inPpI~)duvZykJ@^^aWzQ=eQ&STUa}2uT@lV&WoRzkUoE`rR0)`=l zFT%f|LA9fCw>`enm$p7W^E@U7RNBtsh{_-7vVz3DtB*y#*~(L9+x9*wn8VjWw|Q~q zKFsj1Yl>;}%MG3=PY`$g$_mnyhuV&~O~u~)968$0b2!Jkd;2MtAP#ZDYw9hmK_+M$ zb3pxyYC&|CuAbtiG8HZjj?MZJBFbt`ryf+c1dXFuC z0*ZQhBzNBd*}s6K_G}(|Z_9NDV162#y%WSNe|FTDDhx)K!c(mMJh@h87@8(^YdK$&d*^WQe8Z53 z(|@MRJ$Lk-&ii74MPIs80WsOFZ(NX23oR-?As+*aq6b?~62@fSVmM-_*cb1RzZ)`5$agEiL`-E9s7{GM2?(KNPgK1(+c*|-FKoy}X(D_b#etO|YR z(BGZ)0Ntfv-7R4GHoXp?l5g#*={S1{u-QzxCGng*oWr~@X-5f~RA14b8~B+pLKvr4 zfgL|7I>jlak9>D4=(i(cqYf7#318!OSR=^`xxvI!bBlS??`xxWeg?+|>MxaIdH1U~#1tHu zB{QMR?EGRmQ_l4p6YXJ{o(hh-7Tdm>TAX380TZZZyVkqHNzjUn*_|cb?T? zt;d2s-?B#Mc>T-gvBmQZx(y_cfkXZO~{N zT6rP7SD6g~n9QJ)8F*8uHxTLCAZ{l1Y&?6v)BOJZ)=R-pY=Y=&1}jE7fQ>USS}xP#exo57uND0i*rEk@$;nLvRB@u~s^dwRf?G?_enN@$t* zbL%JO=rV(3Ju8#GqUpeE3l_Wu1lN9Y{D4uaUe`g>zlj$1ER$6S6@{m1!~V|bYkhZA z%CvrDRTkHuajMU8;&RZ&itnC~iYLW4DVkP<$}>#&(`UO>!n)Po;Mt(SY8Yb`AS9lt znbX^i?Oe9r_o=?})IHKHoQGKXsps_SE{hwrg?6dMI|^+$CeC&z@*LuF+P`7LfZ*yr+KN8B4{Nzv<`A(wyR@!|gw{zB6Ha ziwPAYh)oJ(nlqSknu(8g9N&1hu0$vFK$W#mp%>X~AU1ay+EKWcFdif{% z#4!4aoVVJ;ULmkQf!ke2}3hqxLK>eq|-d7Ly7-J9zMpT`?dxo6HdfJA|t)?qPEVBDv z{y_b?4^|YA4%WW0VZd8C(ZgQzRI5(I^)=Ub`Y#MHc@nv0w-DaJAqsbEHDWG8Ia6ju zo-iyr*sq((gEwCC&^TYBWt4_@|81?=B-?#P6NMff(*^re zYqvDuO`K@`mjm_Jd;mW_tP`3$cS?R$jR1ZN09$YO%_iBqh5ftzSpMQQtxKFU=FYmP zeY^jph+g<4>YO;U^O>-NFLn~-RqlHvnZl2yd2A{Yc1G@Ga$d+Q&(f^tnPf+Z7serIU};17+2DU_f4Z z@GaPFut27d?!YiD+QP@)T=77cR9~MK@bd~pY%X(h%L={{OIb8IQmf-!xmZkm8A0Ga zQSWONI17_ru5wpHg3jI@i9D+_Y|pCqVuHJNdHUauTD=R$JcD2K_liQisqG$(sm=k9;L* z!L?*4B~ql7uioSX$zWJ?;q-SWXRFhz2Jt4%fOHA=Bwf|RzhwqdXGr78y$J)LR7&3T zE1WWz*>GPWKZ0%|@%6=fyx)5rzUpI;bCj>3RKzNG_1w$fIFCZ&UR0(7S?g}`&Pg$M zf`SLsz8wK82Vyj7;RyKmY{a8G{2BHG%w!^T|Njr!h9TO2LaP^_f22Q1=l$QiU84ao zHe_#{S6;qrC6w~7{y(hs-?-j?lbOfgH^E=XcSgnwW*eEz{_Z<_xN#0001NP)t-s|Ns9~ z#rXRE|M&d=0au&!`~QyF`q}dRnBDt}*!qXo`c{v z{Djr|@Adh0(D_%#_&mM$D6{kE_x{oE{l@J5@%H*?%=t~i_`ufYOPkAEn!pfkr2$fs z652Tz0001XNklqeeKN4RM4i{jKqmiC$?+xN>3Apn^ z0QfuZLym_5b<*QdmkHjHlj811{If)dl(Z2K0A+ekGtrFJb?g|wt#k#pV-#A~bK=OT ts8>{%cPtyC${m|1#B1A6#u!Q;umknL1chzTM$P~L002ovPDHLkV1lTfnu!1a literal 0 HcmV?d00001 diff --git a/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..797d452e458972bab9d994556c8305db4c827017 GIT binary patch literal 406 zcmV;H0crk;P))>cdjpWt&rLJgVp-t?DREyuq1A%0Z4)6_WsQ7{nzjN zo!X zGXV)2i3kcZIL~_j>uIKPK_zib+3T+Nt3Mb&Br)s)UIaA}@p{wDda>7=Q|mGRp7pqY zkJ!7E{MNz$9nOwoVqpFb)}$IP24Wn2JJ=Cw(!`OXJBr45rP>>AQr$6c7slJWvbpNW z@KTwna6d?PP>hvXCcp=4F;=GR@R4E7{4VU^0p4F>v^#A|>07*qoM6N<$f*5nx ACIA2c literal 0 HcmV?d00001 diff --git a/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..6ed2d933e1120817fe9182483a228007b18ab6ae GIT binary patch literal 450 zcmV;z0X_bSP)iGWQ_5NJQ_~rNh*z)}eT%KUb z`7gNk0#AwF^#0T0?hIa^`~Ck;!}#m+_uT050aTR(J!bU#|IzRL%^UsMS#KsYnTF*!YeDOytlP4VhV?b} z%rz_<=#CPc)tU1MZTq~*2=8~iZ!lSa<{9b@2Jl;?IEV8)=fG217*|@)CCYgFze-x? zIFODUIA>nWKpE+bn~n7;-89sa>#DR>TSlqWk*!2hSN6D~Qb#VqbP~4Fk&m`@1$JGr zXPIdeRE&b2Thd#{MtDK$px*d3-Wx``>!oimf%|A-&-q*6KAH)e$3|6JV%HX{Hig)k suLT-RhftRq8b9;(V=235Wa|I=027H2wCDra;{X5v07*qoM6N<$f;9x^2LJ#7 literal 0 HcmV?d00001 diff --git a/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..4cd7b0099ca80c806f8fe495613e8d6c69460d76 GIT binary patch literal 282 zcmV+#0p(^bcu7P-R4C8Q z&e;xxFbF_Vrezo%_kH*OKhshZ6BFpG-Y1e10`QXJKbND7AMQ&cMj60B5TNObaZxYybcN07*qoM6N<$g3m;S%K!iX literal 0 HcmV?d00001 diff --git a/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..fe730945a01f64a61e2235dbe3f45b08f7729182 GIT binary patch literal 462 zcmV;<0WtoGP)-}iV`2<;=$?g5M=KQbZ{F&YRNy7Nn@%_*5{gvDM0aKI4?ESmw z{NnZg)A0R`+4?NF_RZexyVB&^^ZvN!{I28tr{Vje;QNTz`dG&Jz0~Ek&f2;*Z7>B|cg}xYpxEFY+0YrKLF;^Q+-HreN0P{&i zK~zY`?b7ECf-n?@;d<&orQ*Q7KoR%4|C>{W^h6@&01>0SKS`dn{Q}GT%Qj_{PLZ_& zs`MFI#j-(>?bvdZ!8^xTwlY{qA)T4QLbY@j(!YJ7aXJervHy6HaG_2SB`6CC{He}f zHVw(fJWApwPq!6VY7r1w-Fs)@ox~N+q|w~e;JI~C4Vf^@d>Wvj=fl`^u9x9wd9 zR%3*Q+)t%S!MU_`id^@&Y{y7-r98lZX0?YrHlfmwb?#}^1b{8g&KzmkE(L>Z&)179 zp<)v6Y}pRl100G2FL_t(o!|l{-Q-VMg#&MKg7c{O0 z2wJImOS3Gy*Z2Qifdv~JYOp;v+U)a|nLoc7hNH;I$;lzDt$}rkaFw1mYK5_0Q(Sut zvbEloxON7$+HSOgC9Z8ltuC&0OSF!-mXv5caV>#bc3@hBPX@I$58-z}(ZZE!t-aOG zpjNkbau@>yEzH(5Yj4kZiMH32XI!4~gVXNnjAvRx;Sdg^`>2DpUEwoMhTs_st8pKG z(%SHyHdU&v%f36~uERh!bd`!T2dw;z6PrOTQ7Vt*#9F2uHlUVnb#ev_o^fh}Dzmq} zWtlk35}k=?xj28uO|5>>$yXadTUE@@IPpgH`gJ~Ro4>jd1IF|(+IX>8M4Ps{PNvmI zNj4D+XgN83gPt_Gm}`Ybv{;+&yu-C(Grdiahmo~BjG-l&mWM+{e5M1sm&=xduwgM9 z`8OEh`=F3r`^E{n_;%9weN{cf2%7=VzC@cYj+lg>+3|D|_1C@{hcU(DyQG_BvBWe? zvTv``=%b1zrol#=R`JB)>cdjpWt&rLJgVp-t?DREyuq1A%0Z4)6_WsQ7{nzjN zo!X zGXV)2i3kcZIL~_j>uIKPK_zib+3T+Nt3Mb&Br)s)UIaA}@p{wDda>7=Q|mGRp7pqY zkJ!7E{MNz$9nOwoVqpFb)}$IP24Wn2JJ=Cw(!`OXJBr45rP>>AQr$6c7slJWvbpNW z@KTwna6d?PP>hvXCcp=4F;=GR@R4E7{4VU^0p4F>v^#A|>07*qoM6N<$f*5nx ACIA2c literal 0 HcmV?d00001 diff --git a/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..502f463a9bc882b461c96aadf492d1729e49e725 GIT binary patch literal 586 zcmV-Q0=4~#P)+}#`wDE{8-2Mebf5<{{PqV{TgVcv*r8?UZ3{-|G?_}T*&y;@cqf{ z{Q*~+qr%%p!1pS*_Uicl#q9lc(D`!D`LN62sNwq{oYw(Wmhk)k<@f$!$@ng~_5)Ru z0Z)trIA5^j{DIW^c+vT2%lW+2<(RtE2wR;4O@)Tm`Xr*?A(qYoM}7i5Yxw>D(&6ou zxz!_Xr~yNF+waPe00049Nkl*;a!v6h%{rlvIH#gW3s8p;bFr=l}mRqpW2h zw=OA%hdyL~z+UHOzl0eKhEr$YYOL-c-%Y<)=j?(bzDweB7{b+%_ypvm_cG{SvM=DK zhv{K@m>#Bw>2W$eUI#iU)Wdgs8Y3U+A$Gd&{+j)d)BmGKx+43U_!tik_YlN)>$7G! zhkE!s;%oku3;IwG3U^2kw?z+HM)jB{@zFhK8P#KMSytSthr+4!c(5c%+^UBn`0X*2 zy3(k600_CSZj?O$Qu%&$;|TGUJrptR(HzyIx>5E(2r{eA(<6t3e3I0B)7d6s7?Z5J zZ!rtKvA{MiEBm&KFtoifx>5P^Z=vl)95XJn()aS5%ad(s?4-=Tkis9IGu{`Fy8r+H07*qoM6N<$f20Z)wqMt%V?S?~D#06};F zA3KcL`Wb+>5ObvgQIG&ig8(;V04hz?@cqy3{mSh8o!|U|)cI!1_+!fWH@o*8vh^CU z^ws0;(c$gI+2~q^tO#GDHf@=;DncUw00J^eL_t(&-tE|HQ`%4vfZ;WsBqu-$0nu1R zq^Vj;p$clf^?twn|KHO+IGt^q#a3X?w9dXC@*yxhv&l}F322(8Y1&=P&I}~G@#h6; z1CV9ecD9ZEe87{{NtI*)_aJ<`kJa z?5=RBtFF50s;jQLFil-`)m2wrb=6h(&brpj%nG_U&ut~$?8Rokzxi8zJoWr#2dto5 zOX_URcc<1`Iky+jc;A%Vzx}1QU{2$|cKPom2Vf1{8m`vja4{F>HS?^Nc^rp}xo+Nh zxd}eOm`fm3@MQC1< zIk&aCjb~Yh%5+Yq0`)D;q{#-Uqlv*o+Oor zE!I71Z@ASH3grl8&P^L0WpavHoP|UX4e?!igT`4?AZk$hu*@%6WJ;zDOGlw7kj@ zY5!B-0ft0f?Lgb>C;$Ke07*qoM6N<$f~t1N9smFU literal 0 HcmV?d00001 diff --git a/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..0ec303439225b78712f49115768196d8d76f6790 GIT binary patch literal 862 zcmV-k1EKthP)20Z)wqMt%V?S?~D#06};F zA3KcL`Wb+>5ObvgQIG&ig8(;V04hz?@cqy3{mSh8o!|U|)cI!1_+!fWH@o*8vh^CU z^ws0;(c$gI+2~q^tO#GDHf@=;DncUw00J^eL_t(&-tE|HQ`%4vfZ;WsBqu-$0nu1R zq^Vj;p$clf^?twn|KHO+IGt^q#a3X?w9dXC@*yxhv&l}F322(8Y1&=P&I}~G@#h6; z1CV9ecD9ZEe87{{NtI*)_aJ<`kJa z?5=RBtFF50s;jQLFil-`)m2wrb=6h(&brpj%nG_U&ut~$?8Rokzxi8zJoWr#2dto5 zOX_URcc<1`Iky+jc;A%Vzx}1QU{2$|cKPom2Vf1{8m`vja4{F>HS?^Nc^rp}xo+Nh zxd}eOm`fm3@MQC1< zIk&aCjb~Yh%5+Yq0`)D;q{#-Uqlv*o+Oor zE!I71Z@ASH3grl8&P^L0WpavHoP|UX4e?!igT`4?AZk$hu*@%6WJ;zDOGlw7kj@ zY5!B-0ft0f?Lgb>C;$Ke07*qoM6N<$f~t1N9smFU literal 0 HcmV?d00001 diff --git a/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..e9f5fea27c705180eb716271f41b582e76dcbd90 GIT binary patch literal 1674 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 literal 0 HcmV?d00001 diff --git a/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..0467bf12aa4d28f374bb26596605a46dcbb3e7c8 GIT binary patch literal 1418 zcmV;51$Fv~P)q zKfU)WzW*n(@|xWGCA9ScMt*e9`2kdxPQ&&>|-UCa7_51w+ zLUsW@ZzZSW0y$)Hp~e9%PvP|a03ks1`~K?q{u;6NC8*{AOqIUq{CL&;p56Lf$oQGq z^={4hPQv)y=I|4n+?>7Fim=dxt1 z2H+Dm+1+fh+IF>G0SjJMkQQre1x4|G*Z==(Ot&kCnUrL4I(rf(ucITwmuHf^hXiJT zkdTm&kdTm&kdTm&kdP`esgWG0BcWCVkVZ&2dUwN`cgM8QJb`Z7Z~e<&Yj2(}>Tmf` zm1{eLgw!b{bXkjWbF%dTkTZEJWyWOb##Lfw4EK2}<0d6%>AGS{po>WCOy&f$Tay_> z?NBlkpo@s-O;0V%Y_Xa-G#_O08q5LR*~F%&)}{}r&L%Sbs8AS4t7Y0NEx*{soY=0MZExqA5XHQkqi#4gW3 zqODM^iyZl;dvf)-bOXtOru(s)Uc7~BFx{w-FK;2{`VA?(g&@3z&bfLFyctOH!cVsF z7IL=fo-qBndRUm;kAdXR4e6>k-z|21AaN%ubeVrHl*<|s&Ax@W-t?LR(P-24A5=>a z*R9#QvjzF8n%@1Nw@?CG@6(%>+-0ASK~jEmCV|&a*7-GKT72W<(TbSjf)&Eme6nGE z>Gkj4Sq&2e+-G%|+NM8OOm5zVl9{Z8Dd8A5z3y8mZ=4Bv4%>as_{9cN#bm~;h>62( zdqY93Zy}v&c4n($Vv!UybR8ocs7#zbfX1IY-*w~)p}XyZ-SFC~4w>BvMVr`dFbelV{lLL0bx7@*ZZdebr3`sP;? zVImji)kG)(6Juv0lz@q`F!k1FE;CQ(D0iG$wchPbKZQELlsZ#~rt8#90Y_Xh&3U-< z{s<&cCV_1`^TD^ia9!*mQDq& zn2{r`j};V|uV%_wsP!zB?m%;FeaRe+X47K0e+KE!8C{gAWF8)lCd1u1%~|M!XNRvw zvtqy3iz0WSpWdhn6$hP8PaRBmp)q`#PCA`Vd#Tc$@f1tAcM>f_I@bC)hkI9|o(Iqv zo}Piadq!j76}004RBio<`)70k^`K1NK)q>w?p^C6J2ZC!+UppiK6&y3Kmbv&O!oYF z34$0Z;QO!JOY#!`qyGH<3Pd}Pt@q*A0V=3SVtWKRR8d8Z&@)3qLPA19LPA19LPEUC YUoZo%k(ykuW&i*H07*qoM6N<$f+CH{y8r+H literal 0 HcmV?d00001 diff --git a/flutter/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json b/flutter/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json new file mode 100644 index 0000000..0bedcf2 --- /dev/null +++ b/flutter/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "LaunchImage.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "LaunchImage@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "LaunchImage@3x.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/flutter/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png b/flutter/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png new file mode 100644 index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/flutter/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/flutter/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/flutter/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/flutter/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/flutter/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/flutter/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md new file mode 100644 index 0000000..89c2725 --- /dev/null +++ b/flutter/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md @@ -0,0 +1,5 @@ +# Launch Screen Assets + +You can customize the launch screen with your own desired assets by replacing the image files in this directory. + +You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. \ No newline at end of file diff --git a/flutter/ios/Runner/Base.lproj/LaunchScreen.storyboard b/flutter/ios/Runner/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 0000000..f2e259c --- /dev/null +++ b/flutter/ios/Runner/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/flutter/ios/Runner/Base.lproj/Main.storyboard b/flutter/ios/Runner/Base.lproj/Main.storyboard new file mode 100644 index 0000000..f3c2851 --- /dev/null +++ b/flutter/ios/Runner/Base.lproj/Main.storyboard @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/flutter/ios/Runner/Info.plist b/flutter/ios/Runner/Info.plist new file mode 100644 index 0000000..a58c4ae --- /dev/null +++ b/flutter/ios/Runner/Info.plist @@ -0,0 +1,70 @@ + + + + + CADisableMinimumFrameDurationOnPhone + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleDisplayName + Tma App + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + tma_app + CFBundlePackageType + APPL + CFBundleShortVersionString + $(FLUTTER_BUILD_NAME) + CFBundleSignature + ???? + CFBundleVersion + $(FLUTTER_BUILD_NUMBER) + LSRequiresIPhoneOS + + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneClassName + UIWindowScene + UISceneConfigurationName + flutter + UISceneDelegateClassName + $(PRODUCT_MODULE_NAME).SceneDelegate + UISceneStoryboardFile + Main + + + + + UIApplicationSupportsIndirectInputEvents + + UILaunchStoryboardName + LaunchScreen + UIMainStoryboardFile + Main + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + + diff --git a/flutter/ios/Runner/Runner-Bridging-Header.h b/flutter/ios/Runner/Runner-Bridging-Header.h new file mode 100644 index 0000000..308a2a5 --- /dev/null +++ b/flutter/ios/Runner/Runner-Bridging-Header.h @@ -0,0 +1 @@ +#import "GeneratedPluginRegistrant.h" diff --git a/flutter/ios/Runner/SceneDelegate.swift b/flutter/ios/Runner/SceneDelegate.swift new file mode 100644 index 0000000..b9ce8ea --- /dev/null +++ b/flutter/ios/Runner/SceneDelegate.swift @@ -0,0 +1,6 @@ +import Flutter +import UIKit + +class SceneDelegate: FlutterSceneDelegate { + +} diff --git a/flutter/ios/RunnerTests/RunnerTests.swift b/flutter/ios/RunnerTests/RunnerTests.swift new file mode 100644 index 0000000..86a7c3b --- /dev/null +++ b/flutter/ios/RunnerTests/RunnerTests.swift @@ -0,0 +1,12 @@ +import Flutter +import UIKit +import XCTest + +class RunnerTests: XCTestCase { + + func testExample() { + // If you add code to the Runner application, consider adding tests here. + // See https://developer.apple.com/documentation/xctest for more information about using XCTest. + } + +} diff --git a/flutter/lib/core/api/dio_client.dart b/flutter/lib/core/api/dio_client.dart new file mode 100644 index 0000000..0f899a1 --- /dev/null +++ b/flutter/lib/core/api/dio_client.dart @@ -0,0 +1,95 @@ +import 'package:dio/dio.dart'; +import 'package:flutter_dotenv/flutter_dotenv.dart'; +import 'package:flutter_secure_storage/flutter_secure_storage.dart'; +import 'error_lexicon.dart'; + +class DioClient { + static final DioClient _instance = DioClient._internal(); + late Dio _dio; + final FlutterSecureStorage _storage = const FlutterSecureStorage(); + + factory DioClient() { + return _instance; + } + + DioClient._internal() { + // 백엔드 글로벌 prefix(/api) 와 일치 + final baseUrl = dotenv.maybeGet('API_URL') ?? 'http://localhost:3000/api'; + + _dio = Dio(BaseOptions( + baseUrl: baseUrl, + connectTimeout: const Duration(seconds: 15), + receiveTimeout: const Duration(seconds: 15), + )); + + _dio.interceptors.add( + InterceptorsWrapper( + onRequest: (options, handler) async { + // Token Storage 정책: SecureStorage 에서 JWT 읽어 헤더에 부착 + final token = await _storage.read(key: 'jwt_token'); + if (token != null) { + options.headers['Authorization'] = 'Bearer $token'; + } + return handler.next(options); + }, + onResponse: (response, handler) { + final payload = response.data; + + if (payload is Map && payload.containsKey('success')) { + if (payload['success'] == true) { + // Global Response Wrapper: 데이터 Unwrap + response.data = payload['data']; + return handler.next(response); + } else { + // HTTP 200 OK 하에서의 비즈니스 실패 로직 + final errorCode = payload['error']?['code'] ?? 'BIZ_001'; + return handler.reject( + DioException( + requestOptions: response.requestOptions, + error: ErrorLexicon.getMessage(errorCode), + type: DioExceptionType.badResponse, + ), + ); + } + } + return handler.next(response); + }, + onError: (DioException e, handler) { + String errorCode = 'SYS_001'; + + if (e.response != null && e.response?.data is Map) { + final payload = e.response!.data as Map; + + // 1. 서버에서 표준 에러 객체를 보낸 경우 + if (payload['error'] != null && payload['error']['code'] != null) { + errorCode = payload['error']['code']; + } else { + // 2. 서버 에러 객체가 없는 경우 HTTP 상태 코드 기반 매핑 + final statusCode = e.response?.statusCode; + if (statusCode == 401) { + errorCode = 'AUTH_001'; + } else if (statusCode == 403) { + errorCode = 'AUTH_003'; + } else if (statusCode == 400 || statusCode == 422) { + errorCode = 'VAL_001'; + } else if (statusCode == 404) { + errorCode = 'RES_001'; + } + } + } else if (e.type == DioExceptionType.connectionTimeout || + e.type == DioExceptionType.receiveTimeout) { + errorCode = 'SYS_001'; + } + + final errorMessage = ErrorLexicon.getMessage(errorCode); + + // User-Friendly Error UI를 위해 에러 메시지 덮어쓰기 + final customError = e.copyWith(error: errorMessage); + return handler.next(customError); + }, + ), + ); + } + + Dio get dio => _dio; +} diff --git a/flutter/lib/core/api/dio_provider.dart b/flutter/lib/core/api/dio_provider.dart new file mode 100644 index 0000000..1771e8b --- /dev/null +++ b/flutter/lib/core/api/dio_provider.dart @@ -0,0 +1,9 @@ +import 'package:dio/dio.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'dio_client.dart'; + +// 전역 Dio Provider — 리포지토리/데이터소스에서 ref.watch(dioProvider) 로 주입받는다. +// 인터셉터(토큰 첨부·응답 언래핑·에러 매핑)가 적용된 DioClient.dio 를 노출한다. +final dioProvider = Provider((ref) { + return DioClient().dio; +}); diff --git a/flutter/lib/core/api/error_lexicon.dart b/flutter/lib/core/api/error_lexicon.dart new file mode 100644 index 0000000..423e18f --- /dev/null +++ b/flutter/lib/core/api/error_lexicon.dart @@ -0,0 +1,15 @@ +class ErrorLexicon { + static const Map codes = { + 'SYS_001': '일시적인 시스템 오류가 발생했습니다. 잠시 후 다시 시도해 주세요.', + 'AUTH_001': '로그인이 필요한 서비스입니다. 로그인 후 이용해 주세요.', + 'AUTH_002': '안전을 위해 로그아웃 되었습니다. 다시 로그인해 주세요.', + 'AUTH_003': '해당 메뉴나 기능에 접근할 수 있는 권한이 없습니다.', + 'VAL_001': '입력하신 정보를 다시 확인해 주세요. (필수값 누락 또는 형식 오류)', + 'RES_001': '요청하신 정보나 페이지를 찾을 수 없습니다.', + 'BIZ_001': '요청하신 작업을 완료하지 못했습니다. 다시 시도해 주세요.', + }; + + static String getMessage(String code) { + return codes[code] ?? codes['SYS_001']!; + } +} diff --git a/flutter/lib/core/utils/.gitkeep b/flutter/lib/core/utils/.gitkeep new file mode 100644 index 0000000..3cc233d --- /dev/null +++ b/flutter/lib/core/utils/.gitkeep @@ -0,0 +1 @@ +// Empty directory placeholder diff --git a/flutter/lib/features/.gitkeep b/flutter/lib/features/.gitkeep new file mode 100644 index 0000000..3cc233d --- /dev/null +++ b/flutter/lib/features/.gitkeep @@ -0,0 +1 @@ +// Empty directory placeholder diff --git a/flutter/lib/features/user/presentation/providers/user_provider.dart b/flutter/lib/features/user/presentation/providers/user_provider.dart new file mode 100644 index 0000000..7ffd7c2 --- /dev/null +++ b/flutter/lib/features/user/presentation/providers/user_provider.dart @@ -0,0 +1,15 @@ +import 'package:flutter_riverpod/flutter_riverpod.dart'; +import '../../../../core/api/dio_provider.dart'; +import '../../data/models/user_model.dart'; +import '../../data/repositories/user_repository.dart'; + +// 리포지토리 Provider — dioProvider 를 주입받아 생성 +final userRepositoryProvider = Provider((ref) { + return UserRepository(ref.watch(dioProvider)); +}); + +// 특정 사용자 조회 Provider (family) +// 위젯에서: ref.watch(userProvider(id)).when(data:..., loading:..., error:...) +final userProvider = FutureProvider.family((ref, id) { + return ref.watch(userRepositoryProvider).getUser(id); +}); diff --git a/flutter/lib/main.dart b/flutter/lib/main.dart new file mode 100644 index 0000000..0d77b72 --- /dev/null +++ b/flutter/lib/main.dart @@ -0,0 +1,67 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_dotenv/flutter_dotenv.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; + +Future main() async { + // dotenv 로드 — .env 파일이 없으면 기본값으로 동작 + WidgetsFlutterBinding.ensureInitialized(); + try { + await dotenv.load(fileName: '.env'); + } catch (_) { + // .env 파일이 없는 경우 무시 (기본값 사용) + } + + runApp( + // Riverpod Provider Scope 적용 + const ProviderScope( + child: MyApp(), + ), + ); +} + +class MyApp extends StatelessWidget { + const MyApp({super.key}); + + @override + Widget build(BuildContext context) { + return MaterialApp( + title: 'TMA App', + theme: ThemeData( + colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple), + useMaterial3: true, + ), + home: const HomeView(), + ); + } +} + +class HomeView extends StatelessWidget { + const HomeView({super.key}); + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar( + title: const Text('TMA Global Architecture'), + ), + body: Center( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + const Text('Riverpod & Dio Interceptor Setup Complete.'), + const SizedBox(height: 16), + ElevatedButton( + onPressed: () { + // 테스트 용 임시 스낵바 알림 호출 (User-Friendly Error UI) + ScaffoldMessenger.of(context).showSnackBar( + const SnackBar(content: Text('에러 발생 시 보여질 Toast 예시입니다.')), + ); + }, + child: const Text('Show Global Alert Test'), + ), + ], + ), + ), + ); + } +} diff --git a/flutter/lib/widgets/.gitkeep b/flutter/lib/widgets/.gitkeep new file mode 100644 index 0000000..3cc233d --- /dev/null +++ b/flutter/lib/widgets/.gitkeep @@ -0,0 +1 @@ +// Empty directory placeholder diff --git a/flutter/linux/.gitignore b/flutter/linux/.gitignore new file mode 100644 index 0000000..d3896c9 --- /dev/null +++ b/flutter/linux/.gitignore @@ -0,0 +1 @@ +flutter/ephemeral diff --git a/flutter/linux/CMakeLists.txt b/flutter/linux/CMakeLists.txt new file mode 100644 index 0000000..00a43ef --- /dev/null +++ b/flutter/linux/CMakeLists.txt @@ -0,0 +1,128 @@ +# Project-level configuration. +cmake_minimum_required(VERSION 3.13) +project(runner LANGUAGES CXX) + +# The name of the executable created for the application. Change this to change +# the on-disk name of your application. +set(BINARY_NAME "tma_app") +# The unique GTK application identifier for this application. See: +# https://wiki.gnome.org/HowDoI/ChooseApplicationID +set(APPLICATION_ID "com.example.tma_app") + +# Explicitly opt in to modern CMake behaviors to avoid warnings with recent +# versions of CMake. +cmake_policy(SET CMP0063 NEW) + +# Load bundled libraries from the lib/ directory relative to the binary. +set(CMAKE_INSTALL_RPATH "$ORIGIN/lib") + +# Root filesystem for cross-building. +if(FLUTTER_TARGET_PLATFORM_SYSROOT) + set(CMAKE_SYSROOT ${FLUTTER_TARGET_PLATFORM_SYSROOT}) + set(CMAKE_FIND_ROOT_PATH ${CMAKE_SYSROOT}) + set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) + set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) + set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) + set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) +endif() + +# Define build configuration options. +if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) + set(CMAKE_BUILD_TYPE "Debug" CACHE + STRING "Flutter build mode" FORCE) + set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS + "Debug" "Profile" "Release") +endif() + +# Compilation settings that should be applied to most targets. +# +# Be cautious about adding new options here, as plugins use this function by +# default. In most cases, you should add new options to specific targets instead +# of modifying this function. +function(APPLY_STANDARD_SETTINGS TARGET) + target_compile_features(${TARGET} PUBLIC cxx_std_14) + target_compile_options(${TARGET} PRIVATE -Wall -Werror) + target_compile_options(${TARGET} PRIVATE "$<$>:-O3>") + target_compile_definitions(${TARGET} PRIVATE "$<$>:NDEBUG>") +endfunction() + +# Flutter library and tool build rules. +set(FLUTTER_MANAGED_DIR "${CMAKE_CURRENT_SOURCE_DIR}/flutter") +add_subdirectory(${FLUTTER_MANAGED_DIR}) + +# System-level dependencies. +find_package(PkgConfig REQUIRED) +pkg_check_modules(GTK REQUIRED IMPORTED_TARGET gtk+-3.0) + +# Application build; see runner/CMakeLists.txt. +add_subdirectory("runner") + +# Run the Flutter tool portions of the build. This must not be removed. +add_dependencies(${BINARY_NAME} flutter_assemble) + +# Only the install-generated bundle's copy of the executable will launch +# correctly, since the resources must in the right relative locations. To avoid +# people trying to run the unbundled copy, put it in a subdirectory instead of +# the default top-level location. +set_target_properties(${BINARY_NAME} + PROPERTIES + RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/intermediates_do_not_run" +) + + +# Generated plugin build rules, which manage building the plugins and adding +# them to the application. +include(flutter/generated_plugins.cmake) + + +# === Installation === +# By default, "installing" just makes a relocatable bundle in the build +# directory. +set(BUILD_BUNDLE_DIR "${PROJECT_BINARY_DIR}/bundle") +if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) + set(CMAKE_INSTALL_PREFIX "${BUILD_BUNDLE_DIR}" CACHE PATH "..." FORCE) +endif() + +# Start with a clean build bundle directory every time. +install(CODE " + file(REMOVE_RECURSE \"${BUILD_BUNDLE_DIR}/\") + " COMPONENT Runtime) + +set(INSTALL_BUNDLE_DATA_DIR "${CMAKE_INSTALL_PREFIX}/data") +set(INSTALL_BUNDLE_LIB_DIR "${CMAKE_INSTALL_PREFIX}/lib") + +install(TARGETS ${BINARY_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}" + COMPONENT Runtime) + +install(FILES "${FLUTTER_ICU_DATA_FILE}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" + COMPONENT Runtime) + +install(FILES "${FLUTTER_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) + +foreach(bundled_library ${PLUGIN_BUNDLED_LIBRARIES}) + install(FILES "${bundled_library}" + DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) +endforeach(bundled_library) + +# Copy the native assets provided by the build.dart from all packages. +set(NATIVE_ASSETS_DIR "${PROJECT_BUILD_DIR}native_assets/linux/") +install(DIRECTORY "${NATIVE_ASSETS_DIR}" + DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) + +# Fully re-copy the assets directory on each build to avoid having stale files +# from a previous install. +set(FLUTTER_ASSET_DIR_NAME "flutter_assets") +install(CODE " + file(REMOVE_RECURSE \"${INSTALL_BUNDLE_DATA_DIR}/${FLUTTER_ASSET_DIR_NAME}\") + " COMPONENT Runtime) +install(DIRECTORY "${PROJECT_BUILD_DIR}/${FLUTTER_ASSET_DIR_NAME}" + DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" COMPONENT Runtime) + +# Install the AOT library on non-Debug builds only. +if(NOT CMAKE_BUILD_TYPE MATCHES "Debug") + install(FILES "${AOT_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) +endif() diff --git a/flutter/linux/flutter/CMakeLists.txt b/flutter/linux/flutter/CMakeLists.txt new file mode 100644 index 0000000..d5bd016 --- /dev/null +++ b/flutter/linux/flutter/CMakeLists.txt @@ -0,0 +1,88 @@ +# This file controls Flutter-level build steps. It should not be edited. +cmake_minimum_required(VERSION 3.10) + +set(EPHEMERAL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ephemeral") + +# Configuration provided via flutter tool. +include(${EPHEMERAL_DIR}/generated_config.cmake) + +# TODO: Move the rest of this into files in ephemeral. See +# https://github.com/flutter/flutter/issues/57146. + +# Serves the same purpose as list(TRANSFORM ... PREPEND ...), +# which isn't available in 3.10. +function(list_prepend LIST_NAME PREFIX) + set(NEW_LIST "") + foreach(element ${${LIST_NAME}}) + list(APPEND NEW_LIST "${PREFIX}${element}") + endforeach(element) + set(${LIST_NAME} "${NEW_LIST}" PARENT_SCOPE) +endfunction() + +# === Flutter Library === +# System-level dependencies. +find_package(PkgConfig REQUIRED) +pkg_check_modules(GTK REQUIRED IMPORTED_TARGET gtk+-3.0) +pkg_check_modules(GLIB REQUIRED IMPORTED_TARGET glib-2.0) +pkg_check_modules(GIO REQUIRED IMPORTED_TARGET gio-2.0) + +set(FLUTTER_LIBRARY "${EPHEMERAL_DIR}/libflutter_linux_gtk.so") + +# Published to parent scope for install step. +set(FLUTTER_LIBRARY ${FLUTTER_LIBRARY} PARENT_SCOPE) +set(FLUTTER_ICU_DATA_FILE "${EPHEMERAL_DIR}/icudtl.dat" PARENT_SCOPE) +set(PROJECT_BUILD_DIR "${PROJECT_DIR}/build/" PARENT_SCOPE) +set(AOT_LIBRARY "${PROJECT_DIR}/build/lib/libapp.so" PARENT_SCOPE) + +list(APPEND FLUTTER_LIBRARY_HEADERS + "fl_basic_message_channel.h" + "fl_binary_codec.h" + "fl_binary_messenger.h" + "fl_dart_project.h" + "fl_engine.h" + "fl_json_message_codec.h" + "fl_json_method_codec.h" + "fl_message_codec.h" + "fl_method_call.h" + "fl_method_channel.h" + "fl_method_codec.h" + "fl_method_response.h" + "fl_plugin_registrar.h" + "fl_plugin_registry.h" + "fl_standard_message_codec.h" + "fl_standard_method_codec.h" + "fl_string_codec.h" + "fl_value.h" + "fl_view.h" + "flutter_linux.h" +) +list_prepend(FLUTTER_LIBRARY_HEADERS "${EPHEMERAL_DIR}/flutter_linux/") +add_library(flutter INTERFACE) +target_include_directories(flutter INTERFACE + "${EPHEMERAL_DIR}" +) +target_link_libraries(flutter INTERFACE "${FLUTTER_LIBRARY}") +target_link_libraries(flutter INTERFACE + PkgConfig::GTK + PkgConfig::GLIB + PkgConfig::GIO +) +add_dependencies(flutter flutter_assemble) + +# === Flutter tool backend === +# _phony_ is a non-existent file to force this command to run every time, +# since currently there's no way to get a full input/output list from the +# flutter tool. +add_custom_command( + OUTPUT ${FLUTTER_LIBRARY} ${FLUTTER_LIBRARY_HEADERS} + ${CMAKE_CURRENT_BINARY_DIR}/_phony_ + COMMAND ${CMAKE_COMMAND} -E env + ${FLUTTER_TOOL_ENVIRONMENT} + "${FLUTTER_ROOT}/packages/flutter_tools/bin/tool_backend.sh" + ${FLUTTER_TARGET_PLATFORM} ${CMAKE_BUILD_TYPE} + VERBATIM +) +add_custom_target(flutter_assemble DEPENDS + "${FLUTTER_LIBRARY}" + ${FLUTTER_LIBRARY_HEADERS} +) diff --git a/flutter/linux/flutter/generated_plugin_registrant.cc b/flutter/linux/flutter/generated_plugin_registrant.cc new file mode 100644 index 0000000..d0e7f79 --- /dev/null +++ b/flutter/linux/flutter/generated_plugin_registrant.cc @@ -0,0 +1,15 @@ +// +// Generated file. Do not edit. +// + +// clang-format off + +#include "generated_plugin_registrant.h" + +#include + +void fl_register_plugins(FlPluginRegistry* registry) { + g_autoptr(FlPluginRegistrar) flutter_secure_storage_linux_registrar = + fl_plugin_registry_get_registrar_for_plugin(registry, "FlutterSecureStorageLinuxPlugin"); + flutter_secure_storage_linux_plugin_register_with_registrar(flutter_secure_storage_linux_registrar); +} diff --git a/flutter/linux/flutter/generated_plugin_registrant.h b/flutter/linux/flutter/generated_plugin_registrant.h new file mode 100644 index 0000000..e0f0a47 --- /dev/null +++ b/flutter/linux/flutter/generated_plugin_registrant.h @@ -0,0 +1,15 @@ +// +// Generated file. Do not edit. +// + +// clang-format off + +#ifndef GENERATED_PLUGIN_REGISTRANT_ +#define GENERATED_PLUGIN_REGISTRANT_ + +#include + +// Registers Flutter plugins. +void fl_register_plugins(FlPluginRegistry* registry); + +#endif // GENERATED_PLUGIN_REGISTRANT_ diff --git a/flutter/linux/flutter/generated_plugins.cmake b/flutter/linux/flutter/generated_plugins.cmake new file mode 100644 index 0000000..ce58916 --- /dev/null +++ b/flutter/linux/flutter/generated_plugins.cmake @@ -0,0 +1,25 @@ +# +# Generated file, do not edit. +# + +list(APPEND FLUTTER_PLUGIN_LIST + flutter_secure_storage_linux +) + +list(APPEND FLUTTER_FFI_PLUGIN_LIST + jni +) + +set(PLUGIN_BUNDLED_LIBRARIES) + +foreach(plugin ${FLUTTER_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/linux plugins/${plugin}) + target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin) + list(APPEND PLUGIN_BUNDLED_LIBRARIES $) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) +endforeach(plugin) + +foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/linux plugins/${ffi_plugin}) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) +endforeach(ffi_plugin) diff --git a/flutter/linux/runner/CMakeLists.txt b/flutter/linux/runner/CMakeLists.txt new file mode 100644 index 0000000..e97dabc --- /dev/null +++ b/flutter/linux/runner/CMakeLists.txt @@ -0,0 +1,26 @@ +cmake_minimum_required(VERSION 3.13) +project(runner LANGUAGES CXX) + +# Define the application target. To change its name, change BINARY_NAME in the +# top-level CMakeLists.txt, not the value here, or `flutter run` will no longer +# work. +# +# Any new source files that you add to the application should be added here. +add_executable(${BINARY_NAME} + "main.cc" + "my_application.cc" + "${FLUTTER_MANAGED_DIR}/generated_plugin_registrant.cc" +) + +# Apply the standard set of build settings. This can be removed for applications +# that need different build settings. +apply_standard_settings(${BINARY_NAME}) + +# Add preprocessor definitions for the application ID. +add_definitions(-DAPPLICATION_ID="${APPLICATION_ID}") + +# Add dependency libraries. Add any application-specific dependencies here. +target_link_libraries(${BINARY_NAME} PRIVATE flutter) +target_link_libraries(${BINARY_NAME} PRIVATE PkgConfig::GTK) + +target_include_directories(${BINARY_NAME} PRIVATE "${CMAKE_SOURCE_DIR}") diff --git a/flutter/linux/runner/main.cc b/flutter/linux/runner/main.cc new file mode 100644 index 0000000..e7c5c54 --- /dev/null +++ b/flutter/linux/runner/main.cc @@ -0,0 +1,6 @@ +#include "my_application.h" + +int main(int argc, char** argv) { + g_autoptr(MyApplication) app = my_application_new(); + return g_application_run(G_APPLICATION(app), argc, argv); +} diff --git a/flutter/linux/runner/my_application.cc b/flutter/linux/runner/my_application.cc new file mode 100644 index 0000000..c4dce19 --- /dev/null +++ b/flutter/linux/runner/my_application.cc @@ -0,0 +1,148 @@ +#include "my_application.h" + +#include +#ifdef GDK_WINDOWING_X11 +#include +#endif + +#include "flutter/generated_plugin_registrant.h" + +struct _MyApplication { + GtkApplication parent_instance; + char** dart_entrypoint_arguments; +}; + +G_DEFINE_TYPE(MyApplication, my_application, GTK_TYPE_APPLICATION) + +// Called when first Flutter frame received. +static void first_frame_cb(MyApplication* self, FlView* view) { + gtk_widget_show(gtk_widget_get_toplevel(GTK_WIDGET(view))); +} + +// Implements GApplication::activate. +static void my_application_activate(GApplication* application) { + MyApplication* self = MY_APPLICATION(application); + GtkWindow* window = + GTK_WINDOW(gtk_application_window_new(GTK_APPLICATION(application))); + + // Use a header bar when running in GNOME as this is the common style used + // by applications and is the setup most users will be using (e.g. Ubuntu + // desktop). + // If running on X and not using GNOME then just use a traditional title bar + // in case the window manager does more exotic layout, e.g. tiling. + // If running on Wayland assume the header bar will work (may need changing + // if future cases occur). + gboolean use_header_bar = TRUE; +#ifdef GDK_WINDOWING_X11 + GdkScreen* screen = gtk_window_get_screen(window); + if (GDK_IS_X11_SCREEN(screen)) { + const gchar* wm_name = gdk_x11_screen_get_window_manager_name(screen); + if (g_strcmp0(wm_name, "GNOME Shell") != 0) { + use_header_bar = FALSE; + } + } +#endif + if (use_header_bar) { + GtkHeaderBar* header_bar = GTK_HEADER_BAR(gtk_header_bar_new()); + gtk_widget_show(GTK_WIDGET(header_bar)); + gtk_header_bar_set_title(header_bar, "tma_app"); + gtk_header_bar_set_show_close_button(header_bar, TRUE); + gtk_window_set_titlebar(window, GTK_WIDGET(header_bar)); + } else { + gtk_window_set_title(window, "tma_app"); + } + + gtk_window_set_default_size(window, 1280, 720); + + g_autoptr(FlDartProject) project = fl_dart_project_new(); + fl_dart_project_set_dart_entrypoint_arguments( + project, self->dart_entrypoint_arguments); + + FlView* view = fl_view_new(project); + GdkRGBA background_color; + // Background defaults to black, override it here if necessary, e.g. #00000000 + // for transparent. + gdk_rgba_parse(&background_color, "#000000"); + fl_view_set_background_color(view, &background_color); + gtk_widget_show(GTK_WIDGET(view)); + gtk_container_add(GTK_CONTAINER(window), GTK_WIDGET(view)); + + // Show the window when Flutter renders. + // Requires the view to be realized so we can start rendering. + g_signal_connect_swapped(view, "first-frame", G_CALLBACK(first_frame_cb), + self); + gtk_widget_realize(GTK_WIDGET(view)); + + fl_register_plugins(FL_PLUGIN_REGISTRY(view)); + + gtk_widget_grab_focus(GTK_WIDGET(view)); +} + +// Implements GApplication::local_command_line. +static gboolean my_application_local_command_line(GApplication* application, + gchar*** arguments, + int* exit_status) { + MyApplication* self = MY_APPLICATION(application); + // Strip out the first argument as it is the binary name. + self->dart_entrypoint_arguments = g_strdupv(*arguments + 1); + + g_autoptr(GError) error = nullptr; + if (!g_application_register(application, nullptr, &error)) { + g_warning("Failed to register: %s", error->message); + *exit_status = 1; + return TRUE; + } + + g_application_activate(application); + *exit_status = 0; + + return TRUE; +} + +// Implements GApplication::startup. +static void my_application_startup(GApplication* application) { + // MyApplication* self = MY_APPLICATION(object); + + // Perform any actions required at application startup. + + G_APPLICATION_CLASS(my_application_parent_class)->startup(application); +} + +// Implements GApplication::shutdown. +static void my_application_shutdown(GApplication* application) { + // MyApplication* self = MY_APPLICATION(object); + + // Perform any actions required at application shutdown. + + G_APPLICATION_CLASS(my_application_parent_class)->shutdown(application); +} + +// Implements GObject::dispose. +static void my_application_dispose(GObject* object) { + MyApplication* self = MY_APPLICATION(object); + g_clear_pointer(&self->dart_entrypoint_arguments, g_strfreev); + G_OBJECT_CLASS(my_application_parent_class)->dispose(object); +} + +static void my_application_class_init(MyApplicationClass* klass) { + G_APPLICATION_CLASS(klass)->activate = my_application_activate; + G_APPLICATION_CLASS(klass)->local_command_line = + my_application_local_command_line; + G_APPLICATION_CLASS(klass)->startup = my_application_startup; + G_APPLICATION_CLASS(klass)->shutdown = my_application_shutdown; + G_OBJECT_CLASS(klass)->dispose = my_application_dispose; +} + +static void my_application_init(MyApplication* self) {} + +MyApplication* my_application_new() { + // Set the program name to the application ID, which helps various systems + // like GTK and desktop environments map this running application to its + // corresponding .desktop file. This ensures better integration by allowing + // the application to be recognized beyond its binary name. + g_set_prgname(APPLICATION_ID); + + return MY_APPLICATION(g_object_new(my_application_get_type(), + "application-id", APPLICATION_ID, "flags", + G_APPLICATION_NON_UNIQUE, nullptr)); +} diff --git a/flutter/linux/runner/my_application.h b/flutter/linux/runner/my_application.h new file mode 100644 index 0000000..db16367 --- /dev/null +++ b/flutter/linux/runner/my_application.h @@ -0,0 +1,21 @@ +#ifndef FLUTTER_MY_APPLICATION_H_ +#define FLUTTER_MY_APPLICATION_H_ + +#include + +G_DECLARE_FINAL_TYPE(MyApplication, + my_application, + MY, + APPLICATION, + GtkApplication) + +/** + * my_application_new: + * + * Creates a new Flutter-based application. + * + * Returns: a new #MyApplication. + */ +MyApplication* my_application_new(); + +#endif // FLUTTER_MY_APPLICATION_H_ diff --git a/flutter/macos/.gitignore b/flutter/macos/.gitignore new file mode 100644 index 0000000..746adbb --- /dev/null +++ b/flutter/macos/.gitignore @@ -0,0 +1,7 @@ +# Flutter-related +**/Flutter/ephemeral/ +**/Pods/ + +# Xcode-related +**/dgph +**/xcuserdata/ diff --git a/flutter/macos/Flutter/Flutter-Debug.xcconfig b/flutter/macos/Flutter/Flutter-Debug.xcconfig new file mode 100644 index 0000000..c2efd0b --- /dev/null +++ b/flutter/macos/Flutter/Flutter-Debug.xcconfig @@ -0,0 +1 @@ +#include "ephemeral/Flutter-Generated.xcconfig" diff --git a/flutter/macos/Flutter/Flutter-Release.xcconfig b/flutter/macos/Flutter/Flutter-Release.xcconfig new file mode 100644 index 0000000..c2efd0b --- /dev/null +++ b/flutter/macos/Flutter/Flutter-Release.xcconfig @@ -0,0 +1 @@ +#include "ephemeral/Flutter-Generated.xcconfig" diff --git a/flutter/macos/Flutter/GeneratedPluginRegistrant.swift b/flutter/macos/Flutter/GeneratedPluginRegistrant.swift new file mode 100644 index 0000000..67d652c --- /dev/null +++ b/flutter/macos/Flutter/GeneratedPluginRegistrant.swift @@ -0,0 +1,12 @@ +// +// Generated file. Do not edit. +// + +import FlutterMacOS +import Foundation + +import flutter_secure_storage_darwin + +func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { + FlutterSecureStorageDarwinPlugin.register(with: registry.registrar(forPlugin: "FlutterSecureStorageDarwinPlugin")) +} diff --git a/flutter/macos/Runner.xcodeproj/project.pbxproj b/flutter/macos/Runner.xcodeproj/project.pbxproj new file mode 100644 index 0000000..5e008d7 --- /dev/null +++ b/flutter/macos/Runner.xcodeproj/project.pbxproj @@ -0,0 +1,705 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 54; + objects = { + +/* Begin PBXAggregateTarget section */ + 33CC111A2044C6BA0003C045 /* Flutter Assemble */ = { + isa = PBXAggregateTarget; + buildConfigurationList = 33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */; + buildPhases = ( + 33CC111E2044C6BF0003C045 /* ShellScript */, + ); + dependencies = ( + ); + name = "Flutter Assemble"; + productName = FLX; + }; +/* End PBXAggregateTarget section */ + +/* Begin PBXBuildFile section */ + 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C80D7294CF71000263BE5 /* RunnerTests.swift */; }; + 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; }; + 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; }; + 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; + 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; + 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 331C80D9294CF71000263BE5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 33CC10E52044A3C60003C045 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 33CC10EC2044A3C60003C045; + remoteInfo = Runner; + }; + 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 33CC10E52044A3C60003C045 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 33CC111A2044C6BA0003C045; + remoteInfo = FLX; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 33CC110E2044A8840003C045 /* Bundle Framework */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Bundle Framework"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 331C80D5294CF71000263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; + 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; + 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GeneratedPluginRegistrant.swift; sourceTree = ""; }; + 33CC10ED2044A3C60003C045 /* tma_app.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "tma_app.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + 33CC10F02044A3C60003C045 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 33CC10F22044A3C60003C045 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = Runner/Assets.xcassets; sourceTree = ""; }; + 33CC10F52044A3C60003C045 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = ""; }; + 33CC10F72044A3C60003C045 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Runner/Info.plist; sourceTree = ""; }; + 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainFlutterWindow.swift; sourceTree = ""; }; + 33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Debug.xcconfig"; sourceTree = ""; }; + 33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Release.xcconfig"; sourceTree = ""; }; + 33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = "Flutter-Generated.xcconfig"; path = "ephemeral/Flutter-Generated.xcconfig"; sourceTree = ""; }; + 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; + 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; + 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; + 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 331C80D2294CF70F00263BE5 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 33CC10EA2044A3C60003C045 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 331C80D6294CF71000263BE5 /* RunnerTests */ = { + isa = PBXGroup; + children = ( + 331C80D7294CF71000263BE5 /* RunnerTests.swift */, + ); + path = RunnerTests; + sourceTree = ""; + }; + 33BA886A226E78AF003329D5 /* Configs */ = { + isa = PBXGroup; + children = ( + 33E5194F232828860026EE4D /* AppInfo.xcconfig */, + 9740EEB21CF90195004384FC /* Debug.xcconfig */, + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, + 333000ED22D3DE5D00554162 /* Warnings.xcconfig */, + ); + path = Configs; + sourceTree = ""; + }; + 33CC10E42044A3C60003C045 = { + isa = PBXGroup; + children = ( + 33FAB671232836740065AC1E /* Runner */, + 33CEB47122A05771004F2AC0 /* Flutter */, + 331C80D6294CF71000263BE5 /* RunnerTests */, + 33CC10EE2044A3C60003C045 /* Products */, + D73912EC22F37F3D000D13A0 /* Frameworks */, + ); + sourceTree = ""; + }; + 33CC10EE2044A3C60003C045 /* Products */ = { + isa = PBXGroup; + children = ( + 33CC10ED2044A3C60003C045 /* tma_app.app */, + 331C80D5294CF71000263BE5 /* RunnerTests.xctest */, + ); + name = Products; + sourceTree = ""; + }; + 33CC11242044D66E0003C045 /* Resources */ = { + isa = PBXGroup; + children = ( + 33CC10F22044A3C60003C045 /* Assets.xcassets */, + 33CC10F42044A3C60003C045 /* MainMenu.xib */, + 33CC10F72044A3C60003C045 /* Info.plist */, + ); + name = Resources; + path = ..; + sourceTree = ""; + }; + 33CEB47122A05771004F2AC0 /* Flutter */ = { + isa = PBXGroup; + children = ( + 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */, + 33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */, + 33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */, + 33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */, + ); + path = Flutter; + sourceTree = ""; + }; + 33FAB671232836740065AC1E /* Runner */ = { + isa = PBXGroup; + children = ( + 33CC10F02044A3C60003C045 /* AppDelegate.swift */, + 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */, + 33E51913231747F40026EE4D /* DebugProfile.entitlements */, + 33E51914231749380026EE4D /* Release.entitlements */, + 33CC11242044D66E0003C045 /* Resources */, + 33BA886A226E78AF003329D5 /* Configs */, + ); + path = Runner; + sourceTree = ""; + }; + D73912EC22F37F3D000D13A0 /* Frameworks */ = { + isa = PBXGroup; + children = ( + ); + name = Frameworks; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 331C80D4294CF70F00263BE5 /* RunnerTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; + buildPhases = ( + 331C80D1294CF70F00263BE5 /* Sources */, + 331C80D2294CF70F00263BE5 /* Frameworks */, + 331C80D3294CF70F00263BE5 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 331C80DA294CF71000263BE5 /* PBXTargetDependency */, + ); + name = RunnerTests; + productName = RunnerTests; + productReference = 331C80D5294CF71000263BE5 /* RunnerTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + 33CC10EC2044A3C60003C045 /* Runner */ = { + isa = PBXNativeTarget; + buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; + buildPhases = ( + 33CC10E92044A3C60003C045 /* Sources */, + 33CC10EA2044A3C60003C045 /* Frameworks */, + 33CC10EB2044A3C60003C045 /* Resources */, + 33CC110E2044A8840003C045 /* Bundle Framework */, + 3399D490228B24CF009A79C7 /* ShellScript */, + ); + buildRules = ( + ); + dependencies = ( + 33CC11202044C79F0003C045 /* PBXTargetDependency */, + ); + name = Runner; + productName = Runner; + productReference = 33CC10ED2044A3C60003C045 /* tma_app.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 33CC10E52044A3C60003C045 /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = YES; + LastSwiftUpdateCheck = 0920; + LastUpgradeCheck = 1510; + ORGANIZATIONNAME = ""; + TargetAttributes = { + 331C80D4294CF70F00263BE5 = { + CreatedOnToolsVersion = 14.0; + TestTargetID = 33CC10EC2044A3C60003C045; + }; + 33CC10EC2044A3C60003C045 = { + CreatedOnToolsVersion = 9.2; + LastSwiftMigration = 1100; + ProvisioningStyle = Automatic; + SystemCapabilities = { + com.apple.Sandbox = { + enabled = 1; + }; + }; + }; + 33CC111A2044C6BA0003C045 = { + CreatedOnToolsVersion = 9.2; + ProvisioningStyle = Manual; + }; + }; + }; + buildConfigurationList = 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 33CC10E42044A3C60003C045; + productRefGroup = 33CC10EE2044A3C60003C045 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 33CC10EC2044A3C60003C045 /* Runner */, + 331C80D4294CF70F00263BE5 /* RunnerTests */, + 33CC111A2044C6BA0003C045 /* Flutter Assemble */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 331C80D3294CF70F00263BE5 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 33CC10EB2044A3C60003C045 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */, + 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 3399D490228B24CF009A79C7 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; + }; + 33CC111E2044C6BF0003C045 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + Flutter/ephemeral/FlutterInputs.xcfilelist, + ); + inputPaths = ( + Flutter/ephemeral/tripwire, + ); + outputFileListPaths = ( + Flutter/ephemeral/FlutterOutputs.xcfilelist, + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 331C80D1294CF70F00263BE5 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 33CC10E92044A3C60003C045 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */, + 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */, + 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 331C80DA294CF71000263BE5 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 33CC10EC2044A3C60003C045 /* Runner */; + targetProxy = 331C80D9294CF71000263BE5 /* PBXContainerItemProxy */; + }; + 33CC11202044C79F0003C045 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 33CC111A2044C6BA0003C045 /* Flutter Assemble */; + targetProxy = 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + 33CC10F42044A3C60003C045 /* MainMenu.xib */ = { + isa = PBXVariantGroup; + children = ( + 33CC10F52044A3C60003C045 /* Base */, + ); + name = MainMenu.xib; + path = Runner; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 331C80DB294CF71000263BE5 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.example.tmaApp.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/tma_app.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/tma_app"; + }; + name = Debug; + }; + 331C80DC294CF71000263BE5 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.example.tmaApp.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/tma_app.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/tma_app"; + }; + name = Release; + }; + 331C80DD294CF71000263BE5 /* Profile */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.example.tmaApp.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/tma_app.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/tma_app"; + }; + name = Profile; + }; + 338D0CE9231458BD00FA5F75 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CODE_SIGN_IDENTITY = "-"; + COPY_PHASE_STRIP = NO; + DEAD_CODE_STRIPPING = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.15; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = macosx; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + }; + name = Profile; + }; + 338D0CEA231458BD00FA5F75 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_VERSION = 5.0; + }; + name = Profile; + }; + 338D0CEB231458BD00FA5F75 /* Profile */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Manual; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Profile; + }; + 33CC10F92044A3C60003C045 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CODE_SIGN_IDENTITY = "-"; + COPY_PHASE_STRIP = NO; + DEAD_CODE_STRIPPING = YES; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.15; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + 33CC10FA2044A3C60003C045 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CODE_SIGN_IDENTITY = "-"; + COPY_PHASE_STRIP = NO; + DEAD_CODE_STRIPPING = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.15; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = macosx; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + }; + name = Release; + }; + 33CC10FC2044A3C60003C045 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + }; + name = Debug; + }; + 33CC10FD2044A3C60003C045 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Runner/Release.entitlements; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_VERSION = 5.0; + }; + name = Release; + }; + 33CC111C2044C6BA0003C045 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Manual; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 33CC111D2044C6BA0003C045 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 331C80DB294CF71000263BE5 /* Debug */, + 331C80DC294CF71000263BE5 /* Release */, + 331C80DD294CF71000263BE5 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 33CC10F92044A3C60003C045 /* Debug */, + 33CC10FA2044A3C60003C045 /* Release */, + 338D0CE9231458BD00FA5F75 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 33CC10FC2044A3C60003C045 /* Debug */, + 33CC10FD2044A3C60003C045 /* Release */, + 338D0CEA231458BD00FA5F75 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 33CC111C2044C6BA0003C045 /* Debug */, + 33CC111D2044C6BA0003C045 /* Release */, + 338D0CEB231458BD00FA5F75 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 33CC10E52044A3C60003C045 /* Project object */; +} diff --git a/flutter/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/flutter/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/flutter/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/flutter/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/flutter/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme new file mode 100644 index 0000000..f6a53a2 --- /dev/null +++ b/flutter/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/flutter/macos/Runner.xcworkspace/contents.xcworkspacedata b/flutter/macos/Runner.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..1d526a1 --- /dev/null +++ b/flutter/macos/Runner.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/flutter/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/flutter/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/flutter/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/flutter/macos/Runner/AppDelegate.swift b/flutter/macos/Runner/AppDelegate.swift new file mode 100644 index 0000000..b3c1761 --- /dev/null +++ b/flutter/macos/Runner/AppDelegate.swift @@ -0,0 +1,13 @@ +import Cocoa +import FlutterMacOS + +@main +class AppDelegate: FlutterAppDelegate { + override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { + return true + } + + override func applicationSupportsSecureRestorableState(_ app: NSApplication) -> Bool { + return true + } +} diff --git a/flutter/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/flutter/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..a2ec33f --- /dev/null +++ b/flutter/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,68 @@ +{ + "images" : [ + { + "size" : "16x16", + "idiom" : "mac", + "filename" : "app_icon_16.png", + "scale" : "1x" + }, + { + "size" : "16x16", + "idiom" : "mac", + "filename" : "app_icon_32.png", + "scale" : "2x" + }, + { + "size" : "32x32", + "idiom" : "mac", + "filename" : "app_icon_32.png", + "scale" : "1x" + }, + { + "size" : "32x32", + "idiom" : "mac", + "filename" : "app_icon_64.png", + "scale" : "2x" + }, + { + "size" : "128x128", + "idiom" : "mac", + "filename" : "app_icon_128.png", + "scale" : "1x" + }, + { + "size" : "128x128", + "idiom" : "mac", + "filename" : "app_icon_256.png", + "scale" : "2x" + }, + { + "size" : "256x256", + "idiom" : "mac", + "filename" : "app_icon_256.png", + "scale" : "1x" + }, + { + "size" : "256x256", + "idiom" : "mac", + "filename" : "app_icon_512.png", + "scale" : "2x" + }, + { + "size" : "512x512", + "idiom" : "mac", + "filename" : "app_icon_512.png", + "scale" : "1x" + }, + { + "size" : "512x512", + "idiom" : "mac", + "filename" : "app_icon_1024.png", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/flutter/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png b/flutter/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png new file mode 100644 index 0000000000000000000000000000000000000000..82b6f9d9a33e198f5747104729e1fcef999772a5 GIT binary patch literal 102994 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ⅅ8MglG&ER{i5lN315cO?EdHNLrg? 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 z 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 Pe7HEdAEg|=c=LY&YVNkY literal 0 HcmV?d00001 diff --git a/flutter/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png b/flutter/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png new file mode 100644 index 0000000000000000000000000000000000000000..13b35eba55c6dabc3aac36f33d859266c18fa0d0 GIT binary patch literal 5680 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 literal 0 HcmV?d00001 diff --git a/flutter/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png b/flutter/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png new file mode 100644 index 0000000000000000000000000000000000000000..0a3f5fa40fb3d1e0710331a48de5d256da3f275d GIT binary patch literal 520 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 literal 0 HcmV?d00001 diff --git a/flutter/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png b/flutter/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png new file mode 100644 index 0000000000000000000000000000000000000000..2f1632cfddf3d9dade342351e627a0a75609fb46 GIT binary patch literal 2218 zcmV;b2vzrqP)Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuE6iGxuRCodHTWf3-RTMruyW6Fu zQYeUM04eX6D5c0FCjKKPrco1(K`<0SL=crI{PC3-^hZU0kQie$gh-5!7z6SH6Q0J% zqot*`H1q{R5fHFYS}dje@;kG=v$L0(yY0?wY2%*c?A&{2?!D*x?m71{of2gv!$5|C z3>qG_BW}7K_yUcT3A5C6QD<+{aq?x;MAUyAiJn#Jv8_zZtQ{P zTRzbL3U9!qVuZzS$xKU10KiW~Bgdcv1-!uAhQxf3a7q+dU6lj?yoO4Lq4TUN4}h{N z*fIM=SS8|C2$(T>w$`t@3Tka!(r!7W`x z-isCVgQD^mG-MJ;XtJuK3V{Vy72GQ83KRWsHU?e*wrhKk=ApIYeDqLi;JI1e zuvv}5^Dc=k7F7?nm3nIw$NVmU-+R>> zyqOR$-2SDpJ}Pt;^RkJytDVXNTsu|mI1`~G7yw`EJR?VkGfNdqK9^^8P`JdtTV&tX4CNcV4 z&N06nZa??Fw1AgQOUSE2AmPE@WO(Fvo`%m`cDgiv(fAeRA%3AGXUbsGw{7Q`cY;1BI#ac3iN$$Hw z0LT0;xc%=q)me?Y*$xI@GRAw?+}>=9D+KTk??-HJ4=A>`V&vKFS75@MKdSF1JTq{S zc1!^8?YA|t+uKigaq!sT;Z!&0F2=k7F0PIU;F$leJLaw2UI6FL^w}OG&!;+b%ya1c z1n+6-inU<0VM-Y_s5iTElq)ThyF?StVcebpGI znw#+zLx2@ah{$_2jn+@}(zJZ{+}_N9BM;z)0yr|gF-4=Iyu@hI*Lk=-A8f#bAzc9f z`Kd6K--x@t04swJVC3JK1cHY-Hq+=|PN-VO;?^_C#;coU6TDP7Bt`;{JTG;!+jj(` zw5cLQ-(Cz-Tlb`A^w7|R56Ce;Wmr0)$KWOUZ6ai0PhzPeHwdl0H(etP zUV`va_i0s-4#DkNM8lUlqI7>YQLf)(lz9Q3Uw`)nc(z3{m5ZE77Ul$V%m)E}3&8L0 z-XaU|eB~Is08eORPk;=<>!1w)Kf}FOVS2l&9~A+@R#koFJ$Czd%Y(ENTV&A~U(IPI z;UY+gf+&6ioZ=roly<0Yst8ck>(M=S?B-ys3mLdM&)ex!hbt+ol|T6CTS+Sc0jv(& z7ijdvFwBq;0a{%3GGwkDKTeG`b+lyj0jjS1OMkYnepCdoosNY`*zmBIo*981BU%%U z@~$z0V`OVtIbEx5pa|Tct|Lg#ZQf5OYMUMRD>Wdxm5SAqV2}3!ceE-M2 z@O~lQ0OiKQp}o9I;?uxCgYVV?FH|?Riri*U$Zi_`V2eiA>l zdSm6;SEm6#T+SpcE8Ro_f2AwxzI z44hfe^WE3!h@W3RDyA_H440cpmYkv*)6m1XazTqw%=E5Xv7^@^^T7Q2wxr+Z2kVYr + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/flutter/macos/Runner/Configs/AppInfo.xcconfig b/flutter/macos/Runner/Configs/AppInfo.xcconfig new file mode 100644 index 0000000..a764c30 --- /dev/null +++ b/flutter/macos/Runner/Configs/AppInfo.xcconfig @@ -0,0 +1,14 @@ +// Application-level settings for the Runner target. +// +// This may be replaced with something auto-generated from metadata (e.g., pubspec.yaml) in the +// future. If not, the values below would default to using the project name when this becomes a +// 'flutter create' template. + +// The application's name. By default this is also the title of the Flutter window. +PRODUCT_NAME = tma_app + +// The application's bundle identifier +PRODUCT_BUNDLE_IDENTIFIER = com.example.tmaApp + +// The copyright displayed in application information +PRODUCT_COPYRIGHT = Copyright © 2026 com.example. All rights reserved. diff --git a/flutter/macos/Runner/Configs/Debug.xcconfig b/flutter/macos/Runner/Configs/Debug.xcconfig new file mode 100644 index 0000000..36b0fd9 --- /dev/null +++ b/flutter/macos/Runner/Configs/Debug.xcconfig @@ -0,0 +1,2 @@ +#include "../../Flutter/Flutter-Debug.xcconfig" +#include "Warnings.xcconfig" diff --git a/flutter/macos/Runner/Configs/Release.xcconfig b/flutter/macos/Runner/Configs/Release.xcconfig new file mode 100644 index 0000000..dff4f49 --- /dev/null +++ b/flutter/macos/Runner/Configs/Release.xcconfig @@ -0,0 +1,2 @@ +#include "../../Flutter/Flutter-Release.xcconfig" +#include "Warnings.xcconfig" diff --git a/flutter/macos/Runner/Configs/Warnings.xcconfig b/flutter/macos/Runner/Configs/Warnings.xcconfig new file mode 100644 index 0000000..42bcbf4 --- /dev/null +++ b/flutter/macos/Runner/Configs/Warnings.xcconfig @@ -0,0 +1,13 @@ +WARNING_CFLAGS = -Wall -Wconditional-uninitialized -Wnullable-to-nonnull-conversion -Wmissing-method-return-type -Woverlength-strings +GCC_WARN_UNDECLARED_SELECTOR = YES +CLANG_UNDEFINED_BEHAVIOR_SANITIZER_NULLABILITY = YES +CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE +CLANG_WARN__DUPLICATE_METHOD_MATCH = YES +CLANG_WARN_PRAGMA_PACK = YES +CLANG_WARN_STRICT_PROTOTYPES = YES +CLANG_WARN_COMMA = YES +GCC_WARN_STRICT_SELECTOR_MATCH = YES +CLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = YES +CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES +GCC_WARN_SHADOW = YES +CLANG_WARN_UNREACHABLE_CODE = YES diff --git a/flutter/macos/Runner/DebugProfile.entitlements b/flutter/macos/Runner/DebugProfile.entitlements new file mode 100644 index 0000000..dddb8a3 --- /dev/null +++ b/flutter/macos/Runner/DebugProfile.entitlements @@ -0,0 +1,12 @@ + + + + + com.apple.security.app-sandbox + + com.apple.security.cs.allow-jit + + com.apple.security.network.server + + + diff --git a/flutter/macos/Runner/Info.plist b/flutter/macos/Runner/Info.plist new file mode 100644 index 0000000..4789daa --- /dev/null +++ b/flutter/macos/Runner/Info.plist @@ -0,0 +1,32 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + $(FLUTTER_BUILD_NAME) + CFBundleVersion + $(FLUTTER_BUILD_NUMBER) + LSMinimumSystemVersion + $(MACOSX_DEPLOYMENT_TARGET) + NSHumanReadableCopyright + $(PRODUCT_COPYRIGHT) + NSMainNibFile + MainMenu + NSPrincipalClass + NSApplication + + diff --git a/flutter/macos/Runner/MainFlutterWindow.swift b/flutter/macos/Runner/MainFlutterWindow.swift new file mode 100644 index 0000000..3cc05eb --- /dev/null +++ b/flutter/macos/Runner/MainFlutterWindow.swift @@ -0,0 +1,15 @@ +import Cocoa +import FlutterMacOS + +class MainFlutterWindow: NSWindow { + override func awakeFromNib() { + let flutterViewController = FlutterViewController() + let windowFrame = self.frame + self.contentViewController = flutterViewController + self.setFrame(windowFrame, display: true) + + RegisterGeneratedPlugins(registry: flutterViewController) + + super.awakeFromNib() + } +} diff --git a/flutter/macos/Runner/Release.entitlements b/flutter/macos/Runner/Release.entitlements new file mode 100644 index 0000000..852fa1a --- /dev/null +++ b/flutter/macos/Runner/Release.entitlements @@ -0,0 +1,8 @@ + + + + + com.apple.security.app-sandbox + + + diff --git a/flutter/macos/RunnerTests/RunnerTests.swift b/flutter/macos/RunnerTests/RunnerTests.swift new file mode 100644 index 0000000..61f3bd1 --- /dev/null +++ b/flutter/macos/RunnerTests/RunnerTests.swift @@ -0,0 +1,12 @@ +import Cocoa +import FlutterMacOS +import XCTest + +class RunnerTests: XCTestCase { + + func testExample() { + // If you add code to the Runner application, consider adding tests here. + // See https://developer.apple.com/documentation/xctest for more information about using XCTest. + } + +} diff --git a/flutter/pubspec.lock b/flutter/pubspec.lock new file mode 100644 index 0000000..813608b --- /dev/null +++ b/flutter/pubspec.lock @@ -0,0 +1,722 @@ +# Generated by pub +# See https://dart.dev/tools/pub/glossary#lockfile +packages: + _fe_analyzer_shared: + dependency: transitive + description: + name: _fe_analyzer_shared + sha256: "8d7ff3948166b8ec5da0fbb5962000926b8e02f2ed9b3e51d1738905fbd4c98d" + url: "https://pub.dev" + source: hosted + version: "93.0.0" + analyzer: + dependency: transitive + description: + name: analyzer + sha256: de7148ed2fcec579b19f122c1800933dfa028f6d9fd38a152b04b1516cec120b + url: "https://pub.dev" + source: hosted + version: "10.0.1" + args: + dependency: transitive + description: + name: args + sha256: d0481093c50b1da8910eb0bb301626d4d8eb7284aa739614d2b394ee09e3ea04 + url: "https://pub.dev" + source: hosted + version: "2.7.0" + async: + dependency: transitive + description: + name: async + sha256: e2eb0491ba5ddb6177742d2da23904574082139b07c1e33b8503b9f46f3e1a37 + url: "https://pub.dev" + source: hosted + version: "2.13.1" + boolean_selector: + dependency: transitive + description: + name: boolean_selector + sha256: "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea" + url: "https://pub.dev" + source: hosted + version: "2.1.2" + characters: + dependency: transitive + description: + name: characters + sha256: faf38497bda5ead2a8c7615f4f7939df04333478bf32e4173fcb06d428b5716b + url: "https://pub.dev" + source: hosted + version: "1.4.1" + cli_config: + dependency: transitive + description: + name: cli_config + sha256: ac20a183a07002b700f0c25e61b7ee46b23c309d76ab7b7640a028f18e4d99ec + url: "https://pub.dev" + source: hosted + version: "0.2.0" + clock: + dependency: transitive + description: + name: clock + sha256: fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b + url: "https://pub.dev" + source: hosted + version: "1.1.2" + code_assets: + dependency: transitive + description: + name: code_assets + sha256: "83ccdaa064c980b5596c35dd64a8d3ecc68620174ab9b90b6343b753aa721687" + url: "https://pub.dev" + source: hosted + version: "1.0.0" + collection: + dependency: transitive + description: + name: collection + sha256: "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76" + url: "https://pub.dev" + source: hosted + version: "1.19.1" + convert: + dependency: transitive + description: + name: convert + sha256: b30acd5944035672bc15c6b7a8b47d773e41e2f17de064350988c5d02adb1c68 + url: "https://pub.dev" + source: hosted + version: "3.1.2" + coverage: + dependency: transitive + description: + name: coverage + sha256: "5da775aa218eaf2151c721b16c01c7676fbfdd99cebba2bf64e8b807a28ff94d" + url: "https://pub.dev" + source: hosted + version: "1.15.0" + crypto: + dependency: transitive + description: + name: crypto + sha256: c8ea0233063ba03258fbcf2ca4d6dadfefe14f02fab57702265467a19f27fadf + url: "https://pub.dev" + source: hosted + version: "3.0.7" + cupertino_icons: + dependency: "direct main" + description: + name: cupertino_icons + sha256: "41e005c33bd814be4d3096aff55b1908d419fde52ca656c8c47719ec745873cd" + url: "https://pub.dev" + source: hosted + version: "1.0.9" + dio: + dependency: "direct main" + description: + name: dio + sha256: aff32c08f92787a557dd5c0145ac91536481831a01b4648136373cddb0e64f8c + url: "https://pub.dev" + source: hosted + version: "5.9.2" + dio_web_adapter: + dependency: transitive + description: + name: dio_web_adapter + sha256: "2f9e64323a7c3c7ef69567d5c800424a11f8337b8b228bad02524c9fb3c1f340" + url: "https://pub.dev" + source: hosted + version: "2.1.2" + fake_async: + dependency: transitive + description: + name: fake_async + sha256: "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44" + url: "https://pub.dev" + source: hosted + version: "1.3.3" + ffi: + dependency: transitive + description: + name: ffi + sha256: "6d7fd89431262d8f3125e81b50d3847a091d846eafcd4fdb88dd06f36d705a45" + url: "https://pub.dev" + source: hosted + version: "2.2.0" + file: + dependency: transitive + description: + name: file + sha256: a3b4f84adafef897088c160faf7dfffb7696046cb13ae90b508c2cbc95d3b8d4 + url: "https://pub.dev" + source: hosted + version: "7.0.1" + flutter: + dependency: "direct main" + description: flutter + source: sdk + version: "0.0.0" + flutter_dotenv: + dependency: "direct main" + description: + name: flutter_dotenv + sha256: b7c7be5cd9f6ef7a78429cabd2774d3c4af50e79cb2b7593e3d5d763ef95c61b + url: "https://pub.dev" + source: hosted + version: "5.2.1" + flutter_lints: + dependency: "direct dev" + description: + name: flutter_lints + sha256: "3105dc8492f6183fb076ccf1f351ac3d60564bff92e20bfc4af9cc1651f4e7e1" + url: "https://pub.dev" + source: hosted + version: "6.0.0" + flutter_riverpod: + dependency: "direct main" + description: + name: flutter_riverpod + sha256: "4e166be88e1dbbaa34a280bdb744aeae73b7ef25fdf8db7a3bb776760a3648e2" + url: "https://pub.dev" + source: hosted + version: "3.3.1" + flutter_secure_storage: + dependency: "direct main" + description: + name: flutter_secure_storage + sha256: da922f2aab2d733db7e011a6bcc4a825b844892d4edd6df83ff156b09a9b2e40 + url: "https://pub.dev" + source: hosted + version: "10.0.0" + flutter_secure_storage_darwin: + dependency: transitive + description: + name: flutter_secure_storage_darwin + sha256: "8878c25136a79def1668c75985e8e193d9d7d095453ec28730da0315dc69aee3" + url: "https://pub.dev" + source: hosted + version: "0.2.0" + flutter_secure_storage_linux: + dependency: transitive + description: + name: flutter_secure_storage_linux + sha256: "2b5c76dce569ab752d55a1cee6a2242bcc11fdba927078fb88c503f150767cda" + url: "https://pub.dev" + source: hosted + version: "3.0.0" + flutter_secure_storage_platform_interface: + dependency: transitive + description: + name: flutter_secure_storage_platform_interface + sha256: "8ceea1223bee3c6ac1a22dabd8feefc550e4729b3675de4b5900f55afcb435d6" + url: "https://pub.dev" + source: hosted + version: "2.0.1" + flutter_secure_storage_web: + dependency: transitive + description: + name: flutter_secure_storage_web + sha256: "6a1137df62b84b54261dca582c1c09ea72f4f9a4b2fcee21b025964132d5d0c3" + url: "https://pub.dev" + source: hosted + version: "2.1.0" + flutter_secure_storage_windows: + dependency: transitive + description: + name: flutter_secure_storage_windows + sha256: "3b7c8e068875dfd46719ff57c90d8c459c87f2302ed6b00ff006b3c9fcad1613" + url: "https://pub.dev" + source: hosted + version: "4.1.0" + flutter_test: + dependency: "direct dev" + description: flutter + source: sdk + version: "0.0.0" + flutter_web_plugins: + dependency: transitive + description: flutter + source: sdk + version: "0.0.0" + frontend_server_client: + dependency: transitive + description: + name: frontend_server_client + sha256: f64a0333a82f30b0cca061bc3d143813a486dc086b574bfb233b7c1372427694 + url: "https://pub.dev" + source: hosted + version: "4.0.0" + glob: + dependency: transitive + description: + name: glob + sha256: c3f1ee72c96f8f78935e18aa8cecced9ab132419e8625dc187e1c2408efc20de + url: "https://pub.dev" + source: hosted + version: "2.1.3" + hooks: + dependency: transitive + description: + name: hooks + sha256: e79ed1e8e1929bc6ecb6ec85f0cb519c887aa5b423705ded0d0f2d9226def388 + url: "https://pub.dev" + source: hosted + version: "1.0.2" + http_multi_server: + dependency: transitive + description: + name: http_multi_server + sha256: aa6199f908078bb1c5efb8d8638d4ae191aac11b311132c3ef48ce352fb52ef8 + url: "https://pub.dev" + source: hosted + version: "3.2.2" + http_parser: + dependency: transitive + description: + name: http_parser + sha256: "178d74305e7866013777bab2c3d8726205dc5a4dd935297175b19a23a2e66571" + url: "https://pub.dev" + source: hosted + version: "4.1.2" + io: + dependency: transitive + description: + name: io + sha256: dfd5a80599cf0165756e3181807ed3e77daf6dd4137caaad72d0b7931597650b + url: "https://pub.dev" + source: hosted + version: "1.0.5" + jni: + dependency: transitive + description: + name: jni + sha256: c2230682d5bc2362c1c9e8d3c7f406d9cbba23ab3f2e203a025dd47e0fb2e68f + url: "https://pub.dev" + source: hosted + version: "1.0.0" + jni_flutter: + dependency: transitive + description: + name: jni_flutter + sha256: "8b59e590786050b1cd866677dddaf76b1ade5e7bc751abe04b86e84d379d3ba6" + url: "https://pub.dev" + source: hosted + version: "1.0.1" + leak_tracker: + dependency: transitive + description: + name: leak_tracker + sha256: "33e2e26bdd85a0112ec15400c8cbffea70d0f9c3407491f672a2fad47915e2de" + url: "https://pub.dev" + source: hosted + version: "11.0.2" + leak_tracker_flutter_testing: + dependency: transitive + description: + name: leak_tracker_flutter_testing + sha256: "1dbc140bb5a23c75ea9c4811222756104fbcd1a27173f0c34ca01e16bea473c1" + url: "https://pub.dev" + source: hosted + version: "3.0.10" + leak_tracker_testing: + dependency: transitive + description: + name: leak_tracker_testing + sha256: "8d5a2d49f4a66b49744b23b018848400d23e54caf9463f4eb20df3eb8acb2eb1" + url: "https://pub.dev" + source: hosted + version: "3.0.2" + lints: + dependency: transitive + description: + name: lints + sha256: "12f842a479589fea194fe5c5a3095abc7be0c1f2ddfa9a0e76aed1dbd26a87df" + url: "https://pub.dev" + source: hosted + version: "6.1.0" + logging: + dependency: transitive + description: + name: logging + sha256: c8245ada5f1717ed44271ed1c26b8ce85ca3228fd2ffdb75468ab01979309d61 + url: "https://pub.dev" + source: hosted + version: "1.3.0" + matcher: + dependency: transitive + description: + name: matcher + sha256: dc0b7dc7651697ea4ff3e69ef44b0407ea32c487a39fff6a4004fa585e901861 + url: "https://pub.dev" + source: hosted + version: "0.12.19" + material_color_utilities: + dependency: transitive + description: + name: material_color_utilities + sha256: "9c337007e82b1889149c82ed242ed1cb24a66044e30979c44912381e9be4c48b" + url: "https://pub.dev" + source: hosted + version: "0.13.0" + meta: + dependency: transitive + description: + name: meta + sha256: "23f08335362185a5ea2ad3a4e597f1375e78bce8a040df5c600c8d3552ef2394" + url: "https://pub.dev" + source: hosted + version: "1.17.0" + mime: + dependency: transitive + description: + name: mime + sha256: "41a20518f0cb1256669420fdba0cd90d21561e560ac240f26ef8322e45bb7ed6" + url: "https://pub.dev" + source: hosted + version: "2.0.0" + native_toolchain_c: + dependency: transitive + description: + name: native_toolchain_c + sha256: "6ba77bb18063eebe9de401f5e6437e95e1438af0a87a3a39084fbd37c90df572" + url: "https://pub.dev" + source: hosted + version: "0.17.6" + node_preamble: + dependency: transitive + description: + name: node_preamble + sha256: "6e7eac89047ab8a8d26cf16127b5ed26de65209847630400f9aefd7cd5c730db" + url: "https://pub.dev" + source: hosted + version: "2.0.2" + objective_c: + dependency: transitive + description: + name: objective_c + sha256: "100a1c87616ab6ed41ec263b083c0ef3261ee6cd1dc3b0f35f8ddfa4f996fe52" + url: "https://pub.dev" + source: hosted + version: "9.3.0" + package_config: + dependency: transitive + description: + name: package_config + sha256: f096c55ebb7deb7e384101542bfba8c52696c1b56fca2eb62827989ef2353bbc + url: "https://pub.dev" + source: hosted + version: "2.2.0" + path: + dependency: transitive + description: + name: path + sha256: "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5" + url: "https://pub.dev" + source: hosted + version: "1.9.1" + path_provider: + dependency: transitive + description: + name: path_provider + sha256: "50c5dd5b6e1aaf6fb3a78b33f6aa3afca52bf903a8a5298f53101fdaee55bbcd" + url: "https://pub.dev" + source: hosted + version: "2.1.5" + path_provider_android: + dependency: transitive + description: + name: path_provider_android + sha256: "69cbd515a62b94d32a7944f086b2f82b4ac40a1d45bebfc00813a430ab2dabcd" + url: "https://pub.dev" + source: hosted + version: "2.3.1" + path_provider_foundation: + dependency: transitive + description: + name: path_provider_foundation + sha256: "2a376b7d6392d80cd3705782d2caa734ca4727776db0b6ec36ef3f1855197699" + url: "https://pub.dev" + source: hosted + version: "2.6.0" + path_provider_linux: + dependency: transitive + description: + name: path_provider_linux + sha256: f7a1fe3a634fe7734c8d3f2766ad746ae2a2884abe22e241a8b301bf5cac3279 + url: "https://pub.dev" + source: hosted + version: "2.2.1" + path_provider_platform_interface: + dependency: transitive + description: + name: path_provider_platform_interface + sha256: "88f5779f72ba699763fa3a3b06aa4bf6de76c8e5de842cf6f29e2e06476c2334" + url: "https://pub.dev" + source: hosted + version: "2.1.2" + path_provider_windows: + dependency: transitive + description: + name: path_provider_windows + sha256: bd6f00dbd873bfb70d0761682da2b3a2c2fccc2b9e84c495821639601d81afe7 + url: "https://pub.dev" + source: hosted + version: "2.3.0" + platform: + dependency: transitive + description: + name: platform + sha256: "5d6b1b0036a5f331ebc77c850ebc8506cbc1e9416c27e59b439f917a902a4984" + url: "https://pub.dev" + source: hosted + version: "3.1.6" + plugin_platform_interface: + dependency: transitive + description: + name: plugin_platform_interface + sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02" + url: "https://pub.dev" + source: hosted + version: "2.1.8" + pool: + dependency: transitive + description: + name: pool + sha256: "978783255c543aa3586a1b3c21f6e9d720eb315376a915872c61ef8b5c20177d" + url: "https://pub.dev" + source: hosted + version: "1.5.2" + pub_semver: + dependency: transitive + description: + name: pub_semver + sha256: "5bfcf68ca79ef689f8990d1160781b4bad40a3bd5e5218ad4076ddb7f4081585" + url: "https://pub.dev" + source: hosted + version: "2.2.0" + riverpod: + dependency: transitive + description: + name: riverpod + sha256: "8c22216be8ad3ef2b44af3a329693558c98eca7b8bd4ef495c92db0bba279f83" + url: "https://pub.dev" + source: hosted + version: "3.2.1" + shelf: + dependency: transitive + description: + name: shelf + sha256: e7dd780a7ffb623c57850b33f43309312fc863fb6aa3d276a754bb299839ef12 + url: "https://pub.dev" + source: hosted + version: "1.4.2" + shelf_packages_handler: + dependency: transitive + description: + name: shelf_packages_handler + sha256: "89f967eca29607c933ba9571d838be31d67f53f6e4ee15147d5dc2934fee1b1e" + url: "https://pub.dev" + source: hosted + version: "3.0.2" + shelf_static: + dependency: transitive + description: + name: shelf_static + sha256: c87c3875f91262785dade62d135760c2c69cb217ac759485334c5857ad89f6e3 + url: "https://pub.dev" + source: hosted + version: "1.1.3" + shelf_web_socket: + dependency: transitive + description: + name: shelf_web_socket + sha256: "3632775c8e90d6c9712f883e633716432a27758216dfb61bd86a8321c0580925" + url: "https://pub.dev" + source: hosted + version: "3.0.0" + sky_engine: + dependency: transitive + description: flutter + source: sdk + version: "0.0.0" + source_map_stack_trace: + dependency: transitive + description: + name: source_map_stack_trace + sha256: c0713a43e323c3302c2abe2a1cc89aa057a387101ebd280371d6a6c9fa68516b + url: "https://pub.dev" + source: hosted + version: "2.1.2" + source_maps: + dependency: transitive + description: + name: source_maps + sha256: "190222579a448b03896e0ca6eca5998fa810fda630c1d65e2f78b3f638f54812" + url: "https://pub.dev" + source: hosted + version: "0.10.13" + source_span: + dependency: transitive + description: + name: source_span + sha256: "56a02f1f4cd1a2d96303c0144c93bd6d909eea6bee6bf5a0e0b685edbd4c47ab" + url: "https://pub.dev" + source: hosted + version: "1.10.2" + stack_trace: + dependency: transitive + description: + name: stack_trace + sha256: "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1" + url: "https://pub.dev" + source: hosted + version: "1.12.1" + state_notifier: + dependency: transitive + description: + name: state_notifier + sha256: b8677376aa54f2d7c58280d5a007f9e8774f1968d1fb1c096adcb4792fba29bb + url: "https://pub.dev" + source: hosted + version: "1.0.0" + stream_channel: + dependency: transitive + description: + name: stream_channel + sha256: "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d" + url: "https://pub.dev" + source: hosted + version: "2.1.4" + string_scanner: + dependency: transitive + description: + name: string_scanner + sha256: "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43" + url: "https://pub.dev" + source: hosted + version: "1.4.1" + term_glyph: + dependency: transitive + description: + name: term_glyph + sha256: "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e" + url: "https://pub.dev" + source: hosted + version: "1.2.2" + test: + dependency: transitive + description: + name: test + sha256: "280d6d890011ca966ad08df7e8a4ddfab0fb3aa49f96ed6de56e3521347a9ae7" + url: "https://pub.dev" + source: hosted + version: "1.30.0" + test_api: + dependency: transitive + description: + name: test_api + sha256: "8161c84903fd860b26bfdefb7963b3f0b68fee7adea0f59ef805ecca346f0c7a" + url: "https://pub.dev" + source: hosted + version: "0.7.10" + test_core: + dependency: transitive + description: + name: test_core + sha256: "0381bd1585d1a924763c308100f2138205252fb90c9d4eeaf28489ee65ccde51" + url: "https://pub.dev" + source: hosted + version: "0.6.16" + typed_data: + dependency: transitive + description: + name: typed_data + sha256: f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006 + url: "https://pub.dev" + source: hosted + version: "1.4.0" + vector_math: + dependency: transitive + description: + name: vector_math + sha256: d530bd74fea330e6e364cda7a85019c434070188383e1cd8d9777ee586914c5b + url: "https://pub.dev" + source: hosted + version: "2.2.0" + vm_service: + dependency: transitive + description: + name: vm_service + sha256: "45caa6c5917fa127b5dbcfbd1fa60b14e583afdc08bfc96dda38886ca252eb60" + url: "https://pub.dev" + source: hosted + version: "15.0.2" + watcher: + dependency: transitive + description: + name: watcher + sha256: "1398c9f081a753f9226febe8900fce8f7d0a67163334e1c94a2438339d79d635" + url: "https://pub.dev" + source: hosted + version: "1.2.1" + web: + dependency: transitive + description: + name: web + sha256: "868d88a33d8a87b18ffc05f9f030ba328ffefba92d6c127917a2ba740f9cfe4a" + url: "https://pub.dev" + source: hosted + version: "1.1.1" + web_socket: + dependency: transitive + description: + name: web_socket + sha256: "34d64019aa8e36bf9842ac014bb5d2f5586ca73df5e4d9bf5c936975cae6982c" + url: "https://pub.dev" + source: hosted + version: "1.0.1" + web_socket_channel: + dependency: transitive + description: + name: web_socket_channel + sha256: d645757fb0f4773d602444000a8131ff5d48c9e47adfe9772652dd1a4f2d45c8 + url: "https://pub.dev" + source: hosted + version: "3.0.3" + webkit_inspection_protocol: + dependency: transitive + description: + name: webkit_inspection_protocol + sha256: "87d3f2333bb240704cd3f1c6b5b7acd8a10e7f0bc28c28dcf14e782014f4a572" + url: "https://pub.dev" + source: hosted + version: "1.2.1" + win32: + dependency: transitive + description: + name: win32 + sha256: d7cb55e04cd34096cd3a79b3330245f54cb96a370a1c27adb3c84b917de8b08e + url: "https://pub.dev" + source: hosted + version: "5.15.0" + xdg_directories: + dependency: transitive + description: + name: xdg_directories + sha256: "7a3f37b05d989967cdddcbb571f1ea834867ae2faa29725fd085180e0883aa15" + url: "https://pub.dev" + source: hosted + version: "1.1.0" + yaml: + dependency: transitive + description: + name: yaml + sha256: b9da305ac7c39faa3f030eccd175340f968459dae4af175130b3fc47e40d76ce + url: "https://pub.dev" + source: hosted + version: "3.1.3" +sdks: + dart: ">=3.11.1 <4.0.0" + flutter: ">=3.38.4" diff --git a/flutter/pubspec.yaml b/flutter/pubspec.yaml new file mode 100644 index 0000000..9f7a4db --- /dev/null +++ b/flutter/pubspec.yaml @@ -0,0 +1,92 @@ +name: tma_app +description: "A new Flutter project." +# The following line prevents the package from being accidentally published to +# pub.dev using `flutter pub publish`. This is preferred for private packages. +publish_to: 'none' # Remove this line if you wish to publish to pub.dev + +# The following defines the version and build number for your application. +# A version number is three numbers separated by dots, like 1.2.43 +# followed by an optional build number separated by a +. +# Both the version and the builder number may be overridden in flutter +# build by specifying --build-name and --build-number, respectively. +# In Android, build-name is used as versionName while build-number used as versionCode. +# Read more about Android versioning at https://developer.android.com/studio/publish/versioning +# In iOS, build-name is used as CFBundleShortVersionString while build-number is used as CFBundleVersion. +# Read more about iOS versioning at +# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html +# In Windows, build-name is used as the major, minor, and patch parts +# of the product and file versions while build-number is used as the build suffix. +version: 1.0.0+1 + +environment: + sdk: ^3.11.1 + +# Dependencies specify other packages that your package needs in order to work. +# To automatically upgrade your package dependencies to the latest versions +# consider running `flutter pub upgrade --major-versions`. Alternatively, +# dependencies can be manually updated by changing the version numbers below to +# the latest version available on pub.dev. To see which dependencies have newer +# versions available, run `flutter pub outdated`. +dependencies: + flutter: + sdk: flutter + + # The following adds the Cupertino Icons font to your application. + # Use with the CupertinoIcons class for iOS style icons. + cupertino_icons: ^1.0.8 + dio: ^5.9.2 + flutter_dotenv: ^5.2.1 + flutter_riverpod: ^3.3.1 + flutter_secure_storage: ^10.0.0 + +dev_dependencies: + flutter_test: + sdk: flutter + + # The "flutter_lints" package below contains a set of recommended lints to + # encourage good coding practices. The lint set provided by the package is + # activated in the `analysis_options.yaml` file located at the root of your + # package. See that file for information about deactivating specific lint + # rules and activating additional ones. + flutter_lints: ^6.0.0 + +# For information on the generic Dart part of this file, see the +# following page: https://dart.dev/tools/pub/pubspec + +# The following section is specific to Flutter packages. +flutter: + + # The following line ensures that the Material Icons font is + # included with your application, so that you can use the icons in + # the material Icons class. + uses-material-design: true + + # 런타임 환경변수 — flutter_dotenv 로 로드 + assets: + - .env + + # An image asset can refer to one or more resolution-specific "variants", see + # https://flutter.dev/to/resolution-aware-images + + # For details regarding adding assets from package dependencies, see + # https://flutter.dev/to/asset-from-package + + # To add custom fonts to your application, add a fonts section here, + # in this "flutter" section. Each entry in this list should have a + # "family" key with the font family name, and a "fonts" key with a + # list giving the asset and other descriptors for the font. For + # example: + # fonts: + # - family: Schyler + # fonts: + # - asset: fonts/Schyler-Regular.ttf + # - asset: fonts/Schyler-Italic.ttf + # style: italic + # - family: Trajan Pro + # fonts: + # - asset: fonts/TrajanPro.ttf + # - asset: fonts/TrajanPro_Bold.ttf + # weight: 700 + # + # For details regarding fonts from package dependencies, + # see https://flutter.dev/to/font-from-package diff --git a/flutter/test/widget_test.dart b/flutter/test/widget_test.dart new file mode 100644 index 0000000..bbc3fcc --- /dev/null +++ b/flutter/test/widget_test.dart @@ -0,0 +1,30 @@ +// This is a basic Flutter widget test. +// +// To perform an interaction with a widget in your test, use the WidgetTester +// utility in the flutter_test package. For example, you can send tap and scroll +// gestures. You can also use WidgetTester to find child widgets in the widget +// tree, read text, and verify that the values of widget properties are correct. + +import 'package:flutter/material.dart'; +import 'package:flutter_test/flutter_test.dart'; + +import 'package:tma_app/main.dart'; + +void main() { + testWidgets('Counter increments smoke test', (WidgetTester tester) async { + // Build our app and trigger a frame. + await tester.pumpWidget(const MyApp()); + + // Verify that our counter starts at 0. + expect(find.text('0'), findsOneWidget); + expect(find.text('1'), findsNothing); + + // Tap the '+' icon and trigger a frame. + await tester.tap(find.byIcon(Icons.add)); + await tester.pump(); + + // Verify that our counter has incremented. + expect(find.text('0'), findsNothing); + expect(find.text('1'), findsOneWidget); + }); +} diff --git a/flutter/web/favicon.png b/flutter/web/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..8aaa46ac1ae21512746f852a42ba87e4165dfdd1 GIT binary patch literal 917 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|I14-?iy0X7 zltGxWVyS%@P(fs7NJL45ua8x7ey(0(N`6wRUPW#JP&EUCO@$SZnVVXYs8ErclUHn2 zVXFjIVFhG^g!Ppaz)DK8ZIvQ?0~DO|i&7O#^-S~(l1AfjnEK zjFOT9D}DX)@^Za$W4-*MbbUihOG|wNBYh(yU7!lx;>x^|#0uTKVr7USFmqf|i<65o z3raHc^AtelCMM;Vme?vOfh>Xph&xL%(-1c06+^uR^q@XSM&D4+Kp$>4P^%3{)XKjo zGZknv$b36P8?Z_gF{nK@`XI}Z90TzwSQO}0J1!f2c(B=V`5aP@1P1a|PZ!4!3&Gl8 zTYqUsf!gYFyJnXpu0!n&N*SYAX-%d(5gVjrHJWqXQshj@!Zm{!01WsQrH~9=kTxW#6SvuapgMqt>$=j#%eyGrQzr zP{L-3gsMA^$I1&gsBAEL+vxi1*Igl=8#8`5?A-T5=z-sk46WA1IUT)AIZHx1rdUrf zVJrJn<74DDw`j)Ki#gt}mIT-Q`XRa2-jQXQoI%w`nb|XblvzK${ZzlV)m-XcwC(od z71_OEC5Bt9GEXosOXaPTYOia#R4ID2TiU~`zVMl08TV_C%DnU4^+HE>9(CE4D6?Fz oujB08i7adh9xk7*FX66dWH6F5TM;?E2b5PlUHx3vIVCg!0Dx9vYXATM literal 0 HcmV?d00001 diff --git a/flutter/web/icons/Icon-192.png b/flutter/web/icons/Icon-192.png new file mode 100644 index 0000000000000000000000000000000000000000..b749bfef07473333cf1dd31e9eed89862a5d52aa GIT binary patch literal 5292 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 literal 0 HcmV?d00001 diff --git a/flutter/web/icons/Icon-512.png b/flutter/web/icons/Icon-512.png new file mode 100644 index 0000000000000000000000000000000000000000..88cfd48dff1169879ba46840804b412fe02fefd6 GIT binary patch literal 8252 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 literal 0 HcmV?d00001 diff --git a/flutter/web/icons/Icon-maskable-192.png b/flutter/web/icons/Icon-maskable-192.png new file mode 100644 index 0000000000000000000000000000000000000000..eb9b4d76e525556d5d89141648c724331630325d GIT binary patch literal 5594 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 X>c!)3PgKfL&lX^$Z>Cpu&6)6jvi^Z! literal 0 HcmV?d00001 diff --git a/flutter/web/icons/Icon-maskable-512.png b/flutter/web/icons/Icon-maskable-512.png new file mode 100644 index 0000000000000000000000000000000000000000..d69c56691fbdb0b7efa65097c7cc1edac12a6d3e GIT binary patch literal 20998 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 MPgg&ebxsLQ025IeI{*Lx literal 0 HcmV?d00001 diff --git a/flutter/web/index.html b/flutter/web/index.html new file mode 100644 index 0000000..536a1d2 --- /dev/null +++ b/flutter/web/index.html @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + tma_app + + + + + + + diff --git a/flutter/web/manifest.json b/flutter/web/manifest.json new file mode 100644 index 0000000..5650593 --- /dev/null +++ b/flutter/web/manifest.json @@ -0,0 +1,35 @@ +{ + "name": "tma_app", + "short_name": "tma_app", + "start_url": ".", + "display": "standalone", + "background_color": "#0175C2", + "theme_color": "#0175C2", + "description": "A new Flutter project.", + "orientation": "portrait-primary", + "prefer_related_applications": false, + "icons": [ + { + "src": "icons/Icon-192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "icons/Icon-512.png", + "sizes": "512x512", + "type": "image/png" + }, + { + "src": "icons/Icon-maskable-192.png", + "sizes": "192x192", + "type": "image/png", + "purpose": "maskable" + }, + { + "src": "icons/Icon-maskable-512.png", + "sizes": "512x512", + "type": "image/png", + "purpose": "maskable" + } + ] +} diff --git a/flutter/windows/.gitignore b/flutter/windows/.gitignore new file mode 100644 index 0000000..d492d0d --- /dev/null +++ b/flutter/windows/.gitignore @@ -0,0 +1,17 @@ +flutter/ephemeral/ + +# Visual Studio user-specific files. +*.suo +*.user +*.userosscache +*.sln.docstates + +# Visual Studio build-related files. +x64/ +x86/ + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!*.[Cc]ache/ diff --git a/flutter/windows/CMakeLists.txt b/flutter/windows/CMakeLists.txt new file mode 100644 index 0000000..dde17dc --- /dev/null +++ b/flutter/windows/CMakeLists.txt @@ -0,0 +1,108 @@ +# Project-level configuration. +cmake_minimum_required(VERSION 3.14) +project(tma_app LANGUAGES CXX) + +# The name of the executable created for the application. Change this to change +# the on-disk name of your application. +set(BINARY_NAME "tma_app") + +# Explicitly opt in to modern CMake behaviors to avoid warnings with recent +# versions of CMake. +cmake_policy(VERSION 3.14...3.25) + +# Define build configuration option. +get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) +if(IS_MULTICONFIG) + set(CMAKE_CONFIGURATION_TYPES "Debug;Profile;Release" + CACHE STRING "" FORCE) +else() + if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) + set(CMAKE_BUILD_TYPE "Debug" CACHE + STRING "Flutter build mode" FORCE) + set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS + "Debug" "Profile" "Release") + endif() +endif() +# Define settings for the Profile build mode. +set(CMAKE_EXE_LINKER_FLAGS_PROFILE "${CMAKE_EXE_LINKER_FLAGS_RELEASE}") +set(CMAKE_SHARED_LINKER_FLAGS_PROFILE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE}") +set(CMAKE_C_FLAGS_PROFILE "${CMAKE_C_FLAGS_RELEASE}") +set(CMAKE_CXX_FLAGS_PROFILE "${CMAKE_CXX_FLAGS_RELEASE}") + +# Use Unicode for all projects. +add_definitions(-DUNICODE -D_UNICODE) + +# Compilation settings that should be applied to most targets. +# +# Be cautious about adding new options here, as plugins use this function by +# default. In most cases, you should add new options to specific targets instead +# of modifying this function. +function(APPLY_STANDARD_SETTINGS TARGET) + target_compile_features(${TARGET} PUBLIC cxx_std_17) + target_compile_options(${TARGET} PRIVATE /W4 /WX /wd"4100") + target_compile_options(${TARGET} PRIVATE /EHsc) + target_compile_definitions(${TARGET} PRIVATE "_HAS_EXCEPTIONS=0") + target_compile_definitions(${TARGET} PRIVATE "$<$:_DEBUG>") +endfunction() + +# Flutter library and tool build rules. +set(FLUTTER_MANAGED_DIR "${CMAKE_CURRENT_SOURCE_DIR}/flutter") +add_subdirectory(${FLUTTER_MANAGED_DIR}) + +# Application build; see runner/CMakeLists.txt. +add_subdirectory("runner") + + +# Generated plugin build rules, which manage building the plugins and adding +# them to the application. +include(flutter/generated_plugins.cmake) + + +# === Installation === +# Support files are copied into place next to the executable, so that it can +# run in place. This is done instead of making a separate bundle (as on Linux) +# so that building and running from within Visual Studio will work. +set(BUILD_BUNDLE_DIR "$") +# Make the "install" step default, as it's required to run. +set(CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD 1) +if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) + set(CMAKE_INSTALL_PREFIX "${BUILD_BUNDLE_DIR}" CACHE PATH "..." FORCE) +endif() + +set(INSTALL_BUNDLE_DATA_DIR "${CMAKE_INSTALL_PREFIX}/data") +set(INSTALL_BUNDLE_LIB_DIR "${CMAKE_INSTALL_PREFIX}") + +install(TARGETS ${BINARY_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}" + COMPONENT Runtime) + +install(FILES "${FLUTTER_ICU_DATA_FILE}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" + COMPONENT Runtime) + +install(FILES "${FLUTTER_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) + +if(PLUGIN_BUNDLED_LIBRARIES) + install(FILES "${PLUGIN_BUNDLED_LIBRARIES}" + DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) +endif() + +# Copy the native assets provided by the build.dart from all packages. +set(NATIVE_ASSETS_DIR "${PROJECT_BUILD_DIR}native_assets/windows/") +install(DIRECTORY "${NATIVE_ASSETS_DIR}" + DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) + +# Fully re-copy the assets directory on each build to avoid having stale files +# from a previous install. +set(FLUTTER_ASSET_DIR_NAME "flutter_assets") +install(CODE " + file(REMOVE_RECURSE \"${INSTALL_BUNDLE_DATA_DIR}/${FLUTTER_ASSET_DIR_NAME}\") + " COMPONENT Runtime) +install(DIRECTORY "${PROJECT_BUILD_DIR}/${FLUTTER_ASSET_DIR_NAME}" + DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" COMPONENT Runtime) + +# Install the AOT library on non-Debug builds only. +install(FILES "${AOT_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" + CONFIGURATIONS Profile;Release + COMPONENT Runtime) diff --git a/flutter/windows/flutter/CMakeLists.txt b/flutter/windows/flutter/CMakeLists.txt new file mode 100644 index 0000000..903f489 --- /dev/null +++ b/flutter/windows/flutter/CMakeLists.txt @@ -0,0 +1,109 @@ +# This file controls Flutter-level build steps. It should not be edited. +cmake_minimum_required(VERSION 3.14) + +set(EPHEMERAL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ephemeral") + +# Configuration provided via flutter tool. +include(${EPHEMERAL_DIR}/generated_config.cmake) + +# TODO: Move the rest of this into files in ephemeral. See +# https://github.com/flutter/flutter/issues/57146. +set(WRAPPER_ROOT "${EPHEMERAL_DIR}/cpp_client_wrapper") + +# Set fallback configurations for older versions of the flutter tool. +if (NOT DEFINED FLUTTER_TARGET_PLATFORM) + set(FLUTTER_TARGET_PLATFORM "windows-x64") +endif() + +# === Flutter Library === +set(FLUTTER_LIBRARY "${EPHEMERAL_DIR}/flutter_windows.dll") + +# Published to parent scope for install step. +set(FLUTTER_LIBRARY ${FLUTTER_LIBRARY} PARENT_SCOPE) +set(FLUTTER_ICU_DATA_FILE "${EPHEMERAL_DIR}/icudtl.dat" PARENT_SCOPE) +set(PROJECT_BUILD_DIR "${PROJECT_DIR}/build/" PARENT_SCOPE) +set(AOT_LIBRARY "${PROJECT_DIR}/build/windows/app.so" PARENT_SCOPE) + +list(APPEND FLUTTER_LIBRARY_HEADERS + "flutter_export.h" + "flutter_windows.h" + "flutter_messenger.h" + "flutter_plugin_registrar.h" + "flutter_texture_registrar.h" +) +list(TRANSFORM FLUTTER_LIBRARY_HEADERS PREPEND "${EPHEMERAL_DIR}/") +add_library(flutter INTERFACE) +target_include_directories(flutter INTERFACE + "${EPHEMERAL_DIR}" +) +target_link_libraries(flutter INTERFACE "${FLUTTER_LIBRARY}.lib") +add_dependencies(flutter flutter_assemble) + +# === Wrapper === +list(APPEND CPP_WRAPPER_SOURCES_CORE + "core_implementations.cc" + "standard_codec.cc" +) +list(TRANSFORM CPP_WRAPPER_SOURCES_CORE PREPEND "${WRAPPER_ROOT}/") +list(APPEND CPP_WRAPPER_SOURCES_PLUGIN + "plugin_registrar.cc" +) +list(TRANSFORM CPP_WRAPPER_SOURCES_PLUGIN PREPEND "${WRAPPER_ROOT}/") +list(APPEND CPP_WRAPPER_SOURCES_APP + "flutter_engine.cc" + "flutter_view_controller.cc" +) +list(TRANSFORM CPP_WRAPPER_SOURCES_APP PREPEND "${WRAPPER_ROOT}/") + +# Wrapper sources needed for a plugin. +add_library(flutter_wrapper_plugin STATIC + ${CPP_WRAPPER_SOURCES_CORE} + ${CPP_WRAPPER_SOURCES_PLUGIN} +) +apply_standard_settings(flutter_wrapper_plugin) +set_target_properties(flutter_wrapper_plugin PROPERTIES + POSITION_INDEPENDENT_CODE ON) +set_target_properties(flutter_wrapper_plugin PROPERTIES + CXX_VISIBILITY_PRESET hidden) +target_link_libraries(flutter_wrapper_plugin PUBLIC flutter) +target_include_directories(flutter_wrapper_plugin PUBLIC + "${WRAPPER_ROOT}/include" +) +add_dependencies(flutter_wrapper_plugin flutter_assemble) + +# Wrapper sources needed for the runner. +add_library(flutter_wrapper_app STATIC + ${CPP_WRAPPER_SOURCES_CORE} + ${CPP_WRAPPER_SOURCES_APP} +) +apply_standard_settings(flutter_wrapper_app) +target_link_libraries(flutter_wrapper_app PUBLIC flutter) +target_include_directories(flutter_wrapper_app PUBLIC + "${WRAPPER_ROOT}/include" +) +add_dependencies(flutter_wrapper_app flutter_assemble) + +# === Flutter tool backend === +# _phony_ is a non-existent file to force this command to run every time, +# since currently there's no way to get a full input/output list from the +# flutter tool. +set(PHONY_OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/_phony_") +set_source_files_properties("${PHONY_OUTPUT}" PROPERTIES SYMBOLIC TRUE) +add_custom_command( + OUTPUT ${FLUTTER_LIBRARY} ${FLUTTER_LIBRARY_HEADERS} + ${CPP_WRAPPER_SOURCES_CORE} ${CPP_WRAPPER_SOURCES_PLUGIN} + ${CPP_WRAPPER_SOURCES_APP} + ${PHONY_OUTPUT} + COMMAND ${CMAKE_COMMAND} -E env + ${FLUTTER_TOOL_ENVIRONMENT} + "${FLUTTER_ROOT}/packages/flutter_tools/bin/tool_backend.bat" + ${FLUTTER_TARGET_PLATFORM} $ + VERBATIM +) +add_custom_target(flutter_assemble DEPENDS + "${FLUTTER_LIBRARY}" + ${FLUTTER_LIBRARY_HEADERS} + ${CPP_WRAPPER_SOURCES_CORE} + ${CPP_WRAPPER_SOURCES_PLUGIN} + ${CPP_WRAPPER_SOURCES_APP} +) diff --git a/flutter/windows/flutter/generated_plugin_registrant.cc b/flutter/windows/flutter/generated_plugin_registrant.cc new file mode 100644 index 0000000..0c50753 --- /dev/null +++ b/flutter/windows/flutter/generated_plugin_registrant.cc @@ -0,0 +1,14 @@ +// +// Generated file. Do not edit. +// + +// clang-format off + +#include "generated_plugin_registrant.h" + +#include + +void RegisterPlugins(flutter::PluginRegistry* registry) { + FlutterSecureStorageWindowsPluginRegisterWithRegistrar( + registry->GetRegistrarForPlugin("FlutterSecureStorageWindowsPlugin")); +} diff --git a/flutter/windows/flutter/generated_plugin_registrant.h b/flutter/windows/flutter/generated_plugin_registrant.h new file mode 100644 index 0000000..dc139d8 --- /dev/null +++ b/flutter/windows/flutter/generated_plugin_registrant.h @@ -0,0 +1,15 @@ +// +// Generated file. Do not edit. +// + +// clang-format off + +#ifndef GENERATED_PLUGIN_REGISTRANT_ +#define GENERATED_PLUGIN_REGISTRANT_ + +#include + +// Registers Flutter plugins. +void RegisterPlugins(flutter::PluginRegistry* registry); + +#endif // GENERATED_PLUGIN_REGISTRANT_ diff --git a/flutter/windows/flutter/generated_plugins.cmake b/flutter/windows/flutter/generated_plugins.cmake new file mode 100644 index 0000000..d0b33f8 --- /dev/null +++ b/flutter/windows/flutter/generated_plugins.cmake @@ -0,0 +1,25 @@ +# +# Generated file, do not edit. +# + +list(APPEND FLUTTER_PLUGIN_LIST + flutter_secure_storage_windows +) + +list(APPEND FLUTTER_FFI_PLUGIN_LIST + jni +) + +set(PLUGIN_BUNDLED_LIBRARIES) + +foreach(plugin ${FLUTTER_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/windows plugins/${plugin}) + target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin) + list(APPEND PLUGIN_BUNDLED_LIBRARIES $) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) +endforeach(plugin) + +foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/windows plugins/${ffi_plugin}) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) +endforeach(ffi_plugin) diff --git a/flutter/windows/runner/CMakeLists.txt b/flutter/windows/runner/CMakeLists.txt new file mode 100644 index 0000000..394917c --- /dev/null +++ b/flutter/windows/runner/CMakeLists.txt @@ -0,0 +1,40 @@ +cmake_minimum_required(VERSION 3.14) +project(runner LANGUAGES CXX) + +# Define the application target. To change its name, change BINARY_NAME in the +# top-level CMakeLists.txt, not the value here, or `flutter run` will no longer +# work. +# +# Any new source files that you add to the application should be added here. +add_executable(${BINARY_NAME} WIN32 + "flutter_window.cpp" + "main.cpp" + "utils.cpp" + "win32_window.cpp" + "${FLUTTER_MANAGED_DIR}/generated_plugin_registrant.cc" + "Runner.rc" + "runner.exe.manifest" +) + +# Apply the standard set of build settings. This can be removed for applications +# that need different build settings. +apply_standard_settings(${BINARY_NAME}) + +# Add preprocessor definitions for the build version. +target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION=\"${FLUTTER_VERSION}\"") +target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_MAJOR=${FLUTTER_VERSION_MAJOR}") +target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_MINOR=${FLUTTER_VERSION_MINOR}") +target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_PATCH=${FLUTTER_VERSION_PATCH}") +target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_BUILD=${FLUTTER_VERSION_BUILD}") + +# Disable Windows macros that collide with C++ standard library functions. +target_compile_definitions(${BINARY_NAME} PRIVATE "NOMINMAX") + +# Add dependency libraries and include directories. Add any application-specific +# dependencies here. +target_link_libraries(${BINARY_NAME} PRIVATE flutter flutter_wrapper_app) +target_link_libraries(${BINARY_NAME} PRIVATE "dwmapi.lib") +target_include_directories(${BINARY_NAME} PRIVATE "${CMAKE_SOURCE_DIR}") + +# Run the Flutter tool portions of the build. This must not be removed. +add_dependencies(${BINARY_NAME} flutter_assemble) diff --git a/flutter/windows/runner/Runner.rc b/flutter/windows/runner/Runner.rc new file mode 100644 index 0000000..db4b824 --- /dev/null +++ b/flutter/windows/runner/Runner.rc @@ -0,0 +1,121 @@ +// Microsoft Visual C++ generated resource script. +// +#pragma code_page(65001) +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "winres.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// English (United States) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE +BEGIN + "#include ""winres.h""\r\n" + "\0" +END + +3 TEXTINCLUDE +BEGIN + "\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Icon +// + +// Icon with lowest ID value placed first to ensure application icon +// remains consistent on all systems. +IDI_APP_ICON ICON "resources\\app_icon.ico" + + +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +#if defined(FLUTTER_VERSION_MAJOR) && defined(FLUTTER_VERSION_MINOR) && defined(FLUTTER_VERSION_PATCH) && defined(FLUTTER_VERSION_BUILD) +#define VERSION_AS_NUMBER FLUTTER_VERSION_MAJOR,FLUTTER_VERSION_MINOR,FLUTTER_VERSION_PATCH,FLUTTER_VERSION_BUILD +#else +#define VERSION_AS_NUMBER 1,0,0,0 +#endif + +#if defined(FLUTTER_VERSION) +#define VERSION_AS_STRING FLUTTER_VERSION +#else +#define VERSION_AS_STRING "1.0.0" +#endif + +VS_VERSION_INFO VERSIONINFO + FILEVERSION VERSION_AS_NUMBER + PRODUCTVERSION VERSION_AS_NUMBER + FILEFLAGSMASK VS_FFI_FILEFLAGSMASK +#ifdef _DEBUG + FILEFLAGS VS_FF_DEBUG +#else + FILEFLAGS 0x0L +#endif + FILEOS VOS__WINDOWS32 + FILETYPE VFT_APP + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904e4" + BEGIN + VALUE "CompanyName", "com.example" "\0" + VALUE "FileDescription", "tma_app" "\0" + VALUE "FileVersion", VERSION_AS_STRING "\0" + VALUE "InternalName", "tma_app" "\0" + VALUE "LegalCopyright", "Copyright (C) 2026 com.example. All rights reserved." "\0" + VALUE "OriginalFilename", "tma_app.exe" "\0" + VALUE "ProductName", "tma_app" "\0" + VALUE "ProductVersion", VERSION_AS_STRING "\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1252 + END +END + +#endif // English (United States) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED diff --git a/flutter/windows/runner/flutter_window.cpp b/flutter/windows/runner/flutter_window.cpp new file mode 100644 index 0000000..955ee30 --- /dev/null +++ b/flutter/windows/runner/flutter_window.cpp @@ -0,0 +1,71 @@ +#include "flutter_window.h" + +#include + +#include "flutter/generated_plugin_registrant.h" + +FlutterWindow::FlutterWindow(const flutter::DartProject& project) + : project_(project) {} + +FlutterWindow::~FlutterWindow() {} + +bool FlutterWindow::OnCreate() { + if (!Win32Window::OnCreate()) { + return false; + } + + RECT frame = GetClientArea(); + + // The size here must match the window dimensions to avoid unnecessary surface + // creation / destruction in the startup path. + flutter_controller_ = std::make_unique( + frame.right - frame.left, frame.bottom - frame.top, project_); + // Ensure that basic setup of the controller was successful. + if (!flutter_controller_->engine() || !flutter_controller_->view()) { + return false; + } + RegisterPlugins(flutter_controller_->engine()); + SetChildContent(flutter_controller_->view()->GetNativeWindow()); + + flutter_controller_->engine()->SetNextFrameCallback([&]() { + this->Show(); + }); + + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + + return true; +} + +void FlutterWindow::OnDestroy() { + if (flutter_controller_) { + flutter_controller_ = nullptr; + } + + Win32Window::OnDestroy(); +} + +LRESULT +FlutterWindow::MessageHandler(HWND hwnd, UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept { + // Give Flutter, including plugins, an opportunity to handle window messages. + if (flutter_controller_) { + std::optional result = + flutter_controller_->HandleTopLevelWindowProc(hwnd, message, wparam, + lparam); + if (result) { + return *result; + } + } + + switch (message) { + case WM_FONTCHANGE: + flutter_controller_->engine()->ReloadSystemFonts(); + break; + } + + return Win32Window::MessageHandler(hwnd, message, wparam, lparam); +} diff --git a/flutter/windows/runner/flutter_window.h b/flutter/windows/runner/flutter_window.h new file mode 100644 index 0000000..6da0652 --- /dev/null +++ b/flutter/windows/runner/flutter_window.h @@ -0,0 +1,33 @@ +#ifndef RUNNER_FLUTTER_WINDOW_H_ +#define RUNNER_FLUTTER_WINDOW_H_ + +#include +#include + +#include + +#include "win32_window.h" + +// A window that does nothing but host a Flutter view. +class FlutterWindow : public Win32Window { + public: + // Creates a new FlutterWindow hosting a Flutter view running |project|. + explicit FlutterWindow(const flutter::DartProject& project); + virtual ~FlutterWindow(); + + protected: + // Win32Window: + bool OnCreate() override; + void OnDestroy() override; + LRESULT MessageHandler(HWND window, UINT const message, WPARAM const wparam, + LPARAM const lparam) noexcept override; + + private: + // The project to run. + flutter::DartProject project_; + + // The Flutter instance hosted by this window. + std::unique_ptr flutter_controller_; +}; + +#endif // RUNNER_FLUTTER_WINDOW_H_ diff --git a/flutter/windows/runner/main.cpp b/flutter/windows/runner/main.cpp new file mode 100644 index 0000000..3e7d6da --- /dev/null +++ b/flutter/windows/runner/main.cpp @@ -0,0 +1,43 @@ +#include +#include +#include + +#include "flutter_window.h" +#include "utils.h" + +int APIENTRY wWinMain(_In_ HINSTANCE instance, _In_opt_ HINSTANCE prev, + _In_ wchar_t *command_line, _In_ int show_command) { + // Attach to console when present (e.g., 'flutter run') or create a + // new console when running with a debugger. + if (!::AttachConsole(ATTACH_PARENT_PROCESS) && ::IsDebuggerPresent()) { + CreateAndAttachConsole(); + } + + // Initialize COM, so that it is available for use in the library and/or + // plugins. + ::CoInitializeEx(nullptr, COINIT_APARTMENTTHREADED); + + flutter::DartProject project(L"data"); + + std::vector command_line_arguments = + GetCommandLineArguments(); + + project.set_dart_entrypoint_arguments(std::move(command_line_arguments)); + + FlutterWindow window(project); + Win32Window::Point origin(10, 10); + Win32Window::Size size(1280, 720); + if (!window.Create(L"tma_app", origin, size)) { + return EXIT_FAILURE; + } + window.SetQuitOnClose(true); + + ::MSG msg; + while (::GetMessage(&msg, nullptr, 0, 0)) { + ::TranslateMessage(&msg); + ::DispatchMessage(&msg); + } + + ::CoUninitialize(); + return EXIT_SUCCESS; +} diff --git a/flutter/windows/runner/resource.h b/flutter/windows/runner/resource.h new file mode 100644 index 0000000..66a65d1 --- /dev/null +++ b/flutter/windows/runner/resource.h @@ -0,0 +1,16 @@ +//{{NO_DEPENDENCIES}} +// Microsoft Visual C++ generated include file. +// Used by Runner.rc +// +#define IDI_APP_ICON 101 + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NEXT_RESOURCE_VALUE 102 +#define _APS_NEXT_COMMAND_VALUE 40001 +#define _APS_NEXT_CONTROL_VALUE 1001 +#define _APS_NEXT_SYMED_VALUE 101 +#endif +#endif diff --git a/flutter/windows/runner/resources/app_icon.ico b/flutter/windows/runner/resources/app_icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..c04e20caf6370ebb9253ad831cc31de4a9c965f6 GIT binary patch literal 33772 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 literal 0 HcmV?d00001 diff --git a/flutter/windows/runner/runner.exe.manifest b/flutter/windows/runner/runner.exe.manifest new file mode 100644 index 0000000..153653e --- /dev/null +++ b/flutter/windows/runner/runner.exe.manifest @@ -0,0 +1,14 @@ + + + + + PerMonitorV2 + + + + + + + + + diff --git a/flutter/windows/runner/utils.cpp b/flutter/windows/runner/utils.cpp new file mode 100644 index 0000000..3a0b465 --- /dev/null +++ b/flutter/windows/runner/utils.cpp @@ -0,0 +1,65 @@ +#include "utils.h" + +#include +#include +#include +#include + +#include + +void CreateAndAttachConsole() { + if (::AllocConsole()) { + FILE *unused; + if (freopen_s(&unused, "CONOUT$", "w", stdout)) { + _dup2(_fileno(stdout), 1); + } + if (freopen_s(&unused, "CONOUT$", "w", stderr)) { + _dup2(_fileno(stdout), 2); + } + std::ios::sync_with_stdio(); + FlutterDesktopResyncOutputStreams(); + } +} + +std::vector GetCommandLineArguments() { + // Convert the UTF-16 command line arguments to UTF-8 for the Engine to use. + int argc; + wchar_t** argv = ::CommandLineToArgvW(::GetCommandLineW(), &argc); + if (argv == nullptr) { + return std::vector(); + } + + std::vector command_line_arguments; + + // Skip the first argument as it's the binary name. + for (int i = 1; i < argc; i++) { + command_line_arguments.push_back(Utf8FromUtf16(argv[i])); + } + + ::LocalFree(argv); + + return command_line_arguments; +} + +std::string Utf8FromUtf16(const wchar_t* utf16_string) { + if (utf16_string == nullptr) { + return std::string(); + } + unsigned int target_length = ::WideCharToMultiByte( + CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string, + -1, nullptr, 0, nullptr, nullptr) + -1; // remove the trailing null character + int input_length = (int)wcslen(utf16_string); + std::string utf8_string; + if (target_length == 0 || target_length > utf8_string.max_size()) { + return utf8_string; + } + utf8_string.resize(target_length); + int converted_length = ::WideCharToMultiByte( + CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string, + input_length, utf8_string.data(), target_length, nullptr, nullptr); + if (converted_length == 0) { + return std::string(); + } + return utf8_string; +} diff --git a/flutter/windows/runner/utils.h b/flutter/windows/runner/utils.h new file mode 100644 index 0000000..3879d54 --- /dev/null +++ b/flutter/windows/runner/utils.h @@ -0,0 +1,19 @@ +#ifndef RUNNER_UTILS_H_ +#define RUNNER_UTILS_H_ + +#include +#include + +// Creates a console for the process, and redirects stdout and stderr to +// it for both the runner and the Flutter library. +void CreateAndAttachConsole(); + +// Takes a null-terminated wchar_t* encoded in UTF-16 and returns a std::string +// encoded in UTF-8. Returns an empty std::string on failure. +std::string Utf8FromUtf16(const wchar_t* utf16_string); + +// Gets the command line arguments passed in as a std::vector, +// encoded in UTF-8. Returns an empty std::vector on failure. +std::vector GetCommandLineArguments(); + +#endif // RUNNER_UTILS_H_ diff --git a/flutter/windows/runner/win32_window.cpp b/flutter/windows/runner/win32_window.cpp new file mode 100644 index 0000000..60608d0 --- /dev/null +++ b/flutter/windows/runner/win32_window.cpp @@ -0,0 +1,288 @@ +#include "win32_window.h" + +#include +#include + +#include "resource.h" + +namespace { + +/// Window attribute that enables dark mode window decorations. +/// +/// Redefined in case the developer's machine has a Windows SDK older than +/// version 10.0.22000.0. +/// See: https://docs.microsoft.com/windows/win32/api/dwmapi/ne-dwmapi-dwmwindowattribute +#ifndef DWMWA_USE_IMMERSIVE_DARK_MODE +#define DWMWA_USE_IMMERSIVE_DARK_MODE 20 +#endif + +constexpr const wchar_t kWindowClassName[] = L"FLUTTER_RUNNER_WIN32_WINDOW"; + +/// Registry key for app theme preference. +/// +/// A value of 0 indicates apps should use dark mode. A non-zero or missing +/// value indicates apps should use light mode. +constexpr const wchar_t kGetPreferredBrightnessRegKey[] = + L"Software\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize"; +constexpr const wchar_t kGetPreferredBrightnessRegValue[] = L"AppsUseLightTheme"; + +// The number of Win32Window objects that currently exist. +static int g_active_window_count = 0; + +using EnableNonClientDpiScaling = BOOL __stdcall(HWND hwnd); + +// Scale helper to convert logical scaler values to physical using passed in +// scale factor +int Scale(int source, double scale_factor) { + return static_cast(source * scale_factor); +} + +// Dynamically loads the |EnableNonClientDpiScaling| from the User32 module. +// This API is only needed for PerMonitor V1 awareness mode. +void EnableFullDpiSupportIfAvailable(HWND hwnd) { + HMODULE user32_module = LoadLibraryA("User32.dll"); + if (!user32_module) { + return; + } + auto enable_non_client_dpi_scaling = + reinterpret_cast( + GetProcAddress(user32_module, "EnableNonClientDpiScaling")); + if (enable_non_client_dpi_scaling != nullptr) { + enable_non_client_dpi_scaling(hwnd); + } + FreeLibrary(user32_module); +} + +} // namespace + +// Manages the Win32Window's window class registration. +class WindowClassRegistrar { + public: + ~WindowClassRegistrar() = default; + + // Returns the singleton registrar instance. + static WindowClassRegistrar* GetInstance() { + if (!instance_) { + instance_ = new WindowClassRegistrar(); + } + return instance_; + } + + // Returns the name of the window class, registering the class if it hasn't + // previously been registered. + const wchar_t* GetWindowClass(); + + // Unregisters the window class. Should only be called if there are no + // instances of the window. + void UnregisterWindowClass(); + + private: + WindowClassRegistrar() = default; + + static WindowClassRegistrar* instance_; + + bool class_registered_ = false; +}; + +WindowClassRegistrar* WindowClassRegistrar::instance_ = nullptr; + +const wchar_t* WindowClassRegistrar::GetWindowClass() { + if (!class_registered_) { + WNDCLASS window_class{}; + window_class.hCursor = LoadCursor(nullptr, IDC_ARROW); + window_class.lpszClassName = kWindowClassName; + window_class.style = CS_HREDRAW | CS_VREDRAW; + window_class.cbClsExtra = 0; + window_class.cbWndExtra = 0; + window_class.hInstance = GetModuleHandle(nullptr); + window_class.hIcon = + LoadIcon(window_class.hInstance, MAKEINTRESOURCE(IDI_APP_ICON)); + window_class.hbrBackground = 0; + window_class.lpszMenuName = nullptr; + window_class.lpfnWndProc = Win32Window::WndProc; + RegisterClass(&window_class); + class_registered_ = true; + } + return kWindowClassName; +} + +void WindowClassRegistrar::UnregisterWindowClass() { + UnregisterClass(kWindowClassName, nullptr); + class_registered_ = false; +} + +Win32Window::Win32Window() { + ++g_active_window_count; +} + +Win32Window::~Win32Window() { + --g_active_window_count; + Destroy(); +} + +bool Win32Window::Create(const std::wstring& title, + const Point& origin, + const Size& size) { + Destroy(); + + const wchar_t* window_class = + WindowClassRegistrar::GetInstance()->GetWindowClass(); + + const POINT target_point = {static_cast(origin.x), + static_cast(origin.y)}; + HMONITOR monitor = MonitorFromPoint(target_point, MONITOR_DEFAULTTONEAREST); + UINT dpi = FlutterDesktopGetDpiForMonitor(monitor); + double scale_factor = dpi / 96.0; + + HWND window = CreateWindow( + window_class, title.c_str(), WS_OVERLAPPEDWINDOW, + Scale(origin.x, scale_factor), Scale(origin.y, scale_factor), + Scale(size.width, scale_factor), Scale(size.height, scale_factor), + nullptr, nullptr, GetModuleHandle(nullptr), this); + + if (!window) { + return false; + } + + UpdateTheme(window); + + return OnCreate(); +} + +bool Win32Window::Show() { + return ShowWindow(window_handle_, SW_SHOWNORMAL); +} + +// static +LRESULT CALLBACK Win32Window::WndProc(HWND const window, + UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept { + if (message == WM_NCCREATE) { + auto window_struct = reinterpret_cast(lparam); + SetWindowLongPtr(window, GWLP_USERDATA, + reinterpret_cast(window_struct->lpCreateParams)); + + auto that = static_cast(window_struct->lpCreateParams); + EnableFullDpiSupportIfAvailable(window); + that->window_handle_ = window; + } else if (Win32Window* that = GetThisFromHandle(window)) { + return that->MessageHandler(window, message, wparam, lparam); + } + + return DefWindowProc(window, message, wparam, lparam); +} + +LRESULT +Win32Window::MessageHandler(HWND hwnd, + UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept { + switch (message) { + case WM_DESTROY: + window_handle_ = nullptr; + Destroy(); + if (quit_on_close_) { + PostQuitMessage(0); + } + return 0; + + case WM_DPICHANGED: { + auto newRectSize = reinterpret_cast(lparam); + LONG newWidth = newRectSize->right - newRectSize->left; + LONG newHeight = newRectSize->bottom - newRectSize->top; + + SetWindowPos(hwnd, nullptr, newRectSize->left, newRectSize->top, newWidth, + newHeight, SWP_NOZORDER | SWP_NOACTIVATE); + + return 0; + } + case WM_SIZE: { + RECT rect = GetClientArea(); + if (child_content_ != nullptr) { + // Size and position the child window. + MoveWindow(child_content_, rect.left, rect.top, rect.right - rect.left, + rect.bottom - rect.top, TRUE); + } + return 0; + } + + case WM_ACTIVATE: + if (child_content_ != nullptr) { + SetFocus(child_content_); + } + return 0; + + case WM_DWMCOLORIZATIONCOLORCHANGED: + UpdateTheme(hwnd); + return 0; + } + + return DefWindowProc(window_handle_, message, wparam, lparam); +} + +void Win32Window::Destroy() { + OnDestroy(); + + if (window_handle_) { + DestroyWindow(window_handle_); + window_handle_ = nullptr; + } + if (g_active_window_count == 0) { + WindowClassRegistrar::GetInstance()->UnregisterWindowClass(); + } +} + +Win32Window* Win32Window::GetThisFromHandle(HWND const window) noexcept { + return reinterpret_cast( + GetWindowLongPtr(window, GWLP_USERDATA)); +} + +void Win32Window::SetChildContent(HWND content) { + child_content_ = content; + SetParent(content, window_handle_); + RECT frame = GetClientArea(); + + MoveWindow(content, frame.left, frame.top, frame.right - frame.left, + frame.bottom - frame.top, true); + + SetFocus(child_content_); +} + +RECT Win32Window::GetClientArea() { + RECT frame; + GetClientRect(window_handle_, &frame); + return frame; +} + +HWND Win32Window::GetHandle() { + return window_handle_; +} + +void Win32Window::SetQuitOnClose(bool quit_on_close) { + quit_on_close_ = quit_on_close; +} + +bool Win32Window::OnCreate() { + // No-op; provided for subclasses. + return true; +} + +void Win32Window::OnDestroy() { + // No-op; provided for subclasses. +} + +void Win32Window::UpdateTheme(HWND const window) { + DWORD light_mode; + DWORD light_mode_size = sizeof(light_mode); + LSTATUS result = RegGetValue(HKEY_CURRENT_USER, kGetPreferredBrightnessRegKey, + kGetPreferredBrightnessRegValue, + RRF_RT_REG_DWORD, nullptr, &light_mode, + &light_mode_size); + + if (result == ERROR_SUCCESS) { + BOOL enable_dark_mode = light_mode == 0; + DwmSetWindowAttribute(window, DWMWA_USE_IMMERSIVE_DARK_MODE, + &enable_dark_mode, sizeof(enable_dark_mode)); + } +} diff --git a/flutter/windows/runner/win32_window.h b/flutter/windows/runner/win32_window.h new file mode 100644 index 0000000..e901dde --- /dev/null +++ b/flutter/windows/runner/win32_window.h @@ -0,0 +1,102 @@ +#ifndef RUNNER_WIN32_WINDOW_H_ +#define RUNNER_WIN32_WINDOW_H_ + +#include + +#include +#include +#include + +// A class abstraction for a high DPI-aware Win32 Window. Intended to be +// inherited from by classes that wish to specialize with custom +// rendering and input handling +class Win32Window { + public: + struct Point { + unsigned int x; + unsigned int y; + Point(unsigned int x, unsigned int y) : x(x), y(y) {} + }; + + struct Size { + unsigned int width; + unsigned int height; + Size(unsigned int width, unsigned int height) + : width(width), height(height) {} + }; + + Win32Window(); + virtual ~Win32Window(); + + // Creates a win32 window with |title| that is positioned and sized using + // |origin| and |size|. New windows are created on the default monitor. Window + // sizes are specified to the OS in physical pixels, hence to ensure a + // consistent size this function will scale the inputted width and height as + // as appropriate for the default monitor. The window is invisible until + // |Show| is called. Returns true if the window was created successfully. + bool Create(const std::wstring& title, const Point& origin, const Size& size); + + // Show the current window. Returns true if the window was successfully shown. + bool Show(); + + // Release OS resources associated with window. + void Destroy(); + + // Inserts |content| into the window tree. + void SetChildContent(HWND content); + + // Returns the backing Window handle to enable clients to set icon and other + // window properties. Returns nullptr if the window has been destroyed. + HWND GetHandle(); + + // If true, closing this window will quit the application. + void SetQuitOnClose(bool quit_on_close); + + // Return a RECT representing the bounds of the current client area. + RECT GetClientArea(); + + protected: + // Processes and route salient window messages for mouse handling, + // size change and DPI. Delegates handling of these to member overloads that + // inheriting classes can handle. + virtual LRESULT MessageHandler(HWND window, + UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept; + + // Called when CreateAndShow is called, allowing subclass window-related + // setup. Subclasses should return false if setup fails. + virtual bool OnCreate(); + + // Called when Destroy is called. + virtual void OnDestroy(); + + private: + friend class WindowClassRegistrar; + + // OS callback called by message pump. Handles the WM_NCCREATE message which + // is passed when the non-client area is being created and enables automatic + // non-client DPI scaling so that the non-client area automatically + // responds to changes in DPI. All other messages are handled by + // MessageHandler. + static LRESULT CALLBACK WndProc(HWND const window, + UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept; + + // Retrieves a class instance pointer for |window| + static Win32Window* GetThisFromHandle(HWND const window) noexcept; + + // Update the window frame's theme to match the system theme. + static void UpdateTheme(HWND const window); + + bool quit_on_close_ = false; + + // window handle for top level window. + HWND window_handle_ = nullptr; + + // window handle for hosted content. + HWND child_content_ = nullptr; +}; + +#endif // RUNNER_WIN32_WINDOW_H_ diff --git a/frontend/.env.development.example b/frontend/.env.development.example new file mode 100644 index 0000000..e69de29 diff --git a/frontend/.env.production.example b/frontend/.env.production.example new file mode 100644 index 0000000..e69de29 diff --git a/frontend/.gitignore b/frontend/.gitignore new file mode 100644 index 0000000..2504d66 --- /dev/null +++ b/frontend/.gitignore @@ -0,0 +1,48 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +.DS_Store +dist +dist-ssr +coverage +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? + +*.tsbuildinfo + +.eslintcache + +# Cypress +/cypress/videos/ +/cypress/screenshots/ + +# Vitest +__screenshots__/ + +# Vite +*.timestamp-*-*.mjs + +# dotenv environment variable files +.env +.env.development.local +.env.test.local +.env.production.local +.env.local +.env.development +.env.production \ No newline at end of file diff --git a/frontend/.oxfmtrc.json b/frontend/.oxfmtrc.json new file mode 100644 index 0000000..4bddb67 --- /dev/null +++ b/frontend/.oxfmtrc.json @@ -0,0 +1,5 @@ +{ + "$schema": "./node_modules/oxfmt/configuration_schema.json", + "semi": false, + "singleQuote": true +} diff --git a/frontend/.vscode/extensions.json b/frontend/.vscode/extensions.json new file mode 100644 index 0000000..821767f --- /dev/null +++ b/frontend/.vscode/extensions.json @@ -0,0 +1,7 @@ +{ + "recommendations": [ + "Vue.volar", + "vitest.explorer", + "oxc.oxc-vscode" + ] +} diff --git a/frontend/Dockerfile b/frontend/Dockerfile new file mode 100644 index 0000000..551091e --- /dev/null +++ b/frontend/Dockerfile @@ -0,0 +1,26 @@ +FROM node:20-alpine AS build-stage +WORKDIR /app + +# 호스트의 npm 11 이 작성한 package-lock.json 형식과 호환되도록 npm 을 11 로 업그레이드 +RUN npm install -g npm@11 + +COPY package*.json ./ +RUN npm ci + +COPY . . + +ARG BUILD_MODE=production +ARG VITE_API_BASE_URL +ENV VITE_API_BASE_URL=$VITE_API_BASE_URL + +RUN npm run build-only -- --mode ${BUILD_MODE} + +FROM nginx:stable-alpine AS production-stage + +# 보안 헤더 포함된 nginx 설정 적용 +COPY nginx.conf /etc/nginx/conf.d/default.conf +COPY --from=build-stage /app/dist /usr/share/nginx/html + +# 비-root 실행은 nginx-unprivileged 이미지 도입 시 활성화 (현재는 80 포트 바인드 필요) +EXPOSE 80 +CMD ["nginx", "-g", "daemon off;"] \ No newline at end of file diff --git a/frontend/README.md b/frontend/README.md new file mode 100644 index 0000000..40e015c --- /dev/null +++ b/frontend/README.md @@ -0,0 +1,48 @@ +# frontend + +This template should help get you started developing with Vue 3 in Vite. + +## Recommended IDE Setup + +[VS Code](https://code.visualstudio.com/) + [Vue (Official)](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur). + +## Recommended Browser Setup + +- Chromium-based browsers (Chrome, Edge, Brave, etc.): + - [Vue.js devtools](https://chromewebstore.google.com/detail/vuejs-devtools/nhdogjmejiglipccpnnnanhbledajbpd) + - [Turn on Custom Object Formatter in Chrome DevTools](http://bit.ly/object-formatters) +- Firefox: + - [Vue.js devtools](https://addons.mozilla.org/en-US/firefox/addon/vue-js-devtools/) + - [Turn on Custom Object Formatter in Firefox DevTools](https://fxdx.dev/firefox-devtools-custom-object-formatters/) + +## Type Support for `.vue` Imports in TS + +TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) to make the TypeScript language service aware of `.vue` types. + +## Customize configuration + +See [Vite Configuration Reference](https://vite.dev/config/). + +## Project Setup + +```sh +npm install +``` + +### Compile and Hot-Reload for Development + +```sh +npm run dev +``` + +### Type-Check, Compile and Minify for Production + +```sh +npm run build +``` + +### Run Unit Tests with [Vitest](https://vitest.dev/) + +```sh +npm run test:unit +``` diff --git a/frontend/env.d.ts b/frontend/env.d.ts new file mode 100644 index 0000000..88f11ac --- /dev/null +++ b/frontend/env.d.ts @@ -0,0 +1,10 @@ +/// + +// Vite 환경변수 타입 정의 — VITE_ prefix 만 클라이언트 번들에 포함됨 +interface ImportMetaEnv { + readonly VITE_API_BASE_URL: string +} + +interface ImportMeta { + readonly env: ImportMetaEnv +} diff --git a/frontend/eslint.config.mjs b/frontend/eslint.config.mjs new file mode 100644 index 0000000..a269e3a --- /dev/null +++ b/frontend/eslint.config.mjs @@ -0,0 +1,17 @@ +import pluginVue from 'eslint-plugin-vue' +import vueTsEslintConfig from '@vue/eslint-config-typescript' + +// Flat config — Vue 3 + TypeScript 표준 권장 룰 +export default [ + ...pluginVue.configs['flat/recommended'], + ...vueTsEslintConfig(), + { + rules: { + // 컴포넌트 단어 수 강제 해제 (HomePage 등 단일 컴포넌트도 허용) + 'vue/multi-word-component-names': 'off', + }, + }, + { + ignores: ['dist/**', 'node_modules/**', 'coverage/**'], + }, +] diff --git a/frontend/index.html b/frontend/index.html new file mode 100644 index 0000000..3f0455e --- /dev/null +++ b/frontend/index.html @@ -0,0 +1,14 @@ + + + + + + + + Project Base + + +
+ + + diff --git a/frontend/nginx.conf b/frontend/nginx.conf new file mode 100644 index 0000000..7309278 --- /dev/null +++ b/frontend/nginx.conf @@ -0,0 +1,48 @@ +server { + listen 80; + server_name localhost; + + # ---------------------------------------- + # 보안 헤더 + # ---------------------------------------- + add_header X-Frame-Options "SAMEORIGIN" always; + add_header X-Content-Type-Options "nosniff" always; + add_header X-XSS-Protection "1; mode=block" always; + add_header Referrer-Policy "strict-origin-when-cross-origin" always; + add_header Permissions-Policy "geolocation=(), microphone=(), camera=()" always; + + # ---------------------------------------- + # 압축 (Gzip) + # ---------------------------------------- + gzip on; + gzip_vary on; + gzip_min_length 1024; + gzip_types text/plain text/css text/javascript application/javascript application/json application/xml image/svg+xml; + + # ---------------------------------------- + # SPA 라우팅 + # ---------------------------------------- + location / { + root /usr/share/nginx/html; + index index.html index.htm; + try_files $uri $uri/ /index.html; + + # 정적 자원 캐싱 (SPA 빌드 산출물은 해시 파일명이라 장기 캐싱 가능) + location ~* \.(?:js|css|woff2?|ttf|svg|png|jpg|jpeg|gif|ico)$ { + expires 30d; + add_header Cache-Control "public, immutable"; + } + } + + error_page 500 502 503 504 /50x.html; + location = /50x.html { + root /usr/share/nginx/html; + } + + # 숨김 파일 접근 차단 + location ~ /\. { + deny all; + access_log off; + log_not_found off; + } +} diff --git a/frontend/package-lock.json b/frontend/package-lock.json new file mode 100644 index 0000000..ddad179 --- /dev/null +++ b/frontend/package-lock.json @@ -0,0 +1,7053 @@ +{ + "name": "frontend", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "frontend", + "version": "0.0.0", + "dependencies": { + "axios": "^1.14.0", + "pinia": "^3.0.4", + "vue": "^3.5.31", + "vue-router": "^4.4.5" + }, + "devDependencies": { + "@tsconfig/node24": "^24.0.4", + "@types/jsdom": "^28.0.1", + "@types/node": "^24.12.0", + "@vitejs/plugin-vue": "^6.0.5", + "@vitejs/plugin-vue-jsx": "^5.1.5", + "@vue/eslint-config-typescript": "^14.2.0", + "@vue/test-utils": "^2.4.6", + "@vue/tsconfig": "^0.9.1", + "eslint": "^9.18.0", + "eslint-plugin-vue": "^9.32.0", + "jsdom": "^29.0.1", + "npm-run-all2": "^8.0.4", + "oxfmt": "^0.42.0", + "typescript": "~6.0.0", + "vite": "^8.0.3", + "vite-plugin-vue-devtools": "^8.1.1", + "vitest": "^4.1.2", + "vue-tsc": "^3.2.6" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@asamuzakjp/css-color": { + "version": "5.1.11", + "resolved": "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-5.1.11.tgz", + "integrity": "sha512-KVw6qIiCTUQhByfTd78h2yD1/00waTmm9uy/R7Ck/ctUyAPj+AEDLkQIdJW0T8+qGgj3j5bpNKK7Q3G+LedJWg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@asamuzakjp/generational-cache": "^1.0.1", + "@csstools/css-calc": "^3.2.0", + "@csstools/css-color-parser": "^4.1.0", + "@csstools/css-parser-algorithms": "^4.0.0", + "@csstools/css-tokenizer": "^4.0.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + } + }, + "node_modules/@asamuzakjp/dom-selector": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@asamuzakjp/dom-selector/-/dom-selector-7.1.1.tgz", + "integrity": "sha512-67RZDnYRc8H/8MLDgQCDE//zoqVFwajkepHZgmXrbwybzXOEwOWGPYGmALYl9J2DOLfFPPs6kKCqmbzV895hTQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@asamuzakjp/generational-cache": "^1.0.1", + "@asamuzakjp/nwsapi": "^2.3.9", + "bidi-js": "^1.0.3", + "css-tree": "^3.2.1", + "is-potential-custom-element-name": "^1.0.1" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + } + }, + "node_modules/@asamuzakjp/generational-cache": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@asamuzakjp/generational-cache/-/generational-cache-1.0.1.tgz", + "integrity": "sha512-wajfB8KqzMCN2KGNFdLkReeHncd0AslUSrvHVvvYWuU8ghncRJoA50kT3zP9MVL0+9g4/67H+cdvBskj9THPzg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + } + }, + "node_modules/@asamuzakjp/nwsapi": { + "version": "2.3.9", + "resolved": "https://registry.npmjs.org/@asamuzakjp/nwsapi/-/nwsapi-2.3.9.tgz", + "integrity": "sha512-n8GuYSrI9bF7FFZ/SjhwevlHc8xaVlb/7HmHelnc/PZXBD2ZR49NnN9sMMuDdEGPeeRQ5d0hqlSlEpgCX3Wl0Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/@babel/code-frame": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", + "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.28.5", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.29.3", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.3.tgz", + "integrity": "sha512-LIVqM46zQWZhj17qA8wb4nW/ixr2y1Nw+r1etiAWgRM6U1IqP+LNhL1yg440jYZR72jCWcWbLWzIosH+uP1fqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", + "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helpers": "^7.28.6", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/traverse": "^7.29.0", + "@babel/types": "^7.29.0", + "@jridgewell/remapping": "^2.3.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.29.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz", + "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.0", + "@babel/types": "^7.29.0", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz", + "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.3" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", + "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.28.6", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.29.3", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.29.3.tgz", + "integrity": "sha512-RpLYy2sb51oNLjuu1iD3bwBqCBWUzjO0ocp+iaCP/lJtb2CPLcnC2Fftw+4sAzaMELGeWTgExSKADbdo0GFVzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-member-expression-to-functions": "^7.28.5", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/helper-replace-supers": "^7.28.6", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/traverse": "^7.29.0", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.28.5.tgz", + "integrity": "sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.28.5", + "@babel/types": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", + "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", + "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-validator-identifier": "^7.28.5", + "@babel/traverse": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz", + "integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.28.6.tgz", + "integrity": "sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.28.6.tgz", + "integrity": "sha512-mq8e+laIk94/yFec3DxSjCRD2Z0TAjhVbEJY3UQrlwVo15Lmt7C2wAUbK4bjnTs4APkwsYLTahXRraQXhb1WCg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.28.5", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/traverse": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz", + "integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.2.tgz", + "integrity": "sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.28.6", + "@babel/types": "^7.29.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.3.tgz", + "integrity": "sha512-b3ctpQwp+PROvU/cttc4OYl4MzfJUWy6FZg+PMXfzmt/+39iHVF0sDfqay8TQM3JA2EUOyKcFZt75jWriQijsA==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.0" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-proposal-decorators": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.29.0.tgz", + "integrity": "sha512-CVBVv3VY/XRMxRYq5dwr2DS7/MvqPm23cOCjbwNnVrfOqcWlnefua1uUs0sjdKOGjvPUG633o07uWzJq4oI6dA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/plugin-syntax-decorators": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-decorators": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.28.6.tgz", + "integrity": "sha512-71EYI0ONURHJBL4rSFXnITXqXrrY8q4P0q006DPfN+Rk+ASM+++IBXem/ruokgBZR8YNEWZ8R6B+rCb8VcUTqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.28.6.tgz", + "integrity": "sha512-jiLC0ma9XkQT3TKJ9uYvlakm66Pamywo+qwL+oL8HJOvc6TWdZXVfhqJr8CCzbSGUAbDOzlGHJC1U+vRfLQDvw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.28.6.tgz", + "integrity": "sha512-wgEmr06G6sIpqr8YDwA2dSRTE3bJ+V0IfpzfSY3Lfgd7YWOaAdlykvJi13ZKBt8cZHfgH1IXN+CL656W3uUa4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.28.6.tgz", + "integrity": "sha512-+nDNmQye7nlnuuHDboPbGm00Vqg3oO8niRRL27/4LYHUsHYh0zJ1xWOz0uRwNFmM1Avzk8wZbc6rdiYhomzv/A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.28.6.tgz", + "integrity": "sha512-0YWL2RFxOqEm9Efk5PvreamxPME8OyY0wM5wh5lHjF+VtVhdneCWGzZeSqzOfiobVqQaNCd2z0tQvnI9DaPWPw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-create-class-features-plugin": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/plugin-syntax-typescript": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", + "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.28.6", + "@babel/parser": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", + "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/types": "^7.29.0", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", + "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bramus/specificity": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@bramus/specificity/-/specificity-2.4.2.tgz", + "integrity": "sha512-ctxtJ/eA+t+6q2++vj5j7FYX3nRu311q1wfYH3xjlLOsczhlhxAg2FWNUXhpGvAw3BWo1xBcvOV6/YLc2r5FJw==", + "dev": true, + "license": "MIT", + "dependencies": { + "css-tree": "^3.0.0" + }, + "bin": { + "specificity": "bin/cli.js" + } + }, + "node_modules/@csstools/color-helpers": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-6.0.2.tgz", + "integrity": "sha512-LMGQLS9EuADloEFkcTBR3BwV/CGHV7zyDxVRtVDTwdI2Ca4it0CCVTT9wCkxSgokjE5Ho41hEPgb8OEUwoXr6Q==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=20.19.0" + } + }, + "node_modules/@csstools/css-calc": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-3.2.0.tgz", + "integrity": "sha512-bR9e6o2BDB12jzN/gIbjHa5wLJ4UjD1CB9pM7ehlc0ddk6EBz+yYS1EV2MF55/HUxrHcB/hehAyt5vhsA3hx7w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=20.19.0" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^4.0.0", + "@csstools/css-tokenizer": "^4.0.0" + } + }, + "node_modules/@csstools/css-color-parser": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-4.1.0.tgz", + "integrity": "sha512-U0KhLYmy2GVj6q4T3WaAe6NPuFYCPQoE3b0dRGxejWDgcPp8TP7S5rVdM5ZrFaqu4N67X8YaPBw14dQSYx3IyQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "dependencies": { + "@csstools/color-helpers": "^6.0.2", + "@csstools/css-calc": "^3.2.0" + }, + "engines": { + "node": ">=20.19.0" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^4.0.0", + "@csstools/css-tokenizer": "^4.0.0" + } + }, + "node_modules/@csstools/css-parser-algorithms": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-4.0.0.tgz", + "integrity": "sha512-+B87qS7fIG3L5h3qwJ/IFbjoVoOe/bpOdh9hAjXbvx0o8ImEmUsGXN0inFOnk2ChCFgqkkGFQ+TpM5rbhkKe4w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=20.19.0" + }, + "peerDependencies": { + "@csstools/css-tokenizer": "^4.0.0" + } + }, + "node_modules/@csstools/css-syntax-patches-for-csstree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.1.3.tgz", + "integrity": "sha512-SH60bMfrRCJF3morcdk57WklujF4Jr/EsQUzqkarfHXEFcAR1gg7fS/chAE922Sehgzc1/+Tz5H3Ypa1HiEKrg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "peerDependencies": { + "css-tree": "^3.2.1" + }, + "peerDependenciesMeta": { + "css-tree": { + "optional": true + } + } + }, + "node_modules/@csstools/css-tokenizer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-4.0.0.tgz", + "integrity": "sha512-QxULHAm7cNu72w97JUNCBFODFaXpbDg+dP8b/oWFAZ2MTRppA3U00Y2L1HqaS4J6yBqxwa/Y3nMBaxVKbB/NsA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=20.19.0" + } + }, + "node_modules/@emnapi/core": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.10.0.tgz", + "integrity": "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.2.1", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/core/node_modules/@emnapi/wasi-threads": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz", + "integrity": "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz", + "integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", + "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", + "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/config-array": { + "version": "0.21.2", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.2.tgz", + "integrity": "sha512-nJl2KGTlrf9GjLimgIru+V/mzgSK0ABCDQRvxw5BjURL7WfH5uoWmizbH7QB6MmnMBd8cIC9uceWnezL1VZWWw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^2.1.7", + "debug": "^4.3.1", + "minimatch": "^3.1.5" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/config-array/node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@eslint/config-array/node_modules/brace-expansion": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", + "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@eslint/config-array/node_modules/minimatch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@eslint/config-helpers": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz", + "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.17.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/core": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz", + "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.5.tgz", + "integrity": "sha512-4IlJx0X0qftVsN5E+/vGujTRIFtwuLbNsVUe7TO6zYPDR1O6nFwvwhIKEKSrl6dZchmYBITazxKoUYOjdtjlRg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.14.0", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.1", + "minimatch": "^3.1.5", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", + "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@eslint/eslintrc/node_modules/minimatch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@eslint/js": { + "version": "9.39.4", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.4.tgz", + "integrity": "sha512-nE7DEIchvtiFTwBw4Lfbu59PG+kCofhjsKaCWzxTpt4lfRjRMqG6uMBzKXuEcyXhOHoUp9riAm7/aWYGhXZ9cw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz", + "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz", + "integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.17.0", + "levn": "^0.4.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@exodus/bytes": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/@exodus/bytes/-/bytes-1.15.0.tgz", + "integrity": "sha512-UY0nlA+feH81UGSHv92sLEPLCeZFjXOuHhrIo0HQydScuQc8s0A7kL/UdgwgDq8g8ilksmuoF35YVTNphV2aBQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@noble/hashes": "^1.8.0 || ^2.0.0" + }, + "peerDependenciesMeta": { + "@noble/hashes": { + "optional": true + } + } + }, + "node_modules/@humanfs/core": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.2.tgz", + "integrity": "sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/types": "^0.15.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.8", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.8.tgz", + "integrity": "sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/core": "^0.19.2", + "@humanfs/types": "^0.15.0", + "@humanwhocodes/retry": "^0.4.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/types": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@humanfs/types/-/types-0.15.0.tgz", + "integrity": "sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.5.tgz", + "integrity": "sha512-AWPoBRJ9tsnVhor4sjO7rkni+7p+2IAEFj6cx06UgP10jkQHqay/36uRV/bFkgrh18D9vb4cr8Q0Pthskgzy+Q==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@tybys/wasm-util": "^0.10.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "peerDependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@one-ini/wasm": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@one-ini/wasm/-/wasm-0.1.1.tgz", + "integrity": "sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@oxc-project/types": { + "version": "0.127.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.127.0.tgz", + "integrity": "sha512-aIYXQBo4lCbO4z0R3FHeucQHpF46l2LbMdxRvqvuRuW2OxdnSkcng5B8+K12spgLDj93rtN3+J2Vac/TIO+ciQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/Boshen" + } + }, + "node_modules/@oxfmt/binding-android-arm-eabi": { + "version": "0.42.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-android-arm-eabi/-/binding-android-arm-eabi-0.42.0.tgz", + "integrity": "sha512-dsqPTYsozeokRjlrt/b4E7Pj0z3eS3Eg74TWQuuKbjY4VttBmA88rB7d50Xrd+TZ986qdXCNeZRPEzZHAe+jow==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxfmt/binding-android-arm64": { + "version": "0.42.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-android-arm64/-/binding-android-arm64-0.42.0.tgz", + "integrity": "sha512-t+aAjHxcr5eOBphFHdg1ouQU9qmZZoRxnX7UOJSaTwSoKsb6TYezNKO0YbWytGXCECObRqNcUxPoPr0KaraAIg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxfmt/binding-darwin-arm64": { + "version": "0.42.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-darwin-arm64/-/binding-darwin-arm64-0.42.0.tgz", + "integrity": "sha512-ulpSEYMKg61C5bRMZinFHrKJYRoKGVbvMEXA5zM1puX3O9T6Q4XXDbft20yrDijpYWeuG59z3Nabt+npeTsM1A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxfmt/binding-darwin-x64": { + "version": "0.42.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-darwin-x64/-/binding-darwin-x64-0.42.0.tgz", + "integrity": "sha512-ttxLKhQYPdFiM8I/Ri37cvqChE4Xa562nNOsZFcv1CKTVLeEozXjKuYClNvxkXmNlcF55nzM80P+CQkdFBu+uQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxfmt/binding-freebsd-x64": { + "version": "0.42.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-freebsd-x64/-/binding-freebsd-x64-0.42.0.tgz", + "integrity": "sha512-Og7QS3yI3tdIKYZ58SXik0rADxIk2jmd+/YvuHRyKULWpG4V2fR5V4hvKm624Mc0cQET35waPXiCQWvjQEjwYQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxfmt/binding-linux-arm-gnueabihf": { + "version": "0.42.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-0.42.0.tgz", + "integrity": "sha512-jwLOw/3CW4H6Vxcry4/buQHk7zm9Ne2YsidzTL1kpiMe4qqrRCwev3dkyWe2YkFmP+iZCQ7zku4KwjcLRoh8ew==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxfmt/binding-linux-arm-musleabihf": { + "version": "0.42.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-arm-musleabihf/-/binding-linux-arm-musleabihf-0.42.0.tgz", + "integrity": "sha512-XwXu2vkMtiq2h7tfvN+WA/9/5/1IoGAVCFPiiQUvcAuG3efR97KNcRGM8BetmbYouFotQ2bDal3yyjUx6IPsTg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxfmt/binding-linux-arm64-gnu": { + "version": "0.42.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-0.42.0.tgz", + "integrity": "sha512-ea7s/XUJoT7ENAtUQDudFe3nkSM3e3Qpz4nJFRdzO2wbgXEcjnchKLEsV3+t4ev3r8nWxIYr9NRjPWtnyIFJVA==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxfmt/binding-linux-arm64-musl": { + "version": "0.42.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-arm64-musl/-/binding-linux-arm64-musl-0.42.0.tgz", + "integrity": "sha512-+JA0YMlSdDqmacygGi2REp57c3fN+tzARD8nwsukx9pkCHK+6DkbAA9ojS4lNKsiBjIW8WWa0pBrBWhdZEqfuw==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxfmt/binding-linux-ppc64-gnu": { + "version": "0.42.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-0.42.0.tgz", + "integrity": "sha512-VfnET0j4Y5mdfCzh5gBt0NK28lgn5DKx+8WgSMLYYeSooHhohdbzwAStLki9pNuGy51y4I7IoW8bqwAaCMiJQg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxfmt/binding-linux-riscv64-gnu": { + "version": "0.42.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-riscv64-gnu/-/binding-linux-riscv64-gnu-0.42.0.tgz", + "integrity": "sha512-gVlCbmBkB0fxBWbhBj9rcxezPydsQHf4MFKeHoTSPicOQ+8oGeTQgQ8EeesSybWeiFPVRx3bgdt4IJnH6nOjAA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxfmt/binding-linux-riscv64-musl": { + "version": "0.42.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-riscv64-musl/-/binding-linux-riscv64-musl-0.42.0.tgz", + "integrity": "sha512-zN5OfstL0avgt/IgvRu0zjQzVh/EPkcLzs33E9LMAzpqlLWiPWeMDZyMGFlSRGOdDjuNmlZBCgj0pFnK5u32TQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxfmt/binding-linux-s390x-gnu": { + "version": "0.42.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-0.42.0.tgz", + "integrity": "sha512-9X6+H2L0qMc2sCAgO9HS03bkGLMKvOFjmEdchaFlany3vNZOjnVui//D8k/xZAtQv2vaCs1reD5KAgPoIU4msA==", + "cpu": [ + "s390x" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxfmt/binding-linux-x64-gnu": { + "version": "0.42.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-x64-gnu/-/binding-linux-x64-gnu-0.42.0.tgz", + "integrity": "sha512-BajxJ6KQvMMdpXGPWhBGyjb2Jvx4uec0w+wi6TJZ6Tv7+MzPwe0pO8g5h1U0jyFgoaF7mDl6yKPW3ykWcbUJRw==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxfmt/binding-linux-x64-musl": { + "version": "0.42.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-x64-musl/-/binding-linux-x64-musl-0.42.0.tgz", + "integrity": "sha512-0wV284I6vc5f0AqAhgAbHU2935B4bVpncPoe5n/WzVZY/KnHgqxC8iSFGeSyLWEgstFboIcWkOPck7tqbdHkzA==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxfmt/binding-openharmony-arm64": { + "version": "0.42.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-openharmony-arm64/-/binding-openharmony-arm64-0.42.0.tgz", + "integrity": "sha512-p4BG6HpGnhfgHk1rzZfyR6zcWkE7iLrWxyehHfXUy4Qa5j3e0roglFOdP/Nj5cJJ58MA3isQ5dlfkW2nNEpolw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxfmt/binding-win32-arm64-msvc": { + "version": "0.42.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-0.42.0.tgz", + "integrity": "sha512-mn//WV60A+IetORDxYieYGAoQso4KnVRRjORDewMcod4irlRe0OSC7YPhhwaexYNPQz/GCFk+v9iUcZ2W22yxQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxfmt/binding-win32-ia32-msvc": { + "version": "0.42.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-0.42.0.tgz", + "integrity": "sha512-3gWltUrvuz4LPJXWivoAxZ28Of2O4N7OGuM5/X3ubPXCEV8hmgECLZzjz7UYvSDUS3grfdccQwmjynm+51EFpw==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxfmt/binding-win32-x64-msvc": { + "version": "0.42.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-win32-x64-msvc/-/binding-win32-x64-msvc-0.42.0.tgz", + "integrity": "sha512-Wg4TMAfQRL9J9AZevJ/ZNy3uyyDztDYQtGr4P8UyyzIhLhFrdSmz1J/9JT+rv0fiCDLaFOBQnj3f3K3+a5PzDQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@polka/url": { + "version": "1.0.0-next.29", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.29.tgz", + "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==", + "dev": true, + "license": "MIT" + }, + "node_modules/@rolldown/binding-android-arm64": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-rc.17.tgz", + "integrity": "sha512-s70pVGhw4zqGeFnXWvAzJDlvxhlRollagdCCKRgOsgUOH3N1l0LIxf83AtGzmb5SiVM4Hjl5HyarMRfdfj3DaQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-darwin-arm64": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-rc.17.tgz", + "integrity": "sha512-4ksWc9n0mhlZpZ9PMZgTGjeOPRu8MB1Z3Tz0Mo02eWfWCHMW1zN82Qz/pL/rC+yQa+8ZnutMF0JjJe7PjwasYw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-darwin-x64": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-rc.17.tgz", + "integrity": "sha512-SUSDOI6WwUVNcWxd02QEBjLdY1VPHvlEkw6T/8nYG322iYWCTxRb1vzk4E+mWWYehTp7ERibq54LSJGjmouOsw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-freebsd-x64": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-rc.17.tgz", + "integrity": "sha512-hwnz3nw9dbJ05EDO/PvcjaaewqqDy7Y1rn1UO81l8iIK1GjenME75dl16ajbvSSMfv66WXSRCYKIqfgq2KCfxw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm-gnueabihf": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-rc.17.tgz", + "integrity": "sha512-IS+W7epTcwANmFSQFrS1SivEXHtl1JtuQA9wlxrZTcNi6mx+FDOYrakGevvvTwgj2JvWiK8B29/qD9BELZPyXQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm64-gnu": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-rc.17.tgz", + "integrity": "sha512-e6usGaHKW5BMNZOymS1UcEYGowQMWcgZ71Z17Sl/h2+ZziNJ1a9n3Zvcz6LdRyIW5572wBCTH/Z+bKuZouGk9Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm64-musl": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-rc.17.tgz", + "integrity": "sha512-b/CgbwAJpmrRLp02RPfhbudf5tZnN9nsPWK82znefso832etkem8H7FSZwxrOI9djcdTP7U6YfNhbRnh7djErg==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-ppc64-gnu": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.0.0-rc.17.tgz", + "integrity": "sha512-4EII1iNGRUN5WwGbF/kOh/EIkoDN9HsupgLQoXfY+D1oyJm7/F4t5PYU5n8SWZgG0FEwakyM8pGgwcBYruGTlA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-s390x-gnu": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.0.0-rc.17.tgz", + "integrity": "sha512-AH8oq3XqQo4IibpVXvPeLDI5pzkpYn0WiZAfT05kFzoJ6tQNzwRdDYQ45M8I/gslbodRZwW8uxLhbSBbkv96rA==", + "cpu": [ + "s390x" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-x64-gnu": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-rc.17.tgz", + "integrity": "sha512-cLnjV3xfo7KslbU41Z7z8BH/E1y5mzUYzAqih1d1MDaIGZRCMqTijqLv76/P7fyHuvUcfGsIpqCdddbxLLK9rA==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-x64-musl": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-rc.17.tgz", + "integrity": "sha512-0phclDw1spsL7dUB37sIARuis2tAgomCJXAHZlpt8PXZ4Ba0dRP1e+66lsRqrfhISeN9bEGNjQs+T/Fbd7oYGw==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-openharmony-arm64": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-rc.17.tgz", + "integrity": "sha512-0ag/hEgXOwgw4t8QyQvUCxvEg+V0KBcA6YuOx9g0r02MprutRF5dyljgm3EmR02O292UX7UeS6HzWHAl6KgyhA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-wasm32-wasi": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-rc.17.tgz", + "integrity": "sha512-LEXei6vo0E5wTGwpkJ4KoT3OZJRnglwldt5ziLzOlc6qqb55z4tWNq2A+PFqCJuvWWdP53CVhG1Z9NtToDPJrA==", + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "1.10.0", + "@emnapi/runtime": "1.10.0", + "@napi-rs/wasm-runtime": "^1.1.4" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-win32-arm64-msvc": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-rc.17.tgz", + "integrity": "sha512-gUmyzBl3SPMa6hrqFUth9sVfcLBlYsbMzBx5PlexMroZStgzGqlZ26pYG89rBb45Mnia+oil6YAIFeEWGWhoZA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-win32-x64-msvc": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-rc.17.tgz", + "integrity": "sha512-3hkiolcUAvPB9FLb3UZdfjVVNWherN1f/skkGWJP/fgSQhYUZpSIRr0/I8ZK9TkF3F7kxvJAk0+IcKvPHk9qQg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-rc.13", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.13.tgz", + "integrity": "sha512-3ngTAv6F/Py35BsYbeeLeecvhMKdsKm4AoOETVhAA+Qc8nrA2I0kF7oa93mE9qnIurngOSpMnQ0x2nQY2FPviA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@standard-schema/spec": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz", + "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node24": { + "version": "24.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node24/-/node24-24.0.4.tgz", + "integrity": "sha512-2A933l5P5oCbv6qSxHs7ckKwobs8BDAe9SJ/Xr2Hy+nDlwmLE1GhFh/g/vXGRZWgxBg9nX/5piDtHR9Dkw/XuA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tybys/wasm-util": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.2.tgz", + "integrity": "sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@types/chai": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.3.tgz", + "integrity": "sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/deep-eql": "*", + "assertion-error": "^2.0.1" + } + }, + "node_modules/@types/deep-eql": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz", + "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/estree": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", + "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/jsdom": { + "version": "28.0.1", + "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-28.0.1.tgz", + "integrity": "sha512-GJq2QE4TAZ5ajSoCasn5DOFm8u1mI3tIFvM5tIq3W5U/RTB6gsHwc6Yhpl91X9VSDOUVblgXmG+2+sSvFQrdlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/tough-cookie": "*", + "parse5": "^7.0.0", + "undici-types": "^7.21.0" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "24.12.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.12.2.tgz", + "integrity": "sha512-A1sre26ke7HDIuY/M23nd9gfB+nrmhtYyMINbjI1zHJxYteKR6qSMX56FsmjMcDb3SMcjJg5BiRRgOCC/yBD0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~7.16.0" + } + }, + "node_modules/@types/node/node_modules/undici-types": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/tough-cookie": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz", + "integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "8.59.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.59.2.tgz", + "integrity": "sha512-j/bwmkBvHUtPNxzuWe5z6BEk3q54YRyGlBXkSsmfoih7zNrBvl5A9A98anlp/7JbyZcWIJ8KXo/3Tq/DjFLtuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.12.2", + "@typescript-eslint/scope-manager": "8.59.2", + "@typescript-eslint/type-utils": "8.59.2", + "@typescript-eslint/utils": "8.59.2", + "@typescript-eslint/visitor-keys": "8.59.2", + "ignore": "^7.0.5", + "natural-compare": "^1.4.0", + "ts-api-utils": "^2.5.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^8.59.2", + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "8.59.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.59.2.tgz", + "integrity": "sha512-plR3pp6D+SSUn1HM7xvSkx12/DhoHInI2YF35KAcVFNZvlC0gtrWqx7Qq1oH2Ssgi0vlFRCTbP+DZc7B9+TtsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/scope-manager": "8.59.2", + "@typescript-eslint/types": "8.59.2", + "@typescript-eslint/typescript-estree": "8.59.2", + "@typescript-eslint/visitor-keys": "8.59.2", + "debug": "^4.4.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/project-service": { + "version": "8.59.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.59.2.tgz", + "integrity": "sha512-+2hqvEkeyf/0FBor67duF0Ll7Ot8jyKzDQOSrxazF/danillRq2DwR9dLptsXpoZQqxE1UisSmoZewrlPas9Vw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/tsconfig-utils": "^8.59.2", + "@typescript-eslint/types": "^8.59.2", + "debug": "^4.4.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "8.59.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.59.2.tgz", + "integrity": "sha512-JzfyEpEtOU89CcFSwyNS3mu4MLvLSXqnmX05+aKBDM+TdR5jzcGOEBwxwGNxrEQ7p/z6kK2WyioCGBf2zZBnvg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.59.2", + "@typescript-eslint/visitor-keys": "8.59.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/tsconfig-utils": { + "version": "8.59.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.59.2.tgz", + "integrity": "sha512-BKK4alN7oi4C/zv4VqHQ+uRU+lTa6JGIZ7s1juw7b3RHo9OfKB+bKX3u0iVZetdsUCBBkSbdWbarJbmN0fTeSw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "8.59.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.59.2.tgz", + "integrity": "sha512-nhqaj1nmTdVVl/BP5omXNRGO38jn5iosis2vbdmupF2txCf8ylWT8lx+JlvMYYVqzGVKtjojUFoQ3JRWK+mfzQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.59.2", + "@typescript-eslint/typescript-estree": "8.59.2", + "@typescript-eslint/utils": "8.59.2", + "debug": "^4.4.3", + "ts-api-utils": "^2.5.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "8.59.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.59.2.tgz", + "integrity": "sha512-e82GVOE8Ps3E++Egvb6Y3Dw0S10u8NkQ9KXmtRhCWJJ8kDhOJTvtMAWnFL16kB1583goCWXsr0NieKCZMs2/0Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "8.59.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.59.2.tgz", + "integrity": "sha512-o0XPGNwcWw+FIwStOWn+BwBuEmL6QXP0rsvAFg7ET1dey1Nr6Wb1ac8p5HEsK0ygO/6mUxlk+YWQD9xcb/nnXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/project-service": "8.59.2", + "@typescript-eslint/tsconfig-utils": "8.59.2", + "@typescript-eslint/types": "8.59.2", + "@typescript-eslint/visitor-keys": "8.59.2", + "debug": "^4.4.3", + "minimatch": "^10.2.2", + "semver": "^7.7.3", + "tinyglobby": "^0.2.15", + "ts-api-utils": "^2.5.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "8.59.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.59.2.tgz", + "integrity": "sha512-Juw3EinkXqjaffxz6roowvV7GZT/kET5vSKKZT6upl5TXdWkLkYmNPXwDDL2Vkt2DPn0nODIS4egC/0AGxKo/Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.9.1", + "@typescript-eslint/scope-manager": "8.59.2", + "@typescript-eslint/types": "8.59.2", + "@typescript-eslint/typescript-estree": "8.59.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "8.59.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.59.2.tgz", + "integrity": "sha512-NwjLUnGy8/Zfx23fl50tRC8rYaYnM52xNRYFAXvmiil9yh1+K6aRVQMnzW6gQB/1DLgWt977lYQn7C+wtgXZiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.59.2", + "eslint-visitor-keys": "^5.0.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", + "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@vitejs/plugin-vue": { + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-6.0.6.tgz", + "integrity": "sha512-u9HHgfrq3AjXlysn0eINFnWQOJQLO9WN6VprZ8FXl7A2bYisv3Hui9Ij+7QZ41F/WYWarHjwBbXtD7dKg3uxbg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rolldown/pluginutils": "1.0.0-rc.13" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "peerDependencies": { + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0", + "vue": "^3.2.25" + } + }, + "node_modules/@vitejs/plugin-vue-jsx": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue-jsx/-/plugin-vue-jsx-5.1.5.tgz", + "integrity": "sha512-jIAsvHOEtWpslLOI2MeElGFxH7M8pM83BU/Tor4RLyiwH0FM4nUW3xdvbw20EeU9wc5IspQwMq225K3CMnJEpA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.29.0", + "@babel/plugin-syntax-typescript": "^7.28.6", + "@babel/plugin-transform-typescript": "^7.28.6", + "@rolldown/pluginutils": "^1.0.0-rc.2", + "@vue/babel-plugin-jsx": "^2.0.1" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "peerDependencies": { + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0", + "vue": "^3.0.0" + } + }, + "node_modules/@vitest/expect": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.1.5.tgz", + "integrity": "sha512-PWBaRY5JoKuRnHlUHfpV/KohFylaDZTupcXN1H9vYryNLOnitSw60Mw9IAE2r67NbwwzBw/Cc/8q9BK3kIX8Kw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@standard-schema/spec": "^1.1.0", + "@types/chai": "^5.2.2", + "@vitest/spy": "4.1.5", + "@vitest/utils": "4.1.5", + "chai": "^6.2.2", + "tinyrainbow": "^3.1.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/mocker": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.1.5.tgz", + "integrity": "sha512-/x2EmFC4mT4NNzqvC3fmesuV97w5FC903KPmey4gsnJiMQ3Be1IlDKVaDaG8iqaLFHqJ2FVEkxZk5VmeLjIItw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/spy": "4.1.5", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.21" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "msw": "^2.4.9", + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "msw": { + "optional": true + }, + "vite": { + "optional": true + } + } + }, + "node_modules/@vitest/mocker/node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/@vitest/pretty-format": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.1.5.tgz", + "integrity": "sha512-7I3q6l5qr03dVfMX2wCo9FxwSJbPdwKjy2uu/YPpU3wfHvIL4QHwVRp57OfGrDFeUJ8/8QdfBKIV12FTtLn00g==", + "dev": true, + "license": "MIT", + "dependencies": { + "tinyrainbow": "^3.1.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/runner": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.1.5.tgz", + "integrity": "sha512-2D+o7Pr82IEO46YPpoA/YU0neeyr6FTerQb5Ro7BUnBuv6NQtT/kmVnczngiMEBhzgqz2UZYl5gArejsyERDSQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/utils": "4.1.5", + "pathe": "^2.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/snapshot": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.1.5.tgz", + "integrity": "sha512-zypXEt4KH/XgKGPUz4eC2AvErYx0My5hfL8oDb1HzGFpEk1P62bxSohdyOmvz+d9UJwanI68MKwr2EquOaOgMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "4.1.5", + "@vitest/utils": "4.1.5", + "magic-string": "^0.30.21", + "pathe": "^2.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/spy": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.1.5.tgz", + "integrity": "sha512-2lNOsh6+R2Idnf1TCZqSwYlKN2E/iDlD8sgU59kYVl+OMDmvldO1VDk39smRfpUNwYpNRVn3w4YfuC7KfbBnkQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/utils": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.1.5.tgz", + "integrity": "sha512-76wdkrmfXfqGjueGgnb45ITPyUi1ycZ4IHgC2bhPDUfWHklY/q3MdLOAB+TF1e6xfl8NxNY0ZYaPCFNWSsw3Ug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "4.1.5", + "convert-source-map": "^2.0.0", + "tinyrainbow": "^3.1.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@volar/language-core": { + "version": "2.4.28", + "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.4.28.tgz", + "integrity": "sha512-w4qhIJ8ZSitgLAkVay6AbcnC7gP3glYM3fYwKV3srj8m494E3xtrCv6E+bWviiK/8hs6e6t1ij1s2Endql7vzQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/source-map": "2.4.28" + } + }, + "node_modules/@volar/source-map": { + "version": "2.4.28", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.4.28.tgz", + "integrity": "sha512-yX2BDBqJkRXfKw8my8VarTyjv48QwxdJtvRgUpNE5erCsgEUdI2DsLbpa+rOQVAJYshY99szEcRDmyHbF10ggQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@volar/typescript": { + "version": "2.4.28", + "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-2.4.28.tgz", + "integrity": "sha512-Ja6yvWrbis2QtN4ClAKreeUZPVYMARDYZl9LMEv1iQ1QdepB6wn0jTRxA9MftYmYa4DQ4k/DaSZpFPUfxl8giw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/language-core": "2.4.28", + "path-browserify": "^1.0.1", + "vscode-uri": "^3.0.8" + } + }, + "node_modules/@vue/babel-helper-vue-transform-on": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-2.0.1.tgz", + "integrity": "sha512-uZ66EaFbnnZSYqYEyplWvn46GhZ1KuYSThdT68p+am7MgBNbQ3hphTL9L+xSIsWkdktwhPYLwPgVWqo96jDdRA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/babel-plugin-jsx": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-2.0.1.tgz", + "integrity": "sha512-a8CaLQjD/s4PVdhrLD/zT574ZNPnZBOY+IhdtKWRB4HRZ0I2tXBi5ne7d9eCfaYwp5gU5+4KIyFTV1W1YL9xZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-syntax-jsx": "^7.27.1", + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.28.4", + "@babel/types": "^7.28.4", + "@vue/babel-helper-vue-transform-on": "2.0.1", + "@vue/babel-plugin-resolve-type": "2.0.1", + "@vue/shared": "^3.5.22" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + } + } + }, + "node_modules/@vue/babel-plugin-resolve-type": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-resolve-type/-/babel-plugin-resolve-type-2.0.1.tgz", + "integrity": "sha512-ybwgIuRGRRBhOU37GImDoWQoz+TlSqap65qVI6iwg/J7FfLTLmMf97TS7xQH9I7Qtr/gp161kYVdhr1ZMraSYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/parser": "^7.28.4", + "@vue/compiler-sfc": "^3.5.22" + }, + "funding": { + "url": "https://github.com/sponsors/sxzz" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/compiler-core": { + "version": "3.5.34", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.34.tgz", + "integrity": "sha512-s9cLyK5mLcvZ4Agva5QgRsQyLKvts9WbU9DB6NqiZkkGEdwmcEiylj5Jbwkp680drF/NNCV8OlAJSe+yMLxaJw==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.3", + "@vue/shared": "3.5.34", + "entities": "^7.0.1", + "estree-walker": "^2.0.2", + "source-map-js": "^1.2.1" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.5.34", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.34.tgz", + "integrity": "sha512-EbF/T++k0e2MMZlJsBhzK8Sgwt0HcIPOhzn1CTB/lv6sQcyk+OWf8YeiLxZp3ro7MbbLcAfAJ6sEvjFWuNgUCw==", + "license": "MIT", + "dependencies": { + "@vue/compiler-core": "3.5.34", + "@vue/shared": "3.5.34" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.5.34", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.34.tgz", + "integrity": "sha512-D/ihr6uZeIt6r+pVZf46RWT1fAsLFMbUP7k8G1VkiiWexriED9GrX3echHd4Abbt17zjlfiFJ8z7a3BxZOPNjg==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.3", + "@vue/compiler-core": "3.5.34", + "@vue/compiler-dom": "3.5.34", + "@vue/compiler-ssr": "3.5.34", + "@vue/shared": "3.5.34", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.21", + "postcss": "^8.5.14", + "source-map-js": "^1.2.1" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.5.34", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.34.tgz", + "integrity": "sha512-cDtTHKibkThKGHH1SP+WdccquNRYQDFH6rRjQCqT9G2ltFAfoR5pUftpab/z+aM5mW9HLLVQW7hfKKQe/1GBeQ==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.5.34", + "@vue/shared": "3.5.34" + } + }, + "node_modules/@vue/devtools-api": { + "version": "7.7.9", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-7.7.9.tgz", + "integrity": "sha512-kIE8wvwlcZ6TJTbNeU2HQNtaxLx3a84aotTITUuL/4bzfPxzajGBOoqjMhwZJ8L9qFYDU/lAYMEEm11dnZOD6g==", + "license": "MIT", + "dependencies": { + "@vue/devtools-kit": "^7.7.9" + } + }, + "node_modules/@vue/devtools-core": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/@vue/devtools-core/-/devtools-core-8.1.1.tgz", + "integrity": "sha512-bCCsSABp1/ot4j8xJEycM6Mtt2wbuucfByr6hMgjbYhrtlscOJypZKvy8f1FyWLYrLTchB5Qz216Lm92wfbq0A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/devtools-kit": "^8.1.1", + "@vue/devtools-shared": "^8.1.1" + }, + "peerDependencies": { + "vue": "^3.0.0" + } + }, + "node_modules/@vue/devtools-core/node_modules/@vue/devtools-kit": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/@vue/devtools-kit/-/devtools-kit-8.1.1.tgz", + "integrity": "sha512-gVBaBv++i+adg4JpH71k9ppl4soyR7Y2McEqO5YNgv0BI1kMZ7BDX5gnwkZ5COYgiCyhejZG+yGNrBAjj6Coqg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/devtools-shared": "^8.1.1", + "birpc": "^2.6.1", + "hookable": "^5.5.3", + "perfect-debounce": "^2.0.0" + } + }, + "node_modules/@vue/devtools-core/node_modules/@vue/devtools-shared": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/@vue/devtools-shared/-/devtools-shared-8.1.1.tgz", + "integrity": "sha512-+h4ttmJYl/txpxHKaoZcaKpC+pvckgLzIDiSQlaQ7kKthKh8KuwoLW2D8hPJEnqKzXOvu15UHEoGyngAXCz0EQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/devtools-core/node_modules/perfect-debounce": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-2.1.0.tgz", + "integrity": "sha512-LjgdTytVFXeUgtHZr9WYViYSM/g8MkcTPYDlPa3cDqMirHjKiSZPYd6DoL7pK8AJQr+uWkQvCjHNdiMqsrJs+g==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/devtools-kit": { + "version": "7.7.9", + "resolved": "https://registry.npmjs.org/@vue/devtools-kit/-/devtools-kit-7.7.9.tgz", + "integrity": "sha512-PyQ6odHSgiDVd4hnTP+aDk2X4gl2HmLDfiyEnn3/oV+ckFDuswRs4IbBT7vacMuGdwY/XemxBoh302ctbsptuA==", + "license": "MIT", + "dependencies": { + "@vue/devtools-shared": "^7.7.9", + "birpc": "^2.3.0", + "hookable": "^5.5.3", + "mitt": "^3.0.1", + "perfect-debounce": "^1.0.0", + "speakingurl": "^14.0.1", + "superjson": "^2.2.2" + } + }, + "node_modules/@vue/devtools-shared": { + "version": "7.7.9", + "resolved": "https://registry.npmjs.org/@vue/devtools-shared/-/devtools-shared-7.7.9.tgz", + "integrity": "sha512-iWAb0v2WYf0QWmxCGy0seZNDPdO3Sp5+u78ORnyeonS6MT4PC7VPrryX2BpMJrwlDeaZ6BD4vP4XKjK0SZqaeA==", + "license": "MIT", + "dependencies": { + "rfdc": "^1.4.1" + } + }, + "node_modules/@vue/eslint-config-typescript": { + "version": "14.7.0", + "resolved": "https://registry.npmjs.org/@vue/eslint-config-typescript/-/eslint-config-typescript-14.7.0.tgz", + "integrity": "sha512-iegbMINVc+seZ/QxtzWiOBozctrHiF2WvGedruu2EbLujg9VuU0FQiNcN2z1ycuaoKKpF4m2qzB5HDEMKbxtIg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/utils": "^8.56.0", + "fast-glob": "^3.3.3", + "typescript-eslint": "^8.56.0", + "vue-eslint-parser": "^10.4.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "peerDependencies": { + "eslint": "^9.10.0 || ^10.0.0", + "eslint-plugin-vue": "^9.28.0 || ^10.0.0", + "typescript": ">=4.8.4" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@vue/language-core": { + "version": "3.2.8", + "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-3.2.8.tgz", + "integrity": "sha512-9OiSPQFiAAWNVnXb0d2dcTmcKnFQamhuNES6ayyISrb/mwPWVgoGdAqSfCWqKhQpa3D5gDTcYD+w7ObiheZ81g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/language-core": "2.4.28", + "@vue/compiler-dom": "^3.5.0", + "@vue/shared": "^3.5.0", + "alien-signals": "^3.1.2", + "muggle-string": "^0.4.1", + "path-browserify": "^1.0.1", + "picomatch": "^4.0.4" + } + }, + "node_modules/@vue/language-core/node_modules/picomatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/@vue/reactivity": { + "version": "3.5.34", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.34.tgz", + "integrity": "sha512-y9XDjCEuBp+98k+UL5dbYkh57AHU4o6cxZedOPXw3bmrZZYLQsVHguGurq7hVrPCSrQtrnz1f9dssyFr+dMXfQ==", + "license": "MIT", + "dependencies": { + "@vue/shared": "3.5.34" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.5.34", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.34.tgz", + "integrity": "sha512-mKeBYvu8tcMSLhypAHBmriUFfWXKTCF/23Z4jiCoYK3UtWepkliViNLuR90V9XOyD62mUxs9p1jsrpK3CCGIzw==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.34", + "@vue/shared": "3.5.34" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.5.34", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.34.tgz", + "integrity": "sha512-e8kZzERmCwUnBRVsgSQlAfrfU2rGoy0FFKPBXSlfEjc/O3KfA7QP0t1/2ZylrbchjmIKB4dPTd07A6WPr0eOrg==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.34", + "@vue/runtime-core": "3.5.34", + "@vue/shared": "3.5.34", + "csstype": "^3.2.3" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.5.34", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.34.tgz", + "integrity": "sha512-nHxmJoTrKsmrkbILRhkC9gY1G3moZbJTqCzDd7DOOzG5KH9oeJ0Unqrff5f9v0pW//jES05ZkJcNtfE8JjOIew==", + "license": "MIT", + "dependencies": { + "@vue/compiler-ssr": "3.5.34", + "@vue/shared": "3.5.34" + }, + "peerDependencies": { + "vue": "3.5.34" + } + }, + "node_modules/@vue/shared": { + "version": "3.5.34", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.34.tgz", + "integrity": "sha512-24uqU4OIiX29ryC3MeWid/Xf2fa2EFRUVLb77nRhk+UrTVrh/XiGtFAFmJBAtBRbjwNdsPRP+jj/OL27Eg1NDA==", + "license": "MIT" + }, + "node_modules/@vue/test-utils": { + "version": "2.4.10", + "resolved": "https://registry.npmjs.org/@vue/test-utils/-/test-utils-2.4.10.tgz", + "integrity": "sha512-SmoZ5EA1kYiAFs9NkYdiFFQF+cSnUwnvlYEbY+DogWQZUiqOm/Y29eSbc5T6yi75SgSF9863SBeXniIEoPajCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "js-beautify": "^1.14.9", + "vue-component-type-helpers": "^3.0.0" + }, + "peerDependencies": { + "@vue/compiler-dom": "3.x", + "@vue/server-renderer": "3.x", + "vue": "3.x" + }, + "peerDependenciesMeta": { + "@vue/server-renderer": { + "optional": true + } + } + }, + "node_modules/@vue/tsconfig": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/@vue/tsconfig/-/tsconfig-0.9.1.tgz", + "integrity": "sha512-buvjm+9NzLCJL29KY1j1991YYJ5e6275OiK+G4jtmfIb+z4POywbdm0wXusT9adVWqe0xqg70TbI7+mRx4uU9w==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "typescript": ">= 5.8", + "vue": "^3.4.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + }, + "vue": { + "optional": true + } + } + }, + "node_modules/abbrev": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz", + "integrity": "sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/acorn": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", + "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.15.0.tgz", + "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/alien-signals": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/alien-signals/-/alien-signals-3.1.2.tgz", + "integrity": "sha512-d9dYqZTS90WLiU0I5c6DHj/HcKkF8ZyGN3G5x8wSbslulz70KOxaqCT0hQCo9KOyhVqzqGojvNdJXoTumZOtcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/ansis": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/ansis/-/ansis-4.2.0.tgz", + "integrity": "sha512-HqZ5rWlFjGiV0tDm3UxxgNRqsOTniqoKZu0pIAfh7TZQMGuZK+hH0drySty0si0QXj1ieop4+SkSfPZBPPkHig==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/assertion-error": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", + "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" + }, + "node_modules/axios": { + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.16.0.tgz", + "integrity": "sha512-6hp5CwvTPlN2A31g5dxnwAX0orzM7pmCRDLnZSX772mv8WDqICwFjowHuPs04Mc8deIld1+ejhtaMn5vp6b+1w==", + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.16.0", + "form-data": "^4.0.5", + "proxy-from-env": "^2.1.0" + } + }, + "node_modules/balanced-match": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/baseline-browser-mapping": { + "version": "2.10.27", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.27.tgz", + "integrity": "sha512-zEs/ufmZoUd7WftKpKyXaT6RFxpQ5Qm9xytKRHvJfxFV9DFJkZph9RvJ1LcOUi0Z1ZVijMte65JbILeV+8QQEA==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.cjs" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/bidi-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/bidi-js/-/bidi-js-1.0.3.tgz", + "integrity": "sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw==", + "dev": true, + "license": "MIT", + "dependencies": { + "require-from-string": "^2.0.2" + } + }, + "node_modules/birpc": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/birpc/-/birpc-2.9.0.tgz", + "integrity": "sha512-KrayHS5pBi69Xi9JmvoqrIgYGDkD6mcSe/i6YKi3w5kekCLzrX4+nawcXqrj2tIp50Kw/mT/s3p+GVK0A0sKxw==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true, + "license": "ISC" + }, + "node_modules/brace-expansion": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", + "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz", + "integrity": "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "baseline-browser-mapping": "^2.10.12", + "caniuse-lite": "^1.0.30001782", + "electron-to-chromium": "^1.5.328", + "node-releases": "^2.0.36", + "update-browserslist-db": "^1.2.3" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bundle-name": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", + "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "run-applescript": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001792", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001792.tgz", + "integrity": "sha512-hVLMUZFgR4JJ6ACt1uEESvQN1/dBVqPAKY0hgrV70eN3391K6juAfTjKZLKvOMsx8PxA7gsY1/tLMMTcfFLLpw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/chai": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/chai/-/chai-6.2.2.tgz", + "integrity": "sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/config-chain": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", + "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/copy-anything": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-4.0.5.tgz", + "integrity": "sha512-7Vv6asjS4gMOuILabD3l739tsaxFQmC+a7pLZm02zyvs8p977bL3zEgq3yDk5rn9B0PbYgIv++jmHcuUab4RhA==", + "license": "MIT", + "dependencies": { + "is-what": "^5.2.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-tree": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.2.1.tgz", + "integrity": "sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "mdn-data": "2.27.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "license": "MIT" + }, + "node_modules/data-urls": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-7.0.0.tgz", + "integrity": "sha512-23XHcCF+coGYevirZceTVD7NdJOqVn+49IHyxgszm+JIiHLoB2TkmPtsYkNWT1pvRSGkc35L6NHs0yHkN2SumA==", + "dev": true, + "license": "MIT", + "dependencies": { + "whatwg-mimetype": "^5.0.0", + "whatwg-url": "^16.0.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + } + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decimal.js": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz", + "integrity": "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==", + "dev": true, + "license": "MIT" + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/default-browser": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.5.0.tgz", + "integrity": "sha512-H9LMLr5zwIbSxrmvikGuI/5KGhZ8E2zH3stkMgM5LpOWDutGM2JZaj460Udnf1a+946zc7YBgrqEWwbk7zHvGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "bundle-name": "^4.1.0", + "default-browser-id": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser-id": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.1.tgz", + "integrity": "sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true, + "license": "MIT" + }, + "node_modules/editorconfig": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-1.0.7.tgz", + "integrity": "sha512-e0GOtq/aTQhVdNyDU9e02+wz9oDDM+SIOQxWME2QRjzRX5yyLAuHDE+0aE8vHb9XRC8XD37eO2u57+F09JqFhw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@one-ini/wasm": "0.1.1", + "commander": "^10.0.0", + "minimatch": "^9.0.1", + "semver": "^7.5.3" + }, + "bin": { + "editorconfig": "bin/editorconfig" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/editorconfig/node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/editorconfig/node_modules/brace-expansion": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.0.tgz", + "integrity": "sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/editorconfig/node_modules/minimatch": { + "version": "9.0.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz", + "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.2" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/editorconfig/node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.352", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.352.tgz", + "integrity": "sha512-9wHk8x6dyuimoe18EdiDPWKExNdxYqo4fn4FwOVVper6RxT3cmpBwBkWWfSOCYJjQdIco/nPhJhNLmn4Ufg1Yg==", + "dev": true, + "license": "ISC" + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "license": "MIT" + }, + "node_modules/entities": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-7.0.1.tgz", + "integrity": "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/error-stack-parser-es": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/error-stack-parser-es/-/error-stack-parser-es-1.0.5.tgz", + "integrity": "sha512-5qucVt2XcuGMcEGgWI7i+yZpmpByQ8J1lHhcL7PwqCwu9FPP3VUXzT4ltHe5i2z9dePwEHcDVOAfSnHsOlCXRA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-module-lexer": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.1.0.tgz", + "integrity": "sha512-n27zTYMjYu1aj4MjCWzSP7G9r75utsaoc8m61weK+W8JMBGGQybd43GstCXZ3WNmSFtGT9wi59qQTW6mhTR5LQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "9.39.4", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.4.tgz", + "integrity": "sha512-XoMjdBOwe/esVgEvLmNsD3IRHkm7fbKIUGvrleloJXUZgDHig2IPWNniv+GwjyJXzuNqVjlr5+4yVUZjycJwfQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.8.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.21.2", + "@eslint/config-helpers": "^0.4.2", + "@eslint/core": "^0.17.0", + "@eslint/eslintrc": "^3.3.5", + "@eslint/js": "9.39.4", + "@eslint/plugin-kit": "^0.4.1", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.2", + "@types/estree": "^1.0.6", + "ajv": "^6.14.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.4.0", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.0", + "esquery": "^1.5.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.5", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-vue": { + "version": "9.33.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.33.0.tgz", + "integrity": "sha512-174lJKuNsuDIlLpjeXc5E2Tss8P44uIimAfGD0b90k0NoirJqpG7stLuU9Vp/9ioTOrQdWVREc4mRd1BD+CvGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "globals": "^13.24.0", + "natural-compare": "^1.4.0", + "nth-check": "^2.1.1", + "postcss-selector-parser": "^6.0.15", + "semver": "^7.6.3", + "vue-eslint-parser": "^9.4.3", + "xml-name-validator": "^4.0.0" + }, + "engines": { + "node": "^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0" + } + }, + "node_modules/eslint-plugin-vue/node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-plugin-vue/node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-plugin-vue/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint-plugin-vue/node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint-plugin-vue/node_modules/vue-eslint-parser": { + "version": "9.4.3", + "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.4.3.tgz", + "integrity": "sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.3.4", + "eslint-scope": "^7.1.1", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.3.1", + "esquery": "^1.4.0", + "lodash": "^4.17.21", + "semver": "^7.3.6" + }, + "engines": { + "node": "^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=6.0.0" + } + }, + "node_modules/eslint-scope": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", + "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/eslint/node_modules/brace-expansion": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", + "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/eslint/node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/minimatch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/espree": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", + "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.15.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", + "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT" + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expect-type": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.3.0.tgz", + "integrity": "sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fastq": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz", + "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^4.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/flatted": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", + "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", + "dev": true, + "license": "ISC" + }, + "node_modules/follow-redirects": { + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.16.0.tgz", + "integrity": "sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/foreground-child": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", + "dev": true, + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/form-data": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz", + "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/glob": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz", + "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/glob/node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.0.tgz", + "integrity": "sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "9.0.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz", + "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.2" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.3.tgz", + "integrity": "sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hookable": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/hookable/-/hookable-5.5.3.tgz", + "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==", + "license": "MIT" + }, + "node_modules/html-encoding-sniffer": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-6.0.0.tgz", + "integrity": "sha512-CV9TW3Y3f8/wT0BRFc1/KAVQ3TUHiXmaAb6VW9vtiMFf7SLoMd1PdAc4W3KFOFETBJUb90KatHqlsZMWV+R9Gg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@exodus/bytes": "^1.6.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + } + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true, + "license": "ISC" + }, + "node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "dev": true, + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-what": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/is-what/-/is-what-5.5.0.tgz", + "integrity": "sha512-oG7cgbmg5kLYae2N5IVd3jm2s+vldjxJzK1pcu9LfpGuQ93MQSzo0okvRna+7y5ifrD+20FE8FvjusyGaz14fw==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/is-wsl": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.1.tgz", + "integrity": "sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-inside-container": "^1.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/js-beautify": { + "version": "1.15.4", + "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.15.4.tgz", + "integrity": "sha512-9/KXeZUKKJwqCXUdBxFJ3vPh467OCckSBmYDwSK/EtV090K+iMJ7zx2S3HLVDIWFQdqMIsZWbnaGiba18aWhaA==", + "dev": true, + "license": "MIT", + "dependencies": { + "config-chain": "^1.1.13", + "editorconfig": "^1.0.4", + "glob": "^10.4.2", + "js-cookie": "^3.0.5", + "nopt": "^7.2.1" + }, + "bin": { + "css-beautify": "js/bin/css-beautify.js", + "html-beautify": "js/bin/html-beautify.js", + "js-beautify": "js/bin/js-beautify.js" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/js-cookie": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.5.tgz", + "integrity": "sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsdom": { + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-29.1.1.tgz", + "integrity": "sha512-ECi4Fi2f7BdJtUKTflYRTiaMxIB0O6zfR1fX0GXpUrf6flp8QIYn1UT20YQqdSOfk2dfkCwS8LAFoJDEppNK5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@asamuzakjp/css-color": "^5.1.11", + "@asamuzakjp/dom-selector": "^7.1.1", + "@bramus/specificity": "^2.4.2", + "@csstools/css-syntax-patches-for-csstree": "^1.1.3", + "@exodus/bytes": "^1.15.0", + "css-tree": "^3.2.1", + "data-urls": "^7.0.0", + "decimal.js": "^10.6.0", + "html-encoding-sniffer": "^6.0.0", + "is-potential-custom-element-name": "^1.0.1", + "lru-cache": "^11.3.5", + "parse5": "^8.0.1", + "saxes": "^6.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^6.0.1", + "undici": "^7.25.0", + "w3c-xmlserializer": "^5.0.0", + "webidl-conversions": "^8.0.1", + "whatwg-mimetype": "^5.0.0", + "whatwg-url": "^16.0.1", + "xml-name-validator": "^5.0.0" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24.0.0" + }, + "peerDependencies": { + "canvas": "^3.0.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jsdom/node_modules/entities": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-8.0.0.tgz", + "integrity": "sha512-zwfzJecQ/Uej6tusMqwAqU/6KL2XaB2VZ2Jg54Je6ahNBGNH6Ek6g3jjNCF0fG9EWQKGZNddNjU5F1ZQn/sBnA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=20.19.0" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/jsdom/node_modules/lru-cache": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.6.tgz", + "integrity": "sha512-Gf/KoL3C/MlI7Bt0PGI9I+TeTC/I6r/csU58N4BSNc4lppLBeKsOdFYkK+dX0ABDUMJNfCHTyPpzwwO21Awd3A==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/jsdom/node_modules/parse5": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-8.0.1.tgz", + "integrity": "sha512-z1e/HMG90obSGeidlli3hj7cbocou0/wa5HacvI3ASx34PecNjNQeaHNo5WIZpWofN9kgkqV1q5YvXe3F0FoPw==", + "dev": true, + "license": "MIT", + "dependencies": { + "entities": "^8.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/jsdom/node_modules/xml-name-validator": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz", + "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-parse-even-better-errors": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-4.0.0.tgz", + "integrity": "sha512-lR4MXjGNgkJc7tkQ97kb2nuEMnNCyU//XYVH0MKTGcXEiSudQ5MKGKen3C5QubYy0vmq+JGitUg92uuywGEwIA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kolorist": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/kolorist/-/kolorist-1.8.0.tgz", + "integrity": "sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lightningcss": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz", + "integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==", + "dev": true, + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-android-arm64": "1.32.0", + "lightningcss-darwin-arm64": "1.32.0", + "lightningcss-darwin-x64": "1.32.0", + "lightningcss-freebsd-x64": "1.32.0", + "lightningcss-linux-arm-gnueabihf": "1.32.0", + "lightningcss-linux-arm64-gnu": "1.32.0", + "lightningcss-linux-arm64-musl": "1.32.0", + "lightningcss-linux-x64-gnu": "1.32.0", + "lightningcss-linux-x64-musl": "1.32.0", + "lightningcss-win32-arm64-msvc": "1.32.0", + "lightningcss-win32-x64-msvc": "1.32.0" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz", + "integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz", + "integrity": "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz", + "integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz", + "integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz", + "integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz", + "integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz", + "integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz", + "integrity": "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz", + "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz", + "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz", + "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz", + "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/mdn-data": { + "version": "2.27.1", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.27.1.tgz", + "integrity": "sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/memorystream": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", + "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==", + "dev": true, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/minimatch": { + "version": "10.2.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", + "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "brace-expansion": "^5.0.5" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minipass": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", + "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/mitt": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", + "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==", + "license": "MIT" + }, + "node_modules/mrmime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", + "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/muggle-string": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.4.1.tgz", + "integrity": "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.12", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.12.tgz", + "integrity": "sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-releases": { + "version": "2.0.38", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.38.tgz", + "integrity": "sha512-3qT/88Y3FbH/Kx4szpQQ4HzUbVrHPKTLVpVocKiLfoYvw9XSGOX2FmD2d6DrXbVYyAQTF2HeF6My8jmzx7/CRw==", + "dev": true, + "license": "MIT" + }, + "node_modules/nopt": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-7.2.1.tgz", + "integrity": "sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==", + "dev": true, + "license": "ISC", + "dependencies": { + "abbrev": "^2.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-normalize-package-bin": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-4.0.0.tgz", + "integrity": "sha512-TZKxPvItzai9kN9H/TkmCtx/ZN/hvr3vUycjlfmH0ootY9yFBzNOpiXAdIn1Iteqsvk4lQn6B5PTrt+n6h8k/w==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm-run-all2": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/npm-run-all2/-/npm-run-all2-8.0.4.tgz", + "integrity": "sha512-wdbB5My48XKp2ZfJUlhnLVihzeuA1hgBnqB2J9ahV77wLS+/YAJAlN8I+X3DIFIPZ3m5L7nplmlbhNiFDmXRDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "cross-spawn": "^7.0.6", + "memorystream": "^0.3.1", + "picomatch": "^4.0.2", + "pidtree": "^0.6.0", + "read-package-json-fast": "^4.0.0", + "shell-quote": "^1.7.3", + "which": "^5.0.0" + }, + "bin": { + "npm-run-all": "bin/npm-run-all/index.js", + "npm-run-all2": "bin/npm-run-all/index.js", + "run-p": "bin/run-p/index.js", + "run-s": "bin/run-s/index.js" + }, + "engines": { + "node": "^20.5.0 || >=22.0.0", + "npm": ">= 10" + } + }, + "node_modules/npm-run-all2/node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/npm-run-all2/node_modules/isexe": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.5.tgz", + "integrity": "sha512-6B3tLtFqtQS4ekarvLVMZ+X+VlvQekbe4taUkf/rhVO3d/h0M2rfARm/pXLcPEsjjMsFgrFgSrhQIxcSVrBz8w==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/npm-run-all2/node_modules/picomatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/npm-run-all2/node_modules/which": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", + "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/obug": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/obug/-/obug-2.1.1.tgz", + "integrity": "sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==", + "dev": true, + "funding": [ + "https://github.com/sponsors/sxzz", + "https://opencollective.com/debug" + ], + "license": "MIT" + }, + "node_modules/ohash": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.11.tgz", + "integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/open": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/open/-/open-10.2.0.tgz", + "integrity": "sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "default-browser": "^5.2.1", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "wsl-utils": "^0.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/oxfmt": { + "version": "0.42.0", + "resolved": "https://registry.npmjs.org/oxfmt/-/oxfmt-0.42.0.tgz", + "integrity": "sha512-QhejGErLSMReNuZ6vxgFHDyGoPbjTRNi6uGHjy0cvIjOQFqD6xmr/T+3L41ixR3NIgzcNiJ6ylQKpvShTgDfqg==", + "dev": true, + "license": "MIT", + "dependencies": { + "tinypool": "2.1.0" + }, + "bin": { + "oxfmt": "bin/oxfmt" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/sponsors/Boshen" + }, + "optionalDependencies": { + "@oxfmt/binding-android-arm-eabi": "0.42.0", + "@oxfmt/binding-android-arm64": "0.42.0", + "@oxfmt/binding-darwin-arm64": "0.42.0", + "@oxfmt/binding-darwin-x64": "0.42.0", + "@oxfmt/binding-freebsd-x64": "0.42.0", + "@oxfmt/binding-linux-arm-gnueabihf": "0.42.0", + "@oxfmt/binding-linux-arm-musleabihf": "0.42.0", + "@oxfmt/binding-linux-arm64-gnu": "0.42.0", + "@oxfmt/binding-linux-arm64-musl": "0.42.0", + "@oxfmt/binding-linux-ppc64-gnu": "0.42.0", + "@oxfmt/binding-linux-riscv64-gnu": "0.42.0", + "@oxfmt/binding-linux-riscv64-musl": "0.42.0", + "@oxfmt/binding-linux-s390x-gnu": "0.42.0", + "@oxfmt/binding-linux-x64-gnu": "0.42.0", + "@oxfmt/binding-linux-x64-musl": "0.42.0", + "@oxfmt/binding-openharmony-arm64": "0.42.0", + "@oxfmt/binding-win32-arm64-msvc": "0.42.0", + "@oxfmt/binding-win32-ia32-msvc": "0.42.0", + "@oxfmt/binding-win32-x64-msvc": "0.42.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "dev": true, + "license": "BlueOak-1.0.0" + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse5": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", + "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", + "dev": true, + "license": "MIT", + "dependencies": { + "entities": "^6.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5/node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "dev": true, + "license": "MIT" + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "dev": true, + "license": "MIT" + }, + "node_modules/perfect-debounce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-1.0.0.tgz", + "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==", + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pidtree": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", + "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", + "dev": true, + "license": "MIT", + "bin": { + "pidtree": "bin/pidtree.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/pinia": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/pinia/-/pinia-3.0.4.tgz", + "integrity": "sha512-l7pqLUFTI/+ESXn6k3nu30ZIzW5E2WZF/LaHJEpoq6ElcLD+wduZoB2kBN19du6K/4FDpPMazY2wJr+IndBtQw==", + "license": "MIT", + "dependencies": { + "@vue/devtools-api": "^7.7.7" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "typescript": ">=4.5.0", + "vue": "^3.5.11" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/postcss": { + "version": "8.5.14", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.14.tgz", + "integrity": "sha512-SoSL4+OSEtR99LHFZQiJLkT59C5B1amGO1NzTwj7TT1qCUgUO6hxOvzkOYxD+vMrXBM3XJIKzokoERdqQq/Zmg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", + "dev": true, + "license": "ISC" + }, + "node_modules/proxy-from-env": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-2.1.0.tgz", + "integrity": "sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/read-package-json-fast": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-4.0.0.tgz", + "integrity": "sha512-qpt8EwugBWDw2cgE2W+/3oxC+KTez2uSVR8JU9Q36TXPAGCaozfQUs59v4j4GFpWTaw0i6hAZSvOmu1J0uOEUg==", + "dev": true, + "license": "ISC", + "dependencies": { + "json-parse-even-better-errors": "^4.0.0", + "npm-normalize-package-bin": "^4.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "license": "MIT" + }, + "node_modules/rolldown": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0-rc.17.tgz", + "integrity": "sha512-ZrT53oAKrtA4+YtBWPQbtPOxIbVDbxT0orcYERKd63VJTF13zPcgXTvD4843L8pcsI7M6MErt8QtON6lrB9tyA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@oxc-project/types": "=0.127.0", + "@rolldown/pluginutils": "1.0.0-rc.17" + }, + "bin": { + "rolldown": "bin/cli.mjs" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "optionalDependencies": { + "@rolldown/binding-android-arm64": "1.0.0-rc.17", + "@rolldown/binding-darwin-arm64": "1.0.0-rc.17", + "@rolldown/binding-darwin-x64": "1.0.0-rc.17", + "@rolldown/binding-freebsd-x64": "1.0.0-rc.17", + "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-rc.17", + "@rolldown/binding-linux-arm64-gnu": "1.0.0-rc.17", + "@rolldown/binding-linux-arm64-musl": "1.0.0-rc.17", + "@rolldown/binding-linux-ppc64-gnu": "1.0.0-rc.17", + "@rolldown/binding-linux-s390x-gnu": "1.0.0-rc.17", + "@rolldown/binding-linux-x64-gnu": "1.0.0-rc.17", + "@rolldown/binding-linux-x64-musl": "1.0.0-rc.17", + "@rolldown/binding-openharmony-arm64": "1.0.0-rc.17", + "@rolldown/binding-wasm32-wasi": "1.0.0-rc.17", + "@rolldown/binding-win32-arm64-msvc": "1.0.0-rc.17", + "@rolldown/binding-win32-x64-msvc": "1.0.0-rc.17" + } + }, + "node_modules/rolldown/node_modules/@rolldown/pluginutils": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.17.tgz", + "integrity": "sha512-n8iosDOt6Ig1UhJ2AYqoIhHWh/isz0xpicHTzpKBeotdVsTEcxsSA/i3EVM7gQAj0rU27OLAxCjzlj15IWY7bg==", + "dev": true, + "license": "MIT" + }, + "node_modules/run-applescript": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.1.0.tgz", + "integrity": "sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/saxes": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", + "dev": true, + "license": "ISC", + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=v12.22.7" + } + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz", + "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/siginfo": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", + "dev": true, + "license": "ISC" + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sirv": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-3.0.2.tgz", + "integrity": "sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@polka/url": "^1.0.0-next.24", + "mrmime": "^2.0.0", + "totalist": "^3.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/speakingurl": { + "version": "14.0.1", + "resolved": "https://registry.npmjs.org/speakingurl/-/speakingurl-14.0.1.tgz", + "integrity": "sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", + "dev": true, + "license": "MIT" + }, + "node_modules/std-env": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-4.1.0.tgz", + "integrity": "sha512-Rq7ybcX2RuC55r9oaPVEW7/xu3tj8u4GeBYHBWCychFtzMIr86A7e3PPEBPT37sHStKX3+TiX/Fr/ACmJLVlLQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/string-width-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.2.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/superjson": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/superjson/-/superjson-2.2.6.tgz", + "integrity": "sha512-H+ue8Zo4vJmV2nRjpx86P35lzwDT3nItnIsocgumgr0hHMQ+ZGq5vrERg9kJBo5AWGmxZDhzDo+WVIJqkB0cGA==", + "license": "MIT", + "dependencies": { + "copy-anything": "^4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true, + "license": "MIT" + }, + "node_modules/tinybench": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", + "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", + "dev": true, + "license": "MIT" + }, + "node_modules/tinyexec": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.1.2.tgz", + "integrity": "sha512-dAqSqE/RabpBKI8+h26GfLq6Vb3JVXs30XYQjdMjaj/c2tS8IYYMbIzP599KtRj7c57/wYApb3QjgRgXmrCukA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.16", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.16.tgz", + "integrity": "sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinyglobby/node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/tinypool": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-2.1.0.tgz", + "integrity": "sha512-Pugqs6M0m7Lv1I7FtxN4aoyToKg1C4tu+/381vH35y8oENM/Ai7f7C4StcoK4/+BSw9ebcS8jRiVrORFKCALLw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^20.0.0 || >=22.0.0" + } + }, + "node_modules/tinyrainbow": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.1.0.tgz", + "integrity": "sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tldts": { + "version": "7.0.30", + "resolved": "https://registry.npmjs.org/tldts/-/tldts-7.0.30.tgz", + "integrity": "sha512-ELrFxuqsDdHUwoh0XxDbxuLD3Wnz49Z57IFvTtvWy1hJdcMZjXLIuonjilCiWHlT2GbE4Wlv1wKVTzDFnXH1aw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tldts-core": "^7.0.30" + }, + "bin": { + "tldts": "bin/cli.js" + } + }, + "node_modules/tldts-core": { + "version": "7.0.30", + "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-7.0.30.tgz", + "integrity": "sha512-uiHN8PIB1VmWyS98eZYja4xzlYqeFZVjb4OuYlJQnZAuJhMw4PbKQOKgHKhBdJR3FE/t5mUQ1Kd80++B+qhD1Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/totalist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/tough-cookie": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-6.0.1.tgz", + "integrity": "sha512-LktZQb3IeoUWB9lqR5EWTHgW/VTITCXg4D21M+lvybRVdylLrRMnqaIONLVb5mav8vM19m44HIcGq4qASeu2Qw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "tldts": "^7.0.5" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/tr46": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-6.0.0.tgz", + "integrity": "sha512-bLVMLPtstlZ4iMQHpFHTR7GAGj2jxi8Dg0s2h2MafAE4uSWF98FC/3MomU51iQAMf8/qDUbKWf5GxuvvVcXEhw==", + "dev": true, + "license": "MIT", + "dependencies": { + "punycode": "^2.3.1" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/ts-api-utils": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.5.0.tgz", + "integrity": "sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.12" + }, + "peerDependencies": { + "typescript": ">=4.8.4" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD", + "optional": true + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.3.tgz", + "integrity": "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==", + "devOptional": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/typescript-eslint": { + "version": "8.59.2", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.59.2.tgz", + "integrity": "sha512-pJw051uomb3ZeCzGTpRb8RbEqB5Y4WWet8gl/GcTlU35BSx0PVdZ86/bqkQCyKKuraVQEK7r6kBHQXF+fBhkoQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/eslint-plugin": "8.59.2", + "@typescript-eslint/parser": "8.59.2", + "@typescript-eslint/typescript-estree": "8.59.2", + "@typescript-eslint/utils": "8.59.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/undici": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-7.25.0.tgz", + "integrity": "sha512-xXnp4kTyor2Zq+J1FfPI6Eq3ew5h6Vl0F/8d9XU5zZQf1tX9s2Su1/3PiMmUANFULpmksxkClamIZcaUqryHsQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20.18.1" + } + }, + "node_modules/undici-types": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.25.0.tgz", + "integrity": "sha512-AXNgS1Byr27fTI+2bsPEkV9CxkT8H6xNyRI68b3TatlZo3RkzlqQBLL+w7SmGPVpokjHbcuNVQUWE7FRTg+LRA==", + "dev": true, + "license": "MIT" + }, + "node_modules/unplugin-utils": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/unplugin-utils/-/unplugin-utils-0.3.1.tgz", + "integrity": "sha512-5lWVjgi6vuHhJ526bI4nlCOmkCIF3nnfXkCMDeMJrtdvxTs6ZFCM8oNufGTsDbKv/tJ/xj8RpvXjRuPBZJuJog==", + "dev": true, + "license": "MIT", + "dependencies": { + "pathe": "^2.0.3", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=20.19.0" + }, + "funding": { + "url": "https://github.com/sponsors/sxzz" + } + }, + "node_modules/unplugin-utils/node_modules/picomatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/vite": { + "version": "8.0.10", + "resolved": "https://registry.npmjs.org/vite/-/vite-8.0.10.tgz", + "integrity": "sha512-rZuUu9j6J5uotLDs+cAA4O5H4K1SfPliUlQwqa6YEwSrWDZzP4rhm00oJR5snMewjxF5V/K3D4kctsUTsIU9Mw==", + "dev": true, + "license": "MIT", + "dependencies": { + "lightningcss": "^1.32.0", + "picomatch": "^4.0.4", + "postcss": "^8.5.10", + "rolldown": "1.0.0-rc.17", + "tinyglobby": "^0.2.16" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^20.19.0 || >=22.12.0", + "@vitejs/devtools": "^0.1.0", + "esbuild": "^0.27.0 || ^0.28.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "@vitejs/devtools": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/vite-hot-client": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/vite-hot-client/-/vite-hot-client-2.2.0.tgz", + "integrity": "sha512-76Zs9zrHbH7M7wqeyooGQKdX+yg0pQ0xuQ1PbFp4z5a0Lzn2e5IPFoCswnmqZ4GiwqB4Jo3WcDAMO9jARTJl8w==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "vite": "^2.6.0 || ^3.0.0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0 || ^7.0.0-0 || ^8.0.0" + } + }, + "node_modules/vite-plugin-vue-devtools": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/vite-plugin-vue-devtools/-/vite-plugin-vue-devtools-8.1.1.tgz", + "integrity": "sha512-9qTpOmZ2vHpvlI9hdVXAQ1Ry4I8GcBArU7aPi0qfIaV7fQIXy0L1nb6X4mFY2Gw0dYshHuLbIl0Ulb572SCjsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/devtools-core": "^8.1.1", + "@vue/devtools-kit": "^8.1.1", + "@vue/devtools-shared": "^8.1.1", + "sirv": "^3.0.2", + "vite-plugin-inspect": "^11.3.3", + "vite-plugin-vue-inspector": "^5.3.2" + }, + "engines": { + "node": ">=v14.21.3" + }, + "peerDependencies": { + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/vite-plugin-vue-devtools/node_modules/@vue/devtools-kit": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/@vue/devtools-kit/-/devtools-kit-8.1.1.tgz", + "integrity": "sha512-gVBaBv++i+adg4JpH71k9ppl4soyR7Y2McEqO5YNgv0BI1kMZ7BDX5gnwkZ5COYgiCyhejZG+yGNrBAjj6Coqg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/devtools-shared": "^8.1.1", + "birpc": "^2.6.1", + "hookable": "^5.5.3", + "perfect-debounce": "^2.0.0" + } + }, + "node_modules/vite-plugin-vue-devtools/node_modules/@vue/devtools-shared": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/@vue/devtools-shared/-/devtools-shared-8.1.1.tgz", + "integrity": "sha512-+h4ttmJYl/txpxHKaoZcaKpC+pvckgLzIDiSQlaQ7kKthKh8KuwoLW2D8hPJEnqKzXOvu15UHEoGyngAXCz0EQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/vite-plugin-vue-devtools/node_modules/perfect-debounce": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-2.1.0.tgz", + "integrity": "sha512-LjgdTytVFXeUgtHZr9WYViYSM/g8MkcTPYDlPa3cDqMirHjKiSZPYd6DoL7pK8AJQr+uWkQvCjHNdiMqsrJs+g==", + "dev": true, + "license": "MIT" + }, + "node_modules/vite-plugin-vue-devtools/node_modules/vite-plugin-inspect": { + "version": "11.3.3", + "resolved": "https://registry.npmjs.org/vite-plugin-inspect/-/vite-plugin-inspect-11.3.3.tgz", + "integrity": "sha512-u2eV5La99oHoYPHE6UvbwgEqKKOQGz86wMg40CCosP6q8BkB6e5xPneZfYagK4ojPJSj5anHCrnvC20DpwVdRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansis": "^4.1.0", + "debug": "^4.4.1", + "error-stack-parser-es": "^1.0.5", + "ohash": "^2.0.11", + "open": "^10.2.0", + "perfect-debounce": "^2.0.0", + "sirv": "^3.0.1", + "unplugin-utils": "^0.3.0", + "vite-dev-rpc": "^1.1.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "vite": "^6.0.0 || ^7.0.0-0" + }, + "peerDependenciesMeta": { + "@nuxt/kit": { + "optional": true + } + } + }, + "node_modules/vite-plugin-vue-devtools/node_modules/vite-plugin-inspect/node_modules/vite-dev-rpc": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/vite-dev-rpc/-/vite-dev-rpc-1.1.0.tgz", + "integrity": "sha512-pKXZlgoXGoE8sEKiKJSng4hI1sQ4wi5YT24FCrwrLt6opmkjlqPPVmiPWWJn8M8byMxRGzp1CrFuqQs4M/Z39A==", + "dev": true, + "license": "MIT", + "dependencies": { + "birpc": "^2.4.0", + "vite-hot-client": "^2.1.0" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "vite": "^2.9.0 || ^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0 || ^6.0.1 || ^7.0.0-0" + } + }, + "node_modules/vite-plugin-vue-inspector": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/vite-plugin-vue-inspector/-/vite-plugin-vue-inspector-5.4.0.tgz", + "integrity": "sha512-Iq/024CydcE46FZqWPU4t4lw4uYOdLnFSO1RNxJVt2qY9zxIjmnkBqhHnYaReWM82kmNnaXs7OkfgRrV2GEjyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.23.0", + "@babel/plugin-proposal-decorators": "^7.23.0", + "@babel/plugin-syntax-import-attributes": "^7.22.5", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-transform-typescript": "^7.22.15", + "@vue/babel-plugin-jsx": "^1.1.5", + "@vue/compiler-dom": "^3.3.4", + "kolorist": "^1.8.0", + "magic-string": "^0.30.4" + }, + "peerDependencies": { + "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/vite-plugin-vue-inspector/node_modules/@vue/babel-helper-vue-transform-on": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.5.0.tgz", + "integrity": "sha512-0dAYkerNhhHutHZ34JtTl2czVQHUNWv6xEbkdF5W+Yrv5pCWsqjeORdOgbtW2I9gWlt+wBmVn+ttqN9ZxR5tzA==", + "dev": true, + "license": "MIT" + }, + "node_modules/vite-plugin-vue-inspector/node_modules/@vue/babel-plugin-jsx": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.5.0.tgz", + "integrity": "sha512-mneBhw1oOqCd2247O0Yw/mRwC9jIGACAJUlawkmMBiNmL4dGA2eMzuNZVNqOUfYTa6vqmND4CtOPzmEEEqLKFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-syntax-jsx": "^7.27.1", + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.28.0", + "@babel/types": "^7.28.2", + "@vue/babel-helper-vue-transform-on": "1.5.0", + "@vue/babel-plugin-resolve-type": "1.5.0", + "@vue/shared": "^3.5.18" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + } + } + }, + "node_modules/vite-plugin-vue-inspector/node_modules/@vue/babel-plugin-resolve-type": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-resolve-type/-/babel-plugin-resolve-type-1.5.0.tgz", + "integrity": "sha512-Wm/60o+53JwJODm4Knz47dxJnLDJ9FnKnGZJbUUf8nQRAtt6P+undLUAVU3Ha33LxOJe6IPoifRQ6F/0RrU31w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/parser": "^7.28.0", + "@vue/compiler-sfc": "^3.5.18" + }, + "funding": { + "url": "https://github.com/sponsors/sxzz" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/vite/node_modules/picomatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/vitest": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.1.5.tgz", + "integrity": "sha512-9Xx1v3/ih3m9hN+SbfkUyy0JAs72ap3r7joc87XL6jwF0jGg6mFBvQ1SrwaX+h8BlkX6Hz9shdd1uo6AF+ZGpg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/expect": "4.1.5", + "@vitest/mocker": "4.1.5", + "@vitest/pretty-format": "4.1.5", + "@vitest/runner": "4.1.5", + "@vitest/snapshot": "4.1.5", + "@vitest/spy": "4.1.5", + "@vitest/utils": "4.1.5", + "es-module-lexer": "^2.0.0", + "expect-type": "^1.3.0", + "magic-string": "^0.30.21", + "obug": "^2.1.1", + "pathe": "^2.0.3", + "picomatch": "^4.0.3", + "std-env": "^4.0.0-rc.1", + "tinybench": "^2.9.0", + "tinyexec": "^1.0.2", + "tinyglobby": "^0.2.15", + "tinyrainbow": "^3.1.0", + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0", + "why-is-node-running": "^2.3.0" + }, + "bin": { + "vitest": "vitest.mjs" + }, + "engines": { + "node": "^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@edge-runtime/vm": "*", + "@opentelemetry/api": "^1.9.0", + "@types/node": "^20.0.0 || ^22.0.0 || >=24.0.0", + "@vitest/browser-playwright": "4.1.5", + "@vitest/browser-preview": "4.1.5", + "@vitest/browser-webdriverio": "4.1.5", + "@vitest/coverage-istanbul": "4.1.5", + "@vitest/coverage-v8": "4.1.5", + "@vitest/ui": "4.1.5", + "happy-dom": "*", + "jsdom": "*", + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true + }, + "@opentelemetry/api": { + "optional": true + }, + "@types/node": { + "optional": true + }, + "@vitest/browser-playwright": { + "optional": true + }, + "@vitest/browser-preview": { + "optional": true + }, + "@vitest/browser-webdriverio": { + "optional": true + }, + "@vitest/coverage-istanbul": { + "optional": true + }, + "@vitest/coverage-v8": { + "optional": true + }, + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { + "optional": true + }, + "vite": { + "optional": false + } + } + }, + "node_modules/vitest/node_modules/picomatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/vscode-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.1.0.tgz", + "integrity": "sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/vue": { + "version": "3.5.34", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.34.tgz", + "integrity": "sha512-WdLBG9gm02OgJIG9axd5Hpx0TFLdzVgfG2evFFu8Rur5O/IoGc5cMjnjh3tPL6GnRGsYvUhBSKVPYVcxRKpMCA==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.5.34", + "@vue/compiler-sfc": "3.5.34", + "@vue/runtime-dom": "3.5.34", + "@vue/server-renderer": "3.5.34", + "@vue/shared": "3.5.34" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/vue-component-type-helpers": { + "version": "3.2.8", + "resolved": "https://registry.npmjs.org/vue-component-type-helpers/-/vue-component-type-helpers-3.2.8.tgz", + "integrity": "sha512-9689efAXhN/EV86plgkL/XFiJSXhGtWPG6JDboZ+QnjlUWUUQrQ0ILKQtw4iQsuwIwu5k6Aw+JnehDe7161e7A==", + "dev": true, + "license": "MIT" + }, + "node_modules/vue-eslint-parser": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-10.4.0.tgz", + "integrity": "sha512-Vxi9pJdbN3ZnVGLODVtZ7y4Y2kzAAE2Cm0CZ3ZDRvydVYxZ6VrnBhLikBsRS+dpwj4Jv4UCv21PTEwF5rQ9WXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "eslint-scope": "^8.2.0 || ^9.0.0", + "eslint-visitor-keys": "^4.2.0 || ^5.0.0", + "espree": "^10.3.0 || ^11.0.0", + "esquery": "^1.6.0", + "semver": "^7.6.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0" + } + }, + "node_modules/vue-eslint-parser/node_modules/eslint-visitor-keys": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", + "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/vue-eslint-parser/node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/vue-router": { + "version": "4.6.4", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.6.4.tgz", + "integrity": "sha512-Hz9q5sa33Yhduglwz6g9skT8OBPii+4bFn88w6J+J4MfEo4KRRpmiNG/hHHkdbRFlLBOqxN8y8gf2Fb0MTUgVg==", + "license": "MIT", + "dependencies": { + "@vue/devtools-api": "^6.6.4" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "vue": "^3.5.0" + } + }, + "node_modules/vue-router/node_modules/@vue/devtools-api": { + "version": "6.6.4", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.6.4.tgz", + "integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==", + "license": "MIT" + }, + "node_modules/vue-tsc": { + "version": "3.2.8", + "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-3.2.8.tgz", + "integrity": "sha512-27vTLJ6Q2370obOd0PFYoYoKnmXJ521uUIedrs3Zhhhg/8YG10VOCMmwt+JQslatpAMTDbnWiitLnoD5VlIvog==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/typescript": "2.4.28", + "@vue/language-core": "3.2.8" + }, + "bin": { + "vue-tsc": "bin/vue-tsc.js" + }, + "peerDependencies": { + "typescript": ">=5.0.0" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz", + "integrity": "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "xml-name-validator": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/w3c-xmlserializer/node_modules/xml-name-validator": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz", + "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/webidl-conversions": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-8.0.1.tgz", + "integrity": "sha512-BMhLD/Sw+GbJC21C/UgyaZX41nPt8bUTg+jWyDeg7e7YN4xOM05YPSIXceACnXVtqyEw/LMClUQMtMZ+PGGpqQ==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=20" + } + }, + "node_modules/whatwg-mimetype": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-5.0.0.tgz", + "integrity": "sha512-sXcNcHOC51uPGF0P/D4NVtrkjSU2fNsm9iog4ZvZJsL3rjoDAzXZhkm2MWt1y+PUdggKAYVoMAIYcs78wJ51Cw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20" + } + }, + "node_modules/whatwg-url": { + "version": "16.0.1", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-16.0.1.tgz", + "integrity": "sha512-1to4zXBxmXHV3IiSSEInrreIlu02vUOvrhxJJH5vcxYTBDAx51cqZiKdyTxlecdKNSjj8EcxGBxNf6Vg+945gw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@exodus/bytes": "^1.11.0", + "tr46": "^6.0.0", + "webidl-conversions": "^8.0.1" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/why-is-node-running": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", + "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", + "dev": true, + "license": "MIT", + "dependencies": { + "siginfo": "^2.0.0", + "stackback": "0.0.2" + }, + "bin": { + "why-is-node-running": "cli.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wsl-utils": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/wsl-utils/-/wsl-utils-0.1.0.tgz", + "integrity": "sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-wsl": "^3.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/xml-name-validator": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12" + } + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true, + "license": "MIT" + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/frontend/package.json b/frontend/package.json new file mode 100644 index 0000000..60f8970 --- /dev/null +++ b/frontend/package.json @@ -0,0 +1,45 @@ +{ + "name": "frontend", + "version": "0.0.0", + "private": true, + "type": "module", + "scripts": { + "dev": "vite", + "build": "run-p type-check \"build-only {@}\" --", + "preview": "vite preview", + "test:unit": "vitest", + "build-only": "vite build", + "type-check": "vue-tsc --build", + "lint": "eslint . --fix", + "format": "oxfmt src/" + }, + "dependencies": { + "axios": "^1.14.0", + "pinia": "^3.0.4", + "vue": "^3.5.31", + "vue-router": "^4.4.5" + }, + "devDependencies": { + "@tsconfig/node24": "^24.0.4", + "@types/jsdom": "^28.0.1", + "@types/node": "^24.12.0", + "@vitejs/plugin-vue": "^6.0.5", + "@vitejs/plugin-vue-jsx": "^5.1.5", + "@vue/eslint-config-typescript": "^14.2.0", + "@vue/test-utils": "^2.4.6", + "@vue/tsconfig": "^0.9.1", + "eslint": "^9.18.0", + "eslint-plugin-vue": "^9.32.0", + "jsdom": "^29.0.1", + "npm-run-all2": "^8.0.4", + "oxfmt": "^0.42.0", + "typescript": "~6.0.0", + "vite": "^8.0.3", + "vite-plugin-vue-devtools": "^8.1.1", + "vitest": "^4.1.2", + "vue-tsc": "^3.2.6" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + } +} diff --git a/frontend/public/favicon.ico b/frontend/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..df36fcfb72584e00488330b560ebcf34a41c64c2 GIT binary patch literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S literal 0 HcmV?d00001 diff --git a/frontend/src/App.vue b/frontend/src/App.vue new file mode 100644 index 0000000..5a6a315 --- /dev/null +++ b/frontend/src/App.vue @@ -0,0 +1,10 @@ + + + + + diff --git a/frontend/src/components/BaseButton.vue b/frontend/src/components/BaseButton.vue new file mode 100644 index 0000000..15a31cb --- /dev/null +++ b/frontend/src/components/BaseButton.vue @@ -0,0 +1,76 @@ + + + + + diff --git a/frontend/src/composables/useApi.ts b/frontend/src/composables/useApi.ts new file mode 100644 index 0000000..8a7e69d --- /dev/null +++ b/frontend/src/composables/useApi.ts @@ -0,0 +1,93 @@ +import axios, { + type AxiosInstance, + type AxiosResponse, + type InternalAxiosRequestConfig, +} from 'axios' + +// 표준 응답 포맷 타입 (Global Response Wrapper) — 백엔드 TransformInterceptor와 동일 구조 +export interface StandardResponse { + success: boolean + data?: T + error?: { + code: string + message: string + } +} + +// 에러 코드 사전 — CLAUDE.md / 백엔드 HttpExceptionFilter 와 1:1 매핑 +// SYS_001 은 폴백 메시지로 항상 존재함을 타입으로 보장 (noUncheckedIndexedAccess 대응) +const ErrorCodeLexicon: Record & { SYS_001: string } = { + SYS_001: '일시적인 시스템 오류가 발생했습니다. 잠시 후 다시 시도해 주세요.', + AUTH_001: '로그인이 필요한 서비스입니다. 로그인 후 이용해 주세요.', + AUTH_002: '안전을 위해 로그아웃 되었습니다. 다시 로그인해 주세요.', + AUTH_003: '해당 메뉴나 기능에 접근할 수 있는 권한이 없습니다.', + VAL_001: '입력하신 정보를 다시 확인해 주세요. (필수값 누락 또는 형식 오류)', + RES_001: '요청하신 정보나 페이지를 찾을 수 없습니다.', + BIZ_001: '요청하신 작업을 완료하지 못했습니다. 다시 시도해 주세요.', +} + +// 사용자 노출용 알림 — Toast 라이브러리 도입 시 이 함수만 교체하면 됨 +const showErrorUI = (message: string) => { + window.alert(message) +} + +// 중앙 Axios 인스턴스 +const api: AxiosInstance = axios.create({ + baseURL: import.meta.env.VITE_API_BASE_URL || '/api', + timeout: 10000, + // HttpOnly/Secure 쿠키 인증 시 자격 증명을 함께 전송 + withCredentials: true, +}) + +// 요청 인터셉터 — CSRF, 추가 헤더 등 필요 시 확장 +api.interceptors.request.use( + (config: InternalAxiosRequestConfig) => config, + (error: unknown) => Promise.reject(error), +) + +// 응답 인터셉터 — Global Response Wrapper 언래핑 + 에러코드 → 메시지 매핑 +api.interceptors.response.use( + (response: AxiosResponse) => { + const payload = response.data + + if (payload && typeof payload.success === 'boolean') { + if (payload.success) { + // 성공 시 data 만 언래핑하여 반환 + return payload.data as never + } + // HTTP 200 이지만 비즈니스 로직상 실패인 경우 + const errCode = payload.error?.code || 'BIZ_001' + showErrorUI(ErrorCodeLexicon[errCode] || ErrorCodeLexicon.SYS_001) + return Promise.reject(payload.error) + } + return payload as never + }, + (error) => { + let errCode = 'SYS_001' + + if (error?.response) { + const status: number = error.response.status + const payload = error.response.data as StandardResponse | undefined + + if (payload?.error?.code) { + errCode = payload.error.code + } else if (status === 401) errCode = 'AUTH_001' + else if (status === 403) errCode = 'AUTH_003' + else if (status === 400 || status === 422) errCode = 'VAL_001' + else if (status === 404) errCode = 'RES_001' + } + + showErrorUI(ErrorCodeLexicon[errCode] || ErrorCodeLexicon.SYS_001) + return Promise.reject(error) + }, +) + +/** + * useApi — 컴포넌트에서 axios 인스턴스를 가져올 때 사용하는 composable + * 직접 import 대신 useApi() 사용을 권장 (테스트 시 모킹 용이) + */ +export function useApi() { + return api +} + +export default api diff --git a/frontend/src/composables/useAuth.ts b/frontend/src/composables/useAuth.ts new file mode 100644 index 0000000..6fd9700 --- /dev/null +++ b/frontend/src/composables/useAuth.ts @@ -0,0 +1,43 @@ +import { ref } from 'vue' +import { useApi } from './useApi' +import { useAuthStore } from '@/stores/auth.store' + +// 인증 도메인 API Composable 샘플 — 로그인/로그아웃 흐름의 시작점 +// 실제 인증 엔드포인트가 추가되면 이 패턴을 그대로 사용/확장한다. +export interface LoginPayload { + email: string + password: string +} + +export function useAuth() { + const api = useApi() + const authStore = useAuthStore() + const loading = ref(false) + + async function login(payload: LoginPayload): Promise { + loading.value = true + try { + // 서버는 인증 성공 시 HttpOnly 쿠키로 토큰을 내려준다 (응답 바디에 토큰 없음) + await api.post('/auth/login', payload) + authStore.markAuthenticated() + return true + } catch { + // 에러 메시지/알림은 useApi 인터셉터에서 전역 처리됨 + return false + } finally { + loading.value = false + } + } + + async function logout(): Promise { + loading.value = true + try { + await api.post('/auth/logout') + } finally { + authStore.clearAuth() + loading.value = false + } + } + + return { loading, login, logout } +} diff --git a/frontend/src/composables/useUser.ts b/frontend/src/composables/useUser.ts new file mode 100644 index 0000000..3588126 --- /dev/null +++ b/frontend/src/composables/useUser.ts @@ -0,0 +1,31 @@ +import { ref } from 'vue' +import { useApi } from './useApi' + +// 도메인별 API Composable 샘플 — 실제 도메인이 추가되면 이 패턴을 복제 +export interface User { + id: number + email: string + name: string +} + +export function useUser() { + const api = useApi() + const loading = ref(false) + const error = ref(null) + + async function getUser(id: number): Promise { + loading.value = true + error.value = null + try { + // 인터셉터에서 success/data 언래핑 후 데이터만 반환 + return (await api.get(`/users/${id}`)) as unknown as User + } catch (e) { + error.value = (e as Error)?.message ?? 'unknown error' + return null + } finally { + loading.value = false + } + } + + return { loading, error, getUser } +} diff --git a/frontend/src/main.ts b/frontend/src/main.ts new file mode 100644 index 0000000..fda1e6e --- /dev/null +++ b/frontend/src/main.ts @@ -0,0 +1,12 @@ +import { createApp } from 'vue' +import { createPinia } from 'pinia' + +import App from './App.vue' +import router from './router' + +const app = createApp(App) + +app.use(createPinia()) +app.use(router) + +app.mount('#app') diff --git a/frontend/src/pages/HomePage.vue b/frontend/src/pages/HomePage.vue new file mode 100644 index 0000000..879e215 --- /dev/null +++ b/frontend/src/pages/HomePage.vue @@ -0,0 +1,27 @@ + + + + + diff --git a/frontend/src/pages/NotFoundPage.vue b/frontend/src/pages/NotFoundPage.vue new file mode 100644 index 0000000..68a6705 --- /dev/null +++ b/frontend/src/pages/NotFoundPage.vue @@ -0,0 +1,23 @@ + + + + + diff --git a/frontend/src/router/index.ts b/frontend/src/router/index.ts new file mode 100644 index 0000000..d99f8c9 --- /dev/null +++ b/frontend/src/router/index.ts @@ -0,0 +1,35 @@ +import { createRouter, createWebHistory, type RouteRecordRaw } from 'vue-router' +import { useAuthStore } from '@/stores/auth.store' + +// 코드 스플리팅 — 모든 페이지 컴포넌트는 lazy import 처리 +const routes: RouteRecordRaw[] = [ + { + path: '/', + name: 'home', + component: () => import('@/pages/HomePage.vue'), + meta: { requiresAuth: false }, + }, + { + path: '/:pathMatch(.*)*', + name: 'not-found', + component: () => import('@/pages/NotFoundPage.vue'), + }, +] + +const router = createRouter({ + history: createWebHistory(import.meta.env.BASE_URL), + routes, +}) + +// 네비게이션 가드 — 보호 라우트(requiresAuth) 접근 시 인증 여부 검사 +router.beforeEach((to) => { + const authStore = useAuthStore() + if (to.meta.requiresAuth && !authStore.isLoggedIn) { + // 미인증 시 홈으로 리다이렉트 + // (실제 로그인 페이지 추가 시 { name: 'login' } 으로 변경) + return { name: 'home' } + } + return true +}) + +export default router diff --git a/frontend/src/shared/utils/format.ts b/frontend/src/shared/utils/format.ts new file mode 100644 index 0000000..063be41 --- /dev/null +++ b/frontend/src/shared/utils/format.ts @@ -0,0 +1,20 @@ +// 공통 포맷터 — 부수효과 없는 순수 함수만 작성 + +/** + * 숫자를 한국 통화 표기 (예: 12345 → "12,345원") + */ +export function formatCurrency(value: number): string { + return `${value.toLocaleString('ko-KR')}원` +} + +/** + * Date 또는 ISO 문자열을 'YYYY-MM-DD' 형식으로 변환 + */ +export function formatDate(input: Date | string): string { + const date = typeof input === 'string' ? new Date(input) : input + if (Number.isNaN(date.getTime())) return '' + const yyyy = date.getFullYear() + const mm = String(date.getMonth() + 1).padStart(2, '0') + const dd = String(date.getDate()).padStart(2, '0') + return `${yyyy}-${mm}-${dd}` +} diff --git a/frontend/src/stores/auth.store.ts b/frontend/src/stores/auth.store.ts new file mode 100644 index 0000000..c827cd1 --- /dev/null +++ b/frontend/src/stores/auth.store.ts @@ -0,0 +1,24 @@ +import { computed, ref } from 'vue' +import { defineStore } from 'pinia' + +// 인증 세션 상태 스토어 +// 웹은 JWT 를 HttpOnly·Secure 쿠키로 보관하므로(보안 규칙), JS 에서 토큰을 직접 +// 저장/조회하지 않는다. 여기서는 "현재 인증된 세션인지" 여부만 관리한다. +// (사용자 프로필 데이터는 user.store.ts 에서 별도 관리) +export const useAuthStore = defineStore('auth', () => { + // 로그인 성공 또는 세션 확인 API 응답으로 갱신되는 인증 여부 + const authenticated = ref(false) + const isLoggedIn = computed(() => authenticated.value) + + // 로그인 성공 시 호출 (실제 로그인 API 연동 시 useAuth 에서 사용) + function markAuthenticated() { + authenticated.value = true + } + + // 로그아웃/세션 만료 시 호출 + function clearAuth() { + authenticated.value = false + } + + return { isLoggedIn, markAuthenticated, clearAuth } +}) diff --git a/frontend/src/stores/user.store.ts b/frontend/src/stores/user.store.ts new file mode 100644 index 0000000..004c91a --- /dev/null +++ b/frontend/src/stores/user.store.ts @@ -0,0 +1,19 @@ +import { computed, ref } from 'vue' +import { defineStore } from 'pinia' +import type { User } from '@/composables/useUser' + +// 사용자 도메인 Pinia 스토어 샘플 — 도메인 단위로 파일을 분리하여 관리 +export const useUserStore = defineStore('user', () => { + const user = ref(null) + const isLoggedIn = computed(() => user.value !== null) + + function setUser(payload: User | null) { + user.value = payload + } + + function clear() { + user.value = null + } + + return { user, isLoggedIn, setUser, clear } +}) diff --git a/frontend/tsconfig.app.json b/frontend/tsconfig.app.json new file mode 100644 index 0000000..c0f2d86 --- /dev/null +++ b/frontend/tsconfig.app.json @@ -0,0 +1,18 @@ +{ + "extends": "@vue/tsconfig/tsconfig.dom.json", + "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], + "exclude": ["src/**/__tests__/*"], + "compilerOptions": { + // Extra safety for array and object lookups, but may have false positives. + "noUncheckedIndexedAccess": true, + + // Path mapping for cleaner imports. + "paths": { + "@/*": ["./src/*"] + }, + + // `vue-tsc --build` produces a .tsbuildinfo file for incremental type-checking. + // Specified here to keep it out of the root directory. + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo" + } +} diff --git a/frontend/tsconfig.json b/frontend/tsconfig.json new file mode 100644 index 0000000..100cf6a --- /dev/null +++ b/frontend/tsconfig.json @@ -0,0 +1,14 @@ +{ + "files": [], + "references": [ + { + "path": "./tsconfig.node.json" + }, + { + "path": "./tsconfig.app.json" + }, + { + "path": "./tsconfig.vitest.json" + } + ] +} diff --git a/frontend/tsconfig.node.json b/frontend/tsconfig.node.json new file mode 100644 index 0000000..c9b2bad --- /dev/null +++ b/frontend/tsconfig.node.json @@ -0,0 +1,27 @@ +// TSConfig for modules that run in Node.js environment via either transpilation or type-stripping. +{ + "extends": "@tsconfig/node24/tsconfig.json", + "include": [ + "vite.config.*", + "vitest.config.*", + "cypress.config.*", + "playwright.config.*", + "eslint.config.*" + ], + "compilerOptions": { + // Most tools use transpilation instead of Node.js's native type-stripping. + // Bundler mode provides a smoother developer experience. + "module": "preserve", + "moduleResolution": "bundler", + + // Include Node.js types and avoid accidentally including other `@types/*` packages. + "types": ["node"], + + // Disable emitting output during `vue-tsc --build`, which is used for type-checking only. + "noEmit": true, + + // `vue-tsc --build` produces a .tsbuildinfo file for incremental type-checking. + // Specified here to keep it out of the root directory. + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo" + } +} diff --git a/frontend/tsconfig.vitest.json b/frontend/tsconfig.vitest.json new file mode 100644 index 0000000..ff1d8c9 --- /dev/null +++ b/frontend/tsconfig.vitest.json @@ -0,0 +1,19 @@ +{ + "extends": "./tsconfig.app.json", + + // Override to include only test files and clear exclusions. + // Application code imported in tests is automatically included via module resolution. + "include": ["src/**/__tests__/*", "env.d.ts"], + "exclude": [], + + "compilerOptions": { + // Vitest runs in a different environment than the application code. + // Adjust lib and types accordingly. + "lib": [], + "types": ["node", "jsdom"], + + // `vue-tsc --build` produces a .tsbuildinfo file for incremental type-checking. + // Specified here to keep it out of the root directory. + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.vitest.tsbuildinfo" + } +} diff --git a/frontend/vite.config.ts b/frontend/vite.config.ts new file mode 100644 index 0000000..96fd454 --- /dev/null +++ b/frontend/vite.config.ts @@ -0,0 +1,28 @@ +import { fileURLToPath, URL } from 'node:url' + +import { defineConfig } from 'vite' +import vue from '@vitejs/plugin-vue' +import vueJsx from '@vitejs/plugin-vue-jsx' +import vueDevTools from 'vite-plugin-vue-devtools' + +// https://vite.dev/config/ +export default defineConfig({ + plugins: [ + vue(), + vueJsx(), + vueDevTools(), + ], + resolve: { + alias: { + '@': fileURLToPath(new URL('./src', import.meta.url)) + }, + }, + server: { + // ngrok 등 외부 도메인 접근 허용 (DNS Rebinding 보호 비활성화) + allowedHosts: true, + // 도커/윈도우 환경 파일 핫 리로딩 강제 활성화 + watch: { + usePolling: true, + } + } +}) diff --git a/frontend/vitest.config.ts b/frontend/vitest.config.ts new file mode 100644 index 0000000..c328717 --- /dev/null +++ b/frontend/vitest.config.ts @@ -0,0 +1,14 @@ +import { fileURLToPath } from 'node:url' +import { mergeConfig, defineConfig, configDefaults } from 'vitest/config' +import viteConfig from './vite.config' + +export default mergeConfig( + viteConfig, + defineConfig({ + test: { + environment: 'jsdom', + exclude: [...configDefaults.exclude, 'e2e/**'], + root: fileURLToPath(new URL('./', import.meta.url)), + }, + }), +)