From d13de2543348ae0f9f527f3c4e3637525e1fb7a8 Mon Sep 17 00:00:00 2001 From: Constantin Simonis Date: Tue, 3 Jun 2025 11:01:56 +0200 Subject: [PATCH 1/2] chore: improve performance significantly --- .gitea/labeler.yml | 14 - .gitea/size.yml | 19 - .gitea/workflows/ci.yml | 255 -- .gitea/workflows/claude-comment.yml | 124 - .gitea/workflows/claude.yml | 16 - .gitea/workflows/labeler.yml | 14 - .gitea/workflows/release.yml | 94 - .gitea/workflows/size.yml | 17 - .gitea/workflows/stale.yml | 15 - .gitignore | 3 - CLAUDE.md | 41 - LICENSE | 21 - README.md | 172 -- backend/.docker/Dockerfile | 20 - backend/.dockerignore | 2 - backend/.gitignore | 37 - backend/Readme.md | 59 - backend/build.gradle.kts | 62 - backend/config/checkstyle/checkstyle.xml | 18 - backend/gradle/wrapper/gradle-wrapper.jar | Bin 43764 -> 0 bytes .../gradle/wrapper/gradle-wrapper.properties | 7 - backend/gradlew | 251 -- backend/gradlew.bat | 94 - backend/settings.gradle.kts | 1 - .../de/szut/casino/CasinoApplication.java | 95 - .../blackjack/BlackJackGameController.java | 68 - .../casino/blackjack/BlackJackGameEntity.java | 54 - .../blackjack/BlackJackGameRepository.java | 8 - .../casino/blackjack/BlackJackService.java | 210 -- .../szut/casino/blackjack/BlackJackState.java | 9 - .../de/szut/casino/blackjack/CardEntity.java | 40 - .../de/szut/casino/blackjack/DeckService.java | 57 - .../java/de/szut/casino/blackjack/Rank.java | 31 - .../java/de/szut/casino/blackjack/Suit.java | 20 - .../de/szut/casino/coinflip/CoinSide.java | 6 - .../casino/coinflip/CoinflipController.java | 39 - .../de/szut/casino/coinflip/CoinflipDto.java | 23 - .../szut/casino/coinflip/CoinflipResult.java | 16 - .../szut/casino/coinflip/CoinflipService.java | 35 - .../java/de/szut/casino/config/AppConfig.java | 15 - .../casino/config/OpenAPIConfiguration.java | 60 - .../java/de/szut/casino/config/WebConfig.java | 30 - .../casino/deposit/DepositController.java | 66 - .../casino/deposit/TransactionEntity.java | 32 - .../casino/deposit/TransactionRepository.java | 24 - .../casino/deposit/TransactionService.java | 70 - .../casino/deposit/TransactionStatus.java | 6 - .../casino/deposit/WebhookController.java | 54 - .../de/szut/casino/deposit/dto/AmountDto.java | 17 - .../szut/casino/deposit/dto/SessionIdDto.java | 15 - .../de/szut/casino/dice/DiceController.java | 38 - .../java/de/szut/casino/dice/DiceDto.java | 29 - .../java/de/szut/casino/dice/DiceResult.java | 20 - .../java/de/szut/casino/dice/DiceService.java | 69 - .../exceptionHandling/ErrorDetails.java | 14 - .../GlobalExceptionHandler.java | 48 - .../exceptions/EmailNotVerifiedException.java | 7 - .../InsufficientFundsException.java | 11 - ...uth2AuthenticationProcessingException.java | 9 - .../UserBlackJackGameMismatchException.java | 7 - .../exceptions/UserNotFoundException.java | 11 - .../szut/casino/health/HealthController.java | 15 - .../casino/lootboxes/CreateLootBoxDto.java | 30 - .../casino/lootboxes/CreateRewardDto.java | 26 - .../casino/lootboxes/LootBoxController.java | 85 - .../szut/casino/lootboxes/LootBoxEntity.java | 40 - .../casino/lootboxes/LootBoxRepository.java | 8 - .../szut/casino/lootboxes/LootBoxService.java | 40 - .../szut/casino/lootboxes/RewardEntity.java | 37 - .../casino/lootboxes/RewardRepository.java | 8 - .../szut/casino/security/AuthController.java | 60 - .../de/szut/casino/security/CorsFilter.java | 40 - .../CustomJwtAuthenticationConverter.java | 24 - .../szut/casino/security/SecurityConfig.java | 94 - .../casino/security/dto/AuthResponseDto.java | 19 - .../casino/security/dto/LoginRequestDto.java | 19 - .../casino/security/dto/ResetPasswordDto.java | 15 - .../security/jwt/JwtAuthenticationFilter.java | 65 - .../de/szut/casino/security/jwt/JwtUtils.java | 109 - .../oauth2/CustomOAuth2UserService.java | 106 - .../OAuth2AuthenticationSuccessHandler.java | 57 - .../casino/security/oauth2/OAuth2Config.java | 15 - .../security/oauth2/OAuth2UserInfo.java | 20 - .../oauth2/OAuth2UserInfoFactory.java | 21 - .../casino/security/oauth2/UserPrincipal.java | 102 - .../oauth2/github/GitHubController.java | 50 - .../oauth2/github/GitHubOAuth2UserInfo.java | 27 - .../security/oauth2/github/GitHubService.java | 162 -- .../oauth2/github/GithubCallbackDto.java | 8 - .../oauth2/google/GoogleController.java | 51 - .../oauth2/google/GoogleOAuth2UserInfo.java | 27 - .../security/oauth2/google/GoogleService.java | 165 -- .../casino/security/service/AuthService.java | 108 - .../casino/security/service/EmailService.java | 115 - .../casino/security/service/MailConfig.java | 28 - .../service/UserDetailsServiceImpl.java | 38 - .../de/szut/casino/shared/dto/BetDto.java | 20 - .../casino/shared/service/BalanceService.java | 36 - .../de/szut/casino/slots/SlotController.java | 59 - .../de/szut/casino/slots/SlotService.java | 137 - .../java/de/szut/casino/slots/SpinResult.java | 17 - .../java/de/szut/casino/slots/Status.java | 7 - .../java/de/szut/casino/slots/Symbol.java | 24 - .../de/szut/casino/user/AuthProvider.java | 7 - .../de/szut/casino/user/UserController.java | 30 - .../java/de/szut/casino/user/UserEntity.java | 92 - .../szut/casino/user/UserMappingService.java | 13 - .../de/szut/casino/user/UserRepository.java | 29 - .../java/de/szut/casino/user/UserService.java | 80 - .../szut/casino/user/dto/CreateUserDto.java | 27 - .../de/szut/casino/user/dto/GetUserDto.java | 19 - .../transaction/GetTransactionService.java | 43 - .../transaction/TransactionController.java | 28 - .../transaction/dto/GetTransactionDto.java | 16 - .../transaction/dto/UserTransactionsDto.java | 12 - .../src/main/resources/application.properties | 54 - .../resources/templates/email/deposit.html | 136 - .../templates/email/recover-password.html | 156 -- .../resources/templates/email/verify.html | 149 -- .../resources/templates/email/welcome.html | 128 - .../casino/coinflip/CoinflipServiceTest.java | 64 - .../de/szut/casino/dice/DiceServiceTest.java | 251 -- .../shared/service/BalanceServiceTest.java | 76 - compose.yml | 28 - frontend/.docker/Dockerfile | 28 - frontend/.docker/casino.conf | 19 - frontend/.docker/entrypoint.sh | 13 - frontend/.dockerignore | 15 - frontend/.editorconfig | 16 - frontend/.gitignore | 42 - frontend/.postcssrc.json | 5 - frontend/.prettierignore | 4 - frontend/.prettierrc | 9 - frontend/README.md | 136 - frontend/angular.json | 105 - frontend/bun.lock | 2379 ----------------- frontend/eslint.config.js | 43 - frontend/package.json | 58 - frontend/public/blackjack.webp | Bin 309078 -> 0 bytes frontend/public/coinflip.png | Bin 1891201 -> 0 bytes frontend/public/favicon.ico | Bin 87763 -> 0 bytes frontend/public/images/1-box.png | Bin 808284 -> 0 bytes frontend/public/images/2-box.png | Bin 2011744 -> 0 bytes frontend/public/images/3-box.png | Bin 1991426 -> 0 bytes frontend/public/liars-dice.webp | Bin 80614 -> 0 bytes frontend/public/lootbox.webp | Bin 64224 -> 0 bytes frontend/public/plinko.webp | Bin 177622 -> 0 bytes frontend/public/silent-check-sso.html | 7 - frontend/public/slots.webp | Bin 111144 -> 0 bytes frontend/public/sounds/bet.mp3 | Bin 2925 -> 0 bytes frontend/public/sounds/coinflip.mp3 | Bin 14115 -> 0 bytes frontend/public/sounds/drag.mp3 | Bin 2626 -> 0 bytes frontend/public/sounds/win.mp3 | Bin 15725 -> 0 bytes frontend/src/app/app.component.css | 0 frontend/src/app/app.component.html | 42 - frontend/src/app/app.component.ts | 72 - frontend/src/app/app.config.ts | 18 - frontend/src/app/app.routes.ts | 81 - frontend/src/app/auth.guard.ts | 16 - .../feature/auth/login/login.component.html | 160 -- .../app/feature/auth/login/login.component.ts | 82 - .../auth/oauth2/oauth2-callback.component.ts | 47 - .../app/feature/auth/oauth2/oauth2.service.ts | 36 - .../recover-password.component.html | 170 -- .../recover-password.component.ts | 138 - .../auth/register/register.component.html | 140 - .../auth/register/register.component.ts | 87 - .../verify-email/verify-email.component.html | 1 - .../verify-email/verify-email.component.ts | 30 - .../feature/deposit/deposit.component.html | 25 - .../app/feature/deposit/deposit.component.ts | 117 - .../game/blackjack/blackjack.component.html | 44 - .../game/blackjack/blackjack.component.ts | 242 -- .../animated-number.component.ts | 83 - .../dealer-hand/dealer-hand.component.ts | 73 - .../game-controls/game-controls.component.ts | 81 - .../game-info/game-info.component.ts | 150 -- .../game-result/game-result.component.ts | 135 - .../player-hand/player-hand.component.ts | 75 - .../playing-card/playing-card.component.ts | 133 - .../feature/game/blackjack/enum/gameState.ts | 7 - .../game/blackjack/models/blackjack.model.ts | 23 - .../game/blackjack/models/card.model.ts | 5 - .../blackjack/services/betting.service.ts | 31 - .../blackjack/services/blackjack.service.ts | 66 - .../services/game-controls.service.ts | 74 - .../game/coinflip/coinflip.component.css | 117 - .../game/coinflip/coinflip.component.html | 141 - .../game/coinflip/coinflip.component.ts | 250 -- .../game/coinflip/models/coinflip.model.ts | 11 - .../app/feature/game/dice/dice.component.html | 305 --- .../app/feature/game/dice/dice.component.ts | 151 -- .../src/app/feature/game/dice/dice.model.ts | 11 - .../src/app/feature/game/dice/dice.service.ts | 18 - .../feature/game/slots/slots.component.css | 16 - .../feature/game/slots/slots.component.html | 173 -- .../app/feature/game/slots/slots.component.ts | 136 - .../src/app/feature/home/home.component.html | 95 - .../src/app/feature/home/home.component.ts | 121 - .../feature/landing/landing.component.html | 218 -- .../app/feature/landing/landing.component.ts | 105 - .../lootbox-opening.component.css | 322 --- .../lootbox-opening.component.html | 166 -- .../lootbox-opening.component.ts | 216 -- .../lootbox-selection.component.css | 28 - .../lootbox-selection.component.html | 66 - .../lootbox-selection.component.ts | 170 -- .../lootboxes/services/lootbox.service.ts | 31 - .../transaction-history.component.css | 8 - .../transaction-history.component.html | 60 - .../transaction-history.component.ts | 53 - frontend/src/app/model/Game.ts | 6 - frontend/src/app/model/LootBox.ts | 12 - frontend/src/app/model/Transaction.ts | 5 - frontend/src/app/model/TransactionData.ts | 6 - frontend/src/app/model/User.ts | 6 - frontend/src/app/model/auth/AuthResponse.ts | 4 - frontend/src/app/model/auth/LoginRequest.ts | 4 - .../src/app/model/auth/RegisterRequest.ts | 5 - frontend/src/app/service/auth.service.ts | 146 - frontend/src/app/service/deposit.service.ts | 14 - .../src/app/service/transaction.service.ts | 24 - frontend/src/app/service/user.service.ts | 33 - .../confirmation/confirmation.component.html | 11 - .../confirmation/confirmation.component.ts | 49 - .../debt-dialog/debt-dialog.component.ts | 176 -- .../components/footer/footer.component.html | 80 - .../components/footer/footer.component.ts | 22 - .../components/navbar/navbar.component.html | 95 - .../components/navbar/navbar.component.ts | 54 - .../shared/directives/drag-sound.directive.ts | 39 - .../shared/directives/play-sound.directive.ts | 15 - .../shared/interceptor/http.interceptor.ts | 32 - .../src/app/shared/services/audio.service.ts | 41 - .../services/modal-animation.service.ts | 53 - .../services/sound-initializer.service.ts | 51 - frontend/src/environments/environment.ts | 5 - frontend/src/favicon.ico | Bin 87763 -> 0 bytes frontend/src/index.html | 13 - frontend/src/main.ts | 5 - frontend/src/proxy.conf.json | 11 - frontend/src/styles.css | 191 -- frontend/tsconfig.app.json | 15 - frontend/tsconfig.json | 40 - frontend/tsconfig.spec.json | 15 - justfile | 27 - release.config.cjs | 64 - renovate.json | 6 - 248 files changed, 16017 deletions(-) delete mode 100644 .gitea/labeler.yml delete mode 100644 .gitea/size.yml delete mode 100644 .gitea/workflows/ci.yml delete mode 100644 .gitea/workflows/claude-comment.yml delete mode 100644 .gitea/workflows/claude.yml delete mode 100644 .gitea/workflows/labeler.yml delete mode 100644 .gitea/workflows/release.yml delete mode 100644 .gitea/workflows/size.yml delete mode 100644 .gitea/workflows/stale.yml delete mode 100644 .gitignore delete mode 100644 CLAUDE.md delete mode 100644 LICENSE delete mode 100644 README.md delete mode 100644 backend/.docker/Dockerfile delete mode 100644 backend/.dockerignore delete mode 100644 backend/.gitignore delete mode 100644 backend/Readme.md delete mode 100644 backend/build.gradle.kts delete mode 100644 backend/config/checkstyle/checkstyle.xml delete mode 100644 backend/gradle/wrapper/gradle-wrapper.jar delete mode 100644 backend/gradle/wrapper/gradle-wrapper.properties delete mode 100755 backend/gradlew delete mode 100644 backend/gradlew.bat delete mode 100644 backend/settings.gradle.kts delete mode 100644 backend/src/main/java/de/szut/casino/CasinoApplication.java delete mode 100644 backend/src/main/java/de/szut/casino/blackjack/BlackJackGameController.java delete mode 100644 backend/src/main/java/de/szut/casino/blackjack/BlackJackGameEntity.java delete mode 100644 backend/src/main/java/de/szut/casino/blackjack/BlackJackGameRepository.java delete mode 100644 backend/src/main/java/de/szut/casino/blackjack/BlackJackService.java delete mode 100644 backend/src/main/java/de/szut/casino/blackjack/BlackJackState.java delete mode 100644 backend/src/main/java/de/szut/casino/blackjack/CardEntity.java delete mode 100644 backend/src/main/java/de/szut/casino/blackjack/DeckService.java delete mode 100644 backend/src/main/java/de/szut/casino/blackjack/Rank.java delete mode 100644 backend/src/main/java/de/szut/casino/blackjack/Suit.java delete mode 100644 backend/src/main/java/de/szut/casino/coinflip/CoinSide.java delete mode 100644 backend/src/main/java/de/szut/casino/coinflip/CoinflipController.java delete mode 100644 backend/src/main/java/de/szut/casino/coinflip/CoinflipDto.java delete mode 100644 backend/src/main/java/de/szut/casino/coinflip/CoinflipResult.java delete mode 100644 backend/src/main/java/de/szut/casino/coinflip/CoinflipService.java delete mode 100644 backend/src/main/java/de/szut/casino/config/AppConfig.java delete mode 100644 backend/src/main/java/de/szut/casino/config/OpenAPIConfiguration.java delete mode 100644 backend/src/main/java/de/szut/casino/config/WebConfig.java delete mode 100644 backend/src/main/java/de/szut/casino/deposit/DepositController.java delete mode 100644 backend/src/main/java/de/szut/casino/deposit/TransactionEntity.java delete mode 100644 backend/src/main/java/de/szut/casino/deposit/TransactionRepository.java delete mode 100644 backend/src/main/java/de/szut/casino/deposit/TransactionService.java delete mode 100644 backend/src/main/java/de/szut/casino/deposit/TransactionStatus.java delete mode 100644 backend/src/main/java/de/szut/casino/deposit/WebhookController.java delete mode 100644 backend/src/main/java/de/szut/casino/deposit/dto/AmountDto.java delete mode 100644 backend/src/main/java/de/szut/casino/deposit/dto/SessionIdDto.java delete mode 100644 backend/src/main/java/de/szut/casino/dice/DiceController.java delete mode 100644 backend/src/main/java/de/szut/casino/dice/DiceDto.java delete mode 100644 backend/src/main/java/de/szut/casino/dice/DiceResult.java delete mode 100644 backend/src/main/java/de/szut/casino/dice/DiceService.java delete mode 100644 backend/src/main/java/de/szut/casino/exceptionHandling/ErrorDetails.java delete mode 100644 backend/src/main/java/de/szut/casino/exceptionHandling/GlobalExceptionHandler.java delete mode 100644 backend/src/main/java/de/szut/casino/exceptionHandling/exceptions/EmailNotVerifiedException.java delete mode 100644 backend/src/main/java/de/szut/casino/exceptionHandling/exceptions/InsufficientFundsException.java delete mode 100644 backend/src/main/java/de/szut/casino/exceptionHandling/exceptions/OAuth2AuthenticationProcessingException.java delete mode 100644 backend/src/main/java/de/szut/casino/exceptionHandling/exceptions/UserBlackJackGameMismatchException.java delete mode 100644 backend/src/main/java/de/szut/casino/exceptionHandling/exceptions/UserNotFoundException.java delete mode 100644 backend/src/main/java/de/szut/casino/health/HealthController.java delete mode 100644 backend/src/main/java/de/szut/casino/lootboxes/CreateLootBoxDto.java delete mode 100644 backend/src/main/java/de/szut/casino/lootboxes/CreateRewardDto.java delete mode 100644 backend/src/main/java/de/szut/casino/lootboxes/LootBoxController.java delete mode 100644 backend/src/main/java/de/szut/casino/lootboxes/LootBoxEntity.java delete mode 100644 backend/src/main/java/de/szut/casino/lootboxes/LootBoxRepository.java delete mode 100644 backend/src/main/java/de/szut/casino/lootboxes/LootBoxService.java delete mode 100644 backend/src/main/java/de/szut/casino/lootboxes/RewardEntity.java delete mode 100644 backend/src/main/java/de/szut/casino/lootboxes/RewardRepository.java delete mode 100644 backend/src/main/java/de/szut/casino/security/AuthController.java delete mode 100644 backend/src/main/java/de/szut/casino/security/CorsFilter.java delete mode 100644 backend/src/main/java/de/szut/casino/security/CustomJwtAuthenticationConverter.java delete mode 100644 backend/src/main/java/de/szut/casino/security/SecurityConfig.java delete mode 100644 backend/src/main/java/de/szut/casino/security/dto/AuthResponseDto.java delete mode 100644 backend/src/main/java/de/szut/casino/security/dto/LoginRequestDto.java delete mode 100644 backend/src/main/java/de/szut/casino/security/dto/ResetPasswordDto.java delete mode 100644 backend/src/main/java/de/szut/casino/security/jwt/JwtAuthenticationFilter.java delete mode 100644 backend/src/main/java/de/szut/casino/security/jwt/JwtUtils.java delete mode 100644 backend/src/main/java/de/szut/casino/security/oauth2/CustomOAuth2UserService.java delete mode 100644 backend/src/main/java/de/szut/casino/security/oauth2/OAuth2AuthenticationSuccessHandler.java delete mode 100644 backend/src/main/java/de/szut/casino/security/oauth2/OAuth2Config.java delete mode 100644 backend/src/main/java/de/szut/casino/security/oauth2/OAuth2UserInfo.java delete mode 100644 backend/src/main/java/de/szut/casino/security/oauth2/OAuth2UserInfoFactory.java delete mode 100644 backend/src/main/java/de/szut/casino/security/oauth2/UserPrincipal.java delete mode 100644 backend/src/main/java/de/szut/casino/security/oauth2/github/GitHubController.java delete mode 100644 backend/src/main/java/de/szut/casino/security/oauth2/github/GitHubOAuth2UserInfo.java delete mode 100644 backend/src/main/java/de/szut/casino/security/oauth2/github/GitHubService.java delete mode 100644 backend/src/main/java/de/szut/casino/security/oauth2/github/GithubCallbackDto.java delete mode 100644 backend/src/main/java/de/szut/casino/security/oauth2/google/GoogleController.java delete mode 100644 backend/src/main/java/de/szut/casino/security/oauth2/google/GoogleOAuth2UserInfo.java delete mode 100644 backend/src/main/java/de/szut/casino/security/oauth2/google/GoogleService.java delete mode 100644 backend/src/main/java/de/szut/casino/security/service/AuthService.java delete mode 100644 backend/src/main/java/de/szut/casino/security/service/EmailService.java delete mode 100644 backend/src/main/java/de/szut/casino/security/service/MailConfig.java delete mode 100644 backend/src/main/java/de/szut/casino/security/service/UserDetailsServiceImpl.java delete mode 100644 backend/src/main/java/de/szut/casino/shared/dto/BetDto.java delete mode 100644 backend/src/main/java/de/szut/casino/shared/service/BalanceService.java delete mode 100644 backend/src/main/java/de/szut/casino/slots/SlotController.java delete mode 100644 backend/src/main/java/de/szut/casino/slots/SlotService.java delete mode 100644 backend/src/main/java/de/szut/casino/slots/SpinResult.java delete mode 100644 backend/src/main/java/de/szut/casino/slots/Status.java delete mode 100644 backend/src/main/java/de/szut/casino/slots/Symbol.java delete mode 100644 backend/src/main/java/de/szut/casino/user/AuthProvider.java delete mode 100644 backend/src/main/java/de/szut/casino/user/UserController.java delete mode 100644 backend/src/main/java/de/szut/casino/user/UserEntity.java delete mode 100644 backend/src/main/java/de/szut/casino/user/UserMappingService.java delete mode 100644 backend/src/main/java/de/szut/casino/user/UserRepository.java delete mode 100644 backend/src/main/java/de/szut/casino/user/UserService.java delete mode 100644 backend/src/main/java/de/szut/casino/user/dto/CreateUserDto.java delete mode 100644 backend/src/main/java/de/szut/casino/user/dto/GetUserDto.java delete mode 100644 backend/src/main/java/de/szut/casino/user/transaction/GetTransactionService.java delete mode 100644 backend/src/main/java/de/szut/casino/user/transaction/TransactionController.java delete mode 100644 backend/src/main/java/de/szut/casino/user/transaction/dto/GetTransactionDto.java delete mode 100644 backend/src/main/java/de/szut/casino/user/transaction/dto/UserTransactionsDto.java delete mode 100644 backend/src/main/resources/application.properties delete mode 100644 backend/src/main/resources/templates/email/deposit.html delete mode 100644 backend/src/main/resources/templates/email/recover-password.html delete mode 100644 backend/src/main/resources/templates/email/verify.html delete mode 100644 backend/src/main/resources/templates/email/welcome.html delete mode 100644 backend/src/test/java/de/szut/casino/coinflip/CoinflipServiceTest.java delete mode 100644 backend/src/test/java/de/szut/casino/dice/DiceServiceTest.java delete mode 100644 backend/src/test/java/de/szut/casino/shared/service/BalanceServiceTest.java delete mode 100644 compose.yml delete mode 100644 frontend/.docker/Dockerfile delete mode 100644 frontend/.docker/casino.conf delete mode 100755 frontend/.docker/entrypoint.sh delete mode 100644 frontend/.dockerignore delete mode 100644 frontend/.editorconfig delete mode 100644 frontend/.gitignore delete mode 100644 frontend/.postcssrc.json delete mode 100644 frontend/.prettierignore delete mode 100644 frontend/.prettierrc delete mode 100644 frontend/README.md delete mode 100644 frontend/angular.json delete mode 100644 frontend/bun.lock delete mode 100644 frontend/eslint.config.js delete mode 100644 frontend/package.json delete mode 100644 frontend/public/blackjack.webp delete mode 100644 frontend/public/coinflip.png delete mode 100644 frontend/public/favicon.ico delete mode 100644 frontend/public/images/1-box.png delete mode 100644 frontend/public/images/2-box.png delete mode 100644 frontend/public/images/3-box.png delete mode 100644 frontend/public/liars-dice.webp delete mode 100644 frontend/public/lootbox.webp delete mode 100644 frontend/public/plinko.webp delete mode 100644 frontend/public/silent-check-sso.html delete mode 100644 frontend/public/slots.webp delete mode 100644 frontend/public/sounds/bet.mp3 delete mode 100644 frontend/public/sounds/coinflip.mp3 delete mode 100644 frontend/public/sounds/drag.mp3 delete mode 100644 frontend/public/sounds/win.mp3 delete mode 100644 frontend/src/app/app.component.css delete mode 100644 frontend/src/app/app.component.html delete mode 100644 frontend/src/app/app.component.ts delete mode 100644 frontend/src/app/app.config.ts delete mode 100644 frontend/src/app/app.routes.ts delete mode 100644 frontend/src/app/auth.guard.ts delete mode 100644 frontend/src/app/feature/auth/login/login.component.html delete mode 100644 frontend/src/app/feature/auth/login/login.component.ts delete mode 100644 frontend/src/app/feature/auth/oauth2/oauth2-callback.component.ts delete mode 100644 frontend/src/app/feature/auth/oauth2/oauth2.service.ts delete mode 100644 frontend/src/app/feature/auth/recover-password/recover-password.component.html delete mode 100644 frontend/src/app/feature/auth/recover-password/recover-password.component.ts delete mode 100644 frontend/src/app/feature/auth/register/register.component.html delete mode 100644 frontend/src/app/feature/auth/register/register.component.ts delete mode 100644 frontend/src/app/feature/auth/verify-email/verify-email.component.html delete mode 100644 frontend/src/app/feature/auth/verify-email/verify-email.component.ts delete mode 100644 frontend/src/app/feature/deposit/deposit.component.html delete mode 100644 frontend/src/app/feature/deposit/deposit.component.ts delete mode 100644 frontend/src/app/feature/game/blackjack/blackjack.component.html delete mode 100644 frontend/src/app/feature/game/blackjack/blackjack.component.ts delete mode 100644 frontend/src/app/feature/game/blackjack/components/animated-number/animated-number.component.ts delete mode 100644 frontend/src/app/feature/game/blackjack/components/dealer-hand/dealer-hand.component.ts delete mode 100644 frontend/src/app/feature/game/blackjack/components/game-controls/game-controls.component.ts delete mode 100644 frontend/src/app/feature/game/blackjack/components/game-info/game-info.component.ts delete mode 100644 frontend/src/app/feature/game/blackjack/components/game-result/game-result.component.ts delete mode 100644 frontend/src/app/feature/game/blackjack/components/player-hand/player-hand.component.ts delete mode 100644 frontend/src/app/feature/game/blackjack/components/playing-card/playing-card.component.ts delete mode 100644 frontend/src/app/feature/game/blackjack/enum/gameState.ts delete mode 100644 frontend/src/app/feature/game/blackjack/models/blackjack.model.ts delete mode 100644 frontend/src/app/feature/game/blackjack/models/card.model.ts delete mode 100644 frontend/src/app/feature/game/blackjack/services/betting.service.ts delete mode 100644 frontend/src/app/feature/game/blackjack/services/blackjack.service.ts delete mode 100644 frontend/src/app/feature/game/blackjack/services/game-controls.service.ts delete mode 100644 frontend/src/app/feature/game/coinflip/coinflip.component.css delete mode 100644 frontend/src/app/feature/game/coinflip/coinflip.component.html delete mode 100644 frontend/src/app/feature/game/coinflip/coinflip.component.ts delete mode 100644 frontend/src/app/feature/game/coinflip/models/coinflip.model.ts delete mode 100644 frontend/src/app/feature/game/dice/dice.component.html delete mode 100644 frontend/src/app/feature/game/dice/dice.component.ts delete mode 100644 frontend/src/app/feature/game/dice/dice.model.ts delete mode 100644 frontend/src/app/feature/game/dice/dice.service.ts delete mode 100644 frontend/src/app/feature/game/slots/slots.component.css delete mode 100644 frontend/src/app/feature/game/slots/slots.component.html delete mode 100644 frontend/src/app/feature/game/slots/slots.component.ts delete mode 100644 frontend/src/app/feature/home/home.component.html delete mode 100644 frontend/src/app/feature/home/home.component.ts delete mode 100644 frontend/src/app/feature/landing/landing.component.html delete mode 100644 frontend/src/app/feature/landing/landing.component.ts delete mode 100644 frontend/src/app/feature/lootboxes/lootbox-opening/lootbox-opening.component.css delete mode 100644 frontend/src/app/feature/lootboxes/lootbox-opening/lootbox-opening.component.html delete mode 100644 frontend/src/app/feature/lootboxes/lootbox-opening/lootbox-opening.component.ts delete mode 100644 frontend/src/app/feature/lootboxes/lootbox-selection/lootbox-selection.component.css delete mode 100644 frontend/src/app/feature/lootboxes/lootbox-selection/lootbox-selection.component.html delete mode 100644 frontend/src/app/feature/lootboxes/lootbox-selection/lootbox-selection.component.ts delete mode 100644 frontend/src/app/feature/lootboxes/services/lootbox.service.ts delete mode 100644 frontend/src/app/feature/transaction-history/transaction-history.component.css delete mode 100644 frontend/src/app/feature/transaction-history/transaction-history.component.html delete mode 100644 frontend/src/app/feature/transaction-history/transaction-history.component.ts delete mode 100644 frontend/src/app/model/Game.ts delete mode 100644 frontend/src/app/model/LootBox.ts delete mode 100644 frontend/src/app/model/Transaction.ts delete mode 100644 frontend/src/app/model/TransactionData.ts delete mode 100644 frontend/src/app/model/User.ts delete mode 100644 frontend/src/app/model/auth/AuthResponse.ts delete mode 100644 frontend/src/app/model/auth/LoginRequest.ts delete mode 100644 frontend/src/app/model/auth/RegisterRequest.ts delete mode 100644 frontend/src/app/service/auth.service.ts delete mode 100644 frontend/src/app/service/deposit.service.ts delete mode 100644 frontend/src/app/service/transaction.service.ts delete mode 100644 frontend/src/app/service/user.service.ts delete mode 100644 frontend/src/app/shared/components/confirmation/confirmation.component.html delete mode 100644 frontend/src/app/shared/components/confirmation/confirmation.component.ts delete mode 100644 frontend/src/app/shared/components/debt-dialog/debt-dialog.component.ts delete mode 100644 frontend/src/app/shared/components/footer/footer.component.html delete mode 100644 frontend/src/app/shared/components/footer/footer.component.ts delete mode 100644 frontend/src/app/shared/components/navbar/navbar.component.html delete mode 100644 frontend/src/app/shared/components/navbar/navbar.component.ts delete mode 100644 frontend/src/app/shared/directives/drag-sound.directive.ts delete mode 100644 frontend/src/app/shared/directives/play-sound.directive.ts delete mode 100644 frontend/src/app/shared/interceptor/http.interceptor.ts delete mode 100644 frontend/src/app/shared/services/audio.service.ts delete mode 100644 frontend/src/app/shared/services/modal-animation.service.ts delete mode 100644 frontend/src/app/shared/services/sound-initializer.service.ts delete mode 100644 frontend/src/environments/environment.ts delete mode 100644 frontend/src/favicon.ico delete mode 100644 frontend/src/index.html delete mode 100644 frontend/src/main.ts delete mode 100644 frontend/src/proxy.conf.json delete mode 100644 frontend/src/styles.css delete mode 100644 frontend/tsconfig.app.json delete mode 100644 frontend/tsconfig.json delete mode 100644 frontend/tsconfig.spec.json delete mode 100644 justfile delete mode 100644 release.config.cjs delete mode 100644 renovate.json diff --git a/.gitea/labeler.yml b/.gitea/labeler.yml deleted file mode 100644 index a26346d..0000000 --- a/.gitea/labeler.yml +++ /dev/null @@ -1,14 +0,0 @@ -frontend: - - changed-files: - - any-glob-to-any-file: - - "frontend/**" - -backend: - - changed-files: - - any-glob-to-any-file: - - "backend/**" - -ci: - - changed-files: - - any-glob-to-any-file: - - ".gitea/**" diff --git a/.gitea/size.yml b/.gitea/size.yml deleted file mode 100644 index c13c0ba..0000000 --- a/.gitea/size.yml +++ /dev/null @@ -1,19 +0,0 @@ -buckets: - - maxSize: 80 - label: size/small - comment: null - - maxSize: 200 - label: size/medium - comment: null - - maxSize: 2000 - label: size/large - comment: > - 👮‍♀️⚠️ This is a friendly reminder that the diff size of this PR is bigger than - 200 lines we aim for. Please consider splitting this PR into more digestible pieces! - - maxSize: Infinity - label: size/huge - comment: > - 👮‍♀️🛑 This PR's diff size is quite huge. - Hopefully you know what you're doing. - If you did not commit a lot of autogenerated files intentionally, - there are few good reasons for this. diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml deleted file mode 100644 index 0408e04..0000000 --- a/.gitea/workflows/ci.yml +++ /dev/null @@ -1,255 +0,0 @@ -name: CI - -on: - pull_request: - -concurrency: - group: ci-${{ github.ref }} - cancel-in-progress: true - -jobs: - changed_files: - name: Get Changed Files - runs-on: ubuntu-latest - outputs: - backend: ${{ steps.filter.outputs.backend }} - frontend: ${{ steps.filter.outputs.frontend }} - workflow: ${{ steps.filter.outputs.workflow }} - steps: - - uses: actions/checkout@v4 - - name: Check for file changes - uses: dorny/paths-filter@v3 - id: filter - with: - filters: | - backend: - - 'backend/**' - frontend: - - 'frontend/**' - workflow: - - '.gitea/workflows/**' - - test-backend: - runs-on: ubuntu-latest - name: "Backend Tests" - needs: changed_files - if: ${{ needs.changed_files.outputs.backend == 'true' || needs.changed_files.outputs.workflow == 'true' }} - container: - image: "cimg/openjdk:23.0-node" - steps: - - name: "Checkout" - uses: actions/checkout@v4 - - - name: "Run tests" - working-directory: ./backend - run: | - ./gradlew test - - - name: "Cache checkstyle results" - uses: actions/upload-artifact@v4 - with: - name: checkstyle-results - path: backend/build/reports/checkstyle - - - name: "Stop Gradle" - working-directory: ./backend - run: ./gradlew --stop - - checkstyle: - runs-on: ubuntu-latest - name: "Checkstyle Main" - needs: changed_files - if: ${{ needs.changed_files.outputs.backend == 'true' || needs.changed_files.outputs.workflow == 'true' }} - container: - image: "cimg/openjdk:23.0-node" - steps: - - name: "Checkout" - uses: actions/checkout@v4 - - name: "Cache Gradle dependencies" - uses: https://github.com/actions/cache@v4 - with: - path: | - ~/.gradle/caches - ~/.gradle/wrapper - backend/build/reports/checkstyle - key: gradle-${{ runner.os }}-${{ hashFiles('backend/**/*.java', 'backend/config/checkstyle/checkstyle.xml') }} - restore-keys: | - gradle-${{ runner.os }}- - - name: "Check cache for checkstyle reports" - id: check-cache - run: | - if [ -d "backend/build/reports/checkstyle" ] && [ -f "backend/build/reports/checkstyle/main.xml" ]; then - echo "Cache hit! Using cached checkstyle results" - echo "cache-hit=true" >> $GITHUB_OUTPUT - else - echo "Cache miss! Running checkstyle check" - echo "cache-hit=false" >> $GITHUB_OUTPUT - fi - - - name: "Run checkstyle" - if: steps.check-cache.outputs.cache-hit != 'true' - working-directory: ./backend - run: | - gradle checkstyleMain - - - name: "Cache checkstyle results" - if: steps.check-cache.outputs.cache-hit != 'true' - uses: actions/upload-artifact@v4 - with: - name: checkstyle-results - path: backend/build/reports/checkstyle - - - name: "Stop Gradle" - if: steps.check-cache.outputs.cache-hit != 'true' - working-directory: ./backend - run: gradle --stop - - validate-docker-frontend: - runs-on: ubuntu-latest - name: Docker frontend validation - needs: changed_files - if: ${{ needs.changed_files.outputs.frontend == 'true' || needs.changed_files.outputs.workflow == 'true' }} - container: - image: catthehacker/ubuntu:act-latest - steps: - - name: Checkout - uses: actions/checkout@v4 - - name: Build - uses: docker/build-push-action@v6 - with: - context: frontend/ - file: frontend/.docker/Dockerfile - push: false - - validate-docker-backend: - runs-on: ubuntu-latest - name: Docker backend validation - needs: changed_files - if: ${{ needs.changed_files.outputs.backend == 'true' || needs.changed_files.outputs.workflow == 'true' }} - container: - image: catthehacker/ubuntu:act-latest - steps: - - name: Checkout - uses: actions/checkout@v4 - - name: Build - uses: docker/build-push-action@v6 - with: - context: backend/ - file: backend/.docker/Dockerfile - push: false - - eslint: - runs-on: docker - container: - image: git.kjan.de/actions/runner-bun:latest - name: eslint - needs: changed_files - if: ${{ needs.changed_files.outputs.frontend == 'true' || needs.changed_files.outputs.workflow == 'true' }} - steps: - - name: Checkout Code - uses: actions/checkout@v4 - - uses: actions/cache@v4 - working-directory: ./frontend - with: - path: | - frontend/node_modules/ - key: ${{ runner.os }}-bun- - restore-keys: | - ${{ runner.os }}-bun- - - name: Install dependencies - run: | - cd frontend - bun install - - name: Run Eslint - run: | - cd frontend - bun run lint - - oxlint: - runs-on: docker - name: oxlint - needs: changed_files - if: ${{ needs.changed_files.outputs.frontend == 'true' || needs.changed_files.outputs.workflow == 'true' }} - container: - image: git.kjan.de/actions/runner-bun:latest - steps: - - name: Checkout Code - uses: actions/checkout@v4 - - uses: actions/cache@v4 - working-directory: ./frontend - with: - path: | - frontend/node_modules/ - key: ${{ runner.os }}-bun- - restore-keys: | - ${{ runner.os }}-bun- - - name: Install dependencies - run: | - cd frontend - bun install - - name: Run oxlint - run: | - cd frontend - bun run oxlint - - prettier: - runs-on: docker - name: prettier - needs: changed_files - if: ${{ needs.changed_files.outputs.frontend == 'true' || needs.changed_files.outputs.workflow == 'true' }} - container: - image: git.kjan.de/actions/runner-bun:latest - steps: - - name: Checkout Code - uses: actions/checkout@v4 - - uses: actions/cache@v4 - working-directory: ./frontend - with: - path: | - frontend/node_modules/ - key: ${{ runner.os }}-bun- - restore-keys: | - ${{ runner.os }}-bun- - - name: Install dependencies - run: | - cd frontend - bun install - - name: Run prettier - run: | - cd frontend - bun run format:check - - test-build: - runs-on: docker - name: test-build - needs: changed_files - if: ${{ needs.changed_files.outputs.frontend == 'true' || needs.changed_files.outputs.workflow == 'true' }} - container: - image: git.kjan.de/actions/runner-bun:latest - steps: - - name: Checkout Code - uses: actions/checkout@v4 - - uses: actions/cache@v4 - working-directory: ./frontend - with: - path: | - frontend/node_modules/ - key: ${{ runner.os }}-bun- - restore-keys: | - ${{ runner.os }}-bun- - - uses: actions/cache@v4 - working-directory: ./frontend - with: - path: | - frontend/dist/ - key: ${{ runner.os }}-dist- - restore-keys: | - ${{ runner.os }}-dist- - - name: Install dependencies - run: | - cd frontend - bun install - - name: Test build - run: | - cd frontend - bun run build diff --git a/.gitea/workflows/claude-comment.yml b/.gitea/workflows/claude-comment.yml deleted file mode 100644 index e13a540..0000000 --- a/.gitea/workflows/claude-comment.yml +++ /dev/null @@ -1,124 +0,0 @@ -name: Claude Gitea PR Interaction via Comment - -on: - issue_comment: - types: [created] - -jobs: - claude-interact-on-comment: - runs-on: ubuntu-latest - if: | - github.event.issue.pull_request && - contains(github.event.comment.body, '@Claude') - steps: - - name: Check out code - uses: actions/checkout@v4 - with: - fetch-depth: 0 # Required for git diff against main/master - - - name: Set Tea Version - id: tea_version - run: echo "version=0.9.2" >> $GITHUB_OUTPUT # Check for the latest stable version - - - name: Download Tea CLI - run: | - TEA_VERSION=$(echo "${{ steps.tea_version.outputs.version }}") - wget "https://gitea.com/gitea/tea/releases/download/v${TEA_VERSION}/tea-${TEA_VERSION}-linux-amd64" -O tea - chmod +x tea - sudo mv tea /usr/local/bin/tea - - - name: Verify Tea Installation - run: tea --version - - - name: Add Gitea Login - env: - GITEA_URL: ${{ secrets._GITEA_URL }} - GITEA_TOKEN: ${{ secrets._GITEA_TOKEN }} - run: | - if [ -z "$GITEA_URL" ]; then - echo "Error: GITEA_URL secret is not set." - exit 1 - fi - if [ -z "$GITEA_TOKEN" ]; then - echo "Error: GITEA_TOKEN secret is not set." - exit 1 - fi - INSECURE_FLAG="" - if [[ "${GITEA_URL}" == http://* ]]; then - INSECURE_FLAG="--insecure" - fi - tea login add --name mygitea --url "$GITEA_URL" --token "$GITEA_TOKEN" $INSECURE_FLAG - - - name: Install bun - uses: oven-sh/setup-bun@v2 - - - name: Install claude-code - run: bun i -g @anthropic-ai/claude-code - - - name: Claude Process PR Comment - env: - ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} - PR_NUMBER: ${{ github.event.issue.number }} - COMMENT_BODY: ${{ github.event.comment.body }} - COMMENT_AUTHOR: ${{ github.event.comment.user.login }} - GITEA_URL: ${{ secrets._GITEA_URL }} - run: | - claude --allowedTools "Bash(tea:*)" --allowedTools "Bash(git:*)" --allowedTools "Read" --allowedTools "Grep" --allowedTools "WebFetch" --allowedTools "Glob" --allowedTools "LS" -p "You are an AI assistant integrated with Gitea (at ${GITEA_URL}) via the 'tea' CLI. - You have been invoked because user '${COMMENT_AUTHOR}' left the following comment on Pull Request #${PR_NUMBER}: - --- - ${COMMENT_BODY} - --- - - Your primary task is to: - 1. Carefully understand the user's request within their comment. - 2. Use the 'tea' CLI to perform the requested action(s) on Pull Request #${PR_NUMBER}. - 3. If the request is to review the PR, fetch the diff against the PR's base branch (e.g., 'git fetch origin main && git diff origin/main...HEAD' or similar; adapt branch name if necessary, or use 'tea pr diff ${PR_NUMBER}') and provide constructive feedback. - 4. For other actions, translate the user's intent into the appropriate 'tea' command. - - **How to Post Reviews and Other Feedback:** - - When you provide a review, post it as a comment using: - \`tea pr comment ${PR_NUMBER} \"Claude's Review:\n[Your detailed review, mentioning files and line numbers.]\"\` - - For other informational responses or clarifications, also use \`tea pr comment ...\`. - - **Critical: Handling Approval, Rejection, or Merge Requests:** - Pull Request approval, rejection, and merging are critical actions and should not be used to 'cheat' the review process. You cannot verify Gitea user permissions. - - If a user comments asking you to directly approve (e.g., '@claude approve this'), merge, or reject a PR: - 1. **Do NOT blindly execute these commands.** - 2. **Approval/Merge:** - - State in a comment (using \`tea pr comment ...\`) that direct approval/merge requests via you are typically for convenience after a proper human review process has been implicitly completed or if the requester is a designated maintainer explicitly overriding. - - If the PR has not been reviewed by you yet, and the comment implies a review is also needed, perform the review FIRST and post it. - - You should only consider proceeding with a \`tea pr approve ${PR_NUMBER}\` or \`tea pr merge ${PR_NUMBER}\` command if: - a. The comment explicitly states that all necessary human reviews are complete and this is just a formal step by a trusted user. - b. OR, your own comprehensive review found no critical issues and the request seems appropriate in context. - - If in doubt, default to posting your review (if applicable) and stating that a maintainer should perform the final approval/merge. Your goal is to assist, not to bypass established review procedures. - 3. **Rejection/Requesting Changes:** - - If asked to reject or request changes, you should typically base this on your own review of the PR's changes. - - First, perform a review if you haven't already. - - Then, you can use \`tea pr reject ${PR_NUMBER} \"Claude's Review Summary: [summary of reasons for rejection/changes based on your review]\"\`. Ensure your detailed review is also available as a comment. - - Examples of interpreting comments and generating appropriate \`tea\` commands (keeping the above critical guidelines in mind): - - User: '@claude LGTM, approve this' -> You: First, consider if a review is implied or done. If so, and you agree, you might generate \`tea pr approve ${PR_NUMBER}\`. If not, you might generate \`tea pr comment ${PR_NUMBER} \"Claude: I can approve this if the standard review process is complete. Have maintainers reviewed this?\"\` or perform your own review and then comment. - - User: '@claude please review this PR' -> You: Get diffs, review, then generate \`tea pr comment ${PR_NUMBER} \"Claude's Review: ...\"\`. - - User: '@claude close this PR' -> You: Generate \`tea pr close ${PR_NUMBER}\` and optionally \`tea pr comment ${PR_NUMBER} \"Claude: PR #${PR_NUMBER} has been closed as requested.\"\`. - - User: '@claude add label enhancement' -> You: Generate \`tea pr label ${PR_NUMBER} --add enhancement\` and \`tea pr comment ${PR_NUMBER} \"Claude: Label 'enhancement' added to PR #${PR_NUMBER}.\"\` - - User: '@claude what are the labels on this PR?' -> You: Generate \`tea pr label ${PR_NUMBER} --list\` (this command outputs to stdout, which is fine for your internal use). Then, to inform the user, you generate: \`tea pr comment ${PR_NUMBER} \"Claude: The current labels are: [output from tea pr label --list].\"\` (You'll need to capture the output of the first command to formulate the second if the tool allows such chaining, otherwise, focus on commands that directly achieve the user's goal or report information). *Self-correction: The Bash tool can capture output. So, if you need to run a \`tea\` command to get information for yourself, do so, then use that information to formulate your \`tea pr comment ...\` to the user.* - - **IMPORTANT GUIDELINES FOR YOUR OPERATION AND RESPONSE GENERATION:** - - **Your SOLE METHOD of communicating back to the user on Gitea is by generating a \`tea pr comment ${PR_NUMBER} \"...\"\` command.** This is non-negotiable. Do not output plain text messages intended for the user. Your response *is* the command. - - **Use the 'tea' CLI for ALL Gitea interactions.** This includes fetching PR details, diffs, labels, status, and posting comments, reviews, approvals, etc. - - **For PR reviews, ALWAYS analyze the diff.** Use \`tea pr diff ${PR_NUMBER}\` or git commands to get the diff. Make sure to mention specific files and line numbers in your review comment. - - **Be precise with 'tea' commands.** If a user's request is ambiguous, DO NOT GUESS. Instead, generate a \`tea pr comment ${PR_NUMBER} \"Claude Asks: [Your clarifying question]\"\` command to ask for more details. - - **Execute only necessary 'tea' command(s).** If a user asks for a review, your primary output should be the \`tea pr comment ...\` command containing the review. If they ask to add a label, your output should be \`tea pr label ...\` and then a confirmation \`tea pr comment ...\`. - - **Ensure reviews are professional, constructive, and helpful.** - - **If you need to perform an action AND then report on it, generate both \`tea\` commands sequentially.** For example, to add a label and confirm: - \`tea pr label ${PR_NUMBER} --add bug\` - \`tea pr comment ${PR_NUMBER} "Claude: I've added the 'bug' label."\` - The GitHub Actions workflow will execute these commands one after another. - - **If a user's request cannot be fulfilled using the 'tea' CLI or the allowed tools, explain this limitation by generating a \`tea pr comment ...\` command.** For example: \`tea pr comment ${PR_NUMBER} "Claude: I cannot perform that action as it's outside my current capabilities or allowed tools."\` - - **Think step-by-step.** 1. Understand request. 2. Identify necessary `tea` command(s). 3. If it's a review, get the diff. 4. Formulate the `tea` command(s) as your direct output. - - **Final Check before outputting:** - "Is my entire response that's intended for the Gitea user wrapped in a \`tea pr comment ${PR_NUMBER} '...' \` command (or another appropriate \`tea\` command if it's an action like \`tea pr label ...\`)? If not, I must fix it." - - You are now ready to process the comment. Remember, your output will be executed in a shell. Generate only the \`tea\` command(s) needed. - " diff --git a/.gitea/workflows/claude.yml b/.gitea/workflows/claude.yml deleted file mode 100644 index 93fe60e..0000000 --- a/.gitea/workflows/claude.yml +++ /dev/null @@ -1,16 +0,0 @@ -name: Claude PR Review - -on: - pull_request: - types: [opened, synchronize] # Runs on new PRs and updates - -jobs: - claude-code: - runs-on: ubuntu-latest - steps: - - name: Claude - uses: https://git.kjan.de/actions/claude-pr-review@v1.0.4 - with: - ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} - GITEA_URL: ${{ secrets._GITEA_URL }} - GITEA_CLAUDE_TOKEN: ${{ secrets._GITEA_TOKEN }} diff --git a/.gitea/workflows/labeler.yml b/.gitea/workflows/labeler.yml deleted file mode 100644 index e177ec3..0000000 --- a/.gitea/workflows/labeler.yml +++ /dev/null @@ -1,14 +0,0 @@ -name: "Pull Request Labeler" -on: - pull_request_target: - -jobs: - labeler: - permissions: - contents: read - pull-requests: write - runs-on: ubuntu-latest - steps: - - uses: actions/labeler@v5 - with: - configuration-path: ".gitea/labeler.yml" diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml deleted file mode 100644 index 7e76ef6..0000000 --- a/.gitea/workflows/release.yml +++ /dev/null @@ -1,94 +0,0 @@ -name: Release -on: - push: - branches: - - "main" - paths: - - "backend/**" - - "frontend/**" - - ".gitea/workflows/release.yml" - - "release.config.cjs" - -env: - GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }} - -permissions: - contents: read - -jobs: - release: - runs-on: ubuntu-latest - name: Release - permissions: - contents: write - issues: write - pull-requests: write - id-token: write - steps: - - name: Create Release - uses: https://git.kjan.de/actions/semantic-release@main - with: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }} - - build-backend-image: - needs: release - runs-on: ubuntu-latest - name: Build Backend Image - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - fetch-depth: 0 # Ensure full history is available - - name: Extract tag - run: | - TAG=$(git describe --tags --abbrev=0) - echo "TAG=$TAG" >> $GITHUB_ENV - - name: Checkout - uses: actions/checkout@v4 - - name: Login - uses: docker/login-action@v3 - with: - registry: git.kjan.de - username: ${{ secrets.DOCKER_USER }} - password: ${{ secrets.DOCKER_PASS }} - - name: Build and push - uses: docker/build-push-action@v6 - with: - context: backend/ - file: backend/.docker/Dockerfile - push: true - tags: | - git.kjan.de/szut/casino-backend:latest - git.kjan.de/szut/casino-backend:${{ env.TAG }} - - build-frontend-image: - needs: release - runs-on: ubuntu-latest - name: Build Frontend Image - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - fetch-depth: 0 # Ensure full history is available - - name: Extract tag - run: | - TAG=$(git describe --tags --abbrev=0) - echo "TAG=$TAG" >> $GITHUB_ENV - - name: Checkout - uses: actions/checkout@v4 - - name: Login - uses: docker/login-action@v3 - with: - registry: git.kjan.de - username: ${{ secrets.DOCKER_USER }} - password: ${{ secrets.DOCKER_PASS }} - - name: Build and push - uses: docker/build-push-action@v6 - with: - context: frontend/ - file: frontend/.docker/Dockerfile - push: true - tags: | - git.kjan.de/szut/casino-frontend:latest - git.kjan.de/szut/casino-frontend:${{ env.TAG }} diff --git a/.gitea/workflows/size.yml b/.gitea/workflows/size.yml deleted file mode 100644 index 63a1acc..0000000 --- a/.gitea/workflows/size.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: Label PRs based on size - -on: [pull_request] - -jobs: - add_pr_size_label: - runs-on: ubuntu-latest - name: Check PR size - - steps: - - name: Check out code - uses: actions/checkout@v4 - - - name: Label and comment PR - uses: boschresearch/pr-size-labeler@v5.0.1 - with: - bucketConfigFile: ".gitea/size.yml" diff --git a/.gitea/workflows/stale.yml b/.gitea/workflows/stale.yml deleted file mode 100644 index 7ba5af9..0000000 --- a/.gitea/workflows/stale.yml +++ /dev/null @@ -1,15 +0,0 @@ -name: "Close stale issues and PRs" -on: - workflow_dispatch: - schedule: - - cron: "@hourly" - -jobs: - stale: - runs-on: ubuntu-latest - steps: - - uses: actions/stale@v9 - with: - stale-pr-message: "Will be closed in x days bc yo mom is a bitch. im not telling you when it will be closed fuckface" - days-before-pr-stale: 2 - days-before-pr-close: 3 diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 4c8b52f..0000000 --- a/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -.idea -.DS_Store -.vscode diff --git a/CLAUDE.md b/CLAUDE.md deleted file mode 100644 index c1a44d6..0000000 --- a/CLAUDE.md +++ /dev/null @@ -1,41 +0,0 @@ -# Casino Gaming Platform - Claude Assistant Guide - -## Build Commands - -### Frontend -- Build: `bun run build` or `bunx @angular/cli build` -- Start dev server: `bun run start` or `bunx @angular/cli serve --proxy-config src/proxy.conf.json` -- Format: `bun run format` or `prettier --write "src/**/*.{ts,html,css,scss}"` - -### Backend -- Build: `./gradlew build` or `./gradlew clean build` -- Run: `./gradlew bootRun` -- Generate JAR: `./gradlew bootJar` - -## Lint/Test Commands - -### Frontend -- Lint: `bun run lint` or `ng lint` -- Test all: `bun run test` or `bunx @angular/cli test` -- Test single file: `bunx @angular/cli test --include=path/to/test.spec.ts` - -### Backend -- Test all: `./gradlew test` -- Test single class: `./gradlew test --tests "FullyQualifiedClassName"` -- Checkstyle: `./gradlew checkstyleMain checkstyleTest` - -## Code Style Guidelines - -### Frontend (Angular) -- Use PascalCase for class names with suffixes (Component, Service) -- Use kebab-case for component selectors with "app-" prefix -- File naming: `name.component.ts`, `name.service.ts` -- Import order: Angular → third-party → local -- Use RxJS catchError for HTTP error handling - -### Backend (Java) -- Use PascalCase for classes with descriptive suffixes (Controller, Service, Entity) -- Use camelCase for methods and variables -- Domain-driven package organization -- Prefix DTOs with domain and suffix with "Dto" -- Use Spring's global exception handling with custom exceptions \ No newline at end of file diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 27f6edc..0000000 --- a/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2025 Casino Gaming Platform - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. \ No newline at end of file diff --git a/README.md b/README.md deleted file mode 100644 index aba23fe..0000000 --- a/README.md +++ /dev/null @@ -1,172 +0,0 @@ -# Casino Gaming Platform - -An online gaming platform offering various casino-style games with virtual currency support. This project features a modern tech stack with Angular frontend, Spring Boot backend, and complete user authentication. - -Please refer to our [Style Guide](https://git.kjan.de/SZUT/casino/wiki/Frontend#design-system) for design guidelines and component standards. - -## Features - -- Multiple casino games: Poker, Blackjack, Slots, Plinko, Liars Dice, and Lootboxes -- User authentication and account management via Keycloak -- Virtual currency deposit system using Stripe payments -- Transaction history tracking -- Responsive modern UI built with Angular and TailwindCSS - -## Tech Stack - -### Frontend -- Angular 19 -- TailwindCSS -- Keycloak integration -- Stripe payment integration - -### Backend -- Spring Boot (Java) -- PostgreSQL database -- Keycloak for authentication/authorization -- Stripe API for payment processing - -### Infrastructure -- Docker containerization for all services - -## Getting Started - -### Prerequisites -* [Docker](https://docs.docker.com/get-docker/) -* [Docker Compose](https://docs.docker.com/compose/install/) (included with Docker Desktop for Windows and Mac) -* Java JDK 17+ -* Node.js 18+ - -### Setting Up the Environment - -1. Clone the repository -```bash -git clone -cd casino -``` - -2. Start the Docker services -```bash -cd docker -docker-compose up -d -``` - -This will start: -- PostgreSQL database -- Keycloak authentication server - -### Running the Backend - -1. Navigate to the backend directory -```bash -cd backend -``` - -2. Start the Spring Boot application -```bash -./gradlew bootRun -``` - -You may optionally install [watchexec](https://github.com/watchexec/watchexec?tab=readme-ov-file) and use this command to autorecompile the backend on file changes: -```bash -watchexec -r -e java ./gradlew :bootRun -``` - -The backend will be available at: -- API endpoint: http://localhost:8080 -- Swagger documentation: http://localhost:8080/swagger - -### Running the Frontend - -1. Navigate to the frontend directory -```bash -cd frontend -``` - -2. Install dependencies -```bash -npm install -``` - -3. Start the development server -```bash -npm run dev -``` - -The frontend will be available at http://localhost:4200 - -### Local Stripe integration -1. Install the Stripe CLI - https://stripe.com/docs/stripe-cli - -2. Login to the casino stripe account -``` -stripe login --api-key -``` - -3. Start webhook forwarding -``` -stripe listen --forward-to localhost:8080/webhook -``` - -## Database Management - -### Postgres Management - -#### Database cleanup (if needed) -```bash -cd docker -docker-compose down -docker volume rm local_lf8_starter_postgres_data -docker-compose up -d -``` - -#### Setting up IntelliJ Database View -1. Run the Docker container with PostgreSQL database -2. Open `application.properties` in the resources folder and copy the database URL -3. Open the Database tab in IntelliJ -4. Click on the database icon with key in the Database toolbar -5. Click the plus sign and select "Datasource from URL" -6. Paste the DB URL and select PostgreSQL driver, confirm with OK -7. Enter username `lf8_starter` and password `secret` -8. In the Schemas tab, uncheck all options and only check `lf8_starter_db` and `public` - -## Authentication - -The application uses Keycloak for authentication. To get a bearer token for API testing: - -1. Open `requests/getBearerToken.http` -2. Click the green arrow next to the request -3. Copy the `access_token` from the response - -## Development Guidelines - -### Commit Message Format - -We follow semantic commit messages to maintain clear project history. - -Format: `(): ` - -Where `` is one of: -- `feat`: New feature -- `fix`: Bug fix -- `docs`: Documentation changes -- `style`: Formatting, missing semicolons, etc; no code change -- `refactor`: Code refactoring -- `test`: Adding or refactoring tests -- `chore`: Updating build tasks, etc; no production code change - -Examples: -``` -feat: add user balance display -fix(auth): resolve token expiration issue -docs: update API documentation -``` - -References: -- [Conventional Commits](https://www.conventionalcommits.org/) -- [Semantic Commit Messages](https://seesparkbox.com/foundry/semantic_commit_messages) - -## License - -This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. diff --git a/backend/.docker/Dockerfile b/backend/.docker/Dockerfile deleted file mode 100644 index cbb743f..0000000 --- a/backend/.docker/Dockerfile +++ /dev/null @@ -1,20 +0,0 @@ -FROM gradle:jdk23 AS builder -WORKDIR /app - -COPY gradlew build.gradle.kts settings.gradle.kts config ./ -COPY gradle gradle - -RUN chmod +x gradlew -RUN gradle dependencies - -COPY src src - -RUN gradle clean build -x test -x checkstyleMain -x checkstyleTest -x compileTestJava - -FROM openjdk:23-jdk-slim AS runtime -WORKDIR /app - -COPY --from=builder /app/build/libs/*.jar app.jar - -EXPOSE 8080 -ENTRYPOINT ["java", "-jar", "app.jar"] diff --git a/backend/.dockerignore b/backend/.dockerignore deleted file mode 100644 index f06dfad..0000000 --- a/backend/.dockerignore +++ /dev/null @@ -1,2 +0,0 @@ -.gradle -build \ No newline at end of file diff --git a/backend/.gitignore b/backend/.gitignore deleted file mode 100644 index c2065bc..0000000 --- a/backend/.gitignore +++ /dev/null @@ -1,37 +0,0 @@ -HELP.md -.gradle -build/ -!gradle/wrapper/gradle-wrapper.jar -!**/src/main/**/build/ -!**/src/test/**/build/ - -### STS ### -.apt_generated -.classpath -.factorypath -.project -.settings -.springBeans -.sts4-cache -bin/ -!**/src/main/**/bin/ -!**/src/test/**/bin/ - -### IntelliJ IDEA ### -.idea -*.iws -*.iml -*.ipr -out/ -!**/src/main/**/out/ -!**/src/test/**/out/ - -### NetBeans ### -/nbproject/private/ -/nbbuild/ -/dist/ -/nbdist/ -/.nb-gradle/ - -### VS Code ### -.vscode/ diff --git a/backend/Readme.md b/backend/Readme.md deleted file mode 100644 index 8f945dc..0000000 --- a/backend/Readme.md +++ /dev/null @@ -1,59 +0,0 @@ -# Starter für das LF08 Projekt - -## Requirements -* Docker https://docs.docker.com/get-docker/ -* Docker compose (bei Windows und Mac schon in Docker enthalten) https://docs.docker.com/compose/install/ - -## Endpunkt -``` -http://localhost:8080 -``` -## Swagger -``` -http://localhost:8080/swagger -``` - - -# Postgres -### Terminal öffnen -für alles gilt, im Terminal im Ordner docker/local sein -```bash -cd docker/local -``` -### Postgres starten -```bash -docker compose up -``` -Achtung: Der Docker-Container läuft dauerhaft! Wenn er nicht mehr benötigt wird, sollten Sie ihn stoppen. - -### Postgres stoppen -```bash -docker compose down -``` - -### Postgres Datenbank wipen, z.B. bei Problemen -```bash -docker compose down -docker volume rm local_lf8_starter_postgres_data -docker compose up -``` - -### Intellij-Ansicht für Postgres Datenbank einrichten -```bash -1. Lasse den Docker-Container mit der PostgreSQL-Datenbank laufen -2. im Ordner resources die Datei application.properties öffnen und die URL der Datenbank kopieren -3. rechts im Fenster den Reiter Database öffnen -4. In der Database-Symbolleiste auf das Datenbanksymbol mit dem Schlüssel klicken -5. auf das Pluszeichen klicken -6. Datasource from URL auswählen -7. URL der DB einfügen und PostgreSQL-Treiber auswählen, mit OK bestätigen -8. Username lf8_starter und Passwort secret eintragen (siehe application.properties), mit Apply bestätigen -9. im Reiter Schemas alle Häkchen entfernen und lediglich vor lf8_starter_db und public Häkchen setzen -10. mit Apply und ok bestätigen -``` -# Keycloak - -### Keycloak Token -1. Auf der Projektebene [GetBearerToken.http](../GetBearerToken.http) öffnen. -2. Neben der Request auf den grünen Pfeil drücken -3. Aus dem Reponse das access_token kopieren \ No newline at end of file diff --git a/backend/build.gradle.kts b/backend/build.gradle.kts deleted file mode 100644 index 1d73b90..0000000 --- a/backend/build.gradle.kts +++ /dev/null @@ -1,62 +0,0 @@ -plugins { - java - id("org.springframework.boot") version "3.5.0" - id("io.spring.dependency-management") version "1.1.7" - id("checkstyle") -} - -checkstyle { - configFile = file("$rootDir/config/checkstyle/checkstyle.xml") -} - -tasks.withType { - reports { - // Disable HTML report - html.required.set(false) - - // Disable XML report - xml.required.set(false) - } -} - -group = "de.szut" -version = "0.0.1-SNAPSHOT" - -java { - toolchain { - languageVersion = JavaLanguageVersion.of(23) - } -} - -configurations { - compileOnly { - extendsFrom(configurations.annotationProcessor.get()) - } -} - -repositories { - mavenCentral() -} - -dependencies { - implementation("com.stripe:stripe-java:29.1.0") - implementation("org.springframework.boot:spring-boot-starter-data-jpa") - implementation("org.springframework.boot:spring-boot-starter-web") - compileOnly("org.projectlombok:lombok") - annotationProcessor("org.projectlombok:lombok") - testImplementation("org.springframework.boot:spring-boot-starter-test") - testRuntimeOnly("org.junit.platform:junit-platform-launcher") - implementation("org.springframework.boot:spring-boot-starter-security") - implementation("org.springframework.boot:spring-boot-starter-oauth2-resource-server:3.4.5") - implementation("org.springframework.boot:spring-boot-starter-oauth2-client:3.4.5") - runtimeOnly("org.postgresql:postgresql") - implementation("org.springdoc:springdoc-openapi-starter-webmvc-ui:2.8.8") - implementation("io.jsonwebtoken:jjwt-api:0.11.5") - runtimeOnly("io.jsonwebtoken:jjwt-impl:0.11.5") - runtimeOnly("io.jsonwebtoken:jjwt-jackson:0.11.5") - implementation("org.springframework.boot:spring-boot-starter-mail") -} - -tasks.withType { - useJUnitPlatform() -} diff --git a/backend/config/checkstyle/checkstyle.xml b/backend/config/checkstyle/checkstyle.xml deleted file mode 100644 index bdcefb8..0000000 --- a/backend/config/checkstyle/checkstyle.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/backend/gradle/wrapper/gradle-wrapper.jar b/backend/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index 1b33c55baabb587c669f562ae36f953de2481846..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43764 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 '} - case $link in #( - /*) app_path=$link ;; #( - *) app_path=$APP_HOME$link ;; - esac -done - -# This is normally unused -# shellcheck disable=SC2034 -APP_BASE_NAME=${0##*/} -# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) -APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD=maximum - -warn () { - echo "$*" -} >&2 - -die () { - echo - echo "$*" - echo - exit 1 -} >&2 - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -nonstop=false -case "$( uname )" in #( - CYGWIN* ) cygwin=true ;; #( - Darwin* ) darwin=true ;; #( - MSYS* | MINGW* ) msys=true ;; #( - NONSTOP* ) nonstop=true ;; -esac - -CLASSPATH="\\\"\\\"" - - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD=$JAVA_HOME/jre/sh/java - else - JAVACMD=$JAVA_HOME/bin/java - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD=java - if ! command -v java >/dev/null 2>&1 - then - die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -fi - -# Increase the maximum file descriptors if we can. -if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then - case $MAX_FD in #( - max*) - # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC2039,SC3045 - MAX_FD=$( ulimit -H -n ) || - warn "Could not query maximum file descriptor limit" - esac - case $MAX_FD in #( - '' | soft) :;; #( - *) - # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC2039,SC3045 - ulimit -n "$MAX_FD" || - warn "Could not set maximum file descriptor limit to $MAX_FD" - esac -fi - -# Collect all arguments for the java command, stacking in reverse order: -# * args from the command line -# * the main class name -# * -classpath -# * -D...appname settings -# * --module-path (only if needed) -# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. - -# For Cygwin or MSYS, switch paths to Windows format before running java -if "$cygwin" || "$msys" ; then - APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) - CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) - - JAVACMD=$( cygpath --unix "$JAVACMD" ) - - # Now convert the arguments - kludge to limit ourselves to /bin/sh - for arg do - if - case $arg in #( - -*) false ;; # don't mess with options #( - /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath - [ -e "$t" ] ;; #( - *) false ;; - esac - then - arg=$( cygpath --path --ignore --mixed "$arg" ) - fi - # Roll the args list around exactly as many times as the number of - # args, so each arg winds up back in the position where it started, but - # possibly modified. - # - # NB: a `for` loop captures its iteration list before it begins, so - # changing the positional parameters here affects neither the number of - # iterations, nor the values presented in `arg`. - shift # remove old arg - set -- "$@" "$arg" # push replacement arg - done -fi - - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' - -# Collect all arguments for the java command: -# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, -# and any embedded shellness will be escaped. -# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be -# treated as '${Hostname}' itself on the command line. - -set -- \ - "-Dorg.gradle.appname=$APP_BASE_NAME" \ - -classpath "$CLASSPATH" \ - -jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \ - "$@" - -# Stop when "xargs" is not available. -if ! command -v xargs >/dev/null 2>&1 -then - die "xargs is not available" -fi - -# Use "xargs" to parse quoted args. -# -# With -n1 it outputs one arg per line, with the quotes and backslashes removed. -# -# In Bash we could simply go: -# -# readarray ARGS < <( xargs -n1 <<<"$var" ) && -# set -- "${ARGS[@]}" "$@" -# -# but POSIX shell has neither arrays nor command substitution, so instead we -# post-process each arg (as a line of input to sed) to backslash-escape any -# character that might be a shell metacharacter, then use eval to reverse -# that process (while maintaining the separation between arguments), and wrap -# the whole thing up as a single "set" statement. -# -# This will of course break if any of these variables contains a newline or -# an unmatched quote. -# - -eval "set -- $( - printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | - xargs -n1 | - sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | - tr '\n' ' ' - )" '"$@"' - -exec "$JAVACMD" "$@" diff --git a/backend/gradlew.bat b/backend/gradlew.bat deleted file mode 100644 index 5eed7ee..0000000 --- a/backend/gradlew.bat +++ /dev/null @@ -1,94 +0,0 @@ -@rem -@rem Copyright 2015 the original author or authors. -@rem -@rem Licensed under the Apache License, Version 2.0 (the "License"); -@rem you may not use this file except in compliance with the License. -@rem You may obtain a copy of the License at -@rem -@rem https://www.apache.org/licenses/LICENSE-2.0 -@rem -@rem Unless required by applicable law or agreed to in writing, software -@rem distributed under the License is distributed on an "AS IS" BASIS, -@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -@rem See the License for the specific language governing permissions and -@rem limitations under the License. -@rem -@rem SPDX-License-Identifier: Apache-2.0 -@rem - -@if "%DEBUG%"=="" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%"=="" set DIRNAME=. -@rem This is normally unused -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Resolve any "." and ".." in APP_HOME to make it shorter. -for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if %ERRORLEVEL% equ 0 goto execute - -echo. 1>&2 -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2 -echo. 1>&2 -echo Please set the JAVA_HOME variable in your environment to match the 1>&2 -echo location of your Java installation. 1>&2 - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto execute - -echo. 1>&2 -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2 -echo. 1>&2 -echo Please set the JAVA_HOME variable in your environment to match the 1>&2 -echo location of your Java installation. 1>&2 - -goto fail - -:execute -@rem Setup the command line - -set CLASSPATH= - - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* - -:end -@rem End local scope for the variables with windows NT shell -if %ERRORLEVEL% equ 0 goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -set EXIT_CODE=%ERRORLEVEL% -if %EXIT_CODE% equ 0 set EXIT_CODE=1 -if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% -exit /b %EXIT_CODE% - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega diff --git a/backend/settings.gradle.kts b/backend/settings.gradle.kts deleted file mode 100644 index c0e0823..0000000 --- a/backend/settings.gradle.kts +++ /dev/null @@ -1 +0,0 @@ -rootProject.name = "casino" diff --git a/backend/src/main/java/de/szut/casino/CasinoApplication.java b/backend/src/main/java/de/szut/casino/CasinoApplication.java deleted file mode 100644 index 9e1f3b2..0000000 --- a/backend/src/main/java/de/szut/casino/CasinoApplication.java +++ /dev/null @@ -1,95 +0,0 @@ -package de.szut.casino; - -import de.szut.casino.lootboxes.LootBoxEntity; -import de.szut.casino.lootboxes.LootBoxRepository; -import de.szut.casino.lootboxes.RewardEntity; -import de.szut.casino.lootboxes.RewardRepository; -import org.springframework.boot.CommandLineRunner; -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.context.annotation.Bean; -import org.springframework.mail.javamail.JavaMailSenderImpl; -import org.springframework.web.client.RestTemplate; - -import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.Arrays; - -@SpringBootApplication -public class CasinoApplication { - - public static void main(String[] args) { - SpringApplication.run(CasinoApplication.class, args); - } - - @Bean - public static RestTemplate restTemplate() { - return new RestTemplate(); - } - - @Bean - public static JavaMailSenderImpl javaMailSenderImpl() { - return new JavaMailSenderImpl(); - } - - @Bean - public CommandLineRunner initData(LootBoxRepository lootBoxRepository, RewardRepository rewardRepository) { - return _ -> { - if (lootBoxRepository.count() == 0) { - LootBoxEntity basicLootBox = new LootBoxEntity(); - basicLootBox.setName("Basic LootBox"); - basicLootBox.setPrice(new BigDecimal("2")); - basicLootBox.setRewards(new ArrayList<>()); // Initialize the list - - LootBoxEntity premiumLootBox = new LootBoxEntity(); - premiumLootBox.setName("Premium LootBox"); - premiumLootBox.setPrice(new BigDecimal("5")); - premiumLootBox.setRewards(new ArrayList<>()); // Initialize the list - - lootBoxRepository.saveAll(Arrays.asList(basicLootBox, premiumLootBox)); - - RewardEntity commonReward = new RewardEntity(); - commonReward.setValue(new BigDecimal("0.50")); - commonReward.setProbability(new BigDecimal("0.7")); - - RewardEntity rareReward = new RewardEntity(); - rareReward.setValue(new BigDecimal("2.00")); - rareReward.setProbability(new BigDecimal("0.25")); - - RewardEntity epicReward = new RewardEntity(); - epicReward.setValue(new BigDecimal("5.00")); - epicReward.setProbability(new BigDecimal("0.5")); - - RewardEntity premiumCommon = new RewardEntity(); - premiumCommon.setValue(new BigDecimal("2.00")); - premiumCommon.setProbability(new BigDecimal("0.6")); - - RewardEntity premiumRare = new RewardEntity(); - premiumRare.setValue(new BigDecimal("5.00")); - premiumRare.setProbability(new BigDecimal("0.3")); - - RewardEntity legendaryReward = new RewardEntity(); - legendaryReward.setValue(new BigDecimal("15.00")); - legendaryReward.setProbability(new BigDecimal("0.10")); - - rewardRepository.saveAll(Arrays.asList( - commonReward, rareReward, epicReward, - premiumCommon, premiumRare, legendaryReward - )); - - basicLootBox.getRewards().add(commonReward); - basicLootBox.getRewards().add(premiumRare); - - premiumLootBox.getRewards().add(premiumCommon); - premiumLootBox.getRewards().add(premiumRare); - premiumLootBox.getRewards().add(legendaryReward); - - lootBoxRepository.saveAll(Arrays.asList(basicLootBox, premiumLootBox)); - - System.out.println("Initial LootBoxes and rewards created successfully"); - } else { - System.out.println("LootBoxes already exist, skipping initialization"); - } - }; - } -} diff --git a/backend/src/main/java/de/szut/casino/blackjack/BlackJackGameController.java b/backend/src/main/java/de/szut/casino/blackjack/BlackJackGameController.java deleted file mode 100644 index 61051ad..0000000 --- a/backend/src/main/java/de/szut/casino/blackjack/BlackJackGameController.java +++ /dev/null @@ -1,68 +0,0 @@ -package de.szut.casino.blackjack; - -import de.szut.casino.exceptionHandling.exceptions.UserBlackJackGameMismatchException; -import de.szut.casino.shared.dto.BetDto; -import de.szut.casino.user.UserEntity; -import de.szut.casino.user.UserService; -import jakarta.validation.Valid; -import lombok.extern.slf4j.Slf4j; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.*; - -import java.util.Objects; - -@Slf4j -@RestController -public class BlackJackGameController { - - private final UserService userService; - private final BlackJackService blackJackService; - - public BlackJackGameController(UserService userService, BlackJackService blackJackService) { - this.blackJackService = blackJackService; - this.userService = userService; - } - - @GetMapping("/blackjack/{id}") - public ResponseEntity getGame(@PathVariable Long id) { - BlackJackGameEntity game = getBlackJackGame(id); - - return ResponseEntity.ok(game); - } - - @PostMapping("/blackjack/{id}/hit") - public ResponseEntity hit(@PathVariable Long id) { - BlackJackGameEntity game = getBlackJackGame(id); - - return ResponseEntity.ok(blackJackService.hit(game)); - } - - @PostMapping("/blackjack/{id}/stand") - public ResponseEntity stand(@PathVariable Long id) { - BlackJackGameEntity game = getBlackJackGame(id); - - return ResponseEntity.ok(blackJackService.stand(game)); - } - - @PostMapping("/blackjack/{id}/doubleDown") - public ResponseEntity doubleDown(@PathVariable Long id) { - BlackJackGameEntity game = getBlackJackGame(id); - - return ResponseEntity.ok(blackJackService.doubleDown(game)); - } - - @PostMapping("/blackjack/start") - public ResponseEntity createBlackJackGame(@RequestBody @Valid BetDto betDto) { - return ResponseEntity.ok(blackJackService.createBlackJackGame(betDto)); - } - - private BlackJackGameEntity getBlackJackGame(Long gameId) { - UserEntity user = userService.getCurrentUser(); - BlackJackGameEntity game = blackJackService.getBlackJackGame(gameId); - if (game == null || !Objects.equals(game.getUserId(), user.getId())) { - throw new UserBlackJackGameMismatchException(gameId); - } - - return game; - } -} diff --git a/backend/src/main/java/de/szut/casino/blackjack/BlackJackGameEntity.java b/backend/src/main/java/de/szut/casino/blackjack/BlackJackGameEntity.java deleted file mode 100644 index 4f22c9d..0000000 --- a/backend/src/main/java/de/szut/casino/blackjack/BlackJackGameEntity.java +++ /dev/null @@ -1,54 +0,0 @@ -package de.szut.casino.blackjack; - -import com.fasterxml.jackson.annotation.JsonIgnore; -import com.fasterxml.jackson.annotation.JsonManagedReference; -import de.szut.casino.user.UserEntity; -import jakarta.persistence.*; -import lombok.AllArgsConstructor; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; -import org.hibernate.annotations.SQLRestriction; - -import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.List; - -@Entity -@Getter -@Setter -@AllArgsConstructor -@NoArgsConstructor -public class BlackJackGameEntity { - @Id - @GeneratedValue - private Long id; - - @ManyToOne - @JoinColumn(name = "user_id", nullable = false) - @JsonIgnore - private UserEntity user; - - public Long getUserId() { - return user != null ? user.getId() : null; - } - - @Enumerated(EnumType.STRING) - private BlackJackState state; - private BigDecimal bet; - - @OneToMany(mappedBy = "game", cascade = CascadeType.ALL, orphanRemoval = true) - @JsonIgnore - @SQLRestriction("card_type = 'DECK'") - private List deck = new ArrayList<>(); - - @OneToMany(mappedBy = "game", cascade = CascadeType.ALL, orphanRemoval = true) - @JsonManagedReference - @SQLRestriction("card_type = 'PLAYER'") - private List playerCards = new ArrayList<>(); - - @OneToMany(mappedBy = "game", cascade = CascadeType.ALL, orphanRemoval = true) - @JsonManagedReference - @SQLRestriction("card_type = 'DEALER'") - private List dealerCards = new ArrayList<>(); -} diff --git a/backend/src/main/java/de/szut/casino/blackjack/BlackJackGameRepository.java b/backend/src/main/java/de/szut/casino/blackjack/BlackJackGameRepository.java deleted file mode 100644 index aafea4f..0000000 --- a/backend/src/main/java/de/szut/casino/blackjack/BlackJackGameRepository.java +++ /dev/null @@ -1,8 +0,0 @@ -package de.szut.casino.blackjack; - -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.stereotype.Service; - -@Service -public interface BlackJackGameRepository extends JpaRepository { -} diff --git a/backend/src/main/java/de/szut/casino/blackjack/BlackJackService.java b/backend/src/main/java/de/szut/casino/blackjack/BlackJackService.java deleted file mode 100644 index 272334d..0000000 --- a/backend/src/main/java/de/szut/casino/blackjack/BlackJackService.java +++ /dev/null @@ -1,210 +0,0 @@ -package de.szut.casino.blackjack; - -import de.szut.casino.exceptionHandling.exceptions.InsufficientFundsException; -import de.szut.casino.shared.dto.BetDto; -import de.szut.casino.shared.service.BalanceService; -import de.szut.casino.user.UserEntity; -import de.szut.casino.user.UserRepository; -import de.szut.casino.user.UserService; -import jakarta.transaction.Transactional; -import org.springframework.stereotype.Service; - -import java.math.BigDecimal; -import java.util.List; - -@Service -public class BlackJackService { - private final BlackJackGameRepository blackJackGameRepository; - private final UserRepository userRepository; - private final BalanceService balanceService; - private final UserService userService; - private final DeckService deckService; - - public BlackJackService( - BlackJackGameRepository blackJackGameRepository, - UserRepository userRepository, - BalanceService balanceService, - UserService userService, - DeckService deckService - ) { - this.blackJackGameRepository = blackJackGameRepository; - this.userRepository = userRepository; - this.balanceService = balanceService; - this.userService = userService; - this.deckService = deckService; - } - - public BlackJackGameEntity getBlackJackGame(Long id) { - return blackJackGameRepository.findById(id).orElse(null); - } - - @Transactional - public BlackJackGameEntity createBlackJackGame(BetDto betDto) { - UserEntity user = userService.getCurrentUser(); - - if (!this.balanceService.hasFunds(user, betDto)) { - throw new InsufficientFundsException(); - } - - this.balanceService.subtractFunds(user, betDto.getBetAmount()); - - BlackJackGameEntity game = new BlackJackGameEntity(); - game.setUser(user); - game.setBet(betDto.getBetAmount()); - - this.deckService.initializeDeck(game); - this.deckService.dealInitialCards(game); - - game.setState(getState(game)); - - return processGameBasedOnState(game); - } - - @Transactional - public BlackJackGameEntity hit(BlackJackGameEntity game) { - if (game.getState() != BlackJackState.IN_PROGRESS) { - return game; - } - - this.deckService.dealCardToPlayer(game); - updateGameStateAndBalance(game); - - return processGameBasedOnState(game); - } - - @Transactional - public BlackJackGameEntity stand(BlackJackGameEntity game) { - if (game.getState() != BlackJackState.IN_PROGRESS) { - return game; - } - - dealCardsToDealerUntilMinimumScore(game); - determineWinnerAndUpdateBalance(game); - - return processGameBasedOnState(game); - } - - @Transactional - public BlackJackGameEntity doubleDown(BlackJackGameEntity game) { - if (game.getState() != BlackJackState.IN_PROGRESS || game.getPlayerCards().size() != 2) { - return game; - } - - UserEntity user = game.getUser(); - BigDecimal additionalBet = game.getBet(); - - this.balanceService.subtractFunds(user, additionalBet); - - game.setBet(game.getBet().add(additionalBet)); - - this.deckService.dealCardToPlayer(game); - updateGameStateAndBalance(game); - - if (game.getState() == BlackJackState.IN_PROGRESS) { - return stand(game); - } - - return game; - } - - private BlackJackGameEntity processGameBasedOnState(BlackJackGameEntity game) { - if (game.getState() != BlackJackState.IN_PROGRESS) { - this.blackJackGameRepository.delete(game); - return game; - } - - return blackJackGameRepository.save(game); - } - - private void updateGameStateAndBalance(BlackJackGameEntity game) { - game.setState(getState(game)); - - if (game.getState() == BlackJackState.PLAYER_WON) { - updateUserBalance(game, true); - } else if (game.getState() == BlackJackState.PLAYER_LOST) { - updateUserBalance(game, false); - } - } - - private void determineWinnerAndUpdateBalance(BlackJackGameEntity game) { - int playerValue = calculateHandValue(game.getPlayerCards()); - int dealerValue = calculateHandValue(game.getDealerCards()); - - if (dealerValue > 21 || playerValue > dealerValue) { - game.setState(BlackJackState.PLAYER_WON); - updateUserBalance(game, true); - } else if (playerValue < dealerValue) { - game.setState(BlackJackState.PLAYER_LOST); - updateUserBalance(game, false); - } else { - game.setState(BlackJackState.DRAW); - updateUserBalance(game, false); - } - } - - protected void updateUserBalance(BlackJackGameEntity game, boolean isWin) { - UserEntity user = game.getUser(); - BigDecimal totalBet = game.getBet(); - BigDecimal balance = user.getBalance(); - - if (isWin) { - balance = balance.add(totalBet.multiply(BigDecimal.valueOf(2))); - } else if (game.getState() == BlackJackState.DRAW) { - balance = balance.add(totalBet); - } - - user.setBalance(balance); - userRepository.save(user); - } - - private BlackJackState getState(BlackJackGameEntity game) { - int playerHandValue = calculateHandValue(game.getPlayerCards()); - - if (playerHandValue == 21) { - CardEntity hole = this.deckService.drawCardFromDeck(game); - hole.setCardType(CardType.DEALER); - game.getDealerCards().add(hole); - - int dealerHandValue = calculateHandValue(game.getDealerCards()); - - if (dealerHandValue == 21) { - return BlackJackState.DRAW; - } else { - BigDecimal blackjackWinnings = game.getBet().multiply(new BigDecimal("1.5")); - UserEntity user = game.getUser(); - user.setBalance(user.getBalance().add(blackjackWinnings)); - return BlackJackState.PLAYER_BLACKJACK; - } - } else if (playerHandValue > 21) { - return BlackJackState.PLAYER_LOST; - } - - return BlackJackState.IN_PROGRESS; - } - - private int calculateHandValue(List hand) { - int sum = 0; - int aceCount = 0; - for (CardEntity card : hand) { - sum += card.getRank().getValue(); - if (card.getRank() == Rank.ACE) { - aceCount++; - } - } - - while (sum > 21 && aceCount > 0) { - sum -= 10; - aceCount--; - } - - return sum; - } - - private void dealCardsToDealerUntilMinimumScore(BlackJackGameEntity game) { - while (calculateHandValue(game.getDealerCards()) < 17) { - this.deckService.dealCardToDealer(game); - } - } -} - - diff --git a/backend/src/main/java/de/szut/casino/blackjack/BlackJackState.java b/backend/src/main/java/de/szut/casino/blackjack/BlackJackState.java deleted file mode 100644 index 3f3e6fc..0000000 --- a/backend/src/main/java/de/szut/casino/blackjack/BlackJackState.java +++ /dev/null @@ -1,9 +0,0 @@ -package de.szut.casino.blackjack; - -public enum BlackJackState { - IN_PROGRESS, - PLAYER_BLACKJACK, - PLAYER_LOST, - PLAYER_WON, - DRAW, -} diff --git a/backend/src/main/java/de/szut/casino/blackjack/CardEntity.java b/backend/src/main/java/de/szut/casino/blackjack/CardEntity.java deleted file mode 100644 index 3b6903a..0000000 --- a/backend/src/main/java/de/szut/casino/blackjack/CardEntity.java +++ /dev/null @@ -1,40 +0,0 @@ -package de.szut.casino.blackjack; - -import com.fasterxml.jackson.annotation.JsonBackReference; -import com.fasterxml.jackson.annotation.JsonIgnore; -import jakarta.persistence.*; -import lombok.AllArgsConstructor; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -@Entity -@Getter -@Setter -@AllArgsConstructor -@NoArgsConstructor -public class CardEntity { - @Id - @GeneratedValue - @JsonIgnore - private Long id; - - @ManyToOne - @JoinColumn(name = "game_id", nullable = false) - @JsonBackReference - private BlackJackGameEntity game; - - @Enumerated(EnumType.STRING) - private Suit suit; - - @Enumerated(EnumType.STRING) - private Rank rank; - - @Enumerated(EnumType.STRING) - @JsonIgnore - private CardType cardType; -} - -enum CardType { - DECK, PLAYER, DEALER -} diff --git a/backend/src/main/java/de/szut/casino/blackjack/DeckService.java b/backend/src/main/java/de/szut/casino/blackjack/DeckService.java deleted file mode 100644 index 0511abd..0000000 --- a/backend/src/main/java/de/szut/casino/blackjack/DeckService.java +++ /dev/null @@ -1,57 +0,0 @@ -package de.szut.casino.blackjack; - -import org.springframework.stereotype.Service; - -import java.util.Random; - -@Service -public class DeckService { - private final Random random; - - public DeckService(Random random) { - this.random = random; - } - - public void initializeDeck(BlackJackGameEntity game) { - for (Suit suit : Suit.values()) { - for (Rank rank : Rank.values()) { - CardEntity card = new CardEntity(); - card.setGame(game); - card.setSuit(suit); - card.setRank(rank); - card.setCardType(CardType.DECK); - game.getDeck().add(card); - } - } - - java.util.Collections.shuffle(game.getDeck(), random); - } - - public CardEntity drawCardFromDeck(BlackJackGameEntity game) { - if (game.getDeck().isEmpty()) { - throw new IllegalStateException("Deck is empty"); - } - - return game.getDeck().removeFirst(); - } - - public void dealInitialCards(BlackJackGameEntity game) { - for (int i = 0; i < 2; i++) { - dealCardToPlayer(game); - } - - dealCardToDealer(game); - } - - public void dealCardToPlayer(BlackJackGameEntity game) { - CardEntity card = drawCardFromDeck(game); - card.setCardType(CardType.PLAYER); - game.getPlayerCards().add(card); - } - - public void dealCardToDealer(BlackJackGameEntity game) { - CardEntity card = drawCardFromDeck(game); - card.setCardType(CardType.DEALER); - game.getDealerCards().add(card); - } -} diff --git a/backend/src/main/java/de/szut/casino/blackjack/Rank.java b/backend/src/main/java/de/szut/casino/blackjack/Rank.java deleted file mode 100644 index 8f9a3b8..0000000 --- a/backend/src/main/java/de/szut/casino/blackjack/Rank.java +++ /dev/null @@ -1,31 +0,0 @@ -package de.szut.casino.blackjack; - -import lombok.Getter; - -@Getter -public enum Rank { - TWO("2", "Two", 2), - THREE("3", "Three", 3), - FOUR("4", "Four", 4), - FIVE("5", "Five", 5), - SIX("6", "Six", 6), - SEVEN("7", "Seven", 7), - EIGHT("8", "Eight", 8), - NINE("9", "Nine", 9), - TEN("10", "Ten", 10), - JACK("J", "Jack", 10), - QUEEN("Q", "Queen", 10), - KING("K", "King", 10), - ACE("A", "Ace", 11); - - private final String symbol; - private final String displayName; - private final int value; - - Rank(String symbol, String displayName, int value) { - this.symbol = symbol; - this.displayName = displayName; - this.value = value; - } - -} diff --git a/backend/src/main/java/de/szut/casino/blackjack/Suit.java b/backend/src/main/java/de/szut/casino/blackjack/Suit.java deleted file mode 100644 index 8ee80a9..0000000 --- a/backend/src/main/java/de/szut/casino/blackjack/Suit.java +++ /dev/null @@ -1,20 +0,0 @@ -package de.szut.casino.blackjack; - -import lombok.Getter; - -@Getter -public enum Suit { - HEARTS("H", "Hearts"), - DIAMONDS("D", "Diamonds"), - CLUBS("C", "Clubs"), - SPADES("S", "Spades"); - - private final String symbol; - private final String displayName; - - Suit(String symbol, String displayName) { - this.symbol = symbol; - this.displayName = displayName; - } - -} diff --git a/backend/src/main/java/de/szut/casino/coinflip/CoinSide.java b/backend/src/main/java/de/szut/casino/coinflip/CoinSide.java deleted file mode 100644 index f369cb4..0000000 --- a/backend/src/main/java/de/szut/casino/coinflip/CoinSide.java +++ /dev/null @@ -1,6 +0,0 @@ -package de.szut.casino.coinflip; - -public enum CoinSide { - HEAD, - TAILS; -} diff --git a/backend/src/main/java/de/szut/casino/coinflip/CoinflipController.java b/backend/src/main/java/de/szut/casino/coinflip/CoinflipController.java deleted file mode 100644 index 7cc0c83..0000000 --- a/backend/src/main/java/de/szut/casino/coinflip/CoinflipController.java +++ /dev/null @@ -1,39 +0,0 @@ -package de.szut.casino.coinflip; - -import de.szut.casino.exceptionHandling.exceptions.InsufficientFundsException; -import de.szut.casino.exceptionHandling.exceptions.UserNotFoundException; -import de.szut.casino.shared.service.BalanceService; -import de.szut.casino.user.UserEntity; -import de.szut.casino.user.UserService; -import jakarta.validation.Valid; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RestController; - -import java.util.Optional; - -@RestController -public class CoinflipController { - private final UserService userService; - private final BalanceService balanceService; - private final CoinflipService coinflipService; - - public CoinflipController(UserService userService, BalanceService balanceService, CoinflipService coinflipService) { - this.userService = userService; - this.balanceService = balanceService; - this.coinflipService = coinflipService; - } - - - @PostMapping("/coinflip") - public ResponseEntity coinFlip(@RequestBody @Valid CoinflipDto coinflipDto) { - UserEntity user = userService.getCurrentUser(); - - if (!this.balanceService.hasFunds(user, coinflipDto)) { - throw new InsufficientFundsException(); - } - - return ResponseEntity.ok(coinflipService.play(user, coinflipDto)); - } -} diff --git a/backend/src/main/java/de/szut/casino/coinflip/CoinflipDto.java b/backend/src/main/java/de/szut/casino/coinflip/CoinflipDto.java deleted file mode 100644 index a7f9adb..0000000 --- a/backend/src/main/java/de/szut/casino/coinflip/CoinflipDto.java +++ /dev/null @@ -1,23 +0,0 @@ -package de.szut.casino.coinflip; - -import de.szut.casino.shared.dto.BetDto; -import jakarta.validation.constraints.NotNull; -import lombok.AllArgsConstructor; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import java.math.BigDecimal; - -@Getter -@Setter -@NoArgsConstructor -public class CoinflipDto extends BetDto { - @NotNull(message = "chosen side cannot be null") - private CoinSide coinSide; - - public CoinflipDto(BigDecimal betAmount, CoinSide coinSide) { - super(betAmount); - this.coinSide = coinSide; - } -} diff --git a/backend/src/main/java/de/szut/casino/coinflip/CoinflipResult.java b/backend/src/main/java/de/szut/casino/coinflip/CoinflipResult.java deleted file mode 100644 index 4c8fbdf..0000000 --- a/backend/src/main/java/de/szut/casino/coinflip/CoinflipResult.java +++ /dev/null @@ -1,16 +0,0 @@ -package de.szut.casino.coinflip; - -import lombok.AllArgsConstructor; -import lombok.Getter; -import lombok.Setter; - -import java.math.BigDecimal; - -@AllArgsConstructor -@Setter -@Getter -public class CoinflipResult { - private boolean isWin; - private BigDecimal payout; - private CoinSide coinSide; -} diff --git a/backend/src/main/java/de/szut/casino/coinflip/CoinflipService.java b/backend/src/main/java/de/szut/casino/coinflip/CoinflipService.java deleted file mode 100644 index c6c39d7..0000000 --- a/backend/src/main/java/de/szut/casino/coinflip/CoinflipService.java +++ /dev/null @@ -1,35 +0,0 @@ -package de.szut.casino.coinflip; - -import de.szut.casino.shared.service.BalanceService; -import de.szut.casino.user.UserEntity; -import org.springframework.stereotype.Service; - -import java.math.BigDecimal; -import java.util.Random; - -@Service -public class CoinflipService { - private final Random random; - private final BalanceService balanceService; - - public CoinflipService(BalanceService balanceService, Random random) { - this.balanceService = balanceService; - this.random = random; - } - - public CoinflipResult play(UserEntity user, CoinflipDto coinflipDto) { - this.balanceService.subtractFunds(user, coinflipDto.getBetAmount()); - - CoinSide coinSide = this.random.nextBoolean() ? CoinSide.HEAD : CoinSide.TAILS; - CoinflipResult coinflipResult = new CoinflipResult(false, BigDecimal.ZERO, coinSide); - if (coinSide == coinflipDto.getCoinSide()) { - coinflipResult.setWin(true); - - BigDecimal payout = coinflipDto.getBetAmount().multiply(BigDecimal.TWO); - this.balanceService.addFunds(user, payout); - coinflipResult.setPayout(payout); - } - - return coinflipResult; - } -} diff --git a/backend/src/main/java/de/szut/casino/config/AppConfig.java b/backend/src/main/java/de/szut/casino/config/AppConfig.java deleted file mode 100644 index 9d9c869..0000000 --- a/backend/src/main/java/de/szut/casino/config/AppConfig.java +++ /dev/null @@ -1,15 +0,0 @@ -package de.szut.casino.config; - -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -import java.util.Random; - -@Configuration -public class AppConfig { - - @Bean - public Random random() { - return new Random(); - } -} diff --git a/backend/src/main/java/de/szut/casino/config/OpenAPIConfiguration.java b/backend/src/main/java/de/szut/casino/config/OpenAPIConfiguration.java deleted file mode 100644 index 75cac52..0000000 --- a/backend/src/main/java/de/szut/casino/config/OpenAPIConfiguration.java +++ /dev/null @@ -1,60 +0,0 @@ -package de.szut.casino.config; - - -import io.swagger.v3.oas.models.Components; -import io.swagger.v3.oas.models.OpenAPI; -import io.swagger.v3.oas.models.info.Info; -import io.swagger.v3.oas.models.security.SecurityRequirement; -import io.swagger.v3.oas.models.security.SecurityScheme; -import io.swagger.v3.oas.models.servers.Server; -import jakarta.servlet.ServletContext; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - - -@Configuration -public class OpenAPIConfiguration { - - private ServletContext context; - - public OpenAPIConfiguration(ServletContext context) { - this.context = context; - } - - - @Bean - public OpenAPI springShopOpenAPI( - // @Value("${info.app.version}") String appVersion, - ) { - final String securitySchemeName = "bearerAuth"; - - return new OpenAPI() - .addServersItem(new Server().url(this.context.getContextPath())) - .info(new Info() - .title("LF12 project starter") - .description("\n## Auth\n" + - "\n## Authentication\n" + "\nThis Hello service uses JWTs to authenticate requests. You will receive a bearer token by making a POST-Request in IntelliJ on:\n\n" + - "\n" + - "```\nPOST http://localhost:9090/realms/LF12/protocol/openid-connect/token\n" + - "Content-Type: application/x-www-form-urlencoded\n" + - "\n" + - "grant_type=password&client_id=lf12&username=lf12_test_user&password=secret\n```\n" + - "\n" + - "\nTo get a bearer-token in Postman, you have to follow the instructions in \n [Postman-Documentation](https://documenter.getpostman.com/view/7294517/SzmfZHnd).") - - .version("0.1")) - .addSecurityItem(new SecurityRequirement().addList(securitySchemeName)) - .components( - new Components() - .addSecuritySchemes(securitySchemeName, - new SecurityScheme() - .name(securitySchemeName) - .type(SecurityScheme.Type.HTTP) - .scheme("bearer") - .bearerFormat("JWT") - ) - ); - } - - -} diff --git a/backend/src/main/java/de/szut/casino/config/WebConfig.java b/backend/src/main/java/de/szut/casino/config/WebConfig.java deleted file mode 100644 index ecc21be..0000000 --- a/backend/src/main/java/de/szut/casino/config/WebConfig.java +++ /dev/null @@ -1,30 +0,0 @@ -package de.szut.casino.config; - -import org.springframework.beans.factory.annotation.Value; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.web.servlet.config.annotation.CorsRegistry; -import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; - -@Configuration -public class WebConfig { - - @Value("${app.frontend-host}") - private String frontendHost; - - @Bean - public WebMvcConfigurer corsConfigurer() { - return new WebMvcConfigurer() { - @Override - public void addCorsMappings(CorsRegistry registry) { - registry.addMapping("/**") - .allowedOrigins(frontendHost) - .allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS") - .allowedHeaders("*") - .exposedHeaders("*") - .allowCredentials(true) - .maxAge(3600); - } - }; - } -} diff --git a/backend/src/main/java/de/szut/casino/deposit/DepositController.java b/backend/src/main/java/de/szut/casino/deposit/DepositController.java deleted file mode 100644 index d99da00..0000000 --- a/backend/src/main/java/de/szut/casino/deposit/DepositController.java +++ /dev/null @@ -1,66 +0,0 @@ -package de.szut.casino.deposit; - -import com.stripe.Stripe; -import com.stripe.exception.StripeException; -import com.stripe.model.checkout.Session; -import com.stripe.param.checkout.SessionCreateParams; -import de.szut.casino.deposit.dto.AmountDto; -import de.szut.casino.deposit.dto.SessionIdDto; -import de.szut.casino.user.UserEntity; -import de.szut.casino.user.UserService; -import jakarta.validation.Valid; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestHeader; -import org.springframework.web.bind.annotation.RestController; - -@RestController -public class DepositController { - - @Value("${stripe.secret.key}") - private String stripeKey; - - @Value("${app.frontend-host}") - private String frontendHost; - - private final TransactionService transactionService; - - private final UserService userService; - - public DepositController(TransactionService transactionService, UserService userService) { - this.transactionService = transactionService; - this.userService = userService; - } - - @PostMapping("/deposit/checkout") - public ResponseEntity checkout(@RequestBody @Valid AmountDto amountDto, @RequestHeader("Authorization") String token) throws StripeException { - Stripe.apiKey = stripeKey; - - UserEntity user = userService.getCurrentUser(); - - SessionCreateParams params = SessionCreateParams.builder() - .addLineItem(SessionCreateParams.LineItem.builder() - .setPriceData(SessionCreateParams.LineItem.PriceData.builder() - .setCurrency("EUR") - .setUnitAmount((long) amountDto.getAmount() * 100) - .setProductData(SessionCreateParams.LineItem.PriceData.ProductData.builder() - .setName("Einzahlung") - .build()) - .build()) - .setQuantity(1L) - .build()) - .setSuccessUrl(frontendHost + "/home?success=true") - .setCancelUrl(frontendHost + "/home?success=false") - .setMode(SessionCreateParams.Mode.PAYMENT) - .build(); - - Session session = Session.create(params); - - transactionService.createTransaction(user, session.getId(), amountDto.getAmount()); - - return ResponseEntity.ok(new SessionIdDto(session.getId())); - } -} - diff --git a/backend/src/main/java/de/szut/casino/deposit/TransactionEntity.java b/backend/src/main/java/de/szut/casino/deposit/TransactionEntity.java deleted file mode 100644 index 7c43af9..0000000 --- a/backend/src/main/java/de/szut/casino/deposit/TransactionEntity.java +++ /dev/null @@ -1,32 +0,0 @@ -package de.szut.casino.deposit; - -import de.szut.casino.user.UserEntity; -import jakarta.persistence.*; -import lombok.Getter; -import lombok.Setter; - -import java.util.Date; - -@Setter -@Getter -@Entity -public class TransactionEntity { - @Id - @GeneratedValue - private Long id; - - @ManyToOne - @JoinColumn(name = "user_id", nullable = false) - private UserEntity user; - - @Column(unique = true) - private String sessionId = null; - - private double amount = 0; - - @Enumerated(EnumType.STRING) - private TransactionStatus status = TransactionStatus.PROCESSING; - - @Column(name = "created_at") - private Date createdAt = new Date(); -} diff --git a/backend/src/main/java/de/szut/casino/deposit/TransactionRepository.java b/backend/src/main/java/de/szut/casino/deposit/TransactionRepository.java deleted file mode 100644 index 5a16f0d..0000000 --- a/backend/src/main/java/de/szut/casino/deposit/TransactionRepository.java +++ /dev/null @@ -1,24 +0,0 @@ -package de.szut.casino.deposit; - -import de.szut.casino.user.UserEntity; -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.data.jpa.repository.Query; -import org.springframework.stereotype.Service; - -import java.util.List; -import java.util.Optional; - -@Service -public interface TransactionRepository extends JpaRepository { - @Query("SELECT t FROM TransactionEntity t WHERE t.sessionId = ?1") - Optional findOneBySessionID(String sessionId); - - @Query("SELECT t FROM TransactionEntity t WHERE t.user = ?1") - List findAllByUserId(UserEntity id); - - @Query("SELECT t FROM TransactionEntity t WHERE t.user = ?1 ORDER BY t.createdAt DESC LIMIT ?2 OFFSET ?3") - List findByUserIdWithLimit(UserEntity userEntity, Integer limit, Integer offset); - - @Query("SELECT COUNT(t) > ?2 + ?3 FROM TransactionEntity t WHERE t.user = ?1") - Boolean hasMore(UserEntity userEntity, Integer limit, Integer offset); -} diff --git a/backend/src/main/java/de/szut/casino/deposit/TransactionService.java b/backend/src/main/java/de/szut/casino/deposit/TransactionService.java deleted file mode 100644 index 26f2e25..0000000 --- a/backend/src/main/java/de/szut/casino/deposit/TransactionService.java +++ /dev/null @@ -1,70 +0,0 @@ -package de.szut.casino.deposit; - -import com.stripe.exception.StripeException; -import com.stripe.model.checkout.Session; -import com.stripe.param.checkout.SessionRetrieveParams; -import de.szut.casino.security.service.EmailService; -import de.szut.casino.user.UserEntity; -import de.szut.casino.user.UserRepository; -import jakarta.mail.MessagingException; -import org.springframework.stereotype.Service; - -import java.io.IOException; -import java.math.BigDecimal; -import java.util.Optional; - -@Service -public class TransactionService { - private final TransactionRepository transactionRepository; - private final UserRepository userRepository; - private final EmailService emailService; - - public TransactionService(TransactionRepository transactionRepository, UserRepository userRepository, EmailService emailService) { - this.transactionRepository = transactionRepository; - this.userRepository = userRepository; - this.emailService = emailService; - } - - public void createTransaction( - UserEntity user, - String sessionID, - Double amount - ) { - TransactionEntity transaction = new TransactionEntity(); - - transaction.setUser(user); - transaction.setSessionId(sessionID); - transaction.setAmount(amount); - - transactionRepository.save(transaction); - } - - public void fulfillCheckout(String sessionID) throws StripeException, MessagingException, IOException { - SessionRetrieveParams params = SessionRetrieveParams.builder() - .addExpand("line_items") - .build(); - Session checkoutSession = Session.retrieve(sessionID, params, null); - - if (!"paid".equals(checkoutSession.getPaymentStatus())) { - return; - } - - Optional optionalTransaction = transactionRepository.findOneBySessionID(sessionID); - if (optionalTransaction.isEmpty()) { - throw new RuntimeException("Transaction not found"); - } - - TransactionEntity transaction = optionalTransaction.get(); - transaction.setStatus(TransactionStatus.SUCCEEDED); - - UserEntity user = transaction.getUser(); - Long amountTotal = checkoutSession.getAmountTotal(); - if (amountTotal != null) { - user.addBalance(BigDecimal.valueOf(amountTotal).movePointLeft(2)); - } - - userRepository.save(user); - transactionRepository.save(transaction); - emailService.sendDepositEmail(transaction); - } -} diff --git a/backend/src/main/java/de/szut/casino/deposit/TransactionStatus.java b/backend/src/main/java/de/szut/casino/deposit/TransactionStatus.java deleted file mode 100644 index 93ae142..0000000 --- a/backend/src/main/java/de/szut/casino/deposit/TransactionStatus.java +++ /dev/null @@ -1,6 +0,0 @@ -package de.szut.casino.deposit; - -public enum TransactionStatus { - PROCESSING, - SUCCEEDED, -} diff --git a/backend/src/main/java/de/szut/casino/deposit/WebhookController.java b/backend/src/main/java/de/szut/casino/deposit/WebhookController.java deleted file mode 100644 index 45ba4c1..0000000 --- a/backend/src/main/java/de/szut/casino/deposit/WebhookController.java +++ /dev/null @@ -1,54 +0,0 @@ -package de.szut.casino.deposit; - -import com.stripe.Stripe; -import com.stripe.exception.StripeException; -import com.stripe.model.Event; -import com.stripe.model.checkout.Session; -import com.stripe.net.Webhook; -import jakarta.annotation.PostConstruct; -import jakarta.mail.MessagingException; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestHeader; -import org.springframework.web.bind.annotation.RestController; - -import java.io.IOException; -import java.util.Objects; - -@RestController -public class WebhookController { - private static final Logger logger = LoggerFactory.getLogger(WebhookController.class); - @Value("${stripe.secret.key}") - private String stripeSecretKey; - - @Value("${stripe.webhook.secret}") - private String webhookSecret; - - private final TransactionService transactionService; - - public WebhookController(TransactionService transactionService) { - this.transactionService = transactionService; - } - - @PostConstruct - public void init() { - Stripe.apiKey = stripeSecretKey; - } - - @PostMapping("/webhook") - public ResponseEntity webhook(@RequestBody String payload, @RequestHeader("Stripe-Signature") String sigHeader) throws StripeException, MessagingException, IOException { - Event event = Webhook.constructEvent(payload, sigHeader, webhookSecret); - - if (Objects.equals(event.getType(), "checkout.session.completed") || Objects.equals(event.getType(), "checkout.session.async_payment_succeeded")) { - Session session = (Session) event.getData().getObject(); - - this.transactionService.fulfillCheckout(session.getId()); - } - - return ResponseEntity.ok().body(null); - } -} diff --git a/backend/src/main/java/de/szut/casino/deposit/dto/AmountDto.java b/backend/src/main/java/de/szut/casino/deposit/dto/AmountDto.java deleted file mode 100644 index 1f1708e..0000000 --- a/backend/src/main/java/de/szut/casino/deposit/dto/AmountDto.java +++ /dev/null @@ -1,17 +0,0 @@ -package de.szut.casino.deposit.dto; - -import jakarta.validation.constraints.Min; -import lombok.AllArgsConstructor; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -@Setter -@Getter -@AllArgsConstructor -@NoArgsConstructor -public class AmountDto { - @Min(50) - private double amount; -} - diff --git a/backend/src/main/java/de/szut/casino/deposit/dto/SessionIdDto.java b/backend/src/main/java/de/szut/casino/deposit/dto/SessionIdDto.java deleted file mode 100644 index b3de1bc..0000000 --- a/backend/src/main/java/de/szut/casino/deposit/dto/SessionIdDto.java +++ /dev/null @@ -1,15 +0,0 @@ -package de.szut.casino.deposit.dto; - -import lombok.AllArgsConstructor; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -@Setter -@Getter -@AllArgsConstructor -@NoArgsConstructor -public class SessionIdDto { - private String sessionId; -} - diff --git a/backend/src/main/java/de/szut/casino/dice/DiceController.java b/backend/src/main/java/de/szut/casino/dice/DiceController.java deleted file mode 100644 index 1341d96..0000000 --- a/backend/src/main/java/de/szut/casino/dice/DiceController.java +++ /dev/null @@ -1,38 +0,0 @@ -package de.szut.casino.dice; - -import de.szut.casino.exceptionHandling.exceptions.InsufficientFundsException; -import de.szut.casino.exceptionHandling.exceptions.UserNotFoundException; -import de.szut.casino.shared.service.BalanceService; -import de.szut.casino.user.UserEntity; -import de.szut.casino.user.UserService; -import jakarta.validation.Valid; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RestController; - -import java.util.Optional; - -@RestController -public class DiceController { - private final UserService userService; - private final BalanceService balanceService; - private final DiceService diceService; - - public DiceController(UserService userService, BalanceService balanceService, DiceService diceService) { - this.userService = userService; - this.balanceService = balanceService; - this.diceService = diceService; - } - - @PostMapping("/dice") - public ResponseEntity rollDice(@RequestBody @Valid DiceDto diceDto) { - UserEntity user = userService.getCurrentUser(); - - if (!this.balanceService.hasFunds(user, diceDto)) { - throw new InsufficientFundsException(); - } - - return ResponseEntity.ok(diceService.play(user, diceDto)); - } -} diff --git a/backend/src/main/java/de/szut/casino/dice/DiceDto.java b/backend/src/main/java/de/szut/casino/dice/DiceDto.java deleted file mode 100644 index f0caf48..0000000 --- a/backend/src/main/java/de/szut/casino/dice/DiceDto.java +++ /dev/null @@ -1,29 +0,0 @@ -package de.szut.casino.dice; - -import de.szut.casino.shared.dto.BetDto; -import jakarta.validation.constraints.DecimalMax; -import jakarta.validation.constraints.DecimalMin; -import jakarta.validation.constraints.NotNull; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import java.math.BigDecimal; - -@Getter -@Setter -@NoArgsConstructor -public class DiceDto extends BetDto { - private boolean rollOver; - - @NotNull - @DecimalMin(value = "1.00") - @DecimalMax(value = "100") - private BigDecimal targetValue; - - public DiceDto(BigDecimal betAmount, boolean rollOver, BigDecimal targetValue) { - super(betAmount); - this.rollOver = rollOver; - this.targetValue = targetValue; - } -} diff --git a/backend/src/main/java/de/szut/casino/dice/DiceResult.java b/backend/src/main/java/de/szut/casino/dice/DiceResult.java deleted file mode 100644 index 65a7f69..0000000 --- a/backend/src/main/java/de/szut/casino/dice/DiceResult.java +++ /dev/null @@ -1,20 +0,0 @@ -package de.szut.casino.dice; - -import lombok.Getter; -import lombok.Setter; - -import java.math.BigDecimal; - -@Setter -@Getter -public class DiceResult { - private boolean win; - private BigDecimal payout; - private BigDecimal rolledValue; - - public DiceResult(boolean win, BigDecimal payout, BigDecimal rolledValue) { - this.win = win; - this.payout = payout; - this.rolledValue = rolledValue; - } -} diff --git a/backend/src/main/java/de/szut/casino/dice/DiceService.java b/backend/src/main/java/de/szut/casino/dice/DiceService.java deleted file mode 100644 index 836620b..0000000 --- a/backend/src/main/java/de/szut/casino/dice/DiceService.java +++ /dev/null @@ -1,69 +0,0 @@ -package de.szut.casino.dice; - -import de.szut.casino.shared.service.BalanceService; -import de.szut.casino.user.UserEntity; -import org.springframework.stereotype.Service; - -import java.math.BigDecimal; -import java.math.RoundingMode; -import java.util.Random; - -@Service -public class DiceService { - private static final int MAX_DICE_VALUE = 100; - private final Random random; - private final BalanceService balanceService; - - public DiceService(Random random, BalanceService balanceService) { - this.random = random; - this.balanceService = balanceService; - } - - public DiceResult play(UserEntity user, DiceDto diceDto) { - balanceService.subtractFunds(user, diceDto.getBetAmount()); - - int rolledValue = random.nextInt(MAX_DICE_VALUE) + 1; - BigDecimal rolledValueDecimal = BigDecimal.valueOf(rolledValue); - - BigDecimal targetValue = diceDto.getTargetValue(); - boolean isRollOver = diceDto.isRollOver(); - - boolean winConditionMet = isWinConditionMet(rolledValueDecimal, targetValue, isRollOver); - - if (!winConditionMet) { - return new DiceResult(false, BigDecimal.ZERO, rolledValueDecimal); - } - - BigDecimal winChance = calculateWinChance(targetValue, isRollOver); - BigDecimal multiplier = calculateMultiplier(winChance); - - BigDecimal payout = diceDto.getBetAmount().multiply(multiplier); - balanceService.addFunds(user, payout); - - return new DiceResult(true, payout, rolledValueDecimal); - } - - private boolean isWinConditionMet(BigDecimal rolledValue, BigDecimal targetValue, boolean isRollOver) { - if (isRollOver) { - return rolledValue.compareTo(targetValue) > 0; - } - - return rolledValue.compareTo(targetValue) < 0; - } - - private BigDecimal calculateWinChance(BigDecimal targetValue, boolean isRollOver) { - if (isRollOver) { - return BigDecimal.valueOf(MAX_DICE_VALUE).subtract(targetValue); - } - - return targetValue.subtract(BigDecimal.ONE); - } - - private BigDecimal calculateMultiplier(BigDecimal winChance) { - if (winChance.compareTo(BigDecimal.ZERO) > 0) { - return BigDecimal.valueOf(MAX_DICE_VALUE - 1).divide(winChance, 4, RoundingMode.HALF_UP); - } - - return BigDecimal.ZERO; - } -} diff --git a/backend/src/main/java/de/szut/casino/exceptionHandling/ErrorDetails.java b/backend/src/main/java/de/szut/casino/exceptionHandling/ErrorDetails.java deleted file mode 100644 index cf287c7..0000000 --- a/backend/src/main/java/de/szut/casino/exceptionHandling/ErrorDetails.java +++ /dev/null @@ -1,14 +0,0 @@ -package de.szut.casino.exceptionHandling; - -import lombok.AllArgsConstructor; -import lombok.Data; - -import java.util.Date; - -@Data -@AllArgsConstructor -public class ErrorDetails { - private Date timestamp; - private String message; - private String details; -} diff --git a/backend/src/main/java/de/szut/casino/exceptionHandling/GlobalExceptionHandler.java b/backend/src/main/java/de/szut/casino/exceptionHandling/GlobalExceptionHandler.java deleted file mode 100644 index f07c03a..0000000 --- a/backend/src/main/java/de/szut/casino/exceptionHandling/GlobalExceptionHandler.java +++ /dev/null @@ -1,48 +0,0 @@ -package de.szut.casino.exceptionHandling; - -import de.szut.casino.exceptionHandling.exceptions.EmailNotVerifiedException; -import de.szut.casino.exceptionHandling.exceptions.InsufficientFundsException; -import de.szut.casino.exceptionHandling.exceptions.UserBlackJackGameMismatchException; -import de.szut.casino.exceptionHandling.exceptions.UserNotFoundException; -import jakarta.persistence.EntityExistsException; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.ControllerAdvice; -import org.springframework.web.bind.annotation.ExceptionHandler; -import org.springframework.web.context.request.WebRequest; - -import java.util.Date; - -@ControllerAdvice -public class GlobalExceptionHandler { - - @ExceptionHandler(UserNotFoundException.class) - public ResponseEntity handleUserNotFoundException(UserNotFoundException ex, WebRequest request) { - ErrorDetails errorDetails = new ErrorDetails(new Date(), ex.getMessage(), request.getDescription(false)); - return new ResponseEntity<>(errorDetails, HttpStatus.NOT_FOUND); - } - - @ExceptionHandler(InsufficientFundsException.class) - public ResponseEntity handleInsufficientFundsException(InsufficientFundsException ex, WebRequest request) { - ErrorDetails errorDetails = new ErrorDetails(new Date(), ex.getMessage(), request.getDescription(false)); - return new ResponseEntity<>(errorDetails, HttpStatus.BAD_REQUEST); - } - - @ExceptionHandler(EntityExistsException.class) - public ResponseEntity handleEntityExistsException(EntityExistsException ex, WebRequest request) { - ErrorDetails errorDetails = new ErrorDetails(new Date(), ex.getMessage(), request.getDescription(false)); - return new ResponseEntity<>(errorDetails, HttpStatus.CONFLICT); - } - - @ExceptionHandler(EmailNotVerifiedException.class) - public ResponseEntity handleEmailNotVerifiedException(EmailNotVerifiedException ex, WebRequest request) { - ErrorDetails errorDetails = new ErrorDetails(new Date(), ex.getMessage(), request.getDescription(false)); - return new ResponseEntity<>(errorDetails, HttpStatus.UNAUTHORIZED); - } - - @ExceptionHandler(UserBlackJackGameMismatchException.class) - public ResponseEntity handleUserBlackJackGameMismatchException(UserBlackJackGameMismatchException ex, WebRequest request) { - ErrorDetails errorDetails = new ErrorDetails(new Date(), ex.getMessage(), request.getDescription(false)); - return new ResponseEntity<>(errorDetails, HttpStatus.NOT_FOUND); - } -} diff --git a/backend/src/main/java/de/szut/casino/exceptionHandling/exceptions/EmailNotVerifiedException.java b/backend/src/main/java/de/szut/casino/exceptionHandling/exceptions/EmailNotVerifiedException.java deleted file mode 100644 index af97d4e..0000000 --- a/backend/src/main/java/de/szut/casino/exceptionHandling/exceptions/EmailNotVerifiedException.java +++ /dev/null @@ -1,7 +0,0 @@ -package de.szut.casino.exceptionHandling.exceptions; - -public class EmailNotVerifiedException extends Exception { - public EmailNotVerifiedException() { - super("Email not verified"); - } -} diff --git a/backend/src/main/java/de/szut/casino/exceptionHandling/exceptions/InsufficientFundsException.java b/backend/src/main/java/de/szut/casino/exceptionHandling/exceptions/InsufficientFundsException.java deleted file mode 100644 index 7c87acc..0000000 --- a/backend/src/main/java/de/szut/casino/exceptionHandling/exceptions/InsufficientFundsException.java +++ /dev/null @@ -1,11 +0,0 @@ -package de.szut.casino.exceptionHandling.exceptions; - -import org.springframework.http.HttpStatus; -import org.springframework.web.bind.annotation.ResponseStatus; - -@ResponseStatus(value = HttpStatus.BAD_REQUEST) -public class InsufficientFundsException extends RuntimeException { - public InsufficientFundsException() { - super("insufficient funds"); - } -} diff --git a/backend/src/main/java/de/szut/casino/exceptionHandling/exceptions/OAuth2AuthenticationProcessingException.java b/backend/src/main/java/de/szut/casino/exceptionHandling/exceptions/OAuth2AuthenticationProcessingException.java deleted file mode 100644 index b4f421e..0000000 --- a/backend/src/main/java/de/szut/casino/exceptionHandling/exceptions/OAuth2AuthenticationProcessingException.java +++ /dev/null @@ -1,9 +0,0 @@ -package de.szut.casino.exceptionHandling.exceptions; - -import org.springframework.security.core.AuthenticationException; - -public class OAuth2AuthenticationProcessingException extends AuthenticationException { - public OAuth2AuthenticationProcessingException(String msg) { - super(msg); - } -} diff --git a/backend/src/main/java/de/szut/casino/exceptionHandling/exceptions/UserBlackJackGameMismatchException.java b/backend/src/main/java/de/szut/casino/exceptionHandling/exceptions/UserBlackJackGameMismatchException.java deleted file mode 100644 index 22a93cc..0000000 --- a/backend/src/main/java/de/szut/casino/exceptionHandling/exceptions/UserBlackJackGameMismatchException.java +++ /dev/null @@ -1,7 +0,0 @@ -package de.szut.casino.exceptionHandling.exceptions; - -public class UserBlackJackGameMismatchException extends RuntimeException { - public UserBlackJackGameMismatchException(Long gameId) { - super(String.format("Blackjack game with ID %d not found or does not belong to the current user.", gameId)); - } -} diff --git a/backend/src/main/java/de/szut/casino/exceptionHandling/exceptions/UserNotFoundException.java b/backend/src/main/java/de/szut/casino/exceptionHandling/exceptions/UserNotFoundException.java deleted file mode 100644 index d843af7..0000000 --- a/backend/src/main/java/de/szut/casino/exceptionHandling/exceptions/UserNotFoundException.java +++ /dev/null @@ -1,11 +0,0 @@ -package de.szut.casino.exceptionHandling.exceptions; - -import org.springframework.http.HttpStatus; -import org.springframework.web.bind.annotation.ResponseStatus; - -@ResponseStatus(value = HttpStatus.NOT_FOUND) -public class UserNotFoundException extends RuntimeException { - public UserNotFoundException() { - super("User not found"); - } -} diff --git a/backend/src/main/java/de/szut/casino/health/HealthController.java b/backend/src/main/java/de/szut/casino/health/HealthController.java deleted file mode 100644 index da05352..0000000 --- a/backend/src/main/java/de/szut/casino/health/HealthController.java +++ /dev/null @@ -1,15 +0,0 @@ -package de.szut.casino.health; - -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RestController; - -import java.util.Map; - -@RestController -public class HealthController { - - @GetMapping("/health") - public Map healthCheck() { - return Map.of("status", "UP"); - } -} diff --git a/backend/src/main/java/de/szut/casino/lootboxes/CreateLootBoxDto.java b/backend/src/main/java/de/szut/casino/lootboxes/CreateLootBoxDto.java deleted file mode 100644 index 10e1b4e..0000000 --- a/backend/src/main/java/de/szut/casino/lootboxes/CreateLootBoxDto.java +++ /dev/null @@ -1,30 +0,0 @@ -package de.szut.casino.lootboxes; - -import jakarta.validation.constraints.DecimalMin; -import jakarta.validation.constraints.NotEmpty; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.AllArgsConstructor; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.List; - -@Getter -@Setter -@AllArgsConstructor -@NoArgsConstructor -public class CreateLootBoxDto { - @NotEmpty(message = "Loot box name cannot be empty") - @Size(min = 3, max = 50, message = "Loot box name must be between 3 and 50 characters") - private String name; - - @NotNull(message = "Price cannot be null") - @DecimalMin(value = "0.01", message = "Price must be greater than 0") - private BigDecimal price; - - private List rewards = new ArrayList<>(); -} diff --git a/backend/src/main/java/de/szut/casino/lootboxes/CreateRewardDto.java b/backend/src/main/java/de/szut/casino/lootboxes/CreateRewardDto.java deleted file mode 100644 index 0dbe819..0000000 --- a/backend/src/main/java/de/szut/casino/lootboxes/CreateRewardDto.java +++ /dev/null @@ -1,26 +0,0 @@ -package de.szut.casino.lootboxes; - -import jakarta.validation.constraints.DecimalMax; -import jakarta.validation.constraints.DecimalMin; -import jakarta.validation.constraints.NotNull; -import lombok.AllArgsConstructor; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import java.math.BigDecimal; - -@Getter -@Setter -@AllArgsConstructor -@NoArgsConstructor -public class CreateRewardDto { - @NotNull(message = "Reward value cannot be null") - @DecimalMin(value = "0.00", message = "Reward value must be positive") - private BigDecimal value; - - @NotNull(message = "Probability cannot be null") - @DecimalMin(value = "0.0", message = "Probability must be at least 0.0") - @DecimalMax(value = "1.0", message = "Probability must be at most 1.0") - private BigDecimal probability; -} diff --git a/backend/src/main/java/de/szut/casino/lootboxes/LootBoxController.java b/backend/src/main/java/de/szut/casino/lootboxes/LootBoxController.java deleted file mode 100644 index 4b7d971..0000000 --- a/backend/src/main/java/de/szut/casino/lootboxes/LootBoxController.java +++ /dev/null @@ -1,85 +0,0 @@ -package de.szut.casino.lootboxes; - -import de.szut.casino.exceptionHandling.exceptions.InsufficientFundsException; -import de.szut.casino.exceptionHandling.exceptions.UserNotFoundException; -import de.szut.casino.user.UserEntity; -import de.szut.casino.user.UserService; -import jakarta.validation.Valid; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.*; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.Optional; - -@RestController -public class LootBoxController { - private final LootBoxRepository lootBoxRepository; - private final UserService userService; - private final LootBoxService lootBoxService; - - public LootBoxController(LootBoxRepository lootBoxRepository, UserService userService, LootBoxService lootBoxService) { - this.lootBoxRepository = lootBoxRepository; - this.userService = userService; - this.lootBoxService = lootBoxService; - } - - @GetMapping("/lootboxes") - public List getAllLootBoxes() { - return lootBoxRepository.findAll(); - } - - @PostMapping("/lootboxes/{id}") - public ResponseEntity purchaseLootBox(@PathVariable Long id) { - Optional optionalLootBox = lootBoxRepository.findById(id); - if (optionalLootBox.isEmpty()) { - return ResponseEntity.notFound().build(); - } - - LootBoxEntity lootBox = optionalLootBox.get(); - UserEntity user = userService.getCurrentUser(); - - if (lootBoxService.hasSufficientBalance(user, lootBox.getPrice())) { - throw new InsufficientFundsException(); - } - - RewardEntity reward = lootBoxService.determineReward(lootBox); - lootBoxService.handleBalance(user, lootBox, reward); - - return ResponseEntity.ok(reward); - } - - @PostMapping("/lootboxes") - public ResponseEntity createLootbox(@RequestBody @Valid CreateLootBoxDto createLootBoxDto) { - List rewardEntities = new ArrayList<>(); - - for (CreateRewardDto createRewardDto : createLootBoxDto.getRewards()) { - rewardEntities.add(new RewardEntity(createRewardDto.getValue(), createRewardDto.getProbability())); - } - - LootBoxEntity lootBoxEntity = new LootBoxEntity( - createLootBoxDto.getName(), - createLootBoxDto.getPrice(), - rewardEntities - ); - - this.lootBoxRepository.save(lootBoxEntity); - - return ResponseEntity.ok(lootBoxEntity); - } - - @DeleteMapping("/lootboxes/{id}") - public ResponseEntity deleteLootbox(@PathVariable Long id) { - Optional optionalLootBox = lootBoxRepository.findById(id); - if (optionalLootBox.isEmpty()) { - return ResponseEntity.notFound().build(); - } - - LootBoxEntity lootBox = optionalLootBox.get(); - lootBoxRepository.delete(lootBox); - - return ResponseEntity.ok(Collections.singletonMap("message", "successfully deleted lootbox")); - } - -} diff --git a/backend/src/main/java/de/szut/casino/lootboxes/LootBoxEntity.java b/backend/src/main/java/de/szut/casino/lootboxes/LootBoxEntity.java deleted file mode 100644 index 8a3e9a9..0000000 --- a/backend/src/main/java/de/szut/casino/lootboxes/LootBoxEntity.java +++ /dev/null @@ -1,40 +0,0 @@ -package de.szut.casino.lootboxes; - -import jakarta.persistence.*; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.List; - -@Entity -@Getter -@Setter -@NoArgsConstructor -public class LootBoxEntity { - - public LootBoxEntity(String name, BigDecimal price, List rewards) { - this.name = name; - this.price = price; - this.rewards = rewards; - } - - @Id - @GeneratedValue - private Long id; - - private String name; - - @Column(precision = 19, scale = 2) - private BigDecimal price; - - @ManyToMany(cascade = {CascadeType.PERSIST, CascadeType.MERGE}) - @JoinTable( - name = "lootbox_reward", - joinColumns = @JoinColumn(name = "lootbox_id"), - inverseJoinColumns = @JoinColumn(name = "reward_id") - ) - private List rewards = new ArrayList<>(); -} diff --git a/backend/src/main/java/de/szut/casino/lootboxes/LootBoxRepository.java b/backend/src/main/java/de/szut/casino/lootboxes/LootBoxRepository.java deleted file mode 100644 index 472388e..0000000 --- a/backend/src/main/java/de/szut/casino/lootboxes/LootBoxRepository.java +++ /dev/null @@ -1,8 +0,0 @@ -package de.szut.casino.lootboxes; - -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.stereotype.Service; - -@Service -public interface LootBoxRepository extends JpaRepository { -} diff --git a/backend/src/main/java/de/szut/casino/lootboxes/LootBoxService.java b/backend/src/main/java/de/szut/casino/lootboxes/LootBoxService.java deleted file mode 100644 index 647b69b..0000000 --- a/backend/src/main/java/de/szut/casino/lootboxes/LootBoxService.java +++ /dev/null @@ -1,40 +0,0 @@ -package de.szut.casino.lootboxes; - -import de.szut.casino.user.UserEntity; -import de.szut.casino.user.UserRepository; -import org.springframework.stereotype.Service; - -import java.math.BigDecimal; - -@Service -public class LootBoxService { - private final UserRepository userRepository; - - public LootBoxService(UserRepository userRepository) { - this.userRepository = userRepository; - } - - public boolean hasSufficientBalance(UserEntity user, BigDecimal price) { - return user.getBalance().compareTo(price) < 0; - } - - public RewardEntity determineReward(LootBoxEntity lootBox) { - double randomValue = Math.random(); - BigDecimal cumulativeProbability = BigDecimal.ZERO; - - for (RewardEntity reward : lootBox.getRewards()) { - cumulativeProbability = cumulativeProbability.add(reward.getProbability()); - if (randomValue <= cumulativeProbability.doubleValue()) { - return reward; - } - } - - return lootBox.getRewards().getLast(); - } - - public void handleBalance(UserEntity user, LootBoxEntity lootBox, RewardEntity reward) { - user.setBalance(user.getBalance().subtract(lootBox.getPrice())); - user.setBalance(user.getBalance().add(reward.getValue())); - userRepository.save(user); - } -} diff --git a/backend/src/main/java/de/szut/casino/lootboxes/RewardEntity.java b/backend/src/main/java/de/szut/casino/lootboxes/RewardEntity.java deleted file mode 100644 index 1abd2df..0000000 --- a/backend/src/main/java/de/szut/casino/lootboxes/RewardEntity.java +++ /dev/null @@ -1,37 +0,0 @@ -package de.szut.casino.lootboxes; - -import com.fasterxml.jackson.annotation.JsonBackReference; -import jakarta.persistence.*; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.List; - -@Getter -@Setter -@Entity -@NoArgsConstructor -public class RewardEntity { - - public RewardEntity(BigDecimal value, BigDecimal probability) { - this.value = value; - this.probability = probability; - } - - @Id - @GeneratedValue - private Long id; - - @Column(precision = 19, scale = 2) - private BigDecimal value; - - @Column(precision = 5, scale = 2) - private BigDecimal probability; - - @ManyToMany(mappedBy = "rewards") - @JsonBackReference - private List lootBoxes = new ArrayList<>(); -} diff --git a/backend/src/main/java/de/szut/casino/lootboxes/RewardRepository.java b/backend/src/main/java/de/szut/casino/lootboxes/RewardRepository.java deleted file mode 100644 index 7878000..0000000 --- a/backend/src/main/java/de/szut/casino/lootboxes/RewardRepository.java +++ /dev/null @@ -1,8 +0,0 @@ -package de.szut.casino.lootboxes; - -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.stereotype.Service; - -@Service -public interface RewardRepository extends JpaRepository { -} diff --git a/backend/src/main/java/de/szut/casino/security/AuthController.java b/backend/src/main/java/de/szut/casino/security/AuthController.java deleted file mode 100644 index f0387c7..0000000 --- a/backend/src/main/java/de/szut/casino/security/AuthController.java +++ /dev/null @@ -1,60 +0,0 @@ -package de.szut.casino.security; - -import de.szut.casino.exceptionHandling.exceptions.EmailNotVerifiedException; -import de.szut.casino.security.dto.AuthResponseDto; -import de.szut.casino.security.dto.LoginRequestDto; -import de.szut.casino.security.dto.ResetPasswordDto; -import de.szut.casino.security.service.AuthService; -import de.szut.casino.user.dto.CreateUserDto; -import de.szut.casino.user.dto.GetUserDto; -import jakarta.mail.MessagingException; -import jakarta.validation.Valid; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.*; - -import java.io.IOException; - -@RestController -@RequestMapping("/auth") -public class AuthController { - - - private final AuthService authService; - - public AuthController(AuthService authService) { - this.authService = authService; - } - - @PostMapping("/login") - public ResponseEntity authenticateUser(@Valid @RequestBody LoginRequestDto loginRequest) throws EmailNotVerifiedException { - AuthResponseDto response = authService.login(loginRequest); - return ResponseEntity.ok(response); - } - - @PostMapping("/register") - public ResponseEntity registerUser(@Valid @RequestBody CreateUserDto signUpRequest) throws MessagingException, IOException { - GetUserDto response = authService.register(signUpRequest); - return ResponseEntity.ok(response); - } - - @PostMapping("/verify") - public ResponseEntity verifyEmail(@RequestParam("token") String token) throws MessagingException, IOException { - if (authService.verifyEmail(token)) { - return ResponseEntity.badRequest().build(); - } - - return ResponseEntity.ok().build(); - } - - @PostMapping("/recover-password") - public ResponseEntity recoverPassword(@RequestParam("email") String email) throws MessagingException, IOException { - authService.recoverPassword(email); - return ResponseEntity.ok().build(); - } - - @PostMapping("/reset-password") - public ResponseEntity resetPassword(@Valid @RequestBody ResetPasswordDto passwordDto) throws MessagingException, IOException { - authService.resetPassword(passwordDto); - return ResponseEntity.ok().build(); - } -} diff --git a/backend/src/main/java/de/szut/casino/security/CorsFilter.java b/backend/src/main/java/de/szut/casino/security/CorsFilter.java deleted file mode 100644 index b1c1b3b..0000000 --- a/backend/src/main/java/de/szut/casino/security/CorsFilter.java +++ /dev/null @@ -1,40 +0,0 @@ -package de.szut.casino.security; - -import jakarta.servlet.*; -import jakarta.servlet.http.HttpServletRequest; -import jakarta.servlet.http.HttpServletResponse; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.core.Ordered; -import org.springframework.core.annotation.Order; -import org.springframework.stereotype.Component; - -import java.io.IOException; - -@Component -@Order(Ordered.HIGHEST_PRECEDENCE) -public class CorsFilter implements Filter { - - @Value("${app.frontend-host}") - private String frontendHost; - - @Override - public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { - - HttpServletResponse response = (HttpServletResponse) res; - HttpServletRequest request = (HttpServletRequest) req; - - response.setHeader("Access-Control-Allow-Origin", frontendHost); - response.setHeader("Access-Control-Allow-Methods", "GET, POST, PUT, PATCH, DELETE, OPTIONS"); - response.setHeader("Access-Control-Allow-Headers", "*"); - response.setHeader("Access-Control-Expose-Headers", "*"); - response.setHeader("Access-Control-Allow-Credentials", "true"); - response.setHeader("Access-Control-Max-Age", "3600"); - - if ("OPTIONS".equalsIgnoreCase(request.getMethod())) { - response.setStatus(HttpServletResponse.SC_OK); - return; - } - - chain.doFilter(req, res); - } -} diff --git a/backend/src/main/java/de/szut/casino/security/CustomJwtAuthenticationConverter.java b/backend/src/main/java/de/szut/casino/security/CustomJwtAuthenticationConverter.java deleted file mode 100644 index 1997ac7..0000000 --- a/backend/src/main/java/de/szut/casino/security/CustomJwtAuthenticationConverter.java +++ /dev/null @@ -1,24 +0,0 @@ -package de.szut.casino.security; - -import org.springframework.core.convert.converter.Converter; -import org.springframework.security.authentication.AbstractAuthenticationToken; -import org.springframework.security.oauth2.jwt.Jwt; -import org.springframework.security.oauth2.server.resource.authentication.JwtAuthenticationConverter; -import org.springframework.security.oauth2.server.resource.authentication.JwtGrantedAuthoritiesConverter; - -public class CustomJwtAuthenticationConverter implements Converter { - - @Override - public AbstractAuthenticationToken convert(Jwt source) { - JwtGrantedAuthoritiesConverter authoritiesConverter = new JwtGrantedAuthoritiesConverter(); - JwtAuthenticationConverter converter = new JwtAuthenticationConverter(); - converter.setJwtGrantedAuthoritiesConverter(authoritiesConverter); - - return converter.convert(source); - } - - public Converter andThen(Converter after) { - return Converter.super.andThen(after); - } -} - diff --git a/backend/src/main/java/de/szut/casino/security/SecurityConfig.java b/backend/src/main/java/de/szut/casino/security/SecurityConfig.java deleted file mode 100644 index 9268cf2..0000000 --- a/backend/src/main/java/de/szut/casino/security/SecurityConfig.java +++ /dev/null @@ -1,94 +0,0 @@ -package de.szut.casino.security; - -import de.szut.casino.security.jwt.JwtAuthenticationFilter; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.security.authentication.AuthenticationManager; -import org.springframework.security.authentication.dao.DaoAuthenticationProvider; -import org.springframework.security.config.annotation.authentication.configuration.AuthenticationConfiguration; -import org.springframework.security.config.annotation.method.configuration.EnableMethodSecurity; -import org.springframework.security.config.annotation.web.builders.HttpSecurity; -import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; -import org.springframework.security.config.http.SessionCreationPolicy; -import org.springframework.security.core.userdetails.UserDetailsService; -import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; -import org.springframework.security.crypto.password.PasswordEncoder; -import org.springframework.security.web.SecurityFilterChain; -import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; -import org.springframework.web.cors.CorsConfiguration; -import org.springframework.web.cors.CorsConfigurationSource; -import org.springframework.web.cors.UrlBasedCorsConfigurationSource; - -import java.util.Arrays; -import java.util.List; - -@Configuration -@EnableWebSecurity -@EnableMethodSecurity -public class SecurityConfig { - - @Value("${app.frontend-host}") - private String frontendHost; - - private final UserDetailsService userDetailsService; - private final JwtAuthenticationFilter jwtAuthenticationFilter; - - public SecurityConfig(UserDetailsService userDetailsService, JwtAuthenticationFilter jwtAuthenticationFilter) { - this.userDetailsService = userDetailsService; - this.jwtAuthenticationFilter = jwtAuthenticationFilter; - } - - - @Bean - public DaoAuthenticationProvider authenticationProvider() { - DaoAuthenticationProvider authProvider = new DaoAuthenticationProvider(); - - authProvider.setUserDetailsService(userDetailsService); - authProvider.setPasswordEncoder(passwordEncoder()); - - return authProvider; - } - - @Bean - public AuthenticationManager authenticationManager(AuthenticationConfiguration authConfig) throws Exception { - return authConfig.getAuthenticationManager(); - } - - @Bean - public PasswordEncoder passwordEncoder() { - return new BCryptPasswordEncoder(); - } - - @Bean - public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception { - http - .cors(cors -> cors.configurationSource(corsConfigurationSource())) - .csrf(csrf -> csrf.disable()) - .sessionManagement(session -> session.sessionCreationPolicy(SessionCreationPolicy.STATELESS)) - .authorizeHttpRequests(auth -> { - auth.requestMatchers("/auth/**", "/webhook", "/swagger/**", "/swagger-ui/**", "/health", "/error", "/oauth2/**").permitAll() - .requestMatchers(org.springframework.http.HttpMethod.OPTIONS, "/**").permitAll() - .anyRequest().authenticated(); - }) - .authenticationProvider(authenticationProvider()) - .addFilterBefore(jwtAuthenticationFilter, UsernamePasswordAuthenticationFilter.class); - - return http.build(); - } - - @Bean - public CorsConfigurationSource corsConfigurationSource() { - CorsConfiguration configuration = new CorsConfiguration(); - configuration.setAllowedOrigins(List.of(this.frontendHost)); - configuration.setAllowedMethods(Arrays.asList("GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS")); - configuration.setAllowedHeaders(Arrays.asList("Authorization", "Content-Type", "Accept", "Origin", "X-Requested-With", "Access-Control-Request-Method", "Access-Control-Request-Headers", "x-auth-token")); - configuration.setExposedHeaders(Arrays.asList("Authorization", "Content-Type", "x-auth-token", "Access-Control-Allow-Origin", "Access-Control-Allow-Methods", "Access-Control-Allow-Headers")); - configuration.setAllowCredentials(true); - configuration.setMaxAge(3600L); - UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); - source.registerCorsConfiguration("/**", configuration); - return source; - } -} - diff --git a/backend/src/main/java/de/szut/casino/security/dto/AuthResponseDto.java b/backend/src/main/java/de/szut/casino/security/dto/AuthResponseDto.java deleted file mode 100644 index 4dfe79a..0000000 --- a/backend/src/main/java/de/szut/casino/security/dto/AuthResponseDto.java +++ /dev/null @@ -1,19 +0,0 @@ -package de.szut.casino.security.dto; - -import lombok.AllArgsConstructor; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -@Getter -@Setter -@NoArgsConstructor -@AllArgsConstructor -public class AuthResponseDto { - private String token; - private String tokenType = "Bearer"; - - public AuthResponseDto(String token) { - this.token = token; - } -} diff --git a/backend/src/main/java/de/szut/casino/security/dto/LoginRequestDto.java b/backend/src/main/java/de/szut/casino/security/dto/LoginRequestDto.java deleted file mode 100644 index 767a6d3..0000000 --- a/backend/src/main/java/de/szut/casino/security/dto/LoginRequestDto.java +++ /dev/null @@ -1,19 +0,0 @@ -package de.szut.casino.security.dto; - -import jakarta.validation.constraints.NotBlank; -import lombok.AllArgsConstructor; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -@Getter -@Setter -@NoArgsConstructor -@AllArgsConstructor -public class LoginRequestDto { - @NotBlank(message = "Username or email is required") - private String usernameOrEmail; - - @NotBlank(message = "Password is required") - private String password; -} diff --git a/backend/src/main/java/de/szut/casino/security/dto/ResetPasswordDto.java b/backend/src/main/java/de/szut/casino/security/dto/ResetPasswordDto.java deleted file mode 100644 index 192d928..0000000 --- a/backend/src/main/java/de/szut/casino/security/dto/ResetPasswordDto.java +++ /dev/null @@ -1,15 +0,0 @@ -package de.szut.casino.security.dto; - -import lombok.AllArgsConstructor; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -@AllArgsConstructor -@NoArgsConstructor -@Getter -@Setter -public class ResetPasswordDto { - private String token; - private String password; -} diff --git a/backend/src/main/java/de/szut/casino/security/jwt/JwtAuthenticationFilter.java b/backend/src/main/java/de/szut/casino/security/jwt/JwtAuthenticationFilter.java deleted file mode 100644 index 4766f4a..0000000 --- a/backend/src/main/java/de/szut/casino/security/jwt/JwtAuthenticationFilter.java +++ /dev/null @@ -1,65 +0,0 @@ -package de.szut.casino.security.jwt; - -import jakarta.servlet.FilterChain; -import jakarta.servlet.ServletException; -import jakarta.servlet.http.HttpServletRequest; -import jakarta.servlet.http.HttpServletResponse; -import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; -import org.springframework.security.core.context.SecurityContextHolder; -import org.springframework.security.core.userdetails.UserDetails; -import org.springframework.security.core.userdetails.UserDetailsService; -import org.springframework.security.web.authentication.WebAuthenticationDetailsSource; -import org.springframework.stereotype.Component; -import org.springframework.util.StringUtils; -import org.springframework.web.filter.OncePerRequestFilter; - -import java.io.IOException; - -@Component -public class JwtAuthenticationFilter extends OncePerRequestFilter { - - private final JwtUtils jwtUtils; - private final UserDetailsService userDetailsService; - - public JwtAuthenticationFilter(JwtUtils jwtUtils, UserDetailsService userDetailsService) { - this.jwtUtils = jwtUtils; - this.userDetailsService = userDetailsService; - } - - @Override - protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) - throws ServletException, IOException { - try { - String jwt = parseJwt(request); - if (jwt != null) { - String username = jwtUtils.extractUsername(jwt); - - if (username != null && SecurityContextHolder.getContext().getAuthentication() == null) { - UserDetails userDetails = userDetailsService.loadUserByUsername(username); - - if (jwtUtils.validateToken(jwt, userDetails)) { - UsernamePasswordAuthenticationToken authToken = new UsernamePasswordAuthenticationToken( - userDetails, null, userDetails.getAuthorities()); - - authToken.setDetails(new WebAuthenticationDetailsSource().buildDetails(request)); - SecurityContextHolder.getContext().setAuthentication(authToken); - } - } - } - } catch (Exception e) { - logger.error("Cannot set user authentication: {}", e); - } - - filterChain.doFilter(request, response); - } - - private String parseJwt(HttpServletRequest request) { - String headerAuth = request.getHeader("Authorization"); - - if (StringUtils.hasText(headerAuth) && headerAuth.startsWith("Bearer ")) { - return headerAuth.substring(7); - } - - return null; - } -} diff --git a/backend/src/main/java/de/szut/casino/security/jwt/JwtUtils.java b/backend/src/main/java/de/szut/casino/security/jwt/JwtUtils.java deleted file mode 100644 index 1a7d08d..0000000 --- a/backend/src/main/java/de/szut/casino/security/jwt/JwtUtils.java +++ /dev/null @@ -1,109 +0,0 @@ -package de.szut.casino.security.jwt; - -import de.szut.casino.security.oauth2.UserPrincipal; -import io.jsonwebtoken.Claims; -import io.jsonwebtoken.Jwts; -import io.jsonwebtoken.SignatureAlgorithm; -import io.jsonwebtoken.security.Keys; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.security.core.Authentication; -import org.springframework.security.core.userdetails.UserDetails; -import org.springframework.security.oauth2.core.user.OAuth2User; -import org.springframework.stereotype.Component; - -import java.security.Key; -import java.util.Date; -import java.util.HashMap; -import java.util.Map; -import java.util.function.Function; - -@Component -public class JwtUtils { - private static final Logger logger = LoggerFactory.getLogger(JwtUtils.class); - - @Value("${jwt.secret}") - private String jwtSecret; - - @Value("${jwt.expiration.ms}") - private int jwtExpirationMs; - - private Key getSigningKey() { - return Keys.hmacShaKeyFor(jwtSecret.getBytes()); - } - - public String generateToken(Authentication authentication) { - String subject = null; - Map claims = new HashMap<>(); - - if (authentication.getPrincipal() instanceof UserPrincipal) { - UserPrincipal userPrincipal = (UserPrincipal) authentication.getPrincipal(); - subject = userPrincipal.getEmail(); - claims.put("id", userPrincipal.getId()); - claims.put("username", userPrincipal.getDisplayUsername()); - logger.info("Generating token for UserPrincipal: {}", subject); - } else if (authentication.getPrincipal() instanceof OAuth2User) { - OAuth2User oauth2User = (OAuth2User) authentication.getPrincipal(); - subject = (String) oauth2User.getAttributes().get("email"); - logger.info("Generating token for OAuth2User: {}", subject); - } else { - UserDetails userDetails = (UserDetails) authentication.getPrincipal(); - subject = userDetails.getUsername(); - logger.info("Generating token for UserDetails: {}", subject); - } - - return createToken(claims, subject); - } - - public String generateToken(String username) { - Map claims = new HashMap<>(); - return createToken(claims, username); - } - - private String createToken(Map claims, String subject) { - Date now = new Date(); - logger.info("now: {}", now); - logger.info("jwtExpirationMs: {}", jwtExpirationMs); - logger.info("expiryDate: {}", new Date(now.getTime() + jwtExpirationMs)); - Date expiryDate = new Date(now.getTime() + jwtExpirationMs); - - return Jwts.builder() - .setClaims(claims) - .setSubject(subject) - .setIssuedAt(now) - .setExpiration(expiryDate) - .signWith(getSigningKey(), SignatureAlgorithm.HS256) - .compact(); - } - - public String extractUsername(String token) { - return extractClaim(token, Claims::getSubject); - } - - public Date extractExpiration(String token) { - return extractClaim(token, Claims::getExpiration); - } - - public T extractClaim(String token, Function claimsResolver) { - final Claims claims = extractAllClaims(token); - return claimsResolver.apply(claims); - } - - private Claims extractAllClaims(String token) { - return Jwts.parserBuilder() - .setSigningKey(getSigningKey()) - .build() - .parseClaimsJws(token) - .getBody(); - } - - private Boolean isTokenExpired(String token) { - return extractExpiration(token).before(new Date()); - } - - public Boolean validateToken(String token, UserDetails userDetails) { - final String username = extractUsername(token); - return (username.equals(userDetails.getUsername()) && !isTokenExpired(token)); - } -} diff --git a/backend/src/main/java/de/szut/casino/security/oauth2/CustomOAuth2UserService.java b/backend/src/main/java/de/szut/casino/security/oauth2/CustomOAuth2UserService.java deleted file mode 100644 index a8bda84..0000000 --- a/backend/src/main/java/de/szut/casino/security/oauth2/CustomOAuth2UserService.java +++ /dev/null @@ -1,106 +0,0 @@ -package de.szut.casino.security.oauth2; - -import de.szut.casino.exceptionHandling.exceptions.OAuth2AuthenticationProcessingException; -import de.szut.casino.user.AuthProvider; -import de.szut.casino.user.UserEntity; -import de.szut.casino.user.UserRepository; -import org.springframework.security.authentication.InternalAuthenticationServiceException; -import org.springframework.security.core.AuthenticationException; -import org.springframework.security.crypto.password.PasswordEncoder; -import org.springframework.security.oauth2.client.userinfo.DefaultOAuth2UserService; -import org.springframework.security.oauth2.client.userinfo.OAuth2UserRequest; -import org.springframework.security.oauth2.core.OAuth2AuthenticationException; -import org.springframework.security.oauth2.core.user.OAuth2User; -import org.springframework.stereotype.Service; -import org.springframework.util.StringUtils; - -import java.math.BigDecimal; -import java.util.Optional; -import java.util.UUID; - -@Service -public class CustomOAuth2UserService extends DefaultOAuth2UserService { - - private final UserRepository userRepository; - private final PasswordEncoder oauth2PasswordEncoder; - - public CustomOAuth2UserService(UserRepository userRepository, PasswordEncoder oauth2PasswordEncoder) { - this.userRepository = userRepository; - this.oauth2PasswordEncoder = oauth2PasswordEncoder; - } - - @Override - public OAuth2User loadUser(OAuth2UserRequest oAuth2UserRequest) throws OAuth2AuthenticationException { - OAuth2User oAuth2User = super.loadUser(oAuth2UserRequest); - - try { - return processOAuth2User(oAuth2UserRequest, oAuth2User); - } catch (AuthenticationException ex) { - throw ex; - } catch (Exception ex) { - throw new InternalAuthenticationServiceException(ex.getMessage(), ex.getCause()); - } - } - - private OAuth2User processOAuth2User(OAuth2UserRequest oAuth2UserRequest, OAuth2User oAuth2User) { - String registrationId = oAuth2UserRequest.getClientRegistration().getRegistrationId(); - OAuth2UserInfo oAuth2UserInfo = OAuth2UserInfoFactory.getOAuth2UserInfo(registrationId, oAuth2User.getAttributes()); - - String email = oAuth2UserInfo.getEmail(); - if (StringUtils.isEmpty(email)) { - email = oAuth2UserInfo.getName() + "@github.user"; - } - - Optional userOptional = userRepository.findByEmail(email); - UserEntity user; - - if (userOptional.isPresent()) { - user = userOptional.get(); - - if (!user.getProvider().equals(AuthProvider.valueOf(registrationId.toUpperCase()))) { - throw new OAuth2AuthenticationProcessingException("You're signed up with " + - user.getProvider() + ". Please use your " + user.getProvider() + - " account to login."); - } - - user = updateExistingUser(user, oAuth2UserInfo); - } else { - user = registerNewUser(oAuth2UserRequest, oAuth2UserInfo, email); - } - - return UserPrincipal.create(user, oAuth2User.getAttributes()); - } - - private UserEntity registerNewUser(OAuth2UserRequest oAuth2UserRequest, OAuth2UserInfo oAuth2UserInfo, String email) { - UserEntity user = new UserEntity(); - - String username = oAuth2UserInfo.getName(); - if (StringUtils.isEmpty(username)) { - username = "github_" + oAuth2UserInfo.getId(); - } - - if (userRepository.findByUsername(username).isPresent()) { - username = username + "_" + UUID.randomUUID().toString().substring(0, 8); - } - - user.setProvider(AuthProvider.valueOf(oAuth2UserRequest.getClientRegistration().getRegistrationId().toUpperCase())); - user.setProviderId(oAuth2UserInfo.getId()); - user.setUsername(username); - user.setEmail(email); - user.setEmailVerified(true); - - String randomPassword = UUID.randomUUID().toString(); - user.setPassword(oauth2PasswordEncoder.encode(randomPassword)); - - user.setBalance(new BigDecimal("100.00")); // Starting balance - - return userRepository.save(user); - } - - private UserEntity updateExistingUser(UserEntity existingUser, OAuth2UserInfo oAuth2UserInfo) { - if (!StringUtils.isEmpty(oAuth2UserInfo.getName())) { - existingUser.setUsername(oAuth2UserInfo.getName()); - } - return userRepository.save(existingUser); - } -} diff --git a/backend/src/main/java/de/szut/casino/security/oauth2/OAuth2AuthenticationSuccessHandler.java b/backend/src/main/java/de/szut/casino/security/oauth2/OAuth2AuthenticationSuccessHandler.java deleted file mode 100644 index 75eb6b6..0000000 --- a/backend/src/main/java/de/szut/casino/security/oauth2/OAuth2AuthenticationSuccessHandler.java +++ /dev/null @@ -1,57 +0,0 @@ -package de.szut.casino.security.oauth2; - -import de.szut.casino.security.jwt.JwtUtils; -import jakarta.servlet.http.HttpServletRequest; -import jakarta.servlet.http.HttpServletResponse; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.security.core.Authentication; -import org.springframework.security.web.authentication.SimpleUrlAuthenticationSuccessHandler; -import org.springframework.stereotype.Component; -import org.springframework.web.util.UriComponentsBuilder; - -import java.io.IOException; - -@Component -public class OAuth2AuthenticationSuccessHandler extends SimpleUrlAuthenticationSuccessHandler { - private static final Logger logger = LoggerFactory.getLogger(OAuth2AuthenticationSuccessHandler.class); - - @Value("${app.oauth2.authorizedRedirectUris}") - private String redirectUri; - - private final JwtUtils jwtUtils; - - public OAuth2AuthenticationSuccessHandler(JwtUtils jwtUtils) { - this.jwtUtils = jwtUtils; - } - - @Override - public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication) - throws IOException { - String targetUrl = determineTargetUrl(authentication); - - logger.info("OAuth2 Authentication successful, redirecting to: {}", targetUrl); - - if (response.isCommitted()) { - logger.debug("Response has already been committed. Unable to redirect to " + targetUrl); - return; - } - - clearAuthenticationAttributes(request); - getRedirectStrategy().sendRedirect(request, response, targetUrl); - } - - private String determineTargetUrl(Authentication authentication) { - String token = jwtUtils.generateToken(authentication); - - if (authentication.getPrincipal() instanceof UserPrincipal) { - UserPrincipal userPrincipal = (UserPrincipal) authentication.getPrincipal(); - logger.info("User authenticated: ID={}, Email={}", userPrincipal.getId(), userPrincipal.getEmail()); - } - - return UriComponentsBuilder.fromUriString(redirectUri) - .queryParam("token", token) - .build().toUriString(); - } -} diff --git a/backend/src/main/java/de/szut/casino/security/oauth2/OAuth2Config.java b/backend/src/main/java/de/szut/casino/security/oauth2/OAuth2Config.java deleted file mode 100644 index 32104ed..0000000 --- a/backend/src/main/java/de/szut/casino/security/oauth2/OAuth2Config.java +++ /dev/null @@ -1,15 +0,0 @@ -package de.szut.casino.security.oauth2; - -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; -import org.springframework.security.crypto.password.PasswordEncoder; - -@Configuration -public class OAuth2Config { - - @Bean - public PasswordEncoder oauth2PasswordEncoder() { - return new BCryptPasswordEncoder(); - } -} diff --git a/backend/src/main/java/de/szut/casino/security/oauth2/OAuth2UserInfo.java b/backend/src/main/java/de/szut/casino/security/oauth2/OAuth2UserInfo.java deleted file mode 100644 index 14e2bcc..0000000 --- a/backend/src/main/java/de/szut/casino/security/oauth2/OAuth2UserInfo.java +++ /dev/null @@ -1,20 +0,0 @@ -package de.szut.casino.security.oauth2; - -import lombok.Getter; - -import java.util.Map; - -@Getter -public abstract class OAuth2UserInfo { - protected Map attributes; - - public OAuth2UserInfo(Map attributes) { - this.attributes = attributes; - } - - public abstract String getId(); - - public abstract String getName(); - - public abstract String getEmail(); -} diff --git a/backend/src/main/java/de/szut/casino/security/oauth2/OAuth2UserInfoFactory.java b/backend/src/main/java/de/szut/casino/security/oauth2/OAuth2UserInfoFactory.java deleted file mode 100644 index 66633e0..0000000 --- a/backend/src/main/java/de/szut/casino/security/oauth2/OAuth2UserInfoFactory.java +++ /dev/null @@ -1,21 +0,0 @@ -package de.szut.casino.security.oauth2; - -import de.szut.casino.exceptionHandling.exceptions.OAuth2AuthenticationProcessingException; -import de.szut.casino.security.oauth2.github.GitHubOAuth2UserInfo; -import de.szut.casino.security.oauth2.google.GoogleOAuth2UserInfo; -import de.szut.casino.user.AuthProvider; - -import java.util.Map; - -public class OAuth2UserInfoFactory { - - public static OAuth2UserInfo getOAuth2UserInfo(String registrationId, Map attributes) { - if (registrationId.equalsIgnoreCase(AuthProvider.GITHUB.toString())) { - return new GitHubOAuth2UserInfo(attributes); - } else if (registrationId.equalsIgnoreCase(AuthProvider.GOOGLE.toString())) { - return new GoogleOAuth2UserInfo(attributes); - } else { - throw new OAuth2AuthenticationProcessingException("Sorry! Login with " + registrationId + " is not supported yet."); - } - } -} diff --git a/backend/src/main/java/de/szut/casino/security/oauth2/UserPrincipal.java b/backend/src/main/java/de/szut/casino/security/oauth2/UserPrincipal.java deleted file mode 100644 index 8ec25e0..0000000 --- a/backend/src/main/java/de/szut/casino/security/oauth2/UserPrincipal.java +++ /dev/null @@ -1,102 +0,0 @@ -package de.szut.casino.security.oauth2; - -import de.szut.casino.user.UserEntity; -import lombok.Getter; -import lombok.Setter; -import org.springframework.security.core.GrantedAuthority; -import org.springframework.security.core.authority.SimpleGrantedAuthority; -import org.springframework.security.core.userdetails.UserDetails; -import org.springframework.security.oauth2.core.user.OAuth2User; - -import java.util.Collection; -import java.util.Collections; -import java.util.List; -import java.util.Map; - -public class UserPrincipal implements OAuth2User, UserDetails { - @Getter - private Long id; - @Getter - private String email; - private String username; - private String password; - private Collection authorities; - @Setter - private Map attributes; - - public UserPrincipal(Long id, String email, String username, String password, Collection authorities) { - this.id = id; - this.email = email; - this.username = username; - this.password = password; - this.authorities = authorities; - } - - public static UserPrincipal create(UserEntity user) { - List authorities = Collections. - singletonList(new SimpleGrantedAuthority("ROLE_USER")); - - return new UserPrincipal( - user.getId(), - user.getEmail(), - user.getUsername(), - user.getPassword(), - authorities - ); - } - - public static UserPrincipal create(UserEntity user, Map attributes) { - UserPrincipal userPrincipal = UserPrincipal.create(user); - userPrincipal.setAttributes(attributes); - return userPrincipal; - } - - @Override - public String getPassword() { - return password; - } - - @Override - public String getUsername() { - return email; - } - - public String getDisplayUsername() { - return username; - } - - @Override - public boolean isAccountNonExpired() { - return true; - } - - @Override - public boolean isAccountNonLocked() { - return true; - } - - @Override - public boolean isCredentialsNonExpired() { - return true; - } - - @Override - public boolean isEnabled() { - return true; - } - - @Override - public Collection getAuthorities() { - return authorities; - } - - @Override - public Map getAttributes() { - return attributes; - } - - @Override - public String getName() { - return String.valueOf(id); - } -} diff --git a/backend/src/main/java/de/szut/casino/security/oauth2/github/GitHubController.java b/backend/src/main/java/de/szut/casino/security/oauth2/github/GitHubController.java deleted file mode 100644 index 2fe6279..0000000 --- a/backend/src/main/java/de/szut/casino/security/oauth2/github/GitHubController.java +++ /dev/null @@ -1,50 +0,0 @@ -package de.szut.casino.security.oauth2.github; - -import de.szut.casino.security.dto.AuthResponseDto; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.servlet.view.RedirectView; - -@RestController -@RequestMapping("/oauth2/github") -public class GitHubController { - private static final Logger logger = LoggerFactory.getLogger(GitHubController.class); - - @Value("${spring.security.oauth2.client.registration.github.client-id}") - private String clientId; - - @Value("${spring.security.oauth2.client.provider.github.authorization-uri}") - private String authorizationUri; - - @Value("${spring.security.oauth2.client.registration.github.redirect-uri}") - private String redirectUri; - - private final GitHubService githubService; - - public GitHubController(GitHubService githubService) { - this.githubService = githubService; - } - - @GetMapping("/authorize") - public RedirectView authorizeGithub() { - logger.info("Redirecting to GitHub for authorization"); - - String authUrl = authorizationUri + - "?client_id=" + clientId + - "&redirect_uri=" + redirectUri + - "&scope=user:email,read:user"; - - return new RedirectView(authUrl); - } - - - @PostMapping("/callback") - public ResponseEntity githubCallback(@RequestBody GithubCallbackDto githubCallbackDto) { - String code = githubCallbackDto.getCode(); - AuthResponseDto response = githubService.processGithubCode(code); - return ResponseEntity.ok(response); - } -} diff --git a/backend/src/main/java/de/szut/casino/security/oauth2/github/GitHubOAuth2UserInfo.java b/backend/src/main/java/de/szut/casino/security/oauth2/github/GitHubOAuth2UserInfo.java deleted file mode 100644 index c764fc7..0000000 --- a/backend/src/main/java/de/szut/casino/security/oauth2/github/GitHubOAuth2UserInfo.java +++ /dev/null @@ -1,27 +0,0 @@ -package de.szut.casino.security.oauth2.github; - -import de.szut.casino.security.oauth2.OAuth2UserInfo; - -import java.util.Map; - -public class GitHubOAuth2UserInfo extends OAuth2UserInfo { - - public GitHubOAuth2UserInfo(Map attributes) { - super(attributes); - } - - @Override - public String getId() { - return ((Integer) attributes.get("id")).toString(); - } - - @Override - public String getName() { - return (String) attributes.get("name"); - } - - @Override - public String getEmail() { - return (String) attributes.get("email"); - } -} diff --git a/backend/src/main/java/de/szut/casino/security/oauth2/github/GitHubService.java b/backend/src/main/java/de/szut/casino/security/oauth2/github/GitHubService.java deleted file mode 100644 index 3c7d22f..0000000 --- a/backend/src/main/java/de/szut/casino/security/oauth2/github/GitHubService.java +++ /dev/null @@ -1,162 +0,0 @@ -package de.szut.casino.security.oauth2.github; - -import de.szut.casino.security.dto.AuthResponseDto; -import de.szut.casino.security.jwt.JwtUtils; -import de.szut.casino.user.AuthProvider; -import de.szut.casino.user.UserEntity; -import de.szut.casino.user.UserRepository; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.http.HttpEntity; -import org.springframework.http.HttpHeaders; -import org.springframework.http.HttpMethod; -import org.springframework.http.ResponseEntity; -import org.springframework.security.authentication.AuthenticationManager; -import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; -import org.springframework.security.core.Authentication; -import org.springframework.security.crypto.password.PasswordEncoder; -import org.springframework.stereotype.Service; -import org.springframework.web.client.RestTemplate; - -import java.math.BigDecimal; -import java.util.*; - -@Service -public class GitHubService { - @Value("${spring.security.oauth2.client.registration.github.client-id}") - private String clientId; - - @Value("${spring.security.oauth2.client.registration.github.client-secret}") - private String clientSecret; - - private final AuthenticationManager authenticationManager; - private final UserRepository userRepository; - private final JwtUtils jwtUtils; - private final PasswordEncoder oauth2PasswordEncoder; - - public GitHubService(AuthenticationManager authenticationManager, UserRepository userRepository, JwtUtils jwtUtils, PasswordEncoder oauth2PasswordEncoder) { - this.authenticationManager = authenticationManager; - this.userRepository = userRepository; - this.jwtUtils = jwtUtils; - this.oauth2PasswordEncoder = oauth2PasswordEncoder; - } - - public AuthResponseDto processGithubCode(String code) { - try { - RestTemplate restTemplate = new RestTemplate(); - - Map requestBody = new HashMap<>(); - requestBody.put("client_id", clientId); - requestBody.put("client_secret", clientSecret); - requestBody.put("code", code); - - HttpHeaders headers = new HttpHeaders(); - headers.set("Accept", "application/json"); - - HttpEntity> requestEntity = new HttpEntity<>(requestBody, headers); - - ResponseEntity response = restTemplate.exchange( - "https://github.com/login/oauth/access_token", - HttpMethod.POST, - requestEntity, - Map.class - ); - - Map responseBody = response.getBody(); - - if (responseBody.containsKey("error")) { - String error = (String) responseBody.get("error"); - String errorDescription = (String) responseBody.get("error_description"); - - throw new RuntimeException("GitHub OAuth error: " + errorDescription); - } - - String accessToken = (String) responseBody.get("access_token"); - if (accessToken == null || accessToken.isEmpty()) { - - throw new RuntimeException("Failed to receive access token from GitHub"); - } - - HttpHeaders userInfoHeaders = new HttpHeaders(); - userInfoHeaders.set("Authorization", "Bearer " + accessToken); - - HttpEntity userInfoRequestEntity = new HttpEntity<>(null, userInfoHeaders); - - ResponseEntity userResponse = restTemplate.exchange( - "https://api.github.com/user", - HttpMethod.GET, - userInfoRequestEntity, - Map.class - ); - - Map userAttributes = userResponse.getBody(); - - HttpHeaders emailsHeaders = new HttpHeaders(); - emailsHeaders.set("Authorization", "Bearer " + accessToken); - - HttpEntity emailsRequestEntity = new HttpEntity<>(null, emailsHeaders); - - ResponseEntity emailsResponse = restTemplate.exchange( - "https://api.github.com/user/emails", - HttpMethod.GET, - emailsRequestEntity, - List.class - ); - - List> emails = emailsResponse.getBody(); - String email = null; - - for (Map emailInfo : emails) { - Boolean primary = (Boolean) emailInfo.get("primary"); - if (primary != null && primary) { - email = (String) emailInfo.get("email"); - break; - } - } - - if (email == null && !emails.isEmpty()) { - email = (String) emails.get(0).get("email"); - } - - String githubId = userAttributes.get("id").toString(); - String username = (String) userAttributes.get("login"); - - Optional userOptional = userRepository.findByProviderId(githubId); - UserEntity user; - - if (userOptional.isPresent()) { - user = userOptional.get(); - } else { - userOptional = userRepository.findByEmail(email); - - if (userOptional.isPresent()) { - user = userOptional.get(); - user.setProvider(AuthProvider.GITHUB); - user.setProviderId(githubId); - } else { - user = new UserEntity(); - user.setEmail(email); - user.setUsername(username); - user.setProvider(AuthProvider.GITHUB); - user.setProviderId(githubId); - user.setEmailVerified(true); - - user.setBalance(new BigDecimal("1000.00")); - } - } - - String randomPassword = UUID.randomUUID().toString(); - user.setPassword(oauth2PasswordEncoder.encode(randomPassword)); - - userRepository.save(user); - - Authentication authentication = this.authenticationManager.authenticate(new UsernamePasswordAuthenticationToken(user.getEmail(), randomPassword)); - - String token = jwtUtils.generateToken(authentication); - - return new AuthResponseDto(token); - - } catch (Exception e) { - throw new RuntimeException("Failed to process GitHub authentication", e); - } - } -} diff --git a/backend/src/main/java/de/szut/casino/security/oauth2/github/GithubCallbackDto.java b/backend/src/main/java/de/szut/casino/security/oauth2/github/GithubCallbackDto.java deleted file mode 100644 index 620a708..0000000 --- a/backend/src/main/java/de/szut/casino/security/oauth2/github/GithubCallbackDto.java +++ /dev/null @@ -1,8 +0,0 @@ -package de.szut.casino.security.oauth2.github; - -import lombok.Data; - -@Data -public class GithubCallbackDto { - private String code; -} diff --git a/backend/src/main/java/de/szut/casino/security/oauth2/google/GoogleController.java b/backend/src/main/java/de/szut/casino/security/oauth2/google/GoogleController.java deleted file mode 100644 index 9a50f65..0000000 --- a/backend/src/main/java/de/szut/casino/security/oauth2/google/GoogleController.java +++ /dev/null @@ -1,51 +0,0 @@ -package de.szut.casino.security.oauth2.google; - -import de.szut.casino.security.dto.AuthResponseDto; -import de.szut.casino.security.oauth2.github.GithubCallbackDto; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.servlet.view.RedirectView; - -@RestController -@RequestMapping("/oauth2/google") -public class GoogleController { - private static final Logger logger = LoggerFactory.getLogger(GoogleController.class); - - @Value("${spring.security.oauth2.client.registration.google.client-id}") - private String clientId; - - @Value("${spring.security.oauth2.client.provider.google.authorization-uri}") - private String authorizationUri; - - @Value("${spring.security.oauth2.client.registration.google.redirect-uri}") - private String redirectUri; - - private final GoogleService googleService; - - public GoogleController(GoogleService googleService) { - this.googleService = googleService; - } - - @GetMapping("/authorize") - public RedirectView authorizeGoogle() { - logger.info("Redirecting to Google for authorization"); - - String authUrl = authorizationUri + - "?client_id=" + clientId + - "&redirect_uri=" + redirectUri + - "&response_type=code" + - "&scope=email profile"; - - return new RedirectView(authUrl); - } - - @PostMapping("/callback") - public ResponseEntity googleCallback(@RequestBody GithubCallbackDto callbackDto) { - String code = callbackDto.getCode(); - AuthResponseDto response = googleService.processGoogleCode(code); - return ResponseEntity.ok(response); - } -} diff --git a/backend/src/main/java/de/szut/casino/security/oauth2/google/GoogleOAuth2UserInfo.java b/backend/src/main/java/de/szut/casino/security/oauth2/google/GoogleOAuth2UserInfo.java deleted file mode 100644 index 819a9b3..0000000 --- a/backend/src/main/java/de/szut/casino/security/oauth2/google/GoogleOAuth2UserInfo.java +++ /dev/null @@ -1,27 +0,0 @@ -package de.szut.casino.security.oauth2.google; - -import de.szut.casino.security.oauth2.OAuth2UserInfo; - -import java.util.Map; - -public class GoogleOAuth2UserInfo extends OAuth2UserInfo { - - public GoogleOAuth2UserInfo(Map attributes) { - super(attributes); - } - - @Override - public String getId() { - return (String) attributes.get("sub"); - } - - @Override - public String getName() { - return (String) attributes.get("name"); - } - - @Override - public String getEmail() { - return (String) attributes.get("email"); - } -} diff --git a/backend/src/main/java/de/szut/casino/security/oauth2/google/GoogleService.java b/backend/src/main/java/de/szut/casino/security/oauth2/google/GoogleService.java deleted file mode 100644 index f369052..0000000 --- a/backend/src/main/java/de/szut/casino/security/oauth2/google/GoogleService.java +++ /dev/null @@ -1,165 +0,0 @@ -package de.szut.casino.security.oauth2.google; - -import de.szut.casino.security.dto.AuthResponseDto; -import de.szut.casino.security.jwt.JwtUtils; -import de.szut.casino.user.AuthProvider; -import de.szut.casino.user.UserEntity; -import de.szut.casino.user.UserRepository; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.http.HttpEntity; -import org.springframework.http.HttpHeaders; -import org.springframework.http.HttpMethod; -import org.springframework.http.ResponseEntity; -import org.springframework.security.authentication.AuthenticationManager; -import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; -import org.springframework.security.core.Authentication; -import org.springframework.security.crypto.password.PasswordEncoder; -import org.springframework.stereotype.Service; -import org.springframework.util.LinkedMultiValueMap; -import org.springframework.util.MultiValueMap; -import org.springframework.web.client.RestTemplate; - -import java.math.BigDecimal; -import java.util.Map; -import java.util.Optional; -import java.util.UUID; - -@Service -public class GoogleService { - private static final Logger logger = LoggerFactory.getLogger(GoogleService.class); - - @Value("${spring.security.oauth2.client.registration.google.client-id}") - private String clientId; - - @Value("${spring.security.oauth2.client.registration.google.client-secret}") - private String clientSecret; - - @Value("${spring.security.oauth2.client.registration.google.redirect-uri}") - private String redirectUri; - - @Value("${spring.security.oauth2.client.provider.google.token-uri}") - private String tokenUri; - - @Value("${spring.security.oauth2.client.provider.google.user-info-uri}") - private String userInfoUri; - - private final AuthenticationManager authenticationManager; - private final UserRepository userRepository; - private final JwtUtils jwtUtils; - private final PasswordEncoder oauth2PasswordEncoder; - - public GoogleService(AuthenticationManager authenticationManager, UserRepository userRepository, JwtUtils jwtUtils, PasswordEncoder oauth2PasswordEncoder) { - this.authenticationManager = authenticationManager; - this.userRepository = userRepository; - this.jwtUtils = jwtUtils; - this.oauth2PasswordEncoder = oauth2PasswordEncoder; - } - - public AuthResponseDto processGoogleCode(String code) { - try { - RestTemplate restTemplate = new RestTemplate(); - - HttpHeaders tokenHeaders = new HttpHeaders(); - tokenHeaders.set("Content-Type", "application/x-www-form-urlencoded"); - - MultiValueMap tokenRequestBody = new LinkedMultiValueMap<>(); - tokenRequestBody.add("client_id", clientId); - tokenRequestBody.add("client_secret", clientSecret); - tokenRequestBody.add("code", code); - tokenRequestBody.add("redirect_uri", redirectUri); - tokenRequestBody.add("grant_type", "authorization_code"); - - HttpEntity> tokenRequestEntity = new HttpEntity<>(tokenRequestBody, tokenHeaders); - - ResponseEntity tokenResponse = restTemplate.exchange( - tokenUri, - HttpMethod.POST, - tokenRequestEntity, - Map.class - ); - - Map tokenResponseBody = tokenResponse.getBody(); - - if (tokenResponseBody == null || tokenResponseBody.containsKey("error")) { - String error = tokenResponseBody != null ? (String) tokenResponseBody.get("error") : "Unknown error"; - throw new RuntimeException("Google OAuth error: " + error); - } - - String accessToken = (String) tokenResponseBody.get("access_token"); - if (accessToken == null || accessToken.isEmpty()) { - throw new RuntimeException("Failed to receive access token from Google"); - } - - HttpHeaders userInfoHeaders = new HttpHeaders(); - userInfoHeaders.set("Authorization", "Bearer " + accessToken); - - HttpEntity userInfoRequestEntity = new HttpEntity<>(null, userInfoHeaders); - - ResponseEntity userResponse = restTemplate.exchange( - userInfoUri, - HttpMethod.GET, - userInfoRequestEntity, - Map.class - ); - - Map userAttributes = userResponse.getBody(); - if (userAttributes == null) { - throw new RuntimeException("Failed to fetch user data from Google"); - } - - String googleId = (String) userAttributes.get("sub"); - String email = (String) userAttributes.get("email"); - String name = (String) userAttributes.get("name"); - Boolean emailVerified = (Boolean) userAttributes.getOrDefault("email_verified", false); - - if (email == null) { - throw new RuntimeException("Google account does not have an email"); - } - - String username = name != null ? name.replaceAll("\\s+", "") : email.split("@")[0]; - - Optional userOptional = userRepository.findByProviderId(googleId); - UserEntity user; - - if (userOptional.isPresent()) { - user = userOptional.get(); - } else { - userOptional = userRepository.findByEmail(email); - - if (userOptional.isPresent()) { - user = userOptional.get(); - user.setProvider(AuthProvider.GOOGLE); - user.setProviderId(googleId); - } else { - user = new UserEntity(); - user.setEmail(email); - user.setUsername(username); - user.setProvider(AuthProvider.GOOGLE); - user.setProviderId(googleId); - user.setEmailVerified(emailVerified); - - user.setBalance(new BigDecimal("100.00")); - } - } - - String randomPassword = UUID.randomUUID().toString(); - user.setPassword(oauth2PasswordEncoder.encode(randomPassword)); - - userRepository.save(user); - - Authentication authentication = authenticationManager.authenticate( - new UsernamePasswordAuthenticationToken(user.getEmail(), randomPassword) - ); - - String token = jwtUtils.generateToken(authentication); - - return new AuthResponseDto(token); - - } catch (Exception e) { - logger.error("Failed to process Google authentication", e); - throw new RuntimeException("Failed to process Google authentication", e); - } - } -} diff --git a/backend/src/main/java/de/szut/casino/security/service/AuthService.java b/backend/src/main/java/de/szut/casino/security/service/AuthService.java deleted file mode 100644 index 734cf9f..0000000 --- a/backend/src/main/java/de/szut/casino/security/service/AuthService.java +++ /dev/null @@ -1,108 +0,0 @@ -package de.szut.casino.security.service; - -import de.szut.casino.exceptionHandling.exceptions.EmailNotVerifiedException; -import de.szut.casino.security.dto.AuthResponseDto; -import de.szut.casino.security.dto.LoginRequestDto; -import de.szut.casino.security.dto.ResetPasswordDto; -import de.szut.casino.security.jwt.JwtUtils; -import de.szut.casino.user.UserEntity; -import de.szut.casino.user.UserService; -import de.szut.casino.user.dto.CreateUserDto; -import de.szut.casino.user.dto.GetUserDto; -import jakarta.mail.MessagingException; -import org.apache.commons.lang3.RandomStringUtils; -import org.springframework.security.authentication.AuthenticationManager; -import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; -import org.springframework.security.core.Authentication; -import org.springframework.security.core.context.SecurityContextHolder; -import org.springframework.security.crypto.password.PasswordEncoder; -import org.springframework.stereotype.Service; - -import java.io.IOException; -import java.util.Optional; - -@Service -public class AuthService { - - private final AuthenticationManager authenticationManager; - private final JwtUtils jwtUtils; - private final UserService userService; - private final EmailService emailService; - private final PasswordEncoder passwordEncoder; - - public AuthService(AuthenticationManager authenticationManager, JwtUtils jwtUtils, UserService userService, EmailService emailService, PasswordEncoder passwordEncoder) { - this.authenticationManager = authenticationManager; - this.jwtUtils = jwtUtils; - this.userService = userService; - this.emailService = emailService; - this.passwordEncoder = passwordEncoder; - } - - public AuthResponseDto login(LoginRequestDto loginRequest) throws EmailNotVerifiedException { - if (!userService.isVerified(loginRequest.getUsernameOrEmail())) { - throw new EmailNotVerifiedException(); - } - - Authentication authentication = authenticationManager.authenticate( - new UsernamePasswordAuthenticationToken( - loginRequest.getUsernameOrEmail(), - loginRequest.getPassword())); - - SecurityContextHolder.getContext().setAuthentication(authentication); - String jwt = jwtUtils.generateToken(authentication); - - return new AuthResponseDto(jwt); - } - - public GetUserDto register(CreateUserDto signUpRequest) throws MessagingException, IOException { - UserEntity user = userService.createUser(signUpRequest); - - this.emailService.sendEmailVerificationEmail(user); - - return new GetUserDto( - user.getId(), - user.getEmail(), - user.getUsername(), - user.getBalance() - ); - } - - public Boolean verifyEmail(String token) throws MessagingException, IOException { - Optional optionalUser = userService.getUserByVerificationToken(token); - - if (!optionalUser.isPresent()) { - return false; - } - - UserEntity user = optionalUser.get(); - - user.setEmailVerified(true); - user.setVerificationToken(null); - userService.saveUser(user); - this.emailService.sendWelcomeEmail(user); - - return true; - } - - public void recoverPassword(String email) throws MessagingException, IOException { - Optional optionalUser = userService.getUserByEmail(email); - - if (optionalUser.isPresent()) { - UserEntity user = optionalUser.get(); - user.setPasswordResetToken(RandomStringUtils.randomAlphanumeric(64)); - userService.saveUser(user); - this.emailService.sendPasswordRecoveryEmail(user); - } - } - - public void resetPassword(ResetPasswordDto passwordDto) { - Optional optionalUser = userService.getUserByPasswordResetToken(passwordDto.getToken()); - - if (optionalUser.isPresent()) { - UserEntity user = optionalUser.get(); - user.setPassword(passwordEncoder.encode(passwordDto.getPassword())); - user.setPasswordResetToken(null); - userService.saveUser(user); - } - } -} diff --git a/backend/src/main/java/de/szut/casino/security/service/EmailService.java b/backend/src/main/java/de/szut/casino/security/service/EmailService.java deleted file mode 100644 index 83d65e0..0000000 --- a/backend/src/main/java/de/szut/casino/security/service/EmailService.java +++ /dev/null @@ -1,115 +0,0 @@ -package de.szut.casino.security.service; - -import de.szut.casino.deposit.TransactionEntity; -import de.szut.casino.user.UserEntity; -import jakarta.mail.MessagingException; -import jakarta.mail.internet.MimeMessage; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.core.io.ClassPathResource; -import org.springframework.mail.javamail.JavaMailSenderImpl; -import org.springframework.mail.javamail.MimeMessageHelper; -import org.springframework.stereotype.Service; -import org.springframework.util.FileCopyUtils; - -import java.io.IOException; -import java.io.InputStreamReader; -import java.io.Reader; -import java.nio.charset.StandardCharsets; - -@Service -public class EmailService { - private JavaMailSenderImpl mailSender; - private MailConfig mailConfig; - @Value("${app.frontend-host}") - private String feUrl; - - public EmailService(JavaMailSenderImpl mailSender, MailConfig mailConfig) { - this.mailSender = mailSender; - this.mailConfig = mailConfig; - this.mailSender.setHost(mailConfig.host); - this.mailSender.setPort(mailConfig.port); - this.mailSender.setProtocol(mailConfig.protocol); - if (mailConfig.authenticationEnabled) { - this.mailSender.setUsername(mailConfig.username); - this.mailSender.setPassword(mailConfig.password); - } - } - - public void sendEmailVerificationEmail(UserEntity user) throws IOException, MessagingException { - String template = loadTemplate("email/verify.html"); - String htmlContent = template - .replace("${username}", user.getUsername()) - .replace("${feUrl}", feUrl) - .replace("${token}", user.getVerificationToken()); - - MimeMessage message = mailSender.createMimeMessage(); - MimeMessageHelper helper = new MimeMessageHelper(message, true, "UTF-8"); - - helper.setFrom(mailConfig.fromAddress); - helper.setTo(user.getEmailAddress()); - helper.setSubject("E-Mail Bestätigung"); - helper.setText(htmlContent, true); - - mailSender.send(message); - } - - public void sendWelcomeEmail(UserEntity user) throws IOException, MessagingException { - String template = loadTemplate("email/welcome.html"); - String htmlContent = template - .replace("${username}", user.getUsername()) - .replace("${feUrl}", feUrl); - - MimeMessage message = mailSender.createMimeMessage(); - MimeMessageHelper helper = new MimeMessageHelper(message, true, "UTF-8"); - - helper.setFrom(mailConfig.fromAddress); - helper.setTo(user.getEmailAddress()); - helper.setSubject("Willkommen bei Trustworthy Casino©"); - helper.setText(htmlContent, true); - - mailSender.send(message); - } - - public void sendDepositEmail(TransactionEntity transaction) throws IOException, MessagingException { - String template = loadTemplate("email/deposit.html"); - String htmlContent = template - .replace("${username}", transaction.getUser().getUsername()) - .replace("${amount}", String.valueOf(transaction.getAmount())) - .replace("${feUrl}", feUrl); - - MimeMessage message = mailSender.createMimeMessage(); - MimeMessageHelper helper = new MimeMessageHelper(message, true, "UTF-8"); - - helper.setFrom(mailConfig.fromAddress); - helper.setTo(transaction.getUser().getEmailAddress()); - helper.setSubject("Einzahlung über ${amount}€ Erfolgreich".replace("${amount}", String.valueOf(transaction.getAmount()))); - helper.setText(htmlContent, true); - - mailSender.send(message); - } - - public void sendPasswordRecoveryEmail(UserEntity user) throws IOException, MessagingException { - String template = loadTemplate("email/recover-password.html"); - String htmlContent = template - .replace("${username}", user.getUsername()) - .replace("${resetToken}", user.getPasswordResetToken()) - .replace("${feUrl}", feUrl); - - MimeMessage message = mailSender.createMimeMessage(); - MimeMessageHelper helper = new MimeMessageHelper(message, true, "UTF-8"); - - helper.setFrom(mailConfig.fromAddress); - helper.setTo(user.getEmailAddress()); - helper.setSubject("Zurücksetzen ihres Passworts"); - helper.setText(htmlContent, true); - - mailSender.send(message); - } - - private String loadTemplate(String templatePath) throws IOException { - ClassPathResource resource = new ClassPathResource("templates/" + templatePath); - try (Reader reader = new InputStreamReader(resource.getInputStream(), StandardCharsets.UTF_8)) { - return FileCopyUtils.copyToString(reader); - } - } -} diff --git a/backend/src/main/java/de/szut/casino/security/service/MailConfig.java b/backend/src/main/java/de/szut/casino/security/service/MailConfig.java deleted file mode 100644 index 8a516fd..0000000 --- a/backend/src/main/java/de/szut/casino/security/service/MailConfig.java +++ /dev/null @@ -1,28 +0,0 @@ -package de.szut.casino.security.service; - -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Service; - -@Service -public class MailConfig { - @Value("${app.mail.host}") - public String host; - - @Value("${app.mail.port}") - public Integer port; - - @Value("${app.mail.authentication}") - public Boolean authenticationEnabled; - - @Value("${app.mail.username}") - public String username; - - @Value("${app.mail.password}") - public String password; - - @Value("${app.mail.from-address}") - public String fromAddress; - - @Value("${app.mail.protocol}") - public String protocol; -} diff --git a/backend/src/main/java/de/szut/casino/security/service/UserDetailsServiceImpl.java b/backend/src/main/java/de/szut/casino/security/service/UserDetailsServiceImpl.java deleted file mode 100644 index 2b710fc..0000000 --- a/backend/src/main/java/de/szut/casino/security/service/UserDetailsServiceImpl.java +++ /dev/null @@ -1,38 +0,0 @@ -package de.szut.casino.security.service; - -import de.szut.casino.user.UserEntity; -import de.szut.casino.user.UserRepository; -import org.springframework.security.core.userdetails.UserDetails; -import org.springframework.security.core.userdetails.UserDetailsService; -import org.springframework.security.core.userdetails.UsernameNotFoundException; -import org.springframework.stereotype.Service; - -import java.util.ArrayList; -import java.util.Optional; - -@Service -public class UserDetailsServiceImpl implements UserDetailsService { - - private final UserRepository userRepository; - - public UserDetailsServiceImpl(UserRepository userRepository) { - this.userRepository = userRepository; - } - - @Override - public UserDetails loadUserByUsername(String usernameOrEmail) throws UsernameNotFoundException { - Optional user = userRepository.findByUsername(usernameOrEmail); - - if (user.isEmpty()) { - user = userRepository.findByEmail(usernameOrEmail); - } - - UserEntity userEntity = user.orElseThrow(() -> - new UsernameNotFoundException("User not found with username or email: " + usernameOrEmail)); - - return new org.springframework.security.core.userdetails.User( - userEntity.getUsername(), - userEntity.getPassword(), - new ArrayList<>()); - } -} diff --git a/backend/src/main/java/de/szut/casino/shared/dto/BetDto.java b/backend/src/main/java/de/szut/casino/shared/dto/BetDto.java deleted file mode 100644 index cc00c2a..0000000 --- a/backend/src/main/java/de/szut/casino/shared/dto/BetDto.java +++ /dev/null @@ -1,20 +0,0 @@ -package de.szut.casino.shared.dto; - -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Positive; -import lombok.AllArgsConstructor; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import java.math.BigDecimal; - -@Getter -@Setter -@AllArgsConstructor -@NoArgsConstructor -public class BetDto { - @NotNull(message = "Bet amount cannot be null") - @Positive(message = "Bet amount must be positive") - private BigDecimal betAmount; -} diff --git a/backend/src/main/java/de/szut/casino/shared/service/BalanceService.java b/backend/src/main/java/de/szut/casino/shared/service/BalanceService.java deleted file mode 100644 index 048840b..0000000 --- a/backend/src/main/java/de/szut/casino/shared/service/BalanceService.java +++ /dev/null @@ -1,36 +0,0 @@ -package de.szut.casino.shared.service; - -import de.szut.casino.shared.dto.BetDto; -import de.szut.casino.user.UserEntity; -import de.szut.casino.user.UserRepository; -import org.springframework.stereotype.Service; - -import java.math.BigDecimal; - -@Service -public class BalanceService { - private final UserRepository userRepository; - - public BalanceService(UserRepository userRepository) { - this.userRepository = userRepository; - } - - public boolean hasFunds(UserEntity user, BetDto betDto) { - BigDecimal balance = user.getBalance(); - BigDecimal betAmount = betDto.getBetAmount(); - - return betAmount.compareTo(balance) <= 0; - } - - public void addFunds(UserEntity user, BigDecimal amount) { - user.addBalance(amount); - - this.userRepository.save(user); - } - - public void subtractFunds(UserEntity user, BigDecimal amount) { - user.subtractBalance(amount); - - this.userRepository.save(user); - } -} diff --git a/backend/src/main/java/de/szut/casino/slots/SlotController.java b/backend/src/main/java/de/szut/casino/slots/SlotController.java deleted file mode 100644 index ff29d3d..0000000 --- a/backend/src/main/java/de/szut/casino/slots/SlotController.java +++ /dev/null @@ -1,59 +0,0 @@ -package de.szut.casino.slots; - -import de.szut.casino.exceptionHandling.exceptions.InsufficientFundsException; -import de.szut.casino.exceptionHandling.exceptions.UserNotFoundException; -import de.szut.casino.shared.dto.BetDto; -import de.szut.casino.shared.service.BalanceService; -import de.szut.casino.user.UserEntity; -import de.szut.casino.user.UserService; -import jakarta.validation.Valid; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RestController; - -import java.math.BigDecimal; -import java.util.HashMap; -import java.util.Map; -import java.util.Optional; - -@RestController -public class SlotController { - private final UserService userService; - private final BalanceService balanceService; - private final SlotService slotService; - - public SlotController(UserService userService, BalanceService balanceService, SlotService slotService) { - this.userService = userService; - this.balanceService = balanceService; - this.slotService = slotService; - } - - @PostMapping("/slots/spin") - public ResponseEntity spinSlots(@RequestBody @Valid BetDto betDto) { - UserEntity user = userService.getCurrentUser(); - - if (!this.balanceService.hasFunds(user, betDto)) { - throw new InsufficientFundsException(); - } - - SpinResult spinResult = this.slotService.spin( - betDto.getBetAmount(), - user - ); - - return ResponseEntity.ok(spinResult); - } - - @GetMapping("/slots/info") - public ResponseEntity spinSlots() { - Map info = new HashMap<>(); - - for (Symbol symbol : Symbol.values()) { - info.put(symbol.getDisplayName(), symbol.getPayoutMultiplier()); - } - - return ResponseEntity.ok(info); - } -} diff --git a/backend/src/main/java/de/szut/casino/slots/SlotService.java b/backend/src/main/java/de/szut/casino/slots/SlotService.java deleted file mode 100644 index 7905636..0000000 --- a/backend/src/main/java/de/szut/casino/slots/SlotService.java +++ /dev/null @@ -1,137 +0,0 @@ -package de.szut.casino.slots; - -import de.szut.casino.shared.service.BalanceService; -import de.szut.casino.user.UserEntity; -import org.springframework.stereotype.Service; - -import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.Random; - -import static de.szut.casino.slots.Symbol.*; - -@Service -public class SlotService { - private final int REEL_LENGTH = 32; - - private final List firstReel; - private final List secondReel; - private final List thirdReel; - - private final Random random; - private final BalanceService balanceService; - - public SlotService(BalanceService balanceService) { - this.random = new Random(); - this.balanceService = balanceService; - - List reelStrip = createReelStrip(); - this.firstReel = shuffleReel(reelStrip); - this.secondReel = shuffleReel(reelStrip); - this.thirdReel = shuffleReel(reelStrip); - } - - public SpinResult spin(BigDecimal betAmount, UserEntity user) { - int index1 = this.random.nextInt(REEL_LENGTH); - int index2 = this.random.nextInt(REEL_LENGTH); - int index3 = this.random.nextInt(REEL_LENGTH); - - Symbol symbol1 = getSymbolAt(this.firstReel, index1); - Symbol symbol2 = getSymbolAt(this.secondReel, index2); - Symbol symbol3 = getSymbolAt(this.thirdReel, index3); - - Status status = determineStatus(symbol1, symbol2, symbol3); - - SpinResult spinResult = processResult(betAmount, user, status, symbol1); - buildResultMatrix(spinResult, index1, index2, index3); - - return spinResult; - } - - private SpinResult processResult(BigDecimal betAmount, UserEntity user, Status status, Symbol winSymbol) { - SpinResult spinResult = new SpinResult(); - spinResult.setStatus(status.name().toLowerCase()); - - this.balanceService.subtractFunds(user, betAmount); - - if (status == Status.WIN) { - BigDecimal winAmount = betAmount.multiply(winSymbol.getPayoutMultiplier()); - this.balanceService.addFunds(user, winAmount); - spinResult.setAmount(winAmount); - } else { - spinResult.setAmount(betAmount); - } - - return spinResult; - } - - private void buildResultMatrix(SpinResult spinResult, int index1, int index2, int index3) { - List> resultMatrix = new ArrayList<>(3); - - for (int i = 0; i < 3; i++) { - resultMatrix.add(new ArrayList<>(3)); - } - - resultMatrix.getFirst().add(getSymbolAt(this.firstReel, index1 - 1)); - resultMatrix.getFirst().add(getSymbolAt(this.secondReel, index2 - 1)); - resultMatrix.getFirst().add(getSymbolAt(this.thirdReel, index3 - 1)); - - resultMatrix.get(1).add(getSymbolAt(this.firstReel, index1)); - resultMatrix.get(1).add(getSymbolAt(this.secondReel, index2)); - resultMatrix.get(1).add(getSymbolAt(this.thirdReel, index3)); - - resultMatrix.getLast().add(getSymbolAt(this.firstReel, index1 + 1)); - resultMatrix.getLast().add(getSymbolAt(this.secondReel, index2 + 1)); - resultMatrix.getLast().add(getSymbolAt(this.thirdReel, index3 + 1)); - - spinResult.setResultMatrix(resultMatrix); - } - - private List shuffleReel(List reelStrip) { - Collections.shuffle(reelStrip, this.random); - - return reelStrip; - } - - private List createReelStrip() { - List reelStrip = new ArrayList<>(REEL_LENGTH); - addSymbolsToStrip(reelStrip, CHERRY, CHERRY.getCountPerStrip()); - addSymbolsToStrip(reelStrip, BELL, BELL.getCountPerStrip()); - addSymbolsToStrip(reelStrip, BAR, BAR.getCountPerStrip()); - addSymbolsToStrip(reelStrip, SEVEN, SEVEN.getCountPerStrip()); - addSymbolsToStrip(reelStrip, BLANK, BLANK.getCountPerStrip()); - return reelStrip; - } - - private void addSymbolsToStrip(List strip, Symbol symbol, int count) { - for (int i = 0; i < count; i++) { - strip.add(symbol); - } - } - - private Symbol getSymbolAt(List reel, int index) { - int effectiveIndex = index % REEL_LENGTH; - - if (effectiveIndex < 0) { - effectiveIndex += REEL_LENGTH; - } - - return reel.get(effectiveIndex); - } - - private Status determineStatus(Symbol symbol1, Symbol symbol2, Symbol symbol3) { - boolean allSymbolsMatch = symbol1.equals(symbol2) && symbol1.equals(symbol3); - - if (allSymbolsMatch) { - if (symbol1 == Symbol.BLANK) { - return Status.BLANK; - } else { - return Status.WIN; - } - } - - return Status.LOSE; - } -} diff --git a/backend/src/main/java/de/szut/casino/slots/SpinResult.java b/backend/src/main/java/de/szut/casino/slots/SpinResult.java deleted file mode 100644 index 0bfb317..0000000 --- a/backend/src/main/java/de/szut/casino/slots/SpinResult.java +++ /dev/null @@ -1,17 +0,0 @@ -package de.szut.casino.slots; - -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import java.math.BigDecimal; -import java.util.List; - -@Getter -@Setter -@NoArgsConstructor -public class SpinResult { - private String status; - private BigDecimal amount; - private List> resultMatrix; -} diff --git a/backend/src/main/java/de/szut/casino/slots/Status.java b/backend/src/main/java/de/szut/casino/slots/Status.java deleted file mode 100644 index c53611f..0000000 --- a/backend/src/main/java/de/szut/casino/slots/Status.java +++ /dev/null @@ -1,7 +0,0 @@ -package de.szut.casino.slots; - -public enum Status { - WIN, - LOSE, - BLANK -} diff --git a/backend/src/main/java/de/szut/casino/slots/Symbol.java b/backend/src/main/java/de/szut/casino/slots/Symbol.java deleted file mode 100644 index 3cf0f72..0000000 --- a/backend/src/main/java/de/szut/casino/slots/Symbol.java +++ /dev/null @@ -1,24 +0,0 @@ -package de.szut.casino.slots; - -import lombok.Getter; - -import java.math.BigDecimal; - -@Getter -public enum Symbol { - SEVEN("seven", new BigDecimal("1000"), 1), - BAR("bar", new BigDecimal("85"), 4), - BELL("bell", new BigDecimal("40"), 7), - CHERRY("cherry", new BigDecimal("10"), 10), - BLANK("blank", new BigDecimal("0"), 10); - - private final String displayName; - private final BigDecimal payoutMultiplier; - private final int countPerStrip; - - Symbol(String displayName, BigDecimal payoutMultiplier, int count) { - this.displayName = displayName; - this.payoutMultiplier = payoutMultiplier; - this.countPerStrip = count; - } -} diff --git a/backend/src/main/java/de/szut/casino/user/AuthProvider.java b/backend/src/main/java/de/szut/casino/user/AuthProvider.java deleted file mode 100644 index c26b45c..0000000 --- a/backend/src/main/java/de/szut/casino/user/AuthProvider.java +++ /dev/null @@ -1,7 +0,0 @@ -package de.szut.casino.user; - -public enum AuthProvider { - LOCAL, - GITHUB, - GOOGLE -} diff --git a/backend/src/main/java/de/szut/casino/user/UserController.java b/backend/src/main/java/de/szut/casino/user/UserController.java deleted file mode 100644 index f08721d..0000000 --- a/backend/src/main/java/de/szut/casino/user/UserController.java +++ /dev/null @@ -1,30 +0,0 @@ -package de.szut.casino.user; - -import de.szut.casino.user.dto.GetUserDto; -import lombok.extern.slf4j.Slf4j; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.CrossOrigin; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -@Slf4j -@RestController -@CrossOrigin -@RequestMapping("/users") -public class UserController { - - private final UserService userService; - - private final UserMappingService userMappingService; - - public UserController(UserService userService, UserMappingService userMappingService) { - this.userService = userService; - this.userMappingService = userMappingService; - } - - @GetMapping("/me") - public ResponseEntity getCurrentUser() { - return ResponseEntity.ok(userMappingService.mapToGetUserDto(userService.getCurrentUser())); - } -} diff --git a/backend/src/main/java/de/szut/casino/user/UserEntity.java b/backend/src/main/java/de/szut/casino/user/UserEntity.java deleted file mode 100644 index 534859f..0000000 --- a/backend/src/main/java/de/szut/casino/user/UserEntity.java +++ /dev/null @@ -1,92 +0,0 @@ -package de.szut.casino.user; - -import jakarta.persistence.*; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import java.math.BigDecimal; - -@Setter -@Getter -@Entity -@NoArgsConstructor -public class UserEntity { - @Id - @GeneratedValue - private Long id; - - @Version - private Long version; - - @Column(unique = true) - private String email; - - @Column(unique = true) - private String username; - - private String password; - - @Column(precision = 19, scale = 2) - private BigDecimal balance; - - private Boolean emailVerified = false; - - private String verificationToken; - - private String passwordResetToken; - - @Enumerated(EnumType.STRING) - private AuthProvider provider = AuthProvider.LOCAL; - - private String providerId; - - public UserEntity(String email, String username, String password, BigDecimal balance, String verificationToken) { - this.email = email; - this.username = username; - this.password = password; - this.balance = balance; - this.verificationToken = verificationToken; - } - - public UserEntity(String email, String username, AuthProvider provider, String providerId, BigDecimal balance) { - this.email = email; - this.username = username; - this.provider = provider; - this.providerId = providerId; - this.balance = balance; - this.emailVerified = true; // OAuth providers verify emails - } - - public void addBalance(BigDecimal amountToAdd) { - if (amountToAdd == null || amountToAdd.compareTo(BigDecimal.ZERO) <= 0) { - return; - } - - if (this.balance == null) { - this.balance = BigDecimal.ZERO; - } - - this.balance = this.balance.add(amountToAdd); - } - - public void subtractBalance(BigDecimal amountToSubtract) { - if (amountToSubtract == null || amountToSubtract.compareTo(BigDecimal.ZERO) <= 0) { - throw new IllegalArgumentException("Amount to subtract must be positive."); - } - - if (this.balance == null) { - this.balance = BigDecimal.ZERO; - } - - if (this.balance.compareTo(amountToSubtract) < 0) { - throw new IllegalStateException("Insufficient funds to subtract " + amountToSubtract); - } - - this.balance = this.balance.subtract(amountToSubtract); - } - - public String getEmailAddress() { - return "${name} <${email}>".replace("${name}", this.username).replace("${email}", this.email); - } -} diff --git a/backend/src/main/java/de/szut/casino/user/UserMappingService.java b/backend/src/main/java/de/szut/casino/user/UserMappingService.java deleted file mode 100644 index c93c132..0000000 --- a/backend/src/main/java/de/szut/casino/user/UserMappingService.java +++ /dev/null @@ -1,13 +0,0 @@ -package de.szut.casino.user; - -import de.szut.casino.user.dto.GetUserDto; -import org.springframework.stereotype.Service; - -@Service -public class UserMappingService { - - public GetUserDto mapToGetUserDto(UserEntity user) { - return new GetUserDto(user.getId(), user.getEmail(), user.getUsername(), user.getBalance()); - } -} - diff --git a/backend/src/main/java/de/szut/casino/user/UserRepository.java b/backend/src/main/java/de/szut/casino/user/UserRepository.java deleted file mode 100644 index db28f49..0000000 --- a/backend/src/main/java/de/szut/casino/user/UserRepository.java +++ /dev/null @@ -1,29 +0,0 @@ -package de.szut.casino.user; - -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.data.jpa.repository.Query; -import org.springframework.stereotype.Service; - -import java.util.Optional; - -@Service -public interface UserRepository extends JpaRepository { - Optional findByUsername(String username); - - Optional findByEmail(String email); - - Optional findByProviderId(String providerId); - - boolean existsByUsername(String username); - - boolean existsByEmail(String email); - - @Query("SELECT u FROM UserEntity u WHERE u.verificationToken = ?1") - Optional findOneByVerificationToken(String token); - - @Query("SELECT u FROM UserEntity u WHERE u.username = ?1 OR u.email = ?1") - Optional findOneByUsernameOrEmail(String usernameOrEmail); - - @Query("SELECT u FROM UserEntity u WHERE u.passwordResetToken = ?1") - Optional findOneByPasswordResetToken(String token); -} diff --git a/backend/src/main/java/de/szut/casino/user/UserService.java b/backend/src/main/java/de/szut/casino/user/UserService.java deleted file mode 100644 index 341db86..0000000 --- a/backend/src/main/java/de/szut/casino/user/UserService.java +++ /dev/null @@ -1,80 +0,0 @@ -package de.szut.casino.user; - -import de.szut.casino.exceptionHandling.exceptions.UserNotFoundException; -import de.szut.casino.user.dto.CreateUserDto; -import jakarta.persistence.EntityExistsException; -import org.apache.commons.lang3.RandomStringUtils; -import org.springframework.security.core.context.SecurityContextHolder; -import org.springframework.security.crypto.password.PasswordEncoder; -import org.springframework.stereotype.Service; - -import java.math.BigDecimal; -import java.util.Optional; - -@Service -public class UserService { - private final UserRepository userRepository; - private final PasswordEncoder passwordEncoder; - - public UserService(UserRepository userRepository, PasswordEncoder passwordEncoder) { - this.userRepository = userRepository; - this.passwordEncoder = passwordEncoder; - } - - public UserEntity createUser(CreateUserDto createUserDto) { - if (userRepository.existsByUsername(createUserDto.getUsername())) { - throw new EntityExistsException("Username is already taken"); - } - - if (userRepository.existsByEmail(createUserDto.getEmail())) { - throw new EntityExistsException("Email is already in use"); - } - - UserEntity user = new UserEntity( - createUserDto.getEmail(), - createUserDto.getUsername(), - passwordEncoder.encode(createUserDto.getPassword()), - BigDecimal.valueOf(100), - RandomStringUtils.randomAlphanumeric(64) - ); - - return userRepository.save(user); - } - - public UserEntity getCurrentUser() { - String username = SecurityContextHolder.getContext().getAuthentication().getName(); - - Optional optionalUser = userRepository.findByUsername(username); - if (optionalUser.isEmpty()) { - throw new UserNotFoundException(); - } - - return optionalUser.get(); - } - - public Optional getUserByVerificationToken(String token) { - return this.userRepository.findOneByVerificationToken(token); - } - - public void saveUser(UserEntity user) { - userRepository.save(user); - } - - public boolean isVerified(String usernameOrEmail) { - Optional optionalUser = userRepository.findOneByUsernameOrEmail(usernameOrEmail); - - if (!optionalUser.isPresent()) { - return false; - } - - return optionalUser.get().getEmailVerified(); - } - - public Optional getUserByEmail(String email) { - return userRepository.findByEmail(email); - } - - public Optional getUserByPasswordResetToken(String token) { - return this.userRepository.findOneByPasswordResetToken(token); - } -} diff --git a/backend/src/main/java/de/szut/casino/user/dto/CreateUserDto.java b/backend/src/main/java/de/szut/casino/user/dto/CreateUserDto.java deleted file mode 100644 index 1be6ae3..0000000 --- a/backend/src/main/java/de/szut/casino/user/dto/CreateUserDto.java +++ /dev/null @@ -1,27 +0,0 @@ -package de.szut.casino.user.dto; - -import jakarta.validation.constraints.Email; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.Size; -import lombok.AllArgsConstructor; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -@Getter -@Setter -@AllArgsConstructor -@NoArgsConstructor -public class CreateUserDto { - @NotBlank(message = "Email is required") - @Email(message = "Email should be valid") - private String email; - - @NotBlank(message = "Username is required") - @Size(min = 3, max = 20, message = "Username must be between 3 and 20 characters") - private String username; - - @NotBlank(message = "Password is required") - @Size(min = 6, message = "Password must be at least 6 characters") - private String password; -} diff --git a/backend/src/main/java/de/szut/casino/user/dto/GetUserDto.java b/backend/src/main/java/de/szut/casino/user/dto/GetUserDto.java deleted file mode 100644 index 2c41f0d..0000000 --- a/backend/src/main/java/de/szut/casino/user/dto/GetUserDto.java +++ /dev/null @@ -1,19 +0,0 @@ -package de.szut.casino.user.dto; - -import lombok.AllArgsConstructor; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import java.math.BigDecimal; - -@Getter -@Setter -@AllArgsConstructor -@NoArgsConstructor -public class GetUserDto { - private Long id; - private String email; - private String username; - private BigDecimal balance; -} diff --git a/backend/src/main/java/de/szut/casino/user/transaction/GetTransactionService.java b/backend/src/main/java/de/szut/casino/user/transaction/GetTransactionService.java deleted file mode 100644 index 11fff4f..0000000 --- a/backend/src/main/java/de/szut/casino/user/transaction/GetTransactionService.java +++ /dev/null @@ -1,43 +0,0 @@ -package de.szut.casino.user.transaction; - -import de.szut.casino.deposit.TransactionEntity; -import de.szut.casino.deposit.TransactionRepository; -import de.szut.casino.user.UserEntity; -import de.szut.casino.user.UserService; -import de.szut.casino.user.transaction.dto.GetTransactionDto; -import de.szut.casino.user.transaction.dto.UserTransactionsDto; -import org.springframework.stereotype.Service; - -import java.util.List; - -@Service -public class GetTransactionService { - - private final UserService userService; - - private final TransactionRepository transactionRepository; - - public GetTransactionService(UserService userService, TransactionRepository transactionRepository) { - this.userService = userService; - this.transactionRepository = transactionRepository; - } - - public UserTransactionsDto getUserTransactionsDto(Integer limit, Integer offset) { - UserEntity user = userService.getCurrentUser(); - - List transactionEntities = this.transactionRepository.findByUserIdWithLimit(user, limit, offset); - Boolean hasMore = this.transactionRepository.hasMore(user, limit, offset); - - return new UserTransactionsDto(mapTransactionsToDtos(transactionEntities), hasMore); - } - - public List mapTransactionsToDtos(List transactions) { - return transactions.stream() - .map(transaction -> new GetTransactionDto( - transaction.getAmount(), - transaction.getStatus(), - transaction.getCreatedAt()) - ).toList(); - } -} - diff --git a/backend/src/main/java/de/szut/casino/user/transaction/TransactionController.java b/backend/src/main/java/de/szut/casino/user/transaction/TransactionController.java deleted file mode 100644 index f8a57de..0000000 --- a/backend/src/main/java/de/szut/casino/user/transaction/TransactionController.java +++ /dev/null @@ -1,28 +0,0 @@ -package de.szut.casino.user.transaction; - -import de.szut.casino.user.transaction.dto.UserTransactionsDto; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -@RestController -public class TransactionController { - - private final GetTransactionService transactionService; - - public TransactionController(GetTransactionService transactionService) { - this.transactionService = transactionService; - } - - @GetMapping("/user/transactions") - public ResponseEntity getUserTransactions( - @RequestParam(value = "limit", required = false) Integer limit, - @RequestParam(value = "offset", required = false) Integer offset - ) { - UserTransactionsDto transactionEntities = this.transactionService.getUserTransactionsDto(limit, offset); - - return ResponseEntity.ok(transactionEntities); - } -} - diff --git a/backend/src/main/java/de/szut/casino/user/transaction/dto/GetTransactionDto.java b/backend/src/main/java/de/szut/casino/user/transaction/dto/GetTransactionDto.java deleted file mode 100644 index f37fbf4..0000000 --- a/backend/src/main/java/de/szut/casino/user/transaction/dto/GetTransactionDto.java +++ /dev/null @@ -1,16 +0,0 @@ -package de.szut.casino.user.transaction.dto; - -import de.szut.casino.deposit.TransactionStatus; -import lombok.AllArgsConstructor; -import lombok.NoArgsConstructor; - -import java.util.Date; - -@AllArgsConstructor -@NoArgsConstructor -public class GetTransactionDto { - public double amount = 0; - public TransactionStatus status = TransactionStatus.PROCESSING; - public Date createdAt = new Date(); -} - diff --git a/backend/src/main/java/de/szut/casino/user/transaction/dto/UserTransactionsDto.java b/backend/src/main/java/de/szut/casino/user/transaction/dto/UserTransactionsDto.java deleted file mode 100644 index 54e116b..0000000 --- a/backend/src/main/java/de/szut/casino/user/transaction/dto/UserTransactionsDto.java +++ /dev/null @@ -1,12 +0,0 @@ -package de.szut.casino.user.transaction.dto; - -import lombok.AllArgsConstructor; - -import java.util.List; - -@AllArgsConstructor -public class UserTransactionsDto { - public List transactions; - public Boolean hasMore; -} - diff --git a/backend/src/main/resources/application.properties b/backend/src/main/resources/application.properties deleted file mode 100644 index 7b761a7..0000000 --- a/backend/src/main/resources/application.properties +++ /dev/null @@ -1,54 +0,0 @@ -spring.datasource.url=jdbc:postgresql://${DB_HOST:localhost}:${DB_PORT:5432}/${DB_NAME:postgresdb} -spring.datasource.username=${DB_USER:postgres_user} -spring.datasource.password=${DB_PASS:postgres_pass} -server.port=${HTTP_PORT:8080} -spring.jpa.hibernate.ddl-auto=update -stripe.secret.key=${STRIPE_SECRET_KEY:sk_test_51QrePYIvCfqz7ANgqam8rEwWcMeKiLOof3j6SCMgu2sl4sESP45DJxca16mWcYo1sQaiBv32CMR6Z4AAAGQPCJo300ubuZKO8I} -stripe.webhook.secret=${STRIPE_WEBHOOK_SECRET:whsec_746b6a488665f6057118bdb4a2b32f4916f16c277109eeaed5e8f8e8b81b8c15} - -app.frontend-host=${FE_URL:http://localhost:4200} - -app.mail.authentication=${MAIL_AUTHENTICATION:false} -app.mail.host=${MAIL_HOST:localhost} -app.mail.port=${MAIL_PORT:1025} -app.mail.username=${MAIL_USER:null} -app.mail.password=${MAIL_PASS:null} -app.mail.from-address=${MAIL_FROM:casino@localhost} -app.mail.protocol=${MAIL_PROTOCOL:smtp} - -spring.application.name=casino - -# JWT Configuration -jwt.secret=${JWT_SECRET:5367566B59703373367639792F423F4528482B4D6251655468576D5A71347437} -jwt.expiration.ms=${JWT_EXPIRATION_MS:86400000} - -# Logging -logging.level.org.springframework.security=DEBUG - -# Swagger -springdoc.swagger-ui.path=swagger -springdoc.swagger-ui.try-it-out-enabled=true - -# GitHub OAuth2 Configuration -spring.security.oauth2.client.registration.github.client-id=${GITHUB_CLIENT_ID:Ov23lingzZsPn1wwACoK} -spring.security.oauth2.client.registration.github.client-secret=${GITHUB_CLIENT_SECRET:4b327fb3b1ab67584a03bcb9d53fa6439fbccad7} -spring.security.oauth2.client.registration.github.redirect-uri=${app.frontend-host}/oauth2/callback/github -spring.security.oauth2.client.registration.github.scope=user:email,read:user -spring.security.oauth2.client.provider.github.authorization-uri=https://github.com/login/oauth/authorize -spring.security.oauth2.client.provider.github.token-uri=https://github.com/login/oauth/access_token -spring.security.oauth2.client.provider.github.user-info-uri=https://api.github.com/user -spring.security.oauth2.client.provider.github.user-name-attribute=login - -# OAuth Success and Failure URLs -app.oauth2.authorizedRedirectUris=${app.frontend-host}/auth/oauth2/callback - -# Google OAuth2 Configuration -spring.security.oauth2.client.registration.google.client-id=${GOOGLE_CLIENT_ID:350791038883-c1r7v4o793itq8a0rh7dut7itm7uneam.apps.googleusercontent.com} -spring.security.oauth2.client.registration.google.client-secret=${GOOGLE_CLIENT_SECRET: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} -spring.security.oauth2.client.registration.google.redirect-uri=${app.frontend-host}/oauth2/callback/google -spring.security.oauth2.client.registration.google.scope=email,profile -spring.security.oauth2.client.provider.google.authorization-uri=https://accounts.google.com/o/oauth2/v2/auth -spring.security.oauth2.client.provider.google.token-uri=https://oauth2.googleapis.com/token -spring.security.oauth2.client.provider.google.user-info-uri=https://www.googleapis.com/oauth2/v3/userinfo -spring.security.oauth2.client.provider.google.user-name-attribute=sub - diff --git a/backend/src/main/resources/templates/email/deposit.html b/backend/src/main/resources/templates/email/deposit.html deleted file mode 100644 index be54677..0000000 --- a/backend/src/main/resources/templates/email/deposit.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - Einzahlung bestätigt - Trustworthy Casino© - - - -
-
-

Trustworthy Casino

-
-
-

Hallo ${username},

- -

vielen Dank für Ihre Einzahlung bei Trustworthy Casino. Wir bestätigen den Eingang Ihres Guthabens.

- -
-

Eingezahlter Betrag

-
${amount}€
-
- -
- -

Ihr Guthaben wurde Ihrem Konto sofort gutgeschrieben und steht ab sofort zum Spielen zur Verfügung.

- - - -

Bei Fragen zu Ihrer Einzahlung kontaktieren Sie bitte unseren Kundenservice.

- -

Mit freundlichen Grüßen,
- Ihr Trustworthy Casino Team

-
- -
- - \ No newline at end of file diff --git a/backend/src/main/resources/templates/email/recover-password.html b/backend/src/main/resources/templates/email/recover-password.html deleted file mode 100644 index cf666d1..0000000 --- a/backend/src/main/resources/templates/email/recover-password.html +++ /dev/null @@ -1,156 +0,0 @@ - - - - - - Passwort zurücksetzen - Trustworthy Casino© - - - -
-
-

Trustworthy Casino

-
-
-

Hallo ${username},

- -

wir haben eine Anfrage zum Zurücksetzen Ihres Passworts für Ihr Trustworthy Casino Konto erhalten. Um Ihr Passwort zurückzusetzen, klicken Sie bitte auf den folgenden Button:

- - - -
-

Hinweis: Dieser Link und Code sind aus Sicherheitsgründen vielleicht nur 60 Minuten gültig.

-
- -
- -
-

Falls Sie diese Anfrage nicht gestellt haben, ignorieren Sie diese E-Mail bitte. In diesem Fall empfehlen wir Ihnen, Ihr Passwort zu ändern und unseren Kundenservice zu kontaktieren, um die Sicherheit Ihres Kontos zu gewährleisten.

-
- -
- -

Bei Fragen steht Ihnen unser Support-Team nicht zur Verfügung.

- -

Mit freundlichen Grüßen,
- Ihr Trustworthy Casino Team

-
- -
- - \ No newline at end of file diff --git a/backend/src/main/resources/templates/email/verify.html b/backend/src/main/resources/templates/email/verify.html deleted file mode 100644 index 7076a7c..0000000 --- a/backend/src/main/resources/templates/email/verify.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - E-Mail-Verifizierung - Trustworthy Casino© - - - -
-
-

Trustworthy Casino

-
-
-

Hallo ${username},

- -

vielen Dank für Ihre Registrierung bei Trustworthy Casino. Um Ihr Konto zu aktivieren und Zugang zu allen Funktionen zu erhalten, bestätigen Sie bitte Ihre E-Mail-Adresse.

- -
- -

Klicken Sie auf den folgenden Button, um Ihre E-Mail-Adresse zu bestätigen:

- - - -
-

Hinweis: Der Bestätigungscode könnte nur 24 Stunden gültig sein und kann vielleicht auch nur einmal verwendet werden.

-
- -
- -

Nach der Bestätigung Ihrer E-Mail-Adresse können Sie sofort mit dem Spielen beginnen und alle Vorteile Ihres Kontos nutzen.

- -

Bei Fragen stehen wir Ihnen jederzeit zur Verfügung.

- -

Mit freundlichen Grüßen,
- Ihr Trustworthy Casino Team

-
- -
- - \ No newline at end of file diff --git a/backend/src/main/resources/templates/email/welcome.html b/backend/src/main/resources/templates/email/welcome.html deleted file mode 100644 index ed43938..0000000 --- a/backend/src/main/resources/templates/email/welcome.html +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - Willkommen bei Trustworthy Casino© - - - -
-
-

Trustworthy Casino

-
-
-

Hallo ${username},

- -

Herzlich willkommen bei Trustworthy Casino! Wir freuen uns, Sie an Bord zu haben.

- -
- -

Bei uns erwarten Sie:

-
    -
  • Spannende Casino-Spiele
  • -
  • Sichere Transaktionen
  • -
  • Exklusive Boni und Aktionen
  • -
- -
- -

Melden Sie sich jetzt an und beginnen Sie Ihr Spielerlebnis!

- - - -

Bei Fragen stehen wir Ihnen jederzeit zur Verfügung.

- -

Mit freundlichen Grüßen,
- Ihr Trustworthy Casino Team

-
- -
- - \ No newline at end of file diff --git a/backend/src/test/java/de/szut/casino/coinflip/CoinflipServiceTest.java b/backend/src/test/java/de/szut/casino/coinflip/CoinflipServiceTest.java deleted file mode 100644 index 2b15ba0..0000000 --- a/backend/src/test/java/de/szut/casino/coinflip/CoinflipServiceTest.java +++ /dev/null @@ -1,64 +0,0 @@ -package de.szut.casino.coinflip; - -import de.szut.casino.shared.service.BalanceService; -import de.szut.casino.user.UserEntity; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; -import org.mockito.InjectMocks; -import org.mockito.Mock; -import org.mockito.MockitoAnnotations; - -import java.math.BigDecimal; -import java.util.Random; - -import static org.junit.jupiter.api.Assertions.*; -import static org.mockito.Mockito.*; - -class CoinflipServiceTest { - - @Mock - private BalanceService balanceService; - - @Mock - private Random random; - - @InjectMocks - private CoinflipService coinflipService; - - private UserEntity user; - private CoinflipDto coinflipDto; - - @BeforeEach - void setUp() { - MockitoAnnotations.openMocks(this); - user = new UserEntity(); - user.setBalance(BigDecimal.valueOf(100)); - coinflipDto = new CoinflipDto(BigDecimal.valueOf(10), CoinSide.HEAD); - } - - @Test - void testPlay_userWins() { - when(random.nextBoolean()).thenReturn(true); - - CoinflipResult result = coinflipService.play(user, coinflipDto); - - assertTrue(result.isWin()); - assertEquals(BigDecimal.valueOf(20), result.getPayout()); - assertEquals(CoinSide.HEAD, result.getCoinSide()); - verify(balanceService, times(1)).subtractFunds(user, BigDecimal.valueOf(10)); - verify(balanceService, times(1)).addFunds(user, BigDecimal.valueOf(20)); - } - - @Test - void testPlay_userLoses() { - when(random.nextBoolean()).thenReturn(false); - - CoinflipResult result = coinflipService.play(user, coinflipDto); - - assertFalse(result.isWin()); - assertEquals(BigDecimal.ZERO, result.getPayout()); - assertEquals(CoinSide.TAILS, result.getCoinSide()); - verify(balanceService, times(1)).subtractFunds(user, BigDecimal.valueOf(10)); - verify(balanceService, never()).addFunds(any(), any()); - } -} diff --git a/backend/src/test/java/de/szut/casino/dice/DiceServiceTest.java b/backend/src/test/java/de/szut/casino/dice/DiceServiceTest.java deleted file mode 100644 index 6b2e230..0000000 --- a/backend/src/test/java/de/szut/casino/dice/DiceServiceTest.java +++ /dev/null @@ -1,251 +0,0 @@ -package de.szut.casino.dice; - -import de.szut.casino.shared.service.BalanceService; -import de.szut.casino.user.UserEntity; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.extension.ExtendWith; -import org.mockito.InjectMocks; -import org.mockito.Mock; -import org.mockito.junit.jupiter.MockitoExtension; - -import java.math.BigDecimal; -import java.math.RoundingMode; -import java.util.Random; - -import static org.junit.jupiter.api.Assertions.*; -import static org.mockito.Mockito.*; - -@ExtendWith(MockitoExtension.class) -class DiceServiceTest { - - @Mock - private BalanceService balanceService; - - @Mock - private Random random; - - @InjectMocks - private DiceService diceService; - - private UserEntity user; - private DiceDto diceDto; - - @BeforeEach - void setUp() { - user = new UserEntity(); - user.setId(1L); - user.setBalance(BigDecimal.valueOf(1000)); - - diceDto = new DiceDto(); - diceDto.setBetAmount(BigDecimal.valueOf(10)); - diceDto.setTargetValue(BigDecimal.valueOf(50)); - diceDto.setRollOver(true); - } - - @Test - void play_rollOver_win() { - diceDto.setRollOver(true); - diceDto.setTargetValue(BigDecimal.valueOf(50)); - when(random.nextInt(anyInt())).thenReturn(55); - - DiceResult result = diceService.play(user, diceDto); - - assertTrue(result.isWin()); - assertEquals(BigDecimal.valueOf(56), result.getRolledValue()); - verify(balanceService, times(1)).subtractFunds(user, diceDto.getBetAmount()); - verify(balanceService, times(1)).addFunds(eq(user), any(BigDecimal.class)); - } - - @Test - void play_rollOver_lose() { - diceDto.setRollOver(true); - diceDto.setTargetValue(BigDecimal.valueOf(50)); - when(random.nextInt(anyInt())).thenReturn(49); - - DiceResult result = diceService.play(user, diceDto); - - assertFalse(result.isWin()); - assertEquals(BigDecimal.valueOf(50), result.getRolledValue()); - assertEquals(BigDecimal.ZERO, result.getPayout()); - verify(balanceService, times(1)).subtractFunds(user, diceDto.getBetAmount()); - verify(balanceService, never()).addFunds(eq(user), any(BigDecimal.class)); - } - - @Test - void play_rollUnder_win() { - diceDto.setRollOver(false); - diceDto.setTargetValue(BigDecimal.valueOf(50)); - when(random.nextInt(anyInt())).thenReturn(48); - - DiceResult result = diceService.play(user, diceDto); - - assertTrue(result.isWin()); - assertEquals(BigDecimal.valueOf(49), result.getRolledValue()); - verify(balanceService, times(1)).subtractFunds(user, diceDto.getBetAmount()); - verify(balanceService, times(1)).addFunds(eq(user), any(BigDecimal.class)); - } - - @Test - void play_rollUnder_lose() { - diceDto.setRollOver(false); - diceDto.setTargetValue(BigDecimal.valueOf(50)); - when(random.nextInt(anyInt())).thenReturn(50); - - DiceResult result = diceService.play(user, diceDto); - - assertFalse(result.isWin()); - assertEquals(BigDecimal.valueOf(51), result.getRolledValue()); - assertEquals(BigDecimal.ZERO, result.getPayout()); - verify(balanceService, times(1)).subtractFunds(user, diceDto.getBetAmount()); - verify(balanceService, never()).addFunds(eq(user), any(BigDecimal.class)); - } - - @Test - void play_rollOver_targetValueOne_rolledOne_lose() { - diceDto.setRollOver(true); - diceDto.setTargetValue(BigDecimal.valueOf(1)); - when(random.nextInt(anyInt())).thenReturn(0); - - DiceResult result = diceService.play(user, diceDto); - - assertFalse(result.isWin()); - assertEquals(BigDecimal.valueOf(1), result.getRolledValue()); - assertEquals(BigDecimal.ZERO, result.getPayout()); - verify(balanceService, times(1)).subtractFunds(user, diceDto.getBetAmount()); - verify(balanceService, never()).addFunds(eq(user), any(BigDecimal.class)); - } - - @Test - void play_rollOver_targetValueOne_rolledTwo_win() { - diceDto.setRollOver(true); - diceDto.setTargetValue(BigDecimal.valueOf(1)); - when(random.nextInt(anyInt())).thenReturn(1); - - DiceResult result = diceService.play(user, diceDto); - - assertTrue(result.isWin()); - assertEquals(BigDecimal.valueOf(2), result.getRolledValue()); - // Win chance for target 1 (roll over) is 99. Multiplier = (100-1)/99 = 1 - assertEquals(diceDto.getBetAmount().stripTrailingZeros(), result.getPayout().stripTrailingZeros()); - verify(balanceService, times(1)).subtractFunds(user, diceDto.getBetAmount()); - verify(balanceService, times(1)).addFunds(eq(user), any(BigDecimal.class)); - } - - @Test - void play_rollUnder_targetValueOne_alwaysLose_winChanceZero() { - diceDto.setRollOver(false); - diceDto.setTargetValue(BigDecimal.valueOf(1)); - when(random.nextInt(anyInt())).thenReturn(0); - - DiceResult result = diceService.play(user, diceDto); - - assertFalse(result.isWin()); - assertEquals(BigDecimal.valueOf(1), result.getRolledValue()); - assertEquals(BigDecimal.ZERO, result.getPayout()); - verify(balanceService, times(1)).subtractFunds(user, diceDto.getBetAmount()); - verify(balanceService, never()).addFunds(eq(user), any(BigDecimal.class)); - } - - @Test - void play_rollOver_targetValueNinetyNine_rolledHundred_win() { - diceDto.setRollOver(true); - diceDto.setTargetValue(BigDecimal.valueOf(99)); - when(random.nextInt(anyInt())).thenReturn(99); - - DiceResult result = diceService.play(user, diceDto); - - assertTrue(result.isWin()); - assertEquals(BigDecimal.valueOf(100), result.getRolledValue()); - // Win chance for target 99 (roll over) is 1. Multiplier = (100-1)/1 = 99 - assertEquals(diceDto.getBetAmount().multiply(BigDecimal.valueOf(99)).stripTrailingZeros(), result.getPayout().stripTrailingZeros()); - verify(balanceService, times(1)).subtractFunds(user, diceDto.getBetAmount()); - verify(balanceService, times(1)).addFunds(eq(user), any(BigDecimal.class)); - } - - @Test - void play_rollUnder_targetValueNinetyNine_rolledNinetyEight_win() { - diceDto.setRollOver(false); - diceDto.setTargetValue(BigDecimal.valueOf(99)); - when(random.nextInt(anyInt())).thenReturn(97); - - DiceResult result = diceService.play(user, diceDto); - - assertTrue(result.isWin()); - assertEquals(BigDecimal.valueOf(98), result.getRolledValue()); - // Win chance for target 99 (roll under) is 98. Multiplier = (100-1)/98 = 99/98 - assertEquals(diceDto.getBetAmount().multiply(BigDecimal.valueOf(99).divide(BigDecimal.valueOf(98), 4, RoundingMode.HALF_UP)), result.getPayout()); - verify(balanceService, times(1)).subtractFunds(user, diceDto.getBetAmount()); - verify(balanceService, times(1)).addFunds(eq(user), any(BigDecimal.class)); - } - - @Test - void play_rollOver_targetValueOneHundred_alwaysLose_winChanceZero() { - diceDto.setRollOver(true); - diceDto.setTargetValue(BigDecimal.valueOf(100)); - when(random.nextInt(anyInt())).thenReturn(99); - - DiceResult result = diceService.play(user, diceDto); - - assertFalse(result.isWin()); - assertEquals(BigDecimal.valueOf(100), result.getRolledValue()); - assertEquals(BigDecimal.ZERO, result.getPayout()); - verify(balanceService, times(1)).subtractFunds(user, diceDto.getBetAmount()); - verify(balanceService, never()).addFunds(eq(user), any(BigDecimal.class)); - } - - @Test - void play_rollUnder_targetValueOneHundred_rolledNinetyNine_win() { - diceDto.setRollOver(false); - diceDto.setTargetValue(BigDecimal.valueOf(100)); - when(random.nextInt(anyInt())).thenReturn(98); - - DiceResult result = diceService.play(user, diceDto); - - assertTrue(result.isWin()); - assertEquals(BigDecimal.valueOf(99), result.getRolledValue()); - // Win chance for target 100 (roll under) is 99. Multiplier = (100-1)/99 = 1 - assertEquals(diceDto.getBetAmount().stripTrailingZeros(), result.getPayout().stripTrailingZeros()); - verify(balanceService, times(1)).subtractFunds(user, diceDto.getBetAmount()); - verify(balanceService, times(1)).addFunds(eq(user), any(BigDecimal.class)); - } - - @Test - void play_payoutCalculationCorrect() { - diceDto.setRollOver(true); - diceDto.setTargetValue(BigDecimal.valueOf(75)); - when(random.nextInt(anyInt())).thenReturn(75); - - // Multiplier for win chance 25: (100-1)/25 = 99/25 = 3.96 - // Payout: 10 * 3.96 = 39.6 - - DiceResult result = diceService.play(user, diceDto); - - assertTrue(result.isWin()); - assertEquals(BigDecimal.valueOf(39.6).stripTrailingZeros(), result.getPayout().stripTrailingZeros()); - } - - @Test - void play_payoutCalculationCorrect_rollUnder() { - diceDto.setRollOver(false); - diceDto.setTargetValue(BigDecimal.valueOf(25)); - when(random.nextInt(anyInt())).thenReturn(0); - - // Multiplier for win chance 24: (100-1)/24 = 99/24 = 4.125 - // Payout: 10 * 4.125 = 41.25 - - DiceResult result = diceService.play(user, diceDto); - - assertTrue(result.isWin()); - assertEquals(BigDecimal.valueOf(41.25).stripTrailingZeros(), result.getPayout().stripTrailingZeros()); - } - - @Test - void play_betAmountSubtracted() { - when(random.nextInt(anyInt())).thenReturn(50); - - diceService.play(user, diceDto); - - verify(balanceService, times(1)).subtractFunds(user, diceDto.getBetAmount()); - } -} diff --git a/backend/src/test/java/de/szut/casino/shared/service/BalanceServiceTest.java b/backend/src/test/java/de/szut/casino/shared/service/BalanceServiceTest.java deleted file mode 100644 index dfb96e5..0000000 --- a/backend/src/test/java/de/szut/casino/shared/service/BalanceServiceTest.java +++ /dev/null @@ -1,76 +0,0 @@ -package de.szut.casino.shared.service; - -import de.szut.casino.shared.dto.BetDto; -import de.szut.casino.user.UserEntity; -import de.szut.casino.user.UserRepository; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; -import org.mockito.InjectMocks; -import org.mockito.Mock; -import org.mockito.MockitoAnnotations; - -import java.math.BigDecimal; - -import static org.junit.jupiter.api.Assertions.*; -import static org.mockito.Mockito.*; - -class BalanceServiceTest { - - @Mock - private UserRepository userRepository; - - @InjectMocks - private BalanceService balanceService; - - private UserEntity user; - private BetDto betDto; - - @BeforeEach - void setUp() { - MockitoAnnotations.openMocks(this); - user = new UserEntity(); - user.setBalance(BigDecimal.valueOf(100)); - betDto = new BetDto(); - } - - @Test - void testHasFunds_sufficientFunds() { - betDto.setBetAmount(BigDecimal.valueOf(50)); - assertTrue(balanceService.hasFunds(user, betDto)); - } - - @Test - void testHasFunds_insufficientFunds() { - betDto.setBetAmount(BigDecimal.valueOf(150)); - assertFalse(balanceService.hasFunds(user, betDto)); - } - - @Test - void testHasFunds_exactFunds() { - betDto.setBetAmount(BigDecimal.valueOf(100)); - assertTrue(balanceService.hasFunds(user, betDto)); - } - - @Test - void testAddFunds() { - BigDecimal amountToAdd = BigDecimal.valueOf(50); - balanceService.addFunds(user, amountToAdd); - assertEquals(BigDecimal.valueOf(150), user.getBalance()); - verify(userRepository, times(1)).save(user); - } - - @Test - void testSubtractFunds_sufficientFunds() { - BigDecimal amountToSubtract = BigDecimal.valueOf(50); - balanceService.subtractFunds(user, amountToSubtract); - assertEquals(BigDecimal.valueOf(50), user.getBalance()); - verify(userRepository, times(1)).save(user); - } - - @Test - void testSubtractFunds_insufficientFunds() { - BigDecimal amountToSubtract = BigDecimal.valueOf(150); - assertThrows(IllegalStateException.class, () -> balanceService.subtractFunds(user, amountToSubtract)); - verify(userRepository, never()).save(user); - } -} diff --git a/compose.yml b/compose.yml deleted file mode 100644 index d3c7a87..0000000 --- a/compose.yml +++ /dev/null @@ -1,28 +0,0 @@ -volumes: - postgres_data: - -services: - db: - image: postgres:17.5 - container_name: casino-db - restart: unless-stopped - volumes: - - postgres_data:/var/lib/postgresql/data - environment: - POSTGRES_DB: postgresdb - POSTGRES_USER: postgres_user - POSTGRES_PASSWORD: postgres_pass - healthcheck: - test: "exit 0" - ports: - - "5432:5432" - mailpit: - image: axllent/mailpit - container_name: casino-mailpit - restart: unless-stopped - ports: - - 8025:8025 - - 1025:1025 - environment: - MP_SMTP_AUTH_ACCEPT_ANY: 1 - MP_SMTP_AUTH_ALLOW_INSECURE: 1 diff --git a/frontend/.docker/Dockerfile b/frontend/.docker/Dockerfile deleted file mode 100644 index 45a769c..0000000 --- a/frontend/.docker/Dockerfile +++ /dev/null @@ -1,28 +0,0 @@ -FROM oven/bun:debian AS build -WORKDIR /app - -RUN apt-get update -y && \ - apt-get install -y --no-install-recommends curl ca-certificates gnupg && \ - curl -fsSL https://deb.nodesource.com/setup_20.x | bash - && \ - apt-get install -y --no-install-recommends nodejs && \ - apt-get clean && \ - rm -rf /var/lib/apt/lists/* - -ENV NODE_ENV=production - -COPY package.json bun.lock ./ -RUN bun install --frozen-lockfile - -COPY . . -RUN bun run build - -FROM nginx:alpine AS production - -RUN rm /etc/nginx/conf.d/default.conf -COPY .docker/casino.conf /etc/nginx/templates/nginx.conf.template -COPY .docker/entrypoint.sh /docker-entrypoint.d/40-custom-config-env.sh - -COPY --from=build /app/dist/casino /usr/share/nginx/html - -EXPOSE 80 -CMD ["nginx", "-g", "daemon off;"] diff --git a/frontend/.docker/casino.conf b/frontend/.docker/casino.conf deleted file mode 100644 index 40b9613..0000000 --- a/frontend/.docker/casino.conf +++ /dev/null @@ -1,19 +0,0 @@ -server { - listen 80; - root /usr/share/nginx/html/browser; - index index.html; - - location / { - try_files $uri $uri/ /index.html; - add_header Cache-Control "no-cache"; - } - - location /backend/ { - proxy_pass http://${BACKEND_HOST}:${BACKEND_PORT}/; - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection 'upgrade'; - proxy_set_header Host $host; - proxy_cache_bypass $http_upgrade; - } -} diff --git a/frontend/.docker/entrypoint.sh b/frontend/.docker/entrypoint.sh deleted file mode 100755 index 7aa167e..0000000 --- a/frontend/.docker/entrypoint.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh -# Default values if not provided -: ${BACKEND_HOST:=localhost} -: ${BACKEND_PORT:=8080} - -# Wait until the backend host is resolvable -echo "Waiting for backend host $BACKEND_HOST..." -until getent hosts "$BACKEND_HOST" > /dev/null; do - sleep 1 -done - -envsubst '$BACKEND_HOST $BACKEND_PORT' < /etc/nginx/templates/nginx.conf.template > /etc/nginx/conf.d/default.conf -exec nginx -g 'daemon off;' diff --git a/frontend/.dockerignore b/frontend/.dockerignore deleted file mode 100644 index 4e10341..0000000 --- a/frontend/.dockerignore +++ /dev/null @@ -1,15 +0,0 @@ -node_modules -dist -.angular -.git -.github -.vscode -.idea -*.md -!README.md -.DS_Store -.env* -npm-debug.log* -yarn-debug.log* -yarn-error.log* -bun-debug.log* \ No newline at end of file diff --git a/frontend/.editorconfig b/frontend/.editorconfig deleted file mode 100644 index 59d9a3a..0000000 --- a/frontend/.editorconfig +++ /dev/null @@ -1,16 +0,0 @@ -# Editor configuration, see https://editorconfig.org -root = true - -[*] -charset = utf-8 -indent_style = space -indent_size = 2 -insert_final_newline = true -trim_trailing_whitespace = true - -[*.ts] -quote_type = single - -[*.md] -max_line_length = off -trim_trailing_whitespace = false diff --git a/frontend/.gitignore b/frontend/.gitignore deleted file mode 100644 index cc7b141..0000000 --- a/frontend/.gitignore +++ /dev/null @@ -1,42 +0,0 @@ -# See https://docs.github.com/get-started/getting-started-with-git/ignoring-files for more about ignoring files. - -# Compiled output -/dist -/tmp -/out-tsc -/bazel-out - -# Node -/node_modules -npm-debug.log -yarn-error.log - -# IDEs and editors -.idea/ -.project -.classpath -.c9/ -*.launch -.settings/ -*.sublime-workspace - -# Visual Studio Code -.vscode/* -!.vscode/settings.json -!.vscode/tasks.json -!.vscode/launch.json -!.vscode/extensions.json -.history/* - -# Miscellaneous -/.angular/cache -.sass-cache/ -/connect.lock -/coverage -/libpeerconnection.log -testem.log -/typings - -# System files -.DS_Store -Thumbs.db diff --git a/frontend/.postcssrc.json b/frontend/.postcssrc.json deleted file mode 100644 index e092dc7..0000000 --- a/frontend/.postcssrc.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "plugins": { - "@tailwindcss/postcss": {} - } -} diff --git a/frontend/.prettierignore b/frontend/.prettierignore deleted file mode 100644 index f0c3bb3..0000000 --- a/frontend/.prettierignore +++ /dev/null @@ -1,4 +0,0 @@ -dist -coverage -node_modules -.angular diff --git a/frontend/.prettierrc b/frontend/.prettierrc deleted file mode 100644 index 837b4f9..0000000 --- a/frontend/.prettierrc +++ /dev/null @@ -1,9 +0,0 @@ -{ - "singleQuote": true, - "trailingComma": "es5", - "tabWidth": 2, - "semi": true, - "printWidth": 100, - "bracketSpacing": true, - "endOfLine": "lf" -} diff --git a/frontend/README.md b/frontend/README.md deleted file mode 100644 index daf35fe..0000000 --- a/frontend/README.md +++ /dev/null @@ -1,136 +0,0 @@ -# Casino Gaming Platform - Frontend - -This is the frontend application for the Casino Gaming Platform. It's built with Angular 18 and TailwindCSS, providing a responsive and modern UI for the casino gaming experience. - -## Development - -### Commands - -- **Build**: `bun run build` or `bunx @angular/cli build` -- **Start Dev Server**: `bun run start` or `bunx @angular/cli serve --proxy-config src/proxy.conf.json` -- **Format Code**: `bun run format` or `prettier --write "src/**/*.{ts,html,css,scss}"` -- **Lint**: `bun run lint` or `ng lint` -- **Test**: `bun run test` or `bunx @angular/cli test` -- **Test Single File**: `bunx @angular/cli test --include=path/to/test.spec.ts` - -## Style Guide - -### Color Palette - -#### Primary Colors -- Deep Blue: `#0a1219` (background) -- Deep Blue Light: `#121e27` (secondary background) -- Deep Blue Contrast: `#1a2835` (cards, elements) - -#### Accent Colors -- Emerald: `#10b981` (primary buttons) -- Emerald Dark: `#059669` (button hover) -- Emerald Light: `#34d399` (highlights) - -#### Text Colors -- Primary Text: `#ffffff` (white) -- Secondary Text: `#94a3b8` (light gray) -- Tertiary Text: `#64748b` (darker gray) - -#### Additional Accents -- Yellow: `#fbbf24` -- Red: `#ef4444` -- Purple: `#8b5cf6` - -### Typography - -#### Font Sizes -- Extra Small: Text-xs (footer disclaimers) -- Small: Text-sm (navigation links, footer links) -- Base: Text-base (general text) -- Large: Text-lg (section headings) -- Extra Large: Text-xl (stat numbers, game headings) -- Display: Text-4xl/5xl/7xl (welcome bonus text) - -#### Font Weights -- Normal: General text -- Medium: Labels -- Semibold: Navigation brand -- Bold: Headings, stats -- Extrabold: Welcome bonus text - -### Components - -#### Buttons -- Primary: Emerald background with hover state -- Secondary: Deep blue light background with hover state -- All buttons have active scale effect (95%) -- Transition duration: 200-300ms - -#### Cards -- Background: Deep blue contrast -- Rounded corners (lg) -- Shadow effects with hover transition -- Consistent padding (p-4) - -#### Navigation -- Desktop: Horizontal links with hover effects -- Mobile: Collapsible menu with toggle -- Links have color and background transitions - -#### Modals -- Backdrop blur with dark overlay -- Card-style container with emerald focus rings -- Consistent form styling with transitions - -### Forms - -#### Inputs -- Dark background with border -- Focus states with emerald accent -- Consistent padding and rounded corners -- Clear label positioning - -### Layout - -#### Grid System -- Mobile-first responsive grid -- Breakpoints: sm, md, lg -- Grid columns: 1 (mobile), 2 (tablet), 3 (desktop) -- Consistent gap spacing (gap-4) - -#### Spacing -- Consistent margin/padding scale -- Mobile-responsive spacing adjustments - -### Animation -- Transitions: 200-500ms duration -- Hover/active state animations -- Scale transformations (95-110%) -- Opacity transitions for navigation elements - -### Components & Classes - -#### Common UI Elements -- `.card` - Base card container -- `.button-primary` - Main CTA buttons -- `.button-secondary` - Alternative action buttons -- `.section-heading` - Section titles -- `.nav-link` - Navigation links -- `.modal-card` - Modal container - -#### Game Elements -- `.game-card-content` - Game information container -- `.game-heading-sm` - Small game titles -- `.game-heading-xl` - Large game titles -- `.game-text` - Game descriptions -- `.slider-container` - Game carousel container - -### Responsive Design -- Mobile-first approach -- Tailwind breakpoints (sm, md, lg) -- Different layouts based on screen size -- Responsive text sizing and spacing -- Hidden/visible elements using responsive classes - -### CSS Framework -- Tailwind CSS for utility classes -- Custom utility classes with @apply directive -- CSS variables for theming -- Component-based styling approach - diff --git a/frontend/angular.json b/frontend/angular.json deleted file mode 100644 index a9f9a84..0000000 --- a/frontend/angular.json +++ /dev/null @@ -1,105 +0,0 @@ -{ - "$schema": "./node_modules/@angular/cli/lib/config/schema.json", - "version": 1, - "newProjectRoot": "projects", - "projects": { - "lf10Starter2024": { - "projectType": "application", - "schematics": {}, - "root": "", - "sourceRoot": "src", - "prefix": "app", - "architect": { - "build": { - "builder": "@angular-devkit/build-angular:application", - "options": { - "outputPath": "dist/casino", - "index": "src/index.html", - "browser": "src/main.ts", - "tsConfig": "tsconfig.app.json", - "assets": [ - { - "glob": "**/*", - "input": "public" - } - ], - "styles": [ - "src/styles.css" - ], - "scripts": [] - }, - "configurations": { - "production": { - "budgets": [ - { - "type": "initial", - "maximumWarning": "500kB", - "maximumError": "1MB" - }, - { - "type": "anyComponentStyle", - "maximumWarning": "2kB", - "maximumError": "4kB" - } - ], - "outputHashing": "all" - }, - "development": { - "optimization": false, - "extractLicenses": false, - "sourceMap": true - } - }, - "defaultConfiguration": "production" - }, - "serve": { - "builder": "@angular-devkit/build-angular:dev-server", - "configurations": { - "production": { - "buildTarget": "lf10Starter2024:build:production" - }, - "development": { - "buildTarget": "lf10Starter2024:build:development" - } - }, - "defaultConfiguration": "development" - }, - "extract-i18n": { - "builder": "@angular-devkit/build-angular:extract-i18n" - }, - "test": { - "builder": "@angular-devkit/build-angular:karma", - "options": { - "tsConfig": "tsconfig.spec.json", - "assets": [ - { - "glob": "**/*", - "input": "public" - } - ], - "styles": [ - "src/styles.css" - ], - "scripts": [] - } - }, - "lint": { - "builder": "@angular-eslint/builder:lint", - "options": { - "lintFilePatterns": [ - "src/**/*.ts", - "src/**/*.html" - ] - } - } - } - } - }, - "cli": { - "analytics": "33c8483f-3876-4eb5-9c9b-1001cab9b273", - "packageManager": "bun", - "schematicCollections": [ - "angular-eslint" - ] - } -} diff --git a/frontend/bun.lock b/frontend/bun.lock deleted file mode 100644 index 5275e49..0000000 --- a/frontend/bun.lock +++ /dev/null @@ -1,2379 +0,0 @@ -{ - "lockfileVersion": 1, - "workspaces": { - "": { - "name": "lf10-starter2024", - "dependencies": { - "@angular/animations": "^19.0.0", - "@angular/cdk": "~19.2.0", - "@angular/common": "^19.0.0", - "@angular/compiler": "^19.2.4", - "@angular/core": "^19.0.0", - "@angular/forms": "^19.0.0", - "@angular/platform-browser": "^19.0.0", - "@angular/platform-browser-dynamic": "^19.0.0", - "@angular/router": "^19.0.0", - "@fortawesome/angular-fontawesome": "^1.0.0", - "@fortawesome/fontawesome-svg-core": "^6.7.2", - "@fortawesome/free-brands-svg-icons": "^6.7.2", - "@fortawesome/free-solid-svg-icons": "^6.7.2", - "@stripe/stripe-js": "^7.0.0", - "@tailwindcss/postcss": "^4.0.3", - "ajv": "8.17.1", - "ajv-formats": "3.0.1", - "countup.js": "^2.8.0", - "gsap": "^3.12.7", - "postcss": "^8.5.1", - "rxjs": "~7.8.2", - "tailwindcss": "^4.0.3", - "tslib": "^2.3.0", - }, - "devDependencies": { - "@angular-devkit/build-angular": "^19.0.0", - "@angular/cli": "^19.2.5", - "@angular/compiler-cli": "^19.0.0", - "@types/jasmine": "~5.1.0", - "angular-eslint": "19.7.0", - "eslint": "^9.25.1", - "jasmine-core": "~5.7.0", - "karma": "~6.4.0", - "karma-chrome-launcher": "~3.2.0", - "karma-coverage": "~2.2.0", - "karma-jasmine": "~5.1.0", - "karma-jasmine-html-reporter": "~2.1.0", - "prettier": "^3.4.2", - "typescript": "~5.8.0", - "typescript-eslint": "8.33.1", - }, - }, - }, - "packages": { - "@alloc/quick-lru": ["@alloc/quick-lru@5.2.0", "", {}, "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw=="], - - "@ampproject/remapping": ["@ampproject/remapping@2.3.0", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw=="], - - "@angular-devkit/architect": ["@angular-devkit/architect@0.1902.6", "", { "dependencies": { "@angular-devkit/core": "19.2.6", "rxjs": "7.8.1" } }, "sha512-Dx6yPxpaE5AhP6UtrVRDCc9Ihq9B65LAbmIh3dNOyeehratuaQS0TYNKjbpaevevJojW840DTg80N+CrlfYp9g=="], - - "@angular-devkit/build-angular": ["@angular-devkit/build-angular@19.2.6", "", { "dependencies": { "@ampproject/remapping": "2.3.0", "@angular-devkit/architect": "0.1902.6", "@angular-devkit/build-webpack": "0.1902.6", "@angular-devkit/core": "19.2.6", "@angular/build": "19.2.6", "@babel/core": "7.26.10", "@babel/generator": "7.26.10", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", "@babel/plugin-transform-async-generator-functions": "7.26.8", "@babel/plugin-transform-async-to-generator": "7.25.9", "@babel/plugin-transform-runtime": "7.26.10", "@babel/preset-env": "7.26.9", "@babel/runtime": "7.26.10", "@discoveryjs/json-ext": "0.6.3", "@ngtools/webpack": "19.2.6", "@vitejs/plugin-basic-ssl": "1.2.0", "ansi-colors": "4.1.3", "autoprefixer": "10.4.20", "babel-loader": "9.2.1", "browserslist": "^4.21.5", "copy-webpack-plugin": "12.0.2", "css-loader": "7.1.2", "esbuild-wasm": "0.25.1", "fast-glob": "3.3.3", "http-proxy-middleware": "3.0.3", "istanbul-lib-instrument": "6.0.3", "jsonc-parser": "3.3.1", "karma-source-map-support": "1.4.0", "less": "4.2.2", "less-loader": "12.2.0", "license-webpack-plugin": "4.0.2", "loader-utils": "3.3.1", "mini-css-extract-plugin": "2.9.2", "open": "10.1.0", "ora": "5.4.1", "picomatch": "4.0.2", "piscina": "4.8.0", "postcss": "8.5.2", "postcss-loader": "8.1.1", "resolve-url-loader": "5.0.0", "rxjs": "7.8.1", "sass": "1.85.0", "sass-loader": "16.0.5", "semver": "7.7.1", "source-map-loader": "5.0.0", "source-map-support": "0.5.21", "terser": "5.39.0", "tree-kill": "1.2.2", "tslib": "2.8.1", "webpack": "5.98.0", "webpack-dev-middleware": "7.4.2", "webpack-dev-server": "5.2.0", "webpack-merge": "6.0.1", "webpack-subresource-integrity": "5.1.0" }, "optionalDependencies": { "esbuild": "0.25.1" }, "peerDependencies": { "@angular/compiler-cli": "^19.0.0 || ^19.2.0-next.0", "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", "@angular/ssr": "^19.2.6", "@web/test-runner": "^0.20.0", "browser-sync": "^3.0.2", "jest": "^29.5.0", "jest-environment-jsdom": "^29.5.0", "karma": "^6.3.0", "ng-packagr": "^19.0.0 || ^19.2.0-next.0", "protractor": "^7.0.0", "tailwindcss": "^2.0.0 || ^3.0.0 || ^4.0.0", "typescript": ">=5.5 <5.9" }, "optionalPeers": ["@angular/localize", "@angular/platform-server", "@angular/service-worker", "@angular/ssr", "@web/test-runner", "browser-sync", "jest", "jest-environment-jsdom", "karma", "ng-packagr", "protractor", "tailwindcss"] }, "sha512-alYn3PSsiQML9PzU1VKbmYnIP2ULK/AqfjdeJFh8r6m8ZjUvX1zDy9TdAfC6fykQ2mGHyChteRckbx9uVOyhwQ=="], - - "@angular-devkit/build-webpack": ["@angular-devkit/build-webpack@0.1902.6", "", { "dependencies": { "@angular-devkit/architect": "0.1902.6", "rxjs": "7.8.1" }, "peerDependencies": { "webpack": "^5.30.0", "webpack-dev-server": "^5.0.2" } }, "sha512-SZe2Nk39lJIJmtXWU+zhKaFy0xoU8N7387bvjhO0AoNQeRBaaJ5SrRLXX2jUzGUuVgGVF+plaVooKrmEOeM6ug=="], - - "@angular-devkit/core": ["@angular-devkit/core@19.2.6", "", { "dependencies": { "ajv": "8.17.1", "ajv-formats": "3.0.1", "jsonc-parser": "3.3.1", "picomatch": "4.0.2", "rxjs": "7.8.1", "source-map": "0.7.4" }, "peerDependencies": { "chokidar": "^4.0.0" }, "optionalPeers": ["chokidar"] }, "sha512-WFgiYhrDMq83UNaGRAneIM7CYYdBozD+yYA9BjoU8AgBLKtrvn6S8ZcjKAk5heoHtY/u8pEb0mwDTz9gxFmJZQ=="], - - "@angular-devkit/schematics": ["@angular-devkit/schematics@19.2.6", "", { "dependencies": { "@angular-devkit/core": "19.2.6", "jsonc-parser": "3.3.1", "magic-string": "0.30.17", "ora": "5.4.1", "rxjs": "7.8.1" } }, "sha512-YTAxNnT++5eflx19OUHmOWu597/TbTel+QARiZCv1xQw99+X8DCKKOUXtqBRd53CAHlREDI33Rn/JLY3NYgMLQ=="], - - "@angular-eslint/builder": ["@angular-eslint/builder@19.7.0", "", { "dependencies": { "@angular-devkit/architect": ">= 0.1900.0 < 0.2000.0", "@angular-devkit/core": ">= 19.0.0 < 20.0.0" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", "typescript": "*" } }, "sha512-tnanOOwUKzeS0FwhjJd/dNeb8gVzcF0+cI4/ZgohOjZxm8fZqtzXcKfGS1C7KsR/CPHBdY9cbF1OVPJEarrnsQ=="], - - "@angular-eslint/bundled-angular-compiler": ["@angular-eslint/bundled-angular-compiler@19.7.0", "", {}, "sha512-95Z30MhQ93s1G1mEnsVuG45te82I+6dp8Y0MamRgyh4OZvOajmEXpvCwT+hkr/9WAroLZ7p5nlMbzAA+OXZ+YQ=="], - - "@angular-eslint/eslint-plugin": ["@angular-eslint/eslint-plugin@19.7.0", "", { "dependencies": { "@angular-eslint/bundled-angular-compiler": "19.7.0", "@angular-eslint/utils": "19.7.0" }, "peerDependencies": { "@typescript-eslint/utils": "^7.11.0 || ^8.0.0", "eslint": "^8.57.0 || ^9.0.0", "typescript": "*" } }, "sha512-M8OqDgiFSSxMinW/Gkdrvy2O2Oeo8bGk1DQc0s3aEKB44PYAjXC49jMSihvdozqtu1qjPBcTN5kvUwzwN5oWxA=="], - - "@angular-eslint/eslint-plugin-template": ["@angular-eslint/eslint-plugin-template@19.7.0", "", { "dependencies": { "@angular-eslint/bundled-angular-compiler": "19.7.0", "@angular-eslint/utils": "19.7.0", "aria-query": "5.3.2", "axobject-query": "4.1.0" }, "peerDependencies": { "@angular-eslint/template-parser": "19.7.0", "@typescript-eslint/types": "^7.11.0 || ^8.0.0", "@typescript-eslint/utils": "^7.11.0 || ^8.0.0", "eslint": "^8.57.0 || ^9.0.0", "typescript": "*" } }, "sha512-gR+RH7ZDFctupUsCcxWWloD0I7m9pE8HiDX9TrwrSQbNgzvp/P7+Mgv709rR1Jju9GSVavPh7EG3VgiCyR2m5w=="], - - "@angular-eslint/schematics": ["@angular-eslint/schematics@19.7.0", "", { "dependencies": { "@angular-devkit/core": ">= 19.0.0 < 20.0.0", "@angular-devkit/schematics": ">= 19.0.0 < 20.0.0", "@angular-eslint/eslint-plugin": "19.7.0", "@angular-eslint/eslint-plugin-template": "19.7.0", "ignore": "7.0.5", "semver": "7.7.2", "strip-json-comments": "3.1.1" } }, "sha512-07j/qXfSLvLsUq8a7WJlGYgcgfVEJ1ODuwJ2R4686dh2lqZ5GRV75fpdOtOBdC38MILLwd5el+8LfdaIG19Yog=="], - - "@angular-eslint/template-parser": ["@angular-eslint/template-parser@19.7.0", "", { "dependencies": { "@angular-eslint/bundled-angular-compiler": "19.7.0", "eslint-scope": "^8.0.2" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", "typescript": "*" } }, "sha512-XLPt6gk8VMOrUO9NWRpXN8zgwJuCDV+9y3KbVnd4WyakO0sOz9SVzktuI4AeY9jWS9/tqU6P8Uj0WZsMVz7F8w=="], - - "@angular-eslint/utils": ["@angular-eslint/utils@19.7.0", "", { "dependencies": { "@angular-eslint/bundled-angular-compiler": "19.7.0" }, "peerDependencies": { "@typescript-eslint/utils": "^7.11.0 || ^8.0.0", "eslint": "^8.57.0 || ^9.0.0", "typescript": "*" } }, "sha512-F4JcZtc2/Wl0AwRaeUywupPHdaOtldpwfrGYewT1dYDikFafyDk5T6E9JYv/HgLXROPNMDVPFquwikNvAPlfAg=="], - - "@angular/animations": ["@angular/animations@19.2.5", "", { "dependencies": { "tslib": "^2.3.0" }, "peerDependencies": { "@angular/common": "19.2.5", "@angular/core": "19.2.5" } }, "sha512-m4RtY3z1JuHFCh6OrOHxo25oKEigBDdR/XmdCfXIwfTiObZzNA7VQhysgdrb9IISO99kXbjZUYKDtLzgWT8Klg=="], - - "@angular/build": ["@angular/build@19.2.6", "", { "dependencies": { "@ampproject/remapping": "2.3.0", "@angular-devkit/architect": "0.1902.6", "@babel/core": "7.26.10", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", "@babel/plugin-syntax-import-attributes": "7.26.0", "@inquirer/confirm": "5.1.6", "@vitejs/plugin-basic-ssl": "1.2.0", "beasties": "0.2.0", "browserslist": "^4.23.0", "esbuild": "0.25.1", "fast-glob": "3.3.3", "https-proxy-agent": "7.0.6", "istanbul-lib-instrument": "6.0.3", "listr2": "8.2.5", "magic-string": "0.30.17", "mrmime": "2.0.1", "parse5-html-rewriting-stream": "7.0.0", "picomatch": "4.0.2", "piscina": "4.8.0", "rollup": "4.34.8", "sass": "1.85.0", "semver": "7.7.1", "source-map-support": "0.5.21", "vite": "6.2.4", "watchpack": "2.4.2" }, "optionalDependencies": { "lmdb": "3.2.6" }, "peerDependencies": { "@angular/compiler": "^19.0.0 || ^19.2.0-next.0", "@angular/compiler-cli": "^19.0.0 || ^19.2.0-next.0", "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", "@angular/ssr": "^19.2.6", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^19.0.0 || ^19.2.0-next.0", "postcss": "^8.4.0", "tailwindcss": "^2.0.0 || ^3.0.0 || ^4.0.0", "typescript": ">=5.5 <5.9" }, "optionalPeers": ["@angular/localize", "@angular/platform-server", "@angular/service-worker", "@angular/ssr", "karma", "less", "ng-packagr", "postcss", "tailwindcss"] }, "sha512-+VBLb4ZPLswwJmgfsTFzGex+Sq/WveNc+uaIWyHYjwnuI17NXe1qAAg1rlp72CqGn0cirisfOyAUwPc/xZAgTg=="], - - "@angular/cdk": ["@angular/cdk@19.2.8", "", { "dependencies": { "parse5": "^7.1.2", "tslib": "^2.3.0" }, "peerDependencies": { "@angular/common": "^19.0.0 || ^20.0.0", "@angular/core": "^19.0.0 || ^20.0.0", "rxjs": "^6.5.3 || ^7.4.0" } }, "sha512-ZZqWVYFF80TdjWkk2sc9Pn2luhiYeC78VH3Yjeln4wXMsTGDsvKPBcuOxSxxpJ31saaVBehDjBUuXMqGRj8KuA=="], - - "@angular/cli": ["@angular/cli@19.2.6", "", { "dependencies": { "@angular-devkit/architect": "0.1902.6", "@angular-devkit/core": "19.2.6", "@angular-devkit/schematics": "19.2.6", "@inquirer/prompts": "7.3.2", "@listr2/prompt-adapter-inquirer": "2.0.18", "@schematics/angular": "19.2.6", "@yarnpkg/lockfile": "1.1.0", "ini": "5.0.0", "jsonc-parser": "3.3.1", "listr2": "8.2.5", "npm-package-arg": "12.0.2", "npm-pick-manifest": "10.0.0", "pacote": "20.0.0", "resolve": "1.22.10", "semver": "7.7.1", "symbol-observable": "4.0.0", "yargs": "17.7.2" }, "bin": { "ng": "bin/ng.js" } }, "sha512-eZhFOSsDUHKaciwcWdU5C54ViAvPPdZJf42So93G2vZWDtEq6Uk47huocn1FY9cMhDvURfYLNrrLMpUDtUSsSA=="], - - "@angular/common": ["@angular/common@19.2.5", "", { "dependencies": { "tslib": "^2.3.0" }, "peerDependencies": { "@angular/core": "19.2.5", "rxjs": "^6.5.3 || ^7.4.0" } }, "sha512-vFCBdas4C5PxP6ts/4TlRddWD3DUmI3aaO0QZdZvqyLHy428t84ruYdsJXKaeD8ie2U4/9F3a1tsklclRG/BBA=="], - - "@angular/compiler": ["@angular/compiler@19.2.5", "", { "dependencies": { "tslib": "^2.3.0" } }, "sha512-34J+HubQjwkbZ0AUtU5sa4Zouws9XtP/fKaysMQecoYJTZ3jewzLSRu3aAEZX1Y4gIrcVVKKIxM6oWoXKwYMOA=="], - - "@angular/compiler-cli": ["@angular/compiler-cli@19.2.5", "", { "dependencies": { "@babel/core": "7.26.9", "@jridgewell/sourcemap-codec": "^1.4.14", "chokidar": "^4.0.0", "convert-source-map": "^1.5.1", "reflect-metadata": "^0.2.0", "semver": "^7.0.0", "tslib": "^2.3.0", "yargs": "^17.2.1" }, "peerDependencies": { "@angular/compiler": "19.2.5", "typescript": ">=5.5 <5.9" }, "bin": { "ngc": "bundles/src/bin/ngc.js", "ngcc": "bundles/ngcc/index.js", "ng-xi18n": "bundles/src/bin/ng_xi18n.js" } }, "sha512-b2cG41r6lilApXLlvja1Ra2D00dM3BxmQhoElKC1tOnpD6S3/krlH1DOnBB2I55RBn9iv4zdmPz1l8zPUSh7DQ=="], - - "@angular/core": ["@angular/core@19.2.5", "", { "dependencies": { "tslib": "^2.3.0" }, "peerDependencies": { "rxjs": "^6.5.3 || ^7.4.0", "zone.js": "~0.15.0" } }, "sha512-NNEz1sEZz1mBpgf6Tz3aJ9b8KjqpTiMYhHfCYA9h9Ipe4D8gUmOsvPHPK2M755OX7p7PmUmzp1XCUHYrZMVHRw=="], - - "@angular/forms": ["@angular/forms@19.2.5", "", { "dependencies": { "tslib": "^2.3.0" }, "peerDependencies": { "@angular/common": "19.2.5", "@angular/core": "19.2.5", "@angular/platform-browser": "19.2.5", "rxjs": "^6.5.3 || ^7.4.0" } }, "sha512-2Zvy3qK1kOxiAX9fdSaeG48q7oyO/4RlMYlg1w+ra9qX1SrgwF3OQ2P2Vs+ojg1AxN3z9xFp4aYaaID/G2LZAw=="], - - "@angular/platform-browser": ["@angular/platform-browser@19.2.5", "", { "dependencies": { "tslib": "^2.3.0" }, "peerDependencies": { "@angular/animations": "19.2.5", "@angular/common": "19.2.5", "@angular/core": "19.2.5" }, "optionalPeers": ["@angular/animations"] }, "sha512-Lshy++X16cvl6OPvfzMySpsqEaCPKEJmDjz7q7oSt96oxlh6LvOeOUVLjsNyrNaIt9NadpWoqjlu/I9RTPJkpw=="], - - "@angular/platform-browser-dynamic": ["@angular/platform-browser-dynamic@19.2.5", "", { "dependencies": { "tslib": "^2.3.0" }, "peerDependencies": { "@angular/common": "19.2.5", "@angular/compiler": "19.2.5", "@angular/core": "19.2.5", "@angular/platform-browser": "19.2.5" } }, "sha512-15in8u4552EcdWNTXY2h0MKuJbk3AuXwWr0zVTum4CfB/Ss2tNTrDEdWhgAbhnUI0e9jZQee/fhBbA1rleMYrA=="], - - "@angular/router": ["@angular/router@19.2.5", "", { "dependencies": { "tslib": "^2.3.0" }, "peerDependencies": { "@angular/common": "19.2.5", "@angular/core": "19.2.5", "@angular/platform-browser": "19.2.5", "rxjs": "^6.5.3 || ^7.4.0" } }, "sha512-9pSfmdNXLjaOKj0kd4UxBC7sFdCFOnRGbftp397G3KWqsLsGSKmNFzqhXNeA5QHkaVxnpmpm8HzXU+zYV5JwSg=="], - - "@babel/code-frame": ["@babel/code-frame@7.26.2", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.25.9", "js-tokens": "^4.0.0", "picocolors": "^1.0.0" } }, "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ=="], - - "@babel/compat-data": ["@babel/compat-data@7.26.8", "", {}, "sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ=="], - - "@babel/core": ["@babel/core@7.26.10", "", { "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.26.2", "@babel/generator": "^7.26.10", "@babel/helper-compilation-targets": "^7.26.5", "@babel/helper-module-transforms": "^7.26.0", "@babel/helpers": "^7.26.10", "@babel/parser": "^7.26.10", "@babel/template": "^7.26.9", "@babel/traverse": "^7.26.10", "@babel/types": "^7.26.10", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ=="], - - "@babel/generator": ["@babel/generator@7.26.10", "", { "dependencies": { "@babel/parser": "^7.26.10", "@babel/types": "^7.26.10", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^3.0.2" } }, "sha512-rRHT8siFIXQrAYOYqZQVsAr8vJ+cBNqcVAY6m5V8/4QqzaPl+zDBe6cLEPRDuNOUf3ww8RfJVlOyQMoSI+5Ang=="], - - "@babel/helper-annotate-as-pure": ["@babel/helper-annotate-as-pure@7.25.9", "", { "dependencies": { "@babel/types": "^7.25.9" } }, "sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g=="], - - "@babel/helper-compilation-targets": ["@babel/helper-compilation-targets@7.27.0", "", { "dependencies": { "@babel/compat-data": "^7.26.8", "@babel/helper-validator-option": "^7.25.9", "browserslist": "^4.24.0", "lru-cache": "^5.1.1", "semver": "^6.3.1" } }, "sha512-LVk7fbXml0H2xH34dFzKQ7TDZ2G4/rVTOrq9V+icbbadjbVxxeFeDsNHv2SrZeWoA+6ZiTyWYWtScEIW07EAcA=="], - - "@babel/helper-create-class-features-plugin": ["@babel/helper-create-class-features-plugin@7.27.0", "", { "dependencies": { "@babel/helper-annotate-as-pure": "^7.25.9", "@babel/helper-member-expression-to-functions": "^7.25.9", "@babel/helper-optimise-call-expression": "^7.25.9", "@babel/helper-replace-supers": "^7.26.5", "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", "@babel/traverse": "^7.27.0", "semver": "^6.3.1" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-vSGCvMecvFCd/BdpGlhpXYNhhC4ccxyvQWpbGL4CWbvfEoLFWUZuSuf7s9Aw70flgQF+6vptvgK2IfOnKlRmBg=="], - - "@babel/helper-create-regexp-features-plugin": ["@babel/helper-create-regexp-features-plugin@7.27.0", "", { "dependencies": { "@babel/helper-annotate-as-pure": "^7.25.9", "regexpu-core": "^6.2.0", "semver": "^6.3.1" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-fO8l08T76v48BhpNRW/nQ0MxfnSdoSKUJBMjubOAYffsVuGG5qOfMq7N6Es7UJvi7Y8goXXo07EfcHZXDPuELQ=="], - - "@babel/helper-define-polyfill-provider": ["@babel/helper-define-polyfill-provider@0.6.4", "", { "dependencies": { "@babel/helper-compilation-targets": "^7.22.6", "@babel/helper-plugin-utils": "^7.22.5", "debug": "^4.1.1", "lodash.debounce": "^4.0.8", "resolve": "^1.14.2" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "sha512-jljfR1rGnXXNWnmQg2K3+bvhkxB51Rl32QRaOTuwwjviGrHzIbSc8+x9CpraDtbT7mfyjXObULP4w/adunNwAw=="], - - "@babel/helper-member-expression-to-functions": ["@babel/helper-member-expression-to-functions@7.25.9", "", { "dependencies": { "@babel/traverse": "^7.25.9", "@babel/types": "^7.25.9" } }, "sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ=="], - - "@babel/helper-module-imports": ["@babel/helper-module-imports@7.25.9", "", { "dependencies": { "@babel/traverse": "^7.25.9", "@babel/types": "^7.25.9" } }, "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw=="], - - "@babel/helper-module-transforms": ["@babel/helper-module-transforms@7.26.0", "", { "dependencies": { "@babel/helper-module-imports": "^7.25.9", "@babel/helper-validator-identifier": "^7.25.9", "@babel/traverse": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw=="], - - "@babel/helper-optimise-call-expression": ["@babel/helper-optimise-call-expression@7.25.9", "", { "dependencies": { "@babel/types": "^7.25.9" } }, "sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ=="], - - "@babel/helper-plugin-utils": ["@babel/helper-plugin-utils@7.26.5", "", {}, "sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg=="], - - "@babel/helper-remap-async-to-generator": ["@babel/helper-remap-async-to-generator@7.25.9", "", { "dependencies": { "@babel/helper-annotate-as-pure": "^7.25.9", "@babel/helper-wrap-function": "^7.25.9", "@babel/traverse": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw=="], - - "@babel/helper-replace-supers": ["@babel/helper-replace-supers@7.26.5", "", { "dependencies": { "@babel/helper-member-expression-to-functions": "^7.25.9", "@babel/helper-optimise-call-expression": "^7.25.9", "@babel/traverse": "^7.26.5" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-bJ6iIVdYX1YooY2X7w1q6VITt+LnUILtNk7zT78ykuwStx8BauCzxvFqFaHjOpW1bVnSUM1PN1f0p5P21wHxvg=="], - - "@babel/helper-skip-transparent-expression-wrappers": ["@babel/helper-skip-transparent-expression-wrappers@7.25.9", "", { "dependencies": { "@babel/traverse": "^7.25.9", "@babel/types": "^7.25.9" } }, "sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA=="], - - "@babel/helper-split-export-declaration": ["@babel/helper-split-export-declaration@7.24.7", "", { "dependencies": { "@babel/types": "^7.24.7" } }, "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA=="], - - "@babel/helper-string-parser": ["@babel/helper-string-parser@7.25.9", "", {}, "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA=="], - - "@babel/helper-validator-identifier": ["@babel/helper-validator-identifier@7.25.9", "", {}, "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ=="], - - "@babel/helper-validator-option": ["@babel/helper-validator-option@7.25.9", "", {}, "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw=="], - - "@babel/helper-wrap-function": ["@babel/helper-wrap-function@7.25.9", "", { "dependencies": { "@babel/template": "^7.25.9", "@babel/traverse": "^7.25.9", "@babel/types": "^7.25.9" } }, "sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g=="], - - "@babel/helpers": ["@babel/helpers@7.27.0", "", { "dependencies": { "@babel/template": "^7.27.0", "@babel/types": "^7.27.0" } }, "sha512-U5eyP/CTFPuNE3qk+WZMxFkp/4zUzdceQlfzf7DdGdhp+Fezd7HD+i8Y24ZuTMKX3wQBld449jijbGq6OdGNQg=="], - - "@babel/parser": ["@babel/parser@7.27.0", "", { "dependencies": { "@babel/types": "^7.27.0" }, "bin": "./bin/babel-parser.js" }, "sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg=="], - - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": ["@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.9", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.25.9", "@babel/traverse": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g=="], - - "@babel/plugin-bugfix-safari-class-field-initializer-scope": ["@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.9", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw=="], - - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": ["@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.9", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug=="], - - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": ["@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.25.9", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.25.9", "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", "@babel/plugin-transform-optional-chaining": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.13.0" } }, "sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g=="], - - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": ["@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.9", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.25.9", "@babel/traverse": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg=="], - - "@babel/plugin-proposal-private-property-in-object": ["@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2", "", { "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w=="], - - "@babel/plugin-syntax-import-assertions": ["@babel/plugin-syntax-import-assertions@7.26.0", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg=="], - - "@babel/plugin-syntax-import-attributes": ["@babel/plugin-syntax-import-attributes@7.26.0", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A=="], - - "@babel/plugin-syntax-unicode-sets-regex": ["@babel/plugin-syntax-unicode-sets-regex@7.18.6", "", { "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.18.6", "@babel/helper-plugin-utils": "^7.18.6" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg=="], - - "@babel/plugin-transform-arrow-functions": ["@babel/plugin-transform-arrow-functions@7.25.9", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg=="], - - "@babel/plugin-transform-async-generator-functions": ["@babel/plugin-transform-async-generator-functions@7.26.8", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.26.5", "@babel/helper-remap-async-to-generator": "^7.25.9", "@babel/traverse": "^7.26.8" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-He9Ej2X7tNf2zdKMAGOsmg2MrFc+hfoAhd3po4cWfo/NWjzEAKa0oQruj1ROVUdl0e6fb6/kE/G3SSxE0lRJOg=="], - - "@babel/plugin-transform-async-to-generator": ["@babel/plugin-transform-async-to-generator@7.25.9", "", { "dependencies": { "@babel/helper-module-imports": "^7.25.9", "@babel/helper-plugin-utils": "^7.25.9", "@babel/helper-remap-async-to-generator": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ=="], - - "@babel/plugin-transform-block-scoped-functions": ["@babel/plugin-transform-block-scoped-functions@7.26.5", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.26.5" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-chuTSY+hq09+/f5lMj8ZSYgCFpppV2CbYrhNFJ1BFoXpiWPnnAb7R0MqrafCpN8E1+YRrtM1MXZHJdIx8B6rMQ=="], - - "@babel/plugin-transform-block-scoping": ["@babel/plugin-transform-block-scoping@7.27.0", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.26.5" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-u1jGphZ8uDI2Pj/HJj6YQ6XQLZCNjOlprjxB5SVz6rq2T6SwAR+CdrWK0CP7F+9rDVMXdB0+r6Am5G5aobOjAQ=="], - - "@babel/plugin-transform-class-properties": ["@babel/plugin-transform-class-properties@7.25.9", "", { "dependencies": { "@babel/helper-create-class-features-plugin": "^7.25.9", "@babel/helper-plugin-utils": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q=="], - - "@babel/plugin-transform-class-static-block": ["@babel/plugin-transform-class-static-block@7.26.0", "", { "dependencies": { "@babel/helper-create-class-features-plugin": "^7.25.9", "@babel/helper-plugin-utils": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.12.0" } }, "sha512-6J2APTs7BDDm+UMqP1useWqhcRAXo0WIoVj26N7kPFB6S73Lgvyka4KTZYIxtgYXiN5HTyRObA72N2iu628iTQ=="], - - "@babel/plugin-transform-classes": ["@babel/plugin-transform-classes@7.25.9", "", { "dependencies": { "@babel/helper-annotate-as-pure": "^7.25.9", "@babel/helper-compilation-targets": "^7.25.9", "@babel/helper-plugin-utils": "^7.25.9", "@babel/helper-replace-supers": "^7.25.9", "@babel/traverse": "^7.25.9", "globals": "^11.1.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg=="], - - "@babel/plugin-transform-computed-properties": ["@babel/plugin-transform-computed-properties@7.25.9", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.25.9", "@babel/template": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA=="], - - "@babel/plugin-transform-destructuring": ["@babel/plugin-transform-destructuring@7.25.9", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ=="], - - "@babel/plugin-transform-dotall-regex": ["@babel/plugin-transform-dotall-regex@7.25.9", "", { "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.25.9", "@babel/helper-plugin-utils": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA=="], - - "@babel/plugin-transform-duplicate-keys": ["@babel/plugin-transform-duplicate-keys@7.25.9", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw=="], - - "@babel/plugin-transform-duplicate-named-capturing-groups-regex": ["@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.9", "", { "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.25.9", "@babel/helper-plugin-utils": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog=="], - - "@babel/plugin-transform-dynamic-import": ["@babel/plugin-transform-dynamic-import@7.25.9", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg=="], - - "@babel/plugin-transform-exponentiation-operator": ["@babel/plugin-transform-exponentiation-operator@7.26.3", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-7CAHcQ58z2chuXPWblnn1K6rLDnDWieghSOEmqQsrBenH0P9InCUtOJYD89pvngljmZlJcz3fcmgYsXFNGa1ZQ=="], - - "@babel/plugin-transform-export-namespace-from": ["@babel/plugin-transform-export-namespace-from@7.25.9", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww=="], - - "@babel/plugin-transform-for-of": ["@babel/plugin-transform-for-of@7.26.9", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.26.5", "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-Hry8AusVm8LW5BVFgiyUReuoGzPUpdHQQqJY5bZnbbf+ngOHWuCuYFKw/BqaaWlvEUrF91HMhDtEaI1hZzNbLg=="], - - "@babel/plugin-transform-function-name": ["@babel/plugin-transform-function-name@7.25.9", "", { "dependencies": { "@babel/helper-compilation-targets": "^7.25.9", "@babel/helper-plugin-utils": "^7.25.9", "@babel/traverse": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA=="], - - "@babel/plugin-transform-json-strings": ["@babel/plugin-transform-json-strings@7.25.9", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw=="], - - "@babel/plugin-transform-literals": ["@babel/plugin-transform-literals@7.25.9", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ=="], - - "@babel/plugin-transform-logical-assignment-operators": ["@babel/plugin-transform-logical-assignment-operators@7.25.9", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q=="], - - "@babel/plugin-transform-member-expression-literals": ["@babel/plugin-transform-member-expression-literals@7.25.9", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA=="], - - "@babel/plugin-transform-modules-amd": ["@babel/plugin-transform-modules-amd@7.25.9", "", { "dependencies": { "@babel/helper-module-transforms": "^7.25.9", "@babel/helper-plugin-utils": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw=="], - - "@babel/plugin-transform-modules-commonjs": ["@babel/plugin-transform-modules-commonjs@7.26.3", "", { "dependencies": { "@babel/helper-module-transforms": "^7.26.0", "@babel/helper-plugin-utils": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-MgR55l4q9KddUDITEzEFYn5ZsGDXMSsU9E+kh7fjRXTIC3RHqfCo8RPRbyReYJh44HQ/yomFkqbOFohXvDCiIQ=="], - - "@babel/plugin-transform-modules-systemjs": ["@babel/plugin-transform-modules-systemjs@7.25.9", "", { "dependencies": { "@babel/helper-module-transforms": "^7.25.9", "@babel/helper-plugin-utils": "^7.25.9", "@babel/helper-validator-identifier": "^7.25.9", "@babel/traverse": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA=="], - - "@babel/plugin-transform-modules-umd": ["@babel/plugin-transform-modules-umd@7.25.9", "", { "dependencies": { "@babel/helper-module-transforms": "^7.25.9", "@babel/helper-plugin-utils": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw=="], - - "@babel/plugin-transform-named-capturing-groups-regex": ["@babel/plugin-transform-named-capturing-groups-regex@7.25.9", "", { "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.25.9", "@babel/helper-plugin-utils": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA=="], - - "@babel/plugin-transform-new-target": ["@babel/plugin-transform-new-target@7.25.9", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ=="], - - "@babel/plugin-transform-nullish-coalescing-operator": ["@babel/plugin-transform-nullish-coalescing-operator@7.26.6", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.26.5" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-CKW8Vu+uUZneQCPtXmSBUC6NCAUdya26hWCElAWh5mVSlSRsmiCPUUDKb3Z0szng1hiAJa098Hkhg9o4SE35Qw=="], - - "@babel/plugin-transform-numeric-separator": ["@babel/plugin-transform-numeric-separator@7.25.9", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q=="], - - "@babel/plugin-transform-object-rest-spread": ["@babel/plugin-transform-object-rest-spread@7.25.9", "", { "dependencies": { "@babel/helper-compilation-targets": "^7.25.9", "@babel/helper-plugin-utils": "^7.25.9", "@babel/plugin-transform-parameters": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg=="], - - "@babel/plugin-transform-object-super": ["@babel/plugin-transform-object-super@7.25.9", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.25.9", "@babel/helper-replace-supers": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A=="], - - "@babel/plugin-transform-optional-catch-binding": ["@babel/plugin-transform-optional-catch-binding@7.25.9", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g=="], - - "@babel/plugin-transform-optional-chaining": ["@babel/plugin-transform-optional-chaining@7.25.9", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.25.9", "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A=="], - - "@babel/plugin-transform-parameters": ["@babel/plugin-transform-parameters@7.25.9", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g=="], - - "@babel/plugin-transform-private-methods": ["@babel/plugin-transform-private-methods@7.25.9", "", { "dependencies": { "@babel/helper-create-class-features-plugin": "^7.25.9", "@babel/helper-plugin-utils": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw=="], - - "@babel/plugin-transform-private-property-in-object": ["@babel/plugin-transform-private-property-in-object@7.25.9", "", { "dependencies": { "@babel/helper-annotate-as-pure": "^7.25.9", "@babel/helper-create-class-features-plugin": "^7.25.9", "@babel/helper-plugin-utils": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw=="], - - "@babel/plugin-transform-property-literals": ["@babel/plugin-transform-property-literals@7.25.9", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA=="], - - "@babel/plugin-transform-regenerator": ["@babel/plugin-transform-regenerator@7.27.0", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.26.5", "regenerator-transform": "^0.15.2" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-LX/vCajUJQDqE7Aum/ELUMZAY19+cDpghxrnyt5I1tV6X5PyC86AOoWXWFYFeIvauyeSA6/ktn4tQVn/3ZifsA=="], - - "@babel/plugin-transform-regexp-modifiers": ["@babel/plugin-transform-regexp-modifiers@7.26.0", "", { "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.25.9", "@babel/helper-plugin-utils": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-vN6saax7lrA2yA/Pak3sCxuD6F5InBjn9IcrIKQPjpsLvuHYLVroTxjdlVRHjjBWxKOqIwpTXDkOssYT4BFdRw=="], - - "@babel/plugin-transform-reserved-words": ["@babel/plugin-transform-reserved-words@7.25.9", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg=="], - - "@babel/plugin-transform-runtime": ["@babel/plugin-transform-runtime@7.26.10", "", { "dependencies": { "@babel/helper-module-imports": "^7.25.9", "@babel/helper-plugin-utils": "^7.26.5", "babel-plugin-polyfill-corejs2": "^0.4.10", "babel-plugin-polyfill-corejs3": "^0.11.0", "babel-plugin-polyfill-regenerator": "^0.6.1", "semver": "^6.3.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-NWaL2qG6HRpONTnj4JvDU6th4jYeZOJgu3QhmFTCihib0ermtOJqktA5BduGm3suhhVe9EMP9c9+mfJ/I9slqw=="], - - "@babel/plugin-transform-shorthand-properties": ["@babel/plugin-transform-shorthand-properties@7.25.9", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng=="], - - "@babel/plugin-transform-spread": ["@babel/plugin-transform-spread@7.25.9", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.25.9", "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A=="], - - "@babel/plugin-transform-sticky-regex": ["@babel/plugin-transform-sticky-regex@7.25.9", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA=="], - - "@babel/plugin-transform-template-literals": ["@babel/plugin-transform-template-literals@7.26.8", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.26.5" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-OmGDL5/J0CJPJZTHZbi2XpO0tyT2Ia7fzpW5GURwdtp2X3fMmN8au/ej6peC/T33/+CRiIpA8Krse8hFGVmT5Q=="], - - "@babel/plugin-transform-typeof-symbol": ["@babel/plugin-transform-typeof-symbol@7.27.0", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.26.5" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-+LLkxA9rKJpNoGsbLnAgOCdESl73vwYn+V6b+5wHbrE7OGKVDPHIQvbFSzqE6rwqaCw2RE+zdJrlLkcf8YOA0w=="], - - "@babel/plugin-transform-unicode-escapes": ["@babel/plugin-transform-unicode-escapes@7.25.9", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q=="], - - "@babel/plugin-transform-unicode-property-regex": ["@babel/plugin-transform-unicode-property-regex@7.25.9", "", { "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.25.9", "@babel/helper-plugin-utils": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg=="], - - "@babel/plugin-transform-unicode-regex": ["@babel/plugin-transform-unicode-regex@7.25.9", "", { "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.25.9", "@babel/helper-plugin-utils": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA=="], - - "@babel/plugin-transform-unicode-sets-regex": ["@babel/plugin-transform-unicode-sets-regex@7.25.9", "", { "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.25.9", "@babel/helper-plugin-utils": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ=="], - - "@babel/preset-env": ["@babel/preset-env@7.26.9", "", { "dependencies": { "@babel/compat-data": "^7.26.8", "@babel/helper-compilation-targets": "^7.26.5", "@babel/helper-plugin-utils": "^7.26.5", "@babel/helper-validator-option": "^7.25.9", "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.9", "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.9", "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.9", "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.25.9", "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.9", "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", "@babel/plugin-syntax-import-assertions": "^7.26.0", "@babel/plugin-syntax-import-attributes": "^7.26.0", "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", "@babel/plugin-transform-arrow-functions": "^7.25.9", "@babel/plugin-transform-async-generator-functions": "^7.26.8", "@babel/plugin-transform-async-to-generator": "^7.25.9", "@babel/plugin-transform-block-scoped-functions": "^7.26.5", "@babel/plugin-transform-block-scoping": "^7.25.9", "@babel/plugin-transform-class-properties": "^7.25.9", "@babel/plugin-transform-class-static-block": "^7.26.0", "@babel/plugin-transform-classes": "^7.25.9", "@babel/plugin-transform-computed-properties": "^7.25.9", "@babel/plugin-transform-destructuring": "^7.25.9", "@babel/plugin-transform-dotall-regex": "^7.25.9", "@babel/plugin-transform-duplicate-keys": "^7.25.9", "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.9", "@babel/plugin-transform-dynamic-import": "^7.25.9", "@babel/plugin-transform-exponentiation-operator": "^7.26.3", "@babel/plugin-transform-export-namespace-from": "^7.25.9", "@babel/plugin-transform-for-of": "^7.26.9", "@babel/plugin-transform-function-name": "^7.25.9", "@babel/plugin-transform-json-strings": "^7.25.9", "@babel/plugin-transform-literals": "^7.25.9", "@babel/plugin-transform-logical-assignment-operators": "^7.25.9", "@babel/plugin-transform-member-expression-literals": "^7.25.9", "@babel/plugin-transform-modules-amd": "^7.25.9", "@babel/plugin-transform-modules-commonjs": "^7.26.3", "@babel/plugin-transform-modules-systemjs": "^7.25.9", "@babel/plugin-transform-modules-umd": "^7.25.9", "@babel/plugin-transform-named-capturing-groups-regex": "^7.25.9", "@babel/plugin-transform-new-target": "^7.25.9", "@babel/plugin-transform-nullish-coalescing-operator": "^7.26.6", "@babel/plugin-transform-numeric-separator": "^7.25.9", "@babel/plugin-transform-object-rest-spread": "^7.25.9", "@babel/plugin-transform-object-super": "^7.25.9", "@babel/plugin-transform-optional-catch-binding": "^7.25.9", "@babel/plugin-transform-optional-chaining": "^7.25.9", "@babel/plugin-transform-parameters": "^7.25.9", "@babel/plugin-transform-private-methods": "^7.25.9", "@babel/plugin-transform-private-property-in-object": "^7.25.9", "@babel/plugin-transform-property-literals": "^7.25.9", "@babel/plugin-transform-regenerator": "^7.25.9", "@babel/plugin-transform-regexp-modifiers": "^7.26.0", "@babel/plugin-transform-reserved-words": "^7.25.9", "@babel/plugin-transform-shorthand-properties": "^7.25.9", "@babel/plugin-transform-spread": "^7.25.9", "@babel/plugin-transform-sticky-regex": "^7.25.9", "@babel/plugin-transform-template-literals": "^7.26.8", "@babel/plugin-transform-typeof-symbol": "^7.26.7", "@babel/plugin-transform-unicode-escapes": "^7.25.9", "@babel/plugin-transform-unicode-property-regex": "^7.25.9", "@babel/plugin-transform-unicode-regex": "^7.25.9", "@babel/plugin-transform-unicode-sets-regex": "^7.25.9", "@babel/preset-modules": "0.1.6-no-external-plugins", "babel-plugin-polyfill-corejs2": "^0.4.10", "babel-plugin-polyfill-corejs3": "^0.11.0", "babel-plugin-polyfill-regenerator": "^0.6.1", "core-js-compat": "^3.40.0", "semver": "^6.3.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-vX3qPGE8sEKEAZCWk05k3cpTAE3/nOYca++JA+Rd0z2NCNzabmYvEiSShKzm10zdquOIAVXsy2Ei/DTW34KlKQ=="], - - "@babel/preset-modules": ["@babel/preset-modules@0.1.6-no-external-plugins", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@babel/types": "^7.4.4", "esutils": "^2.0.2" }, "peerDependencies": { "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" } }, "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA=="], - - "@babel/runtime": ["@babel/runtime@7.26.10", "", { "dependencies": { "regenerator-runtime": "^0.14.0" } }, "sha512-2WJMeRQPHKSPemqk/awGrAiuFfzBmOIPXKizAsVhWH9YJqLZ0H+HS4c8loHGgW6utJ3E/ejXQUsiGaQy2NZ9Fw=="], - - "@babel/template": ["@babel/template@7.27.0", "", { "dependencies": { "@babel/code-frame": "^7.26.2", "@babel/parser": "^7.27.0", "@babel/types": "^7.27.0" } }, "sha512-2ncevenBqXI6qRMukPlXwHKHchC7RyMuu4xv5JBXRfOGVcTy1mXCD12qrp7Jsoxll1EV3+9sE4GugBVRjT2jFA=="], - - "@babel/traverse": ["@babel/traverse@7.27.0", "", { "dependencies": { "@babel/code-frame": "^7.26.2", "@babel/generator": "^7.27.0", "@babel/parser": "^7.27.0", "@babel/template": "^7.27.0", "@babel/types": "^7.27.0", "debug": "^4.3.1", "globals": "^11.1.0" } }, "sha512-19lYZFzYVQkkHkl4Cy4WrAVcqBkgvV2YM2TU3xG6DIwO7O3ecbDPfW3yM3bjAGcqcQHi+CCtjMR3dIEHxsd6bA=="], - - "@babel/types": ["@babel/types@7.27.0", "", { "dependencies": { "@babel/helper-string-parser": "^7.25.9", "@babel/helper-validator-identifier": "^7.25.9" } }, "sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg=="], - - "@colors/colors": ["@colors/colors@1.5.0", "", {}, "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ=="], - - "@discoveryjs/json-ext": ["@discoveryjs/json-ext@0.6.3", "", {}, "sha512-4B4OijXeVNOPZlYA2oEwWOTkzyltLao+xbotHQeqN++Rv27Y6s818+n2Qkp8q+Fxhn0t/5lA5X1Mxktud8eayQ=="], - - "@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.1", "", { "os": "aix", "cpu": "ppc64" }, "sha512-kfYGy8IdzTGy+z0vFGvExZtxkFlA4zAxgKEahG9KE1ScBjpQnFsNOX8KTU5ojNru5ed5CVoJYXFtoxaq5nFbjQ=="], - - "@esbuild/android-arm": ["@esbuild/android-arm@0.25.1", "", { "os": "android", "cpu": "arm" }, "sha512-dp+MshLYux6j/JjdqVLnMglQlFu+MuVeNrmT5nk6q07wNhCdSnB7QZj+7G8VMUGh1q+vj2Bq8kRsuyA00I/k+Q=="], - - "@esbuild/android-arm64": ["@esbuild/android-arm64@0.25.1", "", { "os": "android", "cpu": "arm64" }, "sha512-50tM0zCJW5kGqgG7fQ7IHvQOcAn9TKiVRuQ/lN0xR+T2lzEFvAi1ZcS8DiksFcEpf1t/GYOeOfCAgDHFpkiSmA=="], - - "@esbuild/android-x64": ["@esbuild/android-x64@0.25.1", "", { "os": "android", "cpu": "x64" }, "sha512-GCj6WfUtNldqUzYkN/ITtlhwQqGWu9S45vUXs7EIYf+7rCiiqH9bCloatO9VhxsL0Pji+PF4Lz2XXCES+Q8hDw=="], - - "@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.25.1", "", { "os": "darwin", "cpu": "arm64" }, "sha512-5hEZKPf+nQjYoSr/elb62U19/l1mZDdqidGfmFutVUjjUZrOazAtwK+Kr+3y0C/oeJfLlxo9fXb1w7L+P7E4FQ=="], - - "@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.25.1", "", { "os": "darwin", "cpu": "x64" }, "sha512-hxVnwL2Dqs3fM1IWq8Iezh0cX7ZGdVhbTfnOy5uURtao5OIVCEyj9xIzemDi7sRvKsuSdtCAhMKarxqtlyVyfA=="], - - "@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.25.1", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-1MrCZs0fZa2g8E+FUo2ipw6jw5qqQiH+tERoS5fAfKnRx6NXH31tXBKI3VpmLijLH6yriMZsxJtaXUyFt/8Y4A=="], - - "@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.25.1", "", { "os": "freebsd", "cpu": "x64" }, "sha512-0IZWLiTyz7nm0xuIs0q1Y3QWJC52R8aSXxe40VUxm6BB1RNmkODtW6LHvWRrGiICulcX7ZvyH6h5fqdLu4gkww=="], - - "@esbuild/linux-arm": ["@esbuild/linux-arm@0.25.1", "", { "os": "linux", "cpu": "arm" }, "sha512-NdKOhS4u7JhDKw9G3cY6sWqFcnLITn6SqivVArbzIaf3cemShqfLGHYMx8Xlm/lBit3/5d7kXvriTUGa5YViuQ=="], - - "@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.25.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-jaN3dHi0/DDPelk0nLcXRm1q7DNJpjXy7yWaWvbfkPvI+7XNSc/lDOnCLN7gzsyzgu6qSAmgSvP9oXAhP973uQ=="], - - "@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.25.1", "", { "os": "linux", "cpu": "ia32" }, "sha512-OJykPaF4v8JidKNGz8c/q1lBO44sQNUQtq1KktJXdBLn1hPod5rE/Hko5ugKKZd+D2+o1a9MFGUEIUwO2YfgkQ=="], - - "@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.25.1", "", { "os": "linux", "cpu": "none" }, "sha512-nGfornQj4dzcq5Vp835oM/o21UMlXzn79KobKlcs3Wz9smwiifknLy4xDCLUU0BWp7b/houtdrgUz7nOGnfIYg=="], - - "@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.25.1", "", { "os": "linux", "cpu": "none" }, "sha512-1osBbPEFYwIE5IVB/0g2X6i1qInZa1aIoj1TdL4AaAb55xIIgbg8Doq6a5BzYWgr+tEcDzYH67XVnTmUzL+nXg=="], - - "@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.25.1", "", { "os": "linux", "cpu": "ppc64" }, "sha512-/6VBJOwUf3TdTvJZ82qF3tbLuWsscd7/1w+D9LH0W/SqUgM5/JJD0lrJ1fVIfZsqB6RFmLCe0Xz3fmZc3WtyVg=="], - - "@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.25.1", "", { "os": "linux", "cpu": "none" }, "sha512-nSut/Mx5gnilhcq2yIMLMe3Wl4FK5wx/o0QuuCLMtmJn+WeWYoEGDN1ipcN72g1WHsnIbxGXd4i/MF0gTcuAjQ=="], - - "@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.25.1", "", { "os": "linux", "cpu": "s390x" }, "sha512-cEECeLlJNfT8kZHqLarDBQso9a27o2Zd2AQ8USAEoGtejOrCYHNtKP8XQhMDJMtthdF4GBmjR2au3x1udADQQQ=="], - - "@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.1", "", { "os": "linux", "cpu": "x64" }, "sha512-xbfUhu/gnvSEg+EGovRc+kjBAkrvtk38RlerAzQxvMzlB4fXpCFCeUAYzJvrnhFtdeyVCDANSjJvOvGYoeKzFA=="], - - "@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.25.1", "", { "os": "none", "cpu": "arm64" }, "sha512-O96poM2XGhLtpTh+s4+nP7YCCAfb4tJNRVZHfIE7dgmax+yMP2WgMd2OecBuaATHKTHsLWHQeuaxMRnCsH8+5g=="], - - "@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.25.1", "", { "os": "none", "cpu": "x64" }, "sha512-X53z6uXip6KFXBQ+Krbx25XHV/NCbzryM6ehOAeAil7X7oa4XIq+394PWGnwaSQ2WRA0KI6PUO6hTO5zeF5ijA=="], - - "@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.25.1", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-Na9T3szbXezdzM/Kfs3GcRQNjHzM6GzFBeU1/6IV/npKP5ORtp9zbQjvkDJ47s6BCgaAZnnnu/cY1x342+MvZg=="], - - "@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.25.1", "", { "os": "openbsd", "cpu": "x64" }, "sha512-T3H78X2h1tszfRSf+txbt5aOp/e7TAz3ptVKu9Oyir3IAOFPGV6O9c2naym5TOriy1l0nNf6a4X5UXRZSGX/dw=="], - - "@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.25.1", "", { "os": "sunos", "cpu": "x64" }, "sha512-2H3RUvcmULO7dIE5EWJH8eubZAI4xw54H1ilJnRNZdeo8dTADEZ21w6J22XBkXqGJbe0+wnNJtw3UXRoLJnFEg=="], - - "@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.25.1", "", { "os": "win32", "cpu": "arm64" }, "sha512-GE7XvrdOzrb+yVKB9KsRMq+7a2U/K5Cf/8grVFRAGJmfADr/e/ODQ134RK2/eeHqYV5eQRFxb1hY7Nr15fv1NQ=="], - - "@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.25.1", "", { "os": "win32", "cpu": "ia32" }, "sha512-uOxSJCIcavSiT6UnBhBzE8wy3n0hOkJsBOzy7HDAuTDE++1DJMRRVCPGisULScHL+a/ZwdXPpXD3IyFKjA7K8A=="], - - "@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.1", "", { "os": "win32", "cpu": "x64" }, "sha512-Y1EQdcfwMSeQN/ujR5VayLOJ1BHaK+ssyk0AEzPjC+t1lITgsnccPqFjb6V+LsTp/9Iov4ysfjxLaGJ9RPtkVg=="], - - "@eslint-community/eslint-utils": ["@eslint-community/eslint-utils@4.5.1", "", { "dependencies": { "eslint-visitor-keys": "^3.4.3" }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, "sha512-soEIOALTfTK6EjmKMMoLugwaP0rzkad90iIWd1hMO9ARkSAyjfMfkRRhLvD5qH7vvM0Cg72pieUfR6yh6XxC4w=="], - - "@eslint-community/regexpp": ["@eslint-community/regexpp@4.12.1", "", {}, "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ=="], - - "@eslint/config-array": ["@eslint/config-array@0.20.0", "", { "dependencies": { "@eslint/object-schema": "^2.1.6", "debug": "^4.3.1", "minimatch": "^3.1.2" } }, "sha512-fxlS1kkIjx8+vy2SjuCB94q3htSNrufYTXubwiBFeaQHbH6Ipi43gFJq2zCMt6PHhImH3Xmr0NksKDvchWlpQQ=="], - - "@eslint/config-helpers": ["@eslint/config-helpers@0.2.1", "", {}, "sha512-RI17tsD2frtDu/3dmI7QRrD4bedNKPM08ziRYaC5AhkGrzIAJelm9kJU1TznK+apx6V+cqRz8tfpEeG3oIyjxw=="], - - "@eslint/core": ["@eslint/core@0.13.0", "", { "dependencies": { "@types/json-schema": "^7.0.15" } }, "sha512-yfkgDw1KR66rkT5A8ci4irzDysN7FRpq3ttJolR88OqQikAWqwA8j5VZyas+vjyBNFIJ7MfybJ9plMILI2UrCw=="], - - "@eslint/eslintrc": ["@eslint/eslintrc@3.3.1", "", { "dependencies": { "ajv": "^6.12.4", "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.0", "minimatch": "^3.1.2", "strip-json-comments": "^3.1.1" } }, "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ=="], - - "@eslint/js": ["@eslint/js@9.25.1", "", {}, "sha512-dEIwmjntEx8u3Uvv+kr3PDeeArL8Hw07H9kyYxCjnM9pBjfEhk6uLXSchxxzgiwtRhhzVzqmUSDFBOi1TuZ7qg=="], - - "@eslint/object-schema": ["@eslint/object-schema@2.1.6", "", {}, "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA=="], - - "@eslint/plugin-kit": ["@eslint/plugin-kit@0.2.8", "", { "dependencies": { "@eslint/core": "^0.13.0", "levn": "^0.4.1" } }, "sha512-ZAoA40rNMPwSm+AeHpCq8STiNAwzWLJuP8Xv4CHIc9wv/PSuExjMrmjfYNj682vW0OOiZ1HKxzvjQr9XZIisQA=="], - - "@fortawesome/angular-fontawesome": ["@fortawesome/angular-fontawesome@1.0.0", "", { "dependencies": { "@fortawesome/fontawesome-svg-core": "^6.7.1", "tslib": "^2.8.1" }, "peerDependencies": { "@angular/core": "^19.0.0" } }, "sha512-EC2fYuXIuw2ld1kzJi+zysWus6OeGGfLQtbh0hW9zyyq5aBo8ZJkcJKBsVQ8E6Mg7nHyTWaXn+sdcXTPDWz+UQ=="], - - "@fortawesome/fontawesome-common-types": ["@fortawesome/fontawesome-common-types@6.7.2", "", {}, "sha512-Zs+YeHUC5fkt7Mg1l6XTniei3k4bwG/yo3iFUtZWd/pMx9g3fdvkSK9E0FOC+++phXOka78uJcYb8JaFkW52Xg=="], - - "@fortawesome/fontawesome-svg-core": ["@fortawesome/fontawesome-svg-core@6.7.2", "", { "dependencies": { "@fortawesome/fontawesome-common-types": "6.7.2" } }, "sha512-yxtOBWDrdi5DD5o1pmVdq3WMCvnobT0LU6R8RyyVXPvFRd2o79/0NCuQoCjNTeZz9EzA9xS3JxNWfv54RIHFEA=="], - - "@fortawesome/free-brands-svg-icons": ["@fortawesome/free-brands-svg-icons@6.7.2", "", { "dependencies": { "@fortawesome/fontawesome-common-types": "6.7.2" } }, "sha512-zu0evbcRTgjKfrr77/2XX+bU+kuGfjm0LbajJHVIgBWNIDzrhpRxiCPNT8DW5AdmSsq7Mcf9D1bH0aSeSUSM+Q=="], - - "@fortawesome/free-solid-svg-icons": ["@fortawesome/free-solid-svg-icons@6.7.2", "", { "dependencies": { "@fortawesome/fontawesome-common-types": "6.7.2" } }, "sha512-GsBrnOzU8uj0LECDfD5zomZJIjrPhIlWU82AHwa2s40FKH+kcxQaBvBo3Z4TxyZHIyX8XTDxsyA33/Vx9eFuQA=="], - - "@humanfs/core": ["@humanfs/core@0.19.1", "", {}, "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA=="], - - "@humanfs/node": ["@humanfs/node@0.16.6", "", { "dependencies": { "@humanfs/core": "^0.19.1", "@humanwhocodes/retry": "^0.3.0" } }, "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw=="], - - "@humanwhocodes/module-importer": ["@humanwhocodes/module-importer@1.0.1", "", {}, "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA=="], - - "@humanwhocodes/retry": ["@humanwhocodes/retry@0.4.2", "", {}, "sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ=="], - - "@inquirer/checkbox": ["@inquirer/checkbox@4.1.4", "", { "dependencies": { "@inquirer/core": "^10.1.9", "@inquirer/figures": "^1.0.11", "@inquirer/type": "^3.0.5", "ansi-escapes": "^4.3.2", "yoctocolors-cjs": "^2.1.2" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-d30576EZdApjAMceijXA5jDzRQHT/MygbC+J8I7EqA6f/FRpYxlRtRJbHF8gHeWYeSdOuTEJqonn7QLB1ELezA=="], - - "@inquirer/confirm": ["@inquirer/confirm@5.1.6", "", { "dependencies": { "@inquirer/core": "^10.1.7", "@inquirer/type": "^3.0.4" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-6ZXYK3M1XmaVBZX6FCfChgtponnL0R6I7k8Nu+kaoNkT828FVZTcca1MqmWQipaW2oNREQl5AaPCUOOCVNdRMw=="], - - "@inquirer/core": ["@inquirer/core@10.1.9", "", { "dependencies": { "@inquirer/figures": "^1.0.11", "@inquirer/type": "^3.0.5", "ansi-escapes": "^4.3.2", "cli-width": "^4.1.0", "mute-stream": "^2.0.0", "signal-exit": "^4.1.0", "wrap-ansi": "^6.2.0", "yoctocolors-cjs": "^2.1.2" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-sXhVB8n20NYkUBfDYgizGHlpRVaCRjtuzNZA6xpALIUbkgfd2Hjz+DfEN6+h1BRnuxw0/P4jCIMjMsEOAMwAJw=="], - - "@inquirer/editor": ["@inquirer/editor@4.2.9", "", { "dependencies": { "@inquirer/core": "^10.1.9", "@inquirer/type": "^3.0.5", "external-editor": "^3.1.0" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-8HjOppAxO7O4wV1ETUlJFg6NDjp/W2NP5FB9ZPAcinAlNT4ZIWOLe2pUVwmmPRSV0NMdI5r/+lflN55AwZOKSw=="], - - "@inquirer/expand": ["@inquirer/expand@4.0.11", "", { "dependencies": { "@inquirer/core": "^10.1.9", "@inquirer/type": "^3.0.5", "yoctocolors-cjs": "^2.1.2" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-OZSUW4hFMW2TYvX/Sv+NnOZgO8CHT2TU1roUCUIF2T+wfw60XFRRp9MRUPCT06cRnKL+aemt2YmTWwt7rOrNEA=="], - - "@inquirer/figures": ["@inquirer/figures@1.0.11", "", {}, "sha512-eOg92lvrn/aRUqbxRyvpEWnrvRuTYRifixHkYVpJiygTgVSBIHDqLh0SrMQXkafvULg3ck11V7xvR+zcgvpHFw=="], - - "@inquirer/input": ["@inquirer/input@4.1.8", "", { "dependencies": { "@inquirer/core": "^10.1.9", "@inquirer/type": "^3.0.5" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-WXJI16oOZ3/LiENCAxe8joniNp8MQxF6Wi5V+EBbVA0ZIOpFcL4I9e7f7cXse0HJeIPCWO8Lcgnk98juItCi7Q=="], - - "@inquirer/number": ["@inquirer/number@3.0.11", "", { "dependencies": { "@inquirer/core": "^10.1.9", "@inquirer/type": "^3.0.5" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-pQK68CsKOgwvU2eA53AG/4npRTH2pvs/pZ2bFvzpBhrznh8Mcwt19c+nMO7LHRr3Vreu1KPhNBF3vQAKrjIulw=="], - - "@inquirer/password": ["@inquirer/password@4.0.11", "", { "dependencies": { "@inquirer/core": "^10.1.9", "@inquirer/type": "^3.0.5", "ansi-escapes": "^4.3.2" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-dH6zLdv+HEv1nBs96Case6eppkRggMe8LoOTl30+Gq5Wf27AO/vHFgStTVz4aoevLdNXqwE23++IXGw4eiOXTg=="], - - "@inquirer/prompts": ["@inquirer/prompts@7.3.2", "", { "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" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-G1ytyOoHh5BphmEBxSwALin3n1KGNYB6yImbICcRQdzXfOGbuJ9Jske/Of5Sebk339NSGGNfUshnzK8YWkTPsQ=="], - - "@inquirer/rawlist": ["@inquirer/rawlist@4.0.11", "", { "dependencies": { "@inquirer/core": "^10.1.9", "@inquirer/type": "^3.0.5", "yoctocolors-cjs": "^2.1.2" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-uAYtTx0IF/PqUAvsRrF3xvnxJV516wmR6YVONOmCWJbbt87HcDHLfL9wmBQFbNJRv5kCjdYKrZcavDkH3sVJPg=="], - - "@inquirer/search": ["@inquirer/search@3.0.11", "", { "dependencies": { "@inquirer/core": "^10.1.9", "@inquirer/figures": "^1.0.11", "@inquirer/type": "^3.0.5", "yoctocolors-cjs": "^2.1.2" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-9CWQT0ikYcg6Ls3TOa7jljsD7PgjcsYEM0bYE+Gkz+uoW9u8eaJCRHJKkucpRE5+xKtaaDbrND+nPDoxzjYyew=="], - - "@inquirer/select": ["@inquirer/select@4.1.0", "", { "dependencies": { "@inquirer/core": "^10.1.9", "@inquirer/figures": "^1.0.11", "@inquirer/type": "^3.0.5", "ansi-escapes": "^4.3.2", "yoctocolors-cjs": "^2.1.2" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-z0a2fmgTSRN+YBuiK1ROfJ2Nvrpij5lVN3gPDkQGhavdvIVGHGW29LwYZfM/j42Ai2hUghTI/uoBuTbrJk42bA=="], - - "@inquirer/type": ["@inquirer/type@1.5.5", "", { "dependencies": { "mute-stream": "^1.0.0" } }, "sha512-MzICLu4yS7V8AA61sANROZ9vT1H3ooca5dSmI1FjZkzq7o/koMsRfQSzRtFo+F3Ao4Sf1C0bpLKejpKB/+j6MA=="], - - "@isaacs/cliui": ["@isaacs/cliui@8.0.2", "", { "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" } }, "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA=="], - - "@isaacs/fs-minipass": ["@isaacs/fs-minipass@4.0.1", "", { "dependencies": { "minipass": "^7.0.4" } }, "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w=="], - - "@istanbuljs/schema": ["@istanbuljs/schema@0.1.3", "", {}, "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA=="], - - "@jridgewell/gen-mapping": ["@jridgewell/gen-mapping@0.3.8", "", { "dependencies": { "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA=="], - - "@jridgewell/resolve-uri": ["@jridgewell/resolve-uri@3.1.2", "", {}, "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw=="], - - "@jridgewell/set-array": ["@jridgewell/set-array@1.2.1", "", {}, "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A=="], - - "@jridgewell/source-map": ["@jridgewell/source-map@0.3.6", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25" } }, "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ=="], - - "@jridgewell/sourcemap-codec": ["@jridgewell/sourcemap-codec@1.5.0", "", {}, "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ=="], - - "@jridgewell/trace-mapping": ["@jridgewell/trace-mapping@0.3.25", "", { "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ=="], - - "@jsonjoy.com/base64": ["@jsonjoy.com/base64@1.1.2", "", { "peerDependencies": { "tslib": "2" } }, "sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA=="], - - "@jsonjoy.com/json-pack": ["@jsonjoy.com/json-pack@1.2.0", "", { "dependencies": { "@jsonjoy.com/base64": "^1.1.1", "@jsonjoy.com/util": "^1.1.2", "hyperdyperid": "^1.2.0", "thingies": "^1.20.0" }, "peerDependencies": { "tslib": "2" } }, "sha512-io1zEbbYcElht3tdlqEOFxZ0dMTYrHz9iMf0gqn1pPjZFTCgM5R4R5IMA20Chb2UPYYsxjzs8CgZ7Nb5n2K2rA=="], - - "@jsonjoy.com/util": ["@jsonjoy.com/util@1.5.0", "", { "peerDependencies": { "tslib": "2" } }, "sha512-ojoNsrIuPI9g6o8UxhraZQSyF2ByJanAY4cTFbc8Mf2AXEF4aQRGY1dJxyJpuyav8r9FGflEt/Ff3u5Nt6YMPA=="], - - "@leichtgewicht/ip-codec": ["@leichtgewicht/ip-codec@2.0.5", "", {}, "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw=="], - - "@listr2/prompt-adapter-inquirer": ["@listr2/prompt-adapter-inquirer@2.0.18", "", { "dependencies": { "@inquirer/type": "^1.5.5" }, "peerDependencies": { "@inquirer/prompts": ">= 3 < 8" } }, "sha512-0hz44rAcrphyXcA8IS7EJ2SCoaBZD2u5goE8S/e+q/DL+dOGpqpcLidVOFeLG3VgML62SXmfRLAhWt0zL1oW4Q=="], - - "@lmdb/lmdb-darwin-arm64": ["@lmdb/lmdb-darwin-arm64@3.2.6", "", { "os": "darwin", "cpu": "arm64" }, "sha512-yF/ih9EJJZc72psFQbwnn8mExIWfTnzWJg+N02hnpXtDPETYLmQswIMBn7+V88lfCaFrMozJsUvcEQIkEPU0Gg=="], - - "@lmdb/lmdb-darwin-x64": ["@lmdb/lmdb-darwin-x64@3.2.6", "", { "os": "darwin", "cpu": "x64" }, "sha512-5BbCumsFLbCi586Bb1lTWQFkekdQUw8/t8cy++Uq251cl3hbDIGEwD9HAwh8H6IS2F6QA9KdKmO136LmipRNkg=="], - - "@lmdb/lmdb-linux-arm": ["@lmdb/lmdb-linux-arm@3.2.6", "", { "os": "linux", "cpu": "arm" }, "sha512-+6XgLpMb7HBoWxXj+bLbiiB4s0mRRcDPElnRS3LpWRzdYSe+gFk5MT/4RrVNqd2MESUDmb53NUXw1+BP69bjiQ=="], - - "@lmdb/lmdb-linux-arm64": ["@lmdb/lmdb-linux-arm64@3.2.6", "", { "os": "linux", "cpu": "arm64" }, "sha512-l5VmJamJ3nyMmeD1ANBQCQqy7do1ESaJQfKPSm2IG9/ADZryptTyCj8N6QaYgIWewqNUrcbdMkJajRQAt5Qjfg=="], - - "@lmdb/lmdb-linux-x64": ["@lmdb/lmdb-linux-x64@3.2.6", "", { "os": "linux", "cpu": "x64" }, "sha512-nDYT8qN9si5+onHYYaI4DiauDMx24OAiuZAUsEqrDy+ja/3EbpXPX/VAkMV8AEaQhy3xc4dRC+KcYIvOFefJ4Q=="], - - "@lmdb/lmdb-win32-x64": ["@lmdb/lmdb-win32-x64@3.2.6", "", { "os": "win32", "cpu": "x64" }, "sha512-XlqVtILonQnG+9fH2N3Aytria7P/1fwDgDhl29rde96uH2sLB8CHORIf2PfuLVzFQJ7Uqp8py9AYwr3ZUCFfWg=="], - - "@msgpackr-extract/msgpackr-extract-darwin-arm64": ["@msgpackr-extract/msgpackr-extract-darwin-arm64@3.0.3", "", { "os": "darwin", "cpu": "arm64" }, "sha512-QZHtlVgbAdy2zAqNA9Gu1UpIuI8Xvsd1v8ic6B2pZmeFnFcMWiPLfWXh7TVw4eGEZ/C9TH281KwhVoeQUKbyjw=="], - - "@msgpackr-extract/msgpackr-extract-darwin-x64": ["@msgpackr-extract/msgpackr-extract-darwin-x64@3.0.3", "", { "os": "darwin", "cpu": "x64" }, "sha512-mdzd3AVzYKuUmiWOQ8GNhl64/IoFGol569zNRdkLReh6LRLHOXxU4U8eq0JwaD8iFHdVGqSy4IjFL4reoWCDFw=="], - - "@msgpackr-extract/msgpackr-extract-linux-arm": ["@msgpackr-extract/msgpackr-extract-linux-arm@3.0.3", "", { "os": "linux", "cpu": "arm" }, "sha512-fg0uy/dG/nZEXfYilKoRe7yALaNmHoYeIoJuJ7KJ+YyU2bvY8vPv27f7UKhGRpY6euFYqEVhxCFZgAUNQBM3nw=="], - - "@msgpackr-extract/msgpackr-extract-linux-arm64": ["@msgpackr-extract/msgpackr-extract-linux-arm64@3.0.3", "", { "os": "linux", "cpu": "arm64" }, "sha512-YxQL+ax0XqBJDZiKimS2XQaf+2wDGVa1enVRGzEvLLVFeqa5kx2bWbtcSXgsxjQB7nRqqIGFIcLteF/sHeVtQg=="], - - "@msgpackr-extract/msgpackr-extract-linux-x64": ["@msgpackr-extract/msgpackr-extract-linux-x64@3.0.3", "", { "os": "linux", "cpu": "x64" }, "sha512-cvwNfbP07pKUfq1uH+S6KJ7dT9K8WOE4ZiAcsrSes+UY55E/0jLYc+vq+DO7jlmqRb5zAggExKm0H7O/CBaesg=="], - - "@msgpackr-extract/msgpackr-extract-win32-x64": ["@msgpackr-extract/msgpackr-extract-win32-x64@3.0.3", "", { "os": "win32", "cpu": "x64" }, "sha512-x0fWaQtYp4E6sktbsdAqnehxDgEc/VwM7uLsRCYWaiGu0ykYdZPiS8zCWdnjHwyiumousxfBm4SO31eXqwEZhQ=="], - - "@napi-rs/nice": ["@napi-rs/nice@1.0.1", "", { "optionalDependencies": { "@napi-rs/nice-android-arm-eabi": "1.0.1", "@napi-rs/nice-android-arm64": "1.0.1", "@napi-rs/nice-darwin-arm64": "1.0.1", "@napi-rs/nice-darwin-x64": "1.0.1", "@napi-rs/nice-freebsd-x64": "1.0.1", "@napi-rs/nice-linux-arm-gnueabihf": "1.0.1", "@napi-rs/nice-linux-arm64-gnu": "1.0.1", "@napi-rs/nice-linux-arm64-musl": "1.0.1", "@napi-rs/nice-linux-ppc64-gnu": "1.0.1", "@napi-rs/nice-linux-riscv64-gnu": "1.0.1", "@napi-rs/nice-linux-s390x-gnu": "1.0.1", "@napi-rs/nice-linux-x64-gnu": "1.0.1", "@napi-rs/nice-linux-x64-musl": "1.0.1", "@napi-rs/nice-win32-arm64-msvc": "1.0.1", "@napi-rs/nice-win32-ia32-msvc": "1.0.1", "@napi-rs/nice-win32-x64-msvc": "1.0.1" } }, "sha512-zM0mVWSXE0a0h9aKACLwKmD6nHcRiKrPpCfvaKqG1CqDEyjEawId0ocXxVzPMCAm6kkWr2P025msfxXEnt8UGQ=="], - - "@napi-rs/nice-android-arm-eabi": ["@napi-rs/nice-android-arm-eabi@1.0.1", "", { "os": "android", "cpu": "arm" }, "sha512-5qpvOu5IGwDo7MEKVqqyAxF90I6aLj4n07OzpARdgDRfz8UbBztTByBp0RC59r3J1Ij8uzYi6jI7r5Lws7nn6w=="], - - "@napi-rs/nice-android-arm64": ["@napi-rs/nice-android-arm64@1.0.1", "", { "os": "android", "cpu": "arm64" }, "sha512-GqvXL0P8fZ+mQqG1g0o4AO9hJjQaeYG84FRfZaYjyJtZZZcMjXW5TwkL8Y8UApheJgyE13TQ4YNUssQaTgTyvA=="], - - "@napi-rs/nice-darwin-arm64": ["@napi-rs/nice-darwin-arm64@1.0.1", "", { "os": "darwin", "cpu": "arm64" }, "sha512-91k3HEqUl2fsrz/sKkuEkscj6EAj3/eZNCLqzD2AA0TtVbkQi8nqxZCZDMkfklULmxLkMxuUdKe7RvG/T6s2AA=="], - - "@napi-rs/nice-darwin-x64": ["@napi-rs/nice-darwin-x64@1.0.1", "", { "os": "darwin", "cpu": "x64" }, "sha512-jXnMleYSIR/+TAN/p5u+NkCA7yidgswx5ftqzXdD5wgy/hNR92oerTXHc0jrlBisbd7DpzoaGY4cFD7Sm5GlgQ=="], - - "@napi-rs/nice-freebsd-x64": ["@napi-rs/nice-freebsd-x64@1.0.1", "", { "os": "freebsd", "cpu": "x64" }, "sha512-j+iJ/ezONXRQsVIB/FJfwjeQXX7A2tf3gEXs4WUGFrJjpe/z2KB7sOv6zpkm08PofF36C9S7wTNuzHZ/Iiccfw=="], - - "@napi-rs/nice-linux-arm-gnueabihf": ["@napi-rs/nice-linux-arm-gnueabihf@1.0.1", "", { "os": "linux", "cpu": "arm" }, "sha512-G8RgJ8FYXYkkSGQwywAUh84m946UTn6l03/vmEXBYNJxQJcD+I3B3k5jmjFG/OPiU8DfvxutOP8bi+F89MCV7Q=="], - - "@napi-rs/nice-linux-arm64-gnu": ["@napi-rs/nice-linux-arm64-gnu@1.0.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-IMDak59/W5JSab1oZvmNbrms3mHqcreaCeClUjwlwDr0m3BoR09ZiN8cKFBzuSlXgRdZ4PNqCYNeGQv7YMTjuA=="], - - "@napi-rs/nice-linux-arm64-musl": ["@napi-rs/nice-linux-arm64-musl@1.0.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-wG8fa2VKuWM4CfjOjjRX9YLIbysSVV1S3Kgm2Fnc67ap/soHBeYZa6AGMeR5BJAylYRjnoVOzV19Cmkco3QEPw=="], - - "@napi-rs/nice-linux-ppc64-gnu": ["@napi-rs/nice-linux-ppc64-gnu@1.0.1", "", { "os": "linux", "cpu": "ppc64" }, "sha512-lxQ9WrBf0IlNTCA9oS2jg/iAjQyTI6JHzABV664LLrLA/SIdD+I1i3Mjf7TsnoUbgopBcCuDztVLfJ0q9ubf6Q=="], - - "@napi-rs/nice-linux-riscv64-gnu": ["@napi-rs/nice-linux-riscv64-gnu@1.0.1", "", { "os": "linux", "cpu": "none" }, "sha512-3xs69dO8WSWBb13KBVex+yvxmUeEsdWexxibqskzoKaWx9AIqkMbWmE2npkazJoopPKX2ULKd8Fm9veEn0g4Ig=="], - - "@napi-rs/nice-linux-s390x-gnu": ["@napi-rs/nice-linux-s390x-gnu@1.0.1", "", { "os": "linux", "cpu": "s390x" }, "sha512-lMFI3i9rlW7hgToyAzTaEybQYGbQHDrpRkg+1gJWEpH0PLAQoZ8jiY0IzakLfNWnVda1eTYYlxxFYzW8Rqczkg=="], - - "@napi-rs/nice-linux-x64-gnu": ["@napi-rs/nice-linux-x64-gnu@1.0.1", "", { "os": "linux", "cpu": "x64" }, "sha512-XQAJs7DRN2GpLN6Fb+ZdGFeYZDdGl2Fn3TmFlqEL5JorgWKrQGRUrpGKbgZ25UeZPILuTKJ+OowG2avN8mThBA=="], - - "@napi-rs/nice-linux-x64-musl": ["@napi-rs/nice-linux-x64-musl@1.0.1", "", { "os": "linux", "cpu": "x64" }, "sha512-/rodHpRSgiI9o1faq9SZOp/o2QkKQg7T+DK0R5AkbnI/YxvAIEHf2cngjYzLMQSQgUhxym+LFr+UGZx4vK4QdQ=="], - - "@napi-rs/nice-win32-arm64-msvc": ["@napi-rs/nice-win32-arm64-msvc@1.0.1", "", { "os": "win32", "cpu": "arm64" }, "sha512-rEcz9vZymaCB3OqEXoHnp9YViLct8ugF+6uO5McifTedjq4QMQs3DHz35xBEGhH3gJWEsXMUbzazkz5KNM5YUg=="], - - "@napi-rs/nice-win32-ia32-msvc": ["@napi-rs/nice-win32-ia32-msvc@1.0.1", "", { "os": "win32", "cpu": "ia32" }, "sha512-t7eBAyPUrWL8su3gDxw9xxxqNwZzAqKo0Szv3IjVQd1GpXXVkb6vBBQUuxfIYaXMzZLwlxRQ7uzM2vdUE9ULGw=="], - - "@napi-rs/nice-win32-x64-msvc": ["@napi-rs/nice-win32-x64-msvc@1.0.1", "", { "os": "win32", "cpu": "x64" }, "sha512-JlF+uDcatt3St2ntBG8H02F1mM45i5SF9W+bIKiReVE6wiy3o16oBP/yxt+RZ+N6LbCImJXJ6bXNO2kn9AXicg=="], - - "@ngtools/webpack": ["@ngtools/webpack@19.2.6", "", { "peerDependencies": { "@angular/compiler-cli": "^19.0.0 || ^19.2.0-next.0", "typescript": ">=5.5 <5.9", "webpack": "^5.54.0" } }, "sha512-/jWpZUoMru3YbRJAPZ2KroUSzE6Ak5Hav219raYQaBXVtyLAvFE5VC1/CiH0wTYnb/dyjxzWq38ftOr/vv0+tg=="], - - "@nodelib/fs.scandir": ["@nodelib/fs.scandir@2.1.5", "", { "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" } }, "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g=="], - - "@nodelib/fs.stat": ["@nodelib/fs.stat@2.0.5", "", {}, "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A=="], - - "@nodelib/fs.walk": ["@nodelib/fs.walk@1.2.8", "", { "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" } }, "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg=="], - - "@npmcli/agent": ["@npmcli/agent@3.0.0", "", { "dependencies": { "agent-base": "^7.1.0", "http-proxy-agent": "^7.0.0", "https-proxy-agent": "^7.0.1", "lru-cache": "^10.0.1", "socks-proxy-agent": "^8.0.3" } }, "sha512-S79NdEgDQd/NGCay6TCoVzXSj74skRZIKJcpJjC5lOq34SZzyI6MqtiiWoiVWoVrTcGjNeC4ipbh1VIHlpfF5Q=="], - - "@npmcli/fs": ["@npmcli/fs@4.0.0", "", { "dependencies": { "semver": "^7.3.5" } }, "sha512-/xGlezI6xfGO9NwuJlnwz/K14qD1kCSAGtacBHnGzeAIuJGazcp45KP5NuyARXoKb7cwulAGWVsbeSxdG/cb0Q=="], - - "@npmcli/git": ["@npmcli/git@6.0.3", "", { "dependencies": { "@npmcli/promise-spawn": "^8.0.0", "ini": "^5.0.0", "lru-cache": "^10.0.1", "npm-pick-manifest": "^10.0.0", "proc-log": "^5.0.0", "promise-retry": "^2.0.1", "semver": "^7.3.5", "which": "^5.0.0" } }, "sha512-GUYESQlxZRAdhs3UhbB6pVRNUELQOHXwK9ruDkwmCv2aZ5y0SApQzUJCg02p3A7Ue2J5hxvlk1YI53c00NmRyQ=="], - - "@npmcli/installed-package-contents": ["@npmcli/installed-package-contents@3.0.0", "", { "dependencies": { "npm-bundled": "^4.0.0", "npm-normalize-package-bin": "^4.0.0" }, "bin": { "installed-package-contents": "bin/index.js" } }, "sha512-fkxoPuFGvxyrH+OQzyTkX2LUEamrF4jZSmxjAtPPHHGO0dqsQ8tTKjnIS8SAnPHdk2I03BDtSMR5K/4loKg79Q=="], - - "@npmcli/node-gyp": ["@npmcli/node-gyp@4.0.0", "", {}, "sha512-+t5DZ6mO/QFh78PByMq1fGSAub/agLJZDRfJRMeOSNCt8s9YVlTjmGpIPwPhvXTGUIJk+WszlT0rQa1W33yzNA=="], - - "@npmcli/package-json": ["@npmcli/package-json@6.1.1", "", { "dependencies": { "@npmcli/git": "^6.0.0", "glob": "^10.2.2", "hosted-git-info": "^8.0.0", "json-parse-even-better-errors": "^4.0.0", "proc-log": "^5.0.0", "semver": "^7.5.3", "validate-npm-package-license": "^3.0.4" } }, "sha512-d5qimadRAUCO4A/Txw71VM7UrRZzV+NPclxz/dc+M6B2oYwjWTjqh8HA/sGQgs9VZuJ6I/P7XIAlJvgrl27ZOw=="], - - "@npmcli/promise-spawn": ["@npmcli/promise-spawn@8.0.2", "", { "dependencies": { "which": "^5.0.0" } }, "sha512-/bNJhjc+o6qL+Dwz/bqfTQClkEO5nTQ1ZEcdCkAQjhkZMHIh22LPG7fNh1enJP1NKWDqYiiABnjFCY7E0zHYtQ=="], - - "@npmcli/redact": ["@npmcli/redact@3.1.1", "", {}, "sha512-3Hc2KGIkrvJWJqTbvueXzBeZlmvoOxc2jyX00yzr3+sNFquJg0N8hH4SAPLPVrkWIRQICVpVgjrss971awXVnA=="], - - "@npmcli/run-script": ["@npmcli/run-script@9.1.0", "", { "dependencies": { "@npmcli/node-gyp": "^4.0.0", "@npmcli/package-json": "^6.0.0", "@npmcli/promise-spawn": "^8.0.0", "node-gyp": "^11.0.0", "proc-log": "^5.0.0", "which": "^5.0.0" } }, "sha512-aoNSbxtkePXUlbZB+anS1LqsJdctG5n3UVhfU47+CDdwMi6uNTBMF9gPcQRnqghQd2FGzcwwIFBruFMxjhBewg=="], - - "@parcel/watcher": ["@parcel/watcher@2.5.1", "", { "dependencies": { "detect-libc": "^1.0.3", "is-glob": "^4.0.3", "micromatch": "^4.0.5", "node-addon-api": "^7.0.0" }, "optionalDependencies": { "@parcel/watcher-android-arm64": "2.5.1", "@parcel/watcher-darwin-arm64": "2.5.1", "@parcel/watcher-darwin-x64": "2.5.1", "@parcel/watcher-freebsd-x64": "2.5.1", "@parcel/watcher-linux-arm-glibc": "2.5.1", "@parcel/watcher-linux-arm-musl": "2.5.1", "@parcel/watcher-linux-arm64-glibc": "2.5.1", "@parcel/watcher-linux-arm64-musl": "2.5.1", "@parcel/watcher-linux-x64-glibc": "2.5.1", "@parcel/watcher-linux-x64-musl": "2.5.1", "@parcel/watcher-win32-arm64": "2.5.1", "@parcel/watcher-win32-ia32": "2.5.1", "@parcel/watcher-win32-x64": "2.5.1" } }, "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg=="], - - "@parcel/watcher-android-arm64": ["@parcel/watcher-android-arm64@2.5.1", "", { "os": "android", "cpu": "arm64" }, "sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA=="], - - "@parcel/watcher-darwin-arm64": ["@parcel/watcher-darwin-arm64@2.5.1", "", { "os": "darwin", "cpu": "arm64" }, "sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw=="], - - "@parcel/watcher-darwin-x64": ["@parcel/watcher-darwin-x64@2.5.1", "", { "os": "darwin", "cpu": "x64" }, "sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg=="], - - "@parcel/watcher-freebsd-x64": ["@parcel/watcher-freebsd-x64@2.5.1", "", { "os": "freebsd", "cpu": "x64" }, "sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ=="], - - "@parcel/watcher-linux-arm-glibc": ["@parcel/watcher-linux-arm-glibc@2.5.1", "", { "os": "linux", "cpu": "arm" }, "sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA=="], - - "@parcel/watcher-linux-arm-musl": ["@parcel/watcher-linux-arm-musl@2.5.1", "", { "os": "linux", "cpu": "arm" }, "sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q=="], - - "@parcel/watcher-linux-arm64-glibc": ["@parcel/watcher-linux-arm64-glibc@2.5.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w=="], - - "@parcel/watcher-linux-arm64-musl": ["@parcel/watcher-linux-arm64-musl@2.5.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg=="], - - "@parcel/watcher-linux-x64-glibc": ["@parcel/watcher-linux-x64-glibc@2.5.1", "", { "os": "linux", "cpu": "x64" }, "sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A=="], - - "@parcel/watcher-linux-x64-musl": ["@parcel/watcher-linux-x64-musl@2.5.1", "", { "os": "linux", "cpu": "x64" }, "sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg=="], - - "@parcel/watcher-win32-arm64": ["@parcel/watcher-win32-arm64@2.5.1", "", { "os": "win32", "cpu": "arm64" }, "sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw=="], - - "@parcel/watcher-win32-ia32": ["@parcel/watcher-win32-ia32@2.5.1", "", { "os": "win32", "cpu": "ia32" }, "sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ=="], - - "@parcel/watcher-win32-x64": ["@parcel/watcher-win32-x64@2.5.1", "", { "os": "win32", "cpu": "x64" }, "sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA=="], - - "@pkgjs/parseargs": ["@pkgjs/parseargs@0.11.0", "", {}, "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg=="], - - "@rollup/rollup-android-arm-eabi": ["@rollup/rollup-android-arm-eabi@4.34.8", "", { "os": "android", "cpu": "arm" }, "sha512-q217OSE8DTp8AFHuNHXo0Y86e1wtlfVrXiAlwkIvGRQv9zbc6mE3sjIVfwI8sYUyNxwOg0j/Vm1RKM04JcWLJw=="], - - "@rollup/rollup-android-arm64": ["@rollup/rollup-android-arm64@4.34.8", "", { "os": "android", "cpu": "arm64" }, "sha512-Gigjz7mNWaOL9wCggvoK3jEIUUbGul656opstjaUSGC3eT0BM7PofdAJaBfPFWWkXNVAXbaQtC99OCg4sJv70Q=="], - - "@rollup/rollup-darwin-arm64": ["@rollup/rollup-darwin-arm64@4.34.8", "", { "os": "darwin", "cpu": "arm64" }, "sha512-02rVdZ5tgdUNRxIUrFdcMBZQoaPMrxtwSb+/hOfBdqkatYHR3lZ2A2EGyHq2sGOd0Owk80oV3snlDASC24He3Q=="], - - "@rollup/rollup-darwin-x64": ["@rollup/rollup-darwin-x64@4.34.8", "", { "os": "darwin", "cpu": "x64" }, "sha512-qIP/elwR/tq/dYRx3lgwK31jkZvMiD6qUtOycLhTzCvrjbZ3LjQnEM9rNhSGpbLXVJYQ3rq39A6Re0h9tU2ynw=="], - - "@rollup/rollup-freebsd-arm64": ["@rollup/rollup-freebsd-arm64@4.34.8", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-IQNVXL9iY6NniYbTaOKdrlVP3XIqazBgJOVkddzJlqnCpRi/yAeSOa8PLcECFSQochzqApIOE1GHNu3pCz+BDA=="], - - "@rollup/rollup-freebsd-x64": ["@rollup/rollup-freebsd-x64@4.34.8", "", { "os": "freebsd", "cpu": "x64" }, "sha512-TYXcHghgnCqYFiE3FT5QwXtOZqDj5GmaFNTNt3jNC+vh22dc/ukG2cG+pi75QO4kACohZzidsq7yKTKwq/Jq7Q=="], - - "@rollup/rollup-linux-arm-gnueabihf": ["@rollup/rollup-linux-arm-gnueabihf@4.34.8", "", { "os": "linux", "cpu": "arm" }, "sha512-A4iphFGNkWRd+5m3VIGuqHnG3MVnqKe7Al57u9mwgbyZ2/xF9Jio72MaY7xxh+Y87VAHmGQr73qoKL9HPbXj1g=="], - - "@rollup/rollup-linux-arm-musleabihf": ["@rollup/rollup-linux-arm-musleabihf@4.34.8", "", { "os": "linux", "cpu": "arm" }, "sha512-S0lqKLfTm5u+QTxlFiAnb2J/2dgQqRy/XvziPtDd1rKZFXHTyYLoVL58M/XFwDI01AQCDIevGLbQrMAtdyanpA=="], - - "@rollup/rollup-linux-arm64-gnu": ["@rollup/rollup-linux-arm64-gnu@4.34.8", "", { "os": "linux", "cpu": "arm64" }, "sha512-jpz9YOuPiSkL4G4pqKrus0pn9aYwpImGkosRKwNi+sJSkz+WU3anZe6hi73StLOQdfXYXC7hUfsQlTnjMd3s1A=="], - - "@rollup/rollup-linux-arm64-musl": ["@rollup/rollup-linux-arm64-musl@4.34.8", "", { "os": "linux", "cpu": "arm64" }, "sha512-KdSfaROOUJXgTVxJNAZ3KwkRc5nggDk+06P6lgi1HLv1hskgvxHUKZ4xtwHkVYJ1Rep4GNo+uEfycCRRxht7+Q=="], - - "@rollup/rollup-linux-loongarch64-gnu": ["@rollup/rollup-linux-loongarch64-gnu@4.34.8", "", { "os": "linux", "cpu": "none" }, "sha512-NyF4gcxwkMFRjgXBM6g2lkT58OWztZvw5KkV2K0qqSnUEqCVcqdh2jN4gQrTn/YUpAcNKyFHfoOZEer9nwo6uQ=="], - - "@rollup/rollup-linux-powerpc64le-gnu": ["@rollup/rollup-linux-powerpc64le-gnu@4.34.8", "", { "os": "linux", "cpu": "ppc64" }, "sha512-LMJc999GkhGvktHU85zNTDImZVUCJ1z/MbAJTnviiWmmjyckP5aQsHtcujMjpNdMZPT2rQEDBlJfubhs3jsMfw=="], - - "@rollup/rollup-linux-riscv64-gnu": ["@rollup/rollup-linux-riscv64-gnu@4.34.8", "", { "os": "linux", "cpu": "none" }, "sha512-xAQCAHPj8nJq1PI3z8CIZzXuXCstquz7cIOL73HHdXiRcKk8Ywwqtx2wrIy23EcTn4aZ2fLJNBB8d0tQENPCmw=="], - - "@rollup/rollup-linux-s390x-gnu": ["@rollup/rollup-linux-s390x-gnu@4.34.8", "", { "os": "linux", "cpu": "s390x" }, "sha512-DdePVk1NDEuc3fOe3dPPTb+rjMtuFw89gw6gVWxQFAuEqqSdDKnrwzZHrUYdac7A7dXl9Q2Vflxpme15gUWQFA=="], - - "@rollup/rollup-linux-x64-gnu": ["@rollup/rollup-linux-x64-gnu@4.34.8", "", { "os": "linux", "cpu": "x64" }, "sha512-8y7ED8gjxITUltTUEJLQdgpbPh1sUQ0kMTmufRF/Ns5tI9TNMNlhWtmPKKHCU0SilX+3MJkZ0zERYYGIVBYHIA=="], - - "@rollup/rollup-linux-x64-musl": ["@rollup/rollup-linux-x64-musl@4.34.8", "", { "os": "linux", "cpu": "x64" }, "sha512-SCXcP0ZpGFIe7Ge+McxY5zKxiEI5ra+GT3QRxL0pMMtxPfpyLAKleZODi1zdRHkz5/BhueUrYtYVgubqe9JBNQ=="], - - "@rollup/rollup-win32-arm64-msvc": ["@rollup/rollup-win32-arm64-msvc@4.34.8", "", { "os": "win32", "cpu": "arm64" }, "sha512-YHYsgzZgFJzTRbth4h7Or0m5O74Yda+hLin0irAIobkLQFRQd1qWmnoVfwmKm9TXIZVAD0nZ+GEb2ICicLyCnQ=="], - - "@rollup/rollup-win32-ia32-msvc": ["@rollup/rollup-win32-ia32-msvc@4.34.8", "", { "os": "win32", "cpu": "ia32" }, "sha512-r3NRQrXkHr4uWy5TOjTpTYojR9XmF0j/RYgKCef+Ag46FWUTltm5ziticv8LdNsDMehjJ543x/+TJAek/xBA2w=="], - - "@rollup/rollup-win32-x64-msvc": ["@rollup/rollup-win32-x64-msvc@4.34.8", "", { "os": "win32", "cpu": "x64" }, "sha512-U0FaE5O1BCpZSeE6gBl3c5ObhePQSfk9vDRToMmTkbhCOgW4jqvtS5LGyQ76L1fH8sM0keRp4uDTsbjiUyjk0g=="], - - "@schematics/angular": ["@schematics/angular@19.2.6", "", { "dependencies": { "@angular-devkit/core": "19.2.6", "@angular-devkit/schematics": "19.2.6", "jsonc-parser": "3.3.1" } }, "sha512-fmbF9ONmEZqxHocCwOSWG2mHp4a22d1uW+DZUBUgZSBUFIrnFw42deOxDq8mkZOZ1Tc73UpLN2GKI7iJeUqS2A=="], - - "@sigstore/bundle": ["@sigstore/bundle@3.1.0", "", { "dependencies": { "@sigstore/protobuf-specs": "^0.4.0" } }, "sha512-Mm1E3/CmDDCz3nDhFKTuYdB47EdRFRQMOE/EAbiG1MJW77/w1b3P7Qx7JSrVJs8PfwOLOVcKQCHErIwCTyPbag=="], - - "@sigstore/core": ["@sigstore/core@2.0.0", "", {}, "sha512-nYxaSb/MtlSI+JWcwTHQxyNmWeWrUXJJ/G4liLrGG7+tS4vAz6LF3xRXqLH6wPIVUoZQel2Fs4ddLx4NCpiIYg=="], - - "@sigstore/protobuf-specs": ["@sigstore/protobuf-specs@0.4.0", "", {}, "sha512-o09cLSIq9EKyRXwryWDOJagkml9XgQCoCSRjHOnHLnvsivaW7Qznzz6yjfV7PHJHhIvyp8OH7OX8w0Dc5bQK7A=="], - - "@sigstore/sign": ["@sigstore/sign@3.1.0", "", { "dependencies": { "@sigstore/bundle": "^3.1.0", "@sigstore/core": "^2.0.0", "@sigstore/protobuf-specs": "^0.4.0", "make-fetch-happen": "^14.0.2", "proc-log": "^5.0.0", "promise-retry": "^2.0.1" } }, "sha512-knzjmaOHOov1Ur7N/z4B1oPqZ0QX5geUfhrVaqVlu+hl0EAoL4o+l0MSULINcD5GCWe3Z0+YJO8ues6vFlW0Yw=="], - - "@sigstore/tuf": ["@sigstore/tuf@3.1.0", "", { "dependencies": { "@sigstore/protobuf-specs": "^0.4.0", "tuf-js": "^3.0.1" } }, "sha512-suVMQEA+sKdOz5hwP9qNcEjX6B45R+hFFr4LAWzbRc5O+U2IInwvay/bpG5a4s+qR35P/JK/PiKiRGjfuLy1IA=="], - - "@sigstore/verify": ["@sigstore/verify@2.1.0", "", { "dependencies": { "@sigstore/bundle": "^3.1.0", "@sigstore/core": "^2.0.0", "@sigstore/protobuf-specs": "^0.4.0" } }, "sha512-kAAM06ca4CzhvjIZdONAL9+MLppW3K48wOFy1TbuaWFW/OMfl8JuTgW0Bm02JB1WJGT/ET2eqav0KTEKmxqkIA=="], - - "@sindresorhus/merge-streams": ["@sindresorhus/merge-streams@2.3.0", "", {}, "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg=="], - - "@socket.io/component-emitter": ["@socket.io/component-emitter@3.1.2", "", {}, "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA=="], - - "@stripe/stripe-js": ["@stripe/stripe-js@7.0.0", "", {}, "sha512-0AWkP+hoIXB5O34FGY7jh687ZPlOqLqMkJDkiSXcp4TaWWidnxjsZSp0xkjyAWbIz4+j1BFXDAK01Rqb7ceBRA=="], - - "@tailwindcss/node": ["@tailwindcss/node@4.1.1", "", { "dependencies": { "enhanced-resolve": "^5.18.1", "jiti": "^2.4.2", "lightningcss": "1.29.2", "tailwindcss": "4.1.1" } }, "sha512-xvlh4pvfG/bkv0fEtJDABAm1tjtSmSyi2QmS4zyj1EKNI1UiOYiUq1IphSwDsNJ5vJ9cWEGs4rJXpUdCN2kujQ=="], - - "@tailwindcss/oxide": ["@tailwindcss/oxide@4.1.1", "", { "optionalDependencies": { "@tailwindcss/oxide-android-arm64": "4.1.1", "@tailwindcss/oxide-darwin-arm64": "4.1.1", "@tailwindcss/oxide-darwin-x64": "4.1.1", "@tailwindcss/oxide-freebsd-x64": "4.1.1", "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.1", "@tailwindcss/oxide-linux-arm64-gnu": "4.1.1", "@tailwindcss/oxide-linux-arm64-musl": "4.1.1", "@tailwindcss/oxide-linux-x64-gnu": "4.1.1", "@tailwindcss/oxide-linux-x64-musl": "4.1.1", "@tailwindcss/oxide-win32-arm64-msvc": "4.1.1", "@tailwindcss/oxide-win32-x64-msvc": "4.1.1" } }, "sha512-7+YBgnPQ4+jv6B6WVOerJ6WOzDzNJXrRKDts674v6TKAqFqYRr9+EBtSziO7nNcwQ8JtoZNMeqA+WJDjtCM/7w=="], - - "@tailwindcss/oxide-android-arm64": ["@tailwindcss/oxide-android-arm64@4.1.1", "", { "os": "android", "cpu": "arm64" }, "sha512-gTyRzfdParpoCU1yyUC/iN6XK6T0Ra4bDlF8Aeul5NP9cLzKEZDogdNVNGv5WZmCDkVol7qlex7TMmcfytMmmw=="], - - "@tailwindcss/oxide-darwin-arm64": ["@tailwindcss/oxide-darwin-arm64@4.1.1", "", { "os": "darwin", "cpu": "arm64" }, "sha512-dI0QbdMWBvLB3MtaTKetzUKG9CUUQow8JSP4Nm+OxVokeZ+N+f1OmZW/hW1LzMxpx9RQCBgSRL+IIvKRat5Wdg=="], - - "@tailwindcss/oxide-darwin-x64": ["@tailwindcss/oxide-darwin-x64@4.1.1", "", { "os": "darwin", "cpu": "x64" }, "sha512-2Y+NPQOTRBCItshPgY/CWg4bKi7E9evMg4bgdb6h9iZObCZLOe3doPcuSxGS3DB0dKyMFKE8pTdWtFUbxZBMSA=="], - - "@tailwindcss/oxide-freebsd-x64": ["@tailwindcss/oxide-freebsd-x64@4.1.1", "", { "os": "freebsd", "cpu": "x64" }, "sha512-N97NGMsB/7CHShbc5ube4dcsW/bYENkBrg8yWi8ieN9boYVRdw3cZviVryV/Nfu9bKbBV9kUvduFF2qBI7rEqg=="], - - "@tailwindcss/oxide-linux-arm-gnueabihf": ["@tailwindcss/oxide-linux-arm-gnueabihf@4.1.1", "", { "os": "linux", "cpu": "arm" }, "sha512-33Lk6KbHnUZbXqza6RWNFo9wqPQ4+H5BAn1CkUUfC1RZ1vYbyDN6+iJPj53wmnWJ3mhRI8jWt3Jt1fO02IVdUQ=="], - - "@tailwindcss/oxide-linux-arm64-gnu": ["@tailwindcss/oxide-linux-arm64-gnu@4.1.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-LyW35RzSUy+80WYScv03HKasAUmMFDaSbNpWfk1gG5gEE9kuRGnDzSrqMoLAmY/kzMCYP/1kqmUiAx8EFLkI2A=="], - - "@tailwindcss/oxide-linux-arm64-musl": ["@tailwindcss/oxide-linux-arm64-musl@4.1.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-1KPnDMlHdqjPTUSFjx55pafvs8RZXRgxfeRgUrukwDKkuj7gFk28vW3Mx65YdiugAc9NWs3VgueZWaM1Po6uGw=="], - - "@tailwindcss/oxide-linux-x64-gnu": ["@tailwindcss/oxide-linux-x64-gnu@4.1.1", "", { "os": "linux", "cpu": "x64" }, "sha512-4WdzA+MRlsinEEE6yxNMLJxpw0kE9XVipbAKdTL8BeUpyC2TdA3TL46lBulXzKp3BIxh3nqyR/UCqzl5o+3waQ=="], - - "@tailwindcss/oxide-linux-x64-musl": ["@tailwindcss/oxide-linux-x64-musl@4.1.1", "", { "os": "linux", "cpu": "x64" }, "sha512-q7Ugbw3ARcjCW2VMUYrcMbJ6aMQuWPArBBE2EqC/swPZTdGADvMQSlvR0VKusUM4HoSsO7ZbvcZ53YwR57+AKw=="], - - "@tailwindcss/oxide-win32-arm64-msvc": ["@tailwindcss/oxide-win32-arm64-msvc@4.1.1", "", { "os": "win32", "cpu": "arm64" }, "sha512-0KpqsovgHcIzm7eAGzzEZsEs0/nPYXnRBv+aPq/GehpNQuE/NAQu+YgZXIIof+VflDFuyXOEnaFr7T5MZ1INhA=="], - - "@tailwindcss/oxide-win32-x64-msvc": ["@tailwindcss/oxide-win32-x64-msvc@4.1.1", "", { "os": "win32", "cpu": "x64" }, "sha512-B1mjeXNS26kBOHv5sXARf6Wd0PWHV9x1TDlW0ummrBUOUAxAy5wcy4Nii1wzNvCdvC448hgiL06ylhwAbNthmg=="], - - "@tailwindcss/postcss": ["@tailwindcss/postcss@4.1.1", "", { "dependencies": { "@alloc/quick-lru": "^5.2.0", "@tailwindcss/node": "4.1.1", "@tailwindcss/oxide": "4.1.1", "postcss": "^8.4.41", "tailwindcss": "4.1.1" } }, "sha512-GX9AEM+msH0i2Yh1b6CuDRaZRo3kmbvIrLbSfvJ53C3uaAgsQ//fTQAh9HMQ6t1a9zvoUptlYqG//plWsBQTCw=="], - - "@tufjs/canonical-json": ["@tufjs/canonical-json@2.0.0", "", {}, "sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA=="], - - "@tufjs/models": ["@tufjs/models@3.0.1", "", { "dependencies": { "@tufjs/canonical-json": "2.0.0", "minimatch": "^9.0.5" } }, "sha512-UUYHISyhCU3ZgN8yaear3cGATHb3SMuKHsQ/nVbHXcmnBf+LzQ/cQfhNG+rfaSHgqGKNEm2cOCLVLELStUQ1JA=="], - - "@types/body-parser": ["@types/body-parser@1.19.5", "", { "dependencies": { "@types/connect": "*", "@types/node": "*" } }, "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg=="], - - "@types/bonjour": ["@types/bonjour@3.5.13", "", { "dependencies": { "@types/node": "*" } }, "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ=="], - - "@types/connect": ["@types/connect@3.4.38", "", { "dependencies": { "@types/node": "*" } }, "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug=="], - - "@types/connect-history-api-fallback": ["@types/connect-history-api-fallback@1.5.4", "", { "dependencies": { "@types/express-serve-static-core": "*", "@types/node": "*" } }, "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw=="], - - "@types/cors": ["@types/cors@2.8.17", "", { "dependencies": { "@types/node": "*" } }, "sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA=="], - - "@types/eslint": ["@types/eslint@9.6.1", "", { "dependencies": { "@types/estree": "*", "@types/json-schema": "*" } }, "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag=="], - - "@types/eslint-scope": ["@types/eslint-scope@3.7.7", "", { "dependencies": { "@types/eslint": "*", "@types/estree": "*" } }, "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg=="], - - "@types/estree": ["@types/estree@1.0.7", "", {}, "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ=="], - - "@types/express": ["@types/express@4.17.21", "", { "dependencies": { "@types/body-parser": "*", "@types/express-serve-static-core": "^4.17.33", "@types/qs": "*", "@types/serve-static": "*" } }, "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ=="], - - "@types/express-serve-static-core": ["@types/express-serve-static-core@5.0.6", "", { "dependencies": { "@types/node": "*", "@types/qs": "*", "@types/range-parser": "*", "@types/send": "*" } }, "sha512-3xhRnjJPkULekpSzgtoNYYcTWgEZkp4myc+Saevii5JPnHNvHMRlBSHDbs7Bh1iPPoVTERHEZXyhyLbMEsExsA=="], - - "@types/http-errors": ["@types/http-errors@2.0.4", "", {}, "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA=="], - - "@types/http-proxy": ["@types/http-proxy@1.17.16", "", { "dependencies": { "@types/node": "*" } }, "sha512-sdWoUajOB1cd0A8cRRQ1cfyWNbmFKLAqBB89Y8x5iYyG/mkJHc0YUH8pdWBy2omi9qtCpiIgGjuwO0dQST2l5w=="], - - "@types/jasmine": ["@types/jasmine@5.1.7", "", {}, "sha512-DVOfk9FaClQfNFpSfaML15jjB5cjffDMvjtph525sroR5BEAW2uKnTOYUTqTFuZFjNvH0T5XMIydvIctnUKufw=="], - - "@types/json-schema": ["@types/json-schema@7.0.15", "", {}, "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA=="], - - "@types/mime": ["@types/mime@1.3.5", "", {}, "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w=="], - - "@types/node": ["@types/node@22.14.0", "", { "dependencies": { "undici-types": "~6.21.0" } }, "sha512-Kmpl+z84ILoG+3T/zQFyAJsU6EPTmOCj8/2+83fSN6djd6I4o7uOuGIH6vq3PrjY5BGitSbFuMN18j3iknubbA=="], - - "@types/node-forge": ["@types/node-forge@1.3.11", "", { "dependencies": { "@types/node": "*" } }, "sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ=="], - - "@types/qs": ["@types/qs@6.9.18", "", {}, "sha512-kK7dgTYDyGqS+e2Q4aK9X3D7q234CIZ1Bv0q/7Z5IwRDoADNU81xXJK/YVyLbLTZCoIwUoDoffFeF+p/eIklAA=="], - - "@types/range-parser": ["@types/range-parser@1.2.7", "", {}, "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ=="], - - "@types/retry": ["@types/retry@0.12.2", "", {}, "sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow=="], - - "@types/send": ["@types/send@0.17.4", "", { "dependencies": { "@types/mime": "^1", "@types/node": "*" } }, "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA=="], - - "@types/serve-index": ["@types/serve-index@1.9.4", "", { "dependencies": { "@types/express": "*" } }, "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug=="], - - "@types/serve-static": ["@types/serve-static@1.15.7", "", { "dependencies": { "@types/http-errors": "*", "@types/node": "*", "@types/send": "*" } }, "sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw=="], - - "@types/sockjs": ["@types/sockjs@0.3.36", "", { "dependencies": { "@types/node": "*" } }, "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q=="], - - "@types/ws": ["@types/ws@8.18.1", "", { "dependencies": { "@types/node": "*" } }, "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg=="], - - "@typescript-eslint/eslint-plugin": ["@typescript-eslint/eslint-plugin@8.33.1", "", { "dependencies": { "@eslint-community/regexpp": "^4.10.0", "@typescript-eslint/scope-manager": "8.33.1", "@typescript-eslint/type-utils": "8.33.1", "@typescript-eslint/utils": "8.33.1", "@typescript-eslint/visitor-keys": "8.33.1", "graphemer": "^1.4.0", "ignore": "^7.0.0", "natural-compare": "^1.4.0", "ts-api-utils": "^2.1.0" }, "peerDependencies": { "@typescript-eslint/parser": "^8.33.1", "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <5.9.0" } }, "sha512-TDCXj+YxLgtvxvFlAvpoRv9MAncDLBV2oT9Bd7YBGC/b/sEURoOYuIwLI99rjWOfY3QtDzO+mk0n4AmdFExW8A=="], - - "@typescript-eslint/parser": ["@typescript-eslint/parser@8.33.1", "", { "dependencies": { "@typescript-eslint/scope-manager": "8.33.1", "@typescript-eslint/types": "8.33.1", "@typescript-eslint/typescript-estree": "8.33.1", "@typescript-eslint/visitor-keys": "8.33.1", "debug": "^4.3.4" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <5.9.0" } }, "sha512-qwxv6dq682yVvgKKp2qWwLgRbscDAYktPptK4JPojCwwi3R9cwrvIxS4lvBpzmcqzR4bdn54Z0IG1uHFskW4dA=="], - - "@typescript-eslint/project-service": ["@typescript-eslint/project-service@8.33.0", "", { "dependencies": { "@typescript-eslint/tsconfig-utils": "^8.33.0", "@typescript-eslint/types": "^8.33.0", "debug": "^4.3.4" } }, "sha512-d1hz0u9l6N+u/gcrk6s6gYdl7/+pp8yHheRTqP6X5hVDKALEaTn8WfGiit7G511yueBEL3OpOEpD+3/MBdoN+A=="], - - "@typescript-eslint/scope-manager": ["@typescript-eslint/scope-manager@8.33.0", "", { "dependencies": { "@typescript-eslint/types": "8.33.0", "@typescript-eslint/visitor-keys": "8.33.0" } }, "sha512-LMi/oqrzpqxyO72ltP+dBSP6V0xiUb4saY7WLtxSfiNEBI8m321LLVFU9/QDJxjDQG9/tjSqKz/E3380TEqSTw=="], - - "@typescript-eslint/tsconfig-utils": ["@typescript-eslint/tsconfig-utils@8.33.0", "", { "peerDependencies": { "typescript": ">=4.8.4 <5.9.0" } }, "sha512-sTkETlbqhEoiFmGr1gsdq5HyVbSOF0145SYDJ/EQmXHtKViCaGvnyLqWFFHtEXoS0J1yU8Wyou2UGmgW88fEug=="], - - "@typescript-eslint/type-utils": ["@typescript-eslint/type-utils@8.33.1", "", { "dependencies": { "@typescript-eslint/typescript-estree": "8.33.1", "@typescript-eslint/utils": "8.33.1", "debug": "^4.3.4", "ts-api-utils": "^2.1.0" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <5.9.0" } }, "sha512-1cG37d9xOkhlykom55WVwG2QRNC7YXlxMaMzqw2uPeJixBFfKWZgaP/hjAObqMN/u3fr5BrTwTnc31/L9jQ2ww=="], - - "@typescript-eslint/types": ["@typescript-eslint/types@8.33.0", "", {}, "sha512-DKuXOKpM5IDT1FA2g9x9x1Ug81YuKrzf4mYX8FAVSNu5Wo/LELHWQyM1pQaDkI42bX15PWl0vNPt1uGiIFUOpg=="], - - "@typescript-eslint/typescript-estree": ["@typescript-eslint/typescript-estree@8.33.0", "", { "dependencies": { "@typescript-eslint/project-service": "8.33.0", "@typescript-eslint/tsconfig-utils": "8.33.0", "@typescript-eslint/types": "8.33.0", "@typescript-eslint/visitor-keys": "8.33.0", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", "minimatch": "^9.0.4", "semver": "^7.6.0", "ts-api-utils": "^2.1.0" }, "peerDependencies": { "typescript": ">=4.8.4 <5.9.0" } }, "sha512-vegY4FQoB6jL97Tu/lWRsAiUUp8qJTqzAmENH2k59SJhw0Th1oszb9Idq/FyyONLuNqT1OADJPXfyUNOR8SzAQ=="], - - "@typescript-eslint/utils": ["@typescript-eslint/utils@8.33.0", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.7.0", "@typescript-eslint/scope-manager": "8.33.0", "@typescript-eslint/types": "8.33.0", "@typescript-eslint/typescript-estree": "8.33.0" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <5.9.0" } }, "sha512-lPFuQaLA9aSNa7D5u2EpRiqdAUhzShwGg/nhpBlc4GR6kcTABttCuyjFs8BcEZ8VWrjCBof/bePhP3Q3fS+Yrw=="], - - "@typescript-eslint/visitor-keys": ["@typescript-eslint/visitor-keys@8.33.1", "", { "dependencies": { "@typescript-eslint/types": "8.33.1", "eslint-visitor-keys": "^4.2.0" } }, "sha512-3i8NrFcZeeDHJ+7ZUuDkGT+UHq+XoFGsymNK2jZCOHcfEzRQ0BdpRtdpSx/Iyf3MHLWIcLS0COuOPibKQboIiQ=="], - - "@vitejs/plugin-basic-ssl": ["@vitejs/plugin-basic-ssl@1.2.0", "", { "peerDependencies": { "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0" } }, "sha512-mkQnxTkcldAzIsomk1UuLfAu9n+kpQ3JbHcpCp7d2Oo6ITtji8pHS3QToOWjhPFvNQSnhlkAjmGbhv2QvwO/7Q=="], - - "@webassemblyjs/ast": ["@webassemblyjs/ast@1.14.1", "", { "dependencies": { "@webassemblyjs/helper-numbers": "1.13.2", "@webassemblyjs/helper-wasm-bytecode": "1.13.2" } }, "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ=="], - - "@webassemblyjs/floating-point-hex-parser": ["@webassemblyjs/floating-point-hex-parser@1.13.2", "", {}, "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA=="], - - "@webassemblyjs/helper-api-error": ["@webassemblyjs/helper-api-error@1.13.2", "", {}, "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ=="], - - "@webassemblyjs/helper-buffer": ["@webassemblyjs/helper-buffer@1.14.1", "", {}, "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA=="], - - "@webassemblyjs/helper-numbers": ["@webassemblyjs/helper-numbers@1.13.2", "", { "dependencies": { "@webassemblyjs/floating-point-hex-parser": "1.13.2", "@webassemblyjs/helper-api-error": "1.13.2", "@xtuc/long": "4.2.2" } }, "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA=="], - - "@webassemblyjs/helper-wasm-bytecode": ["@webassemblyjs/helper-wasm-bytecode@1.13.2", "", {}, "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA=="], - - "@webassemblyjs/helper-wasm-section": ["@webassemblyjs/helper-wasm-section@1.14.1", "", { "dependencies": { "@webassemblyjs/ast": "1.14.1", "@webassemblyjs/helper-buffer": "1.14.1", "@webassemblyjs/helper-wasm-bytecode": "1.13.2", "@webassemblyjs/wasm-gen": "1.14.1" } }, "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw=="], - - "@webassemblyjs/ieee754": ["@webassemblyjs/ieee754@1.13.2", "", { "dependencies": { "@xtuc/ieee754": "^1.2.0" } }, "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw=="], - - "@webassemblyjs/leb128": ["@webassemblyjs/leb128@1.13.2", "", { "dependencies": { "@xtuc/long": "4.2.2" } }, "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw=="], - - "@webassemblyjs/utf8": ["@webassemblyjs/utf8@1.13.2", "", {}, "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ=="], - - "@webassemblyjs/wasm-edit": ["@webassemblyjs/wasm-edit@1.14.1", "", { "dependencies": { "@webassemblyjs/ast": "1.14.1", "@webassemblyjs/helper-buffer": "1.14.1", "@webassemblyjs/helper-wasm-bytecode": "1.13.2", "@webassemblyjs/helper-wasm-section": "1.14.1", "@webassemblyjs/wasm-gen": "1.14.1", "@webassemblyjs/wasm-opt": "1.14.1", "@webassemblyjs/wasm-parser": "1.14.1", "@webassemblyjs/wast-printer": "1.14.1" } }, "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ=="], - - "@webassemblyjs/wasm-gen": ["@webassemblyjs/wasm-gen@1.14.1", "", { "dependencies": { "@webassemblyjs/ast": "1.14.1", "@webassemblyjs/helper-wasm-bytecode": "1.13.2", "@webassemblyjs/ieee754": "1.13.2", "@webassemblyjs/leb128": "1.13.2", "@webassemblyjs/utf8": "1.13.2" } }, "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg=="], - - "@webassemblyjs/wasm-opt": ["@webassemblyjs/wasm-opt@1.14.1", "", { "dependencies": { "@webassemblyjs/ast": "1.14.1", "@webassemblyjs/helper-buffer": "1.14.1", "@webassemblyjs/wasm-gen": "1.14.1", "@webassemblyjs/wasm-parser": "1.14.1" } }, "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw=="], - - "@webassemblyjs/wasm-parser": ["@webassemblyjs/wasm-parser@1.14.1", "", { "dependencies": { "@webassemblyjs/ast": "1.14.1", "@webassemblyjs/helper-api-error": "1.13.2", "@webassemblyjs/helper-wasm-bytecode": "1.13.2", "@webassemblyjs/ieee754": "1.13.2", "@webassemblyjs/leb128": "1.13.2", "@webassemblyjs/utf8": "1.13.2" } }, "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ=="], - - "@webassemblyjs/wast-printer": ["@webassemblyjs/wast-printer@1.14.1", "", { "dependencies": { "@webassemblyjs/ast": "1.14.1", "@xtuc/long": "4.2.2" } }, "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw=="], - - "@xtuc/ieee754": ["@xtuc/ieee754@1.2.0", "", {}, "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA=="], - - "@xtuc/long": ["@xtuc/long@4.2.2", "", {}, "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ=="], - - "@yarnpkg/lockfile": ["@yarnpkg/lockfile@1.1.0", "", {}, "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ=="], - - "abbrev": ["abbrev@3.0.0", "", {}, "sha512-+/kfrslGQ7TNV2ecmQwMJj/B65g5KVq1/L3SGVZ3tCYGqlzFuFCGBZJtMP99wH3NpEUyAjn0zPdPUg0D+DwrOA=="], - - "accepts": ["accepts@1.3.8", "", { "dependencies": { "mime-types": "~2.1.34", "negotiator": "0.6.3" } }, "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw=="], - - "acorn": ["acorn@8.14.1", "", { "bin": { "acorn": "bin/acorn" } }, "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg=="], - - "acorn-jsx": ["acorn-jsx@5.3.2", "", { "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ=="], - - "adjust-sourcemap-loader": ["adjust-sourcemap-loader@4.0.0", "", { "dependencies": { "loader-utils": "^2.0.0", "regex-parser": "^2.2.11" } }, "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A=="], - - "agent-base": ["agent-base@7.1.3", "", {}, "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw=="], - - "ajv": ["ajv@8.17.1", "", { "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2" } }, "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g=="], - - "ajv-formats": ["ajv-formats@3.0.1", "", { "dependencies": { "ajv": "^8.0.0" } }, "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ=="], - - "ajv-keywords": ["ajv-keywords@5.1.0", "", { "dependencies": { "fast-deep-equal": "^3.1.3" }, "peerDependencies": { "ajv": "^8.8.2" } }, "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw=="], - - "angular-eslint": ["angular-eslint@19.7.0", "", { "dependencies": { "@angular-devkit/core": ">= 19.0.0 < 20.0.0", "@angular-devkit/schematics": ">= 19.0.0 < 20.0.0", "@angular-eslint/builder": "19.7.0", "@angular-eslint/eslint-plugin": "19.7.0", "@angular-eslint/eslint-plugin-template": "19.7.0", "@angular-eslint/schematics": "19.7.0", "@angular-eslint/template-parser": "19.7.0", "@typescript-eslint/types": "^8.0.0", "@typescript-eslint/utils": "^8.0.0" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", "typescript": "*", "typescript-eslint": "^8.0.0" } }, "sha512-ujlc8CR40RYEWUctpVEg41ZCtmKnWeJH0mzORhzf0NVZb6FLhoNhmDPr1byw4Bcxzl0DAoNgKBhJymt6FNL6Rw=="], - - "ansi-colors": ["ansi-colors@4.1.3", "", {}, "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw=="], - - "ansi-escapes": ["ansi-escapes@4.3.2", "", { "dependencies": { "type-fest": "^0.21.3" } }, "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ=="], - - "ansi-html-community": ["ansi-html-community@0.0.8", "", { "bin": { "ansi-html": "bin/ansi-html" } }, "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw=="], - - "ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], - - "ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], - - "anymatch": ["anymatch@3.1.3", "", { "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" } }, "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw=="], - - "argparse": ["argparse@2.0.1", "", {}, "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="], - - "aria-query": ["aria-query@5.3.2", "", {}, "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw=="], - - "array-flatten": ["array-flatten@1.1.1", "", {}, "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg=="], - - "autoprefixer": ["autoprefixer@10.4.20", "", { "dependencies": { "browserslist": "^4.23.3", "caniuse-lite": "^1.0.30001646", "fraction.js": "^4.3.7", "normalize-range": "^0.1.2", "picocolors": "^1.0.1", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.1.0" }, "bin": { "autoprefixer": "bin/autoprefixer" } }, "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g=="], - - "axobject-query": ["axobject-query@4.1.0", "", {}, "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ=="], - - "babel-loader": ["babel-loader@9.2.1", "", { "dependencies": { "find-cache-dir": "^4.0.0", "schema-utils": "^4.0.0" }, "peerDependencies": { "@babel/core": "^7.12.0", "webpack": ">=5" } }, "sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA=="], - - "babel-plugin-polyfill-corejs2": ["babel-plugin-polyfill-corejs2@0.4.13", "", { "dependencies": { "@babel/compat-data": "^7.22.6", "@babel/helper-define-polyfill-provider": "^0.6.4", "semver": "^6.3.1" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "sha512-3sX/eOms8kd3q2KZ6DAhKPc0dgm525Gqq5NtWKZ7QYYZEv57OQ54KtblzJzH1lQF/eQxO8KjWGIK9IPUJNus5g=="], - - "babel-plugin-polyfill-corejs3": ["babel-plugin-polyfill-corejs3@0.11.1", "", { "dependencies": { "@babel/helper-define-polyfill-provider": "^0.6.3", "core-js-compat": "^3.40.0" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "sha512-yGCqvBT4rwMczo28xkH/noxJ6MZ4nJfkVYdoDaC/utLtWrXxv27HVrzAeSbqR8SxDsp46n0YF47EbHoixy6rXQ=="], - - "babel-plugin-polyfill-regenerator": ["babel-plugin-polyfill-regenerator@0.6.4", "", { "dependencies": { "@babel/helper-define-polyfill-provider": "^0.6.4" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "sha512-7gD3pRadPrbjhjLyxebmx/WrFYcuSjZ0XbdUujQMZ/fcE9oeewk2U/7PCvez84UeuK3oSjmPZ0Ch0dlupQvGzw=="], - - "balanced-match": ["balanced-match@1.0.2", "", {}, "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="], - - "base64-js": ["base64-js@1.5.1", "", {}, "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="], - - "base64id": ["base64id@2.0.0", "", {}, "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog=="], - - "batch": ["batch@0.6.1", "", {}, "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw=="], - - "beasties": ["beasties@0.2.0", "", { "dependencies": { "css-select": "^5.1.0", "css-what": "^6.1.0", "dom-serializer": "^2.0.0", "domhandler": "^5.0.3", "htmlparser2": "^9.1.0", "picocolors": "^1.1.1", "postcss": "^8.4.49", "postcss-media-query-parser": "^0.2.3" } }, "sha512-Ljqskqx/tbZagIglYoJIMzH5zgssyp+in9+9sAyh15N22AornBeIDnb8EZ6Rk+6ShfMxd92uO3gfpT0NtZbpow=="], - - "big.js": ["big.js@5.2.2", "", {}, "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ=="], - - "binary-extensions": ["binary-extensions@2.3.0", "", {}, "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw=="], - - "bl": ["bl@4.1.0", "", { "dependencies": { "buffer": "^5.5.0", "inherits": "^2.0.4", "readable-stream": "^3.4.0" } }, "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w=="], - - "body-parser": ["body-parser@1.20.3", "", { "dependencies": { "bytes": "3.1.2", "content-type": "~1.0.5", "debug": "2.6.9", "depd": "2.0.0", "destroy": "1.2.0", "http-errors": "2.0.0", "iconv-lite": "0.4.24", "on-finished": "2.4.1", "qs": "6.13.0", "raw-body": "2.5.2", "type-is": "~1.6.18", "unpipe": "1.0.0" } }, "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g=="], - - "bonjour-service": ["bonjour-service@1.3.0", "", { "dependencies": { "fast-deep-equal": "^3.1.3", "multicast-dns": "^7.2.5" } }, "sha512-3YuAUiSkWykd+2Azjgyxei8OWf8thdn8AITIog2M4UICzoqfjlqr64WIjEXZllf/W6vK1goqleSR6brGomxQqA=="], - - "boolbase": ["boolbase@1.0.0", "", {}, "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww=="], - - "brace-expansion": ["brace-expansion@1.1.11", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA=="], - - "braces": ["braces@3.0.3", "", { "dependencies": { "fill-range": "^7.1.1" } }, "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA=="], - - "browserslist": ["browserslist@4.24.4", "", { "dependencies": { "caniuse-lite": "^1.0.30001688", "electron-to-chromium": "^1.5.73", "node-releases": "^2.0.19", "update-browserslist-db": "^1.1.1" }, "bin": { "browserslist": "cli.js" } }, "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A=="], - - "buffer": ["buffer@5.7.1", "", { "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.1.13" } }, "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ=="], - - "buffer-from": ["buffer-from@1.1.2", "", {}, "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="], - - "bundle-name": ["bundle-name@4.1.0", "", { "dependencies": { "run-applescript": "^7.0.0" } }, "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q=="], - - "bytes": ["bytes@3.1.2", "", {}, "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg=="], - - "cacache": ["cacache@19.0.1", "", { "dependencies": { "@npmcli/fs": "^4.0.0", "fs-minipass": "^3.0.0", "glob": "^10.2.2", "lru-cache": "^10.0.1", "minipass": "^7.0.3", "minipass-collect": "^2.0.1", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", "p-map": "^7.0.2", "ssri": "^12.0.0", "tar": "^7.4.3", "unique-filename": "^4.0.0" } }, "sha512-hdsUxulXCi5STId78vRVYEtDAjq99ICAUktLTeTYsLoTE6Z8dS0c8pWNCxwdrk9YfJeobDZc2Y186hD/5ZQgFQ=="], - - "call-bind-apply-helpers": ["call-bind-apply-helpers@1.0.2", "", { "dependencies": { "es-errors": "^1.3.0", "function-bind": "^1.1.2" } }, "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ=="], - - "call-bound": ["call-bound@1.0.4", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.2", "get-intrinsic": "^1.3.0" } }, "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg=="], - - "callsites": ["callsites@3.1.0", "", {}, "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ=="], - - "caniuse-lite": ["caniuse-lite@1.0.30001709", "", {}, "sha512-NgL3vUTnDrPCZ3zTahp4fsugQ4dc7EKTSzwQDPEel6DMoMnfH2jhry9n2Zm8onbSR+f/QtKHFOA+iAQu4kbtWA=="], - - "chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], - - "chardet": ["chardet@0.7.0", "", {}, "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA=="], - - "chokidar": ["chokidar@4.0.3", "", { "dependencies": { "readdirp": "^4.0.1" } }, "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA=="], - - "chownr": ["chownr@2.0.0", "", {}, "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ=="], - - "chrome-trace-event": ["chrome-trace-event@1.0.4", "", {}, "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ=="], - - "cli-cursor": ["cli-cursor@3.1.0", "", { "dependencies": { "restore-cursor": "^3.1.0" } }, "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw=="], - - "cli-spinners": ["cli-spinners@2.9.2", "", {}, "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg=="], - - "cli-truncate": ["cli-truncate@4.0.0", "", { "dependencies": { "slice-ansi": "^5.0.0", "string-width": "^7.0.0" } }, "sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA=="], - - "cli-width": ["cli-width@4.1.0", "", {}, "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ=="], - - "cliui": ["cliui@8.0.1", "", { "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", "wrap-ansi": "^7.0.0" } }, "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ=="], - - "clone": ["clone@1.0.4", "", {}, "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg=="], - - "clone-deep": ["clone-deep@4.0.1", "", { "dependencies": { "is-plain-object": "^2.0.4", "kind-of": "^6.0.2", "shallow-clone": "^3.0.0" } }, "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ=="], - - "color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="], - - "color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="], - - "colorette": ["colorette@2.0.20", "", {}, "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w=="], - - "commander": ["commander@2.20.3", "", {}, "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="], - - "common-path-prefix": ["common-path-prefix@3.0.0", "", {}, "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w=="], - - "compressible": ["compressible@2.0.18", "", { "dependencies": { "mime-db": ">= 1.43.0 < 2" } }, "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg=="], - - "compression": ["compression@1.8.0", "", { "dependencies": { "bytes": "3.1.2", "compressible": "~2.0.18", "debug": "2.6.9", "negotiator": "~0.6.4", "on-headers": "~1.0.2", "safe-buffer": "5.2.1", "vary": "~1.1.2" } }, "sha512-k6WLKfunuqCYD3t6AsuPGvQWaKwuLLh2/xHNcX4qE+vIfDNXpSqnrhwA7O53R7WVQUnt8dVAIW+YHr7xTgOgGA=="], - - "concat-map": ["concat-map@0.0.1", "", {}, "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="], - - "connect": ["connect@3.7.0", "", { "dependencies": { "debug": "2.6.9", "finalhandler": "1.1.2", "parseurl": "~1.3.3", "utils-merge": "1.0.1" } }, "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ=="], - - "connect-history-api-fallback": ["connect-history-api-fallback@2.0.0", "", {}, "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA=="], - - "content-disposition": ["content-disposition@0.5.4", "", { "dependencies": { "safe-buffer": "5.2.1" } }, "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ=="], - - "content-type": ["content-type@1.0.5", "", {}, "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA=="], - - "convert-source-map": ["convert-source-map@1.9.0", "", {}, "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A=="], - - "cookie": ["cookie@0.7.1", "", {}, "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w=="], - - "cookie-signature": ["cookie-signature@1.0.6", "", {}, "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ=="], - - "copy-anything": ["copy-anything@2.0.6", "", { "dependencies": { "is-what": "^3.14.1" } }, "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw=="], - - "copy-webpack-plugin": ["copy-webpack-plugin@12.0.2", "", { "dependencies": { "fast-glob": "^3.3.2", "glob-parent": "^6.0.1", "globby": "^14.0.0", "normalize-path": "^3.0.0", "schema-utils": "^4.2.0", "serialize-javascript": "^6.0.2" }, "peerDependencies": { "webpack": "^5.1.0" } }, "sha512-SNwdBeHyII+rWvee/bTnAYyO8vfVdcSTud4EIb6jcZ8inLeWucJE0DnxXQBjlQ5zlteuuvooGQy3LIyGxhvlOA=="], - - "core-js-compat": ["core-js-compat@3.41.0", "", { "dependencies": { "browserslist": "^4.24.4" } }, "sha512-RFsU9LySVue9RTwdDVX/T0e2Y6jRYWXERKElIjpuEOEnxaXffI0X7RUwVzfYLfzuLXSNJDYoRYUAmRUcyln20A=="], - - "core-util-is": ["core-util-is@1.0.3", "", {}, "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="], - - "cors": ["cors@2.8.5", "", { "dependencies": { "object-assign": "^4", "vary": "^1" } }, "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g=="], - - "cosmiconfig": ["cosmiconfig@9.0.0", "", { "dependencies": { "env-paths": "^2.2.1", "import-fresh": "^3.3.0", "js-yaml": "^4.1.0", "parse-json": "^5.2.0" }, "peerDependencies": { "typescript": ">=4.9.5" }, "optionalPeers": ["typescript"] }, "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg=="], - - "countup.js": ["countup.js@2.8.0", "", {}, "sha512-f7xEhX0awl4NOElHulrl4XRfKoNH3rB+qfNSZZyjSZhaAoUk6elvhH+MNxMmlmuUJ2/QNTWPSA7U4mNtIAKljQ=="], - - "cross-spawn": ["cross-spawn@7.0.6", "", { "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" } }, "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA=="], - - "css-loader": ["css-loader@7.1.2", "", { "dependencies": { "icss-utils": "^5.1.0", "postcss": "^8.4.33", "postcss-modules-extract-imports": "^3.1.0", "postcss-modules-local-by-default": "^4.0.5", "postcss-modules-scope": "^3.2.0", "postcss-modules-values": "^4.0.0", "postcss-value-parser": "^4.2.0", "semver": "^7.5.4" }, "peerDependencies": { "@rspack/core": "0.x || 1.x", "webpack": "^5.27.0" }, "optionalPeers": ["@rspack/core", "webpack"] }, "sha512-6WvYYn7l/XEGN8Xu2vWFt9nVzrCn39vKyTEFf/ExEyoksJjjSZV/0/35XPlMbpnr6VGhZIUg5yJrL8tGfes/FA=="], - - "css-select": ["css-select@5.1.0", "", { "dependencies": { "boolbase": "^1.0.0", "css-what": "^6.1.0", "domhandler": "^5.0.2", "domutils": "^3.0.1", "nth-check": "^2.0.1" } }, "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg=="], - - "css-what": ["css-what@6.1.0", "", {}, "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw=="], - - "cssesc": ["cssesc@3.0.0", "", { "bin": { "cssesc": "bin/cssesc" } }, "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg=="], - - "custom-event": ["custom-event@1.0.1", "", {}, "sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg=="], - - "date-format": ["date-format@4.0.14", "", {}, "sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg=="], - - "debug": ["debug@4.4.0", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA=="], - - "deep-is": ["deep-is@0.1.4", "", {}, "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="], - - "default-browser": ["default-browser@5.2.1", "", { "dependencies": { "bundle-name": "^4.1.0", "default-browser-id": "^5.0.0" } }, "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg=="], - - "default-browser-id": ["default-browser-id@5.0.0", "", {}, "sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA=="], - - "defaults": ["defaults@1.0.4", "", { "dependencies": { "clone": "^1.0.2" } }, "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A=="], - - "define-lazy-prop": ["define-lazy-prop@3.0.0", "", {}, "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg=="], - - "depd": ["depd@2.0.0", "", {}, "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw=="], - - "destroy": ["destroy@1.2.0", "", {}, "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg=="], - - "detect-libc": ["detect-libc@1.0.3", "", { "bin": { "detect-libc": "./bin/detect-libc.js" } }, "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg=="], - - "detect-node": ["detect-node@2.1.0", "", {}, "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g=="], - - "di": ["di@0.0.1", "", {}, "sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA=="], - - "dns-packet": ["dns-packet@5.6.1", "", { "dependencies": { "@leichtgewicht/ip-codec": "^2.0.1" } }, "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw=="], - - "dom-serialize": ["dom-serialize@2.2.1", "", { "dependencies": { "custom-event": "~1.0.0", "ent": "~2.2.0", "extend": "^3.0.0", "void-elements": "^2.0.0" } }, "sha512-Yra4DbvoW7/Z6LBN560ZwXMjoNOSAN2wRsKFGc4iBeso+mpIA6qj1vfdf9HpMaKAqG6wXTy+1SYEzmNpKXOSsQ=="], - - "dom-serializer": ["dom-serializer@2.0.0", "", { "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.2", "entities": "^4.2.0" } }, "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg=="], - - "domelementtype": ["domelementtype@2.3.0", "", {}, "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw=="], - - "domhandler": ["domhandler@5.0.3", "", { "dependencies": { "domelementtype": "^2.3.0" } }, "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w=="], - - "domutils": ["domutils@3.2.2", "", { "dependencies": { "dom-serializer": "^2.0.0", "domelementtype": "^2.3.0", "domhandler": "^5.0.3" } }, "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw=="], - - "dunder-proto": ["dunder-proto@1.0.1", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.1", "es-errors": "^1.3.0", "gopd": "^1.2.0" } }, "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A=="], - - "eastasianwidth": ["eastasianwidth@0.2.0", "", {}, "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA=="], - - "ee-first": ["ee-first@1.1.1", "", {}, "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="], - - "electron-to-chromium": ["electron-to-chromium@1.5.130", "", {}, "sha512-Ou2u7L9j2XLZbhqzyX0jWDj6gA8D3jIfVzt4rikLf3cGBa0VdReuFimBKS9tQJA4+XpeCxj1NoWlfBXzbMa9IA=="], - - "emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="], - - "emojis-list": ["emojis-list@3.0.0", "", {}, "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q=="], - - "encodeurl": ["encodeurl@2.0.0", "", {}, "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg=="], - - "encoding": ["encoding@0.1.13", "", { "dependencies": { "iconv-lite": "^0.6.2" } }, "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A=="], - - "engine.io": ["engine.io@6.6.4", "", { "dependencies": { "@types/cors": "^2.8.12", "@types/node": ">=10.0.0", "accepts": "~1.3.4", "base64id": "2.0.0", "cookie": "~0.7.2", "cors": "~2.8.5", "debug": "~4.3.1", "engine.io-parser": "~5.2.1", "ws": "~8.17.1" } }, "sha512-ZCkIjSYNDyGn0R6ewHDtXgns/Zre/NT6Agvq1/WobF7JXgFff4SeDroKiCO3fNJreU9YG429Sc81o4w5ok/W5g=="], - - "engine.io-parser": ["engine.io-parser@5.2.3", "", {}, "sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q=="], - - "enhanced-resolve": ["enhanced-resolve@5.18.1", "", { "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" } }, "sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg=="], - - "ent": ["ent@2.2.2", "", { "dependencies": { "call-bound": "^1.0.3", "es-errors": "^1.3.0", "punycode": "^1.4.1", "safe-regex-test": "^1.1.0" } }, "sha512-kKvD1tO6BM+oK9HzCPpUdRb4vKFQY/FPTFmurMvh6LlN68VMrdj77w8yp51/kDbpkFOS9J8w5W6zIzgM2H8/hw=="], - - "entities": ["entities@4.5.0", "", {}, "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw=="], - - "env-paths": ["env-paths@2.2.1", "", {}, "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A=="], - - "environment": ["environment@1.1.0", "", {}, "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q=="], - - "err-code": ["err-code@2.0.3", "", {}, "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA=="], - - "errno": ["errno@0.1.8", "", { "dependencies": { "prr": "~1.0.1" }, "bin": { "errno": "cli.js" } }, "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A=="], - - "error-ex": ["error-ex@1.3.2", "", { "dependencies": { "is-arrayish": "^0.2.1" } }, "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g=="], - - "es-define-property": ["es-define-property@1.0.1", "", {}, "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g=="], - - "es-errors": ["es-errors@1.3.0", "", {}, "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw=="], - - "es-module-lexer": ["es-module-lexer@1.6.0", "", {}, "sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ=="], - - "es-object-atoms": ["es-object-atoms@1.1.1", "", { "dependencies": { "es-errors": "^1.3.0" } }, "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA=="], - - "esbuild": ["esbuild@0.25.1", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.1", "@esbuild/android-arm": "0.25.1", "@esbuild/android-arm64": "0.25.1", "@esbuild/android-x64": "0.25.1", "@esbuild/darwin-arm64": "0.25.1", "@esbuild/darwin-x64": "0.25.1", "@esbuild/freebsd-arm64": "0.25.1", "@esbuild/freebsd-x64": "0.25.1", "@esbuild/linux-arm": "0.25.1", "@esbuild/linux-arm64": "0.25.1", "@esbuild/linux-ia32": "0.25.1", "@esbuild/linux-loong64": "0.25.1", "@esbuild/linux-mips64el": "0.25.1", "@esbuild/linux-ppc64": "0.25.1", "@esbuild/linux-riscv64": "0.25.1", "@esbuild/linux-s390x": "0.25.1", "@esbuild/linux-x64": "0.25.1", "@esbuild/netbsd-arm64": "0.25.1", "@esbuild/netbsd-x64": "0.25.1", "@esbuild/openbsd-arm64": "0.25.1", "@esbuild/openbsd-x64": "0.25.1", "@esbuild/sunos-x64": "0.25.1", "@esbuild/win32-arm64": "0.25.1", "@esbuild/win32-ia32": "0.25.1", "@esbuild/win32-x64": "0.25.1" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-BGO5LtrGC7vxnqucAe/rmvKdJllfGaYWdyABvyMoXQlfYMb2bbRuReWR5tEGE//4LcNJj9XrkovTqNYRFZHAMQ=="], - - "esbuild-wasm": ["esbuild-wasm@0.25.1", "", { "bin": { "esbuild": "bin/esbuild" } }, "sha512-dZxPeDHcDIQ6ilml/NzYxnPbNkoVsHSFH3JGLSobttc5qYYgExMo8lh2XcB+w+AfiqykVDGK5PWanGB0gWaAWw=="], - - "escalade": ["escalade@3.2.0", "", {}, "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA=="], - - "escape-html": ["escape-html@1.0.3", "", {}, "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="], - - "escape-string-regexp": ["escape-string-regexp@4.0.0", "", {}, "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA=="], - - "eslint": ["eslint@9.25.1", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.12.1", "@eslint/config-array": "^0.20.0", "@eslint/config-helpers": "^0.2.1", "@eslint/core": "^0.13.0", "@eslint/eslintrc": "^3.3.1", "@eslint/js": "9.25.1", "@eslint/plugin-kit": "^0.2.8", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.4.2", "@types/estree": "^1.0.6", "@types/json-schema": "^7.0.15", "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.6", "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", "eslint-scope": "^8.3.0", "eslint-visitor-keys": "^4.2.0", "espree": "^10.3.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.2", "natural-compare": "^1.4.0", "optionator": "^0.9.3" }, "peerDependencies": { "jiti": "*" }, "optionalPeers": ["jiti"], "bin": { "eslint": "bin/eslint.js" } }, "sha512-E6Mtz9oGQWDCpV12319d59n4tx9zOTXSTmc8BLVxBx+G/0RdM5MvEEJLU9c0+aleoePYYgVTOsRblx433qmhWQ=="], - - "eslint-scope": ["eslint-scope@8.3.0", "", { "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" } }, "sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ=="], - - "eslint-visitor-keys": ["eslint-visitor-keys@4.2.0", "", {}, "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw=="], - - "espree": ["espree@10.3.0", "", { "dependencies": { "acorn": "^8.14.0", "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^4.2.0" } }, "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg=="], - - "esquery": ["esquery@1.6.0", "", { "dependencies": { "estraverse": "^5.1.0" } }, "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg=="], - - "esrecurse": ["esrecurse@4.3.0", "", { "dependencies": { "estraverse": "^5.2.0" } }, "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag=="], - - "estraverse": ["estraverse@5.3.0", "", {}, "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="], - - "esutils": ["esutils@2.0.3", "", {}, "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="], - - "etag": ["etag@1.8.1", "", {}, "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg=="], - - "eventemitter3": ["eventemitter3@5.0.1", "", {}, "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA=="], - - "events": ["events@3.3.0", "", {}, "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q=="], - - "exponential-backoff": ["exponential-backoff@3.1.2", "", {}, "sha512-8QxYTVXUkuy7fIIoitQkPwGonB8F3Zj8eEO8Sqg9Zv/bkI7RJAzowee4gr81Hak/dUTpA2Z7VfQgoijjPNlUZA=="], - - "express": ["express@4.21.2", "", { "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", "body-parser": "1.20.3", "content-disposition": "0.5.4", "content-type": "~1.0.4", "cookie": "0.7.1", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "2.0.0", "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "etag": "~1.8.1", "finalhandler": "1.3.1", "fresh": "0.5.2", "http-errors": "2.0.0", "merge-descriptors": "1.0.3", "methods": "~1.1.2", "on-finished": "2.4.1", "parseurl": "~1.3.3", "path-to-regexp": "0.1.12", "proxy-addr": "~2.0.7", "qs": "6.13.0", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", "send": "0.19.0", "serve-static": "1.16.2", "setprototypeof": "1.2.0", "statuses": "2.0.1", "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" } }, "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA=="], - - "extend": ["extend@3.0.2", "", {}, "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="], - - "external-editor": ["external-editor@3.1.0", "", { "dependencies": { "chardet": "^0.7.0", "iconv-lite": "^0.4.24", "tmp": "^0.0.33" } }, "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew=="], - - "fast-deep-equal": ["fast-deep-equal@3.1.3", "", {}, "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="], - - "fast-glob": ["fast-glob@3.3.3", "", { "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" } }, "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg=="], - - "fast-json-stable-stringify": ["fast-json-stable-stringify@2.1.0", "", {}, "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="], - - "fast-levenshtein": ["fast-levenshtein@2.0.6", "", {}, "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw=="], - - "fast-uri": ["fast-uri@3.0.6", "", {}, "sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw=="], - - "fastq": ["fastq@1.19.1", "", { "dependencies": { "reusify": "^1.0.4" } }, "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ=="], - - "faye-websocket": ["faye-websocket@0.11.4", "", { "dependencies": { "websocket-driver": ">=0.5.1" } }, "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g=="], - - "fdir": ["fdir@6.4.3", "", { "peerDependencies": { "picomatch": "^3 || ^4" }, "optionalPeers": ["picomatch"] }, "sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw=="], - - "file-entry-cache": ["file-entry-cache@8.0.0", "", { "dependencies": { "flat-cache": "^4.0.0" } }, "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ=="], - - "fill-range": ["fill-range@7.1.1", "", { "dependencies": { "to-regex-range": "^5.0.1" } }, "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg=="], - - "finalhandler": ["finalhandler@1.1.2", "", { "dependencies": { "debug": "2.6.9", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "on-finished": "~2.3.0", "parseurl": "~1.3.3", "statuses": "~1.5.0", "unpipe": "~1.0.0" } }, "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA=="], - - "find-cache-dir": ["find-cache-dir@4.0.0", "", { "dependencies": { "common-path-prefix": "^3.0.0", "pkg-dir": "^7.0.0" } }, "sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg=="], - - "find-up": ["find-up@5.0.0", "", { "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" } }, "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng=="], - - "flat": ["flat@5.0.2", "", { "bin": { "flat": "cli.js" } }, "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ=="], - - "flat-cache": ["flat-cache@4.0.1", "", { "dependencies": { "flatted": "^3.2.9", "keyv": "^4.5.4" } }, "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw=="], - - "flatted": ["flatted@3.3.3", "", {}, "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg=="], - - "follow-redirects": ["follow-redirects@1.15.9", "", {}, "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ=="], - - "foreground-child": ["foreground-child@3.3.1", "", { "dependencies": { "cross-spawn": "^7.0.6", "signal-exit": "^4.0.1" } }, "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw=="], - - "forwarded": ["forwarded@0.2.0", "", {}, "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow=="], - - "fraction.js": ["fraction.js@4.3.7", "", {}, "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew=="], - - "fresh": ["fresh@0.5.2", "", {}, "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q=="], - - "fs-extra": ["fs-extra@8.1.0", "", { "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^4.0.0", "universalify": "^0.1.0" } }, "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g=="], - - "fs-minipass": ["fs-minipass@3.0.3", "", { "dependencies": { "minipass": "^7.0.3" } }, "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw=="], - - "fs.realpath": ["fs.realpath@1.0.0", "", {}, "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="], - - "fsevents": ["fsevents@2.3.3", "", { "os": "darwin" }, "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw=="], - - "function-bind": ["function-bind@1.1.2", "", {}, "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA=="], - - "gensync": ["gensync@1.0.0-beta.2", "", {}, "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg=="], - - "get-caller-file": ["get-caller-file@2.0.5", "", {}, "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="], - - "get-east-asian-width": ["get-east-asian-width@1.3.0", "", {}, "sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ=="], - - "get-intrinsic": ["get-intrinsic@1.3.0", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.2", "es-define-property": "^1.0.1", "es-errors": "^1.3.0", "es-object-atoms": "^1.1.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" } }, "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ=="], - - "get-proto": ["get-proto@1.0.1", "", { "dependencies": { "dunder-proto": "^1.0.1", "es-object-atoms": "^1.0.0" } }, "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g=="], - - "glob": ["glob@7.2.3", "", { "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" } }, "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q=="], - - "glob-parent": ["glob-parent@6.0.2", "", { "dependencies": { "is-glob": "^4.0.3" } }, "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A=="], - - "glob-to-regexp": ["glob-to-regexp@0.4.1", "", {}, "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw=="], - - "globals": ["globals@14.0.0", "", {}, "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ=="], - - "globby": ["globby@14.1.0", "", { "dependencies": { "@sindresorhus/merge-streams": "^2.1.0", "fast-glob": "^3.3.3", "ignore": "^7.0.3", "path-type": "^6.0.0", "slash": "^5.1.0", "unicorn-magic": "^0.3.0" } }, "sha512-0Ia46fDOaT7k4og1PDW4YbodWWr3scS2vAr2lTbsplOt2WkKp0vQbkI9wKis/T5LV/dqPjO3bpS/z6GTJB82LA=="], - - "gopd": ["gopd@1.2.0", "", {}, "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg=="], - - "graceful-fs": ["graceful-fs@4.2.11", "", {}, "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="], - - "graphemer": ["graphemer@1.4.0", "", {}, "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag=="], - - "gsap": ["gsap@3.12.7", "", {}, "sha512-V4GsyVamhmKefvcAKaoy0h6si0xX7ogwBoBSs2CTJwt7luW0oZzC0LhdkyuKV8PJAXr7Yaj8pMjCKD4GJ+eEMg=="], - - "handle-thing": ["handle-thing@2.0.1", "", {}, "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg=="], - - "has-flag": ["has-flag@4.0.0", "", {}, "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="], - - "has-symbols": ["has-symbols@1.1.0", "", {}, "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ=="], - - "has-tostringtag": ["has-tostringtag@1.0.2", "", { "dependencies": { "has-symbols": "^1.0.3" } }, "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw=="], - - "hasown": ["hasown@2.0.2", "", { "dependencies": { "function-bind": "^1.1.2" } }, "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ=="], - - "hosted-git-info": ["hosted-git-info@8.0.2", "", { "dependencies": { "lru-cache": "^10.0.1" } }, "sha512-sYKnA7eGln5ov8T8gnYlkSOxFJvywzEx9BueN6xo/GKO8PGiI6uK6xx+DIGe45T3bdVjLAQDQW1aicT8z8JwQg=="], - - "hpack.js": ["hpack.js@2.1.6", "", { "dependencies": { "inherits": "^2.0.1", "obuf": "^1.0.0", "readable-stream": "^2.0.1", "wbuf": "^1.1.0" } }, "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ=="], - - "html-escaper": ["html-escaper@2.0.2", "", {}, "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg=="], - - "htmlparser2": ["htmlparser2@9.1.0", "", { "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.3", "domutils": "^3.1.0", "entities": "^4.5.0" } }, "sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ=="], - - "http-cache-semantics": ["http-cache-semantics@4.1.1", "", {}, "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ=="], - - "http-deceiver": ["http-deceiver@1.2.7", "", {}, "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw=="], - - "http-errors": ["http-errors@2.0.0", "", { "dependencies": { "depd": "2.0.0", "inherits": "2.0.4", "setprototypeof": "1.2.0", "statuses": "2.0.1", "toidentifier": "1.0.1" } }, "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ=="], - - "http-parser-js": ["http-parser-js@0.5.9", "", {}, "sha512-n1XsPy3rXVxlqxVioEWdC+0+M+SQw0DpJynwtOPo1X+ZlvdzTLtDBIJJlDQTnwZIFJrZSzSGmIOUdP8tu+SgLw=="], - - "http-proxy": ["http-proxy@1.18.1", "", { "dependencies": { "eventemitter3": "^4.0.0", "follow-redirects": "^1.0.0", "requires-port": "^1.0.0" } }, "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ=="], - - "http-proxy-agent": ["http-proxy-agent@7.0.2", "", { "dependencies": { "agent-base": "^7.1.0", "debug": "^4.3.4" } }, "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig=="], - - "http-proxy-middleware": ["http-proxy-middleware@3.0.3", "", { "dependencies": { "@types/http-proxy": "^1.17.15", "debug": "^4.3.6", "http-proxy": "^1.18.1", "is-glob": "^4.0.3", "is-plain-object": "^5.0.0", "micromatch": "^4.0.8" } }, "sha512-usY0HG5nyDUwtqpiZdETNbmKtw3QQ1jwYFZ9wi5iHzX2BcILwQKtYDJPo7XHTsu5Z0B2Hj3W9NNnbd+AjFWjqg=="], - - "https-proxy-agent": ["https-proxy-agent@7.0.6", "", { "dependencies": { "agent-base": "^7.1.2", "debug": "4" } }, "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw=="], - - "hyperdyperid": ["hyperdyperid@1.2.0", "", {}, "sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A=="], - - "iconv-lite": ["iconv-lite@0.6.3", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw=="], - - "icss-utils": ["icss-utils@5.1.0", "", { "peerDependencies": { "postcss": "^8.1.0" } }, "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA=="], - - "ieee754": ["ieee754@1.2.1", "", {}, "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="], - - "ignore": ["ignore@5.3.2", "", {}, "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g=="], - - "ignore-walk": ["ignore-walk@7.0.0", "", { "dependencies": { "minimatch": "^9.0.0" } }, "sha512-T4gbf83A4NH95zvhVYZc+qWocBBGlpzUXLPGurJggw/WIOwicfXJChLDP/iBZnN5WqROSu5Bm3hhle4z8a8YGQ=="], - - "image-size": ["image-size@0.5.5", "", { "bin": { "image-size": "bin/image-size.js" } }, "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ=="], - - "immutable": ["immutable@5.1.1", "", {}, "sha512-3jatXi9ObIsPGr3N5hGw/vWWcTkq6hUYhpQz4k0wLC+owqWi/LiugIw9x0EdNZ2yGedKN/HzePiBvaJRXa0Ujg=="], - - "import-fresh": ["import-fresh@3.3.1", "", { "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" } }, "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ=="], - - "imurmurhash": ["imurmurhash@0.1.4", "", {}, "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA=="], - - "inflight": ["inflight@1.0.6", "", { "dependencies": { "once": "^1.3.0", "wrappy": "1" } }, "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA=="], - - "inherits": ["inherits@2.0.4", "", {}, "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="], - - "ini": ["ini@5.0.0", "", {}, "sha512-+N0ngpO3e7cRUWOJAS7qw0IZIVc6XPrW4MlFBdD066F2L4k1L6ker3hLqSq7iXxU5tgS4WGkIUElWn5vogAEnw=="], - - "ip-address": ["ip-address@9.0.5", "", { "dependencies": { "jsbn": "1.1.0", "sprintf-js": "^1.1.3" } }, "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g=="], - - "ipaddr.js": ["ipaddr.js@2.2.0", "", {}, "sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA=="], - - "is-arrayish": ["is-arrayish@0.2.1", "", {}, "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg=="], - - "is-binary-path": ["is-binary-path@2.1.0", "", { "dependencies": { "binary-extensions": "^2.0.0" } }, "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw=="], - - "is-core-module": ["is-core-module@2.16.1", "", { "dependencies": { "hasown": "^2.0.2" } }, "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w=="], - - "is-docker": ["is-docker@3.0.0", "", { "bin": { "is-docker": "cli.js" } }, "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ=="], - - "is-extglob": ["is-extglob@2.1.1", "", {}, "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="], - - "is-fullwidth-code-point": ["is-fullwidth-code-point@3.0.0", "", {}, "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="], - - "is-glob": ["is-glob@4.0.3", "", { "dependencies": { "is-extglob": "^2.1.1" } }, "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg=="], - - "is-inside-container": ["is-inside-container@1.0.0", "", { "dependencies": { "is-docker": "^3.0.0" }, "bin": { "is-inside-container": "cli.js" } }, "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA=="], - - "is-interactive": ["is-interactive@1.0.0", "", {}, "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w=="], - - "is-network-error": ["is-network-error@1.1.0", "", {}, "sha512-tUdRRAnhT+OtCZR/LxZelH/C7QtjtFrTu5tXCA8pl55eTUElUHT+GPYV8MBMBvea/j+NxQqVt3LbWMRir7Gx9g=="], - - "is-number": ["is-number@7.0.0", "", {}, "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="], - - "is-plain-obj": ["is-plain-obj@3.0.0", "", {}, "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA=="], - - "is-plain-object": ["is-plain-object@5.0.0", "", {}, "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q=="], - - "is-regex": ["is-regex@1.2.1", "", { "dependencies": { "call-bound": "^1.0.2", "gopd": "^1.2.0", "has-tostringtag": "^1.0.2", "hasown": "^2.0.2" } }, "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g=="], - - "is-unicode-supported": ["is-unicode-supported@0.1.0", "", {}, "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw=="], - - "is-what": ["is-what@3.14.1", "", {}, "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA=="], - - "is-wsl": ["is-wsl@3.1.0", "", { "dependencies": { "is-inside-container": "^1.0.0" } }, "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw=="], - - "isarray": ["isarray@1.0.0", "", {}, "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="], - - "isbinaryfile": ["isbinaryfile@4.0.10", "", {}, "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw=="], - - "isexe": ["isexe@2.0.0", "", {}, "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="], - - "isobject": ["isobject@3.0.1", "", {}, "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg=="], - - "istanbul-lib-coverage": ["istanbul-lib-coverage@3.2.2", "", {}, "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg=="], - - "istanbul-lib-instrument": ["istanbul-lib-instrument@6.0.3", "", { "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" } }, "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q=="], - - "istanbul-lib-report": ["istanbul-lib-report@3.0.1", "", { "dependencies": { "istanbul-lib-coverage": "^3.0.0", "make-dir": "^4.0.0", "supports-color": "^7.1.0" } }, "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw=="], - - "istanbul-lib-source-maps": ["istanbul-lib-source-maps@4.0.1", "", { "dependencies": { "debug": "^4.1.1", "istanbul-lib-coverage": "^3.0.0", "source-map": "^0.6.1" } }, "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw=="], - - "istanbul-reports": ["istanbul-reports@3.1.7", "", { "dependencies": { "html-escaper": "^2.0.0", "istanbul-lib-report": "^3.0.0" } }, "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g=="], - - "jackspeak": ["jackspeak@3.4.3", "", { "dependencies": { "@isaacs/cliui": "^8.0.2" }, "optionalDependencies": { "@pkgjs/parseargs": "^0.11.0" } }, "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw=="], - - "jasmine-core": ["jasmine-core@5.7.1", "", {}, "sha512-QnurrtpKsPoixxG2R3d1xP0St/2kcX5oTZyDyQJMY+Vzi/HUlu1kGm+2V8Tz+9lV991leB1l0xcsyz40s9xOOw=="], - - "jest-worker": ["jest-worker@27.5.1", "", { "dependencies": { "@types/node": "*", "merge-stream": "^2.0.0", "supports-color": "^8.0.0" } }, "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg=="], - - "jiti": ["jiti@1.21.7", "", { "bin": { "jiti": "bin/jiti.js" } }, "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A=="], - - "js-tokens": ["js-tokens@4.0.0", "", {}, "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="], - - "js-yaml": ["js-yaml@4.1.0", "", { "dependencies": { "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA=="], - - "jsbn": ["jsbn@1.1.0", "", {}, "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A=="], - - "jsesc": ["jsesc@3.1.0", "", { "bin": { "jsesc": "bin/jsesc" } }, "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA=="], - - "json-buffer": ["json-buffer@3.0.1", "", {}, "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ=="], - - "json-parse-even-better-errors": ["json-parse-even-better-errors@2.3.1", "", {}, "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w=="], - - "json-schema-traverse": ["json-schema-traverse@1.0.0", "", {}, "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="], - - "json-stable-stringify-without-jsonify": ["json-stable-stringify-without-jsonify@1.0.1", "", {}, "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw=="], - - "json5": ["json5@2.2.3", "", { "bin": { "json5": "lib/cli.js" } }, "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg=="], - - "jsonc-parser": ["jsonc-parser@3.3.1", "", {}, "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ=="], - - "jsonfile": ["jsonfile@4.0.0", "", { "optionalDependencies": { "graceful-fs": "^4.1.6" } }, "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg=="], - - "jsonparse": ["jsonparse@1.3.1", "", {}, "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg=="], - - "karma": ["karma@6.4.4", "", { "dependencies": { "@colors/colors": "1.5.0", "body-parser": "^1.19.0", "braces": "^3.0.2", "chokidar": "^3.5.1", "connect": "^3.7.0", "di": "^0.0.1", "dom-serialize": "^2.2.1", "glob": "^7.1.7", "graceful-fs": "^4.2.6", "http-proxy": "^1.18.1", "isbinaryfile": "^4.0.8", "lodash": "^4.17.21", "log4js": "^6.4.1", "mime": "^2.5.2", "minimatch": "^3.0.4", "mkdirp": "^0.5.5", "qjobs": "^1.2.0", "range-parser": "^1.2.1", "rimraf": "^3.0.2", "socket.io": "^4.7.2", "source-map": "^0.6.1", "tmp": "^0.2.1", "ua-parser-js": "^0.7.30", "yargs": "^16.1.1" }, "bin": { "karma": "bin/karma" } }, "sha512-LrtUxbdvt1gOpo3gxG+VAJlJAEMhbWlM4YrFQgql98FwF7+K8K12LYO4hnDdUkNjeztYrOXEMqgTajSWgmtI/w=="], - - "karma-chrome-launcher": ["karma-chrome-launcher@3.2.0", "", { "dependencies": { "which": "^1.2.1" } }, "sha512-rE9RkUPI7I9mAxByQWkGJFXfFD6lE4gC5nPuZdobf/QdTEJI6EU4yIay/cfU/xV4ZxlM5JiTv7zWYgA64NpS5Q=="], - - "karma-coverage": ["karma-coverage@2.2.1", "", { "dependencies": { "istanbul-lib-coverage": "^3.2.0", "istanbul-lib-instrument": "^5.1.0", "istanbul-lib-report": "^3.0.0", "istanbul-lib-source-maps": "^4.0.1", "istanbul-reports": "^3.0.5", "minimatch": "^3.0.4" } }, "sha512-yj7hbequkQP2qOSb20GuNSIyE//PgJWHwC2IydLE6XRtsnaflv+/OSGNssPjobYUlhVVagy99TQpqUt3vAUG7A=="], - - "karma-jasmine": ["karma-jasmine@5.1.0", "", { "dependencies": { "jasmine-core": "^4.1.0" }, "peerDependencies": { "karma": "^6.0.0" } }, "sha512-i/zQLFrfEpRyQoJF9fsCdTMOF5c2dK7C7OmsuKg2D0YSsuZSfQDiLuaiktbuio6F2wiCsZSnSnieIQ0ant/uzQ=="], - - "karma-jasmine-html-reporter": ["karma-jasmine-html-reporter@2.1.0", "", { "peerDependencies": { "jasmine-core": "^4.0.0 || ^5.0.0", "karma": "^6.0.0", "karma-jasmine": "^5.0.0" } }, "sha512-sPQE1+nlsn6Hwb5t+HHwyy0A1FNCVKuL1192b+XNauMYWThz2kweiBVW1DqloRpVvZIJkIoHVB7XRpK78n1xbQ=="], - - "karma-source-map-support": ["karma-source-map-support@1.4.0", "", { "dependencies": { "source-map-support": "^0.5.5" } }, "sha512-RsBECncGO17KAoJCYXjv+ckIz+Ii9NCi+9enk+rq6XC81ezYkb4/RHE6CTXdA7IOJqoF3wcaLfVG0CPmE5ca6A=="], - - "keyv": ["keyv@4.5.4", "", { "dependencies": { "json-buffer": "3.0.1" } }, "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw=="], - - "kind-of": ["kind-of@6.0.3", "", {}, "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw=="], - - "launch-editor": ["launch-editor@2.10.0", "", { "dependencies": { "picocolors": "^1.0.0", "shell-quote": "^1.8.1" } }, "sha512-D7dBRJo/qcGX9xlvt/6wUYzQxjh5G1RvZPgPv8vi4KRU99DVQL/oW7tnVOCCTm2HGeo3C5HvGE5Yrh6UBoZ0vA=="], - - "less": ["less@4.2.2", "", { "dependencies": { "copy-anything": "^2.0.1", "parse-node-version": "^1.0.1", "tslib": "^2.3.0" }, "optionalDependencies": { "errno": "^0.1.1", "graceful-fs": "^4.1.2", "image-size": "~0.5.0", "make-dir": "^2.1.0", "mime": "^1.4.1", "needle": "^3.1.0", "source-map": "~0.6.0" }, "bin": { "lessc": "bin/lessc" } }, "sha512-tkuLHQlvWUTeQ3doAqnHbNn8T6WX1KA8yvbKG9x4VtKtIjHsVKQZCH11zRgAfbDAXC2UNIg/K9BYAAcEzUIrNg=="], - - "less-loader": ["less-loader@12.2.0", "", { "peerDependencies": { "@rspack/core": "0.x || 1.x", "less": "^3.5.0 || ^4.0.0", "webpack": "^5.0.0" }, "optionalPeers": ["@rspack/core", "webpack"] }, "sha512-MYUxjSQSBUQmowc0l5nPieOYwMzGPUaTzB6inNW/bdPEG9zOL3eAAD1Qw5ZxSPk7we5dMojHwNODYMV1hq4EVg=="], - - "levn": ["levn@0.4.1", "", { "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" } }, "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ=="], - - "license-webpack-plugin": ["license-webpack-plugin@4.0.2", "", { "dependencies": { "webpack-sources": "^3.0.0" } }, "sha512-771TFWFD70G1wLTC4oU2Cw4qvtmNrIw+wRvBtn+okgHl7slJVi7zfNcdmqDL72BojM30VNJ2UHylr1o77U37Jw=="], - - "lightningcss": ["lightningcss@1.29.2", "", { "dependencies": { "detect-libc": "^2.0.3" }, "optionalDependencies": { "lightningcss-darwin-arm64": "1.29.2", "lightningcss-darwin-x64": "1.29.2", "lightningcss-freebsd-x64": "1.29.2", "lightningcss-linux-arm-gnueabihf": "1.29.2", "lightningcss-linux-arm64-gnu": "1.29.2", "lightningcss-linux-arm64-musl": "1.29.2", "lightningcss-linux-x64-gnu": "1.29.2", "lightningcss-linux-x64-musl": "1.29.2", "lightningcss-win32-arm64-msvc": "1.29.2", "lightningcss-win32-x64-msvc": "1.29.2" } }, "sha512-6b6gd/RUXKaw5keVdSEtqFVdzWnU5jMxTUjA2bVcMNPLwSQ08Sv/UodBVtETLCn7k4S1Ibxwh7k68IwLZPgKaA=="], - - "lightningcss-darwin-arm64": ["lightningcss-darwin-arm64@1.29.2", "", { "os": "darwin", "cpu": "arm64" }, "sha512-cK/eMabSViKn/PG8U/a7aCorpeKLMlK0bQeNHmdb7qUnBkNPnL+oV5DjJUo0kqWsJUapZsM4jCfYItbqBDvlcA=="], - - "lightningcss-darwin-x64": ["lightningcss-darwin-x64@1.29.2", "", { "os": "darwin", "cpu": "x64" }, "sha512-j5qYxamyQw4kDXX5hnnCKMf3mLlHvG44f24Qyi2965/Ycz829MYqjrVg2H8BidybHBp9kom4D7DR5VqCKDXS0w=="], - - "lightningcss-freebsd-x64": ["lightningcss-freebsd-x64@1.29.2", "", { "os": "freebsd", "cpu": "x64" }, "sha512-wDk7M2tM78Ii8ek9YjnY8MjV5f5JN2qNVO+/0BAGZRvXKtQrBC4/cn4ssQIpKIPP44YXw6gFdpUF+Ps+RGsCwg=="], - - "lightningcss-linux-arm-gnueabihf": ["lightningcss-linux-arm-gnueabihf@1.29.2", "", { "os": "linux", "cpu": "arm" }, "sha512-IRUrOrAF2Z+KExdExe3Rz7NSTuuJ2HvCGlMKoquK5pjvo2JY4Rybr+NrKnq0U0hZnx5AnGsuFHjGnNT14w26sg=="], - - "lightningcss-linux-arm64-gnu": ["lightningcss-linux-arm64-gnu@1.29.2", "", { "os": "linux", "cpu": "arm64" }, "sha512-KKCpOlmhdjvUTX/mBuaKemp0oeDIBBLFiU5Fnqxh1/DZ4JPZi4evEH7TKoSBFOSOV3J7iEmmBaw/8dpiUvRKlQ=="], - - "lightningcss-linux-arm64-musl": ["lightningcss-linux-arm64-musl@1.29.2", "", { "os": "linux", "cpu": "arm64" }, "sha512-Q64eM1bPlOOUgxFmoPUefqzY1yV3ctFPE6d/Vt7WzLW4rKTv7MyYNky+FWxRpLkNASTnKQUaiMJ87zNODIrrKQ=="], - - "lightningcss-linux-x64-gnu": ["lightningcss-linux-x64-gnu@1.29.2", "", { "os": "linux", "cpu": "x64" }, "sha512-0v6idDCPG6epLXtBH/RPkHvYx74CVziHo6TMYga8O2EiQApnUPZsbR9nFNrg2cgBzk1AYqEd95TlrsL7nYABQg=="], - - "lightningcss-linux-x64-musl": ["lightningcss-linux-x64-musl@1.29.2", "", { "os": "linux", "cpu": "x64" }, "sha512-rMpz2yawkgGT8RULc5S4WiZopVMOFWjiItBT7aSfDX4NQav6M44rhn5hjtkKzB+wMTRlLLqxkeYEtQ3dd9696w=="], - - "lightningcss-win32-arm64-msvc": ["lightningcss-win32-arm64-msvc@1.29.2", "", { "os": "win32", "cpu": "arm64" }, "sha512-nL7zRW6evGQqYVu/bKGK+zShyz8OVzsCotFgc7judbt6wnB2KbiKKJwBE4SGoDBQ1O94RjW4asrCjQL4i8Fhbw=="], - - "lightningcss-win32-x64-msvc": ["lightningcss-win32-x64-msvc@1.29.2", "", { "os": "win32", "cpu": "x64" }, "sha512-EdIUW3B2vLuHmv7urfzMI/h2fmlnOQBk1xlsDxkN1tCWKjNFjfLhGxYk8C8mzpSfr+A6jFFIi8fU6LbQGsRWjA=="], - - "lines-and-columns": ["lines-and-columns@1.2.4", "", {}, "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg=="], - - "listr2": ["listr2@8.2.5", "", { "dependencies": { "cli-truncate": "^4.0.0", "colorette": "^2.0.20", "eventemitter3": "^5.0.1", "log-update": "^6.1.0", "rfdc": "^1.4.1", "wrap-ansi": "^9.0.0" } }, "sha512-iyAZCeyD+c1gPyE9qpFu8af0Y+MRtmKOncdGoA2S5EY8iFq99dmmvkNnHiWo+pj0s7yH7l3KPIgee77tKpXPWQ=="], - - "lmdb": ["lmdb@3.2.6", "", { "dependencies": { "msgpackr": "^1.11.2", "node-addon-api": "^6.1.0", "node-gyp-build-optional-packages": "5.2.2", "ordered-binary": "^1.5.3", "weak-lru-cache": "^1.2.2" }, "optionalDependencies": { "@lmdb/lmdb-darwin-arm64": "3.2.6", "@lmdb/lmdb-darwin-x64": "3.2.6", "@lmdb/lmdb-linux-arm": "3.2.6", "@lmdb/lmdb-linux-arm64": "3.2.6", "@lmdb/lmdb-linux-x64": "3.2.6", "@lmdb/lmdb-win32-x64": "3.2.6" }, "bin": { "download-lmdb-prebuilds": "bin/download-prebuilds.js" } }, "sha512-SuHqzPl7mYStna8WRotY8XX/EUZBjjv3QyKIByeCLFfC9uXT/OIHByEcA07PzbMfQAM0KYJtLgtpMRlIe5dErQ=="], - - "loader-runner": ["loader-runner@4.3.0", "", {}, "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg=="], - - "loader-utils": ["loader-utils@3.3.1", "", {}, "sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg=="], - - "locate-path": ["locate-path@6.0.0", "", { "dependencies": { "p-locate": "^5.0.0" } }, "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw=="], - - "lodash": ["lodash@4.17.21", "", {}, "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="], - - "lodash.debounce": ["lodash.debounce@4.0.8", "", {}, "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow=="], - - "lodash.merge": ["lodash.merge@4.6.2", "", {}, "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ=="], - - "log-symbols": ["log-symbols@4.1.0", "", { "dependencies": { "chalk": "^4.1.0", "is-unicode-supported": "^0.1.0" } }, "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg=="], - - "log-update": ["log-update@6.1.0", "", { "dependencies": { "ansi-escapes": "^7.0.0", "cli-cursor": "^5.0.0", "slice-ansi": "^7.1.0", "strip-ansi": "^7.1.0", "wrap-ansi": "^9.0.0" } }, "sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w=="], - - "log4js": ["log4js@6.9.1", "", { "dependencies": { "date-format": "^4.0.14", "debug": "^4.3.4", "flatted": "^3.2.7", "rfdc": "^1.3.0", "streamroller": "^3.1.5" } }, "sha512-1somDdy9sChrr9/f4UlzhdaGfDR2c/SaD2a4T7qEkG4jTS57/B3qmnjLYePwQ8cqWnUHZI0iAKxMBpCZICiZ2g=="], - - "lru-cache": ["lru-cache@5.1.1", "", { "dependencies": { "yallist": "^3.0.2" } }, "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w=="], - - "magic-string": ["magic-string@0.30.17", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0" } }, "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA=="], - - "make-dir": ["make-dir@2.1.0", "", { "dependencies": { "pify": "^4.0.1", "semver": "^5.6.0" } }, "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA=="], - - "make-fetch-happen": ["make-fetch-happen@14.0.3", "", { "dependencies": { "@npmcli/agent": "^3.0.0", "cacache": "^19.0.1", "http-cache-semantics": "^4.1.1", "minipass": "^7.0.2", "minipass-fetch": "^4.0.0", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", "negotiator": "^1.0.0", "proc-log": "^5.0.0", "promise-retry": "^2.0.1", "ssri": "^12.0.0" } }, "sha512-QMjGbFTP0blj97EeidG5hk/QhKQ3T4ICckQGLgz38QF7Vgbk6e6FTARN8KhKxyBbWn8R0HU+bnw8aSoFPD4qtQ=="], - - "math-intrinsics": ["math-intrinsics@1.1.0", "", {}, "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g=="], - - "media-typer": ["media-typer@0.3.0", "", {}, "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ=="], - - "memfs": ["memfs@4.17.0", "", { "dependencies": { "@jsonjoy.com/json-pack": "^1.0.3", "@jsonjoy.com/util": "^1.3.0", "tree-dump": "^1.0.1", "tslib": "^2.0.0" } }, "sha512-4eirfZ7thblFmqFjywlTmuWVSvccHAJbn1r8qQLzmTO11qcqpohOjmY2mFce6x7x7WtskzRqApPD0hv+Oa74jg=="], - - "merge-descriptors": ["merge-descriptors@1.0.3", "", {}, "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ=="], - - "merge-stream": ["merge-stream@2.0.0", "", {}, "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w=="], - - "merge2": ["merge2@1.4.1", "", {}, "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg=="], - - "methods": ["methods@1.1.2", "", {}, "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w=="], - - "micromatch": ["micromatch@4.0.8", "", { "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" } }, "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA=="], - - "mime": ["mime@2.6.0", "", { "bin": { "mime": "cli.js" } }, "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg=="], - - "mime-db": ["mime-db@1.52.0", "", {}, "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="], - - "mime-types": ["mime-types@2.1.35", "", { "dependencies": { "mime-db": "1.52.0" } }, "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw=="], - - "mimic-fn": ["mimic-fn@2.1.0", "", {}, "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg=="], - - "mimic-function": ["mimic-function@5.0.1", "", {}, "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA=="], - - "mini-css-extract-plugin": ["mini-css-extract-plugin@2.9.2", "", { "dependencies": { "schema-utils": "^4.0.0", "tapable": "^2.2.1" }, "peerDependencies": { "webpack": "^5.0.0" } }, "sha512-GJuACcS//jtq4kCtd5ii/M0SZf7OZRH+BxdqXZHaJfb8TJiVl+NgQRPwiYt2EuqeSkNydn/7vP+bcE27C5mb9w=="], - - "minimalistic-assert": ["minimalistic-assert@1.0.1", "", {}, "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A=="], - - "minimatch": ["minimatch@3.1.2", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw=="], - - "minimist": ["minimist@1.2.8", "", {}, "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA=="], - - "minipass": ["minipass@7.1.2", "", {}, "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw=="], - - "minipass-collect": ["minipass-collect@2.0.1", "", { "dependencies": { "minipass": "^7.0.3" } }, "sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw=="], - - "minipass-fetch": ["minipass-fetch@4.0.1", "", { "dependencies": { "minipass": "^7.0.3", "minipass-sized": "^1.0.3", "minizlib": "^3.0.1" }, "optionalDependencies": { "encoding": "^0.1.13" } }, "sha512-j7U11C5HXigVuutxebFadoYBbd7VSdZWggSe64NVdvWNBqGAiXPL2QVCehjmw7lY1oF9gOllYbORh+hiNgfPgQ=="], - - "minipass-flush": ["minipass-flush@1.0.5", "", { "dependencies": { "minipass": "^3.0.0" } }, "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw=="], - - "minipass-pipeline": ["minipass-pipeline@1.2.4", "", { "dependencies": { "minipass": "^3.0.0" } }, "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A=="], - - "minipass-sized": ["minipass-sized@1.0.3", "", { "dependencies": { "minipass": "^3.0.0" } }, "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g=="], - - "minizlib": ["minizlib@3.0.2", "", { "dependencies": { "minipass": "^7.1.2" } }, "sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA=="], - - "mkdirp": ["mkdirp@0.5.6", "", { "dependencies": { "minimist": "^1.2.6" }, "bin": { "mkdirp": "bin/cmd.js" } }, "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw=="], - - "mrmime": ["mrmime@2.0.1", "", {}, "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ=="], - - "ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="], - - "msgpackr": ["msgpackr@1.11.2", "", { "optionalDependencies": { "msgpackr-extract": "^3.0.2" } }, "sha512-F9UngXRlPyWCDEASDpTf6c9uNhGPTqnTeLVt7bN+bU1eajoR/8V9ys2BRaV5C/e5ihE6sJ9uPIKaYt6bFuO32g=="], - - "msgpackr-extract": ["msgpackr-extract@3.0.3", "", { "dependencies": { "node-gyp-build-optional-packages": "5.2.2" }, "optionalDependencies": { "@msgpackr-extract/msgpackr-extract-darwin-arm64": "3.0.3", "@msgpackr-extract/msgpackr-extract-darwin-x64": "3.0.3", "@msgpackr-extract/msgpackr-extract-linux-arm": "3.0.3", "@msgpackr-extract/msgpackr-extract-linux-arm64": "3.0.3", "@msgpackr-extract/msgpackr-extract-linux-x64": "3.0.3", "@msgpackr-extract/msgpackr-extract-win32-x64": "3.0.3" }, "bin": { "download-msgpackr-prebuilds": "bin/download-prebuilds.js" } }, "sha512-P0efT1C9jIdVRefqjzOQ9Xml57zpOXnIuS+csaB4MdZbTdmGDLo8XhzBG1N7aO11gKDDkJvBLULeFTo46wwreA=="], - - "multicast-dns": ["multicast-dns@7.2.5", "", { "dependencies": { "dns-packet": "^5.2.2", "thunky": "^1.0.2" }, "bin": { "multicast-dns": "cli.js" } }, "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg=="], - - "mute-stream": ["mute-stream@1.0.0", "", {}, "sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA=="], - - "nanoid": ["nanoid@3.3.11", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w=="], - - "natural-compare": ["natural-compare@1.4.0", "", {}, "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw=="], - - "needle": ["needle@3.3.1", "", { "dependencies": { "iconv-lite": "^0.6.3", "sax": "^1.2.4" }, "bin": { "needle": "bin/needle" } }, "sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q=="], - - "negotiator": ["negotiator@0.6.4", "", {}, "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w=="], - - "neo-async": ["neo-async@2.6.2", "", {}, "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw=="], - - "node-addon-api": ["node-addon-api@6.1.0", "", {}, "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA=="], - - "node-forge": ["node-forge@1.3.1", "", {}, "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA=="], - - "node-gyp": ["node-gyp@11.2.0", "", { "dependencies": { "env-paths": "^2.2.0", "exponential-backoff": "^3.1.1", "graceful-fs": "^4.2.6", "make-fetch-happen": "^14.0.3", "nopt": "^8.0.0", "proc-log": "^5.0.0", "semver": "^7.3.5", "tar": "^7.4.3", "tinyglobby": "^0.2.12", "which": "^5.0.0" }, "bin": { "node-gyp": "bin/node-gyp.js" } }, "sha512-T0S1zqskVUSxcsSTkAsLc7xCycrRYmtDHadDinzocrThjyQCn5kMlEBSj6H4qDbgsIOSLmmlRIeb0lZXj+UArA=="], - - "node-gyp-build-optional-packages": ["node-gyp-build-optional-packages@5.2.2", "", { "dependencies": { "detect-libc": "^2.0.1" }, "bin": { "node-gyp-build-optional-packages": "bin.js", "node-gyp-build-optional-packages-optional": "optional.js", "node-gyp-build-optional-packages-test": "build-test.js" } }, "sha512-s+w+rBWnpTMwSFbaE0UXsRlg7hU4FjekKU4eyAih5T8nJuNZT1nNsskXpxmeqSK9UzkBl6UgRlnKc8hz8IEqOw=="], - - "node-releases": ["node-releases@2.0.19", "", {}, "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw=="], - - "nopt": ["nopt@8.1.0", "", { "dependencies": { "abbrev": "^3.0.0" }, "bin": { "nopt": "bin/nopt.js" } }, "sha512-ieGu42u/Qsa4TFktmaKEwM6MQH0pOWnaB3htzh0JRtx84+Mebc0cbZYN5bC+6WTZ4+77xrL9Pn5m7CV6VIkV7A=="], - - "normalize-path": ["normalize-path@3.0.0", "", {}, "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="], - - "normalize-range": ["normalize-range@0.1.2", "", {}, "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA=="], - - "npm-bundled": ["npm-bundled@4.0.0", "", { "dependencies": { "npm-normalize-package-bin": "^4.0.0" } }, "sha512-IxaQZDMsqfQ2Lz37VvyyEtKLe8FsRZuysmedy/N06TU1RyVppYKXrO4xIhR0F+7ubIBox6Q7nir6fQI3ej39iA=="], - - "npm-install-checks": ["npm-install-checks@7.1.1", "", { "dependencies": { "semver": "^7.1.1" } }, "sha512-u6DCwbow5ynAX5BdiHQ9qvexme4U3qHW3MWe5NqH+NeBm0LbiH6zvGjNNew1fY+AZZUtVHbOPF3j7mJxbUzpXg=="], - - "npm-normalize-package-bin": ["npm-normalize-package-bin@4.0.0", "", {}, "sha512-TZKxPvItzai9kN9H/TkmCtx/ZN/hvr3vUycjlfmH0ootY9yFBzNOpiXAdIn1Iteqsvk4lQn6B5PTrt+n6h8k/w=="], - - "npm-package-arg": ["npm-package-arg@12.0.2", "", { "dependencies": { "hosted-git-info": "^8.0.0", "proc-log": "^5.0.0", "semver": "^7.3.5", "validate-npm-package-name": "^6.0.0" } }, "sha512-f1NpFjNI9O4VbKMOlA5QoBq/vSQPORHcTZ2feJpFkTHJ9eQkdlmZEKSjcAhxTGInC7RlEyScT9ui67NaOsjFWA=="], - - "npm-packlist": ["npm-packlist@9.0.0", "", { "dependencies": { "ignore-walk": "^7.0.0" } }, "sha512-8qSayfmHJQTx3nJWYbbUmflpyarbLMBc6LCAjYsiGtXxDB68HaZpb8re6zeaLGxZzDuMdhsg70jryJe+RrItVQ=="], - - "npm-pick-manifest": ["npm-pick-manifest@10.0.0", "", { "dependencies": { "npm-install-checks": "^7.1.0", "npm-normalize-package-bin": "^4.0.0", "npm-package-arg": "^12.0.0", "semver": "^7.3.5" } }, "sha512-r4fFa4FqYY8xaM7fHecQ9Z2nE9hgNfJR+EmoKv0+chvzWkBcORX3r0FpTByP+CbOVJDladMXnPQGVN8PBLGuTQ=="], - - "npm-registry-fetch": ["npm-registry-fetch@18.0.2", "", { "dependencies": { "@npmcli/redact": "^3.0.0", "jsonparse": "^1.3.1", "make-fetch-happen": "^14.0.0", "minipass": "^7.0.2", "minipass-fetch": "^4.0.0", "minizlib": "^3.0.1", "npm-package-arg": "^12.0.0", "proc-log": "^5.0.0" } }, "sha512-LeVMZBBVy+oQb5R6FDV9OlJCcWDU+al10oKpe+nsvcHnG24Z3uM3SvJYKfGJlfGjVU8v9liejCrUR/M5HO5NEQ=="], - - "nth-check": ["nth-check@2.1.1", "", { "dependencies": { "boolbase": "^1.0.0" } }, "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w=="], - - "object-assign": ["object-assign@4.1.1", "", {}, "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg=="], - - "object-inspect": ["object-inspect@1.13.4", "", {}, "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew=="], - - "obuf": ["obuf@1.1.2", "", {}, "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg=="], - - "on-finished": ["on-finished@2.4.1", "", { "dependencies": { "ee-first": "1.1.1" } }, "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg=="], - - "on-headers": ["on-headers@1.0.2", "", {}, "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA=="], - - "once": ["once@1.4.0", "", { "dependencies": { "wrappy": "1" } }, "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w=="], - - "onetime": ["onetime@5.1.2", "", { "dependencies": { "mimic-fn": "^2.1.0" } }, "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg=="], - - "open": ["open@10.1.0", "", { "dependencies": { "default-browser": "^5.2.1", "define-lazy-prop": "^3.0.0", "is-inside-container": "^1.0.0", "is-wsl": "^3.1.0" } }, "sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw=="], - - "optionator": ["optionator@0.9.4", "", { "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" } }, "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g=="], - - "ora": ["ora@5.4.1", "", { "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" } }, "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ=="], - - "ordered-binary": ["ordered-binary@1.5.3", "", {}, "sha512-oGFr3T+pYdTGJ+YFEILMpS3es+GiIbs9h/XQrclBXUtd44ey7XwfsMzM31f64I1SQOawDoDr/D823kNCADI8TA=="], - - "os-tmpdir": ["os-tmpdir@1.0.2", "", {}, "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g=="], - - "p-limit": ["p-limit@3.1.0", "", { "dependencies": { "yocto-queue": "^0.1.0" } }, "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ=="], - - "p-locate": ["p-locate@5.0.0", "", { "dependencies": { "p-limit": "^3.0.2" } }, "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw=="], - - "p-map": ["p-map@7.0.3", "", {}, "sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA=="], - - "p-retry": ["p-retry@6.2.1", "", { "dependencies": { "@types/retry": "0.12.2", "is-network-error": "^1.0.0", "retry": "^0.13.1" } }, "sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ=="], - - "package-json-from-dist": ["package-json-from-dist@1.0.1", "", {}, "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw=="], - - "pacote": ["pacote@20.0.0", "", { "dependencies": { "@npmcli/git": "^6.0.0", "@npmcli/installed-package-contents": "^3.0.0", "@npmcli/package-json": "^6.0.0", "@npmcli/promise-spawn": "^8.0.0", "@npmcli/run-script": "^9.0.0", "cacache": "^19.0.0", "fs-minipass": "^3.0.0", "minipass": "^7.0.2", "npm-package-arg": "^12.0.0", "npm-packlist": "^9.0.0", "npm-pick-manifest": "^10.0.0", "npm-registry-fetch": "^18.0.0", "proc-log": "^5.0.0", "promise-retry": "^2.0.1", "sigstore": "^3.0.0", "ssri": "^12.0.0", "tar": "^6.1.11" }, "bin": { "pacote": "bin/index.js" } }, "sha512-pRjC5UFwZCgx9kUFDVM9YEahv4guZ1nSLqwmWiLUnDbGsjs+U5w7z6Uc8HNR1a6x8qnu5y9xtGE6D1uAuYz+0A=="], - - "parent-module": ["parent-module@1.0.1", "", { "dependencies": { "callsites": "^3.0.0" } }, "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g=="], - - "parse-json": ["parse-json@5.2.0", "", { "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" } }, "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg=="], - - "parse-node-version": ["parse-node-version@1.0.1", "", {}, "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA=="], - - "parse5": ["parse5@7.2.1", "", { "dependencies": { "entities": "^4.5.0" } }, "sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ=="], - - "parse5-html-rewriting-stream": ["parse5-html-rewriting-stream@7.0.0", "", { "dependencies": { "entities": "^4.3.0", "parse5": "^7.0.0", "parse5-sax-parser": "^7.0.0" } }, "sha512-mazCyGWkmCRWDI15Zp+UiCqMp/0dgEmkZRvhlsqqKYr4SsVm/TvnSpD9fCvqCA2zoWJcfRym846ejWBBHRiYEg=="], - - "parse5-sax-parser": ["parse5-sax-parser@7.0.0", "", { "dependencies": { "parse5": "^7.0.0" } }, "sha512-5A+v2SNsq8T6/mG3ahcz8ZtQ0OUFTatxPbeidoMB7tkJSGDY3tdfl4MHovtLQHkEn5CGxijNWRQHhRQ6IRpXKg=="], - - "parseurl": ["parseurl@1.3.3", "", {}, "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="], - - "path-exists": ["path-exists@4.0.0", "", {}, "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="], - - "path-is-absolute": ["path-is-absolute@1.0.1", "", {}, "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg=="], - - "path-key": ["path-key@3.1.1", "", {}, "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="], - - "path-parse": ["path-parse@1.0.7", "", {}, "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="], - - "path-scurry": ["path-scurry@1.11.1", "", { "dependencies": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" } }, "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA=="], - - "path-to-regexp": ["path-to-regexp@0.1.12", "", {}, "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ=="], - - "path-type": ["path-type@6.0.0", "", {}, "sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ=="], - - "picocolors": ["picocolors@1.1.1", "", {}, "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="], - - "picomatch": ["picomatch@4.0.2", "", {}, "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg=="], - - "pify": ["pify@4.0.1", "", {}, "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g=="], - - "piscina": ["piscina@4.8.0", "", { "optionalDependencies": { "@napi-rs/nice": "^1.0.1" } }, "sha512-EZJb+ZxDrQf3dihsUL7p42pjNyrNIFJCrRHPMgxu/svsj+P3xS3fuEWp7k2+rfsavfl1N0G29b1HGs7J0m8rZA=="], - - "pkg-dir": ["pkg-dir@7.0.0", "", { "dependencies": { "find-up": "^6.3.0" } }, "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA=="], - - "postcss": ["postcss@8.5.3", "", { "dependencies": { "nanoid": "^3.3.8", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A=="], - - "postcss-loader": ["postcss-loader@8.1.1", "", { "dependencies": { "cosmiconfig": "^9.0.0", "jiti": "^1.20.0", "semver": "^7.5.4" }, "peerDependencies": { "@rspack/core": "0.x || 1.x", "postcss": "^7.0.0 || ^8.0.1", "webpack": "^5.0.0" }, "optionalPeers": ["@rspack/core", "webpack"] }, "sha512-0IeqyAsG6tYiDRCYKQJLAmgQr47DX6N7sFSWvQxt6AcupX8DIdmykuk/o/tx0Lze3ErGHJEp5OSRxrelC6+NdQ=="], - - "postcss-media-query-parser": ["postcss-media-query-parser@0.2.3", "", {}, "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig=="], - - "postcss-modules-extract-imports": ["postcss-modules-extract-imports@3.1.0", "", { "peerDependencies": { "postcss": "^8.1.0" } }, "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q=="], - - "postcss-modules-local-by-default": ["postcss-modules-local-by-default@4.2.0", "", { "dependencies": { "icss-utils": "^5.0.0", "postcss-selector-parser": "^7.0.0", "postcss-value-parser": "^4.1.0" }, "peerDependencies": { "postcss": "^8.1.0" } }, "sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw=="], - - "postcss-modules-scope": ["postcss-modules-scope@3.2.1", "", { "dependencies": { "postcss-selector-parser": "^7.0.0" }, "peerDependencies": { "postcss": "^8.1.0" } }, "sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA=="], - - "postcss-modules-values": ["postcss-modules-values@4.0.0", "", { "dependencies": { "icss-utils": "^5.0.0" }, "peerDependencies": { "postcss": "^8.1.0" } }, "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ=="], - - "postcss-selector-parser": ["postcss-selector-parser@7.1.0", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA=="], - - "postcss-value-parser": ["postcss-value-parser@4.2.0", "", {}, "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ=="], - - "prelude-ls": ["prelude-ls@1.2.1", "", {}, "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g=="], - - "prettier": ["prettier@3.5.3", "", { "bin": { "prettier": "bin/prettier.cjs" } }, "sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw=="], - - "proc-log": ["proc-log@5.0.0", "", {}, "sha512-Azwzvl90HaF0aCz1JrDdXQykFakSSNPaPoiZ9fm5qJIMHioDZEi7OAdRwSm6rSoPtY3Qutnm3L7ogmg3dc+wbQ=="], - - "process-nextick-args": ["process-nextick-args@2.0.1", "", {}, "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="], - - "promise-retry": ["promise-retry@2.0.1", "", { "dependencies": { "err-code": "^2.0.2", "retry": "^0.12.0" } }, "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g=="], - - "proxy-addr": ["proxy-addr@2.0.7", "", { "dependencies": { "forwarded": "0.2.0", "ipaddr.js": "1.9.1" } }, "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg=="], - - "prr": ["prr@1.0.1", "", {}, "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw=="], - - "punycode": ["punycode@2.3.1", "", {}, "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg=="], - - "qjobs": ["qjobs@1.2.0", "", {}, "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg=="], - - "qs": ["qs@6.13.0", "", { "dependencies": { "side-channel": "^1.0.6" } }, "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg=="], - - "queue-microtask": ["queue-microtask@1.2.3", "", {}, "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A=="], - - "randombytes": ["randombytes@2.1.0", "", { "dependencies": { "safe-buffer": "^5.1.0" } }, "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ=="], - - "range-parser": ["range-parser@1.2.1", "", {}, "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="], - - "raw-body": ["raw-body@2.5.2", "", { "dependencies": { "bytes": "3.1.2", "http-errors": "2.0.0", "iconv-lite": "0.4.24", "unpipe": "1.0.0" } }, "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA=="], - - "readable-stream": ["readable-stream@3.6.2", "", { "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } }, "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA=="], - - "readdirp": ["readdirp@4.1.2", "", {}, "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg=="], - - "reflect-metadata": ["reflect-metadata@0.2.2", "", {}, "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q=="], - - "regenerate": ["regenerate@1.4.2", "", {}, "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A=="], - - "regenerate-unicode-properties": ["regenerate-unicode-properties@10.2.0", "", { "dependencies": { "regenerate": "^1.4.2" } }, "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA=="], - - "regenerator-runtime": ["regenerator-runtime@0.14.1", "", {}, "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw=="], - - "regenerator-transform": ["regenerator-transform@0.15.2", "", { "dependencies": { "@babel/runtime": "^7.8.4" } }, "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg=="], - - "regex-parser": ["regex-parser@2.3.1", "", {}, "sha512-yXLRqatcCuKtVHsWrNg0JL3l1zGfdXeEvDa0bdu4tCDQw0RpMDZsqbkyRTUnKMR0tXF627V2oEWjBEaEdqTwtQ=="], - - "regexpu-core": ["regexpu-core@6.2.0", "", { "dependencies": { "regenerate": "^1.4.2", "regenerate-unicode-properties": "^10.2.0", "regjsgen": "^0.8.0", "regjsparser": "^0.12.0", "unicode-match-property-ecmascript": "^2.0.0", "unicode-match-property-value-ecmascript": "^2.1.0" } }, "sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA=="], - - "regjsgen": ["regjsgen@0.8.0", "", {}, "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q=="], - - "regjsparser": ["regjsparser@0.12.0", "", { "dependencies": { "jsesc": "~3.0.2" }, "bin": { "regjsparser": "bin/parser" } }, "sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ=="], - - "require-directory": ["require-directory@2.1.1", "", {}, "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q=="], - - "require-from-string": ["require-from-string@2.0.2", "", {}, "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw=="], - - "requires-port": ["requires-port@1.0.0", "", {}, "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ=="], - - "resolve": ["resolve@1.22.10", "", { "dependencies": { "is-core-module": "^2.16.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" } }, "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w=="], - - "resolve-from": ["resolve-from@4.0.0", "", {}, "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g=="], - - "resolve-url-loader": ["resolve-url-loader@5.0.0", "", { "dependencies": { "adjust-sourcemap-loader": "^4.0.0", "convert-source-map": "^1.7.0", "loader-utils": "^2.0.0", "postcss": "^8.2.14", "source-map": "0.6.1" } }, "sha512-uZtduh8/8srhBoMx//5bwqjQ+rfYOUq8zC9NrMUGtjBiGTtFJM42s58/36+hTqeqINcnYe08Nj3LkK9lW4N8Xg=="], - - "restore-cursor": ["restore-cursor@3.1.0", "", { "dependencies": { "onetime": "^5.1.0", "signal-exit": "^3.0.2" } }, "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA=="], - - "retry": ["retry@0.13.1", "", {}, "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg=="], - - "reusify": ["reusify@1.1.0", "", {}, "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw=="], - - "rfdc": ["rfdc@1.4.1", "", {}, "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA=="], - - "rimraf": ["rimraf@3.0.2", "", { "dependencies": { "glob": "^7.1.3" }, "bin": { "rimraf": "bin.js" } }, "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA=="], - - "rollup": ["rollup@4.34.8", "", { "dependencies": { "@types/estree": "1.0.6" }, "optionalDependencies": { "@rollup/rollup-android-arm-eabi": "4.34.8", "@rollup/rollup-android-arm64": "4.34.8", "@rollup/rollup-darwin-arm64": "4.34.8", "@rollup/rollup-darwin-x64": "4.34.8", "@rollup/rollup-freebsd-arm64": "4.34.8", "@rollup/rollup-freebsd-x64": "4.34.8", "@rollup/rollup-linux-arm-gnueabihf": "4.34.8", "@rollup/rollup-linux-arm-musleabihf": "4.34.8", "@rollup/rollup-linux-arm64-gnu": "4.34.8", "@rollup/rollup-linux-arm64-musl": "4.34.8", "@rollup/rollup-linux-loongarch64-gnu": "4.34.8", "@rollup/rollup-linux-powerpc64le-gnu": "4.34.8", "@rollup/rollup-linux-riscv64-gnu": "4.34.8", "@rollup/rollup-linux-s390x-gnu": "4.34.8", "@rollup/rollup-linux-x64-gnu": "4.34.8", "@rollup/rollup-linux-x64-musl": "4.34.8", "@rollup/rollup-win32-arm64-msvc": "4.34.8", "@rollup/rollup-win32-ia32-msvc": "4.34.8", "@rollup/rollup-win32-x64-msvc": "4.34.8", "fsevents": "~2.3.2" }, "bin": { "rollup": "dist/bin/rollup" } }, "sha512-489gTVMzAYdiZHFVA/ig/iYFllCcWFHMvUHI1rpFmkoUtRlQxqh6/yiNqnYibjMZ2b/+FUQwldG+aLsEt6bglQ=="], - - "run-applescript": ["run-applescript@7.0.0", "", {}, "sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A=="], - - "run-parallel": ["run-parallel@1.2.0", "", { "dependencies": { "queue-microtask": "^1.2.2" } }, "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA=="], - - "rxjs": ["rxjs@7.8.2", "", { "dependencies": { "tslib": "^2.1.0" } }, "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA=="], - - "safe-buffer": ["safe-buffer@5.2.1", "", {}, "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="], - - "safe-regex-test": ["safe-regex-test@1.1.0", "", { "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", "is-regex": "^1.2.1" } }, "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw=="], - - "safer-buffer": ["safer-buffer@2.1.2", "", {}, "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="], - - "sass": ["sass@1.85.0", "", { "dependencies": { "chokidar": "^4.0.0", "immutable": "^5.0.2", "source-map-js": ">=0.6.2 <2.0.0" }, "optionalDependencies": { "@parcel/watcher": "^2.4.1" }, "bin": { "sass": "sass.js" } }, "sha512-3ToiC1xZ1Y8aU7+CkgCI/tqyuPXEmYGJXO7H4uqp0xkLXUqp88rQQ4j1HmP37xSJLbCJPaIiv+cT1y+grssrww=="], - - "sass-loader": ["sass-loader@16.0.5", "", { "dependencies": { "neo-async": "^2.6.2" }, "peerDependencies": { "@rspack/core": "0.x || 1.x", "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0", "sass": "^1.3.0", "sass-embedded": "*", "webpack": "^5.0.0" }, "optionalPeers": ["@rspack/core", "node-sass", "sass", "sass-embedded", "webpack"] }, "sha512-oL+CMBXrj6BZ/zOq4os+UECPL+bWqt6OAC6DWS8Ln8GZRcMDjlJ4JC3FBDuHJdYaFWIdKNIBYmtZtK2MaMkNIw=="], - - "sax": ["sax@1.4.1", "", {}, "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg=="], - - "schema-utils": ["schema-utils@4.3.0", "", { "dependencies": { "@types/json-schema": "^7.0.9", "ajv": "^8.9.0", "ajv-formats": "^2.1.1", "ajv-keywords": "^5.1.0" } }, "sha512-Gf9qqc58SpCA/xdziiHz35F4GNIWYWZrEshUc/G/r5BnLph6xpKuLeoJoQuj5WfBIx/eQLf+hmVPYHaxJu7V2g=="], - - "select-hose": ["select-hose@2.0.0", "", {}, "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg=="], - - "selfsigned": ["selfsigned@2.4.1", "", { "dependencies": { "@types/node-forge": "^1.3.0", "node-forge": "^1" } }, "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q=="], - - "semver": ["semver@7.7.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA=="], - - "send": ["send@0.19.0", "", { "dependencies": { "debug": "2.6.9", "depd": "2.0.0", "destroy": "1.2.0", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "0.5.2", "http-errors": "2.0.0", "mime": "1.6.0", "ms": "2.1.3", "on-finished": "2.4.1", "range-parser": "~1.2.1", "statuses": "2.0.1" } }, "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw=="], - - "serialize-javascript": ["serialize-javascript@6.0.2", "", { "dependencies": { "randombytes": "^2.1.0" } }, "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g=="], - - "serve-index": ["serve-index@1.9.1", "", { "dependencies": { "accepts": "~1.3.4", "batch": "0.6.1", "debug": "2.6.9", "escape-html": "~1.0.3", "http-errors": "~1.6.2", "mime-types": "~2.1.17", "parseurl": "~1.3.2" } }, "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw=="], - - "serve-static": ["serve-static@1.16.2", "", { "dependencies": { "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "parseurl": "~1.3.3", "send": "0.19.0" } }, "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw=="], - - "setprototypeof": ["setprototypeof@1.2.0", "", {}, "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="], - - "shallow-clone": ["shallow-clone@3.0.1", "", { "dependencies": { "kind-of": "^6.0.2" } }, "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA=="], - - "shebang-command": ["shebang-command@2.0.0", "", { "dependencies": { "shebang-regex": "^3.0.0" } }, "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA=="], - - "shebang-regex": ["shebang-regex@3.0.0", "", {}, "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="], - - "shell-quote": ["shell-quote@1.8.2", "", {}, "sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA=="], - - "side-channel": ["side-channel@1.1.0", "", { "dependencies": { "es-errors": "^1.3.0", "object-inspect": "^1.13.3", "side-channel-list": "^1.0.0", "side-channel-map": "^1.0.1", "side-channel-weakmap": "^1.0.2" } }, "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw=="], - - "side-channel-list": ["side-channel-list@1.0.0", "", { "dependencies": { "es-errors": "^1.3.0", "object-inspect": "^1.13.3" } }, "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA=="], - - "side-channel-map": ["side-channel-map@1.0.1", "", { "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.5", "object-inspect": "^1.13.3" } }, "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA=="], - - "side-channel-weakmap": ["side-channel-weakmap@1.0.2", "", { "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" } }, "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A=="], - - "signal-exit": ["signal-exit@4.1.0", "", {}, "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw=="], - - "sigstore": ["sigstore@3.1.0", "", { "dependencies": { "@sigstore/bundle": "^3.1.0", "@sigstore/core": "^2.0.0", "@sigstore/protobuf-specs": "^0.4.0", "@sigstore/sign": "^3.1.0", "@sigstore/tuf": "^3.1.0", "@sigstore/verify": "^2.1.0" } }, "sha512-ZpzWAFHIFqyFE56dXqgX/DkDRZdz+rRcjoIk/RQU4IX0wiCv1l8S7ZrXDHcCc+uaf+6o7w3h2l3g6GYG5TKN9Q=="], - - "slash": ["slash@5.1.0", "", {}, "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg=="], - - "slice-ansi": ["slice-ansi@5.0.0", "", { "dependencies": { "ansi-styles": "^6.0.0", "is-fullwidth-code-point": "^4.0.0" } }, "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ=="], - - "smart-buffer": ["smart-buffer@4.2.0", "", {}, "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg=="], - - "socket.io": ["socket.io@4.8.1", "", { "dependencies": { "accepts": "~1.3.4", "base64id": "~2.0.0", "cors": "~2.8.5", "debug": "~4.3.2", "engine.io": "~6.6.0", "socket.io-adapter": "~2.5.2", "socket.io-parser": "~4.2.4" } }, "sha512-oZ7iUCxph8WYRHHcjBEc9unw3adt5CmSNlppj/5Q4k2RIrhl8Z5yY2Xr4j9zj0+wzVZ0bxmYoGSzKJnRl6A4yg=="], - - "socket.io-adapter": ["socket.io-adapter@2.5.5", "", { "dependencies": { "debug": "~4.3.4", "ws": "~8.17.1" } }, "sha512-eLDQas5dzPgOWCk9GuuJC2lBqItuhKI4uxGgo9aIV7MYbk2h9Q6uULEh8WBzThoI7l+qU9Ast9fVUmkqPP9wYg=="], - - "socket.io-parser": ["socket.io-parser@4.2.4", "", { "dependencies": { "@socket.io/component-emitter": "~3.1.0", "debug": "~4.3.1" } }, "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew=="], - - "sockjs": ["sockjs@0.3.24", "", { "dependencies": { "faye-websocket": "^0.11.3", "uuid": "^8.3.2", "websocket-driver": "^0.7.4" } }, "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ=="], - - "socks": ["socks@2.8.4", "", { "dependencies": { "ip-address": "^9.0.5", "smart-buffer": "^4.2.0" } }, "sha512-D3YaD0aRxR3mEcqnidIs7ReYJFVzWdd6fXJYUM8ixcQcJRGTka/b3saV0KflYhyVJXKhb947GndU35SxYNResQ=="], - - "socks-proxy-agent": ["socks-proxy-agent@8.0.5", "", { "dependencies": { "agent-base": "^7.1.2", "debug": "^4.3.4", "socks": "^2.8.3" } }, "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw=="], - - "source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="], - - "source-map-js": ["source-map-js@1.2.1", "", {}, "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA=="], - - "source-map-loader": ["source-map-loader@5.0.0", "", { "dependencies": { "iconv-lite": "^0.6.3", "source-map-js": "^1.0.2" }, "peerDependencies": { "webpack": "^5.72.1" } }, "sha512-k2Dur7CbSLcAH73sBcIkV5xjPV4SzqO1NJ7+XaQl8if3VODDUj3FNchNGpqgJSKbvUfJuhVdv8K2Eu8/TNl2eA=="], - - "source-map-support": ["source-map-support@0.5.21", "", { "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" } }, "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w=="], - - "spdx-correct": ["spdx-correct@3.2.0", "", { "dependencies": { "spdx-expression-parse": "^3.0.0", "spdx-license-ids": "^3.0.0" } }, "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA=="], - - "spdx-exceptions": ["spdx-exceptions@2.5.0", "", {}, "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w=="], - - "spdx-expression-parse": ["spdx-expression-parse@3.0.1", "", { "dependencies": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" } }, "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q=="], - - "spdx-license-ids": ["spdx-license-ids@3.0.21", "", {}, "sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg=="], - - "spdy": ["spdy@4.0.2", "", { "dependencies": { "debug": "^4.1.0", "handle-thing": "^2.0.0", "http-deceiver": "^1.2.7", "select-hose": "^2.0.0", "spdy-transport": "^3.0.0" } }, "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA=="], - - "spdy-transport": ["spdy-transport@3.0.0", "", { "dependencies": { "debug": "^4.1.0", "detect-node": "^2.0.4", "hpack.js": "^2.1.6", "obuf": "^1.1.2", "readable-stream": "^3.0.6", "wbuf": "^1.7.3" } }, "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw=="], - - "sprintf-js": ["sprintf-js@1.1.3", "", {}, "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA=="], - - "ssri": ["ssri@12.0.0", "", { "dependencies": { "minipass": "^7.0.3" } }, "sha512-S7iGNosepx9RadX82oimUkvr0Ct7IjJbEbs4mJcTxst8um95J3sDYU1RBEOvdu6oL1Wek2ODI5i4MAw+dZ6cAQ=="], - - "statuses": ["statuses@2.0.1", "", {}, "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ=="], - - "streamroller": ["streamroller@3.1.5", "", { "dependencies": { "date-format": "^4.0.14", "debug": "^4.3.4", "fs-extra": "^8.1.0" } }, "sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw=="], - - "string-width": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="], - - "string-width-cjs": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="], - - "string_decoder": ["string_decoder@1.3.0", "", { "dependencies": { "safe-buffer": "~5.2.0" } }, "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA=="], - - "strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], - - "strip-ansi-cjs": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], - - "strip-json-comments": ["strip-json-comments@3.1.1", "", {}, "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig=="], - - "supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], - - "supports-preserve-symlinks-flag": ["supports-preserve-symlinks-flag@1.0.0", "", {}, "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w=="], - - "symbol-observable": ["symbol-observable@4.0.0", "", {}, "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ=="], - - "tailwindcss": ["tailwindcss@4.1.1", "", {}, "sha512-QNbdmeS979Efzim2g/bEvfuh+fTcIdp1y7gA+sb6OYSW74rt7Cr7M78AKdf6HqWT3d5AiTb7SwTT3sLQxr4/qw=="], - - "tapable": ["tapable@2.2.1", "", {}, "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ=="], - - "tar": ["tar@6.2.1", "", { "dependencies": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", "minipass": "^5.0.0", "minizlib": "^2.1.1", "mkdirp": "^1.0.3", "yallist": "^4.0.0" } }, "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A=="], - - "terser": ["terser@5.39.0", "", { "dependencies": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.8.2", "commander": "^2.20.0", "source-map-support": "~0.5.20" }, "bin": { "terser": "bin/terser" } }, "sha512-LBAhFyLho16harJoWMg/nZsQYgTrg5jXOn2nCYjRUcZZEdE3qa2zb8QEDRUGVZBW4rlazf2fxkg8tztybTaqWw=="], - - "terser-webpack-plugin": ["terser-webpack-plugin@5.3.14", "", { "dependencies": { "@jridgewell/trace-mapping": "^0.3.25", "jest-worker": "^27.4.5", "schema-utils": "^4.3.0", "serialize-javascript": "^6.0.2", "terser": "^5.31.1" }, "peerDependencies": { "webpack": "^5.1.0" } }, "sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw=="], - - "thingies": ["thingies@1.21.0", "", { "peerDependencies": { "tslib": "^2" } }, "sha512-hsqsJsFMsV+aD4s3CWKk85ep/3I9XzYV/IXaSouJMYIoDlgyi11cBhsqYe9/geRfB0YIikBQg6raRaM+nIMP9g=="], - - "thunky": ["thunky@1.1.0", "", {}, "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA=="], - - "tinyglobby": ["tinyglobby@0.2.12", "", { "dependencies": { "fdir": "^6.4.3", "picomatch": "^4.0.2" } }, "sha512-qkf4trmKSIiMTs/E63cxH+ojC2unam7rJ0WrauAzpT3ECNTxGRMlaXxVbfxMUC/w0LaYk6jQ4y/nGR9uBO3tww=="], - - "tmp": ["tmp@0.2.3", "", {}, "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w=="], - - "to-regex-range": ["to-regex-range@5.0.1", "", { "dependencies": { "is-number": "^7.0.0" } }, "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ=="], - - "toidentifier": ["toidentifier@1.0.1", "", {}, "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA=="], - - "tree-dump": ["tree-dump@1.0.2", "", { "peerDependencies": { "tslib": "2" } }, "sha512-dpev9ABuLWdEubk+cIaI9cHwRNNDjkBBLXTwI4UCUFdQ5xXKqNXoK4FEciw/vxf+NQ7Cb7sGUyeUtORvHIdRXQ=="], - - "tree-kill": ["tree-kill@1.2.2", "", { "bin": { "tree-kill": "cli.js" } }, "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A=="], - - "ts-api-utils": ["ts-api-utils@2.1.0", "", { "peerDependencies": { "typescript": ">=4.8.4" } }, "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ=="], - - "tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], - - "tuf-js": ["tuf-js@3.0.1", "", { "dependencies": { "@tufjs/models": "3.0.1", "debug": "^4.3.6", "make-fetch-happen": "^14.0.1" } }, "sha512-+68OP1ZzSF84rTckf3FA95vJ1Zlx/uaXyiiKyPd1pA4rZNkpEvDAKmsu1xUSmbF/chCRYgZ6UZkDwC7PmzmAyA=="], - - "type-check": ["type-check@0.4.0", "", { "dependencies": { "prelude-ls": "^1.2.1" } }, "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew=="], - - "type-fest": ["type-fest@0.21.3", "", {}, "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w=="], - - "type-is": ["type-is@1.6.18", "", { "dependencies": { "media-typer": "0.3.0", "mime-types": "~2.1.24" } }, "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g=="], - - "typed-assert": ["typed-assert@1.0.9", "", {}, "sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg=="], - - "typescript": ["typescript@5.8.2", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ=="], - - "typescript-eslint": ["typescript-eslint@8.33.1", "", { "dependencies": { "@typescript-eslint/eslint-plugin": "8.33.1", "@typescript-eslint/parser": "8.33.1", "@typescript-eslint/utils": "8.33.1" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <5.9.0" } }, "sha512-AgRnV4sKkWOiZ0Kjbnf5ytTJXMUZQ0qhSVdQtDNYLPLnjsATEYhaO94GlRQwi4t4gO8FfjM6NnikHeKjUm8D7A=="], - - "ua-parser-js": ["ua-parser-js@0.7.40", "", { "bin": { "ua-parser-js": "script/cli.js" } }, "sha512-us1E3K+3jJppDBa3Tl0L3MOJiGhe1C6P0+nIvQAFYbxlMAx0h81eOwLmU57xgqToduDDPx3y5QsdjPfDu+FgOQ=="], - - "undici-types": ["undici-types@6.21.0", "", {}, "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ=="], - - "unicode-canonical-property-names-ecmascript": ["unicode-canonical-property-names-ecmascript@2.0.1", "", {}, "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg=="], - - "unicode-match-property-ecmascript": ["unicode-match-property-ecmascript@2.0.0", "", { "dependencies": { "unicode-canonical-property-names-ecmascript": "^2.0.0", "unicode-property-aliases-ecmascript": "^2.0.0" } }, "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q=="], - - "unicode-match-property-value-ecmascript": ["unicode-match-property-value-ecmascript@2.2.0", "", {}, "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg=="], - - "unicode-property-aliases-ecmascript": ["unicode-property-aliases-ecmascript@2.1.0", "", {}, "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w=="], - - "unicorn-magic": ["unicorn-magic@0.3.0", "", {}, "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA=="], - - "unique-filename": ["unique-filename@4.0.0", "", { "dependencies": { "unique-slug": "^5.0.0" } }, "sha512-XSnEewXmQ+veP7xX2dS5Q4yZAvO40cBN2MWkJ7D/6sW4Dg6wYBNwM1Vrnz1FhH5AdeLIlUXRI9e28z1YZi71NQ=="], - - "unique-slug": ["unique-slug@5.0.0", "", { "dependencies": { "imurmurhash": "^0.1.4" } }, "sha512-9OdaqO5kwqR+1kVgHAhsp5vPNU0hnxRa26rBFNfNgM7M6pNtgzeBn3s/xbyCQL3dcjzOatcef6UUHpB/6MaETg=="], - - "universalify": ["universalify@0.1.2", "", {}, "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="], - - "unpipe": ["unpipe@1.0.0", "", {}, "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ=="], - - "update-browserslist-db": ["update-browserslist-db@1.1.3", "", { "dependencies": { "escalade": "^3.2.0", "picocolors": "^1.1.1" }, "peerDependencies": { "browserslist": ">= 4.21.0" }, "bin": { "update-browserslist-db": "cli.js" } }, "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw=="], - - "uri-js": ["uri-js@4.4.1", "", { "dependencies": { "punycode": "^2.1.0" } }, "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg=="], - - "util-deprecate": ["util-deprecate@1.0.2", "", {}, "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="], - - "utils-merge": ["utils-merge@1.0.1", "", {}, "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA=="], - - "uuid": ["uuid@8.3.2", "", { "bin": { "uuid": "dist/bin/uuid" } }, "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="], - - "validate-npm-package-license": ["validate-npm-package-license@3.0.4", "", { "dependencies": { "spdx-correct": "^3.0.0", "spdx-expression-parse": "^3.0.0" } }, "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew=="], - - "validate-npm-package-name": ["validate-npm-package-name@6.0.0", "", {}, "sha512-d7KLgL1LD3U3fgnvWEY1cQXoO/q6EQ1BSz48Sa149V/5zVTAbgmZIpyI8TRi6U9/JNyeYLlTKsEMPtLC27RFUg=="], - - "vary": ["vary@1.1.2", "", {}, "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg=="], - - "vite": ["vite@6.2.4", "", { "dependencies": { "esbuild": "^0.25.0", "postcss": "^8.5.3", "rollup": "^4.30.1" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", "jiti": ">=1.21.0", "less": "*", "lightningcss": "^1.21.0", "sass": "*", "sass-embedded": "*", "stylus": "*", "sugarss": "*", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "jiti", "less", "lightningcss", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-veHMSew8CcRzhL5o8ONjy8gkfmFJAd5Ac16oxBUjlwgX3Gq2Wqr+qNC3TjPIpy7TPV/KporLga5GT9HqdrCizw=="], - - "void-elements": ["void-elements@2.0.1", "", {}, "sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung=="], - - "watchpack": ["watchpack@2.4.2", "", { "dependencies": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" } }, "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw=="], - - "wbuf": ["wbuf@1.7.3", "", { "dependencies": { "minimalistic-assert": "^1.0.0" } }, "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA=="], - - "wcwidth": ["wcwidth@1.0.1", "", { "dependencies": { "defaults": "^1.0.3" } }, "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg=="], - - "weak-lru-cache": ["weak-lru-cache@1.2.2", "", {}, "sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw=="], - - "webpack": ["webpack@5.98.0", "", { "dependencies": { "@types/eslint-scope": "^3.7.7", "@types/estree": "^1.0.6", "@webassemblyjs/ast": "^1.14.1", "@webassemblyjs/wasm-edit": "^1.14.1", "@webassemblyjs/wasm-parser": "^1.14.1", "acorn": "^8.14.0", "browserslist": "^4.24.0", "chrome-trace-event": "^1.0.2", "enhanced-resolve": "^5.17.1", "es-module-lexer": "^1.2.1", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.2.11", "json-parse-even-better-errors": "^2.3.1", "loader-runner": "^4.2.0", "mime-types": "^2.1.27", "neo-async": "^2.6.2", "schema-utils": "^4.3.0", "tapable": "^2.1.1", "terser-webpack-plugin": "^5.3.11", "watchpack": "^2.4.1", "webpack-sources": "^3.2.3" }, "bin": { "webpack": "bin/webpack.js" } }, "sha512-UFynvx+gM44Gv9qFgj0acCQK2VE1CtdfwFdimkapco3hlPCJ/zeq73n2yVKimVbtm+TnApIugGhLJnkU6gjYXA=="], - - "webpack-dev-middleware": ["webpack-dev-middleware@7.4.2", "", { "dependencies": { "colorette": "^2.0.10", "memfs": "^4.6.0", "mime-types": "^2.1.31", "on-finished": "^2.4.1", "range-parser": "^1.2.1", "schema-utils": "^4.0.0" }, "peerDependencies": { "webpack": "^5.0.0" }, "optionalPeers": ["webpack"] }, "sha512-xOO8n6eggxnwYpy1NlzUKpvrjfJTvae5/D6WOK0S2LSo7vjmo5gCM1DbLUmFqrMTJP+W/0YZNctm7jasWvLuBA=="], - - "webpack-dev-server": ["webpack-dev-server@5.2.0", "", { "dependencies": { "@types/bonjour": "^3.5.13", "@types/connect-history-api-fallback": "^1.5.4", "@types/express": "^4.17.21", "@types/serve-index": "^1.9.4", "@types/serve-static": "^1.15.5", "@types/sockjs": "^0.3.36", "@types/ws": "^8.5.10", "ansi-html-community": "^0.0.8", "bonjour-service": "^1.2.1", "chokidar": "^3.6.0", "colorette": "^2.0.10", "compression": "^1.7.4", "connect-history-api-fallback": "^2.0.0", "express": "^4.21.2", "graceful-fs": "^4.2.6", "http-proxy-middleware": "^2.0.7", "ipaddr.js": "^2.1.0", "launch-editor": "^2.6.1", "open": "^10.0.3", "p-retry": "^6.2.0", "schema-utils": "^4.2.0", "selfsigned": "^2.4.1", "serve-index": "^1.9.1", "sockjs": "^0.3.24", "spdy": "^4.0.2", "webpack-dev-middleware": "^7.4.2", "ws": "^8.18.0" }, "peerDependencies": { "webpack": "^5.0.0" }, "optionalPeers": ["webpack"], "bin": { "webpack-dev-server": "bin/webpack-dev-server.js" } }, "sha512-90SqqYXA2SK36KcT6o1bvwvZfJFcmoamqeJY7+boioffX9g9C0wjjJRGUrQIuh43pb0ttX7+ssavmj/WN2RHtA=="], - - "webpack-merge": ["webpack-merge@6.0.1", "", { "dependencies": { "clone-deep": "^4.0.1", "flat": "^5.0.2", "wildcard": "^2.0.1" } }, "sha512-hXXvrjtx2PLYx4qruKl+kyRSLc52V+cCvMxRjmKwoA+CBbbF5GfIBtR6kCvl0fYGqTUPKB+1ktVmTHqMOzgCBg=="], - - "webpack-sources": ["webpack-sources@3.2.3", "", {}, "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w=="], - - "webpack-subresource-integrity": ["webpack-subresource-integrity@5.1.0", "", { "dependencies": { "typed-assert": "^1.0.8" }, "peerDependencies": { "html-webpack-plugin": ">= 5.0.0-beta.1 < 6", "webpack": "^5.12.0" }, "optionalPeers": ["html-webpack-plugin"] }, "sha512-sacXoX+xd8r4WKsy9MvH/q/vBtEHr86cpImXwyg74pFIpERKt6FmB8cXpeuh0ZLgclOlHI4Wcll7+R5L02xk9Q=="], - - "websocket-driver": ["websocket-driver@0.7.4", "", { "dependencies": { "http-parser-js": ">=0.5.1", "safe-buffer": ">=5.1.0", "websocket-extensions": ">=0.1.1" } }, "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg=="], - - "websocket-extensions": ["websocket-extensions@0.1.4", "", {}, "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg=="], - - "which": ["which@1.3.1", "", { "dependencies": { "isexe": "^2.0.0" }, "bin": { "which": "./bin/which" } }, "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ=="], - - "wildcard": ["wildcard@2.0.1", "", {}, "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ=="], - - "word-wrap": ["word-wrap@1.2.5", "", {}, "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA=="], - - "wrap-ansi": ["wrap-ansi@9.0.0", "", { "dependencies": { "ansi-styles": "^6.2.1", "string-width": "^7.0.0", "strip-ansi": "^7.1.0" } }, "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q=="], - - "wrap-ansi-cjs": ["wrap-ansi@7.0.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q=="], - - "wrappy": ["wrappy@1.0.2", "", {}, "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="], - - "ws": ["ws@8.18.1", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": ">=5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-RKW2aJZMXeMxVpnZ6bck+RswznaxmzdULiBr6KY7XkTnW8uvt0iT9H5DkHUChXrc+uurzwa0rVI16n/Xzjdz1w=="], - - "y18n": ["y18n@5.0.8", "", {}, "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA=="], - - "yallist": ["yallist@4.0.0", "", {}, "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="], - - "yargs": ["yargs@17.7.2", "", { "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" } }, "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w=="], - - "yargs-parser": ["yargs-parser@21.1.1", "", {}, "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw=="], - - "yocto-queue": ["yocto-queue@0.1.0", "", {}, "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q=="], - - "yoctocolors-cjs": ["yoctocolors-cjs@2.1.2", "", {}, "sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA=="], - - "zone.js": ["zone.js@0.15.0", "", {}, "sha512-9oxn0IIjbCZkJ67L+LkhYWRyAy7axphb3VgE2MBDlOqnmHMPWGYMxJxBYFueFq/JGY2GMwS0rU+UCLunEmy5UA=="], - - "@angular-devkit/architect/rxjs": ["rxjs@7.8.1", "", { "dependencies": { "tslib": "^2.1.0" } }, "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg=="], - - "@angular-devkit/build-angular/postcss": ["postcss@8.5.2", "", { "dependencies": { "nanoid": "^3.3.8", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-MjOadfU3Ys9KYoX0AdkBlFEF1Vx37uCCeN4ZHnmwm9FfpbsGWMZeBLMmmpY+6Ocqod7mkdZ0DT31OlbsFrLlkA=="], - - "@angular-devkit/build-angular/rxjs": ["rxjs@7.8.1", "", { "dependencies": { "tslib": "^2.1.0" } }, "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg=="], - - "@angular-devkit/build-webpack/rxjs": ["rxjs@7.8.1", "", { "dependencies": { "tslib": "^2.1.0" } }, "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg=="], - - "@angular-devkit/core/rxjs": ["rxjs@7.8.1", "", { "dependencies": { "tslib": "^2.1.0" } }, "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg=="], - - "@angular-devkit/core/source-map": ["source-map@0.7.4", "", {}, "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA=="], - - "@angular-devkit/schematics/rxjs": ["rxjs@7.8.1", "", { "dependencies": { "tslib": "^2.1.0" } }, "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg=="], - - "@angular-eslint/schematics/ignore": ["ignore@7.0.5", "", {}, "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg=="], - - "@angular-eslint/schematics/semver": ["semver@7.7.2", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA=="], - - "@angular/compiler-cli/@babel/core": ["@babel/core@7.26.9", "", { "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.26.2", "@babel/generator": "^7.26.9", "@babel/helper-compilation-targets": "^7.26.5", "@babel/helper-module-transforms": "^7.26.0", "@babel/helpers": "^7.26.9", "@babel/parser": "^7.26.9", "@babel/template": "^7.26.9", "@babel/traverse": "^7.26.9", "@babel/types": "^7.26.9", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-lWBYIrF7qK5+GjY5Uy+/hEgp8OJWOD/rpy74GplYRhEauvbHDeFB8t5hPOZxCZ0Oxf4Cc36tK51/l3ymJysrKw=="], - - "@babel/core/convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], - - "@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], - - "@babel/helper-compilation-targets/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], - - "@babel/helper-create-class-features-plugin/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], - - "@babel/helper-create-regexp-features-plugin/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], - - "@babel/plugin-transform-classes/globals": ["globals@11.12.0", "", {}, "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA=="], - - "@babel/plugin-transform-runtime/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], - - "@babel/preset-env/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], - - "@babel/traverse/@babel/generator": ["@babel/generator@7.27.0", "", { "dependencies": { "@babel/parser": "^7.27.0", "@babel/types": "^7.27.0", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^3.0.2" } }, "sha512-VybsKvpiN1gU1sdMZIp7FcqphVVKEwcuj02x73uvcHE0PTihx1nlBcowYWhDwjpoAXRv43+gDzyggGnn1XZhVw=="], - - "@babel/traverse/globals": ["globals@11.12.0", "", {}, "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA=="], - - "@eslint-community/eslint-utils/eslint-visitor-keys": ["eslint-visitor-keys@3.4.3", "", {}, "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag=="], - - "@eslint/eslintrc/ajv": ["ajv@6.12.6", "", { "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" } }, "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g=="], - - "@humanfs/node/@humanwhocodes/retry": ["@humanwhocodes/retry@0.3.1", "", {}, "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA=="], - - "@inquirer/checkbox/@inquirer/type": ["@inquirer/type@3.0.5", "", { "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-ZJpeIYYueOz/i/ONzrfof8g89kNdO2hjGuvULROo3O8rlB2CRtSseE5KeirnyE4t/thAn/EwvS/vuQeJCn+NZg=="], - - "@inquirer/confirm/@inquirer/type": ["@inquirer/type@3.0.5", "", { "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-ZJpeIYYueOz/i/ONzrfof8g89kNdO2hjGuvULROo3O8rlB2CRtSseE5KeirnyE4t/thAn/EwvS/vuQeJCn+NZg=="], - - "@inquirer/core/@inquirer/type": ["@inquirer/type@3.0.5", "", { "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-ZJpeIYYueOz/i/ONzrfof8g89kNdO2hjGuvULROo3O8rlB2CRtSseE5KeirnyE4t/thAn/EwvS/vuQeJCn+NZg=="], - - "@inquirer/core/mute-stream": ["mute-stream@2.0.0", "", {}, "sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA=="], - - "@inquirer/core/wrap-ansi": ["wrap-ansi@6.2.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA=="], - - "@inquirer/editor/@inquirer/type": ["@inquirer/type@3.0.5", "", { "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-ZJpeIYYueOz/i/ONzrfof8g89kNdO2hjGuvULROo3O8rlB2CRtSseE5KeirnyE4t/thAn/EwvS/vuQeJCn+NZg=="], - - "@inquirer/expand/@inquirer/type": ["@inquirer/type@3.0.5", "", { "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-ZJpeIYYueOz/i/ONzrfof8g89kNdO2hjGuvULROo3O8rlB2CRtSseE5KeirnyE4t/thAn/EwvS/vuQeJCn+NZg=="], - - "@inquirer/input/@inquirer/type": ["@inquirer/type@3.0.5", "", { "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-ZJpeIYYueOz/i/ONzrfof8g89kNdO2hjGuvULROo3O8rlB2CRtSseE5KeirnyE4t/thAn/EwvS/vuQeJCn+NZg=="], - - "@inquirer/number/@inquirer/type": ["@inquirer/type@3.0.5", "", { "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-ZJpeIYYueOz/i/ONzrfof8g89kNdO2hjGuvULROo3O8rlB2CRtSseE5KeirnyE4t/thAn/EwvS/vuQeJCn+NZg=="], - - "@inquirer/password/@inquirer/type": ["@inquirer/type@3.0.5", "", { "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-ZJpeIYYueOz/i/ONzrfof8g89kNdO2hjGuvULROo3O8rlB2CRtSseE5KeirnyE4t/thAn/EwvS/vuQeJCn+NZg=="], - - "@inquirer/rawlist/@inquirer/type": ["@inquirer/type@3.0.5", "", { "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-ZJpeIYYueOz/i/ONzrfof8g89kNdO2hjGuvULROo3O8rlB2CRtSseE5KeirnyE4t/thAn/EwvS/vuQeJCn+NZg=="], - - "@inquirer/search/@inquirer/type": ["@inquirer/type@3.0.5", "", { "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-ZJpeIYYueOz/i/ONzrfof8g89kNdO2hjGuvULROo3O8rlB2CRtSseE5KeirnyE4t/thAn/EwvS/vuQeJCn+NZg=="], - - "@inquirer/select/@inquirer/type": ["@inquirer/type@3.0.5", "", { "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-ZJpeIYYueOz/i/ONzrfof8g89kNdO2hjGuvULROo3O8rlB2CRtSseE5KeirnyE4t/thAn/EwvS/vuQeJCn+NZg=="], - - "@isaacs/cliui/string-width": ["string-width@5.1.2", "", { "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", "strip-ansi": "^7.0.1" } }, "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA=="], - - "@isaacs/cliui/strip-ansi": ["strip-ansi@7.1.0", "", { "dependencies": { "ansi-regex": "^6.0.1" } }, "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ=="], - - "@isaacs/cliui/wrap-ansi": ["wrap-ansi@8.1.0", "", { "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", "strip-ansi": "^7.0.1" } }, "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ=="], - - "@npmcli/agent/lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="], - - "@npmcli/git/lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="], - - "@npmcli/git/which": ["which@5.0.0", "", { "dependencies": { "isexe": "^3.1.1" }, "bin": { "node-which": "bin/which.js" } }, "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ=="], - - "@npmcli/package-json/glob": ["glob@10.4.5", "", { "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" } }, "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg=="], - - "@npmcli/package-json/json-parse-even-better-errors": ["json-parse-even-better-errors@4.0.0", "", {}, "sha512-lR4MXjGNgkJc7tkQ97kb2nuEMnNCyU//XYVH0MKTGcXEiSudQ5MKGKen3C5QubYy0vmq+JGitUg92uuywGEwIA=="], - - "@npmcli/promise-spawn/which": ["which@5.0.0", "", { "dependencies": { "isexe": "^3.1.1" }, "bin": { "node-which": "bin/which.js" } }, "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ=="], - - "@npmcli/run-script/which": ["which@5.0.0", "", { "dependencies": { "isexe": "^3.1.1" }, "bin": { "node-which": "bin/which.js" } }, "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ=="], - - "@parcel/watcher/node-addon-api": ["node-addon-api@7.1.1", "", {}, "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ=="], - - "@tailwindcss/node/jiti": ["jiti@2.4.2", "", { "bin": { "jiti": "lib/jiti-cli.mjs" } }, "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A=="], - - "@tufjs/models/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], - - "@types/express/@types/express-serve-static-core": ["@types/express-serve-static-core@4.19.6", "", { "dependencies": { "@types/node": "*", "@types/qs": "*", "@types/range-parser": "*", "@types/send": "*" } }, "sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A=="], - - "@typescript-eslint/eslint-plugin/@typescript-eslint/scope-manager": ["@typescript-eslint/scope-manager@8.33.1", "", { "dependencies": { "@typescript-eslint/types": "8.33.1", "@typescript-eslint/visitor-keys": "8.33.1" } }, "sha512-dM4UBtgmzHR9bS0Rv09JST0RcHYearoEoo3pG5B6GoTR9XcyeqX87FEhPo+5kTvVfKCvfHaHrcgeJQc6mrDKrA=="], - - "@typescript-eslint/eslint-plugin/@typescript-eslint/utils": ["@typescript-eslint/utils@8.33.1", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.7.0", "@typescript-eslint/scope-manager": "8.33.1", "@typescript-eslint/types": "8.33.1", "@typescript-eslint/typescript-estree": "8.33.1" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <5.9.0" } }, "sha512-52HaBiEQUaRYqAXpfzWSR2U3gxk92Kw006+xZpElaPMg3C4PgM+A5LqwoQI1f9E5aZ/qlxAZxzm42WX+vn92SQ=="], - - "@typescript-eslint/eslint-plugin/ignore": ["ignore@7.0.5", "", {}, "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg=="], - - "@typescript-eslint/parser/@typescript-eslint/scope-manager": ["@typescript-eslint/scope-manager@8.33.1", "", { "dependencies": { "@typescript-eslint/types": "8.33.1", "@typescript-eslint/visitor-keys": "8.33.1" } }, "sha512-dM4UBtgmzHR9bS0Rv09JST0RcHYearoEoo3pG5B6GoTR9XcyeqX87FEhPo+5kTvVfKCvfHaHrcgeJQc6mrDKrA=="], - - "@typescript-eslint/parser/@typescript-eslint/types": ["@typescript-eslint/types@8.33.1", "", {}, "sha512-xid1WfizGhy/TKMTwhtVOgalHwPtV8T32MS9MaH50Cwvz6x6YqRIPdD2WvW0XaqOzTV9p5xdLY0h/ZusU5Lokg=="], - - "@typescript-eslint/parser/@typescript-eslint/typescript-estree": ["@typescript-eslint/typescript-estree@8.33.1", "", { "dependencies": { "@typescript-eslint/project-service": "8.33.1", "@typescript-eslint/tsconfig-utils": "8.33.1", "@typescript-eslint/types": "8.33.1", "@typescript-eslint/visitor-keys": "8.33.1", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", "minimatch": "^9.0.4", "semver": "^7.6.0", "ts-api-utils": "^2.1.0" }, "peerDependencies": { "typescript": ">=4.8.4 <5.9.0" } }, "sha512-+s9LYcT8LWjdYWu7IWs7FvUxpQ/DGkdjZeE/GGulHvv8rvYwQvVaUZ6DE+j5x/prADUgSbbCWZ2nPI3usuVeOA=="], - - "@typescript-eslint/scope-manager/@typescript-eslint/visitor-keys": ["@typescript-eslint/visitor-keys@8.33.0", "", { "dependencies": { "@typescript-eslint/types": "8.33.0", "eslint-visitor-keys": "^4.2.0" } }, "sha512-7RW7CMYoskiz5OOGAWjJFxgb7c5UNjTG292gYhWeOAcFmYCtVCSqjqSBj5zMhxbXo2JOW95YYrUWJfU0zrpaGQ=="], - - "@typescript-eslint/type-utils/@typescript-eslint/typescript-estree": ["@typescript-eslint/typescript-estree@8.33.1", "", { "dependencies": { "@typescript-eslint/project-service": "8.33.1", "@typescript-eslint/tsconfig-utils": "8.33.1", "@typescript-eslint/types": "8.33.1", "@typescript-eslint/visitor-keys": "8.33.1", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", "minimatch": "^9.0.4", "semver": "^7.6.0", "ts-api-utils": "^2.1.0" }, "peerDependencies": { "typescript": ">=4.8.4 <5.9.0" } }, "sha512-+s9LYcT8LWjdYWu7IWs7FvUxpQ/DGkdjZeE/GGulHvv8rvYwQvVaUZ6DE+j5x/prADUgSbbCWZ2nPI3usuVeOA=="], - - "@typescript-eslint/type-utils/@typescript-eslint/utils": ["@typescript-eslint/utils@8.33.1", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.7.0", "@typescript-eslint/scope-manager": "8.33.1", "@typescript-eslint/types": "8.33.1", "@typescript-eslint/typescript-estree": "8.33.1" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <5.9.0" } }, "sha512-52HaBiEQUaRYqAXpfzWSR2U3gxk92Kw006+xZpElaPMg3C4PgM+A5LqwoQI1f9E5aZ/qlxAZxzm42WX+vn92SQ=="], - - "@typescript-eslint/typescript-estree/@typescript-eslint/visitor-keys": ["@typescript-eslint/visitor-keys@8.33.0", "", { "dependencies": { "@typescript-eslint/types": "8.33.0", "eslint-visitor-keys": "^4.2.0" } }, "sha512-7RW7CMYoskiz5OOGAWjJFxgb7c5UNjTG292gYhWeOAcFmYCtVCSqjqSBj5zMhxbXo2JOW95YYrUWJfU0zrpaGQ=="], - - "@typescript-eslint/typescript-estree/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], - - "@typescript-eslint/typescript-estree/semver": ["semver@7.7.2", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA=="], - - "@typescript-eslint/utils/@eslint-community/eslint-utils": ["@eslint-community/eslint-utils@4.7.0", "", { "dependencies": { "eslint-visitor-keys": "^3.4.3" }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw=="], - - "@typescript-eslint/visitor-keys/@typescript-eslint/types": ["@typescript-eslint/types@8.33.1", "", {}, "sha512-xid1WfizGhy/TKMTwhtVOgalHwPtV8T32MS9MaH50Cwvz6x6YqRIPdD2WvW0XaqOzTV9p5xdLY0h/ZusU5Lokg=="], - - "accepts/negotiator": ["negotiator@0.6.3", "", {}, "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg=="], - - "adjust-sourcemap-loader/loader-utils": ["loader-utils@2.0.4", "", { "dependencies": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", "json5": "^2.1.2" } }, "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw=="], - - "anymatch/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], - - "babel-plugin-polyfill-corejs2/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], - - "body-parser/debug": ["debug@2.6.9", "", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="], - - "body-parser/iconv-lite": ["iconv-lite@0.4.24", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3" } }, "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA=="], - - "cacache/glob": ["glob@10.4.5", "", { "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" } }, "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg=="], - - "cacache/lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="], - - "cacache/tar": ["tar@7.4.3", "", { "dependencies": { "@isaacs/fs-minipass": "^4.0.0", "chownr": "^3.0.0", "minipass": "^7.1.2", "minizlib": "^3.0.1", "mkdirp": "^3.0.1", "yallist": "^5.0.0" } }, "sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw=="], - - "cli-truncate/string-width": ["string-width@7.2.0", "", { "dependencies": { "emoji-regex": "^10.3.0", "get-east-asian-width": "^1.0.0", "strip-ansi": "^7.1.0" } }, "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ=="], - - "cliui/wrap-ansi": ["wrap-ansi@7.0.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q=="], - - "clone-deep/is-plain-object": ["is-plain-object@2.0.4", "", { "dependencies": { "isobject": "^3.0.1" } }, "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og=="], - - "compression/debug": ["debug@2.6.9", "", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="], - - "connect/debug": ["debug@2.6.9", "", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="], - - "cross-spawn/which": ["which@2.0.2", "", { "dependencies": { "isexe": "^2.0.0" }, "bin": { "node-which": "./bin/node-which" } }, "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA=="], - - "engine.io/cookie": ["cookie@0.7.2", "", {}, "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w=="], - - "engine.io/debug": ["debug@4.3.7", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ=="], - - "engine.io/ws": ["ws@8.17.1", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": ">=5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ=="], - - "ent/punycode": ["punycode@1.4.1", "", {}, "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ=="], - - "eslint/ajv": ["ajv@6.12.6", "", { "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" } }, "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g=="], - - "express/debug": ["debug@2.6.9", "", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="], - - "express/finalhandler": ["finalhandler@1.3.1", "", { "dependencies": { "debug": "2.6.9", "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "on-finished": "2.4.1", "parseurl": "~1.3.3", "statuses": "2.0.1", "unpipe": "~1.0.0" } }, "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ=="], - - "external-editor/iconv-lite": ["iconv-lite@0.4.24", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3" } }, "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA=="], - - "external-editor/tmp": ["tmp@0.0.33", "", { "dependencies": { "os-tmpdir": "~1.0.2" } }, "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw=="], - - "fast-glob/glob-parent": ["glob-parent@5.1.2", "", { "dependencies": { "is-glob": "^4.0.1" } }, "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="], - - "finalhandler/debug": ["debug@2.6.9", "", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="], - - "finalhandler/encodeurl": ["encodeurl@1.0.2", "", {}, "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w=="], - - "finalhandler/on-finished": ["on-finished@2.3.0", "", { "dependencies": { "ee-first": "1.1.1" } }, "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww=="], - - "finalhandler/statuses": ["statuses@1.5.0", "", {}, "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA=="], - - "globby/ignore": ["ignore@7.0.3", "", {}, "sha512-bAH5jbK/F3T3Jls4I0SO1hmPR0dKU0a7+SY6n1yzRtG54FLO8d6w/nxLFX2Nb7dBu6cCWXPaAME6cYqFUMmuCA=="], - - "hosted-git-info/lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="], - - "hpack.js/readable-stream": ["readable-stream@2.3.8", "", { "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", "isarray": "~1.0.0", "process-nextick-args": "~2.0.0", "safe-buffer": "~5.1.1", "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" } }, "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA=="], - - "http-proxy/eventemitter3": ["eventemitter3@4.0.7", "", {}, "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw=="], - - "ignore-walk/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], - - "istanbul-lib-report/make-dir": ["make-dir@4.0.0", "", { "dependencies": { "semver": "^7.5.3" } }, "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw=="], - - "jest-worker/supports-color": ["supports-color@8.1.1", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q=="], - - "karma/chokidar": ["chokidar@3.6.0", "", { "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", "readdirp": "~3.6.0" }, "optionalDependencies": { "fsevents": "~2.3.2" } }, "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw=="], - - "karma/yargs": ["yargs@16.2.0", "", { "dependencies": { "cliui": "^7.0.2", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", "string-width": "^4.2.0", "y18n": "^5.0.5", "yargs-parser": "^20.2.2" } }, "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw=="], - - "karma-coverage/istanbul-lib-instrument": ["istanbul-lib-instrument@5.2.1", "", { "dependencies": { "@babel/core": "^7.12.3", "@babel/parser": "^7.14.7", "@istanbuljs/schema": "^0.1.2", "istanbul-lib-coverage": "^3.2.0", "semver": "^6.3.0" } }, "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg=="], - - "karma-jasmine/jasmine-core": ["jasmine-core@4.6.1", "", {}, "sha512-VYz/BjjmC3klLJlLwA4Kw8ytk0zDSmbbDLNs794VnWmkcCB7I9aAL/D48VNQtmITyPvea2C3jdUMfc3kAoy0PQ=="], - - "less/mime": ["mime@1.6.0", "", { "bin": { "mime": "cli.js" } }, "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="], - - "lightningcss/detect-libc": ["detect-libc@2.0.3", "", {}, "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw=="], - - "log-update/ansi-escapes": ["ansi-escapes@7.0.0", "", { "dependencies": { "environment": "^1.0.0" } }, "sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw=="], - - "log-update/cli-cursor": ["cli-cursor@5.0.0", "", { "dependencies": { "restore-cursor": "^5.0.0" } }, "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw=="], - - "log-update/slice-ansi": ["slice-ansi@7.1.0", "", { "dependencies": { "ansi-styles": "^6.2.1", "is-fullwidth-code-point": "^5.0.0" } }, "sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg=="], - - "log-update/strip-ansi": ["strip-ansi@7.1.0", "", { "dependencies": { "ansi-regex": "^6.0.1" } }, "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ=="], - - "lru-cache/yallist": ["yallist@3.1.1", "", {}, "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="], - - "make-dir/semver": ["semver@5.7.2", "", { "bin": { "semver": "bin/semver" } }, "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g=="], - - "make-fetch-happen/negotiator": ["negotiator@1.0.0", "", {}, "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg=="], - - "micromatch/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], - - "minipass-flush/minipass": ["minipass@3.3.6", "", { "dependencies": { "yallist": "^4.0.0" } }, "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw=="], - - "minipass-pipeline/minipass": ["minipass@3.3.6", "", { "dependencies": { "yallist": "^4.0.0" } }, "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw=="], - - "minipass-sized/minipass": ["minipass@3.3.6", "", { "dependencies": { "yallist": "^4.0.0" } }, "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw=="], - - "node-gyp/tar": ["tar@7.4.3", "", { "dependencies": { "@isaacs/fs-minipass": "^4.0.0", "chownr": "^3.0.0", "minipass": "^7.1.2", "minizlib": "^3.0.1", "mkdirp": "^3.0.1", "yallist": "^5.0.0" } }, "sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw=="], - - "node-gyp/which": ["which@5.0.0", "", { "dependencies": { "isexe": "^3.1.1" }, "bin": { "node-which": "bin/which.js" } }, "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ=="], - - "node-gyp-build-optional-packages/detect-libc": ["detect-libc@2.0.3", "", {}, "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw=="], - - "path-scurry/lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="], - - "pkg-dir/find-up": ["find-up@6.3.0", "", { "dependencies": { "locate-path": "^7.1.0", "path-exists": "^5.0.0" } }, "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw=="], - - "promise-retry/retry": ["retry@0.12.0", "", {}, "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow=="], - - "proxy-addr/ipaddr.js": ["ipaddr.js@1.9.1", "", {}, "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g=="], - - "raw-body/iconv-lite": ["iconv-lite@0.4.24", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3" } }, "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA=="], - - "regjsparser/jsesc": ["jsesc@3.0.2", "", { "bin": { "jsesc": "bin/jsesc" } }, "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g=="], - - "resolve-url-loader/loader-utils": ["loader-utils@2.0.4", "", { "dependencies": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", "json5": "^2.1.2" } }, "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw=="], - - "restore-cursor/signal-exit": ["signal-exit@3.0.7", "", {}, "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="], - - "rollup/@types/estree": ["@types/estree@1.0.6", "", {}, "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw=="], - - "schema-utils/ajv-formats": ["ajv-formats@2.1.1", "", { "dependencies": { "ajv": "^8.0.0" } }, "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA=="], - - "send/debug": ["debug@2.6.9", "", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="], - - "send/encodeurl": ["encodeurl@1.0.2", "", {}, "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w=="], - - "send/mime": ["mime@1.6.0", "", { "bin": { "mime": "cli.js" } }, "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="], - - "serve-index/debug": ["debug@2.6.9", "", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="], - - "serve-index/http-errors": ["http-errors@1.6.3", "", { "dependencies": { "depd": "~1.1.2", "inherits": "2.0.3", "setprototypeof": "1.1.0", "statuses": ">= 1.4.0 < 2" } }, "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A=="], - - "slice-ansi/ansi-styles": ["ansi-styles@6.2.1", "", {}, "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug=="], - - "slice-ansi/is-fullwidth-code-point": ["is-fullwidth-code-point@4.0.0", "", {}, "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ=="], - - "socket.io/debug": ["debug@4.3.7", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ=="], - - "socket.io-adapter/debug": ["debug@4.3.7", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ=="], - - "socket.io-adapter/ws": ["ws@8.17.1", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": ">=5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ=="], - - "socket.io-parser/debug": ["debug@4.3.7", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ=="], - - "tar/fs-minipass": ["fs-minipass@2.1.0", "", { "dependencies": { "minipass": "^3.0.0" } }, "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg=="], - - "tar/minipass": ["minipass@5.0.0", "", {}, "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ=="], - - "tar/minizlib": ["minizlib@2.1.2", "", { "dependencies": { "minipass": "^3.0.0", "yallist": "^4.0.0" } }, "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg=="], - - "tar/mkdirp": ["mkdirp@1.0.4", "", { "bin": { "mkdirp": "bin/cmd.js" } }, "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw=="], - - "typescript-eslint/@typescript-eslint/utils": ["@typescript-eslint/utils@8.33.1", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.7.0", "@typescript-eslint/scope-manager": "8.33.1", "@typescript-eslint/types": "8.33.1", "@typescript-eslint/typescript-estree": "8.33.1" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <5.9.0" } }, "sha512-52HaBiEQUaRYqAXpfzWSR2U3gxk92Kw006+xZpElaPMg3C4PgM+A5LqwoQI1f9E5aZ/qlxAZxzm42WX+vn92SQ=="], - - "webpack/eslint-scope": ["eslint-scope@5.1.1", "", { "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" } }, "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw=="], - - "webpack-dev-server/chokidar": ["chokidar@3.6.0", "", { "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", "readdirp": "~3.6.0" }, "optionalDependencies": { "fsevents": "~2.3.2" } }, "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw=="], - - "webpack-dev-server/http-proxy-middleware": ["http-proxy-middleware@2.0.7", "", { "dependencies": { "@types/http-proxy": "^1.17.8", "http-proxy": "^1.18.1", "is-glob": "^4.0.1", "is-plain-obj": "^3.0.0", "micromatch": "^4.0.2" }, "peerDependencies": { "@types/express": "^4.17.13" }, "optionalPeers": ["@types/express"] }, "sha512-fgVY8AV7qU7z/MmXJ/rxwbrtQH4jBQ9m7kp3llF0liB7glmFeVZFBepQb32T3y8n8k2+AEYuMPCpinYW+/CuRA=="], - - "wrap-ansi/ansi-styles": ["ansi-styles@6.2.1", "", {}, "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug=="], - - "wrap-ansi/string-width": ["string-width@7.2.0", "", { "dependencies": { "emoji-regex": "^10.3.0", "get-east-asian-width": "^1.0.0", "strip-ansi": "^7.1.0" } }, "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ=="], - - "wrap-ansi/strip-ansi": ["strip-ansi@7.1.0", "", { "dependencies": { "ansi-regex": "^6.0.1" } }, "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ=="], - - "@angular/compiler-cli/@babel/core/convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], - - "@angular/compiler-cli/@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], - - "@eslint/eslintrc/ajv/json-schema-traverse": ["json-schema-traverse@0.4.1", "", {}, "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="], - - "@isaacs/cliui/string-width/emoji-regex": ["emoji-regex@9.2.2", "", {}, "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="], - - "@isaacs/cliui/strip-ansi/ansi-regex": ["ansi-regex@6.1.0", "", {}, "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA=="], - - "@isaacs/cliui/wrap-ansi/ansi-styles": ["ansi-styles@6.2.1", "", {}, "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug=="], - - "@npmcli/git/which/isexe": ["isexe@3.1.1", "", {}, "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ=="], - - "@npmcli/package-json/glob/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], - - "@npmcli/promise-spawn/which/isexe": ["isexe@3.1.1", "", {}, "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ=="], - - "@npmcli/run-script/which/isexe": ["isexe@3.1.1", "", {}, "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ=="], - - "@tufjs/models/minimatch/brace-expansion": ["brace-expansion@2.0.1", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA=="], - - "@typescript-eslint/eslint-plugin/@typescript-eslint/scope-manager/@typescript-eslint/types": ["@typescript-eslint/types@8.33.1", "", {}, "sha512-xid1WfizGhy/TKMTwhtVOgalHwPtV8T32MS9MaH50Cwvz6x6YqRIPdD2WvW0XaqOzTV9p5xdLY0h/ZusU5Lokg=="], - - "@typescript-eslint/eslint-plugin/@typescript-eslint/utils/@eslint-community/eslint-utils": ["@eslint-community/eslint-utils@4.7.0", "", { "dependencies": { "eslint-visitor-keys": "^3.4.3" }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw=="], - - "@typescript-eslint/eslint-plugin/@typescript-eslint/utils/@typescript-eslint/types": ["@typescript-eslint/types@8.33.1", "", {}, "sha512-xid1WfizGhy/TKMTwhtVOgalHwPtV8T32MS9MaH50Cwvz6x6YqRIPdD2WvW0XaqOzTV9p5xdLY0h/ZusU5Lokg=="], - - "@typescript-eslint/eslint-plugin/@typescript-eslint/utils/@typescript-eslint/typescript-estree": ["@typescript-eslint/typescript-estree@8.33.1", "", { "dependencies": { "@typescript-eslint/project-service": "8.33.1", "@typescript-eslint/tsconfig-utils": "8.33.1", "@typescript-eslint/types": "8.33.1", "@typescript-eslint/visitor-keys": "8.33.1", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", "minimatch": "^9.0.4", "semver": "^7.6.0", "ts-api-utils": "^2.1.0" }, "peerDependencies": { "typescript": ">=4.8.4 <5.9.0" } }, "sha512-+s9LYcT8LWjdYWu7IWs7FvUxpQ/DGkdjZeE/GGulHvv8rvYwQvVaUZ6DE+j5x/prADUgSbbCWZ2nPI3usuVeOA=="], - - "@typescript-eslint/parser/@typescript-eslint/typescript-estree/@typescript-eslint/project-service": ["@typescript-eslint/project-service@8.33.1", "", { "dependencies": { "@typescript-eslint/tsconfig-utils": "^8.33.1", "@typescript-eslint/types": "^8.33.1", "debug": "^4.3.4" }, "peerDependencies": { "typescript": ">=4.8.4 <5.9.0" } }, "sha512-DZR0efeNklDIHHGRpMpR5gJITQpu6tLr9lDJnKdONTC7vvzOlLAG/wcfxcdxEWrbiZApcoBCzXqU/Z458Za5Iw=="], - - "@typescript-eslint/parser/@typescript-eslint/typescript-estree/@typescript-eslint/tsconfig-utils": ["@typescript-eslint/tsconfig-utils@8.33.1", "", { "peerDependencies": { "typescript": ">=4.8.4 <5.9.0" } }, "sha512-STAQsGYbHCF0/e+ShUQ4EatXQ7ceh3fBCXkNU7/MZVKulrlq1usH7t2FhxvCpuCi5O5oi1vmVaAjrGeL71OK1g=="], - - "@typescript-eslint/parser/@typescript-eslint/typescript-estree/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], - - "@typescript-eslint/parser/@typescript-eslint/typescript-estree/semver": ["semver@7.7.2", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA=="], - - "@typescript-eslint/type-utils/@typescript-eslint/typescript-estree/@typescript-eslint/project-service": ["@typescript-eslint/project-service@8.33.1", "", { "dependencies": { "@typescript-eslint/tsconfig-utils": "^8.33.1", "@typescript-eslint/types": "^8.33.1", "debug": "^4.3.4" }, "peerDependencies": { "typescript": ">=4.8.4 <5.9.0" } }, "sha512-DZR0efeNklDIHHGRpMpR5gJITQpu6tLr9lDJnKdONTC7vvzOlLAG/wcfxcdxEWrbiZApcoBCzXqU/Z458Za5Iw=="], - - "@typescript-eslint/type-utils/@typescript-eslint/typescript-estree/@typescript-eslint/tsconfig-utils": ["@typescript-eslint/tsconfig-utils@8.33.1", "", { "peerDependencies": { "typescript": ">=4.8.4 <5.9.0" } }, "sha512-STAQsGYbHCF0/e+ShUQ4EatXQ7ceh3fBCXkNU7/MZVKulrlq1usH7t2FhxvCpuCi5O5oi1vmVaAjrGeL71OK1g=="], - - "@typescript-eslint/type-utils/@typescript-eslint/typescript-estree/@typescript-eslint/types": ["@typescript-eslint/types@8.33.1", "", {}, "sha512-xid1WfizGhy/TKMTwhtVOgalHwPtV8T32MS9MaH50Cwvz6x6YqRIPdD2WvW0XaqOzTV9p5xdLY0h/ZusU5Lokg=="], - - "@typescript-eslint/type-utils/@typescript-eslint/typescript-estree/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], - - "@typescript-eslint/type-utils/@typescript-eslint/typescript-estree/semver": ["semver@7.7.2", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA=="], - - "@typescript-eslint/type-utils/@typescript-eslint/utils/@eslint-community/eslint-utils": ["@eslint-community/eslint-utils@4.7.0", "", { "dependencies": { "eslint-visitor-keys": "^3.4.3" }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw=="], - - "@typescript-eslint/type-utils/@typescript-eslint/utils/@typescript-eslint/scope-manager": ["@typescript-eslint/scope-manager@8.33.1", "", { "dependencies": { "@typescript-eslint/types": "8.33.1", "@typescript-eslint/visitor-keys": "8.33.1" } }, "sha512-dM4UBtgmzHR9bS0Rv09JST0RcHYearoEoo3pG5B6GoTR9XcyeqX87FEhPo+5kTvVfKCvfHaHrcgeJQc6mrDKrA=="], - - "@typescript-eslint/type-utils/@typescript-eslint/utils/@typescript-eslint/types": ["@typescript-eslint/types@8.33.1", "", {}, "sha512-xid1WfizGhy/TKMTwhtVOgalHwPtV8T32MS9MaH50Cwvz6x6YqRIPdD2WvW0XaqOzTV9p5xdLY0h/ZusU5Lokg=="], - - "@typescript-eslint/typescript-estree/minimatch/brace-expansion": ["brace-expansion@2.0.1", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA=="], - - "@typescript-eslint/utils/@eslint-community/eslint-utils/eslint-visitor-keys": ["eslint-visitor-keys@3.4.3", "", {}, "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag=="], - - "body-parser/debug/ms": ["ms@2.0.0", "", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="], - - "cacache/glob/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], - - "cacache/tar/chownr": ["chownr@3.0.0", "", {}, "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g=="], - - "cacache/tar/mkdirp": ["mkdirp@3.0.1", "", { "bin": { "mkdirp": "dist/cjs/src/bin.js" } }, "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg=="], - - "cacache/tar/yallist": ["yallist@5.0.0", "", {}, "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw=="], - - "cli-truncate/string-width/emoji-regex": ["emoji-regex@10.4.0", "", {}, "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw=="], - - "cli-truncate/string-width/strip-ansi": ["strip-ansi@7.1.0", "", { "dependencies": { "ansi-regex": "^6.0.1" } }, "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ=="], - - "compression/debug/ms": ["ms@2.0.0", "", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="], - - "connect/debug/ms": ["ms@2.0.0", "", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="], - - "eslint/ajv/json-schema-traverse": ["json-schema-traverse@0.4.1", "", {}, "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="], - - "express/debug/ms": ["ms@2.0.0", "", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="], - - "finalhandler/debug/ms": ["ms@2.0.0", "", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="], - - "hpack.js/readable-stream/safe-buffer": ["safe-buffer@5.1.2", "", {}, "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="], - - "hpack.js/readable-stream/string_decoder": ["string_decoder@1.1.1", "", { "dependencies": { "safe-buffer": "~5.1.0" } }, "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg=="], - - "ignore-walk/minimatch/brace-expansion": ["brace-expansion@2.0.1", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA=="], - - "karma-coverage/istanbul-lib-instrument/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], - - "karma/chokidar/glob-parent": ["glob-parent@5.1.2", "", { "dependencies": { "is-glob": "^4.0.1" } }, "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="], - - "karma/chokidar/readdirp": ["readdirp@3.6.0", "", { "dependencies": { "picomatch": "^2.2.1" } }, "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA=="], - - "karma/yargs/cliui": ["cliui@7.0.4", "", { "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", "wrap-ansi": "^7.0.0" } }, "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ=="], - - "karma/yargs/yargs-parser": ["yargs-parser@20.2.9", "", {}, "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w=="], - - "log-update/cli-cursor/restore-cursor": ["restore-cursor@5.1.0", "", { "dependencies": { "onetime": "^7.0.0", "signal-exit": "^4.1.0" } }, "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA=="], - - "log-update/slice-ansi/ansi-styles": ["ansi-styles@6.2.1", "", {}, "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug=="], - - "log-update/slice-ansi/is-fullwidth-code-point": ["is-fullwidth-code-point@5.0.0", "", { "dependencies": { "get-east-asian-width": "^1.0.0" } }, "sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA=="], - - "log-update/strip-ansi/ansi-regex": ["ansi-regex@6.1.0", "", {}, "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA=="], - - "node-gyp/tar/chownr": ["chownr@3.0.0", "", {}, "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g=="], - - "node-gyp/tar/mkdirp": ["mkdirp@3.0.1", "", { "bin": { "mkdirp": "dist/cjs/src/bin.js" } }, "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg=="], - - "node-gyp/tar/yallist": ["yallist@5.0.0", "", {}, "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw=="], - - "node-gyp/which/isexe": ["isexe@3.1.1", "", {}, "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ=="], - - "pkg-dir/find-up/locate-path": ["locate-path@7.2.0", "", { "dependencies": { "p-locate": "^6.0.0" } }, "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA=="], - - "pkg-dir/find-up/path-exists": ["path-exists@5.0.0", "", {}, "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ=="], - - "send/debug/ms": ["ms@2.0.0", "", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="], - - "serve-index/debug/ms": ["ms@2.0.0", "", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="], - - "serve-index/http-errors/depd": ["depd@1.1.2", "", {}, "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ=="], - - "serve-index/http-errors/inherits": ["inherits@2.0.3", "", {}, "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw=="], - - "serve-index/http-errors/setprototypeof": ["setprototypeof@1.1.0", "", {}, "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ=="], - - "serve-index/http-errors/statuses": ["statuses@1.5.0", "", {}, "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA=="], - - "tar/fs-minipass/minipass": ["minipass@3.3.6", "", { "dependencies": { "yallist": "^4.0.0" } }, "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw=="], - - "tar/minizlib/minipass": ["minipass@3.3.6", "", { "dependencies": { "yallist": "^4.0.0" } }, "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw=="], - - "typescript-eslint/@typescript-eslint/utils/@eslint-community/eslint-utils": ["@eslint-community/eslint-utils@4.7.0", "", { "dependencies": { "eslint-visitor-keys": "^3.4.3" }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw=="], - - "typescript-eslint/@typescript-eslint/utils/@typescript-eslint/scope-manager": ["@typescript-eslint/scope-manager@8.33.1", "", { "dependencies": { "@typescript-eslint/types": "8.33.1", "@typescript-eslint/visitor-keys": "8.33.1" } }, "sha512-dM4UBtgmzHR9bS0Rv09JST0RcHYearoEoo3pG5B6GoTR9XcyeqX87FEhPo+5kTvVfKCvfHaHrcgeJQc6mrDKrA=="], - - "typescript-eslint/@typescript-eslint/utils/@typescript-eslint/types": ["@typescript-eslint/types@8.33.1", "", {}, "sha512-xid1WfizGhy/TKMTwhtVOgalHwPtV8T32MS9MaH50Cwvz6x6YqRIPdD2WvW0XaqOzTV9p5xdLY0h/ZusU5Lokg=="], - - "typescript-eslint/@typescript-eslint/utils/@typescript-eslint/typescript-estree": ["@typescript-eslint/typescript-estree@8.33.1", "", { "dependencies": { "@typescript-eslint/project-service": "8.33.1", "@typescript-eslint/tsconfig-utils": "8.33.1", "@typescript-eslint/types": "8.33.1", "@typescript-eslint/visitor-keys": "8.33.1", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", "minimatch": "^9.0.4", "semver": "^7.6.0", "ts-api-utils": "^2.1.0" }, "peerDependencies": { "typescript": ">=4.8.4 <5.9.0" } }, "sha512-+s9LYcT8LWjdYWu7IWs7FvUxpQ/DGkdjZeE/GGulHvv8rvYwQvVaUZ6DE+j5x/prADUgSbbCWZ2nPI3usuVeOA=="], - - "webpack-dev-server/chokidar/glob-parent": ["glob-parent@5.1.2", "", { "dependencies": { "is-glob": "^4.0.1" } }, "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="], - - "webpack-dev-server/chokidar/readdirp": ["readdirp@3.6.0", "", { "dependencies": { "picomatch": "^2.2.1" } }, "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA=="], - - "webpack/eslint-scope/estraverse": ["estraverse@4.3.0", "", {}, "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw=="], - - "wrap-ansi/string-width/emoji-regex": ["emoji-regex@10.4.0", "", {}, "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw=="], - - "wrap-ansi/strip-ansi/ansi-regex": ["ansi-regex@6.1.0", "", {}, "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA=="], - - "@npmcli/package-json/glob/minimatch/brace-expansion": ["brace-expansion@2.0.1", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA=="], - - "@typescript-eslint/eslint-plugin/@typescript-eslint/utils/@eslint-community/eslint-utils/eslint-visitor-keys": ["eslint-visitor-keys@3.4.3", "", {}, "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag=="], - - "@typescript-eslint/eslint-plugin/@typescript-eslint/utils/@typescript-eslint/typescript-estree/@typescript-eslint/project-service": ["@typescript-eslint/project-service@8.33.1", "", { "dependencies": { "@typescript-eslint/tsconfig-utils": "^8.33.1", "@typescript-eslint/types": "^8.33.1", "debug": "^4.3.4" }, "peerDependencies": { "typescript": ">=4.8.4 <5.9.0" } }, "sha512-DZR0efeNklDIHHGRpMpR5gJITQpu6tLr9lDJnKdONTC7vvzOlLAG/wcfxcdxEWrbiZApcoBCzXqU/Z458Za5Iw=="], - - "@typescript-eslint/eslint-plugin/@typescript-eslint/utils/@typescript-eslint/typescript-estree/@typescript-eslint/tsconfig-utils": ["@typescript-eslint/tsconfig-utils@8.33.1", "", { "peerDependencies": { "typescript": ">=4.8.4 <5.9.0" } }, "sha512-STAQsGYbHCF0/e+ShUQ4EatXQ7ceh3fBCXkNU7/MZVKulrlq1usH7t2FhxvCpuCi5O5oi1vmVaAjrGeL71OK1g=="], - - "@typescript-eslint/eslint-plugin/@typescript-eslint/utils/@typescript-eslint/typescript-estree/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], - - "@typescript-eslint/eslint-plugin/@typescript-eslint/utils/@typescript-eslint/typescript-estree/semver": ["semver@7.7.2", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA=="], - - "@typescript-eslint/parser/@typescript-eslint/typescript-estree/minimatch/brace-expansion": ["brace-expansion@2.0.1", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA=="], - - "@typescript-eslint/type-utils/@typescript-eslint/typescript-estree/minimatch/brace-expansion": ["brace-expansion@2.0.1", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA=="], - - "@typescript-eslint/type-utils/@typescript-eslint/utils/@eslint-community/eslint-utils/eslint-visitor-keys": ["eslint-visitor-keys@3.4.3", "", {}, "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag=="], - - "cacache/glob/minimatch/brace-expansion": ["brace-expansion@2.0.1", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA=="], - - "cli-truncate/string-width/strip-ansi/ansi-regex": ["ansi-regex@6.1.0", "", {}, "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA=="], - - "karma/chokidar/readdirp/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], - - "karma/yargs/cliui/wrap-ansi": ["wrap-ansi@7.0.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q=="], - - "log-update/cli-cursor/restore-cursor/onetime": ["onetime@7.0.0", "", { "dependencies": { "mimic-function": "^5.0.0" } }, "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ=="], - - "pkg-dir/find-up/locate-path/p-locate": ["p-locate@6.0.0", "", { "dependencies": { "p-limit": "^4.0.0" } }, "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw=="], - - "typescript-eslint/@typescript-eslint/utils/@eslint-community/eslint-utils/eslint-visitor-keys": ["eslint-visitor-keys@3.4.3", "", {}, "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag=="], - - "typescript-eslint/@typescript-eslint/utils/@typescript-eslint/typescript-estree/@typescript-eslint/project-service": ["@typescript-eslint/project-service@8.33.1", "", { "dependencies": { "@typescript-eslint/tsconfig-utils": "^8.33.1", "@typescript-eslint/types": "^8.33.1", "debug": "^4.3.4" }, "peerDependencies": { "typescript": ">=4.8.4 <5.9.0" } }, "sha512-DZR0efeNklDIHHGRpMpR5gJITQpu6tLr9lDJnKdONTC7vvzOlLAG/wcfxcdxEWrbiZApcoBCzXqU/Z458Za5Iw=="], - - "typescript-eslint/@typescript-eslint/utils/@typescript-eslint/typescript-estree/@typescript-eslint/tsconfig-utils": ["@typescript-eslint/tsconfig-utils@8.33.1", "", { "peerDependencies": { "typescript": ">=4.8.4 <5.9.0" } }, "sha512-STAQsGYbHCF0/e+ShUQ4EatXQ7ceh3fBCXkNU7/MZVKulrlq1usH7t2FhxvCpuCi5O5oi1vmVaAjrGeL71OK1g=="], - - "typescript-eslint/@typescript-eslint/utils/@typescript-eslint/typescript-estree/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], - - "typescript-eslint/@typescript-eslint/utils/@typescript-eslint/typescript-estree/semver": ["semver@7.7.2", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA=="], - - "webpack-dev-server/chokidar/readdirp/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], - - "@typescript-eslint/eslint-plugin/@typescript-eslint/utils/@typescript-eslint/typescript-estree/minimatch/brace-expansion": ["brace-expansion@2.0.1", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA=="], - - "pkg-dir/find-up/locate-path/p-locate/p-limit": ["p-limit@4.0.0", "", { "dependencies": { "yocto-queue": "^1.0.0" } }, "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ=="], - - "typescript-eslint/@typescript-eslint/utils/@typescript-eslint/typescript-estree/minimatch/brace-expansion": ["brace-expansion@2.0.1", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA=="], - - "pkg-dir/find-up/locate-path/p-locate/p-limit/yocto-queue": ["yocto-queue@1.2.1", "", {}, "sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg=="], - } -} diff --git a/frontend/eslint.config.js b/frontend/eslint.config.js deleted file mode 100644 index 99a007a..0000000 --- a/frontend/eslint.config.js +++ /dev/null @@ -1,43 +0,0 @@ -// @ts-check -const eslint = require("@eslint/js"); -const tseslint = require("typescript-eslint"); -const angular = require("angular-eslint"); - -module.exports = tseslint.config( - { - files: ["**/*.ts"], - extends: [ - eslint.configs.recommended, - ...tseslint.configs.recommended, - ...tseslint.configs.stylistic, - ...angular.configs.tsRecommended, - ], - processor: angular.processInlineTemplates, - rules: { - "@angular-eslint/directive-selector": [ - "error", - { - type: "attribute", - prefix: "app", - style: "camelCase", - }, - ], - "@angular-eslint/component-selector": [ - "error", - { - type: "element", - prefix: "app", - style: "kebab-case", - }, - ], - }, - }, - { - files: ["**/*.html"], - extends: [ - ...angular.configs.templateRecommended, - ...angular.configs.templateAccessibility, - ], - rules: {}, - } -); diff --git a/frontend/package.json b/frontend/package.json deleted file mode 100644 index fd5c806..0000000 --- a/frontend/package.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "name": "trustworthy-casino", - "version": "0.0.0", - "scripts": { - "ng": "bunx @angular/cli", - "start": "bunx @angular/cli serve --proxy-config src/proxy.conf.json", - "build": "bunx @angular/cli build", - "watch": "bunx @angular/cli build --watch --configuration development", - "test": "bunx @angular/cli test", - "format": "prettier --write \"src/**/*.{ts,html,css,scss}\"", - "format:check": "prettier --check \"src/**/*.{ts,html,css,scss}\"", - "lint": "bunx @angular/cli lint", - "oxlint": "bunx oxlint --deny-warnings" - }, - "private": true, - "dependencies": { - "@angular/animations": "^19.0.0", - "@angular/cdk": "~19.2.0", - "@angular/common": "^19.0.0", - "@angular/compiler": "^19.2.4", - "@angular/core": "^19.0.0", - "@angular/forms": "^19.0.0", - "@angular/platform-browser": "^19.0.0", - "@angular/platform-browser-dynamic": "^19.0.0", - "@angular/router": "^19.0.0", - "@fortawesome/angular-fontawesome": "^1.0.0", - "@fortawesome/fontawesome-svg-core": "^6.7.2", - "@fortawesome/free-brands-svg-icons": "^6.7.2", - "@fortawesome/free-solid-svg-icons": "^6.7.2", - "@stripe/stripe-js": "^7.0.0", - "@tailwindcss/postcss": "^4.0.3", - "ajv": "8.17.1", - "ajv-formats": "3.0.1", - "countup.js": "^2.8.0", - "gsap": "^3.12.7", - "postcss": "^8.5.1", - "rxjs": "~7.8.2", - "tailwindcss": "^4.0.3", - "tslib": "^2.3.0" - }, - "devDependencies": { - "@angular-devkit/build-angular": "^19.0.0", - "@angular/cli": "^19.2.5", - "@angular/compiler-cli": "^19.0.0", - "@types/jasmine": "~5.1.0", - "angular-eslint": "19.7.0", - "eslint": "^9.25.1", - "jasmine-core": "~5.7.0", - "karma": "~6.4.0", - "karma-chrome-launcher": "~3.2.0", - "karma-coverage": "~2.2.0", - "karma-jasmine": "~5.1.0", - "karma-jasmine-html-reporter": "~2.1.0", - "prettier": "^3.4.2", - "typescript": "~5.8.0", - "typescript-eslint": "8.33.1" - } -} diff --git a/frontend/public/blackjack.webp b/frontend/public/blackjack.webp deleted file mode 100644 index e47c246155ae437472c6c7285b6f64a76147a433..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 309078 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�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 z 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%0AW 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%0A_><4TJz$ z2HB56lhXiOlF2F(Ssnu>@Kj+5mqoRNl0K$3yYxk*Ow4*?rXwp^&KOgvjg(3gMr2ei z+5jM7T^(r$XPf?JD&u-Xu?boWnEwbsGtZEP?PC?A2TwKqq?bx{JqT2G1DE?hnN8W(pYj2r8v#Ah}a?Z#MTuh-_B2IK|X3eJ;s+%G*C7Av zO4Iv2Dar zsH&qzW`NxlSHyR^5zS$Q5$)P$~msWCmE-htr^_agMJ6iq@N#-q<#E5w=Wnx8 zDoP8IV&;H5BjJr+a`TxpN%e`5Q`HoZCM@Z8(gaeMK%`cdi=@ngG$XXejWe=Fm8%HR zif3MH7MzVJw&PA2atkywON=MM@uBcH|Cj&4{{20rV!X&|nXjzHu$8B^zVs{3lFCdM zw8gAlq5SHrH|_WT81I?C_=ErIzwl3f4*%uT-Wuj`WKS1KTeVr2>BoHijye+x7HVKl zi4k#7UAY0wymQ=5D{@e@bz6Kk&=?)H5Dm2|J)#o5+w@}*@tJd^o>(3ed`jLbf|#gk z#+DPMn^43nZ+FdE)e|LVNE0#Qq}a{!s5x`&fvkD>KBTRxfHZdN>uPZjT)S6*MiScGKP?BxlOf`?>;7QyhteRgM6l*S>i8@To$I*kxI_#gql=Iy`$;g06H=GYr6<{(0>4ns)%7U$djPVWT-I15;Dgi%+dR3x>cfbW8Y%$PE zB*TR!W@$AekMKD?yq0zIOsL$RUNvAUmv!l;0gNM(Zrx_4F3QT=ElBUSY<&?%C?qi| zrD%Zr4wIa@ZV#T-x~Z-_1gV9>2?Q^QW-w|5RZ$QLREP@1{J3F{NV4W3=h?B^IanTt zLg>tSEWHhP5}l$cQRyC9C_3 z+$Qg8w%XRex$RHYzx~L3k?OFm9|xY@|L(W(fB!N5%|E{XU6p_7pZ)xQ`?vm4`O822 zuD`Xm?0@?Y`WIbdaKHDe4CIkbsrz&Bu0o||jkNCC*jBrLo8SE*W{g|h@85VUKIfa? z`W%1ykND;q)y1=XYr#TFS=ulE`IzHE9~*X!l-?%iXt z#c`{nq+rs_G&~TDOlz>#S~r|K{Nf2m@v0HChM$R%45#S1lPNEuG;4Yy{Y$elJ*%8# z6Pv>$OO5UhJtxQ&jPS{#ik@yCQ4x_SOfM~-3HdV|6^B>VnZZ#hM44b#NR@j?lin=; z?0lV3qDHTr05u}bbRKS|k~uw~V%ox^W-KNGsx%WyunLV3)l^hUMbs&8KUJtzqAUl= zIdVks&ob7P83`2R>~N!4n#Ax}%-nsZqf$Ust0-%VDkg|ZX3QMJOA>^LC~8J{$aEj> zB7&p}dov|Hy#UGcD4iml9=*3FMkxh+MpQwxqL?6!s$MAxmD2+wqAcXB^vWYERbqw- zXI5mP&`cw8u_mgSWFXHBYNV)&hcOkvt0;yzDF7u3`YjI(3GLKMV3y{awh=`*Vf0R>U@>FleJ-dl`ADFkxXnTU{6 zdoKhC_h!`A*0l*F!&|e0WP}zo(QIMBW3DEwur6Lf)z+Jc$XSsOoCb0|=N!d4QLLb- zAuF>AC5rR5I3mL*l_`?REEILz$GR+(Opn&I^8A-w_53umbuCnQfO_nE6-P!zoJ!+N zXQrv3!qf_-sv=b7cIlZVJhO9DQ=hYI!>k~XM38!Nd{dPIDm5Y^QRg8|tg>*X&snOP zNfoUuQs*oM1sTXWhf+jo2C&MLSqQS%+RUVd)KR|ZM#99m|2KFN%^+w-IC3 zF>^qA1vth8D`u{XtxdYox_WrUtg736kYZc_N|cF~SNKd;POb&4OYLRqwwlNk>8ZU` zczqXaIc{WDImAgr0Zb@!IP9%Hd{&)vk7M35X8>pohYTRJ_HC;2+>Nxt)@{}1$cd>; zB_mKO;~3gn?;TZRPDY)IzA=u~dh0rUlvqfyV&rVA?8EorQJRsUEUlp^NE7W%QMH&n zE*(^XZkN@HYojT8!?L!8R2Cx^EkoUpd6E!NqJgaekcM7_wxtn)N;9a6^*N%H<%cOV zk{NwnA#%E|Q7%ki!Fr))-j7-r(D$(G1}LLgiM8d3ni5ngK(sDvABP8WdLDk5ijfhq zbZtsACU_i&NU4-5E0YOP+r_hTfjqrJY3!sFwW0j@_#|^JNg%3rq#+y`88@Jq&Nu)q z(V92SV2D?EtjbqF9juHhf?Hulb^}DQy=j;wXNZm{*0$*)OL=5sMz$s~GlvOUun?16 zQ*6Xud8B*k5HI>GFjNdhl!as!VcpT0Dmj1;oUe|Vhl}>u7vT2U75}5Z8S9UKVPC)7 zZW8+ATl~9s&`ZIcIAv6LX&@JX@M-vpkN<12OoTkKL*;XI;B8L2waX z*98??cwCl>;RR}SLk3rI~2-+uk|++#@TqP^TdemB1T zQ@(zOmyetu3LniH3l`7(@b~%af1s~>yxc^zJ#n=bbK*DN{r&&V@BhKC@V$3BK}BU{ zL^x|WXHBsj>7&vR`}F;|OK~6Z_|T29T&{EEe!n@yI+XL_{d?Lh9Y7u)O>{=8HF(5{ zEkC2uQYXcs2HntaS|C_LDSY$R11J=GWuds5pWjzx+=-6{XXZI%eH{2DyE#srb?ojMWl7h zs^MWO%}4|=m)@0?$jGEB6xPfZ%ZNDA3{43pvW#j}ri5o?EUmSsW?Co@uRO&tD4r0^ zJZsZtiV9H`h>3i<8+hUqEfXvji4tu>5mPOenG7$c$N6B=^JEAJDnqPO2oV^Lnc*oJ zBFKz$0$3HQDhbIXkT@sRBBIIilbqv~Nl=uKDvqHAYbI0^AhQ%noamm)%y2OgkRl@V z{SXl|At5NKOp>R9%S7F?j0#kG(OuXIU`j>X;No*SxJvsA|6AaR_7G{Y>TQ!dCdIO5@)6NrA3uhRYb6s)+rb> zGwYL^(`QsxRu(EVf=Q?eGpAH|0VIWh5l%GIM42!n2r#A zkqMSaLq%4p2?{O%!a%5mlT4h2iqiC`0?m*SG1sMKiAT6&zrCucDgo^K6u31_P{NO> z6tFNO*o09rLz_mGfFLrG1V!j5B>*AEJXBj%saSbLQ=lR#)EQ0#RFEf=2gmfK_sohy zRUlLQ8h&%BLLw_bSMZ?MXwlg6{+z+)uM^B>dOJpMa{b~$Wox34NGD+p={Q<0t>x}U ziuFuyhIGF!?T8>M6;)AFZtjE`AWNfu!Y+|3Su$pAD?&9B#`2xgGL$kwC8WS;7v`;E zpl?gl`|SmNdwTu&Xrr8W;PVK&j%g1|p1N;V*#e2?GrLliS^&_RFlLq#*_$RZV^(4j zD^lFTy%{1x)gtGd=lr~gStKpLd3w2QOPIxRm~dof%xp+UCnaLy{VOhIvJWxD_lgfYVJd~Wo<B+j0c{)sv#J!8%qiux&P&z4i#bNVyv7oH zLj`Q3?+WaQ1tP}t+OB#_UdjZiO|vLPR?#Zmavqq2qI7~K;vh3sF)|=!30k~VzQR*N zJ!4MSYV;*bXJi499)~G(lpwN61xl(X&=hR6`*dbA0jEG%T0DyA4V-n1jEX)dWMX_| z`z#FLS^GC?0cHg83OKy9mBms+sfkxS^8(v{=xJ85C3%go!`Op>wo)S`6vIifB1j@l2F;j6Uu$^ zVmb0?xytiP+D}9)3CS&WCaKU8ohc^3(@*N<*ExsTGDVku5{!-FiS}9rRx_3t7grTC ziF7|bqeZJSmAexxry_`AE916~n@o%zxAHfHl0-&kuSz-1kFu1i)D!RDx$o42({l(A z+9k{C9FfJTb}1iIx-wjWS~?<|ZXP>~mVJy{l`WTkl4O+hiL;4=Y9WHvk=SQkJ5e!5 zp(Q-~vI@QYsDeU{k^3F0y>RGAw|YJDeaGP=!?+|4$2wuBhmsj0f?!vOD7~Oejl%J? zQbx_hT&jBkz!6H|)9>UgTG5g8-g{PzQ3Tf3RBIenQkUyx9QP^}CPaP2Ir|K!NQKut zjybb6OE9Bavnr<3XDnS-5)lU6k;Fn`-1g;hDeaj%F(82|lt4ncW{IGvk_FKvv1{FM z43w9H{W@fSR1Kv9Y?OpGnc-uv)^iq`nH8@M3;8r74JO(w5H#VK_ve@S_RX3WzTXz< zOmI4GAH(n3FSQ?K1qHdLs)#6AFW>n$zmVezx*_i97&89{|MP$RpZ~+3>-QcsuX+Dw zd;3n*&@cEBc)Ub^z@HxXpS>oaEir^9>GY{Pq&)=42jwh^- zkS^;3)93v=y**>x@#^Bo`0iI~IikP&-QPBT{9pX<;`{IL)7N;9_;THLh@8UBh4UDd zsFtf>2Ob_}T`th^u;}Z3uGYVMdVSsR=KW>A?N7K~*Ps4_Z$5jwk*4a4Dy2U8ghUkO zQ6#MiiX}BO;HNc+$MkOPoIq9)MH(#II1Uv9LsVNkf$vf{57&j_r_QTr0)Qv%g#36# zv#u&lBw}V%*A&%rXAY05YGxTe4;L^aMb+I~V|wrmq$CJTpCBRvtZq_B5oY+JJy|my zg2EXwI3Zf8MwU|r6h8W=w^A|kgf@nK4^(rzw1iH{v?XtEa5;8N0QV( zd(R`C2}EY(wyh^Uw}@^+Ik#gZB~W8bIY;ZNK7)!9=BLJZifI933{-C2MCH7IjhGa! zy_JWL!&#JSBBw3|)wmBj(tL~YZW!eixB`r;bU@8!kzH8~2nPM230@=Q-b%}bxr;`B$f-sh4 zMOAec=TYpE#mlm;m&^OluX#s%%QbJn`lkAjql+9dW|<(s$_k%an3?z89mtWMk(2~M zJBAyrL}q4^Rr7VcEX$ID-eh{7-?t?CqAI7{T^_G}j;WbqP@z_4WMj>UjBE?lgd(?N zs)^7SSZ6DY-RH8jS@oJOs@3YrYTE?0>vECBr>I+m!itfyTsBlsCM#eXk)(;4AG?T# z&rF~Dt+MGc-2oAZB3hz-UZ|H@8J-wLYQg8YyNFmf3QmF;M97+6KZ)VD7nIU7O8^#82G#|J$9xb7cQsjNK@2y5?48A^x$hC+!_u;dMi)$}zLuk3jw2MkF+A|}VeU`@HL!oo zU;ViDUqaV3qoTl2CZZ&9|KJ~gCa)jLE5jjGrFD4CU8{18(kc;D$YO;ml?abedq5#?MOQ!-n%N;#sT|LB|7B5&!5c=T1M%vDT3`a)Dz&t& zI4bTDA)-|o31L8@av#%rtMGKcTpoI}rLVv=smfBdbt$;7%|Kq(24-v8Oe;%NL|j#l zs-tohbKtUR*;Qdpg}rfU0BJy$zv83z(R@Z0`W13XR}u4S(5@1GD12f*`P>PIid3%F z3(@A?0ZFt#g|640%soyVM-}o`Sd68jQxNejV3iQ*SgsGMU1YRUostQkV~_n=fBj?L zzpV;#fh|cXgIkUH!GHFXc={Du$1i{S`t8r^@oKMy-}|N38l_)q_5x4-hE>tFoK z{`nXA)%WnDzkthc!M|V6->d5n#GgO@{{K5`tlKt?GUl@CZqP0n_c@=#E9Q)kw|e?0 zAHUJ#TR#74{Pf3iywu!t9=w0+^93tgzubM{pL_pD|I*+1fBm7q`?9}0*}LWP-EACm z$e)d$2jwXBDLY9>9gsW%k%EnO)a>ipO`!7SyN7MF*OzhKbWhddoW9491g%vT7{V}9 z3c?G*s1(AhJP}oDlB|-*NUw+tpMLJQ$%;%;qD~ZOo)cuHR>U!VRsphzRFDycX~I*c ztHP>cp|w-NnTiu4ZD5T#Noj_@2*m}yc2m)2lHr+QO(~@XBU?MUpDI*jb!mG{j|4U?CLO`%mN+D}wW`ZRu9&tun{TL_nY|JSNQ#)fQ1xb{t zDhsNG5UD~0MW`aAq%}2i`Y59|2=Yvoiz&oMcq8VBia3Kaao)%g1t*b+%ur=t>{HyP z+yJY9nTS|^x{`SBjT!o>9GzLU^v24zbf|#mEkz?{CMbnSQCWIBe4r9!j0i|y+I}2O z)gv=e^0Oh^4n6B0n0Z(dmwc$h6mVSVM6{eb~_R0|9dAp#WeyyS0{rk&|^Q$e=tHS@(HNom253T{N$a1A2e;+_5ZXbdStxtsxE&At@u%qHMEy z1bn6nJrx=i+uGfSdsY-JG|(2@RrJ7s%LY`B0Ux*PdNCeJ8w|gH*X#R;HO+xyO-duP zcnH+%Kz1CvrTB>OBTIa|$oeh=GG7B&R9_Du=S$&xrByj6jtUhumGoS?7&$&Me~8SK z>fM-1x$D=oUsB_rg?z6N|{gY5~X8-o_pgS%q^~8IlVmGfYGj_xn+m zl`1F^Yihe6C9JH>?2EZW4NSmmcc2EfFC9qEm`!@UeCONe*54FVN`RC0TqrS-LLr{= zWc}(F z{9#wU!e?@!jGBR^VN#Co;CG!L2!MUed+S^518k@+K?iy(7qLjsdcDs{nn7GquaIq$n9@CM- za@o+VGEcwH@VRYE_)z2NzfoPvAeAvvHc&tbEQnbR*u*@S#d1#9^vbl>rG!!8selv~ zudA+xJu4Gtw8}a$$e~eQ*q_jTWe;1*C2$dal{nD;e?f!afR8ETxnJAZkdVfJ6a_3LqgxAR$u#fw&0;5sMH?5QLzBf)Elx z0tt~2BXA)Uu!9L9wiD<0cJ|qOf0y@t*PLVY-rI%3cn|yoOLMI?=a{{>_B_8|M2g_# z+aJVwlli$Spo;;?=&cqsf|ukn5}@4r_T`CNN8qw3MMy1_MHzWb%$`>uTr>EFCR{=u*M z?L}=H?T@#gS%=hd`blv3cfZ8<|K|7KfA@NO?ftb*KX>g>SV!GAjYOq;LWJdXS9!*I zuD9>(cn9n9TsqpEPpn5g=W(9*58s?)ee=iP>!-i_-~AWj*M1hi_=K0+Jt|hpJ8e=C zCCpSou2qJn0wA?Ond1oGDk)G3nzXgor|*x^ z3Y3d6e-Y^2yp~X-R+E+&9I-&rwPG_V=DqF5oMai~YNlpod3gntm3aEtZnp|AFSE*( zDN=9=ctmJ+YuAl1K;lYUlu%-ZH4P6HR;JgA08rHHmy|!MO55;NRSFOiQMmShEFcsu zB`d0J4OM2Ej;2Odem&cx!J>jyYFqds7%Rk(pa@0OJsc&V7_4N?YfGOhBx0_jut*ch zO9u-@)dl=aDuETztYs8LMBo>MvXD$Ej*ETWPWAu1~1*K#ZhxO`8d zSnf(9Q$^Pd6%=w+39e-&C@nK$&C41LBw&5h^0hJ%$XW%U1fCFdleMy`c}el>kCi6L ziU>1ykqkFAur>uuiGtu?oXs?%3fT5O=Yk0(Vj?R< znrOL$NV7HrV=ahXz$DKQh)Dx*>phtn>ghs#jH^-tWGS(A%Zf}9mNm@6X5vucvPO`MLZccrk!k~(j#eFqb3AbSrs4}z!aCEbf~bU9 zuc}CY)cIqsK?f7%zVf6h;0ws8;z|b+YlEto!32?#2;1yA#>K$R^h+$E43tJiW~%a> z>zfbno{zT=AKstGv2{iiAmbR@)|EDA^}fHI^JcZ(x98)b0#s&tYb|5VAcSK&vM$e1 zv!22^R)g-nkBmaOy9thf2S(%DD%oFGxB?84t*Ls@8l-5b<2eSeQM#%}G)`83LH+s9nX7n3jVc5t@V zuGUbXuH@pLQi4kHLT}<(nfWEy0EFmTP4C`s_4!~%u2a7JGTN^F8!8LJLU5ByJ+giw z&mVcb#S9&h6_W@V-2%=1UkxE6i2 z%nE-hJMkv@8_jcj`OE+8=fC`)e>=9j9J8aZ-E?i#sxfWfm~lML_U`><#NkqDttww$ zfAaSC|Gn+k-`CHbf8j6w6ZpUW8~+v>^-G)gR{drZ6O}P0kX+`U4!gg2iL{%TVZBv2 zqwxHqrha&O^etzsJdyCC6iAk~@|h|c9Oqe&f|;3ySNR;_09)$`%+~t#4P7d&-MLE3 zXE>tpc+}1Hhu`P>pTV?_1v-vL9^a$h;y6i%gN5yWUp_DcR=myvO_W&2u-3h)XNg*2 zM!2v5Ru+OQ*4~=fZ9bkgmhLw*$y{T`ZA>z{TwSWlnk;sa>kQ?Q4LQqio7qvKbi|oM zartg2FWWqSMZDC8wv`_zo9FX;eD7uNasNhS)=Ck}^$GJ)&mZf2O04BUhnZf2qaC11 z0Ga3lM5JeLO=zc|EcCuHuq;~JwbIYAR&DHNZH+T%D<*m2gTjl?=Xu*&vli*T1Qpj- zw<)S*trTxXS4c16Tr99@Z`(PC_tqkOe#alDya%@rMMWTG7=rFN-tfa8Dvzjhosa#S zZ^%6U-Y;u1DhOCqS7iBGWu#YC`8=bP+tv(};-(O44xC#8%5Eu;JT_|?r)1@`Xw1h@ zCEU|Ty}eY^DpfMxKFjf$<83`Z*YM7^?fCMy|3Cf@{|?u9JKdx0yF7dfWqx_0c}x1~ z+~0lp^;f&?S!hj>uKUgB=+)1NYS~PLvZk9_&hwmke|h!C7YZ7}Pbouw`T}8l-D9rR z&X+&A{`J4~|N6UA|M6G(tN&j7nvKIFQvpU~rHDx<%UAZcg(TM7N@@w(igma9mq)R5 zg+oQOaw?L(oWPeOtea)g(c4zK3Z+7KM?pm{ zG>e)V+8AToHxD#{`yv??ER{lLh)Vj^M?_RuX%?DF!g+E3Dap8AIU$fs_KJ%vzx7sM zKsi0Z(tL(2M;i;UOaHjJ{hePlZy2 zG>G;(R)JCict)g}#7tFD70=vyUp@)@*-K{ktnJPks=1>RlqTkAXn5T=5RAp)yrcB`5H2GqZZA>TQ^^BCAn5gsu+=^ zTo1!B=C*Z9B2t83aR7u^W5rxVv@2`#3HM6j9MFC%a)feNds zc)^rH^9Uj!c7=#cbRH(r5RDp_J#@zntl7q*q!i7b(- zgjd{d8@1rv_B|pg zqn@~ZE3oJK?(eog@sa4PBC?bUbA~Ykrk{TaKYT8Jr8}K6c8gAJ@o5#Xm#)mNs2(6P z&`s8yi`=YH)oiOuMubP-?;cUGbFHQwNY&jOkLMX#%_FPGCK5ssv9Xplo3RS5Aw+DB zv2{~zb4(y(O%?58$2vVcv+jK_+sZMH=kgNOwR~$tidQNXnx@QI_gBDY23M~4ZC|sY zOga>p5ndqJtg+}3ecw%OKA!~EJe5#Z_^A~!&Wsgk@{u>7-4W@-)fw3P@?au}>vR6$ z<$j)P4A)BOn;65hsa59X)Sx3JdsA*oXEQwG6l6DPzC`**IJI!9HZTS z%(qrA>04K9lrA_?#rRU|4fCwIR1`>eG}Rd}D499xK*g#9Rf)bq6qzf)YNgl~)(-f& zc0q-P&o=k=@(#lbZ!4>z<=bbucSI*!#iT#=`QUhPjwsI%eShDdE8w>Ee3mW^_W(+# z3sR&aeG|v5Q`=_UWa||kbNa=hwZ#UM7E}<*kq}M49)B)n>-e1d!nrEZw~;54BZIvY zWAb>?1g4x!G|Z*%GO@oK!190eWBjjwU;nwk@^AC^{(bp3p5tyjM+uk!Fy7w!eYgG2 zh>X}of)3|I+3QXI;Cp=k_L=;E$3Oqi{;9w8-}-lubKhUYTOE(p*dVZkSAPD|Ix)To zfIM?SJ>t2*wDO$UOad>FO}R;aJ|A6y}tye-M)1P&mMM@l)XRQ&%jMRp)&i>NFv$Z5NGR17= zG!>N1acFCzQk4{Wu5oL#`!y(?xW8 zMkXOm$)pomW9obD)1XYrF zx!IT)Su_?Pmdzm@m!>2Rs-Jkf)<88>z?%#As`E&LmXtn+1 z*G)FZver%7^m#E8l#H2Ou$C)M*`>l`MN%V@y`-td$Z_TxxnjwxwdtPqo;7VVeLL{Y zpZ|dW```S_|H~hK`zQFhQ#1F?3U=G1X^fGV?sYDIx!p#bqGrfDbu3UW5v!}M$~@o3 zyN~zU_Ka9_K_;+Uq-I2hGD*xiTWNTtnzU|YWugjd%oMRp)D5aN3L#$T8gpIWmW`}} zsd=QZNcfE2Ei=~i-ppE$h}NuT00~kl7is+h=MX5*09xxv&$`Z)QWw%Ca^J3;QdSk2 zW2Py(Y9QANv!*CV6Q-EWHIy3ZJxK+axk@NmnI0<5;Yv|uWvNKAilI=i=(nci1Qe{w z89`W5iV$QZi*<2duAoHnQcs1i*jgu(7Z4S7m3@7cDy52c@hj2@foS7pEt1|Zn}Mjc zhI2VZ70g7Uy0N^iDi&6FGea^^B3SM!nz%AFCZ@~X5lkAja+ydKlmaf5S~E=;V8$Xv zD3PU6suqzYB_M<#uiau*%^CZ?lg{8Zf@Z>!$gxzdG%A6T-uv*-y4t6OLR5%pN6Sjm z!o5U^GO_Xyfmd47jO<<4Tvak7_T8>+l4n+WQX<(R*P)H9$<1 z!txm+RMk11Bxy7@$ho|%L;I*+3$y-SmR#*ox2 zTDQ)nUA+=PP#OirTDhufsRa!87E)jK4x!UX(9f-&buekb~l?*|q6cb4bC9YzZ#9G@+ycx>;A0G>qqJw9RzP!1CKo$2s?AYfMDR zM)%6hM6yt>%2IOg8w4U2v9eNo>*R>ArpI}Xh^^mtt8=9S!^eHwUU!)hR0P;XT35cE zGsCq@p*ldZWXa~J5E(vtZL1Z$f-aJePoH1DeU}y1JA5jwjFk(g2TDqfD!L!>++TJ? zqT@J$yAU~xS=o1y$V6np*KB%Ip|v(*Xr%yNpva|ezuA7|DI!e9jL1@{84jQdD~PRf zAJI&Wf7p5b-W{kDrdnOrT3wSc(-C3b6-BZf#$ z>3g!z32i_eTu2Jz6qOiLQ@jhtQNnKJN2)H00iQj`U;l7P=H^p{%U(l`U9WkrKHy14{(v5pXn@*G4F5iP5b$oF3}S zUpBq>#(h)XIfy(xWpRkUuo94Hedv>2@G zCZo8CW+;%(lqw+3RVoULTDxj9eLLqmk+)bSIcEaM$=)KG#+uq%q_0CP>d-8ALgtc9 zxKjaX9Y8KS0E^YrcB$HJzJwbp_H!yVGroUHU!yJ^gsdH6Xtd#RIQ z4|&=0nNqCvInOk^*_^Q+YYor!vUm4+K2|fay0k|beyOLrR8;!Dw_^=)M{-w9z?n3W zmU9A`x#mWM%JaLYXj^TyhV*DJcV_zWxK2F&*?ZrLZ;`XDL^4OtIB)M>Py^@OHbuMy zJUpv!ZQG$_Rjw4z)^!~-YnjSkCYzPKJty{;mzWDaz#dwAYfanZ?QMgJ^|v2Czr4HE z*045+XY?k5w#Mlne&-&c|J;A+7xrF$8uQq9!UU!l+~>$^_+zxe5qUP~k~Zv{$*BzkTpH3 zMEhle%A%;kGenf7ndzt`LjzXXbs z?v>QWaF^1g0~M>1+50xmS;8ij<*Md9H=27<5M#F1l$Ks%nvtIp<>b^y(lnC_xQR64GNSO>LjZSCEM20VJd4SCrj&0`^mdQblR3xU5#b#>mLX^0iEv7pgND898H(P-%Jz&ZMqZM3#4JD30l+Xstud zGucE%07is0Tmt2-cS6-JET~jEle=~6+?rhgb&wfZgqfO(6akDiNCQz)bwPo`S@gBs zT}`&GfPOhnxQOXmi=}G1mP<)}<-JvwN0kuGdS} zSj*=;Pce4AGz%%Bx4vfti(utfD4tGVD4I3kLbYbG3c1`xRVZqmRVqS}SV2@3kmW11 zwMhEP1bkIjZZB=j@M7M_949o<+oB z6v0AOP`=IYexc*{aek@s%bGu6{*d4O13rGm zU;RPWqsrIkH|dBo+-H<**ei+K3juiD)RW?pS<#FaS>)DDsSwev`GiNz%(*6|sVJG@ zv-hTga96VcOszG^imZY`TDR8Bh{E$c;`&dmdiy-rN}|p=3C!stEj*e?q%dX9Me107 z%yq8Ngk+BN%qoW!%dsoq#7N7lKR?aTdJiNaDctWjZSCdb$I6SmjFrst%mqn#A*CeO zI6M(~49x||F_8hF(qUR%O&}oF%KP1*wkkc63L|-$%Ui1qYr1B>jRT;miez{gN@xaC zsAo0Rx0P)JUI4-iI!pJSo95di<}p8gisLiSA8UMHU;Z$@{HoqQ`wxFOzW)dHd~gna zIp?ez>p0Jvi+4puplG<=UsSh>3rp&ZjG2lUyx#}U3%M11)Tht* z@dtT+*N@Nj_9;JoXV1^;?K_Euxe{<+F;D3%vHjNJp`{MS!1QVeK^fT!s#v~I)MlU0 z9|SfB&xftc_lu)W^pcJp(Ru0WmZTE1zlIipsJbZM-&FJEno&lBsZmyRojOodqM z_zbhi-~L(s_x=j%um3IiGk^T$6S!$?zOM1g3c)Yi5eQJJ)@mydQ$ovCPWkR{eiZ+8>n8uNUXWX#p(7|$Qp zSlDwWEftBuqJTd(Ant8XLQFA!k#t5N+vgX+OKF)!{`;Q+0RLrps zyCFU0ZLQCJ`Dgr=|EvF0SmcCQGf06fCQBLa+6tf$ z``yP_%lqC)e*gJP_%t?Y(i&GRk4wQzwT47R-d?sUAaTJ0 zyIE8r5`6#&0sAPqZ&02&{Ut%KUyZr{QIi@svq&B_sOX4}ssT49PB1KBgG0e)egh?UAM1-QK zdOS~JZLM7s`^t#OD54@_7V4OTxH8~%t^gn^0R|8m5lJyHhyaQS7MfXClguO?Nm>Q6 zn9Da6Bi9U(R+Z@q2&A%@?qorsDnP9amCm|m-b>Z4^wgCRx_C8?EWdmTw5EmlBZiML zOQk5*8%c2xz}9zPnH8);5lB_2N>zbS6I3CyibPRFRU`b8pb4?JR?w;v&oJ#x#H=MN zW{?IEEf8t#N^tlU-SW&#UM&w~s&ybT)0aoM6bdCGkPuR(`qoxNczPkCJgSN+*TEU^ zYi?e1MiQB!QkE$cQ)NK4x2CO0L}kEQ6EbRLvTfEHl@;Mis__y8n8@>dR4r4eV2(NG z@Nlgvj|2#yG$OD4!^MH7mI{k{Mb^hLr_V%20W5)t$XcGHs;Jt&?aNP9F@A+Mk)T;Z z=L*6SqJ@3$O?3`ew%$a)j=f+w zeO-QSZGtL~in+R4)Ac-4AYDzUt(&!d+w{vw|KhjKxl#>|OOHZpLS~eM2CJ0Ts9h<# z4R>iOvh~KbJkHaL(@R4M)~(6?w$^#(=oN`EAIIa%o1b6s<9GP(=k@b{SHJwAKmOc4 z{aqcO^t(UI=dbX?_xa_})?>{)XVOetX>mCuZ@{)oEpU;ZH{I5`sxmX@sx`eUugHcf z)rf?T0T#gJQL&PQYDW1A&lJ(Yl8VQeO%zj%;d`W1#0c&FGn-ny7Daq$Tq5O=>^64RRKIZg{V0eykMzNr+i|TcZ zkQIJ^*;EMDRX3s%6n z_^7O$gOAhSerRi`I~-bSx1MHRF5UX}vYrc&S`&t777()bE~!!lWKzVdXu3Dv8dXJ9 zB}lYtQkfZA}18T zhWV>w{l%Zk-vj=Y|IuIdZ;$hJTYnhhkW?-4HCPUKj1fjcGg@cgZpY^zL=kX!FIc>-5yBA_6YheNRP{27BsXrR_a?n-?`)yIa(FK8Qj*NP z-}hutDnpw?sSvoh^^OvReb{egwkGF{hx^_%6PsE|Z$Qn^)k=VU_aeK=%M12C*B5~@ zXI8}gQcsVOc^=D`ACn9A@}h;c&Za7?Y($p=R?QdS5|pZ8-!{+az2D!xjw1*Nt2IU> z5|77eCS8EiX4@D8MHL>$h>F+y%jG*7zOv#x4y87OVl~_H@`Gv!(9qO8RmS;giNm^A zN|2c~y_HMOJRdfm^?c*{66eYl31SvkJU>5JqSpN)2_Fxj#d9$oohu6TZQD$cu_~f< z>(ZOhV6iH*&N!<}nLZwe>h>HXd=+#HN;NNkefcn}%E#^9mRD#Nx-!nUho=Vs>$yo% zmG!+F zsWz!gy|J)qA?SX$8nLy z`ql_|xQI$?5!p<(y%#E@NJ-C_DXN92DhjJ`-}gci$jn%?bs`Z_3Tx8J1K@Sq#%4Xvu3UDO++Gz zl)Qvt2?AN7O;IxEDhO4@T3kjN=w@0`&6J==ST~?N;)?d5YE_z2Q%Y1tuXAj(HpWa; z22f?N%t)QZjK9*O4>6d+=E4#Go^qJRv*(*VUm%?vlie9l9v8JRV)0*_&O3<31 zXvj(|k2DbqphP7jipYW{AYc$Q7Ab-(6DuZ>bB?B3fU26Q79^Qfw5zudDcsb~NLF5< z2%tQ@u@Qkzl62qHgyIYpjqt85k=2n`<%Kbnkl~Isbo>Ia;f=V78l{l^JVm{do=+_kD+8o~Kd@tcccIWKfO5 z6m(Vhcpe89%Ce9dj4TL{c)9m;2FR*1(Oez~DPb-)&LO@L6xj%`_94C9GR-$2^q!@^VL&7ZK6AqNsvq z7F9-Bh3!?Z9c6*VA-c`MRd^Rfmwh8tmJeUv_tr$_=|V4-lvU=tm%ESUYStLBVWs<& zwAMEu_g&YDq|S-hJKhWQJa^25XH3N^td+Oc9&6n1Hy@{mY+LTwq*o=Y2$TRq%;VH% zSy{w+9NlEjS&nQK65Z@veg*}7+p0Pu)vX!O&0#x>$Csz}SD7Oo#B$vg^T&!#1Ovx- zNNKJKp=~<3FiVRt8IK#Wi zHY8>gP?j&bMa+t2)&+@qA=8GYSd;bn!L8{{x4Knj&T3ZHTb=I6+urNCj78E$f z?fn>k`nCTH|I_&&`OCj}{S)6j|E({zmTp8gu^tf;kyN$bqTr%3BVDxWUTs*qavVPW zzIDIb`3c&7x$m#%+uA6y>zb>GkgTkthiE>Ywpk)kBBmhH1I}nO&y>3biWmbpJeKE# z*1|$;`|cCZHH4zZwjfF}pAIdEnp3p4)zRO*JbrO*chjxKn6_;=Pah#Z`(|q_$>6nf zQ>xgEs5LfS)o((q814Qt*2sCVe4LZ7Z9U#{2<~1{B~gVgdaghLrE|_s^A#zSz4`Ny zrm^>YjvI<$W1=bqimx$=w!&3l4RiTMh{BW4iSY18Bp~O6Y9i38!E>%9#^n->N_X$A zl{9UUk%8!{RSOoed_A81{Wr6x$7piH`Vu&4_XVsqD_B*ehr`m}9_S{}Ks8?}WT9>^ zJyub(=4q|>u36Qke|+I|j4}77GjYFdg*?x-Rz>B$>59d~B0#0bgiki{MwXsp`_65S z`2J1a_X|PG`FjUr@f6S}QG@_A#?6!R&np zmfGfPjH+GrKzyEw*+f;kwE0+`W4Fz? z5=#0kMWGgj4kxqwRv$dBlz9lu>bMDirdS2QR~AGm7A$H zNq0e7ZqOXdGtq1gbjKPcz4gT5XZ+##RE4P6@B2D@d5-6CyWbzb{1nc1&#jeN8A}2x zx^-Kg))-!rYz>5%v_OQrTwKZUSSiXemszS>l>^WwRZzWP9>MhGc|H20#7s%dwYs!m ztW`o4L>Ag+4bnHAb0&*L4!q@8k3Zkc6WE(Aa2(u}QS}Xz-tT9PxDn%?$k*?~{c8+m%tqJK}3W*g&z4UEG zRGh*V?$Ql$>3u{Ba!H#6g^YljT+NCs?6;Pb$l02CE`?Pt70$>D00drtCZQUZ7kT<@ z#!JowP{9=rfV9l)!gWzPt5mgu7X@AmSrC?pg(sN-3Zkh*kVJT1_NS;o(Nr7B2q2~G z97EN@QJhSP2o)2Bm>3G80P9jfX=_;omE`nNF>5BmsMri5RVc(|$fBq~3FI6RpeY1p zlbabt1}Mey+rDq6WKpq}uQ`{ySB?s$ zWI<7Fqo4$!q9P-qROVNNVN?1#Q$ZnxxNxC`jF?XBU@`vUzBW3QHb)kH7ybV)gx6jB~TL;sM?ywSbCAh zGSIakRcTF0QedVtG85Y2QC-zUTGtJ-y>0`#Pt+RA*M|>1mfk;FZG0Z_&9~d_^+sY1 z=jnwi;sOk5p%Th+&%L)%b*^cx^{vtHvh}Q~EJD+*MZw}ZvgL$rJ>z_yF;?G@$0K}} zG-#DiKi~5CsK;m2>BlExvBJGp%*X-N$C#LF*ND#xFL&-8KwHUOO;0UZQz!Jf#)a|G zhGq#O62qsD85V2BSix4~Tttybid^Ah4 zKdQW#(~= zPb08EFD;?=d$$iS%*r4`K-8-xWD$bx+jlz~6ZJxistt8EV+kTf@D2={{OP-f&8#nf zYg-}=q)F3l54EVOM4`@g#{9Cz7o0JlBXUHMhM4pCkvAY!YKd3=nAhgS zjip_3`N*U;TyG|)#7TsdQC-c>&1W4rW&mnBg;=VQ+s`V_3$cW zg~tpbEyy}9`dg%es;~`EIv^!&LuPKJ?j)dkM?N+K`j%Yj-fvs2r*2)F7HjW&HC0>d zIH`yjO|(h@MTMA&!E1JXVgDR%1t8TUE^|s(hNX%%>R3yvWCk~@S=YDT9fFS7nCC2k z_WSEMw?btOv8}(mEsfjlm0}6uZgZ_F^rk7U#%!}r(y_O3rquES>7$*n=M$;_lcg`$j16$mX^EHvB9T11I$ zrlugxR4ihNDv+isj5*I$p_ElL>)}Z?Gl{Aam^5di6bwiTGf`bON=2qJqfk|%-Yzjb zN=lWWfPkp9rczWA?xtLoBHFqwcP;j&B0V!9Ff&lHmNIp-%E&b@8F(RHMRZLROK=~ zb<-rmS5(b88CRG&TW?f>)+LcurBK6{3QeV%P+Ai(DOnZlVk+C285BnWOq3}C38FHD z8kwqkW|mZ4&NQN`=EBP5u|z?=$U;Sxs4DkTmcY}g4F#cO0z}(-N_x1E^h`oYsRDpC zXJ)|{1+5XR!)IoZviw30R|aTmO%;MfhHSloBH0dI@>M7q8}EB?DA! zDiI(-nu>^+5nC%GfKYPVnjZsMG_0{yc-yUsbkhql#DX^Sc>y4kRobdsn`_WmEJPp$ zFaev=SCAD|Wu=M~h^jRM(-cKWK`51Z1(4LlHU-ccoG_sZRTLg3N-#1r>%uduSe7>h zS-ojwTuZRLn%)J0h)Pxp5blbLuBOUjIV0THT=TxQqT%v!S86GNYr*6d5h+y9ytKiO z<7AP5FJIv%mQ}c7U#i>XzlMS$rV#O1+6`H%xi{-7QfZ`stZRV;Mrk(%)g&?q#qbkr zJ=crbEImD>w;z9)t!o}D0%OH5e=+0qfJa`=x-yh#g~yncm2>)T0u(%7UvFy-m6EDC zM-^7p<*`3PwCPOxBkZ-Abk%D2?fK=gGGmrSU}45l=cA6dbv)+hw;0P~`QxqDTF)V& z`|YM|Yxee^YrjUxLwM;aoZ?_k8J;qQGsLbV6EQxJ1(Ng8h-XG`Ze%q>wx!Pt~GUp8U!(;jk zEn)MbSnqptM}$Wpry&mMVpi*%HPP<3MBMhfbS*$zYqt4u=A03Oi09)G9&&4IocG(E zt;L-DQeEHxn6>a+E3ey0q^IiDp31C>8Lqfe$ZXbp_^avbZF@Y=lC-U@NMK!$_#Be3Ng>KJap3)tD-V0 z0YQI$cL;pVoM*aJZBUCUD6%R?#i?kh8AL8t>9!el9$tidR5%ss;hB2h+RF>IQ&szh zTif5=Nt$)L@9AkxK@U;g-y7k88SmS^qc#B|RIHTg`SIONj0W6yG3ws5x(E;>%N@B9 zwclT{veI$sou&BMss+p{mjAF?;WaB`asbmW|hYRY|%Tg6z3@M5KT0Q+>zLmIek741f=(Qj^jA?+sl_9eyNtK zsJV<{W**sEH)|E;vG)D8_1>tNlAh!3tb!`eSz^smV-9UiHX~BO=a>a=n@OYG)W`6Q z`SvF4Qdt_dAtlpWx0fs~jUGr@-~VvD|HroV{KbFsKmIp=@x(v3%(@7oVtE8=di2(#;LC+DRT7?9myj4$C&D6S)5DA*7s7Znppj~3)3X%!ld-vtIn#oeujTgv> z@VTnE=2WDVnC-1^EJ~rqA~Ubgh%lj<6r_GFg~OC}#f&HvDWNn&l@c>bOqD8`gs8Gx6R`x9tP2N|C=>|cS3FKf zT~wGRs-nx6sHmBt(o_RUFqYf4Z8T3Wh~m0N$4}u5G&x zI8Al=>e>-$O)09Kk?vgAU%ij+P+ zn(VlkNx#sx{Ik-q-Ox@{IY2yDsnP;wK>21;Uc6rI!v0|rL17Bpb?r> zs{u4oQ5$37NTAt^HNA%x%zP{**ta!L#t;BqK%&3V);5o<%F~C4X7M6=#9CilL+6Z2 z0WfvlP)bMzB3bTP0UAqd1)nRU<81+g0(IYMjBz$2*5oGhIr}DL9>?S5{fCMX6V1%0 zpMEGPtwrX(Z!0RVPs&PN#my5%m4@6ZZOJcw9RHy|!GG!ZxBub){%^edPyG9j|MN(R ztlM@g@TlBt(J?X6TZhn(SxT`M7=8@d`u6c<9a-gKJ&sA09M2FnQGjNBo)5Eb(xN7S zSZlL}Ece-N_nd1p%?Xo!>mulg5Zo#&+whF#y7g>Lr+7|g;I`*Rh$G;Y+z`!Jh9;t2 zaxQjA66RuxlULiP=eP_~nt`D9B(N882dQ z=h0!CZi%YlFP+PMD&f_@z^d?!)uFl2rBvu~5pBv^+xE<_z8^czr`eY9b^6QwK7FjW zrEI8EMK)FeG-*I02e_HWz!9@qGuG+z<^3M9C=yXkEu;i#(AW?W-Q?>4Nd)A4Oh|28 zQy`6dHD_8-T4f^#nyRNuNdvnFwG5oI@D8RjgPS(6RmCi4+BlBdZ)C)gy_q)~>(jg_`4NnWCI4cHPc-wx%)jn|=E4_zXRX(o4Y*Ea8yd7x7)@DZ>^8zDKKdR3neo=GbJ*jt>dj~BQl)(c597u z2EreOcdsu#KRq6c_Ojoi>Up4$dZuqemc|8In%uLgK=4H*5#uXu@b1V`nvRneLp+t$;d9JNn zB)lA6*~y}i5uvJ{(YF?txhWDw04s7+k;^Y;Dk`zo`8-AB)`b-Xf|gZl)OMHQPRYJm zlxCC^)bz53W|eg?ZN#!90c#SgJW}K`DC7w?%AAu0H4QI{6hvZ@l9WI;q9_Pdd|d{Z z+M1J>-&hO+DJhmJ)?6jhtl_#&Mbcy~7okU5?~G|Ctjn2Tg{n(%K!^fr(zm9<^l3sB zEcXgWWzi)|1^u=YE+y@XMirXqzU`KRb_^6qP(0mUsF?M zN+fd?Ds58{fgqx^TUN31qK<}#0rAx~!-QMmQ=^NkAH`%chCaK)!=` zhtIsf>t=#lEyYx^Vy$_zX56LWrypNDB2X(bd^M#gOgNXb(b|?-8QHof@b2E3X<}Wq zH@!9&uN&Twd6?J@$56%N`Fwu57vmsh$})HvsOKId^9 zpWg~-y6q+_3m;zsI77AB9%5pO5|7MGI)F?mEE9b`-u7m2M5UCfSyhN#k+IQRqJrWS zg;0VBtTmY#8CTEAlK@m{Dju;`nA)~)nNejVf%FQh3DItLb!oJTp;jf6s^y-&vst;O z6rLw>e$m&LIw95MoXFblJHVpYwy(8>y7vZfYi*qqi7%f&#XKXtZ5#I{+HEIpd$t1b z?F*g*ZG%**VwIa{Q6tyPR4S?pg~V;!#_~0$6pqJpvwpkn5FTSBV!z*>GeP=V=qred z%xn|2EKwxq#lhe;1J_CiOss_r6L6x!Q8UsMH-kO;) zrN%tl%N-Z2KBfd5D4OTYOcl%(q-YAjGs;&orwB8!JOm7sm_suo<4kHB$568hFU@_s zpN~&#p`z$-GrjhMpk&h@ig-0Oev-~WRe)Z44= zVxk$ICv%SEXxeq(JhSFhKxs8{yT9LFUl`5T*|b)SC>LQdQkw|sib}@VZW|aWsaq$g zQAM2dtQ23ar4f-3>|Iz_owaS9&3L$%=dC4*7z7 zA>U(t#QLEA%J=~JDfXY}>$|$$^WAUY03o2DpWitA_XMGPrn30QX-1|cH8cIE4gp` zoTG2IO`1BY8q`g-Ve%Z;2D6i;qD}6`v5v#18r;Lg<_KzOuY!1BtPAoirw1yexYqPF zOQgukJkC|ZbDifL+BGttqq5A`<+R5{g%BAOB}ytYi?F%E*C{6Zb}x@hCuFv5FLy7f zY-YDx+b)&lI-{1;f!0+d0HeZ?Gzy!k?G{tQy&N~&GbK`_q&E|Y0$^W6-S6A&UTA8q zkQdlwYrVpQ;Z;e#|M>BGoVVMymRDmHY-`JFos&Tpgo@hy*8iFBJRpV{4P@cCB-hc0>|KNZ3*Z-OS*xx#r{`o)M ze&^TmH-29K_OIl3c6&HVCCYEsKC04d6;#DY(Of<%qtew7zyw4}u+jYK@fdHPzr1C} z-l0&Ix*u(O*|wXH)0an5Lm<`Fl$n`=+*{Yps8rG0ZDXaX5p~;c$YrWx^vnyyRFP)p zQ9uP_%o!OV*IZdbNg=IwgJlMaX0~@DiXfn4&Z%JL}4S1?I8&t-PKf2xY2ZG}^Gzi$-;qFF-~g(R-wb!Hfa zDxi7=SR%4-mYKD}qqeP6($iJ+-WwoFQPD*DN~QK&S7uh`Wd*NNVc(Ua0Hv5!xt6f9 zGLQ()2m!-$ov>5?i7@i=D|ZtHvv`4nQb?tEIklH)Wf5GSD_vEPRZNIFph^*8 zRxvYt#`JVTMXs847P5(%Dw8BdrSB4TrK%F32}qHmP^}38smMe`lHt`vD>C5#gjsN3e#})@ zL=h^Y1}U<&W}vY8CZ3Z*6UijA0N(b#HK7+$`ev&lf|1^7wzru+vpljlYtlN&5SW@u z0a6*h6e7aP+)b%+mF3lJWu_-G*r3wSv0b^wZ($osGS!1S} zun-Xu2|+rUlHrNUNMD1Z6t&hURG|nWmnuvkL@aOGgapv{w%q&Hn_X=RY~4gkm{oNd zqaoLy1-+Y?6hr_M3Z>*a#pQ1M1#!P3`sX+sT0}MJ%Bt%M)EYoaibINkZoLtBYe}Db zw?cnF57HGK}}^g66FlQBFXqBo8wIq@2Evl61YplwWbv!QyHPdzx zehBtvu|ieT>v>FGck-E4nOQT37^$Yx{ajT{X93Oh);VL6Y~8ZBx4nz4M2p%5pB69+ zPxlfv zQ6Z3)zH)ign#(Jz1i`9i#>R|d=Vs!Sk(i^<_uJ1*@RRrWop1S@ANi9zfBU`u=FjxE zf3yAMC;Dq2+sBXj>p$VQ@8#o1`S4CYytdbOvJu-myS>(jSN!xt>uk#H$2a`F?|s{d zsHhC_F%T8wcue;$4b+I3RJSH3O*sJ5#*6po*luRpq_o|3Y0644b!+|Qmbr4yc^vcc z40lnIhvlIPL?gHYttlMqjIHa+70HNkYn!PM zmf{yGTLq8?fttWmn|19>sK~xqF(e`Zp%4IDt(064`ttF3!pAtDeY=U-nuiBu+tTOr z@tDUM;VC5ZJkD_(+osdsF2||+=(uj?00Buj{BZRiF$z4!tn&0?kVIuImk+%kHzhC%{B72n<7Nh+^sc|m|`l2YRJ zvbWa{_nX+h-=;6yC8Zv3;iI09GpHhRZx@BXa79gw&Fq}Bq6A-)#S|9H%x0_-%}9bG z35aK^=^RU>M6}ChCfYS)nRQkC5&NYb~FvBF{PFkIK6l(S&MTVy|2Vbm3V%1C4tw36Wgk#dUi_Oj*js)z_yiC7Vp zg{H$_( zG8{k_3Q1|&cdM-M6qRHFl9@D7Ys}hjJtEzcl*~*oxyV76gRZJ|6TwQ~npWj>4_}ht z#h9^{6)I%Ggruk{ON^SHs$IZFsF-Iu(%psG)XY?kFZVr>U=i6wP2~EYUUKLtM@1r! z|1VAd5^7zy=J#R$=Q75abFKZp-|d__byt;2S4*-?5<^Uc2_!b@BoJ`JPBX1^41sh4 zaUczcq+yVa8-@_473`3XgAGcAl#7M2VuTb)p%mS!PSw#lRpgwfFeA@zWMmph*z4D2o=0u_H83o(c4X*r&|J)(@heIRIbr^ z2xn3kt|DqW=QQ_7iZa=BW%yxH6a-~BGOGta*=A=AwuaT8AbPZ zpE0*w6GYp7^EKCTR+0sL5fQEPfxX=Tb0mdir0A-JLRJxF2SmjpEg?mfHdM6n3h(>4 zkHM@|)OAEfxL4xwoNGCYPP5Di_igW)uF4isKzP3F`{;e!8d34Zr@U==dSN==$?dkS^Hr%WGb*91+kTVQon@Yr7zBEK`}lag zj?w!z&bOyj<#CGg!{0_1K~zleXbr`8mPl@;3I6H}b}m$M<1PvbQe{F;cS=%iLyvh7w|*bv z{>}jaaly%v%cd`zKG!kZ_5#Z9eZb!Qc-j-t9Z*3b88A?RTUlNU6`&7rp~xPO-uvyV z_p6YgayuUn`cz?xHU=wstZSL(m2!U(QlE3Jv%<9+N?U6Rq!kq!fe96~YtNK0bI+>K z*5b5C0yL2hv_=p!J5XG(@XC*mtK+E`r26fRGFKWi+w)1nYo1X7CZd|li76^c89fM2 z6ALu5Kyn-SS=FB@{CL!V^zZ+C{ql=^UNIL1%4(g^M5NnujlGYt**Vj#DkI?LL`BjF zXrkIWL(>AWDoMIZZ`^xEDG`%W);yLnoo~;KT5oTemJBNJwvX*L-uJ@hQGk?QmAgO{ zaZU$O9p|&iBi)NX8jzx_dXWNF#Y%sg&lTrlH^2H7iCWIwAac9Eh?26FCmA@)9!I)~ zubOABVlHh$7*S3gHtVD1ha-=ZzB%NlAL8R%zCPoz?6AtBSb3cJoEB16TC|mwXSZq} z-_Xc^{nzk2KYV=uC;CerKQ|}lO;|}NwTXgc`r0-rmLg9CGs26(J`bkG8lajh=i{&l zvmkJh`0=ca^?cTJ0DZp~vW?yB%EdKm#4Xo1A6ck@1b*9g1BjSAtM+t93D|p+N-DxU z4`Ly0&+|ME6DW|aZ?DIjQiH&QTW{K%2<18(H-KgYDz5`>6lI1bA<<9{_JDxLmLT$5)GP_Z8Z0jT1%#FY@&MGUX(h(3UVq!AxjLXj0ysZ zD*;c8)-7^0jS8!TvMrhp5T~H2Fr)WYsN4O;(`$N|U)9wWAq`SDM``Pt9bxk8*8%k2iHpr8{tOghQA z;^#k?o?ra)zchaOv;W<{{-6E(|Ka)1{b~Kquf}Izob|;2T&1Lhnd14r zW#8nnEKti+8VR)-D};)rQif;~nI8>)9e;fpRhOt@X7VK1)`fejR4mI_0G20n67kBU zfSao_qbk8dSzG{v%)Ci!SH8*}#6omMB_q8G?jB(bt^lAS6lUp8m8!+8O#JDXPc*}` zqOyP>ZA}oP!v>BJdd+A6|j`I#t|M-O&9_$3e;%I29xTEH z&Ri?{*4&qHGf!e<1p%HG$@|L|EB5gzITuJ|Mi3b39`3z&zqDdiqv>hWmiN&k{Wubt z(uyHjHChkL(RD3j;zAM$5&Pr33j0L4_kJ4Al>tXyloV-=qcSp-iIO7Ggwv<%h;#xG z^L~MKRm!WJh?o*e<;Y43pf#@Pn|5mHR?^ubn5jVs%R{?pZ!$U^r|&92a+ZjeYt?$X zYonKUf?_W6g~RgRno?zw2uJ2JURCcZw|zICS@E*>XPBrY69Z{=YX#Il`<=JXyp3DW zS8t!`Tmj+t_gjH{t@diA!LQ}Do+?fTX$cUvv18Tor1h-i84{63cn38=bQ@(r%cEza{c&Kf2#t6 zn>%ImiaaCYSx;e>N^ZKAE9kcGO!D@4-6%_0h`8zcc=}@Iw4i!SAb$1Rtza3^QAB)W za^kMu}R&qx#tHz1e$Hk2yQH+#9?tMHs>ADuEhY*D%gZTTpg!0p}`QeXrV z^7+X2LZwW^!YU-0!IhO(g(`5BgPOMDYP#3)NI!s!`C{F*0d_PsODMIWQ^tBh)bm+m^p2^t$yn{6O`OHV8K>UZMVT$>;~AH zvj8F}G%AB~g)L$>6BYpF86c0Eh}#8_{*+;8Te;V9#i$5E(r6u}ts!G*Wn78OZQs{% zwy~#MAw{#m$MoJ)T7npWD=T{ClyDRL{HX7|!@s!Y|LQ--zxFr(asLy4?)bak%b_r~ z$172nM$aSqq>4|Cx9hQQw1F~Cs{vH{avo4^Wk#(vQbYu@BKg|WD&6kyDbur*Y617{ zi-;r0{9JQBh+Y~>nG!*!msCp`=GnS5k@;Logv@;i8%Q{70pL8*KoZ(i?p-*7vZ*dN zWo`TBGkr}*k#wjiC_FQQTJZLc>op?lmhLMbDbSq{Mcv-hi%Q-}oNXpIzBNx`={ir7 z7D^*lXoGGUo?Lp(&^2qFNTu(d>#zN7^ltHvGP;mz<+#wF3c5hs#$)Oyp_sWn3^9P2nQza2aw z7Pv@1YL#5|M?1p^%ielxQiWnEbLAdc(wn7y>R)c7h|R;z1=!l=6`2)tO7AyaoIK$J zjSx&!%n7VxZd*U>D9g8>eEst6&x`UiOhnw$vrtsPt@EaQAIm^WEOeX)S5-O-FN^)Q<#GbGral)z z(gQH_5S3ke*a86zFn@S^y9K0)ho=QmdgcB8?sz+Ftw`&A58emK%e$K$6Cz=T@?630 zt?>5EH#u|s`j_v1>ldZZAN|$8`M>^OJbwQbfBw(JSNmwChxvc{_mg_wSZ9dPBFCxq zdCI}x!i*iN}90(o~WU!DvU~}0*O{-;S