From 7925d1cda3e6fd40134c16b34bc3cb796a75df17 Mon Sep 17 00:00:00 2001 From: Melledy <52122272+Melledy@users.noreply.github.com> Date: Sun, 17 Apr 2022 05:43:07 -0700 Subject: [PATCH] Initial commit --- .gitignore | 54 + LICENSE | 201 +++ README.md | 49 + build.gradle | 63 + data/Banners.json | 64 + data/query_cur_region.txt | 1 + data/query_region_list.txt | 1 + gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 55616 bytes gradle/wrapper/gradle-wrapper.properties | 5 + gradlew | 188 +++ gradlew.bat | 100 ++ keys/dispatchKey.bin | Bin 0 -> 4096 bytes keys/dispatchSeed.bin | Bin 0 -> 2076 bytes keys/secretKey.bin | Bin 0 -> 4096 bytes keys/secretKeyBuffer.bin | 1 + keystore.p12 | Bin 0 -> 2389 bytes lib/fastutil-mini-8.5.6.jar | Bin 0 -> 2086440 bytes lib/kcp-netty.jar | Bin 0 -> 171697 bytes settings.gradle | 10 + src/main/java/emu/grasscutter/Config.java | 45 + .../emu/grasscutter/GenshinConstants.java | 37 + .../java/emu/grasscutter/Grasscutter.java | 127 ++ .../emu/grasscutter/commands/Command.java | 13 + .../grasscutter/commands/PlayerCommands.java | 307 +++++ .../grasscutter/commands/ServerCommands.java | 140 ++ .../emu/grasscutter/data/GenshinData.java | 212 +++ .../emu/grasscutter/data/GenshinDepot.java | 49 + .../emu/grasscutter/data/GenshinResource.java | 12 + .../emu/grasscutter/data/ResourceLoader.java | 281 ++++ .../emu/grasscutter/data/ResourceType.java | 32 + .../grasscutter/data/common/CurveInfo.java | 17 + .../data/common/FightPropData.java | 25 + .../data/common/ItemParamData.java | 14 + .../data/common/PropGrowCurve.java | 13 + .../data/custom/AbilityEmbryoEntry.java | 23 + .../data/custom/OpenConfigEntry.java | 29 + .../data/def/AvatarCostumeData.java | 30 + .../grasscutter/data/def/AvatarCurveData.java | 36 + .../emu/grasscutter/data/def/AvatarData.java | 246 ++++ .../data/def/AvatarFlycloakData.java | 24 + .../grasscutter/data/def/AvatarLevelData.java | 23 + .../data/def/AvatarPromoteData.java | 74 + .../grasscutter/data/def/AvatarSkillData.java | 84 ++ .../data/def/AvatarSkillDepotData.java | 123 ++ .../data/def/AvatarTalentData.java | 69 + .../grasscutter/data/def/EquipAffixData.java | 59 + .../emu/grasscutter/data/def/GadgetData.java | 60 + .../emu/grasscutter/data/def/ItemData.java | 253 ++++ .../data/def/MonsterCurveData.java | 32 + .../emu/grasscutter/data/def/MonsterData.java | 198 +++ .../data/def/MonsterDescribeData.java | 40 + .../emu/grasscutter/data/def/NpcData.java | 72 + .../grasscutter/data/def/PlayerLevelData.java | 33 + .../grasscutter/data/def/ProudSkillData.java | 101 ++ .../data/def/ReliquaryAffixData.java | 48 + .../data/def/ReliquaryLevelData.java | 67 + .../data/def/ReliquaryMainPropData.java | 37 + .../data/def/ReliquarySetData.java | 39 + .../grasscutter/data/def/WeaponCurveData.java | 32 + .../grasscutter/data/def/WeaponLevelData.java | 23 + .../data/def/WeaponPromoteData.java | 74 + .../grasscutter/database/DatabaseCounter.java | 23 + .../grasscutter/database/DatabaseHelper.java | 207 +++ .../grasscutter/database/DatabaseManager.java | 95 ++ .../java/emu/grasscutter/game/Account.java | 98 ++ .../emu/grasscutter/game/CoopRequest.java | 29 + .../emu/grasscutter/game/GenshinPlayer.java | 759 +++++++++++ .../emu/grasscutter/game/InvokeHandler.java | 66 + .../java/emu/grasscutter/game/TeamInfo.java | 73 + .../emu/grasscutter/game/TeamManager.java | 484 +++++++ src/main/java/emu/grasscutter/game/World.java | 434 ++++++ .../game/avatar/AvatarProfileData.java | 23 + .../grasscutter/game/avatar/AvatarStat.java | 124 ++ .../game/avatar/AvatarStorage.java | 174 +++ .../game/avatar/GenshinAvatar.java | 695 ++++++++++ .../game/dungeons/DungeonManager.java | 15 + .../grasscutter/game/entity/EntityAvatar.java | 239 ++++ .../game/entity/EntityClientGadget.java | 147 ++ .../grasscutter/game/entity/EntityGadget.java | 17 + .../grasscutter/game/entity/EntityItem.java | 118 ++ .../game/entity/EntityMonster.java | 219 +++ .../game/entity/GenshinEntity.java | 102 ++ .../grasscutter/game/friends/FriendsList.java | 262 ++++ .../grasscutter/game/friends/Friendship.java | 108 ++ .../game/friends/PlayerProfile.java | 99 ++ .../grasscutter/game/gacha/GachaBanner.java | 150 ++ .../grasscutter/game/gacha/GachaManager.java | 287 ++++ .../game/gacha/PlayerGachaBannerInfo.java | 43 + .../game/gacha/PlayerGachaInfo.java | 37 + .../game/inventory/EquipInventoryTab.java | 39 + .../grasscutter/game/inventory/EquipType.java | 45 + .../game/inventory/GenshinItem.java | 430 ++++++ .../grasscutter/game/inventory/Inventory.java | 353 +++++ .../game/inventory/InventoryTab.java | 13 + .../grasscutter/game/inventory/ItemDef.java | 27 + .../game/inventory/ItemQuality.java | 45 + .../grasscutter/game/inventory/ItemType.java | 45 + .../game/inventory/MaterialInventoryTab.java | 39 + .../game/inventory/MaterialType.java | 67 + .../game/managers/AccountManager.java | 15 + .../game/managers/ChatManager.java | 82 ++ .../game/managers/InventoryManager.java | 897 ++++++++++++ .../game/managers/MultiplayerManager.java | 153 +++ .../grasscutter/game/props/ActionReason.java | 211 +++ .../grasscutter/game/props/ClimateType.java | 45 + .../grasscutter/game/props/ElementType.java | 76 ++ .../grasscutter/game/props/EnterReason.java | 70 + .../grasscutter/game/props/EntityIdType.java | 21 + .../grasscutter/game/props/FightProperty.java | 136 ++ .../emu/grasscutter/game/props/GrowCurve.java | 100 ++ .../emu/grasscutter/game/props/LifeState.java | 42 + .../emu/grasscutter/game/props/OpenState.java | 204 +++ .../game/props/PlayerProperty.java | 70 + .../emu/grasscutter/game/shop/ShopInfo.java | 5 + .../grasscutter/game/shop/ShopManager.java | 15 + .../grasscutter/net/packet/GenshinPacket.java | 141 ++ .../emu/grasscutter/net/packet/Opcodes.java | 13 + .../grasscutter/net/packet/PacketHandler.java | 9 + .../grasscutter/net/packet/PacketOpcodes.java | 1211 +++++++++++++++++ .../net/packet/PacketOpcodesUtil.java | 44 + .../grasscutter/net/packet/PacketWriter.java | 177 +++ .../emu/grasscutter/net/packet/Retcode.java | 6 + .../grasscutter/netty/MihoyoKcpChannel.java | 89 ++ .../netty/MihoyoKcpHandshaker.java | 85 ++ .../grasscutter/netty/MihoyoKcpServer.java | 94 ++ .../netty/MihoyoKcpServerInitializer.java | 15 + .../dispatch/DispatchHttpJsonHandler.java | 28 + .../server/dispatch/DispatchServer.java | 467 +++++++ .../dispatch/json/ComboTokenReqJson.java | 15 + .../dispatch/json/ComboTokenResJson.java | 17 + .../json/LoginAccountRequestJson.java | 7 + .../server/dispatch/json/LoginResultJson.java | 38 + .../dispatch/json/LoginTokenRequestJson.java | 6 + .../grasscutter/server/game/GameServer.java | 160 +++ .../server/game/GameServerInitializer.java | 20 + .../server/game/GameServerPacketHandler.java | 94 ++ .../grasscutter/server/game/GameSession.java | 250 ++++ .../server/packet/recv/Handler.java | 16 + .../recv/HandlerAbilityInvocationsNotify.java | 27 + .../packet/recv/HandlerAskAddFriendReq.java | 19 + .../recv/HandlerAvatarChangeCostumeReq.java | 26 + .../recv/HandlerAvatarDieAnimationEndReq.java | 19 + .../packet/recv/HandlerAvatarPromoteReq.java | 20 + .../recv/HandlerAvatarSkillUpgradeReq.java | 20 + .../packet/recv/HandlerAvatarUpgradeReq.java | 25 + .../recv/HandlerAvatarWearFlycloakReq.java | 24 + ...andlerCalcWeaponUpgradeReturnItemsReq.java | 34 + .../packet/recv/HandlerChangeAvatarReq.java | 19 + .../packet/recv/HandlerChangeGameTimeReq.java | 21 + .../recv/HandlerChangeMpTeamAvatarReq.java | 19 + .../packet/recv/HandlerChangeTeamNameReq.java | 19 + .../recv/HandlerChooseCurAvatarTeamReq.java | 19 + .../recv/HandlerCombatInvocationsNotify.java | 51 + .../packet/recv/HandlerDealAddFriendReq.java | 19 + .../packet/recv/HandlerDeleteFriendReq.java | 19 + .../recv/HandlerDestroyMaterialReq.java | 18 + .../server/packet/recv/HandlerDoGachaReq.java | 17 + .../recv/HandlerDungeonEntryInfoReq.java | 16 + .../packet/recv/HandlerEnterSceneDoneReq.java | 38 + .../recv/HandlerEnterSceneReadyReq.java | 19 + .../packet/recv/HandlerEnterWorldAreaReq.java | 23 + .../recv/HandlerEntityAiSyncNotify.java | 22 + ...andlerEvtAiSyncCombatThreatInfoNotify.java | 16 + .../recv/HandlerEvtAiSyncSkillCdNotify.java | 16 + .../recv/HandlerEvtCreateGadgetNotify.java | 27 + .../recv/HandlerEvtDestroyGadgetNotify.java | 24 + .../packet/recv/HandlerGadgetInteractReq.java | 19 + .../recv/HandlerGetActivityInfoReq.java | 15 + .../recv/HandlerGetAllH5ActivityInfoReq.java | 17 + .../recv/HandlerGetAllUnlockNameCardReq.java | 17 + .../packet/recv/HandlerGetAuthkeyReq.java | 17 + .../packet/recv/HandlerGetGachaInfoReq.java | 17 + .../recv/HandlerGetPlayerBlacklistReq.java | 17 + .../recv/HandlerGetPlayerFriendListReq.java | 16 + .../recv/HandlerGetPlayerSocialDetailReq.java | 26 + .../packet/recv/HandlerGetPlayerTokenReq.java | 56 + .../recv/HandlerGetRegionSearchReq.java | 16 + .../packet/recv/HandlerGetSceneAreaReq.java | 20 + .../packet/recv/HandlerGetScenePointReq.java | 20 + .../server/packet/recv/HandlerGetShopReq.java | 19 + .../recv/HandlerGetShopmallDataReq.java | 18 + .../packet/recv/HandlerGetWidgetSlotReq.java | 16 + .../packet/recv/HandlerGetWorldMpInfoReq.java | 17 + .../server/packet/recv/HandlerMarkMapReq.java | 32 + .../HandlerMonsterAIConfigHashNotify.java | 16 + .../recv/HandlerObstacleModifyNotify.java | 16 + .../recv/HandlerPathfindingEnterSceneReq.java | 19 + .../server/packet/recv/HandlerPingReq.java | 24 + .../recv/HandlerPlayerApplyEnterMpReq.java | 21 + .../HandlerPlayerApplyEnterMpResultReq.java | 21 + .../packet/recv/HandlerPlayerChatReq.java | 28 + .../recv/HandlerPlayerForceExitReq.java | 14 + .../HandlerPlayerGetForceQuitBanInfoReq.java | 24 + .../packet/recv/HandlerPlayerLoginReq.java | 52 + .../packet/recv/HandlerPlayerSetPauseReq.java | 23 + .../packet/recv/HandlerPostEnterSceneReq.java | 17 + .../packet/recv/HandlerPrivateChatReq.java | 26 + .../recv/HandlerPullPrivateChatReq.java | 20 + .../packet/recv/HandlerPullRecentChatReq.java | 15 + .../packet/recv/HandlerQueryPathReq.java | 16 + .../recv/HandlerReliquaryUpgradeReq.java | 19 + .../recv/HandlerSceneInitFinishReq.java | 51 + .../recv/HandlerSceneKickPlayerReq.java | 26 + .../HandlerSetEntityClientDataNotify.java | 16 + .../recv/HandlerSetEquipLockStateReq.java | 19 + .../packet/recv/HandlerSetNameCardReq.java | 17 + .../recv/HandlerSetPlayerBornDataReq.java | 78 ++ .../recv/HandlerSetPlayerHeadImageReq.java | 23 + .../packet/recv/HandlerSetPlayerNameReq.java | 24 + .../recv/HandlerSetPlayerSignatureReq.java | 24 + .../recv/HandlerSetUpAvatarTeamReq.java | 19 + .../packet/recv/HandlerTakeoffEquipReq.java | 22 + .../packet/recv/HandlerTowerAllDataReq.java | 17 + .../packet/recv/HandlerUnionCmdNotify.java | 19 + .../recv/HandlerUnlockAvatarTalentReq.java | 20 + .../server/packet/recv/HandlerUseItemReq.java | 26 + .../packet/recv/HandlerWeaponAwakenReq.java | 20 + .../packet/recv/HandlerWeaponPromoteReq.java | 20 + .../packet/recv/HandlerWeaponUpgradeReq.java | 25 + .../packet/recv/HandlerWearEquipReq.java | 22 + .../recv/HandlerWorldPlayerReviveReq.java | 16 + .../server/packet/send/Packet.java | 12 + .../send/PacketAbilityChangeNotify.java | 20 + .../send/PacketAbilityInvocationsNotify.java | 32 + .../packet/send/PacketAskAddFriendNotify.java | 20 + .../packet/send/PacketAskAddFriendRsp.java | 18 + .../packet/send/PacketAvatarAddNotify.java | 20 + .../send/PacketAvatarChangeCostumeNotify.java | 19 + .../send/PacketAvatarChangeCostumeRsp.java | 29 + .../packet/send/PacketAvatarDataNotify.java | 44 + .../send/PacketAvatarDieAnimationEndRsp.java | 19 + .../send/PacketAvatarEquipChangeNotify.java | 39 + .../send/PacketAvatarFightPropNotify.java | 20 + .../PacketAvatarFightPropUpdateNotify.java | 21 + .../PacketAvatarFlycloakChangeNotify.java | 20 + .../send/PacketAvatarGainCostumeNotify.java | 18 + .../send/PacketAvatarGainFlycloakNotify.java | 18 + .../PacketAvatarLifeStateChangeNotify.java | 22 + .../packet/send/PacketAvatarPromoteRsp.java | 19 + .../packet/send/PacketAvatarPropNotify.java | 35 + .../send/PacketAvatarSkillChangeNotify.java | 24 + .../send/PacketAvatarSkillUpgradeRsp.java | 22 + .../send/PacketAvatarTeamUpdateNotify.java | 35 + .../send/PacketAvatarUnlockTalentNotify.java | 22 + .../packet/send/PacketAvatarUpgradeRsp.java | 27 + .../send/PacketAvatarWearFlycloakRsp.java | 28 + ...PacketCalcWeaponUpgradeReturnItemsRsp.java | 33 + .../packet/send/PacketChangeAvatarRsp.java | 19 + .../packet/send/PacketChangeGameTimeRsp.java | 19 + .../send/PacketChangeMpTeamAvatarRsp.java | 23 + .../packet/send/PacketChangeTeamNameRsp.java | 19 + .../send/PacketChooseCurAvatarTeamRsp.java | 18 + .../send/PacketCombatInvocationsNotify.java | 32 + .../packet/send/PacketDealAddFriendRsp.java | 20 + .../send/PacketDelTeamEntityNotify.java | 32 + .../packet/send/PacketDeleteFriendNotify.java | 18 + .../packet/send/PacketDeleteFriendRsp.java | 18 + .../packet/send/PacketDestroyMaterialRsp.java | 23 + .../server/packet/send/PacketDoGachaRsp.java | 41 + .../packet/send/PacketEnterSceneDoneRsp.java | 19 + .../send/PacketEnterScenePeerNotify.java | 22 + .../packet/send/PacketEnterSceneReadyRsp.java | 19 + .../packet/send/PacketEnterWorldAreaRsp.java | 20 + .../packet/send/PacketEntityAiSyncNotify.java | 21 + .../PacketEntityFightPropUpdateNotify.java | 21 + .../packet/send/PacketGadgetInteractRsp.java | 31 + .../packet/send/PacketGetActivityInfoRsp.java | 15 + .../send/PacketGetAllUnlockNameCardRsp.java | 19 + .../packet/send/PacketGetAuthkeyRsp.java | 16 + .../packet/send/PacketGetGachaInfoRsp.java | 14 + .../send/PacketGetPlayerAskFriendListRsp.java | 25 + .../send/PacketGetPlayerFriendListRsp.java | 48 + .../send/PacketGetPlayerSocialDetailRsp.java | 23 + .../packet/send/PacketGetPlayerTokenRsp.java | 35 + .../packet/send/PacketGetSceneAreaRsp.java | 28 + .../packet/send/PacketGetScenePointRsp.java | 25 + .../server/packet/send/PacketGetShopRsp.java | 19 + .../packet/send/PacketGetShopmallDataRsp.java | 16 + .../packet/send/PacketGetWorldMpInfoRsp.java | 19 + .../send/PacketH5ActivityIdsNotify.java | 17 + .../packet/send/PacketHostPlayerNotify.java | 20 + .../packet/send/PacketItemAddHintNotify.java | 36 + .../send/PacketLifeStateChangeNotify.java | 32 + .../send/PacketOpenStateUpdateNotify.java | 23 + .../send/PacketPathfindingEnterSceneRsp.java | 13 + .../server/packet/send/PacketPingRsp.java | 18 + .../send/PacketPlayerApplyEnterMpNotify.java | 19 + .../PacketPlayerApplyEnterMpResultNotify.java | 36 + .../PacketPlayerApplyEnterMpResultRsp.java | 19 + .../send/PacketPlayerApplyEnterMpRsp.java | 18 + .../packet/send/PacketPlayerChatNotify.java | 62 + .../packet/send/PacketPlayerChatRsp.java | 16 + .../packet/send/PacketPlayerDataNotify.java | 26 + .../PacketPlayerEnterSceneInfoNotify.java | 56 + .../send/PacketPlayerEnterSceneNotify.java | 74 + .../send/PacketPlayerGameTimeNotify.java | 21 + .../PacketPlayerGetForceQuitBanInfoRsp.java | 18 + .../packet/send/PacketPlayerLoginRsp.java | 38 + .../packet/send/PacketPlayerPropNotify.java | 23 + .../packet/send/PacketPlayerSetPauseRsp.java | 13 + .../packet/send/PacketPlayerStoreNotify.java | 30 + .../packet/send/PacketPlayerTimeNotify.java | 21 + .../packet/send/PacketPostEnterSceneRsp.java | 19 + .../packet/send/PacketPrivateChatNotify.java | 42 + .../send/PacketProudSkillChangeNotify.java | 22 + .../PacketProudSkillExtraLevelNotify.java | 22 + .../packet/send/PacketPullPrivateChatRsp.java | 16 + .../packet/send/PacketPullRecentChatRsp.java | 44 + .../send/PacketReliquaryUpgradeRsp.java | 26 + .../send/PacketSceneAreaWeatherNotify.java | 21 + .../send/PacketSceneEntityAppearNotify.java | 49 + .../PacketSceneEntityDisappearNotify.java | 21 + .../send/PacketSceneEntityMoveNotify.java | 22 + .../packet/send/PacketSceneInitFinishRsp.java | 17 + .../packet/send/PacketSceneKickPlayerRsp.java | 28 + .../send/PacketScenePlayerInfoNotify.java | 33 + .../send/PacketScenePlayerLocationNotify.java | 22 + .../send/PacketSceneTeamUpdateNotify.java | 46 + .../packet/send/PacketSceneTimeNotify.java | 20 + .../packet/send/PacketServerTimeNotify.java | 18 + .../send/PacketSetEquipLockStateRsp.java | 22 + .../packet/send/PacketSetNameCardRsp.java | 18 + .../send/PacketSetPlayerHeadImageRsp.java | 20 + .../packet/send/PacketSetPlayerNameRsp.java | 19 + .../send/PacketSetPlayerSignatureRsp.java | 19 + .../packet/send/PacketSetUpAvatarTeamRsp.java | 24 + .../send/PacketStoreItemChangeNotify.java | 37 + .../packet/send/PacketStoreItemDelNotify.java | 37 + .../send/PacketStoreWeightLimitNotify.java | 25 + .../PacketSyncScenePlayTeamEntityNotify.java | 19 + .../send/PacketSyncTeamEntityNotify.java | 38 + .../packet/send/PacketTakeoffEquipRsp.java | 19 + .../packet/send/PacketTowerAllDataRsp.java | 28 + .../send/PacketUnlockAvatarTalentRsp.java | 20 + .../send/PacketUnlockNameCardNotify.java | 18 + .../server/packet/send/PacketUseItemRsp.java | 29 + .../packet/send/PacketWeaponAwakenRsp.java | 29 + .../packet/send/PacketWeaponPromoteRsp.java | 21 + .../packet/send/PacketWeaponUpgradeRsp.java | 25 + .../packet/send/PacketWearEquipRsp.java | 19 + .../packet/send/PacketWorldDataNotify.java | 24 + .../send/PacketWorldPlayerDieNotify.java | 20 + .../send/PacketWorldPlayerInfoNotify.java | 25 + .../send/PacketWorldPlayerLocationNotify.java | 22 + .../send/PacketWorldPlayerRTTNotify.java | 27 + .../java/emu/grasscutter/tools/Dumpers.java | 35 + .../java/emu/grasscutter/tools/Tools.java | 77 ++ .../java/emu/grasscutter/utils/Crypto.java | 59 + .../java/emu/grasscutter/utils/FileUtils.java | 48 + .../java/emu/grasscutter/utils/Position.java | 156 +++ .../emu/grasscutter/utils/ProtoHelper.java | 10 + .../java/emu/grasscutter/utils/Utils.java | 79 ++ .../emu/grasscutter/utils/WeightedList.java | 30 + src/main/java/logback.xml | 11 + 354 files changed, 20869 insertions(+) create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 README.md create mode 100644 build.gradle create mode 100644 data/Banners.json create mode 100644 data/query_cur_region.txt create mode 100644 data/query_region_list.txt create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100644 gradlew create mode 100644 gradlew.bat create mode 100644 keys/dispatchKey.bin create mode 100644 keys/dispatchSeed.bin create mode 100644 keys/secretKey.bin create mode 100644 keys/secretKeyBuffer.bin create mode 100644 keystore.p12 create mode 100644 lib/fastutil-mini-8.5.6.jar create mode 100644 lib/kcp-netty.jar create mode 100644 settings.gradle create mode 100644 src/main/java/emu/grasscutter/Config.java create mode 100644 src/main/java/emu/grasscutter/GenshinConstants.java create mode 100644 src/main/java/emu/grasscutter/Grasscutter.java create mode 100644 src/main/java/emu/grasscutter/commands/Command.java create mode 100644 src/main/java/emu/grasscutter/commands/PlayerCommands.java create mode 100644 src/main/java/emu/grasscutter/commands/ServerCommands.java create mode 100644 src/main/java/emu/grasscutter/data/GenshinData.java create mode 100644 src/main/java/emu/grasscutter/data/GenshinDepot.java create mode 100644 src/main/java/emu/grasscutter/data/GenshinResource.java create mode 100644 src/main/java/emu/grasscutter/data/ResourceLoader.java create mode 100644 src/main/java/emu/grasscutter/data/ResourceType.java create mode 100644 src/main/java/emu/grasscutter/data/common/CurveInfo.java create mode 100644 src/main/java/emu/grasscutter/data/common/FightPropData.java create mode 100644 src/main/java/emu/grasscutter/data/common/ItemParamData.java create mode 100644 src/main/java/emu/grasscutter/data/common/PropGrowCurve.java create mode 100644 src/main/java/emu/grasscutter/data/custom/AbilityEmbryoEntry.java create mode 100644 src/main/java/emu/grasscutter/data/custom/OpenConfigEntry.java create mode 100644 src/main/java/emu/grasscutter/data/def/AvatarCostumeData.java create mode 100644 src/main/java/emu/grasscutter/data/def/AvatarCurveData.java create mode 100644 src/main/java/emu/grasscutter/data/def/AvatarData.java create mode 100644 src/main/java/emu/grasscutter/data/def/AvatarFlycloakData.java create mode 100644 src/main/java/emu/grasscutter/data/def/AvatarLevelData.java create mode 100644 src/main/java/emu/grasscutter/data/def/AvatarPromoteData.java create mode 100644 src/main/java/emu/grasscutter/data/def/AvatarSkillData.java create mode 100644 src/main/java/emu/grasscutter/data/def/AvatarSkillDepotData.java create mode 100644 src/main/java/emu/grasscutter/data/def/AvatarTalentData.java create mode 100644 src/main/java/emu/grasscutter/data/def/EquipAffixData.java create mode 100644 src/main/java/emu/grasscutter/data/def/GadgetData.java create mode 100644 src/main/java/emu/grasscutter/data/def/ItemData.java create mode 100644 src/main/java/emu/grasscutter/data/def/MonsterCurveData.java create mode 100644 src/main/java/emu/grasscutter/data/def/MonsterData.java create mode 100644 src/main/java/emu/grasscutter/data/def/MonsterDescribeData.java create mode 100644 src/main/java/emu/grasscutter/data/def/NpcData.java create mode 100644 src/main/java/emu/grasscutter/data/def/PlayerLevelData.java create mode 100644 src/main/java/emu/grasscutter/data/def/ProudSkillData.java create mode 100644 src/main/java/emu/grasscutter/data/def/ReliquaryAffixData.java create mode 100644 src/main/java/emu/grasscutter/data/def/ReliquaryLevelData.java create mode 100644 src/main/java/emu/grasscutter/data/def/ReliquaryMainPropData.java create mode 100644 src/main/java/emu/grasscutter/data/def/ReliquarySetData.java create mode 100644 src/main/java/emu/grasscutter/data/def/WeaponCurveData.java create mode 100644 src/main/java/emu/grasscutter/data/def/WeaponLevelData.java create mode 100644 src/main/java/emu/grasscutter/data/def/WeaponPromoteData.java create mode 100644 src/main/java/emu/grasscutter/database/DatabaseCounter.java create mode 100644 src/main/java/emu/grasscutter/database/DatabaseHelper.java create mode 100644 src/main/java/emu/grasscutter/database/DatabaseManager.java create mode 100644 src/main/java/emu/grasscutter/game/Account.java create mode 100644 src/main/java/emu/grasscutter/game/CoopRequest.java create mode 100644 src/main/java/emu/grasscutter/game/GenshinPlayer.java create mode 100644 src/main/java/emu/grasscutter/game/InvokeHandler.java create mode 100644 src/main/java/emu/grasscutter/game/TeamInfo.java create mode 100644 src/main/java/emu/grasscutter/game/TeamManager.java create mode 100644 src/main/java/emu/grasscutter/game/World.java create mode 100644 src/main/java/emu/grasscutter/game/avatar/AvatarProfileData.java create mode 100644 src/main/java/emu/grasscutter/game/avatar/AvatarStat.java create mode 100644 src/main/java/emu/grasscutter/game/avatar/AvatarStorage.java create mode 100644 src/main/java/emu/grasscutter/game/avatar/GenshinAvatar.java create mode 100644 src/main/java/emu/grasscutter/game/dungeons/DungeonManager.java create mode 100644 src/main/java/emu/grasscutter/game/entity/EntityAvatar.java create mode 100644 src/main/java/emu/grasscutter/game/entity/EntityClientGadget.java create mode 100644 src/main/java/emu/grasscutter/game/entity/EntityGadget.java create mode 100644 src/main/java/emu/grasscutter/game/entity/EntityItem.java create mode 100644 src/main/java/emu/grasscutter/game/entity/EntityMonster.java create mode 100644 src/main/java/emu/grasscutter/game/entity/GenshinEntity.java create mode 100644 src/main/java/emu/grasscutter/game/friends/FriendsList.java create mode 100644 src/main/java/emu/grasscutter/game/friends/Friendship.java create mode 100644 src/main/java/emu/grasscutter/game/friends/PlayerProfile.java create mode 100644 src/main/java/emu/grasscutter/game/gacha/GachaBanner.java create mode 100644 src/main/java/emu/grasscutter/game/gacha/GachaManager.java create mode 100644 src/main/java/emu/grasscutter/game/gacha/PlayerGachaBannerInfo.java create mode 100644 src/main/java/emu/grasscutter/game/gacha/PlayerGachaInfo.java create mode 100644 src/main/java/emu/grasscutter/game/inventory/EquipInventoryTab.java create mode 100644 src/main/java/emu/grasscutter/game/inventory/EquipType.java create mode 100644 src/main/java/emu/grasscutter/game/inventory/GenshinItem.java create mode 100644 src/main/java/emu/grasscutter/game/inventory/Inventory.java create mode 100644 src/main/java/emu/grasscutter/game/inventory/InventoryTab.java create mode 100644 src/main/java/emu/grasscutter/game/inventory/ItemDef.java create mode 100644 src/main/java/emu/grasscutter/game/inventory/ItemQuality.java create mode 100644 src/main/java/emu/grasscutter/game/inventory/ItemType.java create mode 100644 src/main/java/emu/grasscutter/game/inventory/MaterialInventoryTab.java create mode 100644 src/main/java/emu/grasscutter/game/inventory/MaterialType.java create mode 100644 src/main/java/emu/grasscutter/game/managers/AccountManager.java create mode 100644 src/main/java/emu/grasscutter/game/managers/ChatManager.java create mode 100644 src/main/java/emu/grasscutter/game/managers/InventoryManager.java create mode 100644 src/main/java/emu/grasscutter/game/managers/MultiplayerManager.java create mode 100644 src/main/java/emu/grasscutter/game/props/ActionReason.java create mode 100644 src/main/java/emu/grasscutter/game/props/ClimateType.java create mode 100644 src/main/java/emu/grasscutter/game/props/ElementType.java create mode 100644 src/main/java/emu/grasscutter/game/props/EnterReason.java create mode 100644 src/main/java/emu/grasscutter/game/props/EntityIdType.java create mode 100644 src/main/java/emu/grasscutter/game/props/FightProperty.java create mode 100644 src/main/java/emu/grasscutter/game/props/GrowCurve.java create mode 100644 src/main/java/emu/grasscutter/game/props/LifeState.java create mode 100644 src/main/java/emu/grasscutter/game/props/OpenState.java create mode 100644 src/main/java/emu/grasscutter/game/props/PlayerProperty.java create mode 100644 src/main/java/emu/grasscutter/game/shop/ShopInfo.java create mode 100644 src/main/java/emu/grasscutter/game/shop/ShopManager.java create mode 100644 src/main/java/emu/grasscutter/net/packet/GenshinPacket.java create mode 100644 src/main/java/emu/grasscutter/net/packet/Opcodes.java create mode 100644 src/main/java/emu/grasscutter/net/packet/PacketHandler.java create mode 100644 src/main/java/emu/grasscutter/net/packet/PacketOpcodes.java create mode 100644 src/main/java/emu/grasscutter/net/packet/PacketOpcodesUtil.java create mode 100644 src/main/java/emu/grasscutter/net/packet/PacketWriter.java create mode 100644 src/main/java/emu/grasscutter/net/packet/Retcode.java create mode 100644 src/main/java/emu/grasscutter/netty/MihoyoKcpChannel.java create mode 100644 src/main/java/emu/grasscutter/netty/MihoyoKcpHandshaker.java create mode 100644 src/main/java/emu/grasscutter/netty/MihoyoKcpServer.java create mode 100644 src/main/java/emu/grasscutter/netty/MihoyoKcpServerInitializer.java create mode 100644 src/main/java/emu/grasscutter/server/dispatch/DispatchHttpJsonHandler.java create mode 100644 src/main/java/emu/grasscutter/server/dispatch/DispatchServer.java create mode 100644 src/main/java/emu/grasscutter/server/dispatch/json/ComboTokenReqJson.java create mode 100644 src/main/java/emu/grasscutter/server/dispatch/json/ComboTokenResJson.java create mode 100644 src/main/java/emu/grasscutter/server/dispatch/json/LoginAccountRequestJson.java create mode 100644 src/main/java/emu/grasscutter/server/dispatch/json/LoginResultJson.java create mode 100644 src/main/java/emu/grasscutter/server/dispatch/json/LoginTokenRequestJson.java create mode 100644 src/main/java/emu/grasscutter/server/game/GameServer.java create mode 100644 src/main/java/emu/grasscutter/server/game/GameServerInitializer.java create mode 100644 src/main/java/emu/grasscutter/server/game/GameServerPacketHandler.java create mode 100644 src/main/java/emu/grasscutter/server/game/GameSession.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/Handler.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerAbilityInvocationsNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerAskAddFriendReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerAvatarChangeCostumeReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerAvatarDieAnimationEndReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerAvatarPromoteReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerAvatarSkillUpgradeReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerAvatarUpgradeReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerAvatarWearFlycloakReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerCalcWeaponUpgradeReturnItemsReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerChangeAvatarReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerChangeGameTimeReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerChangeMpTeamAvatarReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerChangeTeamNameReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerChooseCurAvatarTeamReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerCombatInvocationsNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerDealAddFriendReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerDeleteFriendReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerDestroyMaterialReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerDoGachaReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerDungeonEntryInfoReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerEnterSceneDoneReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerEnterSceneReadyReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerEnterWorldAreaReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerEntityAiSyncNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerEvtAiSyncCombatThreatInfoNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerEvtAiSyncSkillCdNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerEvtCreateGadgetNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerEvtDestroyGadgetNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerGadgetInteractReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerGetActivityInfoReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerGetAllH5ActivityInfoReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerGetAllUnlockNameCardReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerGetAuthkeyReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerGetGachaInfoReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerGetPlayerBlacklistReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerGetPlayerFriendListReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerGetPlayerSocialDetailReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerGetPlayerTokenReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerGetRegionSearchReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerGetSceneAreaReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerGetScenePointReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerGetShopReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerGetShopmallDataReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerGetWidgetSlotReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerGetWorldMpInfoReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerMarkMapReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerMonsterAIConfigHashNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerObstacleModifyNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerPathfindingEnterSceneReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerPingReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerPlayerApplyEnterMpReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerPlayerApplyEnterMpResultReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerPlayerChatReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerPlayerForceExitReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerPlayerGetForceQuitBanInfoReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerPlayerLoginReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerPlayerSetPauseReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerPostEnterSceneReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerPrivateChatReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerPullPrivateChatReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerPullRecentChatReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerQueryPathReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerReliquaryUpgradeReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerSceneInitFinishReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerSceneKickPlayerReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerSetEntityClientDataNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerSetEquipLockStateReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerSetNameCardReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerSetPlayerBornDataReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerSetPlayerHeadImageReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerSetPlayerNameReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerSetPlayerSignatureReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerSetUpAvatarTeamReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerTakeoffEquipReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerTowerAllDataReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerUnionCmdNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerUnlockAvatarTalentReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerUseItemReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerWeaponAwakenReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerWeaponPromoteReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerWeaponUpgradeReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerWearEquipReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/recv/HandlerWorldPlayerReviveReq.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/Packet.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketAbilityChangeNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketAbilityInvocationsNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketAskAddFriendNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketAskAddFriendRsp.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketAvatarAddNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketAvatarChangeCostumeNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketAvatarChangeCostumeRsp.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketAvatarDataNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketAvatarDieAnimationEndRsp.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketAvatarEquipChangeNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketAvatarFightPropNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketAvatarFightPropUpdateNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketAvatarFlycloakChangeNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketAvatarGainCostumeNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketAvatarGainFlycloakNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketAvatarLifeStateChangeNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketAvatarPromoteRsp.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketAvatarPropNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketAvatarSkillChangeNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketAvatarSkillUpgradeRsp.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketAvatarTeamUpdateNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketAvatarUnlockTalentNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketAvatarUpgradeRsp.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketAvatarWearFlycloakRsp.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketCalcWeaponUpgradeReturnItemsRsp.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketChangeAvatarRsp.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketChangeGameTimeRsp.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketChangeMpTeamAvatarRsp.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketChangeTeamNameRsp.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketChooseCurAvatarTeamRsp.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketCombatInvocationsNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketDealAddFriendRsp.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketDelTeamEntityNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketDeleteFriendNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketDeleteFriendRsp.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketDestroyMaterialRsp.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketDoGachaRsp.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketEnterSceneDoneRsp.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketEnterScenePeerNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketEnterSceneReadyRsp.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketEnterWorldAreaRsp.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketEntityAiSyncNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketEntityFightPropUpdateNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketGadgetInteractRsp.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketGetActivityInfoRsp.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketGetAllUnlockNameCardRsp.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketGetAuthkeyRsp.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketGetGachaInfoRsp.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketGetPlayerAskFriendListRsp.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketGetPlayerFriendListRsp.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketGetPlayerSocialDetailRsp.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketGetPlayerTokenRsp.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketGetSceneAreaRsp.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketGetScenePointRsp.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketGetShopRsp.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketGetShopmallDataRsp.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketGetWorldMpInfoRsp.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketH5ActivityIdsNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketHostPlayerNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketItemAddHintNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketLifeStateChangeNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketOpenStateUpdateNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketPathfindingEnterSceneRsp.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketPingRsp.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketPlayerApplyEnterMpNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketPlayerApplyEnterMpResultNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketPlayerApplyEnterMpResultRsp.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketPlayerApplyEnterMpRsp.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketPlayerChatNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketPlayerChatRsp.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketPlayerDataNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketPlayerEnterSceneInfoNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketPlayerEnterSceneNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketPlayerGameTimeNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketPlayerGetForceQuitBanInfoRsp.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketPlayerLoginRsp.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketPlayerPropNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketPlayerSetPauseRsp.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketPlayerStoreNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketPlayerTimeNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketPostEnterSceneRsp.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketPrivateChatNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketProudSkillChangeNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketProudSkillExtraLevelNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketPullPrivateChatRsp.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketPullRecentChatRsp.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketReliquaryUpgradeRsp.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketSceneAreaWeatherNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketSceneEntityAppearNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketSceneEntityDisappearNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketSceneEntityMoveNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketSceneInitFinishRsp.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketSceneKickPlayerRsp.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketScenePlayerInfoNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketScenePlayerLocationNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketSceneTeamUpdateNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketSceneTimeNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketServerTimeNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketSetEquipLockStateRsp.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketSetNameCardRsp.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketSetPlayerHeadImageRsp.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketSetPlayerNameRsp.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketSetPlayerSignatureRsp.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketSetUpAvatarTeamRsp.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketStoreItemChangeNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketStoreItemDelNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketStoreWeightLimitNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketSyncScenePlayTeamEntityNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketSyncTeamEntityNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketTakeoffEquipRsp.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketTowerAllDataRsp.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketUnlockAvatarTalentRsp.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketUnlockNameCardNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketUseItemRsp.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketWeaponAwakenRsp.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketWeaponPromoteRsp.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketWeaponUpgradeRsp.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketWearEquipRsp.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketWorldDataNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketWorldPlayerDieNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketWorldPlayerInfoNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketWorldPlayerLocationNotify.java create mode 100644 src/main/java/emu/grasscutter/server/packet/send/PacketWorldPlayerRTTNotify.java create mode 100644 src/main/java/emu/grasscutter/tools/Dumpers.java create mode 100644 src/main/java/emu/grasscutter/tools/Tools.java create mode 100644 src/main/java/emu/grasscutter/utils/Crypto.java create mode 100644 src/main/java/emu/grasscutter/utils/FileUtils.java create mode 100644 src/main/java/emu/grasscutter/utils/Position.java create mode 100644 src/main/java/emu/grasscutter/utils/ProtoHelper.java create mode 100644 src/main/java/emu/grasscutter/utils/Utils.java create mode 100644 src/main/java/emu/grasscutter/utils/WeightedList.java create mode 100644 src/main/java/logback.xml diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..fc8d20d9 --- /dev/null +++ b/.gitignore @@ -0,0 +1,54 @@ +# Compiled class file +*.class + +#idea +*.idea +# Log file +*.log + +# BlueJ files +*.ctxt + +# Mobile Tools for Java (J2ME) +.mtj.tmp/ + +# Package Files # +*.war +*.nar +*.ear +*.zip +*.tar.gz +*.rar + +# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml +hs_err_pid* + +# Ignore Gradle project-specific cache directory +.gradle + +# Ignore Gradle build output directory +build + +# Eclipse +.project +.classpath +.settings +.metadata +.properties +bin/ +tmp/ +*.tmp +*.bak +*.swp +*~.nib +.loadpath +.recommenders + +# Grasscutter +resources/* +data/AbilityEmbryos.json +data/OpenConfig.json +proto/auto/ +proto/protoc.exe +GM Handbook.txt +config.json diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..b09cd785 --- /dev/null +++ b/LICENSE @@ -0,0 +1,201 @@ +Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/README.md b/README.md new file mode 100644 index 00000000..f7b74cdd --- /dev/null +++ b/README.md @@ -0,0 +1,49 @@ +# Grasscutter +A WIP server emulator for Genshin Impact 2.3-2.6 + +# Current features +* Logging in +* Spawning monsters via console +* Combat +* Inventory features (recieving items/characters, upgrading items/characters, etc) +* Co-op does work, but movement is kind of buggy and some player ults do not spawn properly +* Friends list +* Gacha system + +# Running the server and client + +### Prerequisites +* Java 8 JDK +* Mongodb (recommended 4.0+) + +### Starting up the server +1. Compile the server with `./gradlew jar` +2. Create a folder named `resources` in your server directory, you will need to copy `BinData` and `ExcelBinOutput` folders which you can get from a repo like [https://github.com/Dimbreath/GenshinData](https://github.com/Dimbreath/GenshinData) into your resources folder. +3. Run the server with `java -jar grasscutter.jar`. Make sure mongodb is running as well. + +### Connecting with the client +1. If you are using the provided keystore, you will need to install and have [Fiddler](https://www.telerik.com/fiddler) running. Make sure fiddler is set to decrypt https traffic. +2. Set your hosts file to redirect at least `api-account-os.hoyoverse.com` and `dispatchosglobal.yuanshen.com` to your dispatch server ip. + +### Server console commands + +`/account create [username] {playerid}` - Creates an account with the specified username and the in-game uid for that account. The playerid parameter is optional and will be auto generated if not set. + +### In-Game commands +There is a dummy user named "Server" in every player's friends list that you can message to use commands. Commands also work in other chat rooms, such as private/team chats. + +`!spawn [monster id] [level] [amount]` + +`!give [item id] [amount]` + +`!drop [item id] [amount]` + +`!killall` + +`!godmode` - Prevents you from taking damage + +`!resetconst` - Resets the constellation level on your current active character, will need to relog after using the command to see any changes. + +`!sethp [hp]` + +`!clearartifacts` - Deletes all unequipped and unlocked level 0 artifacts, **including yellow rarity ones** from your inventory diff --git a/build.gradle b/build.gradle new file mode 100644 index 00000000..c7c9eae7 --- /dev/null +++ b/build.gradle @@ -0,0 +1,63 @@ +/* + * This file was generated by the Gradle 'init' task. + * + * This generated file contains a sample Java project to get you started. + * For more details take a look at the Java Quickstart chapter in the Gradle + * User Manual available at https://docs.gradle.org/5.6.3/userguide/tutorial_java_projects.html + */ + +plugins { + // Apply the java plugin to add support for Java + id 'java' + + // Apply the application plugin to add support for building a CLI application + id 'application' +} + +sourceCompatibility = 1.8 +targetCompatibility = 1.8 + +repositories { + mavenCentral() + jcenter() +} + +dependencies { + compile fileTree(dir: 'lib', include: '*.jar') + + compile group: 'org.slf4j', name: 'slf4j-api', version: '1.7.32' + compile group: 'ch.qos.logback', name: 'logback-core', version: '1.2.6' + compile group: 'ch.qos.logback', name: 'logback-classic', version: '1.2.6' + compile group: 'io.netty', name: 'netty-all', version: '4.1.69.Final' + + compile group: 'com.google.code.gson', name: 'gson', version: '2.8.8' + compile group: 'com.google.protobuf', name: 'protobuf-java', version: '3.18.1' + + compile group: 'org.reflections', name: 'reflections', version: '0.9.12' + + compile group: 'dev.morphia.morphia', name: 'core', version: '1.6.1' +} + +application { + // Define the main class for the application + mainClassName = 'emu.grasscutter.Grasscutter' +} + +jar { + manifest { + attributes 'Main-Class': 'emu.grasscutter.Grasscutter' + } + + jar.baseName = 'grasscutter' + + from { + configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } + } + + from('src/main/java') { + include '*.xml' + } + + destinationDir = file(".") +} + diff --git a/data/Banners.json b/data/Banners.json new file mode 100644 index 00000000..163319f5 --- /dev/null +++ b/data/Banners.json @@ -0,0 +1,64 @@ +[ + { + "gachaType": 200, + "scheduleId": 893, + "bannerType": "STANDARD", + "prefabPath": "GachaShowPanel_A022", + "previewPrefabPath": "UI_Tab_GachaShowPanel_A022", + "titlePath": "UI_GACHA_SHOW_PANEL_A022_TITLE", + "costItem": 224, + "beginTime": 0, + "endTime": 1924992000, + "sortId": 1000, + "rateUpItems1": [], + "rateUpItems2": [] + }, + { + "gachaType": 301, + "scheduleId": 903, + "bannerType": "EVENT", + "prefabPath": "GachaShowPanel_A076", + "previewPrefabPath": "UI_Tab_GachaShowPanel_A076", + "titlePath": "UI_GACHA_SHOW_PANEL_A076_TITLE", + "costItem": 223, + "beginTime": 0, + "endTime": 1924992000, + "sortId": 9998, + "maxItemType": 1, + "rateUpItems1": [1066], + "rateUpItems2": [1023, 1043, 1064] + }, + { + "gachaType": 400, + "scheduleId": 913, + "bannerType": "EVENT", + "prefabPath": "GachaShowPanel_A077", + "previewPrefabPath": "UI_Tab_GachaShowPanel_A077", + "titlePath": "UI_Tab_GachaShowPanel_A077", + "costItem": 223, + "beginTime": 0, + "endTime": 1924992000, + "sortId": 9998, + "maxItemType": 1, + "rateUpItems1": [1022], + "rateUpItems2": [1023, 1043, 1064] + }, + { + "gachaType": 302, + "scheduleId": 923, + "bannerType": "WEAPON", + "prefabPath": "GachaShowPanel_A078", + "previewPrefabPath": "UI_Tab_GachaShowPanel_A078", + "titlePath": "UI_GACHA_SHOW_PANEL_A078_TITLE", + "costItem": 223, + "beginTime": 0, + "endTime": 1924992000, + "sortId": 9997, + "minItemType": 2, + "eventChance": 75, + "softPity": 80, + "hardPity": 80, + "rateUpItems1": [11510, 15503], + "rateUpItems2": [11402, 12403, 13401, 14402, 15405] + } +] \ No newline at end of file diff --git a/data/query_cur_region.txt b/data/query_cur_region.txt new file mode 100644 index 00000000..427c13f4 --- /dev/null +++ b/data/query_cur_region.txt @@ -0,0 +1 @@ +GpgdCgw0Ny44OS4xNTIuNDcQ1awBGitodHRwczovL29zdXNhb2FzZXJ2ZXIueXVhbnNoZW4uY29tL3JlY2hhcmdlOgNVU0FCOWh0dHBzOi8vYXV0b3BhdGNoaGsueXVhbnNoZW4uY29tL2NsaWVudF9nYW1lX3Jlcy8yLjZfbGl2ZUo8aHR0cHM6Ly9hdXRvcGF0Y2hoay55dWFuc2hlbi5jb20vY2xpZW50X2Rlc2lnbl9kYXRhLzIuNl9saXZlUpIBaHR0cHM6Ly93ZWJzdGF0aWMtc2VhLmhveW92ZXJzZS5jb20veXMvZXZlbnQvaW0tc2VydmljZS9pbmRleC5odG1sP2ltX291dD1mYWxzZSZzaWduX3R5cGU9MiZhdXRoX2FwcGlkPWltX2NjcyZhdXRoa2V5X3Zlcj0xJndpbl9kaXJlY3Rpb249cG9ydHJhaXRiCDIuNl9saXZlcNnsmgOQAdnsmgOaAVx7InJlbW90ZU5hbWUiOiAiZGF0YV92ZXJzaW9ucyIsICJtZDUiOiAiMWE0NDVhZTQ4ZmJkYmUwMzgzMTJiZTg2OGYyODEzZDIiLCAiZmlsZVNpemUiOiA0NDE1faIBW3sicmVtb3RlTmFtZSI6ICJkYXRhX3ZlcnNpb25zIiwgIm1kNSI6ICIxNzU0MmM3YmJhYzQ5YjkxMWRlMjlhOTYyNzU0YmQ2MSIsICJmaWxlU2l6ZSI6IDUxNH2yAYEGCL23mQMa4AV7InJlbW90ZU5hbWUiOiAicmVzX3ZlcnNpb25zX2V4dGVybmFsIiwgIm1kNSI6ICI5ZjA5MmNhMTMwNjdjYWU0MzEzNDkzZWVkM2QzZTlhZSIsICJmaWxlU2l6ZSI6IDUyNjk2Nn0NCnsicmVtb3RlTmFtZSI6ICJyZXNfdmVyc2lvbnNfbWVkaXVtIiwgIm1kNSI6ICI3Yzk0MmU3MDRhODA0YzIxMjJmYzYzZWU5MjhlNzE0OCIsICJmaWxlU2l6ZSI6IDI4NTU1MH0NCnsicmVtb3RlTmFtZSI6ICJyZXNfdmVyc2lvbnNfc3RyZWFtaW5nIiwgIm1kNSI6ICJlMzVmNmQ4NTNkMDRjZTAyMmFjN2MzNmQ0M2Y0MGU3YyIsICJmaWxlU2l6ZSI6IDEyMjAzNn0NCnsicmVtb3RlTmFtZSI6ICJyZWxlYXNlX3J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 \ No newline at end of file diff --git a/data/query_region_list.txt b/data/query_region_list.txt new file mode 100644 index 00000000..b4681aaa --- /dev/null +++ b/data/query_region_list.txt @@ -0,0 +1 @@ +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 \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..5c2d1cf016b3885f6930543d57b744ea8c220a1a GIT binary patch literal 55616 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 \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# 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"' + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn () { + echo "$*" +} + +die () { + echo + echo "$*" + echo + exit 1 +} + +# 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 + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + +# 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" + which java >/dev/null 2>&1 || 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 + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin or MSYS, switch paths to Windows format before running java +if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=$((i+1)) + done + case $i in + (0) set -- ;; + (1) set -- "$args0" ;; + (2) set -- "$args0" "$args1" ;; + (3) set -- "$args0" "$args1" "$args2" ;; + (4) set -- "$args0" "$args1" "$args2" "$args3" ;; + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " +} +APP_ARGS=$(save "$@") + +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong +if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then + cd "$(dirname "$0")" +fi + +exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 00000000..9618d8d9 --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,100 @@ +@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 + +@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=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@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%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windows variants + +if not "%OS%" == "Windows_NT" goto win9xME_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="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! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/keys/dispatchKey.bin b/keys/dispatchKey.bin new file mode 100644 index 0000000000000000000000000000000000000000..29b396f149b177e92f9075ee299b93655d3057de GIT binary patch literal 4096 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 literal 0 HcmV?d00001 diff --git a/keys/secretKey.bin b/keys/secretKey.bin new file mode 100644 index 0000000000000000000000000000000000000000..0ff2db51aae64f90447ade405696c7d3a708c3d2 GIT binary patch literal 4096 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 C169fZ literal 0 HcmV?d00001 diff --git a/lib/fastutil-mini-8.5.6.jar b/lib/fastutil-mini-8.5.6.jar new file mode 100644 index 0000000000000000000000000000000000000000..cdc372c16f729cbbfecccacdb8f790ba6df29332 GIT binary patch literal 2086440 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

+-@n1om!njBO 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

XVOC5k-OQC_M+r{no3#enYY8;xLm0Z?0fK_ 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

BBZ@nv_9O8cRxJ}mD(@;>zgMhFQ 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 z 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

x#|1X zu45phOw=Z#9yq`_kspDp%${XEe{m+@fnABHGPHe;sf8UjM#G+3|8q1lxrBqWjf{hpy|Sy7iH)j*Gw>e;`Y$Pw8B{e_D`yNhm3-n%NN0F8L1v409AC@_Tn~pr8hf6xd9_d0 zH)n|~KE!HgN4c1t3E~zJP%9ESvL!qoHFtn6vy(F3C@{g)Kxb!5t(Pe}h>1b!<0U?O zn66V^4?SSMSgM6$2pX6Tgx$&dtrcWwqo}B>!D=%XFPu=J#%t@G+$TsS{Q}w$8b3SZ z4-MP+v4bslC~Td19DRMPupAR)^qsg^wXc#)9P5`fn5ER%Vz}%vDq-v{OLft?TBBiLRFnDXz3BdR~#Msq}PETY`GSL|@#X-32dS zeP-)u6PmS`e#zhT7%o$+KN=|TLc5|5ZJyPRl~Zn&A2$P~>ICeP@U~@_E-q0ftazuG z1-sEJ6ru+y@>f3!X4H9B>xRQt`$*O(c%uCS2Kh$Ib|Mm!c<|+~Pj<|1@b;7Uk`D(7 z4cNBRTd(a73Kf~@EoAT=#|E<+2UCJfe#Bd)LXsb857$O?Le{I*;jFjN04hU#azI4b zcb$MPV|O)_(~(}!&W5c9NDV*sr5}FtcXc6;a_+vvF2>X|R&1oT1PJF_VOf(3Mrx7r zM81dzvPLGSzNazFLX%*H=7s4i4Z>It+S6luPk(#ZmHrGqBHN)ceV?4-(^EovFA`0V2ud98AbpP5qCH>?$(q%+v&j1-+(w247~HYP<< zHKHpcNN8Igi7}g3n0F=AFr^eAVQIT1I=*2=fy*WOH9$#SmC_2LNOp5OySdyV4s|!u zniBU?F7#a-l`KJnZj@b2RuXYxnlV@3ixRPM4(3OQH#m;MDRFM^^i%<-m3T3kX{n24 zwuY7Yhol(Wd~7-D>K5td_o(TpBOuT~!t$0iz(r5oGGxrK6v5ci_OPApc1~h|3Ef-# z#zku^meEz?*-F&KV*|(z;^*u&MBjJgqQaxtbJJ^BJ>BDpCJ;y#q^tE&JTZS;uT-e?$^m%e7rt! zr6^KLXDyl=Ei(FsFcu&TzLgUSE=$Zr{?83#uoy>2(H0L)x!o-4-301AK9*qO0i!q4 zm~G8#Qv0w}sj$>Ci4M`R!HRk67*)LviSu38RdNNTZf@yfk3h;n8eaO%LX%zgY&3@% zb*GRnG>c=d>n5c^KEKEAP@Jxv7{82H-Qh++czY`=st9VOoOqODkGkSb+ z&h%750D^CHg`$jwkTyTg_9vfaFLWcS4I&J509q{i#nFw_A0; zjK8bk?~4DhvIA9qEag|V3=;O=?Z^cGA6WT6897^B*A~O<%ZvG385>91Ph7nGV=I%1-bNG_ObNJRS^l`u74q`B1i69?zuMk(&I@yrO@T%|- zwGZ9cQ)WuV2-%b~!FE}tQ6<|2iWrZRPiY*6-ZrUSufcgo?`dDAQMGCxCt$>Oldav} zjKTd&HtfPpkLrjdOwC<6)L$H-IGnGa;WS(ToDRwDqc0NuM5oR^LoJ&48 zKxW0*xa`johKG!vc|Kx7G`2QJ3YW0Q&_KPG$n=zu461DOK78;+ew~m-J|Q7QKW(z@ z*5zuQCmRV7FGd?Yl!lQjf{k1yfGUs2=Qd*h7h>dJISL1_p>o!U!W++hMJ)^CPG03( zCM`B7m7^FEJJP`DSPGnm0O^Z~hQ0Fb;C`4)HOB{KNWB7ohVpAVj8*fSv!>fM?u$w; zvqufuAW`e>aB$D%cB8SJ)q4!ajX@j((#mH=MfH)f^0@3E#Io8F8F|a=^KujQ2u`N( z!x)T*>og?PlsnIAVl8{623iijfM8^&*Ov~~M-HCtmWTM&yC8kSCQ8~$E5a+8tl?c- zdafiL=HsWJZ17L_S~rdmZB-Kvtf7-9>sY{`xq|g!%UU6Gj(EMCCuO8nK-qwr`R=<8 zD~484nTQP~J!3KFEY6MfLc+#nsc~W~+)81FBr|-qjpi$D%H>*?&vEyke!Nm$nBwH+ z;EfJiZ!K$4WSxa%RKAtcE@}u#}8}MbA-+Dau)Ul_ZmkV zV?I0{V8+DkwZv^llJ(p_&33=t*vc{u6d=F$;Wh>zDut;*%9E&Yz&xzSKJ|?n6Y#Ey zxX*pRI!mKSzq|SMP*ibEqr)nrvdWvXrP3mxf_tg_t%RmgV-m2cyPK@XPR8*eFMau9g8C9(~x1zl19Re|ChTkTH5H z?vIpjX4JykHyTyh(u^yhr1klGA<4aB((l?MZ{L}vxNy2~&wZP5 zy6=~F`9<4EmZ(cIy@pQ3^*8y@;1(nuG;dP5waYi$d zM6~SKh=eZ1QPx~F`WfT(-}`ZVmo*i*{h%|6%M)f1>g&p5s$7nc_jnr};_)#R!|=;Z zh6yx;>^~*Z%rsxg`rccIx(!gk!@@+!2T|#sOQB_c}b@r zSEmlKP^YB$n8z~YVI15Rh2PuU1rXUoW?3+FIJ@;OQvAXe2wyx3&uqesVekg>SQ~Re zGV5`~@OX_?WpfB8*@v$;AnjM)jS46+{6PGNN1sfhaMr(+?IrZT<57wK2OgESH??v$ zGXef5pBAZa{iAR{E-p5*H&$q5;Z+OIXr=7hb$ z=hIinrVG;48KR|~dh@-AYp^2lAKOiBh4mb7vAj8Nf|8DX; zj=N8~U$h>Mzg_6e z@Z5BeIs*8V#Cq4(m(|Og;#+8)d@w|~#I$TS#vv;RE_BL!i%|JZ@Au*~{Tq~zB>j@5 z7JRmW!M6o9gVIGS52Vvk+g{*da8qu8QD6u}0>XrYpaRNy2Cdu|*QzOh`#xQRnu()U zpvEfj+gF!UHWI2Zj?^J@rh1zKk?_b=i^4^X<;=yI4?$)${X4T>f~fv;M^8zd#&net zyg_l6AP-5(xp#WN`O=)ojJE?W{NE^#Q-8BK^&0hl&O1R-UhAj&q-W1Dte|@kRS!VT zJ`U-u0k2Z67=ew7R6F~f5!d;89d4lwV7H3Wpb_wF&)C(4zZ~vp0n)~muR17X4Rf|3iksrbB#ujmD``Eak^1#H{!_QfH(InbB0=et!pJjUHvluy zoRT)9ZZb$N$~Io&SBQv7h(x$VI@E&2T#G}}fkZSUZXxN3KB0TL{ph+wcuEU7HwY|E-*J*GHL=F}nB^I7tIZEJ^vNkq%@H@|P1UZI6mbl{2q#BTY!fBA0|d z0d0BDSOr*In{7ssqe?}UKlQ=AzDqG{C~Qxi@e*6@pk#&t=Lesx54))fyS39A^RE5n zASvS4P)J2EK;ju;myj+k?Fd~+o)0f0JurMsBvMEue}#8m9)5&&oC%y{AG8u5^G2J% zcS5wWnptIF-<3zS;|j`xQ7?WCj@uKR7;9BBb}dYRmu;9lMp8WGFATLPvGFj-*J)4m zYRM{;E`2#2iTj!4nqh@DqSP;@!uSg5VpCVbRU*|CMl=e*k1DS|F!oZ@>=xJPyR%gM zT|IxbYpU={0IS~~U|trh7r`u`BeqmTt*g^oRpE6P>CJfpo~cOOqZ{RtQmxO zttaULdwL@GS6cHJ6EsC*bCHbI3?d@Q=BTVhq*O`_AAYGuKla#KTfBPs&l{*zYI`d( z8j`b7_=J^L+V^21{etHOhdc#AAGE*jFN*~yE!EOsDoZskuqLxzi9bRG5_?OQW0z{& zVb5bth@2^z^N9lMh<;C}68J!i`cP%}F*e)?0an#2e-aRj3r(4%A@7hAhfF-~ z_;wK!UxT;&fo~a=bj*z1wGa&1dj6VMA6xTH=ntt+R^tt9$~K@Wo!El#4PtFju}0e5G>aQ9v9XH86_nE<$}4_0T=6p8F$ZLM+~xNk z{g?9%k<#n1>ek3uZEG@shl(Gn!VbH@V2)-K+w=$IKMalRtm?)1rF7e2{vAUL{XZ}? z>wigIeMj^!YF23DTC?Sp)?J1RCJly@*OksgsoWoif&gQH3$|w9wM_&p7Q<3z%3zu+ z!Lz}9FvsK@s#CAx{xC$L#U&&hhPJrdz?L+)nt&dL{+^|L(z=$UV>T2cebITC<$d8k zDImnPwefZ)3qp6D28V1EelC7v)xH%&?&4;elkRd8lO1t~#H+!Gw%5v#$pP(xhXI3W zKu9YC+o+fZZa%OeXF411!)a5LJ)#gNnHl-{+!$UTXYFk zIBuGit-mpob)~Bcm#>q|f$D{qP1^!eWF>Xt4xO5jWek`kD;%2`e@0JOZ*+Aaf^|Po zc!WggqBoNZC7K-LnWlIpz!N?K)K{#e!io)TFB}3RbT=juVMB+dORcc8w>B;=MMECu zpzkxrY~;P@Lld1wl=vejbnzmugr5EZZk|G;j2$WME1Dfs)4&_vT304529Bq`US)zy zI%mi$XCVY#wWS~%2AdeP&#RH^31_?jY+iOntS}8YkhN}%@t*F}te*o<7p!1NCLK6k zb;xWP#kpj4@vUN0f^{#mq?mszDF&KW0fTG|t@Nj&a$(JQ=xj2}7$YNT5;qCAM#|P? zU~ESUU1HMR+Q!v3(bAq!Qu{;X5&{XWo97lEe17~+-Y|P8)>4`ICCwZ&YB`P_98teD ziK?^q=?>b2rJ9vGx=5K|cWBy+zN8}kCn2d)5s61SV`2s*7ALmEBaPq7liY*+**H5U z{pge#xrL~_POWiLPB62Eb7gjKI*Dt{6avz0UzcO$pe0~@JLLb#H2`T=-m0gsBi2mijg1n4qoFOB!J?v*^am zHgkE@HwWf6&cgT|Cd1>n9Ess>PGJ8J1+b$z(7R(0ixLnZ88Ze>D#%L~_gHBe82GJA$G- zaK&~pv(QSI=?w-kuX(#LORhUTz?TLyTSz9iv7NBG!;NMK*3@V=^B{Nib?7IR#j{G( zcfqPqFK4{21tG^2{XbCGJP>C(q;bms#Udu#Ww9s+lFgejT%TJlKDs}VR55GxmlV_`IQZf7Y#U0 zNJ!$Z9=GlleU%y*FE*F1uX@C|&+Y9}Gcm}jN4zAQ6(TMn-3Tj&Viw!5GogcVCt+5Y z(MX&xjR0s7H8%=GT2<*H5CcPT5p$EAU!yFOSBAE6_p3L;x|G>gFa0FA>y8rIj%-2x2U1={hHpb^zCbX7Zyzs?T*Nwcak(d~xxIlf zTLrcjM>C_+8=9+7k!!ZXv1{>U}uVoNZqgHfurxepN{yFUz#ev_I4L*rah(G2;Y zoYMTZ)h%VeAK|)1_mK9P-}4xh7&cbest>U5J|cI$PiJ2i z@rwRHk~JPzI#0bz*KPJ?*2)U8P`4j=O_&T6%K*pSvDCNG8d8D&=D)S<4__wl-~TXq zb?g*dB$5vhhj;AUS(#&7y_c^DF2Vyj#hm4JW_2yXup=fAR3bPh;`nxdw;DO0_IRxF zqInxYrRLgIsuuOByv*KeDr$pD{hoXGoO{wr_Z8$qm%1eyNg z8EN6OGIE^=$=0s9jc8%P$#5XYYPqYPib#54+yC~j3*1!h61^;UCZ)Unj?zQI)ERWfAJB@zNrkPtT2XoC3o*CMGAvAd znmVZ?VTr#hz=&U`YCy|Dl2TxPVG00>=hD)5n^XIiCCu?jZ1YG++T` zz{;5$Qf(s&KBrSWD$Fq*DtcW{#^{|Y!YLZkfQDVoNsJ{5KGWn8LJ{Xm{KUvAwE)AX z*R;-pkGh%G@~ZiLgBBNkr8^kP&tx9A=d`D5 znLX@(R^c^nB(41G98bPJ|NSb6{9mkssFlTk=VAU=b?4kcRUPLuJG;G0&z?qq2^?%U z4$h_mm|J;b*rpI-0|ghjOVG9Mn(CzQ&GfK|6dvx!OumaPBozS4!lGOfUMfzB8CW`C z)${ZbAR+WL_}P<&0u(%K!lzG=GIp5c>AvmAIiwJHeH=vwSr5qeV`nCpgF%wXAl~+aI+3>cCD-0rPT@1q^R!K4Ix$nDAbc7h=v5b^$ zvBiy)OYKMq+0WLXS%tJ3m`Ap8>{9sug>$oNHlUne&X}O|Dr#59(-@Pao+R>Zmf6?a zlWY$`u+KI#EV#HJb*Gq1_|vF`Yriz@-c36nIugVr+()YL*OqrKcv}^{QNsZQLcQt_=GYsj4CfmW88wig&GqB!5B}x>9V#;aYIQo`U zI|ycAH$rfCz_%ZmMuIWsA9$RoOvjKY{Q@mZbeiKX1N`J-mRE5IqInK%U>r+txRz;( zNJ)R4Xvyr1bVLd&ig0&(;L}nQG^MMJds)K6Yg-B}3VoRO5(ySYAi~-Tlay8aBy-B) ziKSr|<|`~mpHxIq%SG@Bi2%~!!ty;Rprde7*230w9CBzfnAdI-F6d}^axE9Mq@?Mk zFp(qvWKty%gP5^a>g3R?CXzMeSbX9vk<&=(R1C&V;mo~PPxGmyqu+z{R|I#N_cN*sA zoM%s^DVY}N`JKD`eelJpVf^5`IpD^u#Oe1Ok`YfY*YrrNN@{2L^BV*Go&(wBmI%I3 zjGLgp!UyBxEjrF$^`s|nkBFRsdefJ0Lcs-ZVsbaJjxj%?Zr>36_Hwqtat1IyldRs@ zu=Xrg8s7+Pc5>=D-sl$lyUo|0xNNaMQ_gp`>ZzWPZHYhQ1%{{U=iaC|M}L@i-+ssA z{#-bHI7A)7rSHYMQ`P+B2`r60MV}riK0!w@|6y3c1!{N3XM0PTo9*k*PeRPQLf(W9 zXDGlI{R&gYJtBkC^UjVdxeNmpj@2hy`I9iH&m$Xg7gQ9Lz-;aMTORdVDAhGe9u5)Z z)_K}3_O9R2ABKw}3Ov6sBUB&<<@T!!(6wCh}C!^Z$t3 zHeHlvA^*B5#sAxy4&eWdlK=m0B@+(lk{F-S0@uTJlS5AY{t!~Rc~9VuGFdoiFa!P# zPT(+L_H)y*(e<#hS^6jXq0Z&y2CJ&U5%X|xsc`!}u#KoRn91BtpJGJ@CY46-rbJ}6W;Yg?=GLvAlmd0J0?;Y_Qlrek>=)$ENm`qdm8%nS?R62 zcnXw?zMEOZWombHF<>#p-@s@CU|8<-=2P#YsPyWpR2o%S=(${mzGzu?NNV(pmPs5( z8syy5dUK?(`ju*EVAKH+69|%=w(S<<)$|y)bG-T-vhay+gM^LPOe|Ne5uGDFa0#sd zfZFVfp00uk?J7#i1oFt!9nhe&Bt-=I>HV{F1Qj zj#6qNB9SgJR5Q0u6(3fQ+EHKSs-p1j#i2>X9YRN+n%I^o&R)n4&O;0%j}(bwJJZrs z;k{`Cng$rT8+(b(BQV4$v)nt+{zWWEi&?G5u(j)J zh)P@-#4T{v$f22&IStY$MaoXIH2D7a0y44M+jIk{Qvw%yg01fwuJ)D2c|5Xefr0&F zB~A*91~OY(PGSYEk)I=b6`>KWQQJDnGhSMgi6Lv6$Zw67 zBwmEDnZAHkXOVFD+sBiOz#!6yB!Z`@`TK$d8QPdrTXAF2WTkPDB5r6qSvUsug;n?f6V{2hjs|&tjXd`qO;MOraDV1`~!dunt&Ejw#4r3 z?BB30%2HZjWS3k5D5bOvi(5zHa1%`k7s^f~{|+z~z8{wmCofr$mjtk5qi2K}w1@lA z{KCSM9$L7pnTjp*f0DP29sXTF!9aS5nGLk!qhk+Py-6ens97%Av$GdWS#E00MMW%o z)?p@QC|jvn%VajAXbqXO(v(?=$e>EQJ%=-p8n8>#8&~dvKuS(p$sDR_u+STmT91f@ zrRB|21i6=Uz?NmG^7rcLQNyL$8s?FwaGXvuLDD13}_ptm8lXSa_@(R8xKEwM&u ze+KX1-2WsF7*)qenYpbT|FK*cHLlv7TC#MU2)-FYNmN3BX?b{VYQl!rfv(+!8R&z5 z)Yr8mx#GY-^|4*hrQx@}G(6nF`;3O? zSN!_|-y?A|=m9Fh^ZV~?%J0Pnd>Ibd#T~1oD$gDJ3zOeo(dUA|M(QQG6{*FMA1^&J z;{y23R67FQ%Mvc?Vy}s+05yGrK?+j+;BL5VLHQmd1W7Q1%XU5?+M-T4rrsc#9}=Wt zJRd>)>VZn+DMFNd+bmwA{z|?|t3-RWimr*Fx0|v~pp?-!W0Y%v(oe8|RQ9d9KjJ@? zozj2XkizueQo5~!y@d;t+}H7csqBAgYHwIWwS|RG9*4|xc~)t216F@#*i0j^AP(?w zFj#RZEwqHNI%t;UuL~-cF2Vk9({fv>v+9zn-qA=+PYllOI(`d|3m{B@7qI)L!lh>mhoQOv%8*6 zx$rnHwsco?Q0!=IXe{t`aX)5#sf=)_K0ArHICA?L5a;9x)NN?sSnbkg=N0~%Kra+5 zFpUVKK&ZDZp|onuz=mp${gs0(`>E^3cnr_C%3Gj6^DCx0Lb{PZzB&+_)iVErt{@wR z(I#KIqGe`SrB21#N($+T5M{der``#3so%!Xn8}0y%5o#3d3;sXAGXw;p5S2&h?dIPqE5|t|&>!46L?$w;PWcpJ#eErB&z_ zCCL6HiyJn`$&7LDQeCQCjnbWVYSfc=`5h65fq!6 zl=kLsn>UP*OKYR*p)JvS<-KUKuYIK!@BWHi%3lvRqO-O`<=h?+CC(ZKqpk{dZ&S8 zPXGd$Z@UI5wg($EA|!eZp0BNG(QRNYGk-&OG@WzU>x7Tj@|23)EQbAOdpugKXg7FQ zWxvTGmXX4l{e`8?DGF0Zdn_9jztL9}YpgrJUvozqPDn-4gS*|R3i?-w3DQ#r(o~OA z&{fGHamH6^exTB@8Z~XSW;E{VD^|1zRy68Diw=^4N6rMAt(RW4WJ(-Zk-#Q9D(Y0X zZQ9@o2z6kYAF;c3OL-?GG%#DKrt{jH(ABQSH{~AEKq-9`SUiVieE;bkG26cw72Nai z8IL3sl7r%Ly%~>(0bcdDBLKsO;OgsXNyTicD8-9~KO%O1aNUMn-T`LsDxq9E3=x4I zuT3#krV~=vKOWHBDoFf|c8HkvmU!PnnguK7W>>LJer}PBe|}D9xDOz92Y(t(DAv>n z)iEo-)Fb`a5f|ISafo$0w~PX`XEZzZudQz%%<}PejAgX8gxbX1b@qv*ZhbJVvXkG7#%iO>9e_K%_%8TdA8=xqOVJxhiwCJ-oX<*t9IidnaG`kPCB^YsVbCbE& z(2RY1HMXCX8P~#@XCVg2G#9zg6))nDmExuZ#w?-OIUHM7NFmW|lbE2~wC-JPQ1kVP z5=L^L{?S+SHQEP^Wh|DMeMce)WxkyAHmYkNU+oMQ=3Yf#>*$X*aRTEZQ6b`~ddiYw z3JUs4!^q8_9(~#Y_1U#o53#R)M{s z*O2v!jh@6*uB|sG4rOEg7q3LWzN0Q)QaC_Mcb>ia_iuZx@12!ip7#-yD&=|3$`cec zGNWf~13vJ4I+lTKse@}KbY5$mLv0!P_?~0+sjlpjx|)FY-8Xx6S^?c%jPDdVo8_j+ z9M(g5cn%KX%J!j+m9CYEdI@q8<3zScc9-GJgBpYFd*sD+ot*_#eUl%&I(x!hSU9-WOFX;y7-5=QMRN;@fr&NqjCS>7)0 z&nVc$PhM0XkOP%!y8_XxQ?%S;)sMI9N(Z^CzG@TRSB^bQ>|&age4CN008;5@ z%CyP62V6x^V4>se2~Bx(Jcy>GjjT%XBFQY<L?qofZzQ(jKM zx2RVPZK&v-?EC?&%t5Eh=orLAA$W%Rr|374y`tzl|0FB2<4{{}I=Z~c>kFg=(z)Zn z^5z+#)fQYZfS@W;9DnmwlUqb(=+Up@*&`QBhoBA)iQ?2uPZG9Zc%P;@b}Ki`s=u@^ zO1dU%##Lw3*AwSs0IU)>hj0gDN~;O?X%6{=4C1K(H>Zj#=ajkOgTG>$6SZ+v?L+Lnse z5}BDM8xUo4#qk+ygV20`A8_ATTx$9eF5-OBtsZ^>NT(d^8!vFzqX|2Kr5()n{wi=y za%Q7R>hlfF!);gz`|T!$CX3o-u-7{^$8hlvju5-Te*(X{t{k|ptRl)4MUar*@I*dF z2(5NTtC_QVctSxoz(u;sa#iA56LWm}zioyWAEn1qaHo6Nz?JlHCvVECZkEiv-X%Ta z-U+hp`(kxYDR?p!JWA=jW+gqglI!lCl9bbwWTY2T&8i{_!LKNWGh*Hy7b}27hMAOK z`_LYnQ+0qGhG(Mj+Ww@c)Dj-$VoN1LLKNOac)`*4n*Sw5}f@7>ecnHttXa%Z~ zfT#Wz06($WA~mjfoWb#f@VG}h!QJsA{{;wGlkP<#DO94~YYg^~C&^cnr|{HrGSFRT zL_5emyi3{_pYKg|L`{uoY4fYGEv2C~OB@2pDUkjh>;xprmI(FMV4y!KSu2+xhG$qP z-ZR#SmWUdrP*Vw2MYFM`z%Na)+r^)^(YI2*qpx3wOm}pT(DrGv&9TEGzJ7)=?=3ov z!x56*HA;9I;h|u}S2ku~Y$j*S)8Wz2e?8+6lt#;ux&B>GjzniM$n$q#GT|0&)bqLi z&rUm!>?BkjaqJj!H}IqMecSO~Y>~Ri3`Eq(Yuv+1GpRsAA^wT?_`VY({5eHDJ;1#T z=9t&ZB>;%W-=c@B@d1%$IU1{?*tLHbB&LcmI1Oc}_k#9Aaq1Hl%p!c^!LYMY9J#uI zb1D!~jVe-wY@t@xTPj;-Iz-(Nt<_frH2Q-L6NVbp6=YIYbDPZT*9!(*(i)sx6J{E} z&-|5oT_-pa>gvT+=_mkdlu0@1R%fcULf4ZRC=L#5C6rOdnif(@5)WY*b7_Z|10z8n_E|!7@02K@<0kD|CKIp4I=LJBMq+9To?^JOIg3g!PaH#zSF_D2ucXxI@vhTDO3a zk#6T|Hmh-%V^;wwX3JqRtpSC*3#nDZ+rFz^%35`8!HKg3iBWwTsx)ie5BxaQF3uDw z&Xg|B1Qch=7t@i=0Y-o>U++=iz7k-Hg58+I00cjrobPBQ@>W%j>ksQPuklCWadm@y z^Css89_xmWQCkSAoTPR(vwqhUyFO9tiZK}L+=Q&11o6)kDkB(llXn!(oT*KL%B4lr zqKvr-GC*)_s2ID^1PHxi&g~6Gl=E7t<M$eAu<^_Mq(Ul`zO?>TNH(JH+j6cl{_B_>!0#6xtjr^Zc`6`-abY4PJK`T6iq!NCc@$rkCtJ{1z|cTkAU3~n zdf)GBNK`pV)NwG7lao=bvg^{F3yH4`YsT>L)I$s{@W#FuXF`|CdgPsr;EHHq3)aDv|66w$pE^9J4kCa&zT}43+M(SNsJcwU* zT{{kC^jpK*sp?@@=X|hn7t0`vdhptrRT7CJT6dILVK>&=wkQFf){wVJdDQMY)D6lS zWrl)JAO5L5AA38koI4RJ z*A?IXhuYMO#GVFp#4=Z*ja8u;#p0EUY-i`Dc;)i(lT|;5Y#9~pF}Yo zgfN+=lAymWfQBD(QZ-IG$Fx#2aVYL|l;&onmY4}{aGAi*BSm9sMI(;$qqRg-@7`E9 zsjA;DG*m-xxRHYv4 z<=@#=>sucYmwJ~Bs*BF6m^MiujM$H<2rN4+Bh!Im&H$oAB4l(F#^1TY3a1d*?SClD z&bCX_p4q4NWV=}TO<}@LF!OkAol;0Xm|UIl`HY`7j&-98Gux@e4vszA=d6iI#TF zD-fdh33E?uX9=*Ajb^*XoB)f~$Amw;x8Tk;> z49MM2!f;L5^iv1P&-(oVRO9jnA2C1|t;!{0(j*d>F#=4cxhY9F-c~`{k^TOnaE)}Q z7|^c5;0(iDBR1g)!t*EQ@{XVJnHCBhRY2l62rRS*^D0k@rruM^&&5aYQ_D{#JSYKr zT#S=mHw!JG!1redY~Rc0QBlOXZ8G|fMRcLcuUhnM`^psvEC2yL`=j~m#8pZL0APa= zx(4uWr9riQ+fD~+{=A0bz%bX9%yWSQ)KW(>&n5<})`3mG4|X=vhbg{C!q$+0$2MnQ z6X@&*+ki!z`!gT~SPKWCII%MV)a)&h7%u>Xy$jIfz>!R&6}L;C$IGb zYLD6K#w$^7*U^Jibp&4eB^$R)@TFid=>3*O{={Uc; zqh?Lyk#o0+%H6Z)G+F1@4O?&mWb?x!4HpJcqh?rj2%Mi2hR^x!mh2gCJrCyr$D-QI z!C~y8_|6C|aSR8IUBfW(Z13%>L&dqL8V0wT!>C1+co69$Cs~+?HA7a%NL1)xvGqpO zHui36=q3$CW)R0N4EG-G4-p5YMeTeKV2KxRk%$)4rji)p*NmB>X-3v*@Dj%Z++ijq z3+hwJi=nQQDd%1<3MBe&5wN^qV*$2sgp6zBk(nJa>>8t{(hwOMXjo?QDbHBfCyZA_ z9k))Bg~!GS3%&KD>Mg^MMQ#9=ONsB`gbpep!)pP1yO4qIT~Gp6h3h{(DB|t>EFAHt zlHCN0y@_>bc0n9G*mbCPfm$b8`+4v2+(mkz<;L6w*^j*T!0+{5)4lOOb$jr4QhNo$ zy5M>5fzycb1%&y+NbiL?R7)EDy)jb9V)rcHBHJX%WRgDau-+!!8$U6wlVc%%zozV! zA)P=LJqSStzo8OAl=N%)d*Hdx4D8~#kJ80Yu1k2=Mi0GcNmLzV1No{#?6XlPT@waf zAu{iRLjuy{t-<3%yWb52-r51urzb_{qP%8`Zd9Xb9q*~E(Kthf31kkwViSBuLw`Oo ze0P9;m-yMOf$Z8Nd0(QEst+9`tI^C5UJaEGM~PbXDhbEW@Z395p0c$z8=?Q0Pi2_$ zi*lIhGK1|!J0=&*!Sj=Z7Q-BKe74@lxiCI``HVqU(D%u!FJ3m@J{;cq(&IhCIgl5* z3#dAeDR(IpnG86SQXlVe4}$q)vi;V>Y+#k_xpMs_xd}R2j1wn^HzT{`ytnjCZqXtI zp)0lzS|)Qkq+i5F7R9Vplh&;MQ^PhW1=G6?@1OS!^y%7M=8opWzZKCsA5mL`Y8UD- zp~|4$PIjCbz~nV-`W!L&kEVrY{6U1f%hl#=V_Vbcin#C^e*xVWyDfQh*1yBI-s6LI z1LdSnG|0v~(G}q&D579OZbbT|I!st$2@nY8pbGTMAnZl>fLCo9K4YJ2BiB7S#=ARk zizoS1CC0CSM{YwwgG!vR%sY5%zmh@HBSGhYGOZFP@FBUj-}@Ldv$Y`)#4W53YCxn* z3IzN7PvbJtreCBrFx^1q6|y0j%^*30o?=+d*%V=TF`oskOAmqIrfX8#C*{?o`LUPq zzn1xy&E=Km9sPg8C*)0rdY*L6S8TgYnVUQ^qGx52=iQb$t_nRb~bi1$p1` zHtJgz=>;h#$73tBopP9dy(O4x(^Bnr^ER-~lXW^q7EIG0*JBRftt{&5W&zUKtRyq+ zS`Oc~NXrl^*(Q*2Fu8>?(+hIR7LN`C%GYs|S%1b!Q`_5*=w8N5J?9YZpE(&-@SQ=o z{@Rk5l)-xfdFIAA>Y@R`-e$zYSYr9TOfXaO4xa|Z@Rfb;(K zB+8SgeE|RDGduOMH|=*x8lEr(B+g7s0gf9UW#9@!eCyfC#kl1ZnMKQWlE%y~Bx)C< zTl`xSnK0zgFGHN#d8%|;2xwf2zthWxu;wy&-3hiA_&qec@O}!~&0_?>Hxn>)I)r}o z6}~HJ+Fm1(qmzO^R%(h9G8wQV;6wS6i#|p_NqQGE==@uXCkI6KE5p5q(Pyzhp3i8K z>Z`RbgZ=|@AI+nPuZuojc{4fsJtQo~wtSQ_LiG0Oyew^6s2dMd*f&<1{1RNgcUUYE zAu$UiJ=-wPlKPtQ)$r~TAEziFrGgB8=#+l{HOXxGoaqrt+18#XHae;uLhZXn|CdARhbe%{t)bw zCmF`M5ZNwIiOy58_*rUXf0??}lT z_a@Ir&%96lR*uTF4~xg&ZGStCGVa#lmec@tH(V(q1oHo&p^wdj})j(>M)j$Np zPtXyCa{ix~qSwPpMl8>gA)DlQHS7hBC zOMM=^7J5AVX37i2hZWtVwJ#DyqZj60FZMpeoFpd{QliMhd+&#`Pr8m-sSPO^GGPg` z2DT0BRElN&Vebkmrss9(7sCV3(b zxzv<{j$^9VaRUtW9CV_AEk&@1+m3*keu%7F`pMv^&6Jxa;0xjB8BGdx^lRWwPm~CO zu_Y!hPUyXE%|81Z9k-5=$)fM~89>EXxLNz5p?y%fx}*o*d~SSEZ{B|F5%!ym*_({~ zVW6g%4@2z83G_E~#%HS4!>;@y*bykR$C&14>PUbh1)(vDgY$w^0joucU;pPRGzvzc2=Co)*?SLAzpqclIQcjA9{Gd*7%C+TRQM8H z-|B$M7@7%N&k&s)NiuX|7g~XZup||Z6-ojhI_4qqu)l&Phjo-}3|piaqxjsAghTi? zQ@u%D@ChzA2YollK*>5>x+lh=C_%)5NKSd2GaRCR1o?xh%@1ZNZd%#AB=!=&f7Lf8 z({e9@{5R@IncX1AlO2NEu0Q2PCqpC;Yr!|}N%@bT)Dy{4#ZQpxMQ<4OZm8@AKLOG2*| zYGM2f5x49c8lRFc{ z7S(KGma8R_>gJ1}rM7+!x7r62Wc_;UXr(90nd9Z4uYeBFPL_;xhy*Nn zz9609wAANg4=_CBBWMTQ_T2`n^>xrcL~E?r*M0iXu1|w}pTC+R;1~pD#?F%g_&bCh zagBIzJ49o~S+IJTQ;3}D(RL2)+kX_^Fg>L1Db|4GAhRJD($+awQbKsiG-HJcemrr- za9zJSevEQS`&!@;NtXbxY=o2)h-;UAlyWWmTI@fP4rPqp!kZp!#<}cdjuVCZlq=enZ5>s zBs?A>baDb1LZ=yacXEs=I(Fe`RjybMP zqcj`k4+VE$ZB=!Mm`DY^1l&2J}6H;|&+RCi+$_Wepgf{-VrXeuX=769 ztP@)DLu`K6A1Wk*6VU_bS;BJGvKJ2|KzOH)RD2&iKAcSLDqSJF#6``__U#ixVr>Su zKMeF!GTtoFZL~_?knv2FL;T)q=O~#%v#0Bi{|r3wQp|iujP)5o7ta$w(INU512hHk zBk3^ISmrGo!gXFd`)SnE$T9sKgk9DQ$Us?Ll^FDsroI@>eJMEWoC|C&LWOofjFZ+t zsZ|+T1&g4@YvL7!-h}&Q(0>ddchI0E$Y7GF;*kE-*dy#fI4KFJ$iMyKT)_(B%=u-! z+}aey)`muD;k#1EY3rfch5UC=r+`@?Fg0u@wQNZp8v`b`aSa;-N0!1CmAur^6jwh- zJN+y~GN*WRwxF@D*ssl-gn7StSO@a_5nY9%ZP>$RuRM`WXyzs_NZ#wfHxy#&Ci*@p z8+@IDtI($n;JE@^Ki4Y)oqXH?n~gyG>}Q0nB3>A;ror31X9%3-9*9}1*napX;@g~O zkgTN`A)ybbj^^3|eJ`Ykrqa5!ol?tDit1M^x|N)M&nphw<(y$xsuy!$_v&Yyojl%H zuO@VgY!3feEBXWJjmcNqtIOArXV}l;XQ*%gjop===${3>WCbr-rKVNV+-F`&`HvnJ z(GPzXZ7*T1f-eQFk}v#n$qze=>}O&rLLZtZbN=|6c^|UvnlGJ=(k~%Tp^su`882l| zMK9@hy6L-;XYTXWjT_O5`Us=|yFL}_{s6=9**;&cQFsLw4ah?>L|P03N&1yQwydT}j7Qe1c`bPdT-#quR7 zuAJ173`y{;q2Avs$t^AOxq*yy0bw!?OHo2_h)M%OhScRWwFDKT5Ep^Grz#1q90qMS zQ34z~iX?qxQ6Sv?0wj+BDSVQ|Y}li4DCUB?$ijYbyHc+NE7Km5MQgG_RccKuQWP~s zHm3wu7zl7616iD(G{Iug5eaqS^zcg>D8LN49B@Pxk##X9SB9oo-vm?1ZLXfm!g$;U zaFXF1_3{j_>;O@rykN-#Og84*E59brQP=g`LJSIUwXfH>3LFTMO)8<_tnjFFwU z{gmy+Ku$pS-RKaBqORpzwa?T`*x%KJ4`KO(bI(0`B}V@H705@BsD6 zg(&_v?e6dR!AOeuwc*z9VPyRP#pp)Q9=sY;e3O7He@EFc%BsL)azFwt*hw^x1_g-U zI@H^u`bc%>=9z!e^2RE8M-`u{Lp1kHESNXT?=yOfIsGR@_=bH(14jk`5ccc${J#So zH2)9O>_2Ia|8QpAe<8h5m!Ez(8@n_g?i*whQoDix47~^;GvQ5?1yTeE;_Cv1B!EN+ z`bqLM6txRgt+dgbYW(`Kn%nYF3nOTAH@om{G>q_ z6M{2gWTr+A<|u}dX_}9c8do;pURr5i6y5y#k{Q3?0A@v9wihb&djgb&17L0I& zb6xc7y$SGL{vgCUKYE&?c-)Khe-Ii|Kr~B!M|g9Zn&%;~%~q9cG8Q_W9>z9*A0C}5 zt=L&tS(mKpa0rY$_;knh!9Ao!OIVR?a#3C~tc-zhPfyu&J@C*J9_+ zuBxvqfL2NdRLEvpURohUAkhw2+YZ#>Y3e~Ew?$yp1a#nIYHhd);;tl|JbcI_Rj;hu zqg9bRS=!o1x~S)@)!K?P+DS zRvA`gM!5oOX4-2UUDXPwxf|{D5Y)^p9@^A3ky(f4*0JggL~ol9%Gxt)+UkC#ggh0c z*9*t;r}4Zazo+H5Zqx;GCpU~Ee>~32jN1dEw?{A2b`9IE^jX9DL@-?YUd2MT3S+;B zF1e$#(<|{e8p3Z0ujr}os%&E5FUesr@n9U(x4~bp8qmki14DpzODn1GZmB3~?f#n} z)X}i`yv}{7h7aGTeF}B!g}tH?h~V$K8)0<^*cQ>bz`$`BEE6Qoy_jqLmEWC80u4G#w z>$p2^45eMzV}~IBsl~-I9e}>&z799Pd7&wk=r$Rg{C5>SQjyW&bclR}imiu=QP-Yh zx~qWQd&{NY7Nl&qc1wmXdBOBd)&+ZGep>^3!{`~zWy8Z)0yy$|&#E)5Z|#o%EoEa@ zWuv2g`3@{RrFYGc`ih;3Q1Xn(PLA~*^uQ;|ajxwZ<6ixwTp2h`1VM_RQ$pCNcDQ?o|7&aGV!8-? zWh_L?P`Ei-`=Y{17RCrlJwa-y0A3!mHywZw6=2cEIgX=7Nmd!z&-|TkIpc~&gg3}TgMo&W_m7}u4G?{*Ob2&#`&q~sr&21{06LOHZ-C$Wh|yK46slu z&$YK>WXSitYVQ{foc?@_Q%V!fZHCR`xX za))v)-zILy-4E&j)oCR?YB40}l|MdQj#4alDmP6)^y0f(ZkGc>a!G^74~CgFZOj_l zRfd7?Yl3i!&Ds;3VVA^ zPe*+Ub*_>=b7M<-txbzVWSg4u<}sGrkq&mNqe+JA#v`UOS_-X3IzqnXYc{f3!U02N zg#~V~fU1ePwk!{P>)lbW0EivA#(u5{8HTqO;gTcE@1TXlL zB4Vo!f}JN2?AbZAbm??CO>VEjao2tFL+K)oRK`jlN@6(wp+c zL`iD(KgYqS`!}aD5x&|oXT3D;ucigchu?SC@L<~YL1blid;d&d>|`;{QR8ZK?w=?x zhNfzdyFQ)DRvLFrWBYsk=wb3N|4mtrS~o!f9aW7$afl97L&UL? z$gY@L@4PD+`p@)lNU*Z&A4>N4U!_q<}sZ@U$-#fF__6{%8tFqL4#Yth6> z#l@3TC7TB-_EYoe(0P4)-9diaq__sD_vb&uNwZGKg1;&+Xm|!4Qt2#(5jn=y<`EKF_)SlJaKo6YQMHs+3)Urdwq zSrdH46elY=d0e|m2l|j9&dzh3&TDhND@4)RZG|wtZ6wIpyEA;xd@NYM>Js~=AH|7` z6FUI}f-f_$%23mBpiGhF4$$6-kE4owygLE1kG4os&{Xii9JDsa-Zk|m998OZXcS$V zLuNY-bJSy01*-2Ua)f=CRCzL2rP=K^NYIufvH-poOo|tunzavsWu7LMtI`#{->)b* znjP@MJ4$Nm!$(By3fdXftGdf%FE3W?SHLO^4Uw@UXi~Btqg78+>JwdzxuNPIg5K2R z)LG)BXjiqN2aB0kCB4i_ZfAGGwYKZhWd(PJS_zjAlAZ?o-5s;0&ms|c9g5H{@sjL^ zsXx)2{m4AJ)Ao+7!cvyimgDUAH+s&v0=HU;Uzhw^%Ip14Hb!cAuSxuQ9y;8Ut1}OB zOot&W4GvmC^b^A2553fP~1Y9Cx^Rgvw zGy*s|W?Xmgma!%rvoXER?kF@nxX7vs!Z&CM$k`75@ZSAfVtv`b&bxY$zsWX|v%aZbS+ zFFqhIM3NUH&xw-c;S8653}43X5*PeqI(Ra2v4QD=4H9{4maBnFP{Z7upWhx%FOg<|8RRIY{1X>r>CA6(gDPs9r=JJ~SXD}33cMphxk($uzCZ2E@=92x-k+YQ zM5&}OQ@GMqrb8mWLD+ld(_2DdZ}9k+$_aDXvAvA;V#mJ~Le$ZcIFe4ORY|JglI%LK zlBt;$MeboEL*kSs6>mBm&pNa}yBcI@n>})ad5g*CszaT76(!XZba}|JSV6Qk5Oh5V5smITB-8|xdn zXaF0*pFN+yOLXv#4W++RD2{PSB*?QlG9&f8f;PlIv~mc&X6WXxq|l9NA5nr^#_q#I zIhC3=-?$ex=Gqr0yZ;@4jAbCe`ovZlkIoDsW~duf8sYnkJkl-m+`bdn4?5)6O%UPO zOYqoB(AX`_Fscx^CVNQ)W8bE?eO)#Bp4LwN|mgxHr}bfigQOgYYx$zz83INHvT7BlFO!w>Ix zMm0Gqrg-b^lZ$ySmc#IdKQ2VzX{^sS~k?~1X!{u?WNMgS~ zJ8!~kYlcLem^3&(;fmeWo9;&O**SZ_9V|OrlC>HHT0Neta!gGvkyXVlozm+o{T`rL zW4pb8TdA~zR_01pWQXfuecF0f@nSx(>Sn?g!5`f(1f7hf5?a_qm(@GrTtOw zrr`Q%N8o8^O}yL1ryIN5GdEP<>xu17q{!Iek$~EH4N#-u5r9U!17EEurygES4E{Rs zVu>}0>S&2iqZOYG=b{N7P~GGSYe%qfBZc8A@-Jk>ouHa|=_<1ac^J7sF#EjF)f@x) zI}OHFT|0GM8*UdoO4n|#GZg1W?xAo}ukz8{8VKu}kaDc42S4Rme0nS$`;^f}Y>9K^^{+Hd57Hx%kRXsWC* zDGGLuKD8n*H%b5$)Ab}e(%7o!%T*N1x9aZvi(g4*j<0l zSGp{@W3)qk?`n=C1^9>@Sz=@!kw2(;KJui-Jkn_cK)Wa@uZx!9Hw-DSF)rbA=~hs1 zAZsWw3F;&N2J`U1zDbX}&Z$SyP5~k%IhSx3N1;_0!YUOw-%hl+bPbWJ1f+a)UY^vlSn(75e6Wx8!RI6J2gJWJW<}-p ziF~5S<#)Be%9jnz8X)>yUy{X+WUv+_>dGQ2%aNipOP)y+Z>zj_X#TtWQ(v1o++&MI zentkXvNFv$rlv5?4@mgnoT-6HI-H53LjXSmM@}4Zr;h)Ixm|?k5 zBIv*4^|+U8id%9NK8^ZYt_fNRzwp?0|8V*9CgB{|xeEXC-dd8p`X*P6{ZtlKhxJO+ zU~#; z?TI);oHq+*848HDR0sfLD=!ojR4Dc(LGZ5evvS32d-ik>PFqZzWdI{%x@eh`#i&xpX0eHdb_CF(XEz z+(7w)MizPWAnC%m266PLr$s>B2ydJa;2w#00F6{=Cxwc4f|8*7vV461P&all4|Y+K zSzrj285btV;8>K-r@i_${x=C0;>^E?jG~NGkq|8a4X9`l)JvWG_()Q z4TPP=VDl~5cYu=QP%t{wTfo4KJlG{f{GoAOR+lk&eLD$JhlI*s?E4gqZ$J(pVMqp* z8-t*jxJXBLw!KC?Z<#xd0L0{Qa`(d|0sf*z!PFCSzux^1cj3o0;zr!NaZnL-5Q!Mu zQ2bbR^N`}BK^ue69+R`4GYB1o-|k1&Cr{qSwm6tQh+OOUhR9`W4_Kod>L;KNWekBEQTZf?c6(|QCW7uaRI|(&o*r$5>9)D>j z)3d1U-8^k&#z~i44x<^k*+(+2VA`kv5km3s5iB+&izrhGC^9BfA#G3t64BCY_!eLl zi}d{odBwl?J(&FU2L;YSF@(;E&e@O9eV`AEcKaz8A{nwLrsMVQKXQc{uk+5PIWibS zK?>G_gkvLnq!cbfG-*0xDNK7HliSIb!t0R?tr6xCF)}en*F;z`oU>Ay)8FHyd2{=_ zl^rpWfuhp2LK56*ZF%we6~hc~$N4w0Y)t-RbsyMRg_sYs-21uGu8 zVB)?(gp1h?f*#2z4`{;_cPth<8MHm&Po#XGQR871=l@36*#`Kj1;dzSiHnll13QRL zJ)knqstRJI4Sb8J||9$2>A7XB&IB#g?_V$5|a89B*#0V;alZYoBOE4XaM;%L5#UMhCPhm|Xx>TUV zu2XBtlWZ}p#0i=_Mp>gQ9k_DD+9EF<6m|sTp*I`2Iih(@#0hab#(B-e@sB;$;UIbu zSH| zt%*|EO(L);mMC$A48*sdVhoc(X)*~7YW@ta?e_f9r?e8TG}!Uob)jXYVpts*I3q8*hOf#ew&y? zFN3(<1V!Gc6!*(}W2*u=UD+ca??JCEYoY!|zG~>B&9XiI4vN=9qM`PR@K8Gc3Ul3D zZ^(ab!s7H_EN`%M^iY^`Ht|+|%fa&!jBj59=5)ACLK!X2EEKPMl<18VhV}z9b6X&c z``QGXl8%fHamKqq9feJTaQ;RmiAMoObMrzFV199Hyl5XrE$GL(bUEuHIFMSGc zdKi?u4`!2(D>@&kxvA zm~*j0eZT|nA)axTgA!1Icn{U|@IbisP#Rd@E3Dk2ib3<34Ym+r+rTgG8I5JUaJJ~8 zU9YsQs1q7CIJ=&&N;r#9kQUIm)kA|A;?%K^5sWHL)rY2t{zWJR{`jxQmc)i#zAr( zk$ShO4_Z^VU!$crvx~h#>|P>nua5Z!TD^YvPZ9}9m|Y^D*XKNl5y#FTyY}zqq1$Q( zp?oYCU;WhE>Nw~`%NLhH{5M*KW4AHOonV$XUWwG*(6CSS3^RNI|4()dI$wyw<5+`~ zPez(let+5fUBk>z_%@Mmn3}{N*q5;%fAFK90pol0+oVs_{TV}d@$U?VQwVP|{6P9+ zxK}N}CW`|E=&) zyVPHl;nfw>doS2deIU2{_R7+I5_-2La8;hfn>z27_8Jwb-#iRjOt>S&?&`G@uU|S} z$9)dF6okGS22dAsgVa5IR%CE7pr0P_39Dxw<`S?6jl=>|@0H1vRDe>0zt^;W|T_8$@K)-x=Y`^IV?_7V-h z3MFYTwgWNNeb?}{x0{32M|9jUN>j+6u;CIoKw;C4pFF;A(VB z0wS|x`ZPZ6l??tM1NyA=12am*BEM@4(Kh z-hf|NDjsvSUUPQ%gks#Fu>yJnc1-Vcweg$w;3r)0?;nX3BUDAX^+hZTQlf@I&WecB z#T@kv?8I@mRl@do$4(iJKS0WF>_JIC0wMSMV~Ra~-pA6rS!GJSiC5`EP zfM_nvnxbQhq-jMH48aS`s-P$3R5S{}bwbMq%@u=O%YL#IklJTC56dLGGNFpQ@Q}(* z21%_7Jpf=~^F~HZE53Dg%VzqUpAf#8A6;@q2QkLlKp$9O8IwIq2oT8-JP--qDg`~> z!_b7oT?hlz068_32!>D)?$Yvd&r_|ZCa&^we_lq$|B1-`8BJaCfEmd^OpS2}6eP!x zCR0M*f=w)tQ_3g)tg`~` zuR-0~(iEJNw3WQxg9^aa0hATg^u)Op_jFyjs4iewmeSA48X3g1qk)$=IV5NY>n%a$)a6ItF1&TB)rFPU-2kklb*RA`&~by&YeW zbGLMl5<6}9+PT?#*kTQ1w{&AHUcsdh+Xv(9Mc8zLTkJ(7?Qt!EpablQCjw4L51ln= zir~W`n?VzhEp`-qQnoqsQDRSVgTDpb=L7|?FFdlPy@xq`fP$lvh#6LO4_?@Trk?%y zFlenq^*zjgtjXQOz`riY8bTWhC2eE`KJ#v30&~d5pYG;GsDC|WMepFnFw`EC z+;mK9555Uw+f`q5c$4Qb2z)am_$~RtX#z4EI*G5jEgSl-lV#OmNFS6o-282>HO=66 zHFofanFC7KO|fwGnpCX)?eIi%*UoUhxs!R}f0{JpqSU{;PQ)y+yz-XO)vUxIebVcCTH zt#ed{cvH5Ngu*zm3neMaIgcZ55&GH9SuX&06J-#BX%P$=BiD-w!fr`@goa2-;pp5$ zN_qiumSip{DT+OM?p)G(=1j(h#$}nN235s4a8cdq znywFJ(|e=+p<~yG#?LxBnjhu7@t30)_|M)aNN0<8IgLKm)thPJ8FPRoVBQnjp(EycQ|H@n3`jT@tj?aFlRMGnBB^o8nKTR6{GC0PG~{wQ6TF+ z5rPS;BsJERJ!9L1g`c#rJrE{@$9#_t0{lAUvkwmgsSR8V>^d0Izgq#(9Uui1FX-6+ zZyjG9z7K+VXeLl>AFgu``E8lP5|+|PI)gk0Y$&Ny(EQnN;X?5IEli|NhJKegIFfhD9*mcNh3-JNbK)OlQBU+_C04}30fwb!yyg#!CW zc5}z*x5et))Ovp0?V=ZB;r~JyuSJezB}t8!VVe0x^->BcE6I?wPZn_xnnK)QxHocI zV$dCvRHw5I|1#E|SV0S}pvB`v5^8D##k8OhZ7@;Hr3mM@0EtIt5C zZyxl0e&s^`h-#+&dv?iMPn`Dj)U3Xonj@UKe{NM!NzW^#_s5!`>JP|!=jJ=isKNBP zkdsABy>M2W=c1(Dtn+fF#>Z+);!X{5x30YB2juw`*jep1L|}7fozmcjxB`)LDKho+Fh3;!L7#oTs2*n8{)>4??J#B!npv9`O1WzTJi50~(X257 zDW8?^a`_xP5AD=_PI|gfzR8)s%j(%6B=X$jCOdDmW5qV}Rq98EpYNINy4~E7N8>8w ztK$|s#ihCT00@sf(}yyFoT%1INYgl_{~)7iOu4i75)QsSe1_NDAWGLsQfRp0T=ucy zwxYI5(j?_;No9x^18#CamVKV+mHpB|+Hi5CF&jEv3@N81;on7B0|kj~uq8Q$qVTGW zxSp5-y~%p@VIjFP(xrV3ZbEizk!*$V#4cLg7@ac^`u5ib)ZvMW`<9s2VhxFyVh%N$ zWy$;y$l-yIL?v%xb2%v*6t-*>a@C_MEi7qTJ4wPRPgxcD^!x*?7d6V1lew=>L*FGy zTFgrmj&Rv_bZtYX2jnYF31M7h>EJF!2aFW8%0KEkYjI8c{3 zt5Hjo3oV9GcI8kY^BpCe|KoEnwqgi1g8vD`f9a zeZ^7SIzEb9Q2`9NNM9xxYa7fi(k$1Caq-$;TVdjqJ9KUeh8_&^y-gy99;nDWT)3!m zxIVXF5b-@p?^)=r+^AV)sbM!zp7XbGmM-|8sOuWP&O7?EYbf)<7tjX`zs}p*SDxuF zLw8~y0ZLf0J=Rxtsq-PXj5}c|%(}Ruk1(Z@TgF%+sWMpB z?{C%+=;xO2{%uFfn*|i52NutT=6vS~J421D&4n9$d}9!-4LW}ZN-Lxxgk*AANBAN7sbv?cBPVE+yUyYIz&?R4`Ibn7VYdCb9(0a)BlK|J#dH}K5lZk^j@goR~_ zAsBbYAQC6c+gEQ>7z`LRD4tzln4mE-!G{PX-A0h>1!n24W)B)<#4sZ;#Y<-#PLM3Z z6?dsUhGcjo@7%NdG>kvzzhl3Hkj0Z+@=nlhe8;SF13DMe<2T~J=AR^AG+l}UJ<`CT z-wxczlW{!ND$3ew6?;iRF0+@w6PKUlU5gpGF~jv7%3|WEBhdBLcMjW7^D!C4obRZQs+U7?2wSA18kN$ zi5@l_7*1Kv@anYWx_g$MG_=;-=P|^N5bD|YDbD_t&YQE_Ckxq+DbDj-arR1UC18tQ zED{_O>r4M8_enS>*pge~8c*GDfj4)Zt_A zVEH?Lp2`oo%2{r|(U+4(;ZNjQU$0@~H$I2{&;OA2m9cevUy?Cn%*+@wGsKQDW@cuH znVFfHIeunlb_~z_%*@P8G283k%&fGl(foH-BlZ2#{pq%@s_WD_UB#pr$Yjv*PN^7J zc;)Yl=qr-&7zN!I77Ce%%lbN`pg?(47yTs^@#_mduN)U*C9@3wY;EmEtwTjZupo2d zH6D3z3yN{)ti%w^k!MFjfIN=oBR)C)CbQ$!ck;jwPRDC2a(OA%XGt3I?qtimG{+b) zr3e-UJW~vb-RRyKdgE{vOT?64F{O>Y)XB{_{Y96!%QG&6635WS$@%EYmXVuqK_N9V zL1_k+5=H$TL^<}%vxPXv8gNZ|zgSe-)Qd2N$?F}kf+=&pWQ~Y_>xSt7YWZTl6Xl}0 zaX+&1GY*SGzeDF@29pwUNq&JGKP9VUy7i+IueM5P$#iq4NA4JbN=I z9TCkd>4~L&Ozx3#uwQ{<10Ij?2|n?jTOSvQd~1XvASa@0fzaN#FFMvh6y|kC>Hg}a zgXSc)_9op#mi*a)&m%2mguY^fq82Hs7$43F~IgkM}*1PTmsoyA8<7f z*_}c98V@~a#XR&9jDYT?6Zg=G!)hp0`+odcb$<_mvVfItvgP{C<_`Q1gehCEyVx zBm}yA;Fd$Nz2cTbJ6#JqTJ#C`UH7ZK@$}|Y7|r=g8}ex?tx{hS2JD3W!E%P$8MZmr zDRo7ZL;vj9>xHNRh7G%6+~;Y5l4{rM8V9y40O5H07@F z@mf5sMB1Sp_bzwJscR#MljBF^1o_a5Dp%|sNROj9I5FZIl%SiX(v_1?60p}EnMxw5 zkY9J~HW`(5*Cy zqH8|^0I(Z~Y4y!BrJ$^hUW`Caj;2f%`m;P&JX_<^qA1m7z zI-2xSHkTz6Jo{M7KGR~T#VpPP{N~?6UO^ALCmFM*9XhcPFk@$Z1{l5m0LeaoN*_?A^KJ3Bnzjf zG!`m9p_wQB?=MJ^lu`7Vx93KyN}Om+*N>vbEi`NpCs$IvWQhjodSn`+C=y;RjhDUjJEXn9L9x8DV>y$FtO;1GLXi0BH+j+u~AwG!c6@y+FTl@*dI$B!R{{W{MGR?jR%F3+IfGt28?iyz2+{HyR8r=xOoVMfp<@c9jRS~D5dmo;C6_;bD0`R0fNhocVX!9<`W~7TRhohh zqu~{uI0KeLpnW#KC<1Zs><)1IjR>(2!9fC^ip8Neom)eOfIf~}0}j}GlEYoOt!mbQ zrs4!jz=}%bQ!vZl{r^!*wdpP5M%%SvjK>h|>@PZ_h!>7;VY;|L` zv6mjO>}TK59B&lb{h2_>tl7D@Ta)Lk|6}Cb3T*$eR-ggDG7EXOmLFX5AYiwzePlE2 zZ?1BhJ0AwVqp^{u)>&cYcFbU%{}SxjWM`zYX8}4j&0ZA@mq=`0H=H<9$(_AiN6iJF zr-yA#&4u#kcut%{#Fy=nuj?Cc%*csTVI5K?L>}#?m9^De@F&Vk~t%wROxR0Y5%jaIeUEBQKFLlodecIg3KlEC)+yV zT7)AUOPrKS<*HcD-Ag|I!RdH9$oQR9rw8- za;jG?+-}U8W1n-76*U!FAM(d8J^jdcNJ0)41xeRv!kN3;Wg};9aR+*!8}^XWxoA)_V>dWESrzEds>RBiJten8BDsA>eI1Q9S3ESCm@U&g$!d(dou71U5<#$IuDQ>U5tuh^^RoVzH3yU`Grcio z@5nvOVD{HSkzUXAW@lb{+k|J-Epng&6l^vLs7CpdNwY%c%b`gDWHy;%=GJszv0zU( zNT|-CFR=dPQ_V@EkYjXsV`w)Q@KkMM>NN-%$6C;+($lRN2+HFb9oq_XBeb#m!LvEp zj58gJ+J^9!WCSJ2%W@0n%%G77R6kI0$I&9`-}T##=GenBJ*tw<2B&TJ!@lpl*cV++ z+j_j%2NTx`%e!SZKlxfx^Wl`iDlwR=R3sW^NY))mW=H)A=+JMf=y5DUNPn63OVGg# zYNDoF@At{jA=6g+)-H{Pu~og-PUC%vS@^-dN$Vd~C1fAMfn(bo+M~Omuw;(e+n~ns zI)Dd8tU+GTj~9~3fyZElc%VUE_Xo4TcR_=|DyAQEVWf2dFHXA>&b^ESwWj&o_W1(M zBipHp_i$#Qyhh3Pt@E3h6?C`lcpq}*@*}YolCMpQq>xqhp2jVJRIN?LLREsiYPP6u z!P~M~m1evNOCn`~tZYS#eqLJ|aH%y07^~c$;aGsT4CByVu~L;3Y*9lR~r>(Lij`#63=dY-W8=Gm?Qpp<6~}8un8dt-^R@+!nNJ^ro;#nb2;M?OXZBK&Eai zg1G?X;eakWlW%EzHJ0E1Sr~3+$v10sMZsQ}G_LlvCQ^Km1TZ8&+a-JIpr2-30%J~? z723sX6(N4lAVcDF7y{T z2rS`x{N5MDOVNdP&-%IEu4+%rDAk&z_DavM2dXu7ualz$Ez1`e3)-*GsV#LIQJoyM zQ(T*)&I@~f@4dU==daT=c);eP-gGj(_(SYXn;Bzh1Wgx`ysg!Ebv_}ou<_#&HQ^_!3GRwuj-sG=P)s++{9s(HCjjtaw7 zqB+)rALkz#ULnttV8(1O)IHHcS*A+KyOC~qP% z)4QGn#nj}fy zcXZW)g0(4ece6-g0zD8DgBcPW2ua1Km~_42gue^x+|q@&UkY{7(-6_%QoYkaxJ5(v=mXEN-Ar;~e<14Gfw9CzZ{LmQAZI&eS+`j8|LdRKBVc9e8U zWN>X%WvPbt&aG;vr|7pn!~p2n#WV{XVA12!z+#$=ozDoysq|26BVpDIPmW;VwMkJ+ zQp!7q@B(4H(Yhr4Heucd)(}?ckDelW1Vl5RpsXP@}GSHhy->XmOLsQMq@4PIQAbt#455VRsX6T*h9-Q@n{P7FF@=mQ- zE&sSmxaw{LcZ7uh&!%>WC*tLeT0!ohnjPkeY3Iu44FslJwE}^`%hn2o^cd3(+BvjH z<1SU|izZ(XUhb8N7lL&kB#aOmqdywy(0T6k$j&o6U7>jHAZaXJdaEP ze|ez}^57e}w#LIBH%YCrPdA;I4Jv^! zF=RQAB9}YbPuQd5GU{ooZ5id|6a z6aCP{x6u-J{a#&^eiXH~j2-l%M8Nul{>(1vPG?2lB))Wnj5d}<6$eBx1|p-yYyAWml? zHWyRNy75ieU=U6yv5;?&*4M3pa%uZW23AEFXb_RKCtNunf&yu3gvTqGeghkDLV+M0 zFC$9v0~QaBM-*0gpJ5~r#r`cBmqM7tHpPerY5foW2CbtorSWVZJTXqFh%TN>R8t>o zITz&wm{QKvIdi~hu`69x0w*V1KQ2Dw&ReYxm0eU(QZxu&0QKsFnIk=6@Q`$4`&av9 zq6*c3Pbv`3jmLkJ4lbe^aMcemU(F}}3R;c|y9IAfyG$RYwZrApWBnG}i8qxO$;D*L z$GOtd5~LtJsPHvY6GABIsG|+*X52-=Vxbr3mOkC0I&9nuTo``=m=? z;EOzzj=d|>0Ckw2X3*wA!^r+8jt(^TSxoROWT8I)J}?ApiH28$-5U?@eG{! zp$zMSH$X|1paJ-4%vAAC?0;;vL*(_oYz!{@^?QN0DH|X*OA1vMEEMnFgZI0D1Bj!Z zOn*>ra~QY6ak$6!*dt`x=k(a)GxqI+_a|)$5HK?H!{+sELWSPC*=(RiZILMDwK=6L zb&4`ZBtN#dNqnc)8<@Vr3>c>MsNaMWb=4mr-Ef^-kLhJ;5@P#)4-5G9s$%X>tR??c z4D&;52TXwmbDPqM`yjN*VGgL5`?f@-q{jc3<{8bgJ5VL!!OtF2^+zr>MNw<6L=Lq; zHRQ~4HNwnV(1q9U$BVfQ{sdG`Z+VkiD%Pi30ki9Z+`Mt;dr`?f&$HH3xEu8iHHW>K z#I^18POb85kTfHsL*T`l+)2GwCP*GA`xhbib~-!WUZ6mOweBiDiOg~M36R_pyb}e8 zYaMsbx-H8v-2S0~t=#!jWY1Vspy>g|k?&hh`YUdM_a9SN9lA1PEjkcdRl+H^7{!_d zX(a{^je`(D)2G_&LUe&Sbm2^-x2zF~;-RkLv?#fWVKm!h;+Xy0AwnP5Ubtgh5{<5i zJ5_HF;CAfq)sw{ZQ}Zfag(PTiDl>8m=K%Vk11|+0%OWO{EGak(m=-!ju_^x=eQ@_~z^^Dp0t*rxwqMf#&ct3*bF!eYl zf{2+vA0=wy;^5laawTFcEp^|m3CQQ>l~mqjC3O0@CAWg zgK<|hyF-uJ4w&7BIx&|xi(4>*O^s@inc!wnRjaD(zA!s`A@TM$$JXWTTJ1jn^$KY*gO+II*5{W$HvIEdS%7`d zLmAlLGCbl1^bv$wc}lmn`I5{%<(O9arpN0&+RK90!s{#vcEfYDAxHD}<$YO-EdKh! z1ai3>g7O^-xUfu&hW^*-sQh8lFg$u}{X_SEdWD=kln!(rrtd~WwoB@w00(O+aVaC^ z3o&2x2o1wE@{q?Df*>}f!D2Y@^quY$ILf6S%{E9fJ|c7xyCv*jxYq7NR? z8UF5u|MvO+wXXhGQ%??+6Ap#K#lGcd@yA>}gA!lPwF<62fi5_r>8x!Y-jAGa zsExVFkhuG*s|;VFPlv3z`&$<6%}|eLD2;smaK$$=f*L<;s^iUmOHTx~leDdj=c1*2 z{m}8}{YQv5owb4w6t`1BwCRye>YFIOlrKCf;C3B9Dh^c=OS!6*;f!)y!l=FyUN#k? zTvug5!bpEQ#<9eWyg?D6+LC9as|VR*ff?zU!<+Xe8`ark@v_vwZ_^_h>6O5m8zwg3 zP-cff@hPHC^o4SbeC-OmFqgc%dRib9*lh1V)OK^X73t6EW1*(F|JujWDh(72okMp* z^!X!}ykh#xE$?FkUv!9Juj~6h0A}uu5g_3$ujpoF~e+Yo^?O0r^CV8y94w zc`$xEnv0=ZVjzMh?Aa?3{9F?Ap?_6eSnYRg6Pmn`>`;^+aEChB!-baC{WpaW;{~H{3{z5;s3Uc3x&9yqm`7MrLCfirLmQ=oul*r znE<(Ihv96`5fNwKn z{qp^F2j2gFsX_#0!M(_2`QclqN%axs1K)sB+unZCQ;(p6%wM*18jNi0sBi4S&cO^v zrId|C&c)e)dJwd4vkrBuFHKv&Y4wq8+xO)}?8o3M@yQ1%OJP~Bp?ENKRKnB{>Qq!t zMh5%Sg?#1>Z1?xS^=X8}i10-l21beb=S-03kfRbyo(N-<#nezrI);Xn*1jIWs^mUO zE?FU~(?DCz{jTN@vuRU|lC9)G;TE_)LM$y5a-6VoOO%DCxI0tUmcTg{in@#XTKEdM z;-vBR0V6AQb!@{f@D7ef8OVox)uAq|h5Q&4{dP8?N!nh@;FXtWURKryBm@VFR;hu0 zBy~x3o)N&MNJ%UpgmFz?qZmo>@)0I+HG2jp?;`k68mC#6`IG|WDSY0SOW_}pY@L(7 zM^t~sOth`#`L4oz@ptbwSjOw)t9H5PGhfb*`vaN`Z>Y01MP+wckqiX``m&6L6|p87 zdqMXR7C)8Xo?{lwdo>8lwq8KEk?Sgoa){|G&r>~qU!R!H@CL~cX7%ZVw_83x%L$e% zZ=uHm`yGttpaV|KexwpzjE9);bFu7|U*WVa&x&IN>UfCA-$+M1s~bk;MCE==su3sl z%$@x!y#18@l-+@KLPC0;fRtR?tqBtJzVO2O$^LvU7W#4W0J#S4rW-<+M~Q|r z?ozj*r^eSO1~6fZ!NQ|$SC44Q06q3$WQg0Zj_LDBB^uv7oKwDzU>QAgOAl$Jrr5^n zi_3PJVu|x}Mzy;eVST;+W`h-zmOQCu8N}SsKLxbKF@hWe5>=vjO;h9!p`RF+#$Qpe zp6q3+nkZ$1B&p@hR13K?;s)J_e__{`@j!?i(1RY$y_;oD+;Q7v8OGGN(JN&n%6{8q zi`-Juv;^P0%p^)$-lU{ThiIKx-Im$+Ej%J!HZ;W(60NpuIhjjI1JCRk2La_$RA=$* zBg--wDhwjgDB2ja5gLv`)!?|z39NLzWUdsZ%f*B|adMU!wc{p*?>rYshTNEMD6+11 z1gVtP#w#SN*&;8El5Dqv%c!fbttY5YSwk>UM5wEo%?Cw4P4qnNqY+>y?QyM>gw9}3 zpUy$AjW(sMbs-5^{aPFC$(noX!G~A=Hp>awpv7iKt${u@e2vEV>ato^8L{(PSFo%z z>e;XQeFW7D>!ovNtVEUNr)L(QSqYW7{h_#s)E}JZbk4|&uVEis1f1jf_j#Nj;7OeI zFTYeCa&~Ljf`j65#BzpzEAG{bw_2bZAE6N`?U2kE5on7Nc>y84w|84%uX59Ynu;dnNGQ!ov$nOv9tc%Lb2{i-v%Uk z={J5C?qK9#*v(=(WPT1h9l2e{G6OrxUp9XdcJIgfM)Gk-RzwlFIhm3Plc{8c^FBko z{UU2W!nRgMPxzh3(vuy^{^nnjfnbQ>6J(x_uuD(a=bGz8NIcE$T07C>!Rs${Amc5? zWI*MFsslhhGn)8a$Q?qO(%V457c%V9c0{;U{{&%yj993Ow3{{MGxyv&- zbJu2VsS^0+n_2KxT@x@#QWo-`X-n=9F;0N z>H^=q%(#NZrSCT7YLO2i^XviUdD_FoEBcXc1CzWd`>y;ymTM> zC1>fmRHFhndK@VzlAkTJ{L3H%w5W1l)V}tEPbRmsr}(-PsgDghcK|-n^+FMzgC}=# z-!sbbod+W4i0nwM%mhYgGIcx)ZoELGnybVZQ>{Y7*npuOj$wO3cZ?4mYa~PJ9aO1W z2bW+X!1M-piddOON89URrS=o8i}o|JeCbgmkhFq#pew_HAGfm=$1n+Tg1_9~YOe0n zvm`{63D4Vg)txJr>rj66ty+4R5<#9nKCBDBF7Q}aetSk+r7oxTK=8XMDbtv+D;g)o zP#!Hu0Y@!e>^_#ww}{J_gTL1-`*7D_n+WBp>I_=8`UlvU$qTNcd z5B2Y`j1&S3K|yVp#MN3w$D~%A^fD>db75~|sL|Pn%PC-s@ZeeK zOfTw|8W0{3y~dQThFqU+145mnPGtk`hz9!Z0_WSj7-X74%Hbwo z1HV5MdN`P}fXOb1xhd;kwbe;nO^tf-rd17=SjbAtYMmanQaYFebB>ZoDkK_|Cd7HQ zv(~NIZD?Pkp(Q>kLb*vSD4vGu={$6ANHxE%fZTfge6mn4|2}ifha_Il850`2+={DeYmkL&p7DhDywu2)fZdDl>lbH2`n zD9BK!<%Xf&cn8j*-{mZQ=w#^dBSCaR`aL{eaPe^rO7Vv%A}J|Sp$I{*mIKDR5f1(U zY;&aI8HU&yCKWT8oRLzrpXf2lA-YklT*R%jnoj-$Q0!TuQ)n|>`mVyAZSM+3 zV(Z%`oEfLn-wQM&S59}rf;{|AxhZ*Wlp9a-bzpD&qV}=V9uCdx`U{SSIOPwUjDQ}&d%tuNsUI_~$d-4iz15FCyl#6SENMUCft3-ZgC zQ<#6nZ^i!ySSo32V(DmV?ED`=xvHyn7^WB>IqPj zOtF(NnLcwZ5k72t%H(SIW_wXf8W)E|aZ;6yXhmomVq-y0t?+)SMcd)L1FY6YR#uA? zC+SSWxRf_lJG(RfQg9kiiM(9+F0?Q0F7&*!{oQ-k0zba-pZOl8qxst99xQ7g;Bh!6 z$o}AvK%KV|dMQF3(869IcT5Mt>pEQjjk0Cz2eIqz2%%eVRufE=m~b)q1JH4^0@S)c z`S&{nz)2Y5p)d49bo2+b2}w}!-`Fy9R#}bXRmve+xuvzhTrYYy(7+@bnn>;`Oe(&N z#y~xx&^?*lUcCC2*4!b%A`!!+>}rvNRr_$_V0M~0AC~s6k1TZ{Zdk(~rU$>(=9&fA zegCSH`BZyv9)|7TPFH8# zKZlT0%sKUC{>~ZzNxs|eYFTRW)IA=$D8M0V?Vs&N5@>eTkMi)&d?~yXC(hFe;u^fkv z9h?m<%erQot}rOxNcuHH>+Zms^GLv8wgZos%5OVsp1YKYd#H}6q2s$6U6#y3tyY>}k_k;?1V>D-)yp}{ zybFcfW{ClWh%b|KBBuBXD1^_FOILIt^a4T7o^J~0dAEMLB<)oF9Jn_V<}q-9;=^Vs zzgrz}TVliYjeOUD^1_~e<~|@bMk9Y=seHbM_ZuK}B_VTl#B?o?yep7BGZXZhrh|^h z3Od4mVWtnYS3>N^e7WxC_KyP!>0sinVeqVBkw0oi@3=YO_(hUqVErtUi&jj+DZye9 z!XI$>g-&IW#w{5Jq~WEMo9*NlxrB=nK$&&c+&gAd%+CYzJd0(Q@b$q}p<~bSdk1>H z4*#h}y*P%96N*WC)6Ghdu!zY-e8&n#!`W{ky_?bJt~8^N_1og$Ab-2Vk7dU0Wqyk+ z1c^DMZ1m#DcZZ%jqwdm2ZPUTqNAnQsE2E-=1{{*i?6Y}-7hcg-aU0yGzI@e;G zC9-950#&W);}Tp)wR5L)$bRL~bd^W*3fQEQSVuv1nxrh3Xzs?|vr9wtEl!V!hR9Mt zrNq4WnHTit>s(H+Ts1pxuDl@5w@dtsHIb6l3-bFmx00;*6Q+DrB+cBzu4FiEg+^>-^LH&5JgH-q13q+Gxnn54V4 zOk9UBM+QRX=#JfMd9^YlDq>_qw`$r~QDh#@8S{A=HOg>)Wx~mKOBt#v-~nRtb>O5- zr#3625u^$WfNH6nlI2gi&LVMPksE#D+(azG;_f(Bcrgl<^^N|S7w%8EqM3lwI&N^o zWVfM0ky6&*ojpg-`Euf={sTdzc(^Ysu=oW|Xe9iYpV!tIgMTe5ZgjMy|5ZBV7AzwP zH+ayZFygOZkASqFgY+T~NyFbf+x?+4@X8D_CM&R}tVN^kwQ`5T0V#0k{es(oh&2Lr zpE372g%ku0OVJF*Hv+APy{=>jwHm`G0HcwpkHG>a3URNQpLx{{)Ws=d+xo-=xLREP z0Wq{+Py%#4z4U8+=WrZ7umNR<$708WaYP7&`csiAwm^^IXOufw)ehteP|_NW$tcYo zuG$?pXa_SJt%R9EZvgX}w;QwMy2~A6aUiRebYctJ0qai$=?rjHg=V9`V@FqudO}eq zy99Fwyb9}bn)h132Ax=;<}tp0hn$yIpm-4|<|(c7+t49{F+%>Ry;WE+q5@3J8&89z z`l;#$(`*aIHh`k#2gc^rW>ONcOw8P+o< zp|5n)%;eH&_7D8^9uW{!U4$>NA5_LIOH~(>7p;Ui&0=jX*UwBSL{)QwQy{X`s{@-h z+%I>~*DCxnJ>V1^`qaC$GxQ2OH|eE!;9QCFLUky|FYCdGq{_Y+ON@`O^o@5aW>_*gtR%h3G_L^#4>Y*#G-*u54;< zV`}>!+&V>R{TI3r&i5q1vgBGbOGMSmoOqQ>L-X>xXlFQPBMCiZS2(072ImMxPW>`N zM^>O+k%5xJ6__{mb=Ep%px9Ja#_b!3$NV6RSn!W8%v9el8SC(`;bRTq+ydtV9q!aq zcjHr+4;e(V&{yT-kt1A@1&cfQEouwulUC@Q0vd9wlaYwV(1J#BIUHH?W3B4T7?BE* z(_0dIfzVZ5mRwl*gr`D9YFK7%#i}C>Rele3_uV6vqUuxXin&BO#^8#A(c1S_6)t!H zmoH1og#x6QO8mYC)oR&~H{CwJN~sp-wL$0vzQe;leAYAE9Knp07`n3L&MIn7%mKpC zOv8_^gu)4hr79{n?t|8$9#x5Vnw8?QZgmqrUZTEytvxD8MAcndn=AtSW*aU~#5Qz4 zY8*Ab8T6Xsq;A*^Zl5&P{a8W!wOn)w%#sluXIhcaw}}tg5XdN9KRiUB^zq=YsMKQC zq5RccszCHbI1$ue+(t`JTyW3~n7v@*oFaaVQRUBk!R5dHUhBm^AUfW`;Ttg1IPRvG zA5f;Zu>_edm}ziwnN$13b`Vdui&OPHB<#XaUx|E<_^G%fbf~Z;-7blshbPRKBJ6{N z`J^@RWXoRzXv-_^zoxXLwJPdm?G`^ltq?Tbs0F5Bc4uuR_C3H&UVl0yY3ey#QPm}h zHl^^6^h7TDc%tV^aKws~FZll3u{)pdp~3|J@+B4GU$Kb)55er;Ea@c-oh+1{9SxmL z%{~5uM5t)XqYHfsW(Dibwgn_y*Nm`TUl1a(Xh?;^>tqXA<^_6YF&0=&mSenFjAUM^ z-of>~h3hePZMqvXJ>JF`hUPQ#Cc+Hp4snC!^wp-61q{B zZWQpma@qCZCy~7^aZ`<3_zMSbLr){g?ReSaLR$16bhopr$c2q$S7!97?)GnD*b^f; z#fFK(7yD|1*I9EpkwLnGF$hx}CeDZkS98Q>mQLu2FEX9SXBolnwk4T0rSYVM{jI~6 zAoYM+oT9p@oK-w=xVoJ3auW$z8Q%!z`7X2~k7t#}(6QhI1%K!0_G2l-k(S?<4hNOk z-JCLuNwIIg>&5bENgIxra+$3EkXH6Y`%x46cp6W`x*%}n}aLaY~gX)w9QJ@9TQcI%$m zz4B{#;QTM>LPNRkNYwGv=YZ1Ioi(`n9DZbxTznfKt~_`HX`I%+JLZ@zv$22?J&V>h zTgZ-EH0YXpP=o3^Z{BnTD8uS6Eb5pxE#*y1!87>y2UZC+puBczndpMS{gI1P0YMRo3gjk!Rrb_IlLkv5)&i-2Xa)f$_hO zwk-dC%wuAN;QN>{M5$~zn&AJ!GK%WpLNby3CZT5J7qT{%jew&l+nU#L|AI^@uG{J& za4X<_z!rCSj${zZC??9Bn#-Y;OG%ew^7F!bx5#MpXtYjtYfa17rJqJjIDYZ9FJq_O zs6&JSUOxU@))=8KQ3~bGk2uMVT_?3&VNg=nCPXkJ@wW)`b4_x7%YxQY$j$^@8uAa6 z-3pwl9$1^HT693b@(_iLLT>lxu3=!y$H%qHKlga@x&G_7AoSmO3&NJ>|DHwhpPQKf zTint96wGnnLL8yrMLpJv7w^V$iL7w@M*xQW?jW=6Of4jCs7Cy9;5H(RB#FQ*Lo6O; zR6%pbqZgp92rqSn1jDX_rCf<8Eo{1&G)kLExpv{IC86#2xk`u=YxXKfqw&CieX1^& zoL&*T%P{L?(vjTP91St&Ra~c^l@r1N1to0{k^6bHv*P{umU&>((gM*P)LkDVG=#^g zv6Y4zYy8aQ^N4Vhw9De8c8b#N6U9WVs*C%)xpv&X8`Q~FWn^qpCTV=4xUml_u}#%F z1dUSoF}>hjM_tvDyofWR4=05?b`52*bY34n5n9ygwEs#L@M;>bCW-WWmYP9HlPzy2 z+ka!hH8E~P)Cy{p(GqDaO*wh??kCW+iiUm9N64CO*fqSlyj zff3gc=)%|$IbMKh-w05yC9W<-OZ+<^dAf*{hWxxUdW!oXo~A6BhyuIJf-uir7#L`c zstqdNGL!P}oJ}!OqHC3<2(gtM5}Q$~ARr4j$rOn+oA+m-3ocJ=Ft${Kih6+|IOoLpg3PmmS|BP7eg@WnZb9V?IF5xB5#-ujZe;PzykzIrHOwAwL@FqSG+uy{14me+z`~@;2oo2(ITY15ntbg-@Ik;ls2frsQM{Z-98Tn5@>X||;2}=wK zG~*(pNYxX%!y}`ixrbY~7%u2r!0#HGf=~WH5J_==hSB*Ene!9iSvrE?uBOSJ$Il+9 zNgOO$@(Pn^1-l~n4;EWqjPDbEevM-OrJN)7Kf~hxbD(6>4*e&_`ykPW7S^iE_?H68 z0{9p|05=L%C?vQf$-p--A+$7r3y$m-k8(4}gO5$>EuKYCqw1Hs4HQB5mseVFSk^}U8LXygI-PouQkB-cER~ZK zl?i^-v%v@peNykAP3EuW{=HceSRx9wq+e7A#Dj5>s#jfK!c}#tH9|e=&62SOtIFA| zRTq zRbPDU{cJ@0ui7KeElgp%7M;UMvq9LZ z=}jZ4?sP8tDaPdJ4DlB;#+F1wP`SR;fcP2wNWG322B*)~HHE`TfUTJ4GfFnnkkcKW zRTxHSR>)MbEH;VG1qOV zqD)woCcLZ39P|Bd(`d9_&Xn0`BN~2_6tDmleH=e(t<7S}1-Uvy&Pv75Z}+zqQUdKg z9hbG{OZ3hT!ztPbSy4V)#0a%Epja`hKz6-rVK>UO%fz*@q_ zS2sXQUy31XLaCr+1M+qeZY_fg@rKGOt1wM(8meSb8mhF-J(I|qQ;MA8Cb(b^Uylbk zX|8B+3Cf{mr00XjOM zV%D9uOpy=Fl1U{BzhQNFr=MW9)cPc~23TkXPtxKY&$z0I!ilHlzLOY{dA^w`v;ECJ z7*`!n56`32b|}M55-%!l^uT|ov?fhT%)|mF(e@fd7l zyE7QwB^2o$ zos=3bqE7 z;GpLt4qs2)Cr(3V?d@8}%GcuMnGoNSy=3Q^wLD>T^iS5-Jh8u|vvqus zsZFI%5}0=s^@1cPQadh7aoerPCm>&}$cH*9C)3uHRCL3$yC6sW0x=u>ienV#kg5<* zbiQdH8z0zlhMr9Y*dcm>y+ngI&hYU^U>CoR*9{P-4*dxlL@eO$2$EMMqhOY9_Nv=v zq5z+IQod37`Xj;p9)@2Cn+L@jQR)>=V7H9(#(u(w=D;CA{7E%w-2WN*9~8fUydPKo zL~+2soIer$|3dNq&8`1)QC*~>`%h8*eO9=oN}FalERY&Lff1^iI#SD8G`tQl4g5vC zWeIQ0XRG38H)kD6vJBd2Cd13^;8TEK<&g^KxV`@$`n!&S=xCr^{^K zt&Itf4>3Z_Qu+@NWfHgPv$p0Rh+p4fYO{3cFcc`ai})%Sqx?^8oh?53?i)`BFrVTI zajzau%aQG6PS>t!Ou~q9#OpemwHN;>2#phMd`eZeBNnB-2XH(+t+-=bU`I@FbX3)R zo@1{xhCIYg9EYHUgW?*+V`PqYnuI;X78O#eYHaj5Dqc&`bNh+vF052B?r5TSs{?oeLBJH&caO->J7ja9iHVr7FdI z%Q>mo=Ip=P9GE(Pf#~Xw7Zk!&$d}FrutY}X)3*kXnG7A@4>1Qoj^ABb?!#B5o8T^A zl*LU6K*s+s(%vyhlrUS@EZeqi?eZ?$wr$(CZQFL$F59+imu*jV-{^DZ#+~k&6BChN zX8z4DbG?xZ&syRcORNSv@x;3DfD8=6Ddi)GpgTm^ik`2(i*{N;zaav^1^G~_y0}9E zvL4)sGf*Exi}vppJV#sZKVaO31qK0SfffK`?@UG`jZ?$ySq-!Zn)*#k?sOU1r47+d zH^Sj_>5!3-$He52gdL)1e>`r2wV`%j#3CXf=Y9cC_p+8MN9))WQ#e&~UYRviAG{S{ z&%hWE3*)R0olO$kq?5>S6f|Wu)>rI*SjO@L_hs3S$G!6(J#NPTk!AdEPB((^chk}` zl^VA{G#e2H2z}mvd)<^Q|Lt|R-^1R2nS^}1ZC?SDn1$Xz5Sy!4AE`G?in$yPFRM_M zNMvKT*yl`msVIL~fF&XT5>mbdGY>gWyMzi9r662SbVv+IQ1PF9a!2p11YIeVR zYwF7yqZJ5ad}&LcR5hb53D_G3iN6uNyzCe5UF3()8vBiMe9^SqlgvT?V=o?99>}YI zp7j1_{d>Rr->ZayyOXgay}-};U)tbE@~^x9tP<5Ihl2bl!D6XEnkd4wtapfp;)UV= zjJ*y2#NL)Z8J5#tWIsTAZU`cNRKhpucKRwnqryMU>F;(n$MYuh^Yp`eEWIw^WMP&F zj6JM2rW0|WTuRQKrh_V$W(`Y@uie7up?nR!ro>Gr#=SDb>3^6Z^=bQx;Viq+J~&g}Ua^D@in*7}sv_>bmlGo7t?ZfT#$G??+O&FP zEy=m_dG_txEL32Hl_e6W&*a;Mh^x^!%`gjCu8I-ysz{MRed-*tdQS9{TIesU|FzcC zcFd&|NscR&o97<6c<$iT)p8{t;57A=Eq%)eM*AYzTLqP`sZ~$2SCzKu4BA}qN74J& zrZL7>Cq{?&pS))bsM0c^2&eEw77=^QBv4hm% zIsoZK>ej?9q1>M(G|n@;A5*jLoVqQ4gUlyRrN?dJtg&$*R3_afx`gLX8z) zaY|bHZ_Eyt+~9ySYGLgA;(DCB^4l=(^_xFQdyy#UAeEO3r9Eu0QuB)gFRt6`(ut5k zAtt0Gq4-ULCZt>_u_yaIU6ArHzU;bH9lQ$KbFGboqx1pi^;kuh;M|d^-t7Wne+^9X zKj^Jv*raa?M8U$SDUx3x|1gV=AT8kH{~r?Z|6~^bB@xm;aXEzGomGo-`2U+k>F5$70FDb^oy!>|I=O|L+n( z`)}pa+{Vd~Ufjm%U$Wr%zrt|Up3q)OOU=(3$G>V5$BYs<#)5*x1^gHQfdEb11Op%- z2?zm`Li^*S^hoIM`Q*G<7fqX0O{J9RDUb}97TDScCw#-fMa(HS-2h`*2*#m&o_bTWtD5agtC^I{g zP+}SB=C~a+hc_)khr>wh~cp3BD<~oZxKP7d}c@%)2cEQ=W z3b@ahmRXz zRmoaS&y<`}!4g4}L)2#~wHr#>jYf*f-rh@`>lo4d$|dIvz(hqtUDcJP%st%OEzO>p z?VZh3?jY<5V@1Fw#A4VMM&!S4I_{m);Gq$snw(W@wd5Nqnm-m{CxVrS+JCjQ{(5q9 zNl>Rcnbkm!MpfR|caO9S<$x;_Nc(stYu6{F*;nl9ZK|o82p7wwr~KhEn(S4rl|>Hqg3k$ zKGrf0EnDi)4E>qLiiPo~fP8u0*!e!-y#3t+*TxT9T*TEA*nC6eDwle&IKA&8ZD7FD zc@Iy3V!n{$^nD1jx*(mdQYx>?ED=5o(Wx2utH zdoJ6|*0DELEHeMD(i4eR`c{T*6OKdXg-L)ft-XxeUb(C6*W41;xy>ePXW09nf`KhN z_;S?qld#rbgi=&ou3X1gvk45LscosLZSeVi0&au;GOMEC@=DyYV%~Am?f8VHR%!=Z zP~aS+ctk^?3n5X@3^*>mh`2pa-yw3`RtUPQ+wI*gzvo&wmz%S3EG@e_Yr3;H^{gcR ziXppUP|ktty7m%ta(nn7{_VdSep+63k>6YJj^fx)J4z@g{tkf~*@J`1Bp6&P|Rs3l@FMld#W(+Nf2B_R}5?FtS^+$_$|cF&(* zJaLTMUSI4`sE|vcV#jpsDIIvmv^!iD!j}B z?}FXH#tm=PvpCu#I2x&h@BH4(4Z1)EZFq~?aZQL@RinKoRvTpEpNYUPi&E}ixok(T zop9H;(^}c}C4({xQQv;PoV&odJVCyQ;xK=9Q?$2kYa%S(np{QA1vNj$m6Z92_+5T^ zj!@#t42(F9YvbVKa4t13nVfj_=Q}RLWSp%-a%Z)`lp-oJlIh{dlS#|h-=R}KWr;x= zOfyihr<=;DyZ}*kw${F#R(gPwdMc4cBkP|_ve6rz zWKwgd8Abw+$p`MAM}#jc?zXm69ddY+;v%>g8+;l;Y~FWcwydgdmac;&M+i4i6O*K5 zkRK6ePj6hd{yjBCYflD>YzanG!Lz))xXn4TZoNOVFy zSlZUI?&$f~maFFal$^H7S(%oK%8FWz9%kppCv;R=(TEIa~4~~A5+H#KK8754f z6!otKPh^~XlSkn#FT%g8HTSbC4K-gTKPNV@4QVY6vmt9Vqa~hOKsc6zW-Qd0!m*fd z`K6nF4N=+-X{c~-^MA>z6l#&G?JO*3n?=`3JCTZsDQjwax<(NPgJ7Bi{ALJM-Resz zGIcCyjI7nswg+<8fGsB)$tWu#S;yi^pYmY0wub#NLbyKaCf(@2r(Mv^T*PO86PZRkI;@OS zb0SQ-jpkxk;8*ED7LnhP;~{6cCe}utppi?`@~i-scg+!UeCvqoS_)Ba61F>+qVVVa zEY+!~E5a$&o1Er8*FNoqKzOw^wa{>di?t*RGi1vwk!8o~PW<2~k)-RquuVJ1(9)33 zDqoREk||!{jbsns${l4S*`5pDJ(h)Y=VZo-J@l(esG^ck=lbgQKq!rCn1-T(Wr61A zQ6;Y1sDEsn%WCtAW-?+G0 zqfd(YJI!+mwoCkz7OIp2yP?Uumoic?sY}R11@H3*u*+!)WKm zk)8QJT<#(|nOb3$(*xo)XxP2Q`ucu$=zLtj`G1*`U$GDrNoZ*2n-2HB1yhGot&2dlKobfJ zq{C>6g-{A5Eyv>?>JQDK&Lg#kI_O2`C@!=h%Y#$x8PK6R-jDk`@JTC<(LZ#jpmoCy z_dYU!+8|T}3%@IAHkYGhmslv;11B40$VXs{i#xNE-YRU6JvJfL9%0W~9vt>h9j6`9 zjRw^gr4N}-Jgu4B?imxOgR*6d?zcFS;E{!kPE*_8hau4qq>WZ8P_aD3>@Cp4zxL>?c7>Sl4B0ot{_5m+Y8FT&?D{HD^~ zMCKCdcE}i16|Y^HC;6+1WDK=!OjLwj{uksF#?3C6sp_MiVLAc7F#aQF1sP772}STc zlu@wtMbqO;1|kd2OZ-kRu~`^?xO(7TkGXlQpecEMm6E$?8f!L0Sr4e)TLMs82#p#+ z4#XHPQmn(VbP z*o$pUm*B877?4DMovI+kv=J~Q^_$R!IUh|lvBt{Jx={N$4wxGfbwu=eplOZ+A^KHB z+ws0DAd%sms7A-tQ3#UaJx?m846vEcoD)Vp5vam<8u}_k2lYMSTBcywPhg2>lnopf z_pViZ#M(DQwg(!ch{${MnTWsg5bx#06>)X*V6E@_k$eehy~cH5YmMs2XH_=^Rg*%e8WUqv2p z287lw3kbLA35*P~dI!alRio9fv4A~l#g+`unrbw-2IU_h0ETJszRoV&cbZwwTH_$r zioph&VsjZhKWQlh^W)f2N>#ihQ=}wQrX-WUBr@)_z^EhLs6*YTV@*zarkEXk8L`y1 z?{!e*J`WtdDBUK>xGs9|gK|OJJkuu8y5rHP1GL}ikvI)*Lwe!pU25SdK9iP^fO)H{ z-{iqZ%?k&Nk#QN;;2!MhO26BMRKB8p(@R0=#f@DEdih}>BHvOcCq&)`8+9rT0}mBD zZ(75fv3fehE=X{&urh@1Gnj?SepQldvRGIXJaiXAQw(y=2yzUOtL>QJn2N;O8J}X$ zKarIbPb@LbP;#=K^sgEcb}(LoFCo{R-9CK_ZQB%*ZQa9}Tzz$KMjuof#sg0F#J#x$ zMhj9%aS)WcTX1zy<}I)2E6Q&LleT0H%x?*`*fK08rTIY!?23FU)se6lI>KxfnB_6O zsoT`UFI#z_M{0_GT|vg4Xw)Dpvr$K<;-Nz`YQX~Fo^AB z3kh&Y16BxKu8y)zDNP|ML9Sq1-&H)H8>^!<4x)_Slgs+(lPTk460G~Z{7 zCqiObFQkMs5tzK1qJwMnZ;m7KiA-Sna>o&GOuRep6W&kA9Kb6$P?%2aT1$zEF8V4U*d?Qp5kOoUMh$yHCNuui{pzV;V8BTo07n~YxN6f(;y zkYV9v!<`Kd67M+HK*fmS;E;)w<9?fo5W0@BOz}X;69%t&J6LUeg=vCxQCzy~(8^G) zs-i3Y={n*g7&p@75Z4gw-C_Od(~kUOr-eMnb&h?G%X)g5iE`ybDV*919bF8I9KqcL zJQ+vE*7h2T;>iQnDdwswO_3Dm1v&LklJhl0qvFlA-wj;%t#Bz-TPoXl#_C6t`0sl2 z_jczU$9qrCGrhQ9T(Z5|o321lZ`Y*`?dm*$@Z7-QJ--$OeE~Wi1jEE?i?X#ARp=r* z2gmAl$Nl2z9wZr#S_5d2uw*d@!{>Z<_Vlh2MZF=J79)l~4Y9qv}YXvqqpf z_|^iyL8QK$d4W+{)cAx3_YW}|Bk4veL!D7 z;My%Ujen@gmYGOmwkKf%MLn>w92sg`;EXZYG!_SCWn6r zwh1oW$hOOA#!8)UDA@AKHk$GUcToJS7xU1wYSLY&8rj{B=IKcL^jG6XV>^pNJ9H(H zqk+=A%OB=|x_F^Z=?&wo%s1P};aFiko1fBw{&E$T zM=i{=?2v@3id0pNc-E==^5fhZMa?$w&_kbi0Tn1Oo|+=pPgg!dCh(rcXr3JNJe1OK z)cFvl{cu$@QqZ1N6z*Z+iem$6zK{1=C@fRQD!Sge?V6w|xWI-_QJRdU%l<7dbm=b)b_WNA&BW-{5*!_zGar5N$(%)saT{eslg8;JxUq+}Niq+?(Euqj?4*x_8RN z3!`~WVv`d%EZ6*=IwkSV@rOpYT~cVH_iEexvu^~kAb0(Xy@h7+h2CQ|`)0j2LHjI| z$k(C1u_mE{O4BjeYoEJ}4N;SAhzt$;HkFBQKrZw%YZy~53vb(Y6h=nS$lWw1>X${y z82AXkfw!IMNf8N5{i#d?Ri^<3;rME@L|>4D>aySy59OUEsQow`2x$^T2f#Q$E*%gz zNm6@t+EL&}4|dbI0d?XBZbG!+Y{!uId=JMc#!yeaM45IGlR#pOkjQg}Hp-HO0qx3X>9NuKUGkOr2B&alXZYxhb1x$bvI3$= zg2O`Z^e6(a%`D;Nr7$da5j;9aN50UX}Ww?BxqZ^?mV`g)uC67&hV$~tYAQB;m86v36J+80l-)T_?x1eQ(E0PbkjRkIr1S4+ z+)R3P6sR9H=!G?r1pRejEwf z#V(QEs*K$W22VHvM~X9pqz60TKu1_~h%DyO-3NMNlQs-jW~6$b(Ws6SfT$>T?^(en zb_n(L9KZ9JRD8>>)tm$Xnc``|R{Le9v0tnIQ`|17@tfV}Md$k z&%!*_Y+0q!g6-6w?$TJCfJ{@jB~$LRIS0SIU>bRH4vhJ^LywAj)sBVB{YBkDF?6+Y zrWiK~|Dqz>eu4~l?8RdHglOV7O2_O)mU5QUk6aybU>Ewdz77)_y^K-RMslc7$7f+= z3tkHPyP*T#E`bbo5{mYK{d7n|@n_>p_aaW3&?Q*8AYIuMta%k~Q|p05x|_1g_M+Y- z+ktbPaP38WrE}x|g7OmW!PZH=_Gdft+`GQ>zVY|s1-#>V7=<@z>B5J71xT3)wQKlb zm`;X2P~Bi@@;K1x60S83w%^T)aNX>uHbf8oqD&aXRVCMv3Gk#6AF%~3?oVgq2Ec=MQZOKR zlh21vkK_Lg`tfE*S8QLEj88tGk}nwp(UcDJ2QXkK$WIr3pjNZj7V9ZQ`U1AJu2n|f zL72v8EMh3VD7&pGt==qK)q`R_S=5L1a{X_M%fmgAn5sYoxRP)vHz{yLvQ%1yQSp{1 zwKYOnQ+_Fvv1MA2>+BKnql6d_u)EW(ok>Fu@%7U;+*&mfP^tn;zl~z~?MnGDH{#xw zg?Z=FpD6pqUXpz4zBR% zBC{N|(B~T1?M^Pq3vZ*v&(GPZ9XOjK$z%R4-T~bzP+#%T{Q}cp`q+QOxB%ki?4{a= zhk0o8Ko&#lLYb1J! zRkL&_h+Kqw%IyU{bhvP~2;F+t4!yb~k;ei2*uK1HtZ~c0s+NV8b?yBP+?I9S>LDJ& zO2%9I#_E>dCJm}+SCD2u;=B^NM5ovX3>p1itDfHuLoB(8lh4_Ge=85EGw;xucDRgs zT*th8N$)>lhbetS9gcpdm2|-~C;Rpa9098pc|o94eK*jjsiR1`MxfZ^Y?WQ3Q5wV* zoJ}lmd8Bt&8@Di~t_^FMU@0cmkg76z&xxA+mQ2qLcq<3&+%`-vP$@$DK>cIB68?EJ zjWAH5ZceZ1qzSymM3bt9Rr|g@D*x3=7*ityoXY7fmvr4!@X?J@5?`DpC$YfP9F{?v z9c}h-8(`WZ7{fl5AQ{uvewcF^PwX*^X!pd)sD$nWy4h_*qE-g&0pw8|b2m-{k`brR z)3vw+e?2o@w1|=m#p#hf=GRDc2HoMYHRjhzbO!I?@o2=Ci!%m!$j*repo*p?3t5E& ziQyxo_9Up1cCt(!_WbjM(TEjmdB@Qz3^RZ~^~)js#8Ep54-K3-S_>}=`(UweH5+uy z64)R6`Ybf|#ev7oNrxeDxQEcEG=!W;uMx);TIpaufZauN&*5!gOjVvwjr1H2gyd>C zQ18!q`E;BWiTP7&n4w_3Hl1!Wpn7%1LfBT$DljYXS)#@@+)kXaiU^7jQZkau;ZQ=N z2n`2C%dIEH{T{M{PkInc*Z?+^3Vg^U0vc2iFN|}dC<_xFS`bcYtGK=p2EO@Z<-jVV z=2toIEw2fXYR3Dp00voFlFO^{XFSuuDAj>MJtJk%)CP}Se3YxS@l!q%Q7hGfN-asxD#R}Y5qODW44idCL#*xq5vv=m|Dr@Q0w4m-PY$2?`Eh|&a6TB4qvmOj; z!G>1;n_YM-{C-hetx_l0a>=qT{Y`W6+&PkR-{dMl48)dS0sKh=p@He=tE)% zJiAS{i~e!ICLs6SOayLI#>$a58R&*xC*r-#h`^Wk6(HH+w0t*^g&5woS7%eU*sCk% zua;ytC{7(^T3!OEk`j}@M2ZtPf!{bK$4%aDxD@0KA-9m;;fU;wzI{COeyCg8x|W>Z zH-R=L%*Za+i*lOu$#1ytpl=at&c*%blNj$Xg<<6vq9^$=$Z{?mX4?wq~upKwdh_-_5+%K?MxiVv& zH|XBbeD-b+h$shnTJ)uXz#SN$5f5f|^2t9~?%ew&r5v#Vu~2{+=`^ixC+az8)U9s{ zwn&*^1`Qe9P>Y@ff?Lq)XWa-2*MY%jKP_Fiz@3$JOL+hoANj?~-t$F&1FV#R>&Lz! zY!>4Mc(YvBc?^;bYKp4g+@&4$%405x1sp2A;gp{?G!_0IXu@3Z9q=J|Yh47#QCZKKY zib=cF{oVmjNjuHB#tr^)oTe}fdD`5$G+0+6u}Ck5kYl?@jJV^MUHe|CFGszP69VS~ zyF&p3ELCoH=`9Vv2R|`+hV3D9^bs>{GDu_8haR5vBzhG(i#q*^L3b`JW)Aw~A>?tL zP7gJwL<|ZT6zI7&+9V7L)N&?11qmIC7hK728y54Krf9|pH4bC^xlAUxUcL2uP^f76 zf}ez$lC~}3+%_R`sK#CR6V&Ti6S{+NWE9bU!{?1t8kA3;e({luJx#e*Qb8jEEw%)s zUbwu_TNPxI$S|lt{H=Z=$*&C>uwnTNkYSPGbL+%E0Wy~0^OZl*FXVUwDwh;dYD)KH9u1*Zm~X<~ zAi2wPNHe7RU0H%wenI-waO}!vAZKSl-?OmE%sXWj81J%7Mcy|{X;r-1wWkE9TKIHn zO$<{v<9r09M7k<|^U&hQnibw4RwLjqh#W9$Kp$$Sy)e?#zX6k4v=!ud-UzCyb#)Pr@$3lDH(rS}XtN;HbW6v=ZLe-P89M-o<8bC3M_W!EwGp^&vp{!R>CQdC$w!pONdi6ECWdtNda75_ zNQaq~uER4z!Lo^;Y$RU}S}>3`S=53_ABe|v(J_)WD~p+!!i9nYK6dzkvfDKT0&#*FEr1*Z<)r}i$H?5mP>;6dj zBo}qwt}bb}dK!t}Pi#XRf1xiM2;-JE&ioQTun`Ollz%ek!Fij-6|h}iz5y7p?fUqkQd@nQ61=n5F$m=V6sF#T2m@)la z>xOm`Tp>kawdAeLNq)PM)IYr$2lvVRN!y1>Ft7X}}CRD9vGjdQb zH$0c_XX1>Wes!k>SZdP1+w=np6_L)}C?g&izvC3r4>nMXYl zmuq=yXVi8RDqHfFbnWpLd0c*r*O!HAw+1y^&^~(8G}=BuJ(KDM|?TQ)-Y)m-ziRHBQMu$%!xLAz+j#OOD_%l4byO zXkL+M!frt(=3qhTj<5Y8Y?RHZED0`>h8WmH96n;RA39a6vpUKkanaBiMO7^NMS5Ps z2n8c(&YwgJC>@SFUSuGRNH@(G4FGLEjG6C}e7YZmy7ne7UByV#T$qDRd5$#h4LC_b zE?J|{R7|aDm&J(FysYhSC?Lf`8g%e6qU2VfBUrE^7`QQ3t}WiTF@us92&g!x_RcH0 zG|LGJ=N9w+__~XT9LQ$G)IN zGJZ&Q|D=m3%MjqJibncN^{(#O4RO`k-cY9h;u@^um(%74pY=u}6A*lcD0zxgyl8*8 z*4v_P7tQSynt5gB?11B%&fXhKtoioNo3+;NTE2ArefwwKTL(TWOEwt*fT`4fDvka3 zU2Xo4y0?D^q-HByS}7{yd}n8O^3b&=)tmzY+Kc&DD|5Sy}*=dp*zc3v^n zSY8ipZ{#!1!G{Qa?1QK3@kxC&z4*hEAYnxpB;*MI@yy1(gqaP(^Xy0JL2!N_w_qcP zlRW*+y65_Se&wAv^!@XN=BKIuGS^$T>ZFJ|L6criI3i`egxk8GF_dK9E<+hIQjRhec0$^k0fOUi*_^VS^oGGrH4E*+rO|G+ z^(%pr)V<&WLcdc8>dFbnwqdHMLyLKJZCY?VPv->_h314yxc^bn6ebqYyk4N?gr$-o zv%#QO)+QW`5%%7vM%a*DcF0=V0D{*=LOma~_>qJ4YX=Dy89!ge57wsH3uqm{b=kEmd4z$-N2IWuScv1^HqXUpBX+)6=5W{SNp~gQZYuMt}ZlZ zOSQkf7_8$Y8g-Hzj}3jZs~J-g$-!zB`srSw`xmpVl}b}bK1IKb?63zOBw3fwu2}EX zm}twjpi}o;U~$#lPlYFH+~jqNrJTn(XW~!jV71kRy%w;VMWbpA;t4m_J(u2ORV)gx zqMWn>#Wc5LJ1GagDJg+Zq^98xV>YsOS++UU@$ zM2&I&fT^v&g)rfsGg9hn6tGyvu^;=023mi!;Tgu2v~%vzG~~fvO2L7A5m}ROzFtmRddMUXAZ7y|vO2Use6m;5qK|eqlfBaXw0`OoKU?B>+pciBD&{ z&iA@=lXZstkg3VNdxgv?>>xR29ASC_6yS(5B=7~Ne&jtVE`Sw4yfDFkq6vJ#^}pyc zUJ&_1?VC?IA|vHXwOvsW5v7+wM2@cV6eR@gM~pO4A$^{% z@=Qh!J;_ZHH3=_?N2Xm8NilHq*eeJLxmndNhHI5Hx=N4}6=;t7D4huv5tkExcERkh zo5WL_CqXDgNHxXEa#ITEw209dDcM7l@@=0=*eX=25f%^`jP?pI%AF(idyXXqDNU8- z=#h~rC2tlBOW~EX$zaLa$d)yA$q~XdVOCs#@8d`4FUaN-~Rwve-$r!4Lv!;*Z=j60sMiS^g_u! zz&mvR!F=(zv_982rtkwA=U8{2imMlZm3faQxe^7eZ5@q@;4Z>RC-1AKYF z*C_Kv)(ZPO{c`tDUFl1$75R5`cdxH$=qvsO1@Fl8-92p9_o?%HB*X#4Uwz=WvdS4* z!n1=n5SE7UH;|w;4yy;UyzK0LGFzbe3y`}YuM;ED`gA#f$~FB>S+OA-6#?G0g}PYS z1Hgjd8z^c$KRJxr20$x9ls=yyHWewNA=?cL9x-B1|1NvD=?}v50pbsvDsV5DtoD_* z=@%(h2Mw_Z-~3ACLK*p2A*h4xJdk3R^4sSSE8yv$Toc*^=Nr`zxe@*!=~Ti0@8!t< zr!4<(Y^o!QFv^!lYa?%nddQRs7eW#Ub=s%Dm6!k;5|TJjyfzYrSOXH!s1Y-yAS-hl zGxnj8y3T`UCp;H;0h?lN4<|JicoFN^ypzul)ZAdTw0@D^hm@kn!gkWC@ff6dB zl?ldb-qDkMXIEOQ^tsUx4V}!YvFo5t$7JvE#1j(mgyc3YRYAhy@wx++;#?5Bb&p_) zsfmL_wfc~X6>)b#X%5!A?fZO~&a!sr<_^I1iU1b%hu{atE4xcW< zCl#E5pMGPiBI%aKXw>kP@h$a>9Y3)K1fdxHV`$Q1;*la^LnZU@bXa+2EBmO1 z@>D3Wr37o~BRFOu5vvJ%=Ly=A;t2T}%%8u;`eTaK^)z$L5o*as5qE`L+Bu1XG;I>N z>@+hS&BH6dvF$!EctF;%W2^0%ol;YQ{Pqv?Z23ABm}jO z3Ymo>nCR(tkNf*=K5O?36p37F%Rcu*&gyqpZSIbk)bH%n|ec6hs1uLk=xgW?ZiEY1rjsEY8*Sj4u!=p|S{x z*@T{P5snS!PKzhh63$h6m=F^sELoHk5@kd~N(#g?k}Ax#bh zTh8p!rVKL47z!-lHb6^zgJ;qRU_ed|JyEywBdzc(^{ z>m@QV$$skO=#*Z=xPifTB|13KXSk!U{qT&>1)-*MBhQ9u_!K7Wr_Yd^Yb<8^PG9k(hIXY%&I-)4Kl7amAhR^lh$H7;3R zn3~t;ygC^!mt^3RXE1AB-d1hX2vK?&JcAm81Re~&0~~`;HudrMxo^wcCbma3o6!2G zJkil1%-wox_{dR)1pn%#$VF`pi&FedREx2CHdw$H1JS=BKP<-zBC7vjTmy`q6Nd}3 z2%LYwz`s|*c4xotMuBb%7^)lz#^FaWcXDvp4DLDdhHF8|Lf63u>-rYL* za-qF(BgpWCDQ|ExlG7JMi}FA-2hG+Wy}mi#Y-(R%!Dn$9G>IF6Ji&6{lqtB@Z> zFr94;a;xZ7-K6bf&{{2P2~2{aj`V>sV=p#D5QJIKZXhq%S0A-@UV*0Y3ZM_suEz5;Q!2`zY@n%^E-v8)Z#l#LY7Rp#9HY1=^9E<~HAxj&GMnHWkP8(XFi4|znljBdTEs-6|BD&% z9VbLvJytRhI7^I*=R&Y4yfMCbB;nQ6(j)J0H3i!(ZLdm|{T{oVtBC33PCJ6Q9Wmvt zD+dq8C0@CQHgJ;LKHL0`>yg=aq5(9yuqC~KG2$)1lRd5NG~Fs3Psi5$M{2_V&W4muw4Vc_ms2T%z(4ytmN4dM0siLWLzJs}71O zCF)qg{P1UiN;>vWz;~DIyhK^yDuaYFP>qN&cXWxVqx8u8T2XC6b5uNRiXQ=c>R9jW zTX0?vPVHz6{!zjS6mgX()uX0FKNFf?vH8frdQR`Xp3Tz6fhY zUO00il_iVcz1s(N*$2=UGf`AFdAVRg5moyCfm!^EK9iP&>gPk5 zsLWl4SF_y}KwyIlK$nw0`3HPfk9(eI50(8dKsBbr-drF-S^#fm1Gg6@8v#&%Qbs9c zhK6ZkpP;%D$Fgr&JszWV*Gnhm&LVUH!CAm70iCjmrG52E_6I$C`X_p(PA%~5%IuyB z*_|xztiN`MeH0`74?6YpRq}*vxXhuvxOsdS7{TJDASC1&Kst!$Jglpgmq<32-Q%A< z;ntMX#4CTE^6F>(dpwo--|mBvt+RpE51=aa&+EUW;lBtpNIj*crEd<~%*!dGgvl-= zfqs%IeIO7Z6C-kj6p%O!G-G*;1jr~Oe<`50JT?A4DvO~Of`9_nY60qXiK@<)=B4E) z%gW^zi{^=y+RmrOYLxVEj^}RobQtmE?{D3+uJrmaM)1zS0gB-0ZHP%NZucZXlt-4!i_0r3^j|ETlb2>2Nas<`&Q3De ziZh9)oNj%hiKML~Ed*^!iDd}$`4Axl>#a~lP8g6x5gtxz&ewS@b#ORCFE6pME>{%<%hTr=H^8Cu{h~y) zm346)MjzQ=bFpSpZB-yW1`wr6cIZ_CF_*5sD1yTKB^a8{5ZPgUZ4}5Qc7ef2C=d7Y-n-8hhzMrJC8ffJLHa*Uy zlaxYAbbAx1zSL{R(3%fpwap|zGF+L%fU#XW@bYOLo&iL>?7^UUxP+={!4wOjG=0iW zks$M+xoP5U%|l4qb|&kr$WtDumW16YR0O%c@mv>@hO=3qOGYQ@+&Yy@Udysm2JL3U z5*%11Yq=o0lj6wB@|Bw9yv1KgRmXc5To-`LgvLrkO!Ezy7!`s+V~hc-wBfDV)DW0-np=mD9RN&%^ZJDJ@N_)Xu%82qBMCnk(yAI~bPLr<;=i_mnB_=Ffjp$T+x>c4D4EH-8iTAZn;ycU8;f;a0r-=hO7 zo=MyXHWwUzC&F>+CB(f78GtbMhTB}6+g{vS6DO<4+L>!_?;)P+;ZE6du{e0h}OR(EK9B_1K+2i7AS? zarr5!gy#l<=h|(9Bj2rrIGBO|G|wTsMLGr`N3TT=8_FAExGjT=?OTBqPPkQpQgX;J z#*G?4&+y1*TdI#dTe66Y83NM+W*??u@o?I^5 zd$O(ffww#5+Eh$}(_l^kx*nkB^uqVy%NzC-vyh`{NNSsH;om$-Wc-6 z>W2CrqI(9Icn^o;4PK!jL%Q7HWKC2qJo;WUTpfA?4G#|QN@8<*!R+L}LX&jVECcq5 zVR-(QcihHg>w^4abopl*Xvf6A;DH) z^zvK!jBvpB{KoSIKgg?b=PqV=^=Swf6+dvabF~0LNL%E~F*j2zk~gq-CU9tE!XszL zx=AT3HFumCVjT8_CwNiV4&UlSI7_&W`A`n(J*|Tf&knzorX| zP|wXe+Ho(F>RVl_qncetj7^XmGzFy%r}l^L(Q41x%)aJ_g_#O}UCt!9H#<|O*nK+` z46b*8I!}z*O{CgKFVv_jG)9T?MKs{cH(F^Abp52!&}KB5u8D}?eGR3pw~8?(#xBZ( zNF2E`%>OUO&M7#P?+e$lZQHhO+qP}nw#_fj#I|i`Vo&T$k~#UE|NW^`wX3VI`mTHR z-fKP2Tk48Ixpjo;-fkb|$&hHjUpKG2vxsJ^k9{R~*R5XVW-pTzs9sQLK1pFSGlIgt z_#3aX2m4C<@eKn8f(6%Hx_Ip7rCv zrLpvRTAy$X=w-mJ8LKDYGivJmYKyek%(WDsb$$%Q!7c_F4 zGr{l0t-Kq6dz9I#N{t3!RRo(MKe3ByGTj9AJyZnhf+z@=OPrY-)%dM)qR$FWH{Zq6 z4h3?AgU3Lg%h1LIo#PI2me{@su?!U?B|%C;h}N`pF4_!II_08FVs-mma4XCv80jn@ zw|w5)E|H#uwu~*RV)@*ad|UN5UjI@Xj(7Ubh-_@k>tm(C(ld?Dw)#_X+gSUk_i##d z{I#suTnz;$xlY!mj&(J<^ouT;anrDd`m~TpRXQ%>Iq!JysdCV%#aax@}G#;gnUXl|UX5k*)&; zY6d3cmVE8U{_^=07T)&-{l>KD zSzq+^|0yIshIy-fWJg~lS>PypHp;Uq)!ATq)4+ga)g(_9H*2IznJ4bdsB#R(iWCQr zAqhPRMa;q#Aq>=+3bf1%nZz*P;>H+(7|MXz0!h>(22@up69xRt*b`T4@OmQe#M4X)N!_a(~NCm$eRhK*u9MF_SwVn=g{nMs7pcF z9lwN;zfy<46w^A4m7=eHO{R1t*__x#bD!1U+mhWU!~NrtJPdNl5fq*qb3NvhcPZdD zG9mRx1^HK7Ek&n3OFTs+G}jF8Bd$PMyJ zhPmba&LhePMr2TiNE1Yn(0(voNoBO;Prl<4Wo|LRD(D?~J%6_)c52$NLu}KMecG3> zedOzizBE&oQNr(TiCoc!-U@<=BW_ouEm{;*4K6}a^EGyB1Nm2SCRr#FT-64`{MD~^GIhkps0 zSxT{@(wZCt6~*_xt3^7s zY=ogZ&cf`DTdE1>-Rgg&zr69(A<%uUgGriIJu>?fd`Dg?vyZ!j!dt|Nm%5<*xWHh3 zVaYUx&83MFhZuJN$r?lOpP69OjUG5rCj>n|*$pNSk+4d?I=c~U&ty>WL1~feBx>;s z5wj_sYKgW{2a9h|?3j_wuFrLo`L$xPdBQ{l|3GGIMA?sQVEmR=hzh9EU2nLcwhc7) zI+x)Wi9&)rgO>qmEqU!$Ld)}!9qhYuDr$CWWOAr;H{n}f6aI4l|}T z){+4v$wGVTKy!v_3B4owl+8M^uDT#0n(~*}Y$!>il9~V_s`cncSsnk79j>Gm79B}ZgSka&-ZsJ1FDFAcKmJL>+iPninRRg{sJ(Y{C^{m-BBlq>%${1RFD$~^W`?))p^Hl)4iu_teT5KR zWhR9>CiCx6$nOO&zR?0kJdIiUAYt#;J?>H{UTCiB)VqqtcEDj~?@7GWvEYZr?`+V* zM8)oSMyC9G9`sJ=h{K_N2W#xvH3U?rW7x>m;5LaK%1N|Xw`ptzMztk}is{O(t)w{a zTMgG;SfPqQB(xY@v%0Wwde6jUD!#lo*QiJ zq<-v|_0|cj>EJ**So49E$@r49*fW&UH&9zOP*b7ku);dspH6_4eh0G$*JV)9(xJE| zKf_GE@-%TN2SCiXO8+Y6b}!~tb^~iu}Yn4NYeNeKYC?wYreWh z+_bRnbI`#5f#cnu0)Da9eGzDV-mbh3y;)}Wc(VsOJ(F;f<}~lf+RoEV zTRL^lJ;hd9s~ zhj}^PedGFb(l&mO(X$QEGtMB47PaNNI!D@JYPYeQA|ngxh#^alL;VW; z?x5ddU{>ec(9fzg@?$Tjnl5*Q&y1;Hx)4K4Yat~d^dkqY0sKs4JD}jgugJ>Ruw4mR zt1@q5Yb=JLei!ao^u55#Wrfk^95BAETd}sSnCmu-_2`}thhi5xJqa_(h&4`_*kjV4 z%!mz@DX745Rh;lR!hP4#SU8?M6l1phRjB^kv>mD+ z;P$tSgN(i4noBA~4eDRMV@QZ=kp;(fsye;@>B#&*?QQt&lW zXlv1Cy0$#NS2JU)Um%V55Q6MW!0NEm4%MLG1HSPJg7RGAEMcu~ahs$7EGaLUqPsjR8s4&-z2 z#AM62qX^^U(OnJFR%{R2L~UI74(k9zGCU5DA+h-=Wet97@(P=wFX4t1wFty3*=Sl1x(jG(lO}ID7?p(xY1Jg}} z0aRy0j3<0=b$CM32qmH%OhlMQ(Rf42F31_vqD~QfXqMB)JyHy#t1j3M8IcDF-e5P$ zl84t1R6UXe@raWrL#c$7S%t8z9g&|)l98SAUZr;zG*&1^<-@W}XpSXO@JeD8vd2-@ zbVVsAyZ;yI8tR_x?+^18=Sw@7)ri{(71)u44#B+paY6{)UT z2yO<(7XVbmz+Ig`JXeAmIZ)8Ef6_MWyr$(4eLpX2QO2IWFeGRlEqu#dfY6l;Xq_ul zQ93P=Bmu0kH=f$mk-ZTyzg>~OBj~jcuGPA(P%bDYte3k`mdeW&_=1Mc-Q{KII`-GW zGqCOKt*%%z3tqWv3Uos(Jo_b+S`2RHfr%GB2D6^YB!cTCTph#Z;UNQmRXg0Jy-3ZJ zenRvw8^udAjFu_&qUqEDM#Tt}cMu(WcDa%VH*T2Lhw#R%EzJqlYtv}pQm~e;3HS=w zcISmDT<{i_!P=H$_j33;+Bz^=T&38*z%&7CI^TLI!_+a9hb4Gt;Xj>kRuy`0j%ZN!o2f4gqBoFUn51mlD`HmdQnUtSej4(A9$EB~MdWzy%t}5TA@`jL zuwnBCP269PV{n+F4V=hV;dy}Amw~&ni%^1+F=S>wi^z_H0}8}-AFq~SI^G%o+(VdD zG{u$aLzlQbtNH_W7pP2H(umB(^tQKm_0{*d$#)Q4ez<%B2R;k0s`G2>crnNeU+>5+Y&)Qma4WQ}?!HU0u zfIFc>TwuWuB&aeug~RiLpdZkg#DBxFyU^;9v3WL zozNbrzteb$_Cb78+=d~Z*g~f^h$i~+pH3GFi}nH29^*Rq_@OFfz8;Er6V|6Vj$yoG z$W65$vOfguQ0_%Q9&d-|;!_G$2WNv^^(YAk2b4mEK)bbAtUL~&Vt||t7ha=u=EaYC zZff~uhL6(xW5XTgano8~(YFiw zPW&wG<&NH45JJe0AlO$n&pT3=^eNyy4yi=-FJA$Qa7gUE5LteN_3JO0C~3 z3n-M!)&mji^E;gMkYAt@l5N<%gz{OR=gIx`*P~Z~Y9}b#iEG(xeo_ryP?8H~8g*eL z^Ax60$%A-S30}y>)Gm`Ox80)#gW7%oaucyh<2KcZSFDYFTXieEmMv~$28dhy2@7`% zJmD~uHgQ)8pYmb(A^w_*B{WKlJ!co@Z*Jf(2F|qck4^h-d(I4_t?TwRGs5Kv?~Bff zwr#p)2Zu*4_HcyU@HvrHKIKc{eEM??j2XmB$&pxV0nY5(_wUo1L)Y8~RF*x(Nxz2V zcLU1DUf|NSLgDZS3OSVk1WcO#pv@^=CQWbLQ`*~&${D?wiZ2pSeDU$idE}uBvl-{1 zEI$Z+Ge+BF`x)^zX3Xp{wDNpE2y~0*RPFg8FKywkQi1N@*4ZTmrzaC@^xX+p;f9vD zFQsv~n7eC2?QqlN85E+(|ALlsJmF_)ZeAsxhi+|T^wIJYmI$0OAodYC&HNiGZHlTB z;&x$C?&^yxVFH9fRQ6tdxMk`@VBeAHPkF#9eWyeysuyocE;c6Z zDc7CaRMxP6culdc5^M7QpkehMu9N($q?%X6k_(;N(FYMpwCBICB|?fKk|+VUYsv;W zu|l9dr^Ax+y?5(X+-cB9s>I_CmNe(JaUY`fyEkeJ`q;Cu-X2#~MFM?1NN{iYx(LCv zm>$YQbefRyd~*p1q6~#^=QEOY|4bCC*Kd*dbHC=~SKZ8FF|fe%G|@V!aPiTnm|;46 zh2_lZ2qEJ0f#25M2loqbUw$vbR{E+4&f=(GJv zi6|55;?mn~=!fxF`Ns2AQv>28W8W@plB#3%7g0(_s7gj}6O;z$YqC`&d@{6rG%%O- zM$7C!A0k>88SYzJ4Y9cs ztW-Z5CwBqitcEx0)P=g+@RO~GC#hi$E4V}d(PRu^1jrs_Z2=)x$KL^bpnHl8VD>aM z2YH`9>$-3R)Ygl1d*OO7PtG;h50KpX6Vyz(BzA*TSGgFJbe%f8kk@N8_c3htD%uVh zTJas#+V=(AX$h2g?*Ta@M>d!OH6BN?mmGf5y9t6Cp8LF)>2HwFG@pjgHlLL~@nluH zfE*t?s=X>31OEH%(kydmqbl9cddH5O)-vRds@fx`E0jl4)Ym_=}%6dq9!i3iFz2*iBr3c^1UWz`+4-YSVCO zM}XP#HtD{GB0|bX7R+7PT3a<;Q3%DkMh!bHw12SO?NNik!{Xqc{hMnwerF$I)SDk+ zS+rtW)?3GM!DV`lKgLLA#lfzUOf+b(@Sa2AY%urf@VvcTNaxQki_aC|SzQ8@_}0OY z<{Z~hethklOv?yN4rL}*4a@t95$Q@?Q}GhblMf;R>bW{gM=H;%jGNgEtVCP_8C4G% zb?scKUKx$1?3cK;3S4%XmQm`VV$&E}gp1b-cbV343_@~^YzR39^(mMvoeCXsHQOh* zT#TM|N{Ka@DU`G4mQo43eO1w5**RhcmZ%ti@?lcMPbwW6sG6!+nbwdZ#b_g~j!hcM zGJZsZBp`_r%Rww$A5WYnvtp7#ZaHH4lWT^G++PDNAxnh-PE(R(tntaJSxZYHSdGg@ z#yfnMrMjdc{1ktUld%_!v|=+M%Lgq1>7FX4l#5JO`ivif# zuI)qMzQh$P5DYE8%w^L1;uc#m9N>D+L~C#qR`bWTsJ<17|DXkE?uDmc`id3xM_@d2 zE>wJDv{m(o)~x=E;J>^*;CK$)FZzJ=lKLX$tN4a4Q2!?<_M!Qf{K4rZ`-Svf`wjYC z{*B6iDafSxg_%)BXx#eYm{(FTcyT!{R$_T?!X8dbrJ=(%QbuvWAU~$d29K!vmw7gP zoSjpk`r-|KHg?`xz)yU7aGhQ7TW5MS(8}9OXL`I@N65umn7RmCrC5UqejTR#UPmgY z0$uvCg?LG%PD`gET`JSoz`6z_ql+y$|Ii0Z!7>dRL^_7a3fUfct|_VwOc51^c`@Ti zTZ<@)Bcx#?q$Ca?BsON{;i;B2MBMZ5PFJz zpSXmvVh7|68F^0=ngiy5K4tV6cZk}nm}rkAF98$k0beBS-d?zm{0-hqCdo0&c$8xA zhV4UnQbdpj`UzC~a-;$J0iQ;n1Zop_xLiVbLLo{j7L2&tD6d5csR@@tmOUitKXeR6 zWX-q&4L$5nIF5A_kr`o&6n99HYmvMQjL6F{2Z<}iv0iW&q3}2MsV7hITQnlQ%%_tTRXwXOnNAa8w?53cUdPm@?(QURxvdlm?Y=$!Xr*)*6@_ztV-1H_xUzD zpFOd$d16;Qs#qSl$Xugw;y&oUWJmc$RCjEIKKbX4qtDYiq*rM4!?6{!_u3p$C031< zIQezF(`}VL32{U0dDnfU|IjfXA}R|5TzSR4)UL$8T>wW#nr!i-EvP$N(qbiC@X;+R ztn&0>EFXo^A9M_^c9o_`8yD7oi%ZJp$QXC^dWob_GZ(7eR^6$RL%Q)u#|5C=7%UQY z`wn9a84ho#fhL++dUwsi<35JCwaOMt`>U(z!CQG5h^u+&85zG-L!ITQQZ z%p|9r1}joYoEg}6F$ChbQt}ADX3g7RV#jzYK{M8s6)5Y&yfJ=x2noK$!h_Bjsb?=f zcCA}br~1D|AP`|#`HQY$A+2&(@rt%G`kxuV{2nO6Dzx_p9=nPbRj6K7IP}4E?bWS+ z$s%jWMQo6M>PsScN@Ldc_KJbvaq;%>ojdUS4$t6RiajvElW>a@dnzDZN=WM4PKEKw zI`932y1NUe`d#t> zlq@M>o5dz~$U{A%Qy^sNw`vKfPU@HF z2vdVm8=oS*4%m+D;suaWvEw-3=l~kBZRxl4K~~8wRC7zNQE?k4!`jPW`POWs!e2V#Y5IlwT^QZguQ0lH z__SW)}(lvIKj;}^e6+fkZEk9%3fjs&IMZEs?0Fp1|zg1E~T=HH8a}O3< z#Y0-O*IB@O5o~A*&~o_1@B3#KASB%T`mFLvJ9lmA z6n|1Uw5ulMRc2(wUu0|Q)Q$mamgOXrW!4%r5AxPM*)ao=Z=SU1$v+$!&CpwhganQD zgcLa}c9mH%dwSOlqjJ@V)kToVMI{Nkv&gR}(&U(qA~_%NG7`7b%)Z#YAMqni*_pUX ziD>$hd~%GJam-Vel#riOmD_*}@0xVGj`g_4g^gcc3yL*l#LuZ2c&11KsG_+O`xe|+ zqc%{MJpUZfY9S9SGVS}q;tYR?#tn1uzk%Y2goG7>vYt?bDvu9r6byO+c<#AoH^6aj zhzyX7q}8y1Fdh4=A|2WsEnZqe-X7QYurA;e6Rpz9^Q(|AYZ(RepLv^j5~gk-$^lFN zz@W2sztKv-@@-_+Me5Cf;K-j*%D0Nhe=*xR0*{uNT+F^VuYbS(u<*B2oC^1&_FMlm zJ3Nfri+eyMacQcbnXF=6^;^<-q}H9Sv}Z3g&Mdq5Va-Z1`Fqcf|3zLDHV2w}YVQ&D zEj$rRGIBwz34U=>DsExISOXL2292W;$;`(R_Ho~X|4qD@>6ZnjN-2z>P82Tp+CQdb z?t)PyMz4HaYGk}GPMZgo9i;S+eDYSddZzzu)2fAOP?^6~g6fl=&!nO%dHQ4!9(>gT zqrXT01pZcX{UZF&n*P^6xJL?!Gx%EG!)F#z?e zt?Ih9u9dFVn>rm^{h-hJPFBZI*R#2N-+BJmoyV^NUQdd70v{(qpty`v zYa-$io7@P__0{?Ye1lyrUO#nnQ&m^h>#l><=ULkIRW^h|nuJtb92!nenTn~kO$UdC2&A$F{wv#R zN%B3_F-=u_sZckt+=h%*^>vOFHTGx~bLn!tdQwzj!ko11*=*!6W{1;S(u@7Hk7ryO zT$s%MsJMo@8vC3mBE*xqr_gU4xJF|lxJxy^-=||0 zInOKiGHZtFUlFrqx5dp}Yn=79k#vf(qIOs?;84XmU1O&aIn?R6G&MH49F$#pjczoV zG%dzhnK1R$j(`W)`*aiBh(~mDchN6woHQaa-?d2I5gKiXy!GGTgs2I@9T4MNOb}x# zkN6;S^>#X<_=bkMkwpmk+|5Q5nfR8&UJO(X4LfE^-Kh3l2o%Ix%NFzb{a)|KF)@>| z$Yh#3NA_7Ds?vap2pyHgG5vcVmi)i8Dy()?q1jN@4)fERbvCuuIqItIIl1c*6mZrU zGiydE@UBI9$5lF-hMJ*C%q>OTGM!7Qc7S~u`}U;^_~)y$^<1K1KU{?fa5kTM{h5YB zb;I_Lx2+0^6qj?gn{dB86Ww3jv-d= zz3}cziWKW=w-{H|Mh(WO8G{#m);It}erO3A+Yk$Qjx8q$JCSqB7^ue|$8wF0gB6iI ze4)W!qlbmR{qED~kxL^n@+lGlKte({4`FRi2q&~TVjaQ1?Ph4$9tbGRqR&xSf3Z038 zKWJyFX*fG!YpKov>MbRoDC3a^%J*$0-M@LByplUo%?&4VPW!yydb+I{xhFdoYip|< zdZ6n|c$V_2yJkIC6PIDGw97`cLuI7nQNhrw1!-218W}~g{ zxL50IPX7=E8||Qve6knYHyT5EGr9&*zseF2rksE=-@$AADJpfeVOiNbP>nzTRVY&I z0DC$Iiq&~GLy@>Qz;_#QY6sfuo63ut1o7@q-|fea9|ydpL-e2i+6rZAw6wOl%E5`u zTxIWcfoj*x=;)4j^cRA2%@&+N+-yt)mwJxmUhIJQi(K*T$deD442wKazWH=;xaZ{H zo1>TLy67+c{JJBnu|muYoQkOI>{;AU>umDCf9IO>&xo8jTzTXZBYF14H3-6-B=7F? zF*y0iF?;QIvl#?|{|;h02wbj8rsx4KVHpyhz{ zEo;lbaJjK->=`*CYj($);hs7ZiQ*N}LE&dFcjh0=^wR%85uNjIv^DDE+kSX`2f5i* zvH!qMd7l@zFA}sYF1^(~9X|JLRgFWfPWlah{sjM!FsQRV0WT+tE-iLb-babK}VL!O~qB-H9i_gnU73`=Ygu$(qPtR z%oSB0u4$64!iH&djHx1}y|%XgCd9WOmqx3ESa~yqAiUI}zM&3BKpW4hdcBr{CdgW9 zr47-7YU$n)MCk*i64L zoj<#MN+Di!ENl4u? z0TsSyYlV^8(G4cE2?F-hrcNcgC~HvTbNVB=y3V5`N|9Z7>eblR*?-E0bhQK8*v~9f zxs#<;qI%S3oT)wC3HP5;Q}Gne;d>4Rp%@btf5LVCC7mJk-pEwDytwhyQ;pRoYcMRg z4J)L|rbRhXuGfDvIvE-C+Bz?x6rv@0Mn`Zrie z2MUWxh0lTORfGj#WLMIB0dbOCiQ_f`+`7yR-xEX(M03Hg)JqSH9q+MKxgBC1M+r0L zVa;AKLa2#&mr~5qAD`^(?<7*Q4TkB4x|;gU)Q00SVJV;N>GALG&+_l`Y9+};T!Hxm zMhxpKUlqus6dJ~@5$qiGL#z2g^(9U9T?NCvT{-e>MDq2Hw5FDt)2x4VVsM@7;;)im zv|XpCPt)hM1={T};+M}!hvMf9eDHYBd~)uT9Fm3wcE=#hvg$B{$v`rkJ(}Zj#oM;& z=eEp_Eap_!SM6%G#}D((k2YtLRBf)RacnvsCf!#lSJ>`bUG4c4^=j%b+~Rp3NpTtX ziMaePTP{)+3)lm_RhVjxrx$-rYgx*h9T6o}GAtdl6b^&28_;@kM{G}4Y-%FEgHO6w z#t4rTqpD}J_#DR`ydP;P<_kSQz&k>Hs^WABv#bK};BTZUGv&FR4ZKG`Ph6)mHRWL$yI0E1A%^%O4iFfC-`Mn9&C(}sfe`dl3JatANtbZO> zz!6!Y*kSUp(j+eJu51jRBK}7$NSq9l_93JDFnv~AAW&ko#hZ1?QocM_wQbohN3*-D zeknXSgmiKDtz4Bd7b6^^26>$7^L%DBr|+d2as!#f8O15L;SBA6n(vZ zVB?WR7gdJ<@_$PBOEMpW%jbryU!=b_gR^c>gzQcETgg&Gi|vLKT)2YDicA5Fl7x?` zJ-8#);ZwuJ3br^}in7yM88R8+<<-?ocjlZXPgB2W0Oka}Y4prIvRq2+T-)sbU7|+Y3^rWt>ZX+4LEnD`V`fHC(p% zt8Ol&xCwL`ZBNhXxfZ`bJw(N0)}YGXH5BISD4%ueDKR7DEbBpE=j0B$dr@1f`?BRl ze-E@1uO7}^2AAHOapx~$6MGy>F=VJw9mHsQp}7T91mtHuozz6Nt*U9HIwj})KIg+d zUjzqQ32G}YE{HJoKO^u=5-W(#=bJr+hjwf}j8bR%?gzH?2plIgj~t_XHWv1`XIC$g zmZ2QF_MFwn)aG%A&J7rdH?saS>1<_pM^ZM{8uvFn*A@o{)o;C9*kCGP4(*gD7B;Gr zNCS^7w?=EZ#|B+9>u79CUwV#fU6I2pjbs0h5wPE)c>FAql1loE(Co*cDFA?|U$3MnF;ii^eTL-Wq>woLX_Dy6K z=IZM5rbh$FqyTg4)HmZlTWl$T68H1x2`c1zG|nt6?`CQbljp~&ra#AihOKkHH0E

mZYrJD$lTQ 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⋘s^? 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�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

g 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�D;-y1Phb%Dd>hlh?uWU_}rk!y_>4 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%0Dw;{ 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

oE=$7<0VV7XC{*4%eU~xFKx3Yx!QWL$b}n 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�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 z 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

3$2y#I4Z$i?BO87xia+c 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
?Wq-COHcFinS-4;o4K4n-O!SEW?X&7 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%0DEg~Lt6`q(3E@pM+rFBQ$J0i-@Y?`=fjxn1s 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�f(U9s2u8{7j$LW&j<9%>>hG2< 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%0Dd)|o7XdzVY|cD|HNjg#s!4|cDgqEn|Hc+QeA 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

    OTS2o9nDH0UDo++R|WpPS-ec6#S z>`_->!D4Zs;!v>Qpe^U-gusmCPTp1)BO!;12DLmi^DsceWh4W~-X zM=X~P*xPs@UvS8_PBp$x130y1oN^?@oX;p)xYb>LpEkZ^&K{uLrRGKaEPcqBu$LK1 ziNNZWoRPAj&D5&Pcx9K%1JGazbq}k$zh-Ynbh)Sjccka z{$2(pjFnB2M~Zw}b5v;A-hD|)|= z^$HlCx(QzDQ6Fn&&1sgQVuYNJomAstsA}{jf;t!jmtbdh*YDKFhRkTT1sCN6Z+XH| zyOl`&{Ed=#zREdLs}PL!zQcu7rO(F43QXUB@f%~&nBm5I4u_y2mA`h773%CKyL7y>D9biJIvux=qCdMs=8Nif2?Tc0Mfc1%fwzTqtJCeKyo7W$9hdV8<)aawwCQ>z2X0 z!hFSktfflljy<|N@XB*D-LCC?lI)siWZD~;j3$Q6BB`Z+Q7YkA-~e7h&$^)TaoSG> zgc9Mfoc<>s!_O(E;@!3Bo|RuOApUK+2*07zzUUc6gEp9m8#f=Ad8Pgu4o>L(v%}&aA*rs

    OoXJOB1Iiot(g_+JG4?E_7w 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 literal 0 HcmV?d00001 diff --git a/lib/kcp-netty.jar b/lib/kcp-netty.jar new file mode 100644 index 0000000000000000000000000000000000000000..29db985ff770c1c10f9264e1b310613781e584ab GIT binary patch literal 171697 zcmaI7b8Ie5^zU0fwQbwB`P8=E?%K9(+qP}nws*DLUGCz%=icPz<|OAgnMr0c$@*q8 ze|*-=T1!b590DB#8X6j8BTYjU1X%{!`PqdQ73Nj8!?WWvFc2kKDCp(@usgi}OyT@Dl>R?~h5ti<;=f&M z2PPXw2M=>+reCIxO!nrku3k*CrjF#Q=9YHm_O6Vkw#F_lc^U7z=u)^717pxGi_TTp zB7@*_av|~fw7m37I23^)Bns)3JUK-}>qR-YSISNa_0AB z@16BJ>!P1p?)_{f^Yc~R7^Ar1;Vsi%6#1%ux8D3zE!S$tlq{>a!fX{dq|p6%D_AG3 zmroBNWoO1X_EhBcr@BT%jZb;=nqa~mC3Ds=YK&014OqA{|2vgQq-(^&2_i8vGvzSaTDzET_laFI{k>8cq6z6R8xxaFKsnZbQV|= z`KcWElqJ6W1~51@V`f*Nl?a`fpU%qKNmv)nny+xyF>ouDvsuPog@t3^o$nW5kNLKG zl$^`bOPGq5$Z#rojFJqxP;=P6)rISWLaiixeU7(88PT4hCb-C}D**0ERuHgv3*0WQ zFip|(6BWfqVf+#oWgutVBQs{W?sU}>6~OIGOQ)?yX9-+_O&;SaV>rhD-k+qCmttMPQU)0fgX-;ea-gXf=I*frdv z-qNRJG6Ao)8Wdx{txxtWOc*SRAf3XEWxKQ~av}4iN#>-t!LhfCOG=tB63FYlZ=o|Epzt7ZpO`$a5^@@EvrKivhixQLPs^5Jt2*c;Cv}rjt zNWE#vk|~NiSV>h$KWND$WyJ%4ySk{aX`^4VLAv^9HdqNY)`2e`Uh;GeOJ=||&~Sn? zb#rc11K1xzk-Mr$BK`4KjnP;J(+^sc`Gb6&8^Rv1|7CN{h;qx(%htQXUa6d z1x*qq-SjzBc_<1rpF}=Kx}H9{yYHf3<>J_Y$Ui2L2S?yh_I2jB#P!Pxl~#X3I_DSr zKa^PKabg+J`#=Q9e_sj+E27&#R;h;}f34&Ur(a1JZ~V<~{N*jb=~kl4)pfGo_3Ygd z5TeV~^DNm>z5%|*@M*4@>%g{cHP6|qstEP$syg>mx-cdFiIulOV%R3-t~zxKp&Oy^ zj`UM;R`|P$l z&Bg45Mn#yqMM_z@M0GGcMVmS+|2Wu$sn(()zG<=A!dYv1yE)3cIN!dA6j&G8Y_~bq zUXtNvBD50(u@i+JV-h;WJ=6_>#U_Ep<_VFIOqP(Ohw#Fna(Zy0q<6q*8kdLn$T7*q z@=USm`5VvbIvqSnHxnkX_6yr>&-pjQX|-p~KbfUd%xHp5dseP^-gYR4S}42PjMLb36>mwVy>yh?vdrGyReAy)rv`-1NI->+gEHF?c5p z&%kpb;Uiw^&I9O~`2lEixPmB-P^CdH&1Xd15zWr*^`k?}88pNLMhbiqEXStEMpD+d zDya8?K>EXEB-T@jeyqfT6D+|=5~ShGz|UnYpm$PW;OF$l7a8HJc3U9-Q4G9KQehx} zRD~~mPUo=*F68OPTU^YIYesMQ{VB{nkeGE~?B3o~$6Cre)7<#G&tZ0XKeG-aQRpzi zf2FjqJZiS!!8HkH6R%M6uF!PkS9Ydl#-G>&{tyF6xmL?BJHFF4dAXd6&#cl6l&5pA zfPi>U92O^o2g~rj*i0U#j~&iq^I@>3WFfY5a~sHW^MLctj4G^5p?~G`P7c?RlZL)Y zEKH<2FVRe_#}d(?g@gSzvJFRW+^-vatFMHDqZ4nT-t9|U^A8@MDf2_BrGHnlnFUKe z4%7^XICcliiT)p`B18LxgF%6SD5C#QP$l@kL-qfKX_+sS@2bShn-5zH$3ZB$88`_H zfjp-xvoNuAgpn1DgfO{mb7Go2OODb_G=TsToxVh`mXe4(^ouijV;?!$;1>!7SE~@86~h5Tnjn_dwxG)Ji;81;0I;fRVzqwC50; zuei8hP?owUkGje zhs4+VD1}E98e%kSUkD{AvB_+d^9DMc9_!0lDKaRH5F}nE`gWB|nmgPFShkO{qSZb( zoj4S1U3IkWcFU(UyDt;&C*uV`y8?~H;BLF)SfH%s0$qV*j@;pp%Wz1S>E|e0XC1x! zL-3!o?xtRS)2Uf!`&>NxQW4o1s)gLqIP4v64`*u{uIL9rI12?Goq8x#SQa~Tw2O!u zw)6Rxc@teU?O(?@vK6sR1v9^<9RD-Wl`?alz=W`2Iai>^Y4_+EC!x^kgvybcKD!z* zNnC$5-nBAKnW0z$DRT*(XOa`yc$B_n-a;w2Zfa%!l6BN&;bJ`nZ$H76FCx8h8%tPX z{fztqUEN&ojzQqcJ0&S^iuMyO3e9z8!!4MJKC`=Kp-+B@A> z8$>s*Sean9a#wP;Skd@3AfPgPFr33YF0RHGf&Z7hmlzpBo0D$dT@Fg6ol#BXKTy!eGM(b>N1a7VS95>f~qb@#ngc~ zIGb#npmp34i$5-o4f&a48kENB2W}3o)na96$at!IVTB*e5-#u3Wm8EOWm-*bAAm9! zd1-|;0B9=4hkyQA4MP=y#AYG7;+(>QD-CNZT|)x@uS_6EwBKAr$U#fgu78}Dlj14h zt2RY!!@Rgg*(D46*QSUwPU#x*s7bS~Lbb*^M-zHgd13*eG-Di3MrW=smpuD)a{=t~ zScbWfV%k90Ql>2LpC1RrDhJ0pm$GI;{6lUT)M9nj%sS@>Ow*qsBYg@Ygd&esY^Gm2 z{ki1|k$7TH$-eS&ZfD=)Q98P}9N**N!e=m?xkXTmqw{`#B)n#(fw9k}f#vi?clfF} z@T&maiRAu^vlM+*G@$(MB18>=FrI5Ps+mb5CbJPjBCNT_yI2q)VD0T8`OJ(WThu#A zg0VUM0#6C4%)S$u(S1+?dL$sNAnUlMbfuo-5VbQkzIXUQt5`sef@U){X&2tGU){2W!^>1?PSrpj z&>a^`jb9>UW&k#tG02Kaj~UmSoSgiL%C!rEhyS1(no9l1<{P&L*oEe5s(ViQX*>&? z*f$xhv+yZQ-wv78Ja;dwj`rx_Sle(3p==V83Z4cuEG~hh-42ryb9L_oxj_OLv00(na zK)nf>Ab7wQy@Npr0#zJz=T#uULy#bh!nf6k*ewof4d);w*^wsyY)dO0GDAd(4iGpY zb5Fh6fgj*HM3Va{T|)phaR%C@1;pXKj1=JG_dLIaNx;9c^;X{6mI^I;b`>@zv= z=W+RO1r7|-x#IUZS?e3tMV#+l&XSlgQt@dh{#@!mMMxxtKQfrZ|rJO<+; zq3}(qFCSxRn@x;{gpVx?1g2g!f?g{DLlfr<9wDJ(fKON;7QcwNMrKObgK}z$~Bwdjy9Rk+r)2#5`jtsbDh z`jH_8B2VD)V@_zarhj4eMQCLs!=C6WQsPr6MyEJNgHuK11(!) z0Q05=x0Nqp7R$7;4`AR65QwB!m5LQY-xwM)$+(Jm^O4(Qa=(6$IIT4PfR9ZUadFn> zNiz;C3Dp>HZ78d!xxtb^16_2=#w#X-PM%mt4_FK99UHfKCf&>a|`kN~&B_UMk@ z$-$UE$&DS2$8|?k+{zIG3cazUT+z>&v;tynV;6>(<1>F`pbVB65iRZ&K=BO5ytxE4 ze7mIJemDRIa33#&hN>OY_k+KYyCo+imJ_EC5Zn;#^^hVmOS!P$bo0|jU8ZR@<%{2< z5eDM`a)62|*wvN64rBl57W2TC(O7X@X}lI=?n^oqmjq zVYx{k_{ws6q?N|-fIBWnEX8Hg*;iqDMI_uelgr??lCsO5ehri0}n(Bn`Y9C%tRPes21*FCt z454k_+|yTDH;R#XOrNnq3&$=?s&S&1uQL_2R5ww%x>3ui2ak5>SShaVhenO5Woz2j zI1nmutlJ;n!v?<%>*liOx;GuOUiD7iMdQ)bZ()B-2DR7>-fKX|4$btv<^q2odZSW5 zIoD4Uo$i(PXSjq_)4=Hf;hu8A0kMI`@LwZ=NjK7Y&;8*_o(WfS-lHDyoA5ix;+35I z!iGfCl;0e#Bj``ni7?MaLA;J`VPdaCyB`kVKOqI9t%y7{A8Cy(=QH_RADoGgM!yfy z_ZUweZsA{kDF7Mgs!J$CPJ4f)KL`0z!XV zn%nazhyxfTJ#ev<1ud>tew3#D(JT)-8{4=n#pcAzxIe*+G|N^fYgL#i$z(^FIaV(i zr1=(%$A;#8K->=~3Y#NF?R2ih&wzM&k#i#wWYzAlTx=D zRmM-61)m{(HE1@+MWIF2V0Qf*h!dqUGsQMnZeAg~&hEtp~d5)*kPqc1bH9J$Fkc!m>Sba#-Y`HX!%rDO1n3SWiMy|*z zP9XV+_HX6(n5#j6)JPuBz>U>QUP$7yQa z)Yf2%9s=~oIIyv=4i5bGm4@dsieC3qp6vEU`_FmvMKLs~oE+?Uu&clptHMMPPAQ|R zQcJp;{P#-EXPoAyMma=aQVW_8y@K+Hs#i#_Flx7N*&9@FY*~6^LW*O|0%I%_A<5;9 zv>hZqk!8p-hO9c)iv5q}Z|O}0r}4irSFv0Y8B+@+zN#&>*)28%mYTd<-1#~ec;)r_ zv=)1o4dkcoqbchSEu%=bowj(RUl%Q4pSe0cp(HZxbPG+MkrU1aQO$wGtXl{EAzsA=NoEjZhxW!3l_eK zK;ZUPWFe>v_l@%!WX<$Q0}vhKa)Y#u|I*Za8SA>aIXobPO9?Lhm+oQB@o$?AoBR!Q zlg;*Aa4!STI8ZjNC#77=NXpKFA~<-x;d-Jm34k7?CYx&%=)$mzf{3v-7jI1dfkHXQ znCI9GLZ&&XUl}Od&=tC7j#}$^s0Qy?o7pHS1EmBs->;zG@LEM=WPk9)c8w%e+=hr- z+(Jm~ZK=S>x}Gh>c9-kj&^z`mBIBCs#Gsyza}XXvR1JJ@Hd*TJ*$&|azx|zhNbVw^ zi^U=ynmn+N8To7PYw7UbSYjjg?II7_@OW2g?nEvzcu))_CDZhU0<0b%PXEC>1@uhe zBSu2OQyZ%YggQpYe|XIgKA?V*V-2LM-V`mScEs{GKE>)FRx_YHt<4ihSjPhDFhFs_4aS{qItC%)eSFt9-N|9Eaaw**hc5cFOhwAlDXf=l|WWL6TRDRUO;f zah}d*SMKJMQ*0_ebX)lP+(m z@n8Zg52JhQI%$P087~g2dij#F-}AE$xAV3kb?c5X`@-cc8>{ExC>qi%d#U_3kaOmD zHZJX#D%b~3;sf4f%Uej|woX8Zf8r?~S_B57FcYyN0A!^QZ-5&$6%x@=r6xv*6O?N$ z#pD{WmSTEMqjrz3s#xZYTPk&(SCx;V`l=+rR=yv0t#5j*{nxM~^SQYyA5C?k%=#v=w&pdu>b2avAk*8h`Zb1cfrjN-wJIM=b)ll0%l;?0)B7j$1Ed-$whF2E<1q6B z`GXHV+}e}7&BZHQ9aHBFx+b7hJ-&IGv?iccJ-%t$qz3<2T7~WzcMZNn8d|M$vARO@ z^ppnA7;S~l8G8+V)AW@F@J=s-t=74GO>lTPlN&q;dwgrVsNP zM5X7E3S5n;Z0kZ4{1$te4W@NC@-2ywbwfJ z4=bzF1DJL|_4ELm6_FrqE)*|f3e69rXw4ozxbgsR7f>dcHR-n4MQzoA?47G&Zo^nA zP{8zp**XMQ_pl5G_}+$fusRgR_UysfUmJv~duRd(cJadd5eD^>-f+m#osTB&%Ho0h zin_kXLi~0?tzn8xGfeLLh`yQGFvII7@%v79y&qt)HGn?QhSHY4JwV&$T+Sh4&q47I z{mFtF3LGo^+V6Wv;hJkNhxC8(CJHN1b*a`ljNDiUo9MNEn7|Zwuu+GTVe)FjY|RQA zq1WrC1O8C@sIuuaro1}I>2_lAbr=DHvLM{;hH9xZ2_Rjpg=THW2pKjbhHMdDOqn%9 zD!f(m6gzd94}RMYf!&XA7eYoXe;&d0`7|{`N_kl?THOa?TJ52c?C^{_4X#`{a*RIl z9^Z$Znye?~bOz6UtDDs~kg)aU%U#QxQ96*Ucwl9txaO`(zjn=x&*GI)=trUfgAF?XNVT`4ZcF!)?hZMBzi?Zk){ zQ-wSt9ydY8QHfAFz?^XtS|@if;cK3`wHhGOlzd|v^l}h*ICy2t0a-DP8OGRFt1}S% zl_>6OptB9X2P-Y*OsmE3A?h5|fk5Y`ICS@76Mt6d$k^#fNWxFleFAnF0%wYRhb7WU z^Z`^<5}Rpr*MfCO6gj-;#&(%3QHf*{!wK^16dk;K!9>UybtD_x2LFSvXKlT+AdbnI zPLzd8vNg0d9XmluCL}tU)gS?5u^z1xAW!I^ot6*?x6H3nq7d+8~ zb2FDX8>d6s&JTZK7tWqA-9?a0IPqNCz9A$Z`Xdh?%ty@Nfky6wB^Zroo6&j*NZ7_m zDg?mZfM^Ed)eH@~5F>;f4&kC6d7~b=MDfIle^X+I*Br9*BS{{=Gea^3vi2gUA4?z) z$`%rC4842u>;`HM)p>H*j{Q1P&_m+0z6tRJ=a1k@X50sZawO|b&}Ao^mNSvc{7T}C zmNx#4*Gk9ML&P7#mGmoP^bqR7!ba5$LF1Ugldh>+4sY!~s_U5Oye`T<1sgDB^jB>sfJi5Oh#iogt&M`_!wg*@hyCEmZ2Cid5cr40~) zeL2De9ne5DBjwrr`$Gp+F5jPbdWe_|jvLJfM7*Qq>4fS&>N8Wn17{M127e&Ij_Wa| zy$kAkV^%vXX#{%}1((p#JU($05Cr8qQf)*j2xnk_vG*l>If8p2|AsLb$~YwMM;-a; zAo~o!bJ$p?K`>~2JBT|SKm7smoIL)Ku55Y}O7k>-43Oaa&S?T`aEGe1h)0qYWpcCz zT2Vo-oIo7uIWw0_JS?w&&RJCEfmppM99z*$pyZHDMI+VbQ`)Oz@OjqK$4i6bJolrN z7?e6Ur&7RS`mh-KG;!@1|$pi!%4gm z{yFhmoh=J}2%*(tXfD{ADnY#qBlQFf*i1kmmG;4rcj{kz0wgF=RiQA;mg3gb+O z!`cFs?Rwa(hP~w>{D^mq%J2^C>lrVQvxoA*5nRRw5_z3vh<1-XU ze^Jcoo4LX8z^&8dCIW#61W-j}48Y~u*s_&g$%IuOlX7!r4EOQ1=}+(3ZWUWlFPXXr z=fF)zIm6mP66(^mw;i2GywLY}2}algH0!0*tEzLhAFKsU)B7+AxL*79ilol=y=)s| zSuNSheg{eoiM8HSB6q`q3WO0TU?5_X<}yom8U;IwMM(#<8V{Nz!Gk7&ku1TiN2zHs zEgOYMN6e9e-=StXCR~E`h--Q(xkl_2L$yZbKV)7)Dn{==6kkF$M5!J+kP;!nGWAjb zhJ8$seW?H=$}A89Ce$y;BaIE%k>KJ*n9(yNSzCDRjNFrtjC+fwz)$REtpO^Lq|`*H zKS--J)boE+%AAwi>BF6O6%+H0N2cDS+8NOc+)40W(1&`COg`DtQ1^>EUHjVQ4u+8R z>MjT=wlmYCBp&pnpYbV41SP#s4-;XtukQUBsZnth+pVad-2m3lp!k$+GVWW5AqcAD z%7z+dgkMEf@b^NJcw-!JD~Vo{L4DHU>#JjAp}11&7pSU+7Rn3uLm7Qr?M86@%kZYn zU0pJKt-0eSOfw^NYdjc;cQ56#zaSk!rfTxxy*Db)^3*mg~geH+Ar5&+KaXaL( z8i9AigFXqs&R@FZ?M>o;-iwkB?MFf#!muGw9F;G~n@l(Cu%@|^NbVQ~yS>^KQ24Oa zh%h-MJ2!<}x;tG-UrYSP)Y{I-Pf>Spg)v&B~KKP-8 zIZVs^W@r_3pGVbrJ{|%`KG!$_pSMy6NyY6vb_{V2@)!_TjEhB}X0RrNF>_lS>cx0& zHMKMCOTozB+ezZzYWi0LFBPo+hAUWwlOvb1ymKtQgq+if>RRY|V9pWcUB%}{3@{tG zL}b!+Hp7W3qd7mheRr`+Cf2x+i<7W-#AEfvCiG=v1&}0To{Vcd12erzQdR$HA17y) zFh$|}0Yi&Q$lz~%@WrG&Mi=Sl7U5H%|9i}*hqA#$A|R7DL>AOUUyGg{O>+NK26*50~KC>R|vFI?Mm1NJW_;pdduPYi;*xNFeu44sO_CxYcEAtPv(sc(c3Ks z7f7|Op})A5)@cfdcP6(!+gvi#ldyEgj~;qsQ~86djsl8j;ttWchGd*t%ICEF5HMmF zDXo^mi-_8~JVsbQ3pii9N^ga%U4$~h%Eb;_X8Z6)QKD0-D02P_7-V^*kTNL=LG>!O zWZ@j7JO~YwykiK?{XyR=6ww5Qdm((>Z(a<~ChgkRnxni_t7%6{P`(s)W+k8LSA7m+!$}l-ND5LCcOAn=koj zz&i0hk3EzavZD@Phi#mQa;fej;HrLToABzwJ|PZH&*$w!~HP(hd|jPaNs?R@#9u#cyWNHdu#~Khx*Lj8{dNV4k(}J!e^$c z?9OMVr0mZ}uFCT2?q`U$PoKuM1HtG}p5s6vpwLe=C$~ih@Oq6VX>MeDMxrZye|1{) z6!@Ao&c4nK*N1!1$6ohl<*(;-(kYra*%FQM;`bSYb|`Psj6F8zf0;|Hg}u!hhh83T zl_OKNCUA8W3-!mM>?2KbWb-zw z%lU*G1}yV8ONbUp6HNrHuGfX8pRVegS?C2Rh+CAD=w+5=mfbs}r?sw%HaXNqq;aJF zw7GUB01VgqE%s3>v@^BR)~NUW+P{4!#;Nx;9Q!c|6FHJD))gGZS{dRFc*U~t8?y9& z?$BhtMvT0bW7mJVtGmc9ol46Abe@&} zea>v(FK196J=f}cB+I!>$?Gj^Wn;}{IbzV0Ncd-=pD-PwHwY(trtQA`N@V&5gdN{A ztMtO1jQKDFeWjznP}HIljKkg_Y(^_mx%>dX#x5M2-oWaS4OPDXVrb7e9J>Eu(4M)U z;{66$h%Pu(cY@w0NBXPigf56Yad?1wq)K!6i-tvgn^|_dsmImG@Jh77^+Y%;bfh#W zj1?!w3>I@nfm^-&7^j(SJ_Dyy!QwcL6^?7#-ZNr$T%Q%{byCk))P17D9LZPVWi-Rg z!B_ufC}6VxE&nFsC#m94^HJ?nhU*KuGj z)qe8RScG%XTdJAzv_x}@9=*%i7ONs-T8McVKEoXM3(j=oWMWufIQ_Z<@RZ|JTG>?4 z8pWawf<`)7OoG4*fzNi3j91qc`BtDfpP0(2Fa;5yH(CPxAQ+Ozcd|Y(MK&yrr%;Xj z)knQ87om2n-)@CWB0WN7CC@o_m6{*NO!9{Aq4K67^X3<~^L*j}un>uxcj7<&w|*62 z9l^O)m*|52m?jFI5-)<}m<2=3VdXIN`a(9D8i99}a2(9r?GryFEiKRw=Qg~B(?dxV zT)Z@KsWpLg+?yOu5HcLEfxT71cbf;+jvYD~7eAI-6fs!>`+Yd?oNcL-@!WOGZ$gWu zA-h(e83XvzqXSPQT?n$piR~I$Xv_2}BaA_}|Kp)@&d5ldT?V%K(I`SBCRD?f)6~%( z%=XbDMohOU)D|0S6ab`b6w115GXwwkOO^Kgl}c7iLBND_{?tl!!gTKN6;XO_i*CMP z>f}*?Q}=n0(}@HLVM86VZI*CxKwhtx*k-eLyHVdJL2K^&e2sBSK3FhPYj(!&vdL>T zZ-Uc@0qUGutlQw$-*Vib^&9~k#j^dk!>67Y*&WNJyEd@kesA5 zQP*xH5d%|(v<+-$^i%3FZ;jKiE!k3+womfrZ!>6x0lX+OP_c$75(cy?d{}8_t><2B zTFqO3sb1t8#pCenos_i<5O|T6gF6(y5EWv@`iwByeZP`(wv#FOVZb3bZ>gvPD>lTFgxWElhjxi-A+O&WN@$vpI-u? z7HXA3lc`@uH@C=>Jr|acmA2=g%sIUcjje_fdER)4rVvW`U|jCV&~E}}OeTxBP+Gpu z6k_d#WE=+mZP?$laEeecOgkr`W2Tfg3X}hNws+QGHM}n`J@-_hh2`^t^5nI4Ixk~1 zI0SAXT7x%xCVFnBEYs>>hAJ*a1*%DF;EMkj7a>($_J@s-53o>dK{;;L; zV8(}rU~{%N#U;s!%|_@>riM?_)PsrDhnsm3noU0y_4I;#Ov8~F8bFAhjxoy^fSI0^ zF)P=HOg+kQiy1(=oUS!08GwU&G1MmgJ|guZ&?9Sz*js(g+yzmb$vJ}bg6pMs2;(}n zdx+nKzMqnR=-P!Bnq+Vkw-*z$mrCd*XgSN=hVC_5i|v^ z#Yi+7_DE8j+|!gFJFc@8jWyHfi2*b9>`VknmvHp;NVCgOFh+Ie^5*l--%t8_^6N3- zE&dbDpZF)1XeQ&&uXosQ@*i5^epZS&HuVpqMZ3k(^oRcSER@n2;(ITd{0+-G&NTZZ>~WQf_t!6_|%Uh*P zD<4;~Usc_bUBz$HKdmOKrr9Rvrus~)sbAPl#~Y*5@KKGYCgfJbD`8i(wWFTjE&Htb zS}Af3s$*S%Tb!>hwpOsp{EX$6&07h(HqrWFSuO2XAz4$fhK*O*#F@jpmtISm2$y5^ zyPR^%yM|^7WOjYxaf?&egW#IjY&&`G2A#6T9g3o3COIRjM+_B@5?V$y!7&YNt==&&f4Pfs$7V25Oog?5 z@@71d(w!b`IIfh)YfGy`b2h9*sv#eV#9XNHM@)!<4H0~y?+(nJ^PL!g++Hb20^&$qHiQGgk>3pVqtVpigh+rvPs2NkFNr2 zg0Mh@zA5h)yg5(nsxtKkc)YS!isv}Vq;kYiOhlnTCLQt^T%o!8JnSOqZ07w&fNf@@XjG(sA*E zLhRXKOlHo11)m<@;PWnQ>ZL$;Wkbi`nDB6Vz#&adosSweEp$le^NkUIwcMa=%yT)N zT6>nRoa~N2@hc#0nMF)!Tb%@bBwsY(UnLd2Y`!HaVQdTF`;+fgiA9!*`fzH0T#7wx zErt!o3>Gm0GP+|+T?x!8XNo$y!9J?#j?mo@JlEP54fPepKM`Wp2Eu4;z*DR6Xa+l@ zdave`%Iw3^t~o19`rB;a^h(-?<81J3)jX_%88;4E>|&5zb0ikgJ4FH_XoZ3U+Pjm3O0x{{*X$hU}PJtO`uEalSgEmf`fMI5qhxV({x!~xsJn5F6PHF(Pl zrjJr~OZ{iYH-CY{ux&SDa3sOJD%DZx8{gliU+%}@6@>fa+qdVryw^AdGP8l7QjX<> z4mTdis9^kElPA916IDvya!n|$`I)Oho_rS%xkYs7L-;`2$pISR&3)s7pT$|=gk13wvRAsUxOxw-f_A|ROf+$#IK$izT} zd|Kv^5KO7d2e?!flhy_0!QSv)H5SC$Km6dAyHHA9o-5Xpq?ki^USGwvOjY>T1LPu~ zb5Lr3*C848SXQ|8XCF&^5UjvUx>x%^ZL02>zNN9z0PMc}D-1{_2jGF%Or=~6!dTC= zEFaI-qxZU21OvkN?BHgoOg_94Q#+I--yHw^0k=i_kl4+-&53#sx7R{(Pil66^XR)nzm3xSFFeGe_7?z_`d6AqjW!b#d`^$qBzkY$Z$$@uQHWIsN6CB-G_${)CR$Zd3;y0{$euK-g9w#E|?OYfXFT+xC zWR|e~I|eJ1`*AW8WYQ@D;^BgQHc}$;Wx*v(DFs~{QE|aoUsYs@(9;11!X$Xn(G^hA zu9KIxwRBQL^Wh?FuD{!dpv z5*l-qj5QP)XB(7shCy6Vc5>qRPh@U7a?%2sudP(le~VaB@n~LQvoH(PXeLw@@o_Sh zT;wDsG}ZrRtog`Ui=d<@^wGX)$S6|$q$y~mk8UR7_3@SHZDC6IqyNYnEjw9#>iFyY@`C#HXCVH#&0nT6i04lP zEII#b(I{>vT7onJiOLQrDTjqEiNAvMUd9Ou4;LsYF(Os&r_ASRd1y)kd2Z~Vlnu&U zUv}d}M`l6kPUfRiQy8iN9HIAR@f4aH1@?F8&r>>7h4IjOYUF_PU#JS0FjV)^1-^cy zSxG9@5UYe3M6!(|}6G~gRPFGr++TAZQ{hkDSw5lpky5`JHoY0M_ksi9ko!XZxc7ZL*%rgL+n3IL60}e{`$Y&OBC#r~d-Na? zlDBvns4X@8k>}S^1M+fLiKA$GHT|~Cqugr4&Z9IRvjC*vrScXOnJ1coq>o)4isq_8 zs%|8U#<2Fwgy|cqsstM{jGI#b?CDeV>&9lB5tUmD-UMGFw5~=Jy=*}A_kO6u*Jyh6 zgPk7!(uB@_)&X5}p4_d*tk`o`;K1(U1FjH->U zAzvu=#lIa}YDGTzl3J``uAZmqAcQ@XB|gb?KqZ12P( zfe@H{avG?u^jay+9+THS<~?@MEWY1D1d!%SK_wPX+X-ee)i0Z2Bdm1Nmk@*4PTi_X7u{D8?8_)T4FNp%tE<|A98 zuXA|$28r&u-8Z;(q^NW#dkGBxdt}=RPCaeS9$n)}bEV0wMSgx^DRpnq*Y!!L6wpU7 z2&eN)A~s?nKsZzp99o(DNjEX$Q%1b6v)4cuYYO4 zfrpGjG`5&FK_)5AHo99D9%P`0UrkCy}P5HoqdA`txS?11pfT=~I6FwJA0mnoq86BryhYB)2T-D3p3-5STE=-{*ELtmE#~ zUW2js%!$i1!$rk^E2e(?CT9Bs2z5VL*RkE`lg5(2Zx!w@pwQE2u4EiLr4o9AwKYPq zG$Kp7!kE;b9r{GpYpHouFFYDe>|l|dmmVe4^S=aG+f6%LUruYcIBtbV9;LbkE)a(kQR^Ti42VDFKxu)Ld~--69AdCc zTgdo6-v2X7iL0y9jYb$fxiDOemY^OZll%99B^eK5o5|E0M6DUTRE(a>Ibsd9T5Kf6 zZ&3~dPs1>_o{NTW8T-AMrKQd9!fHJB*I9WEOFeZZK%u=SkuqdMX7kkuQ0RknkZXe* zH-)tx_YQxt!YzMq)ZJhe-&&y`VMXsuQ+@HR2b)>|lQ|TzB==3#Q>k!wbaUliojq@z z4$dg#2mbR{8l`r~n_b0_q*@|L0{BJn+58tl}FJ*}u z; zHvG?${cM;JqTyKN;@8Vpq@@Kcrhur!fYj4RWul~)s(4WN1eD^zXj$PFUDJ1?wJA`k zfB%-!b(?I3A^-$N%~@}Tikv7p9sl8xGqejmRc9{0W~`Hlh5^dd#>5Fa`SB07)V3fP zqJ0bm?-4m()N9-DNW(l|Sp5xXI%vFH2sj6b1|6tH$@-@g%h4lKg_m+3AsX~0E#fKp z3Wz$+e1=MxlKDEMP14wH8bcDOX0?EOu$8Pq$8(Wuz}4MH-xVkVl_u`8gO!|ti6@tw zMA2820gK0&@p)1TSa-}6Z4;M~ouKifl4thT=v>t_GKM+kwDu|-3RX@oKsz^8|12oC zsqNCy1;J-+mX!l;0^Mb9gWDx%zmwbldtgB^fyqb-r{5sc@8KsOY-cMdlmpN=ec$%l zR3mG}U=>nGaxxhf{=KLsORGNg{I^vH`mI5nvh%qR9`v|QpU;i+5lzJQb95&*s8&X( zZuXNM8Cghq29P2~$CE)zgW^B#V=c#1Rk=8_JE(XC33gStRVKvmNU{X4U0Stt-;7`( zbmhNFDHBrntvXexfiAWvo3@zTvPzrMBG_%S3&25xRH}x=$-A^)Nn|;NJ+t5>RlbtT z)zL#^o*F1YNZ;2Wg5~3n5!Z=MkdThE`3+H)54t7AhUxZif^FUwaHs4>uCRc$d=GK1 z(6D~xw;;z=MK)I$UY846i?0px*cx=NS*{kE>^KvcV(t8F-l}Rj8HS!xq&e%0!#0ye z#h{aG-jF#N33H+W6sSP0yXY1s~PNi1>f6NfsJSM6>Y#VZmKx`=$g~9L!an$dJ1b?3EMpAkk^-@d zlM{|~uTDQ%7ip~E!V&x@H_{Ua=}OJz@%(*{p)>f>@0u(z_3ZdgpDG7nX&{Zr&2X#W=kKNUszCaSys@w^!Q+D!m)Dlaj2zbx2Uq{ZGjZum z7VR%f5R9yuZ=F3D_L;&7f{8L`p$m>;T_&v)!u9o|Lv-2ayt>&YQdOtf{ar|iTjG!< z!0!ZL<$dxojN)TBYLWJhOcNA^MG~Z^yb2G!6zI5mGdCRIj%MR&;j2ODiC8LPOPP;D z7osGjC}>AZ(7M%bBhm$jq}7UluDE841<>x>DCR3;YnKw8ahJ?GSLHlvPQtalbHPF zM19T?mCx9@K!!%Bnb{I6KYs2h0C}|5y|-a`U#C#@zl`@doYN}YK$x@alsL4t(gol} z7LiDP%$(g*)f850FVSo5=y@^2Czwt(j0PuXM~*HJw2ZCg7xZ= zjuqVHwMKoLdBTjl$*o^hlUTfX__8z}BNsJ-h|X0{Kr(TXY)6-Le%{-(3pTG7h{t`p zO&4NsAYW;oZ%2RBWm$pA)fb3+i~aUfBhQas;l!jI+;mVq_MUSuUW@A-DBU$s@3N8D zZB^bQjd8Yi_TV*CfJy(}Rhn9$ix9|B6=IRRD&Ea|Q4Ihy z9!aVw72Rq+jWRniM=0s)y(@ee$z#?#Dn|TEpcY4g62X-=Y17Nq^{XW`qyH%#vbw3N zL5{|*6gny+hdMgqD*2wK`NO-&b7AP%1#6ptgbgJfrphPbQ*E;8EBJVXQgDq$C%elN zUMA|5t=mN&=Czn77}p3z9Ys`lVnufn@>jX-Fj@|_;Y5mf+X*Solx=wV^wDuGV%8;i z#rNTcT-XU|=U6Q`C#G3J#&IF#%sjUZGWinyTmsKf!p#ntYEp1drRE8Iqr8>+3aD5) z*Cq|@Wns1L=~9}zogaw56|eE09y#GRP5KVUdg3JS)7})U2UiEHnyGW$5{TbZ1;&T= zzvaUm*7p_cXac8*!$B@lVz-b~e3E*r^l!`O;l-pWl=~o+=?Q*S_qHC8+cm6;=*P_*`UAAH`i7UqVmXZF-+Qe1s`K?I4i3wUYxC~U= z)w>S$M2@j{cqy7*8y}8K@uwXPD@9RFzhh7x*?$@qTYFW} z1-#h%&4@Ek>Z!DwSK~Ja&w9nax4n*KduR(PYHtf~ljn0C`y5bb=jKt5mU?sSug?^O z0Q$xEla|c^CB5eA_V-=-$_Gt@22md27|`V3;pUqTd99zU{r(Ap`&zlUgz01eYC%w` z!a+W(aqnoB2>s{Nn;Qi-cM9!l>pZGQU)7F^kk8LPhd0S5xOE;PUZ>t)vY^r<3bJ2x zuxqTn^1q>zR$^BNlnll8U+Q%rmz(XqlM3aHGfWcso2ORk1Vl;xwD#rY|7r0d9lj&3 zcGaNWnmP?tiiJdcNLd-v31)%jkI592xn>$}X?U(qibm17&U_&0pns3%4rGh6C=RG_ zmfyl3@^s6Z=$8^p#twUw)geL>U|d;PP+_BG1WBnbbm1ymHa=S>?COXSKvR*WG37lR zM9~~6kxCBFoO@2C3u!b#3{F>afGh3a2Nbo`TWJQR)}&VOTAbuxrwepf9i!L55oN1M~fUU}VMLrw%O zYyr%rNu+mBERNe&xE957u9^)6dxJii@LNXa{#qwkFFF)Wuq>HF zYh_KtK_>2x>9U{L9fiDOM#n%pQ=B+lFAIUb;XN>P-5Sx(@~-<*4cy#@>Cdsor8-M} za5q*yzAhuo?%PluW6pKqA+TNNvAR7MG`6jI2HqF>UDmC&Q@gsA*7)Pxblr*Y^vITf z=gi2DnnUqe`ydqBqZkQqz(33EUc=76l&y~-&|?w!!N^E1_CL#9!xCK>spXYz36zBI znebleb{*p`w%1vK zqG%%gG2F9p6A8MwWR5=A!@QwJ`H)Nq##1Gm5KC&khg5wZqtokzV|8Rim^ipU z&$ePiOYLIZ0JN$x46>IOG|5Z;u{lwF{2XC9?dJ8$Up>O!w)6PW3mlmoC@I?=(hmvH zmLDhsCQJ3-3LG-tQ`Nr;mGHX{exsSr!qF9&#DY)Kfx_S1jF_@*TUF29`Om8;Dm2j& z%F74_reQ9t{@n9rsd{;24T}?5xYnW4#XM6e%|73Fh}c;av}dD^NLdjtVREky;r@X1Px@KJtsU+xP@r7`*ua6CrHKK2A;c zSRDiP^NyW( z5Xu(zxh>+vvpqN+ehyyyZ_f$j%Ok~6_;Ia*FNHKrQ5eN=(&QJ`5X0-qvl;QC)wT{z zcJAB-oqe+3%j|M5XcHPPtvYW0B@6PVU?;!5)F3c>>$_D7Au#rs((r@Rh9rkI@}_jt z5Z_GYC$3Wb<+Ob2O*vdO)te3*^dI=vQX(fFJk-iM=Y7s)t<_6 zn_t0nix7G_dybCdvpdSnh2r2W{_?&MQL3Tb*}cqGa`HIcD*sV)*>hnln#ztXNH|8gxDj#R2Uc*BM5{k zdalF{MpIrFTvcnf*LQ>e1PJ*zZ|U~@#R;C>DXE`BU$v+H+trpG;0bo2au7+uQTL}+ zk}cSuf{4n--~msQ11i-dvDtt4Nki5=Hd9iyXH<2lk#jhF5}8slBA-4VwgN{(6)V|F zx6?|8W0s}mMdmu=!|Qm_>LUx}k2`gG^LmDO(kr9d33V)U^obf~g=R%l%xX(EMeUizhy z+PU9x7%BMxfb@5N$ejz_mh)*;b)U)I@Ct!ANW^r4%qXya|E`>P5jL{N=J+bw&Rp=L z_qYm}p(;~v80YlId6`=N4qB3Vb3lcOf;DA%piR{h>vD(xB210~Jxv|%?VL7so~u1v6hJ@52`6vU``WF06G$##Q~XyNFkM=d<=T|)+W9N^b|=~ z8zS%_tTUKh(HI-Pj<7KymAQ8`1gZmHD8%k^S$McR_mDZ*scmf=Z6c1p{74=HJBqN^ zPU|9KYD>kmDTYR358~O}Q9inWYUJa+=WuOJ7#&t8%>h}I%;;X3u8~nv2b#vsL)3(W#cJ0t}^h(?Nl+VVj zw$Rzt$k#DIJ<-sg4#i_S&LimM^K|h*YouU#eG|UD=7a7RPfL-pHn&?cg6)|}XW<4n z_pD5J<|OOQrSY((68F>tXEr$j{8tA26C&Um(+8ppZYKXr#F zxVAr3SmRth{fGddY|*CaprmU?B3Er8742c&E%#WM4%l>V@*$3WbR5l$gFB8dQA)0y zIr->;XRjL=F3>9qe&0zd*ga2;T?)A(uXIzk{V z-b})NTBy7H%Oj~hiYr_YMZ8yI{gGv|I!rcSh;Dph@wO$~vZCrMhlNBzOCA!5T1=Oc zXt!(*WL`{OHwU%jeQ(Y4?A+1NTjo3 zJ@s7I#VS1!!^6?UC{K@yK%ou?i9QZ@YLg2VrnQSosXi0~-X83d8$V|-J!KbBp6+Ib zic=2cV{@qv+NZpK`iZxJtwm17$Ww<`c8+#~a!l~4M=xXXHY+-3*B5Yx3YinvFY-ej`Y5u?6xHO=>P?xZN z_+zqSgMyR=O$A9cXY+`mphwIaiTq6h*JOqEk=Vybu~sibc%j^P)Vr(IDp$2`QnaGd z@|Fvi)};W=_|;1->uP`{{O4Kx_4S*~blwJ*#vm!5$;pqNm#>|l?wgiWg+xjT?? z8>v5|_iEUyc-M-KOrn1+GgPZPgwHJ1I$G6lqNtYc^wb$KuMr0O(Dr4 zsj(xal8iF`cCEipHBv$3+a>-xx-*7gjL5T3&lG6@qCu!JjW zdV5#{lN2!&3vfwn)oS!m@ z{mbKD5Y|9fBZg|naTpC52ttvlsrs z@`W-h&P8|j)Hk{7qO^^Hc+T~0YhAry0n<`vI`y=lWx{Hb<7*ciw0L6>16$3^&ZPre zL$_!_@|9>t_wYdlQO$PrbENTI?peSN~|ky>&pKe>Mop#5gxh9U5pm6!~vbK-jrGM;Vwz z4pC6KNh@T4LveZPa#a;ccK)2~zz#VQu&No+R4X59Aq)aoGm?dVv@s>d#z@p(-S;G@ z*t$T6ivdma~h4vszSV%oZ9=i&k_R*c?e}pu2~cgeDZ9urR%&! zFFgwT#Me`A7AnG1^^DpK@oh=foHo%zYtHS1XyGwaTN@jXw=`rmQX1a*_yeBNgU!Pd zO|Ufnz`ykv9E6R?tdax}0oB@TK81s_n;sF^EcTDYmJnVu%iiIQJQxt`pmwX{#+5G163nlNhkh zc4S-F4sUZwuJRmtu2aZ#H+k6aJp0A4G%CA#;UD(=bgbo4SI~n=KZy!76JI#UogSK| zsWm%lDeSTLeuJ%bp?YkrHzx5Mnhyu>{~lDuh|)ZRYctBi^`y50$RwD>VB!mr17j5g z3=MxtkYkxglPt{s`Jn7OJdaw4k?~O7p~_S0XDSq+_R!q1x|v&7p!QJQ(P}#tj48eP z4?2a%lqm+OMoz1`Qu_opu1}U*bQOktf4$e1d)WX9HJxDeZ3sfv`i1uow=mo| zNbQ{L(n?k>y5t>Y22SrzMTv0P z6X}0Xtrf*(0h1&n==7)lIP#70Irt@>{XKFDEe z*Ek+17M;Xp&$|)HQM<@rOOdVuX=@@+Wu8I|1A1oZvTNo#eYn{JkeQLF0&Q)$P?)A~ zkANI5QNs|rr_nMn*4lC#`t!$fZYp>EfW9((AByTY!o#@twsBv}mQzw7G>u^h#G&Xf z>wb1PVcoIQ+zDcY0F2GIfBor|AkR9nmCPM{1(6#Ee#BkVM6m{G76>fdmsuv-(%CE~ zkiVuPT{96iO)pno&_PooSfEu>er&uEw6Oe5%PApa;01eKp<=igsJE1JBC;hpk|OUS zWgt?p2F)TzQF=&zn;KiieCH?{Ot3NV!GW)tmT9R`lSvNYkP?1}^Is#NV;dJ{lvR^E z`g*M0`<=$U_q$CMr!iHqy^P;k&u1WlcGm+BQ`d{#S`Akso zN;U>Tn!?N8kB=q5MIKf2)=Lk0^M4Xh_2z7{_5R#mPVjk;CiIFf(}~Zn{GIKV=M}ya zDG#|Mv;9}MY|w~GSFq&?f7#bqE7+4j3}AAQ)_CXnReI0ogURnQ{~f640~2>zADY`? zX*>&n0eHPD6PVY9=c*)>+HQ=C{vqavkDGj2Wt?e9&TWZ@dUGoIixDH~iFPI_OtpO*;0U(`AGlqpw#NiGCk~wEZ6q0Ho#XVK{Yhx#NE(J7NVSaTOsGB=x)xGkp`(=&YDr}xYdxLQF+Ir^h;iYs`-XR{_emF($cPhhlJHJ`~H zeXP~(kuq1coOyy>kKgU#zgNAGiGec}?fJl5c(#uc~%XrmBChjCjXNE57*?7O}ZvucSBn zHV>=$Q~(d8EL18*kktUPivvT}`JNYAT{$*$cZ9xa*S2Y{&w}MyY0#J>osUL-$R|ro z-?P-(BdxsFK}oZAk0y!6zn0u-FopZ{%=(cBO>{`~>}OPt;B;(qYbrgnE@@H96V3Ky zpNynUd`7?AX-s*QE1))ZHxuv@!OR<-!NwN=DPEUaRqXkDq3UD(dZ^S>X`w1M{z;d& z)v`@K?n#t)$kMx4cv<{Orc^VR=t9@Cf1zrJ;$q2j`(MLYhp@cwx&=S6b!tsOQx8Kz zvml1B)=uhJht7&f##5#?^2+nA69=c$9TQI1Ljg#io^Fovb8d~5^Utwehu?zc zUL@OqOPpX_esi#1OQ({SVvs2p-m7W$qOo2^svn`QKsPoJBrR@fq238n=SH%8q^R{@ z@7?LM^u*4c@cD?0vLyB;c=`M$$Q=s_vxO}|-xlP~1V|k_A+x#gLMN+8?~IAFpeaH4 ztz?fFEcu~fvwAo}zARALcBT2f=E$Cd3A4&A*zcn6mv%Ql+IV3_K04Q&xs@Y=KAigQm#{jZ?a{%<$h|DP(@nZ#i{tTRu`sy#_QPRf_ zviy@vC}>0SM{*?3iHx{3i(eh%F|$Q7LN^-7p4%z2CM@|c;j@sxgB;<7R@TF`4o#8Y zXA@>&T?^3P%!CM#@?!x|XxIfkeYU|STHu9EmE?WAq0fkuA*|S_W zv)J&gwH6KI{p2iK6#3bv=9=i9{tGuj&q@Znsm#WLs>a=W>nEEg0%=vCh9GtqRVi98iw3O8<(UW z%_7U2@k{x&Ct)gdA{|;xBFkI!x(!;=(C15rIPz_naH>vNEO3N9qiz$!z7hX}1nYC# zj&tFGfL_S|D-twTLjAwe5_tYUkl=qdUz@eGoz^)}eP(KBZx5X@U%Vw7hzzt!bhr#M zu6h_Fkn)CCtH=`d$bY;|rCUsCfm@LAk)_|Kj~3#m;~D>)@(#d*a5VW|4q%|J&1`QY z{3`C{Qdf6xMI?cN3P$}y9o20R+f4@tawz|T8tUKuI{(peNxymKc-=O!?R;Oopd-I? z_MBR{cNpm(Bj|Qb4_P?$*;t-1XV2p-n>?A-&T@uhfhDJ7{#?z?tia@ImWzv?D{pMR zPfvgjilRF(=6Eb8%i0DDdN$VdV!@i5Xt{&s(u-q}_S8c+<&`G?UV^=uzJQ1E=NXbm zfV*V1b;N$B{8=v7hcGrl$Zu^QB4__8L(}V3bWXVI`rYSL5L+x8X7)gDmCWw3j!$b~ zwG?CvHjr)mbPn_rrP^$iTjzQN6RF>E4fjV3A>Z8%TUY+YI7pc?GhJLlku_wFC9^Y@ zfKSICaTkBs8AogvA^;Gy+**w{$Or#J+}kQM^+j&EuGeP0RiBd?dm97o-L*a<&j;IZ zA}r*WmQC8>go>xIxMAe0nnCO5ql8-JXyXy*ab1W9LkT>Oj1=fwQv>vIN#bR&9ms}| zm)kEe`RzPN`EmjxPy0mpt8s~5MW1Csz)PY_JU-bNOY(a0u^v(LU*2#No>}i3H+|>wm6QsWD3hE2v07|ys0QsXQIjTjF=4}Nz zp*HLDD=9ww7Upi5XZwbvB?sRSb=N?+Y8j>;;TT8zpxWA_XZ5>-3gDmFd$Zo}&s`^& z^nxs%6A3lP0dqL#RmQ5@Lc3FAa0s>xQG8FBp)?i$XI^O;LJ0y5K7P6}rE?Y&jZ=PC z?qCFr9utFCsMOh4NF9)q;rY;9?ji36XZ zDW*b`p*3Y=zdM;OlC{3AxR$_^3_M{zi-^W>g(aQgoRhTYyH%PW|~Ln2-gE?gE%kAgMsRdL`IU;&>uMxFt^mqQDt3T za&Ito5?mgA+p;8KYsK?n)-00oii`Z?8kq$rI_F6pO(~!4}_Hr zDQPViI{JLVKyP46RBR#@6e$|3E{{2sbVVxs*fi=X$iyp=ZW0vedP^!==kP8nJF$Y#5tK1z99Y`(w5|W;*>rVWdKR;aibQh&puyjZh;)A~N9) z30Yk4y@hAw#n?){hiJTXcHfEgooUAq?`>4jNM$OciIIv*8>B>ces#wj}H@(5C3*^UQ~ zm55kWne>Gu60!U=ZdBw5g;IOadsX zQP34@#VinRHVFk|h5=xyJQfKG{+Cv1Xi1--5@aDxvxbnV0~sEz5jQO`s!;8{M-Zn2 zxq?VqQ{0RI-J80nAq4}3Ds@`wh5ZU?5pQkG*r z@vVX8h2~-?{Hx>Z(h9^qS#rt_vT}NLa>Rew`@=T z?m5FtbS|n`-{-pAnTC_H2ra>m^JZNApPIlDsat;Ho#L2qxlkS-8R#nIX`J3m=}uDdHSc3vMBM4BWw@r#%RBazEngjvc5JUal? zd<$l$DK1R_#0)_gs0!YqDJy{FRGP&Go2NvqcEEUIIkX@Ebha^=MU8kZg^`vQU@`VP zN{*Cp`^Fh=S6ALm0P#0C8-n{=Cl?=R_-&h+miJf`CzZq{2CJQxy!@%~`(Tr;##Xw6 zAkoAo3rmS67uY+vs+9u`Q)KGwvOBXOX%&52c*`{!>ZxS(8B#@Qu%H&9#ez1-24rLT zqoO3db9`O}^wv4Mj5N#s?IIo?rNVsTqD*7q6P*$g`7B|105#K)e^CC-q)hDjnIV7` z8qx){ye(z3vKZy_+F8xk#jKUMV<7ggE|xX9u}jl+v;rqx;-X0N<(ZMBVT8SPa1nI` zm}PQaq?e6|1zEM>l9`%CGHTJU)@7-Rd?<@%a+H$1p&U#O%U?qRJf@SxeB40X#f;Ee z&*XXF;0vBQ>h(4e=&!g_QL)0sA7#ZP-*~ud5;yT}e8yx-Ay`Fp0q3e5d2_uq{QV1U zI`bRlc=iVF&;4p2!cD3Q&aKe~Ri>S0mULWEXU1j|O|C`anRENl7Z%c1UEm!^>oU4B z^JoF+=%oX3$zpA2`-(*eMWAGuvQ%WII+`*%#K&u0{(fjR>K-fH^Bly zHTheD9m{e;4Dgb|tZ-KI9lwXC+cs2SJ9Cp?q_Fqy2xE;c9d`I6KhA(sP+qQ>WM+#W z(&pC{dyIIo^*wLGPl%mSECsnNQoA3rZkWuJ%8U5OEtB>obUQOqN_&^wY%jG_S*Nk{ z2hM_ux&6q=$l6#EE^trj^z8w546$TnvWY}xLeizpg`=|;7yj2!Qwm%X>?g?Ue$peb zxKhl}iO{%m);hw4kR95PJcC@T<5fiilcK*|tO-qJ>>=_}wuD*>W)`dQn|VOz{#m|n z(w_kykpr{9Lq&fn(;Sn8z)@KuCbdc=i?6hOQF3SpxA9Dz| zRB@qFql$J4cOa$jOvXj}>3aRzd*Eu}Yj{_2SXBdt^N?rZ^^DPU;+DB*;GyW$9#9dX zz{+f#Q7cyyWh5HJelS%~AjVN=9uUc{ilSvU2_(7Xu87`^P41^vB5jM9Q4;A2v#N9` z$>YO`-osu92jJ#%VG;tNowOSF6Y1_O!+hbMat{^~79}Bjii_mSl95-UwklwZ*e*}v6BE88UrcJMt_=BdX9~Xj1%N<Y`r+{7uRodmf^%1RV|AlP6%e!#r3V-$W1 zYB%-fO3RSuNWL8M1XqtW*~*n9Sg4z2ZSnZ2F3-f|#6MzrE?=)s1o2axJv_3C+bPA$ zJIuf)^a$t=4o8{bPv=5rWV@WV(t-OERXa&SVZ9?2kACMEJKJbxbGMyLBz(&`7!!sk zbO{8`eSLj>Tpiu3O6upQ-g~F%NL;-%Vk`9^qbNJkvg|*D92zvNvy*+HFpS&xZ(3#^ zZTqG?GIvH8kaIh2XCOiUgx9URk$GqKn2*@lUHcgs@9q&uz4MJkyir~M)E5yjB`(F? z3`knH=1f%NN_mPV>zI?WM_Vn>z1<}E^zDsBACi(BcrcMR8=Da_W!Gt3^pbwDZ_L1x zdH~gyNMHYuc8@PRfyQKUVIZtt{X)Uyw<+YLIa`_3*SJf);H5ZoDJh*-&~>FoB#+us zgBd8$iSR3c?Cy-s;|CPmpn#|6p%Ov#qoSKomnH*Y+suyF6(te(FH=u>t?*D)q@Ubd z(i8$6=;T>1@Tf2hed6v4*#)A)q8cc>tj)F*`s~_s41q)zYa~TlIQTZAN@JQ?Or8y1 z10$7&0Hn$5Jq}1|$|hRdPJ+4Uvz(3EQ6~mr1S@@Tl)cR6V6Ibp+hLTb4Q(eh%JV-9 zkQAxZShU&F60I$&QLAM%lhsa7&P}2m?ogVNXl8;b9)D9UJCz%eDO0ItRBYdI#mvMU zGMl$rH4dXw{Vt!kK!54cjhNtoqAqC7G*UL`W^(vP}JPlvCJ~8`N-rYSU_}<KPo-dIOU7@a<;t4h8`Rx zrV6!AXGXMXay~I?P@Gg=FzL98RnTb`coqeuRS@^!Uv$K;FtgNl+o@ecQiefdm0^A9 zd=u2JwO!A!w6^fW*a}F-yXynSivLQW76WbfGpd9BM57j(HlgFpk&Uau6*5M(N~1NX zHpQ%?CaH3G)Q(i)Na{8bQCNTig05sSk6Nc-Ho1ugHmkz3OHS8mb(hzi1L)YYx!tZ^ zzVmcnNCDgGD-I!C{1dn1XkA=Ko-BC);I;`%Hh^lJmW`8#g!L(26a005ngaVMT_OG> zMENBxTX>yNGhTML)wVax0;86U(O{qRkwhOrB-$plUGJ!-FJ-bbau%TjTMcqHB?9^y zOGNs1ZyiBWlf6onNb1O1pAZ_c(+Yz}!e80q>TGbuW#y>n*|}V8VPKp?PQ}%IhDmsq zKjy^SWyKD9ajUMlz_kx|YgKPegH!*}%+jW)-qDay8s)R9E_ce+ZHvffIYfhJ71M;u z8B#MMS2H7{P~}eJcCZm%&v9!foJ_XTu^ zvI0``O)1)I4-C_}cmuo=FO;@OXWYojtYZgyJTA!HAHsT!N4?P2FK1r7JSH!SGYB0L zyCQAL0bM}SbqU88@Yy3$Mqca!X?78nC$5r{$*gixf%&N!Zj0+-hD63=(Ce}1l(oZhk9k!qawQ?nnlFn@(}7qIty0Ig>3fYkF}ca^0n-=v6tp1T0GAZ49S6NB; zko?WgD}m;pctimzi#EpT=_Q@#VfgoKe4#<(N;X%RBNtROR~+yMf9V@`6||?U%dUa< z@N7*$9$88w|83`)!L=ChFJcOT0RUcDn9;th(B~{ndBl=^CBFJXSWRtrw~pi&jdtSHLWQ04ix#!0C#HOC%twVKX_iN}YoNzstBfG6Sa1oyJJUb=6V+U00B}kJugZM6cmL+i- z=Yb<;^0zb4+wMNQ!;QlzGqH6XHedLV^2vcG`r=YR)sTWX5kRU(z^dhh%znNPppPi* zc?j|X{1c##D31@wJl%w4Gog9$&cbB(=5Bxpu->qOXa=U9sfhXz+Ir<-D zv(~me!a44GFS2>;Qnyh+GcMciU~AAprUz58luifj+pw`^w+G@XDZ89dJQ;{NbyJ8x zCI``_n!rRbvR(Jvr-XP@Xn|^Te0v#chDLW zLN3G@Q_#L@E>d2p$sdthV6&VC|FJS^&P8aT5&QVXRIkV0F5e@ywkMBT6D+h75rTh8 zR#2z&*mM{M+2fZO7I^NeiD#QV-f!~U5+95aV<2tZ8d)BwH@0tCoG%quK6{l-Dk={q zY8oy^W?s43+b*}54cVyS(!Hv?aowTNp5@Mi+`&|%@)thspEQAc2WvK;DDSI@P62v> z{{z-rm6inz5rKdt|K;iapRnEk7p(txxq$x@tpA6A?$!c0EwrJ3XMMxS-h{fW+OC&e z_0RXyZS>O%`=|H7<)Udz%HT~Hk5Os1{CwpUVraLRQcz7!!4)OoXS?CyQH@);%bQ0H zdOfloAkq?Sg|1PWD%Hrjx$cV&J4yD;li>mHf1R}M2&Igrm6kTwqeA@XNIsi0WjA#3 zsf}`A=?)30Jpxs8M3KYTmFCo7`6iO`6eXNo___UUKygYn%c7vQ0`2FNRZfYbe{{pi zQwdidyH6r744N@>;KJ!<$5Wp*!(aQI{uC3Ehmqm+v(|`rALTV>nNpu6<01E#WHz|_ zq$$qnl(Wzzr}3YshG%9=^fE1V7MXYBj&O*LZ%E$??>E|pSF?8D`_XWxr)F*ZW zmMx&nTrAWh4Z{RU&&;3!Y14O))oIuWE=}gXiU>i1LUr8$g&mzwCND5jMEnn_Nk=M) zjm)q(#8Ek4Vn}(_&t)sR--uz zL>8v0SupUcu4NpbbLK6OP_E&Ys_W1}#8H-yaWQ@}uIYrkqcGBmyjhGStryN-sW{U; z%#?!y*iR>OkD@3bekVq6nX8%CuaLQ9fOVB^T>LOWN(vLMP9hHc%T4)raSLvTJzq#hugDH2VB}ksbK+$JZlF z#a1a;j>JdC9}g~H;V=N4ZlqESpzZvU$RTQZt}SU^?>GNh{hP2Ev0SCSc6FIOci9Xy zQ?Ypiu4#8#u4ENk67rgy)#6$p5;U87y@0M}|WIBg9< zrNPp+`xko#>`4)>8j?R)+`Wn*@a_ZnI-Bw3Hv}a_%^n;(Y7zDgpAeBo+|5Y^%+SIz z2{WXFBjwy)uAUeXu2jBR>yTGy1Rv*BJUXS0vBNfz73U|I++08x`dE3@u| zOe}=MP_f4)D-^fZ3yNb0nw$F^(zK@gjlbZQr*%yT2y80_!$_2CnRT=d^Vq#;R=^zo zF&*d4^#` ztGjNxN8wnvHIAt&MsW7ql%VsO<3JJNI9i3Rq+m%<4Of<_n548jcirD@4FS#|aFfNf zni{WERwB)5GDHudOEN}}-8XN}o)s*h41_8(8GjMogN=*wg}ae912qh)fpq`S0#oh^;kY>ft#6h4z`0NE)V6U3ESMhoM4`p8z@zV*h} zI-?xrc`_@LJD?T!I$WpO;(gG8z8GgVM@jjixm8FOr(@(xs-+L&3|NjosB~;xmvKpJ zjaB|p`AizK{?+7j$IuaSHj|!k#<<$d-8PLS!*h|M)lGUfT)t=jDMXy?DHGm(Khf94 z-Rrp=|9zV8)LsYU&2xfIT{d+ByRJr7@=K$Lh&M7X;PHKMrjZ8tV{SvM7juO5v}EW>s(*owO`i(<2K3E2rnM;{Via`~x;&Ys2Y z?s8`#psLaxX@adqigj3g3{5Ywp`lVO^fbdDcwNJu9Wn%QORi@4Bj|S;^@YJgrZehv zl%4fatb-?=M{Ia)FEFXNL~dP36xU%nKW{)v5}c8>qUjt-DfSf_5|9+1rhCwUBCbb3 zqaESuS;5AdYnMDnV7*ANmFFNU2TM;iI0II6&HiK0NEBL;{3dd65Xr)AnD)NZq?%;A zjML5xN}5atgA#teRM-G#3VE;}3jFuHT`Y%vM?UsQ*f&%D#d?sIqm}K_dfYh*ij{I| z-kPH1K9h~LE4YskST7Z6?^$gUPF~Nhz5h{XY{g7rH1~k0ZB>L3{F(d~w2=&qOS?%7 z?cTjKw-X5V4J~LSYgu)QiU-?KtLDM+cqeHs+D6Z(HIO$tdz!5&&7|_8Gs8v4V3XfA zX(>~(uNSnO@#HIt(Ob6n+967d*K<>i)-0-4ZLvC1b3AYWV;`kDGSqDd{O6vUAdR-_o8bNbDH-!KL6J>enEnRws99O8O9 zK%aiDW{C>)$^2&vEYlt`i3k2L-31?8{twQ+DN3+tS+crp+qP}nwr$(CZQHhOblJAe zuA06N^Dy)7S~F{%ul>6-^F-{7jLe=DuGcEQ$c-225?XaNYYX;Cx)9@e{CZ^RAUTFx zu@M4o6S_>~8hFU{Hi|&+Y`tEPL1-Mh1UmhCOg#3$W=JDhGRY@T2K#`^JL|e=*r$DO zIU)SI%Csu~>*v&$`VjE?bjwM*CR&G910*&e1KncK2kl4U;=T3$FU_U49A+pJNC1Fb z>i>*a@l*b*vR?3?G?#>|Elg~kRgCTbO;At#4-osm4^?cP3`|Y_U0x66t!0AplSe#b zleo!xnQCibWMs4ck$;I!RNo5S)z}d0igmftIdRF_ae0%vGrUz?L_Q86AdifKSJUmI zEI;t;Qd3?RQc0d)-Xmg9Yk(|rFL>F>_P6u4;>Ndi*4C%bF2^a?uE*Eh`^Q_sCoVvJ zb~Yq-Fes5~7ZdJg4Vk4|$YD!quJp@_?fz`Fr~WO=*eEDoQ&z zmAYUiO?GKDi$`h0q9kdvy<-mo7K;6va%N6Gu`^90WlPSU-Fn5dc}qnxLX8bWwK31Y zqN#I+CS!{J-~&-A*6+h|Q`cqNv#pA-q-Uy(k(@09^ zIR@&QX3BB!=2!%M1lTOnL>-BH)#cV??U{xMyf4s#Bg$-dhNOUyrU;Rv&bE;csg#oR zS@MVrG(-hrm|`jBQV$h0UQ;%>@PU-x@)><2^v}-~H?lkp8p*`SZNr0_%{o%(jI+|H z^nUJYRj6~(+b|hKOUlyQlquJZj}DaFcb@yg6_G{?qU-~y3@Cn0;2>j7E@RxQ>Eh-+ z2fTEX4eG?Gle8(64|}GEk+0xXWz{CN>BfGY#FgE5MiG&k_RQ{2xTF>lBL~5URFqD6 z{w#VtlB%~OjMQrOhz9$`!<4e9Y#-1}TqS$RgV_vjW;$J*3E?E&;06t6YGsAEFjock z(_6OA2$D_|X&lx`GD>vbR4UoAuMX~`G3~RzC?Otjv$2?zS#K#(WY~i|TI|)^svUU^ zH=Pd*5q~Ri(yi#11TwAfDH+~5Vl!8%hc&TRB6+rlDHJeZ#)Pa|nhF=XThs#CA`b2p z^Ga5e7)3lVi}k?OtmW(Tj9oduDO(S(2X_bCo=XU7#Jc0%#!tF3SY<`dtO=4w53@Qv zwKQ6^(B>3*n2scjtFBX5x|F-~wK^(dnYt%yvU7M-Wm0X1905_zCX7=a+=*kFN~XCC zT|Mk`Yv=EI@7Q#kqhNAs_?u`KZ{96X7bBo>q8sMuIOYRL@nLeKT;Wg8<~B36_;7tv z84=ze%c69_AJ-dMPwNC>Vwsv|L2c_Q>2`m?HAFzBfBM6+Nn%6k4~xK3^q=0x>U*{&tNG|bNPr(JD?7dloY;W$`jv79h$WatDZ zV$Ie<`GTq~A|+HA`jD5kR^8$`#DIs^rAb1{nZs#GnZWC6iSxR?m*nOdzlo7M!=V2&T0c7I=y(w-i_%6E3;aQ|YzTcpT`M?jUk2OQxURZugf zK3-&h|Gp7!(9U!(z8eql?$fKa^!JO^M)jbDdne~7P(r>h56F99Dq735x7{a+mI-`P_#ou?vTrSXy4GXaS?|`_wLx8Vm6L+ zZA9m0@EJt4^eGQjQCQ_9Bm&2K60SJ99!I(!8GC!cGB+42 zRViFeNhWiQnZhJ`4HmW7<=jL?c4+=3cs|JH>=XILJo)5S;UUpHCya7p3$wX)=`&8k5tS22Cg9bH_ct zmsf$Ww7fBTI0qMxFe_84ossZOAhNFUeaAolqEiMFM&CdCi>qPL{u!?RYtai}VMk|a zZ|7#>NcR^v)7hFhJA2Um7YO}txcc8Pv<8HC@^Quw--L0m@dF3}JTo~w0s$H@gz#}C z2MZ=RB5Z&vwrOvFzp-h0P?3sN1Mai6)wa&oO69hy)jF*^w7^DTi^%G=ZQIz(T2brf zwyWLijjfu=&m7mTG-(n9#4=u=_ip#?=hob#U+(K;jGNvEroYL91Qbc&hkUb%9JObE zMB5e2uqL4_qer<3k{;I(0a@Y}a*!1E zOU!kkhmTQk=hZ5wgx`GL)1$YInw#8bX>SY{Xy<1q7u$>7T7$39&&f{h4GeRGU7TOv zuK5L{cr&qKLFzBEE8xV1w-0w`KXUV7+4Eito{6q5SL?0LUN3(6oC287iX(nTSsjl` z#**)e%=W+TGPKTciM5o-5haO0T}l)BPyE98o91Vg{OrgOB&+jk&oEgaxwGc;_XVJ6 zn&}kkuDZFG_f-O6*4n|E7ada)FQSMNe#Cp=oEMMQ=g^->5h*aI7-^8;w5dD{RuN z!<20kq9ER=s1UT&(Y9ig$R{0+&EQv^o~QcJPqOwRIdC)Wf-)ME*~#h^asLn^4X$l9E-Q%v5h4l|?6>ICih2$+!}I7k&P-vpv}4~7WX zMG=;rlcSdNtGa&FC&Gb&A|uMUO-Gt`>e@xr>b_}9Zn>ZOWihnQO!yP#rb_fhz2UkS zA67QXgQYe;1>sG!EX|7%c2Bp^T$<(!{(Rl*cyQ--ZViM7*y!P)FPsts8xm;_4aR4N ztT&OLVT~i@8f`11oKH}tV&_GHKo?gNcMbMNzT!|9`Jejz5hOwj;vC^5XwPp#24w1K z(JK|hoPIikYprWx&uhgUEgDW9)u#`ttT(Y@aOF6gZm+1UOp)-MdfY@6-4Y-gJ^m5sZ?rjF30`*K146WayA&zb(0;#P$U zSUW+mBT3<-sfO}0#)57uaht)B4%7BZucmO%rucNmMUYDBX%K8xbXmc2>Y75d`H&~8 zY|^E8omOhtReR7-d9nM!So-l0uX4!!9vZKE&TBAqaV49<5)1ysT6}Car}J7L z!h#e@&VZ%ugblrwhj2yEBbi3TblGDa;z~XtX(d14VtLuqVY$MNXB)>-2311;@p11T z{If30{t_MomQsfz=`5_YAt4Fa)xyYI`{5h7D5sE)tpzZgQ%~saMUQ?O-7ZW|rB@eC z@3vU}TpqJKNEFNf%TUS|%{iz*a|11sB%7L-h~03Xo;XcB0otU+e+VPWC1^Q3@_ZPv za`)zFKhgMRjcNq*ed5Y&D!1VdnOEw>Xl;>{V@HJG=MB{7Z${0XlhGFy19Um`eWcIK zyL4<0WCptaMwsjJXw-xxhn{Wr^7LVktk-(?S^a!33Pq$P78M-B*Uun$C3_gkGU91T z@D+Va@%-*InZR2PE~;^gAgVLZS?e}-+#4m4;au4I3)UdZRI$Vm* zusUIFw{pE|-5twk97+n=d4{+ChFU3e;v8B8aibC=X?8=b7{Gr* z6CXL20dRHEvw=-9Klqw{Jo48oZcfz1+SYJy2_^c)9$fCqmB?gYOnX}D#+@7UbwBLQ zNkpX546I0}AQ%fKW?paoEy6Y#MEMdD^HT|nZ%7%Jh3Y!N+_4QwjqYn}ba&5A!-)dz zUQN1H?`X&rl*#9f`dCUy~(R<$Vncu<+ z*S>>DoMd6Z(B>lO7~WFuj~y#*zw*fRPyKzWr=28yW!8;O20`vkX$Qq-uRLK#V?aSI zI{0S9ak7ZEo#paI%^bRUDovFpZ49_KJZ>MhE zaMv_%Hj1{x&TwmZvVCP7SHPd{@8&Rw=+$>30hu9^k>>S$FeWz=r?oi)Yu`{qlM?q~ zD~SyK*$y!bEourgTErhGX-Lu1h1JF_ipjeO8;O$qcW>vW5=r*CluxG1*nnz?keDjC z#~PK=4MrJ;iVJ>jW6yG1Qssg3)@k{@iWjn^S@~!*rKXaJ;$SA5j`=5W66b@SD=aXV zo|RM$#|C}PRw8<798uZ?1qKUXDIFfrXIru+lUfp|Msr5b%~Vbl72GIN!34Adpq}w$Nq-AA#EDW6F-qB?*wZZm(sL=fka$ z@gz?0QdHE&eA~kJtY43(t78X`Rj?miPAug(t9aau=x*a1hSZ(Y`_bWLIx}PsrY6;frcIIt`YgPc=gAo>jdctlF-3~U4yb};pAD+>h(AgV>ddnC2QtJrtAiNtu!K){)l1_EodwZg z7m3pZewq4OnH3lCVEBsEYac{GNL4Ir@cEfGMGAH&*rz1z(Ll2 z$1u$#hG{q_5t|+24f!vc+~7#DQ>Fsm8K(Mfo^DeAVYJIdxyvvkvF5FMenffVi*5em z$|@^$NDet$ zsNU7=DL4ma%{}>L-vq5yp4pgdsBC>WnS$(?V!*~EBz?kr7%XW$!m4P?)>phq$npqy z>o($&5T>{mBQsavfR4u=fI~F-IlW`)sF5_bJt_+v?KF+X@2D6nkY7>c=sWS`ItUIU1BH45boIP5K*5DQFF^aPt?Fxs|#VW_I zBKwaIg{XTK9NcIerG714kc=XwEe#exJ;f&A}qAv-voNPTvi)LGa_* zoZB2uAm2qj0z>_SA^*FxGAz=ioNsR9@rr{MB*B2uU zs->r-yeDs%i1v?TTCZXYi==O5d`Qw*A>-IV+uXo`8>Ge+#pHq8y+!Uvv}ey-CrN1ofQKj<%@BJ;zt>{g;wRJ8XycDeU2+QVkh{h>8v7Xj<-Ux1yEk z+1tIgzNsR7eEw7-a0zn8)fhJRG!hRRnP)APXBUD76;EiF6NwpSAQd8%t+!w$~k5vZ`b+%p2=>G9%i&%I>~ahJyqZH_Gh+rS8sL z;%_4XYVWikVZC0z)DI00tEc(bm{s3?RC)B#5>WE=@v^(28nU~?MG%XZio%I+G!gce zP7bY7T9)}ibKzUJKoSv&ohsNJJb9NdR=kMz6qmz zD5V>R%wJ8`=yLT;JP{&KH{o9+wO`kvqNoaQS|Z5jPBxW=`F4vTflsuPRaizhy!F}hQHKTWZIzCMVz;HvJH zJW;Ze6??_X$@(H1HD#^TG-%n$7l`f~-7O{`O{3K%$Au`WH7Ti58(Fp zU{UEDuOyNj(?^^WYc5D$CY9PD^a$!!*ZB0tXnSu5EU*WsfcMqLKUqpQE}=hHDfU%T zm)OWpS-dl>==QRXTtl~Xht%FbRk{rTQH>TB9yt4WBIS zwN6{zjlnS!0(d`I~nLvyq;f+!wmNJc!7;UPYX$Pyw5#8@k!AvSh$S+s zP%~+m!HyTN)8;Exo^6-!Zaz0@uGLCT#oFLz$sKFvqC2Q_0oEcd4IH}8Bx19aJ!eVh4DVw-}{vY!l%&qu?+a_5-H z+=VgE9QvmX^)Z7J3cM|-BI+^`dpdJ|MINp2Ac%z>H*wIm~@-1YCD z^D{-=+*MRtI&4E?F9m!FNkk(FVh`KIKc`}fv|vYj=!mQdf{CNti9!zoX~qNN#3`w8 zD4v95pd=3lkFT)r;S(x!L0xjNOq;NGq`qVVdqs|ITbK9Ya=fIkUQ|cFJj8i#?)P+f z`Sxqx{QjYP+gHTOO@;>m_$K>j?;SM%FYg`yqJzVl)!(#*7KSCu$GBIgX=Y!NI*Q|*JsOPEs@F-+QaGN->`Mz)}~2Qm-NJ{AwM|z zHs|6YSM|oKGX{cku)n>6s#P;38PAv0MGP9g_?T2jp#!CgdYkPAfTx#oPJ^;YT}6Jn zW2OGNFE9`H>@8b$)8(9j3^L>4ogHqhKvG4-!T{hQ;*?29^iv22r0+e$Y_6fBe2g>Y z{n4WD!Cg~%v>)w&;9gcb;9pr zp^S;Pk{BgV;~hd9u6x}r&oqPij08m1BH=fYzV=qXGMv8AY7{rZW1}X{A`1PdfBn%C%oy4Tau7^a~F%5e?qaxAV)`lKl>zx`6;QE6%_o3 zivKA4c?-gOZ;Ob2HI-``xMaIHuvCQL)q^xYvLknWXGRfneVQf-y3@GB&eSy;|8>+1T1Sx;|~~+#g?0Z$}7X z?>+Y#KVkl&yx=EX$A?=ees{;O;}1SGGPNUqT6&`_;ipT?_{A$4?ry@GsS)gKvNEyq zthtFuQO<|vR)CkX3AxAeY*rp9RtMR-+y!EVhJLaN)S`oZquI7l@H zWS3;~C&pi^41|#v1D=Bf+Z(ua5FPu;;UpxxyF!qi*XCad;fcxc`!N1T{7p~diG)Pm z#3(u`Zpp3JPvg7!_inpWAF@I z-Rj=1NDff5rxmcmh^Dvi{qcjbr!@wwNH`5+JWP(UVZ-)?Npx&~p@E}hIw{H{1^U6P z$SoF1;4?pJe}MT)b@5dCy;Dkt?-v4IN=*^Ov|oRqeKDf<2JCt*Bq5w{;TH|8eOExe zlQx06`N@X?o$wmLJS3FK7zV9NJx>(SmMX9hE>xQ1wUc{0m4;~J0}xQqvz2k-ZzeJu zK)Vj5s#ij@fGoQwT|0zLFIpB>GKDhiw3DA4RqVDX2o7%ipSxGID#AE3@|vO<9K=0c zN&Y=#2_9{p(0KFDyJ&_`h~L%0#Y+9!%zK1fK)BrsL9Fy1zn*D|t@Mn5Tw9C>4Bk#$ zG6@HP2(65$2HYl@)IusyR}tn5LyAObD>HjH9d!pS!irr$$~b=kOiogzo?b;7=7cWr zyShQhr7>4INnWsA!8Hd7-et9Py$?T-$=DIa>>N%4^?(A0a|lWU<%c3bd4@G33m&H? zb}sZ%4ms)7nQx(Ks`Lt^D8xM^E{-2w-&@310=*Maq3dDl;W&4;c5_u!HhOBha+-4E z2n{3IVmtO2gV&u__X3v8=1>9D`%%UlG)XV|Fwit0GH~-x^4ll$^6V(kBLO{(*9-r_;aX*~1w=P}Wlp|$v)-q}S6r}`b?27cUwM7b26_=`&1Y$Ad zV_FhqUa@qU;%ZyZ;dZ+}#+i-&Pv`Je9mVh+aonyirO-H}v9J-1(HF`&2`|2TJ@6JE zzE^>E1rpuh+xl;hW|tf??PklH2T9!`bX>B%HitwLoo(k75nY)0tT)ZYmq%A4saCcC zqYoBPcuhc3%N>q#w-o#wf%x0Kn~;z4J^GBVW18xkmT&$)7r}@X z%7Uui4MvLooBN<(WGC{8+WZdZ>Qf=sZu+7PU9a!)u?P0gEr1U*M$uF+6V{`EDK;Zduq9D zBiG*^i2Rz_+tMXDYqObmU0bi!a&J`JAUZIRVQY;qvDNdSv1lW<%50*GpswYpgyL%Q zmQi9gL(k*fV3!al6=6|Y3mvJo=m?aCjMuLYwy!XMcz@Ck8VTip0wZQ5Cft-Z7B%s; z+^jgl?V_#hX_vI6FaW$mF}c@N003hlC&N6gb*fy(xoRCkr0+at4G7{n@f%$RT$UTi z7z8ftE)Dbu|6nU3?5_tD3Dg&nnS;tWbUwCO2qRiZ2qh?iWRoNhOaMmNrAS8v3ZATV z8t8xcP?uamhTTK8%z|t!7IQ81`}2&Z$7dt^hzZ%VD%Y8X+V1n)uD6ZgfY1q2QrZ{K zxY!7oC2jbmN2#S_G(KGAQf6g2g|d9R9<0@Z1iS~RbZ*iyW~S+&*yn-O=`+#NNoPaD zuvT|sNuY|n*2TOj zmD&tETCLW@%iO{EWG))JeN{3~ij+!;CmH6oQ|=Nh;9|c5xM!uB7@Gf6E8hO0xZ-CP z14OT7|a6tB(N4l!VP zXCVmpz05p{Lpl*``vl5o>7Xd@fbLff5--KcCS3JKfoNxb>nCO$iCoF6$PIcKpbUoxIGbSXf@sXU#P zGvi~Md#L==t;;|auAh0+8ym1h0Ew)h_4=U%t31R^WYV3^415jiaJP7LmVEF<>$|&U zFu|vb`DlGb!rSA_Qd3QwToXHMiKd8!ew@T@=sX|MGW7e4LWGz#gL$^XO%*FEpJO&1 z_vq$$;Be}T&<4#44(QlTx=stwNpU9XdWq#9ok|>D;b|V6_DrlD?$25QEnH_4D!=Th zC@7agTluGw`dEvs-YEq|y41k|dO@6>Qohvt{+{zi4sWJh5s~&dn$rh!db~>2%#Sr= z^2ntT^Al8YqaM6!=UfRTi*R*a*!93J62TbJAM)D zLARddKh>Obl6CB-H_r>}4tMp7X|9+vWh+o}wT^AwIYtD(SD# zeESwm{MchiU)GiyraxegGV-uVFb)sFqQB?*zIe`3>72Jm-;$sBcE)Oc0RO=sCG`|!iF}Pec!vrz7X6Y^1@zIlHG4((+Yx(_@Z75JYjsS>-wKB=>PbLoT zK1sj21A#E*E?QCfnc184iurNl$I^^KD70CjbPst_Q1ZYs<1s-*qkCBh6o@ge2RM65 z6!8tq4B4D$Van_#+E?%i1%U%Tzjkczg^pZ6D4}rA`{i@mUv$&_&$-BfSPp2qSrl+VAtZ)+x@>v2>x#= z@ef8_qNpP`NRRAuTW9VL*qH1l05}*e+KAB`Eq7E)Rjs&DN`=V$<;JCtL^Ob4_q(|V z?=*K)3C0-$Dzt;pPSYlxK&mprc*Qmg{60l>)O4UHOjvS#33L94mXC#wSO$9~Jj2aY z_V-_dV6paCuKLyp#&!^P25Vm}jbCW0+r@YhL+8|uR0WnQ7F=>wziiZ&_&sqTWEoK6 zOWV`@lcj?<97*uf=co7Ng6o@%bS(!uYs}+HA~XDLo;Q&^))-Ksjd7po(^$1)Im3r+ zU@LGMlPBJob8L;ZooMbC2n%1dE7y`017ScfxlL{m7;YQO8Fg7Ws zWVdrr{!o2GA>P7`n)xN)PtW@!1Z~gQ&RNg7ahT11eLY`u`ERyg;t$p1r|e!=_#k|C z3CzU>uiSo}BC`rn5N==Hks}(ItP8{ztR366<2{sL^KIWm@^g(dO(TsE(6Udze3rK; zmo=DA2uFzzLwjr|NSH(jYXMc%!XNz=&H47r*TIHY*f1PrT8bg}+m8kX8K7xIdywak z$Jb;AH>5@nCpp_`4QF|CAwwh4pxoI%~-_XncjmG5+KF0fDb2bNa>@0 ztHP}{NHrkevk<%~t!!CoSTZG3{Ve@JL32{Kr=O!|lYhspEN6grs#5D1yR)C?`7G-_ zm-tSp2`%{QgZ-^*XO4SS`>5;pNa^Ryv&{GegaTrLomA_$9Xm%_F2g zQkWse>8s%hNq<4~LT`Eoy5)ID)cs)=jXO^nIAFpFe1sRU4U~Xt= z-4DF^di{coI%V602HrQ|cMuc_N6w3$_eWur^Q7i!MkN(Dv?cpxIdj8&^41j+bSW(*-^BGi-&y3!yYU*L>~K2EyGkke~a z_MTt8S_VN>OT^nmu zKFx`yNs*pMYchcm;cAoDfaTQ>#29@y<(%4zQE%Yb8%ky$Nq0m@>l zUk2n)@PJgbGPHht{#6A2EmYim-FZhJR;mKMbh>3#Fmot<;Q^~C1Wu_5#BQE8$(7}` z3x1KFK^mP3o%CXRlmmznaE%Tg$}9cA5Dd;PHPpIl&w^T&tr2_mI`v0@ndU(2weEE2 zy7x>CD0j&LZz+V1Sgnrd_22DfbN8g0BT<0Dq8YSj=_>R>>R)E&C{F2Q#Bn@a`t2w+ z9;#{wmmnDd1qT6JhsGUmeQ?YlwBvC|%jq=k8c`NsLG;dcPRdR=)V5Ce zA#(ggBN=3gX7v(xyVwmMJPaz5NP;LBWM;huK9V!gm3fsEC2k#JJX&o1ZJ+3myX|=# zea8lj#eHs|efa2`d45pZRuG3Gn6@%fPLDX6*)1P9P{CpRf1Qitx%2QAX7TRB<_H$e zvGkXC&V$Q4M!Bm?362qcV;x?NHAJI?-j0If8lgn!+N;PF4wt5n7FMoks-aZ*WNdWA zmPvo66ZvYg#+&Awtx3Cl|4SY)ui32T{>=lT|MHvt@74SNClCJf>`RL3rX02k_P6g8 zwNh#UwS0YwVtEP86`&N&u_9%pRyjG_v0_vkY?GORe){?}v^=w=G^U=k_dHk#SPba} zQ$(P7VI1kVjOCx4^B6=cZ5D5dh%;r;7rABRf6Iy{`^#4nL>{0=%9jd^SPUNH&mn!nDkj5a zwW90jW}@5_^IAE)rVPavXf1YHO**hwh>Hi`B(b=Ki;I?H!tybC4;nAt1@;zB?JWfx zQA76eB{_tgKI3xuflI2JZ@HvO%h4w)F6~uEmVrNyv0Jf+l|eYj**k^WVhuJv;74U< zni)=?c)+-{^M^xhYPpW6%dQ2F0tVw=1r}l5MMp+W|3rlUwwHKuoP7F#+0{m1{B8`T zYM)H%G@ySQr5&7>5V`k@m^rjriRVw0&(UdZEHx>4q(T{_tS$kXH_I$jX>QC86il_9 zD*@GBbucm)kd$oX$#>IC^->*jafY9D1RY!TL0G|Z*ALIOvMT5tZED0h#QSHX|O(P=n( zBfJV}!doU0XgXTicvN=kg4W|s)fb$o#H|eGXZqT&QPzP6e`Vgk96bong=(#fBoLI@ zuO*hKGe=KlOeU702CGaG#9pQkbwD+oorZ{tgXn&p*RN~efT!9gO z14$-LU7=aB zvopft3CHuq>v;~e@)3q!5Eoec2{>M4 zu=@LA=(A*_LO~0Nu9=G8RGD`75$(|0; zjFw7vu-sgHG!Cu=V`q}z)#0tw&7R3OQepOPe@3Uv@Z%#9mwSqeZjCj)NwkM26jS0C z_ZAf+9?y{JqdZ_cZ?`u4A~8sV*>r?n_6gC&c!9-G%MrhwMrx38P)KaRq}5(@-jQT zMG0=}W7$2qZu{{Yl0ID0xEs^yDjHI?pkAZ?UA|NbOw&kx+PB;=4CT1HMNsN`GX&Iz zV)B0_=bIP|>m7e#!UM!V1GrTG0~7fVVDMj*%sHA6-pa=e`RzE88`d{6P{y21Cb-*d1$0v!g#mrq*9 zS(!9jMs`(ESP$=URH)uHu^=<|-LFaY*sVji>>(!GS>Ctvv}-EY(WAtCzH4OWR&Xy4%JT6UFi-bN?AZ)#;$b`MO z|GtP9IXsUc_b`ElNc#+mIVs$UZf|(0!}i9&)4F|1KXp1(Z~uu!eJ! zx3tPzXN2-t*(4u06w3@M)EI2yOPC&+zDOipGAbn{YjacDZwq>w@=>3$lw#^UaNu}5 zsLC(}>on0ovn3|t#Pq}NJGPyJZ{ccydfGLp7AxoQOoErH!&D!({MMpD-%4w|nYwjt zRZ=R}snM8CMtSiOdP$!b?$*l62mqXvvtr9;g12X+P*!6JN;G-(rTg9+2rXa0h%xbt z99{V)KP~fH5Xfgf&CCiqbY>)CCC1cQ1d$w+S@f%So>Gswyst(C?x8_grdOH1k(&%s zy;P4jeTQlZYqKSBniMY8AVgAwqMVjbLiW^9F(qp|6a=QTy-0>Lbff8da4sWSfW&O(nBC{AgA-Lh0BfTUL7vaJ`U*aK9*t zYV6!p{n16Qtm?R<&A@g{W&-tHt)LTDWmyghJZmO<%nt;!gRDS?0~NaC4u_7tCv7jD zwFs(ba6R~Jjov%rkOIS$o1ek}y8S7@HooJ~a~=~pIg*Oeh@}iPON6pv`|8G*f)X z`*FGXOPD6s9E4|9#J8jy7INY+*Q&Tav+p9rk;AFkv;rI2TXAwfu6>(maHE5bY`JOC z*HlP<>miTkGT*syizsF3oMIgxt<@H#>|t=9jy7>C-sph790L47l(Ay|H161cvk)N6 z4Y$PRnUlWN!OpoJ5U8dT0OQ_)BlV>mAeqKfWSb^n23P(@-6>cYeZNDg1N0YJME_m#Ww8K{`eo zDp2R+E{mrxUHSAE*xr>ADeIlt7nzWw6)}1}P{k>y zfn8(p_elTPo1H)aUj~7Z6Od@6bk1fO#m%Fg#*tMM))pdXvI2&#?FY5h*GxZI>$a*` z5NET>iRtu5FGC_Y*ol@<$nm?}eFoMK9r`X8CQ#lX-Ubr!0%4a}TT!A9v`+Ls`lxa$ zx6s3g2%)Kb5{qc`xcvR_uQA9ZxsrMKwiD9=)L%4STqSGpakMGGMo``jZ-6#{SU7u{8to~7y1EI;2@RNkg zkx$`Qly-a3_(Dp@q0?BY#Zxi(bmM$Iti10d)KDjFqnfha=Jhq>I0547WA;ordt{T< zu2UI-zU#?b+t|p z1~)y`3$La&t`xU7zQwXCiS1|%Qh3Hnvv+(gT~Qn|&}dXFn*Z+STlW#+#dU-_y*21? zJ1-SmH>bChZ6C8=IM$+xqgy)5G#Kv?Ot?W6jCmfBvU_cORRvuRonDD|7*m91cE|kf zvnjhZqBvA?T)KNCIVX`1(>~2stU60HWgbbK_ldsDagLtR8c+jSyu1mRa8Rl*wU$O* zkksflJv(7rTQe@GV*Cqb->pP{+(Zf?IhWmI@tM_7B{z_}RoSwoo<;sP*(8)&4GI}p ziHZtZgQ5!A-+P}p^~`6Q^H1|=d`qXsB4vEDOHCa6`EI2i9jkHAU>M?srl(M16sJ{% zg{=kTP4oPy*|;c3cpSjY+3HNF^+FxU_mX54 zfx&T=n-+!f!ZWK7Et0D#NkgqmPwg22sEttrFR=zO^txq*^vVk1aVi^pW28x#_DyQe zL~JV-ov0PHEPpp3E+=cM2hg}|$aReOKz!Abt8^i!lTl&GPG<@X@}9A_Evr1ys(CouQSXz&>?($1k8TJGaB^KLOst-eeP{1ABR%p^o9Ri01V)F6a)W^lXueByif9;EE+0 z=jXvB`l;U7>9s}UCfMSx<1h2UO!=GNo=sYpGyFALuNaPf_8%0me}$v)*0!xZ=F25v z(DzdOySS{xq(D)@^Q^qbw;V`ww2v%SU766M50Mfkt}vNK&lL|WnOe9+&99Z4ONOuR z51C8njrc_X+!W}ELLmQ(vv&*DT;O9YhHBZdi%`V6dhVoM#i?CX{qu*SAR#cqGFv`!5+Y8-Sa-fTSOYI$4M26N&%Q(E_4?R zi;BbIP$RBab!T4?Ym&6Y*;HI_5Uw?}B}po{Z3XoUn=zHDYP_jv3#$!F)}97%vz)Vr zni(Wb=`Z=POXyjm_N+Da>v9dgz%{^WOT)Alp&c;G+HB|wI87Fn)*C>U&8(Sigh6ct zGTyk+StL1z$msJ4>^Q?U)*r)|PaswoPepZhnZ#qm}|LNU1&`jA%KDp@EjjZgU{N;Z5 z>gz{dlzTc4UH9A-9^AS*Th;qxZ*>@PlTpTSYB_56rtL&O(M1O;A~kS(B}V>3a5m(3 ztkE+z%fGitapY<^iu*L0J+#%yJS5jN{2MDmj7;&Fn3#J}yI$InTG}ytulyU?Yvz>b zS((Hr^LRSf{M+h&z?eiag})m*{=TTQ6E4PBm>ta%p}nY6!x^O0si3${2U_`x>n9~Q z<0I0jEu=#qy%xQ1neIxtArtE=KF-SvC$;N}*_3+#hICSS?7WF}Sw;1R5X>j-f^YEb zo%HNT?{<8dX%3Wv0vJLlKIgWSuh(% zo|~VmHR2rtXoy3eJPGS?sI-rzcl0E;kEI+Yz@$2|9^SD{r;;q(gxLvcJ&PNEZ`CXd zpX7*kF)=u>mF)%q{hk`!Aw<@bgi2N`KUX=Gv#L?E)2HF>YNBTHA)mYgNP^1n5nE%O z*@=!;&PA2j2zV_croDS9&Nm$JV?*wl9febIaDUb1yIM}w@R^%}mXjLeAiDHa+IY6> zgfes9Uy^GlltL8A*`;IZ(YYjNIu2g+$uL-fc}8?v$6ENnG+IBVklVg~`aULrKgP{j zOTCNnv952)6mQwE`1)#m2X4lY%vDmU9)-@pFsmln-eMQ}vxV07wme5LAq0KeTU0LEqIVUd!exK~!Jr)cw-C2hutIAsks z%z5#0stU)?c5I9~Wx9MyQYGn>O_elV-g{UsX(Ar;6l2V;{Nz%f#8ukL>QSDgPUmy5 z{sH5%AXe*Y{Q(YXxKXf#7k8cQSgg-3dd~{^u19hNkB?}cN{@W`=XitLJrq9yTb=t@ zv{K|~)Czt~Cfm_Vpn+LBWQKv(fC-6o=pWNpT2}~v^+_+N&A|)Sm z=_1Y*$w)n&T(Z=r1p6J^5p7E`hUk7k|8Pl-tN@={qg;7jDv?pNBrmIZT*|!GFg~5? z^ne>J650e!b<+CHgf7DbFYs?Ctzu-|5~1kXnq=0tY}U3!Qnw;jofO)EtKcC|1IX*7 zqUxrJyP)bGrbf6>!-nIeqbNkRRp+oid}7pZkGpn^y6t)B=n=Matt+0_QKq(&0R>(h z`g#z0ooz>zZ5M(8+Zeu7QSGlH{_ z6Mkup*1ljqeisoB^!PkteSYY5=sfgzll0Kh4r3p%-)#);`Ti4GYx~v#7K{u4z|QbL zRrjd=Usw13LuF8nwduIY_R{_XwFXa{T;cqIHJr}TbLD<9gg2RU!+Xt7LP1y}4hN~} zp!EBRw)iDAkD z**|1vGG9k#`_FRN=|R3YE&kGR`}R8`*B<6itu0*-X^~+Q4cZFUUU=A&KO2C{QPy9`o+h3T0J|OhL-@M$ zw>(QV&LI&|Kt@T&EtWGt!9$u-f^J1BqTRjM#Xu5|W3uNYK^BVF=36^SRT=&&9{ZPbC8N zxa>|G6ArsE3PB4;=lk2u$i~me$KRdb(-*^V*&(oRocu8FO7Q{l4>;ei2v5Fn?EH4- znK$$<()b8XQmDQkrqAJgddS>Fm{!imBmhpDLaU@OzW(g*lu%_YsOD`y@Yg)FAIO@Y zcx8lal}UNZUvZn4zekowmPk0*^`a;1!RqxXY9{H(+IeJ*$PGb4z$PA>*0%ke0*z3@ z^rRl^af=1U*mpI^BvBRh;-#-m7}I@5&EFXuSBrLwO?f9LxG)vupG`sm>3JrmQag&PGPik85bV8 zhYSS82eaUk7Yr5d-KuPCC^ z94e@+3h4R8+SXJhXcBS-X8@#8`3dX{IkOzw>UG3yKt5rPTse-0MyA;4PoCgKWf8IP z5L4v=tPTv?Qa-5@)Df~yAknlz@MqamY_^YP#G(Rwe5`ENHPS+2|FH!BSRt?duir|OoZbs2X2cT3 zdrfah+|{RHH&i-^2y_#FO^=4(Av3~(0?h{m3HC`4d{ z$I+`!bTB+(oK@M{+6S&FXP)7Bl?+us&3fKgnr}YA>cA;N{3+1;uPrd0B4)jK^RJLd zjT(v?f?9e2wxdrvQcy`wNFQxg`U?u;DQ3H6w6-OcOz)yb6Q{-!UYAYb)aTsqxS%=rY=; z_PbR#Io>FAeGxors6YJ zZK)K%LXLBqtn@1nK$I$8v^u$aVIUks@(o?n`OQ12h=?4Gfm#2GrId*a1;=IEh(Bx^2uCFz2t1dokj0j413 z^i3(QLq_{vnSYJJ{6bXPgL@lFPjW+OiPOzAn^9*e%Rv8(nu_mHi{jJM(bJ=)pRw)9 zk}Dq(+;y>%`x%Z?fu( zKn3Oz=94-1((q`gkF7}1nBb44oNg#vq!Hs2!uRJ?ga3IyCKt=$)mzKA;*Ih5ZQOmn z1rExeF@kwd+nn{ZX+g}hU--OsdwQHD3)vsU-_4Q>qy0YeQ9n=P19ap#{6}jiHmm1V z$#Qlo?hayAGu`t*`=iP;z~ z{?mK@fwP{9?%hR1&*=S#U%|Q)$%_J+n{~wL25eu{`zsn+WWJFR)+rfHdW36>f4COH zcSt;etIC6fU&dvok$P&e3K+C1XOkn~PmSU^RsA>fHLA;XVQn^=?xLeAC~*ScQnV?U zKj2F>T#rA%MG6l`GK|+WZ@j@7sY3~w^OZ_T4OWRN!lxT;NpJ1&q{l}{wk&T{v-r@6 z1XENFh4{L3n@9!Y5*;36{K|bKDLb(;RoFy5a9PBoS@HE_a~p$ zHw0bTyA?DL?AFZSkEuDhrBXDwSm`Z~wxge;B#yG5Fp&|$HN+Tft;dU^S7$y#av}); zfLJ|(CGeiSb9)hOKS<|^b>JpcVGE!~5@6U;*M!;tMwB1u-~cxTG%aLpbBGo;dpVt$ zn{o6d%PA#XS!lS!=>=!TCDsz9Sk~{Jzh;XER8D?1XdYcNDx%uF`RH_WKWY&V0^*Zp zci1=0Mk#$+C&$^@SGl=}qh?siOzQzJUsp!ePy4=U_z!|ZYkr&!e_GYlqvI&wkNZlc z8mOu?$luFpv;+xVVmKX4NeLh(P^vtiTJjP(yKZ`H!R@D~2;-lGLNgh%HKnIr3E^2q{18#mq$^ z((thN6B{}7lz{mGyli~+EcJis^4$(p)g}z9VmUP-WKME2JvX~>zW$R7R^WR#g8EPA zPDlS=lkNYmbLaSfNVbJdObuMDo&PT#bs;-jQwy{IU2#{e3GJPv^R zY!wHCh(YHymFE2Z)iNNV_?m~5mlj1+K{4OOb6`gvSYo2P;{-aH{^iX(qjl@{a;Xys zgNh;jYU#+eI1+wFYmd45R$0iS<9|3YZ$7BF^#EPZLgg66A5=QVm5HfWo8W*+ZW%hA&wNvKyOgn6H zwaN0b%dv^AS!HF#FeO1n0|U@I(mIAz7*u5hR%2X9qXvU+-hg<&zWKcZ{EGU1u{iVI z*Z_#M^PUz^yQt{DF;OkW)fQnZv${n4oW3xBS08nF^JZT?o3%^SG>x)`)91I2srF(A zBsGe>&ko7R1ai(hn}B*(uLQ_|M^c=zG5!)@5ukUr%pvAdabqGWf>O;_i{||sHrlWV{qJ?c>Ol4GTthzg6 zP@zd`OhrNz+pyKo66{A!SCvFEY_Ui)458F)M1<#Q=8?2kk89jgmg~Mgkyh)x{}R^P zr>G#TY`j-lCbz|?c!X3`_3Nx&ICf}FURq*nY?ICBAeflA1X0ZBThtks%q0C>Wg?T z2dcVdQ%73T3<*O)|Et`^xy_fmZUtV?JLXX}+35ydAGXsnn5BF|LC@q)tkbk+LKTMb za+Y9|s2+g-6@y<Ec;d|2xk+5(V?Nj1;62hEME&UOxpyI2bP4$7^5x5B-*WZ|w; z*AVy&bqLqe7WrzhWaXLy)VzqvGk(L>Qy0dC#VRL>qc78fcf?QCy}xIe!bf_~GU@cJAB}dl zpslIK{;bJ0t^OG$j9;55cgf=XG^bH|KKWL5xdcS_4HkXMP3{nO8l~u@oz&5f3`PR? zh(!FP-;D-mX@ZLjNQ+^-j2K>MompzV4Jc<;x}$sZT*n1FN|KVFs(8x2&SQG_-dI5H z2qwczTcBvDO(^%NNQJ#f$BaRpEhVeLHIAydBuM)8x&-HA9{|xsb`SpsdCeTJd3*P_ z$qu3{zVaG2JlAo;B$Fyvw1!Ui7@u@!NXt1;acdqcdxX>t>^7%Z+mVBpp3sbF zaZI@A@2|{(k#2HvJ<^X`I5Le4yr|Th8&a+)*@)yD9|>=yxDn}BE>f;oO2qOVK50+X z5misfuhs$eSNKHmk%Pz-V97>F5x}q5!R!@zLW%kKZ|;zU>X8G>IP0%kcrRnkSDwu@ zG~qBp4l|Xx&ZA)&${@!Pj_mAS0XiHd(;5f8xylof)B$N14Z{=%(p&c8L6;s4x$k#4VeLnm;a0Y3o0$B)Ln|6I6Y4 zXsIyYkt6@{ZXoWlhsbdM5N`8^S^zH%+1u(|>_{+~A5?w(NvZI^+Jh<)l*#3H54df?^ruV+rE1y4o~5X5TsIt+%yB6s zdfu~jv!&se#dqO-ds=Riw<%9yTr>!Tlmmeq#~Ocm=Y#sLdZ{6N*I$ORvfV88EL$^y zJjI=!&w3pF*3b{?)FkT#=W0;WY{*rVhhlaF;FO)ns$)CywQg6w47jShbhpj(DvQ;J zYs8whq!BQtZFU>GLR!`qi$T%N13W8yER9e#;o~!QxXl@Aa#9F8MS04UB$D5~f8s{F z>|?{JJJO=-)7`}DLsDlhThs~kR1_C#Nr9r#=($#UE3+88Z&D1i)#>G3M5T&$qM>CM zlesqEVNO99GNu)+QC{zATC+yDF!2_bXhg7*y}kvad2Esmp}i)ago}U(yGa)Gg$fm>0lOrHkNa%Oy4CymJ_ennD_^>tVPB zGLm5WHF2oe0MYUwQ6q;~R8m177q!3ZdupsJX2svug)0R1STDU;h=CWfnN z&&vHI6N=4ap6AWJPewC@TeR*ka`cFGHPXBmdTH-(${Xs6BLc1~O1{I7uJh{BkwD)s zc6Z=*HiCY4X!Y>K4kFAIXb3Vef)}gsiN4R~;}sAG)rGO{C*+vb^PNUg7?;XSbdSF< zkIOI-r3Pb)lcy<8e3?D0RPu7DG924=P(E5;fnWQ2XeRSHY$<{))X{=(_j-t%K&N0G zp7;}3WGj-vao(HY+;SkBwX2udB(FeWdm~0Ntt1_h_|sy+Crc$bEWt;34mn)OaegcD z(NdtcW$8z7jyT-V)~*-#gecO|*8VH902|@tuuv<}p{+nK`_W5cqXZN6_=%pNN=-CU z1VqxUe9w3yP!#W6P++pP<(yzT9|IFM1uO(F4B3Gm{M4SX(I4I9QOOWfrs}^e9G)5N zx;I2CJgyb)+A2^OV$U;gPr9;j%4I#0Ej-j&hwpZ%Q8mg~aC*5G=2i#UOL$${2ClcS zOSFR)AN@IGZjG8)CnMeO>VWAQ#tyGZ`##=Mh4_b>ECUKz}WoA34q-){=T-r<^_=Ek+`8`q(GjtNOPer zI9&9YbF~n2pKSg;Hjd_*Iw54_Kp$gBbE7Rm=1N=q=_J9N69B%4!RAr(_T?eRa0OYv=7sre^cbwucy8%=o4aSlQpko1So&#A%KatPoS-hv= zaa7l)r;J<1OI49s3KO=04vXO2i>$VY^TIda{%xO7l(5o9WgE@y6fK?5`4{`bCS5S& zl)$RruaI$7t7IoKe)duU0QQryDf!3FV5C@iX`#R+&Ja*E@?)(N;i0hq zI5HRvzZg=W`<8>jm{(x$SK%y9XKK1M#)D8IW87i#e00jssUiIRvlP8C6wRhEZIjY; zn(Sm{i4ng!^1VZ8v@3~3*Kx}SjL~duWXso+G1PpXVYn;GP}dgO$?PHxUM!N9@TBJ7 zbrB@&@rTQ12#>Y+RXT@Jim3w-f(yLC=tC+)w;6t$E(Pr2lTX?6m z#22(eTV*p)KPJ-?n=<1&uK(J-)?M4yo?1dX3uh%mG7qZFlm~2{WbeH^>%YWDe!0=V z%_YAs2Qws1Nh_TR-8=$2IZgK~)NB|#Y@*>z5St~&cHrZi%xpV1DzsUCI!zC*dJV0< z4{Z8}Hks!(ozFd2;x8}U9)C;^ZA#Nybyjv<$-TV7ySl9puLTx2@$Tc6>8@m6UXUMN zI-*;B4ipAAeectfTSpVSyCrsZ8tz^BzYq+KF@IU-o?Ls*X}i-duFKQtpI>NT_=@l~ zMA7@<6RbyG578;D-|URh*bek7TzI2;SYb3zSIbw{#lQOuvwM`;tROZKRD#D-W{U;i zN>~SSiyJr%vb%Rn8a!4vPO_ERay2)-6DCfaF5Q3PsJy7F+*vK55PV|F0KFh;ZIMs9~-fKTLq0tfo= zy!AK|*F_3@8pjPcz8(JbTJ3c6D11|EHZD(J?!rxe0k(S5qP$>^I*_!%BZK`*xV^o6x^{D&^x60!A+Ud6LRKIh`!y zb44>P$AcY-EN5n{-`#CBQ)t-xaeT8~ z6uRvc-WjuXP4k3D*k0D$`0>*Su4HAxFCAwWyOmw!`fvyB34)GiQAaZn>fT&HxZ8u^ zj$O;ugYQWPSr~~mXT)MHTZ$J1#mNbD*`JL4`M0pspia<=^#hJ)@EFDObCDQNAgbJW zYR+zL6vPI;@Y#A-j3Rh}vC9oIO4RmAT?{BfPm_wL;L!5iJEPmDZUoHtOwBMZQrj6waR&XE{) zBUEbx99ZR-&&bK0Qe{L5I3r-%L^da-!VabiHB^h2m5RBc78ki2DFtgn|E6oJ$v7N;hMv_6!&YB zkFR&^IuUlj6$!o#$QySZ@rzy*5ht{tEKg*_M*Ct>zNg>>&KGRQ?4qGJGOY~Sc3?8RNBj` z;tqYb)gB6F(}a^hTgZ80noAQ9S|zBOTJcdhg@Ld73}+jx5PnBMx7#;{tSZ{Tp*^I} z>o5}f!X+X3dKSl?2?9b}$s_Hfpa-c6B5m%CSemtG&5gEn3BuyG>Y@f$?6VK-JX-vs zPCaTtI`OSUD6F2Fr?MzTT7vw)>C#na{)5HpM_Pf|!KKaJ%P8bsi>Iuqz~Y=lXW+$& z*C^q+?VKB;U9{)4r@T&_g1viZvEpylNJVn8eHf&Q3$JOFblYRio&*t((^2=8nXRKa5RFFxBTrAbTT^2Z{CPvT$bo6bdWRqLjb8gC08)>7>K)1- zj1+b<(^9B?xW>wJ*fEWQn+~;mGeM~09jBf;!dZiz54CeMF;v7^XP(>Q70Ox2+0p^n zCE^q#>j~Oq0(r{1m)gqeWPsEnY4sqa6|rSD{<%m_wM2wieke>(s+yOWLM1(fn_!jO zX;Y?-Hz0~AIB6e!gk2K3vly2TFu4q&x>&E;pg0bBB~XNb3nyI~l|&DCS$-c7w@=rD z4mmVdNU;e3FwX)~N7^d+0kH&WFLBr+@Z!NhK~QuPQe&hrh~hXghg%InGldYv1x#^7 z)Sg(T5KV-Y>Qg}KC!?EagVq7CoKDt)!z~`?A+JxkGeKicHx(I<=YduciaFRce1-!{ zB?7{znOYX9r%5RE&?ymsr1MiXxS6J}Hbu266PosX1ag`71A2kA!K8 zpU0_B1hbLLn9?*rSL@KODoPrbBMYj8*{SL29OiHob?y2tD`-!68ga%|ns} zO+MB|hB@)$Et(5ck0Cmu<&|<)%!{utcKdP zalQ5Avm$P}bG0j@*8Ib!Dj^I~_n2N(#BPWZY6UjpZY_7JJGQ<`4<=yU$A&1I!dudh zt?qZrAXTq*b`t3O3{i0wm0t799R~!kzX`BB`|Ay{Ap>-U+uny#p5;F9X)ltcCpU%4 zxp9wSmEjrjY1bEafbYoUH=livQ~=pmxO{%%WkP;Jd~E8e;O#^&C+qsw@DD!gY%vA% zL%e)>Yc}+Vq$sa$0eqCieY3{%BlDiATr>RImEtIn8c0UAjOA|Ac%R)c>35Gqi;w_& z6tFAelX67@Qu$NGllv#dxe@@+K^`rP5tCp~>{`m91XdBE6s@?|rKsQHVei7gak#bU z4fC%ts$b}QQjbABb*yG{Qg~5o(dp(X|3`aq)x#K3+=j<2Wlq;-@gPYLG*u|O*lF2o zc-dtrMv9=MRT3kkcYs%EwLfk{Pr)!9}s55xm(8eDt6*mg82TKz1)jbcQ zA_yr8xgSf;ScinjniE3;`XLAB^3qp5H9m;2c+&Qy%Bws3&|h?oYu<$B%|LazVy`*_ zACDt#6WOtHxg1*Vji-LWrd4F??iT@0mlCD&iTnK3n@xzVtU>8!=qzWZfZb@v_EVR1 zPeO2JXfNw7vEz)aV9Rn?kh3gK2R!k@y!0z|sr>!+()f-io*T&_J4VDv3pHEaT^ow2 zW~np(34XXG_idU#X^)cyTIV72nPf)zi_SpQ1E&kj%^XHjap2x`9@>zAup046>sOVTl`4>v)y_W+b#l! zqgXT1QB71sF1>|H;2%dBZ`+M^=M%EI&5x&K>~}fPnQUG4damri1rI+>DT4@Hw*8|a zu}Pal*ePGoZ43jaYt$avZjoxSlANt0R0h$`QB%?r(NY-Q`f*LI#Wkf0eWaWu;+r_c zfdTvx%amGj*l(gP??7rL@*3vKDFiaAf~Au_`Gh)zNHn=+z#drIq7sHU-7cCi_r1py zW3tH(!?dB4HKcs1wV$Cjq8g6n^3l?3${t+GbmfPB-lHlLrd2_HgKf}R_16uiF}-C{ zenR$@c+j|)`Pt88X7UGmkZ31gs}9k{NUrMLGP&kiv)1A>qD61@Ma4#M5WBpq#>3pM ztcN|{*KXb~jH)M{H+?k>l=l3edAkfjvdFajLV{ zgKeB25}wdk7q+=y-3x^>2XA{YmuE`erb4v4ddTN+T-E>+~0S|xU8n4JavVpQ>d!fWt2`ecGqPdk5#MJWq;hwH%7!WYHm(CtIM*{>&s%rQWa4WKQD6ARZW@e+5(p}bPGk|z?|ok!ghDHA!Z@cRqIM(#-&%=QgDb{8%yuu36O=b z%;6_{4Bm}DhWYF)GWwrV0Se%MVHbnQOBgr*_WTk)Ho-WF1lt`}8@6QPbs<|a02v|M zOJAq(xSvLBYs^UHRe_&IO+q9;Cbpa4!=a%9M&hj?YUwPex0%4p(j;aWZ8gAyv(8|+dW|Zfy%{gZyiy1-U9nb4;(s8!~+etN%T`-?Z9zWGa`mq z^@lY-<;v34){{Mqjj%7b$Z$l1vYfghJ$qQr_8auWMC$?KWknfnd~@ec7rs_lR+^Ln z2@Y^bSW~KP2GTpOzZ~+!6~s;V1zjwAeX-;i`#6k-|aXWL{8eN0yaqK1T__W-M?+l3}{U&g9B4y|6+qeJ>RnGT%u zY;HE+6dASy=G!;Y&U5tB-X?H{y(&V1GRY%6j;n6opmX-c7SGeYUNOW*|I-Uw#bpOf zv(4l6`;S`&4v`Z^TAB6_utNS%_V9ml%+mfF9!vCp`0ABR99>Nuh0HCijsFiu)_-i3 z|K;@mf?845kz3+N;c495mTZNljwpBoglb5NE$9pC$8aDHAEzRLCV5ls0M??gVZILh zLGc3%7c2

    -#+n;>~k2oeYHlvf%1=JK1r%X=h%%{nYCLOdCpyffxWJ#T2bTuhq|Z$ngkBz6u(9c+PzKi?OP!f`W#O)d!^T8{;lT8ZOmX`tkpqkYbqZ7yv|o?knT zh`JkYBrDiC(-w^k(|ww4Qt@&78RoDtPVoTT|*(q!`i^LY0 zIo514txao+p5ir@1U8n5B}EY?4Sys`x36kC8!aaDQ9!!*5d{iy(1JZtY%Dq{X~hKK z1ONp0P|T<(kRY(` z=T?NhJ9A)cpveUpw^`gm*ye09bFLN>VYQ;niwq*sBF_~-bpxmpW}$)`EAu;QlG2w3 zN@!Jx7>MyJNJ;j>N4!7;Y1yGrf1mvmRv zS9Qr5Doy^L)OVKU++M?s z2rH)|YE?cflALykIQ}KSI@h2|*|*;4N)eY|0kz!L#;Z5J))lPM4@*|o3{ENc{I&plm6$yDn6sMp5{e z^ELiy=8n7`sM!3`)qlaq9VPOwPuM3#XVo0AMjp1wP!HuruZ?XP!#qxMCsxV`kTn%! z)6u%yJBj3R$8Ki`tW{GQ%gfsUbhOKt-vvrz@Bc5?aAHc$i4wID; z!HaEO1FEO%k5G$1XWsp$p^`?PuGhWzq_6fy)+A0}C|SXB6)WN`!(Pc)7UMt|2a5|b zKg#+v4;(I1WuWM$O|}H$F{-Or4_Zi6oRoE`p!?_Ru}u;h+WxNjUJ%SOuEUUH$?l_S zr)7Ra97>|9?OQtXq4Vo|*7R)l^O&x2%ArXS-FpT>b`! z3m?GFyGx!TY?U26W3rm;v%+ROM(SjuGT+&j}K(!*OJv{oa{L>NjL|PAAEp++PRT-2kxaghJWr!_!ucTPdW7ouH>VM7Ic_n6 z|NSmK5y@^ko3&IwHpT`@!HFiGZT(J9`74=N-WsOnOJ|txPOb!#HpK+S7damMSBvUr zdSHt^-nt5#<)F_VpU+2Y7?KQ9^@vrAAabC(OLn!j855nc6e5o~`f>#3(`uT8IpSK~blCVud!s$L323}pCy zPlaU{PcZr`fKz`W_{}uz0Ujp>LmfoHq()WE>bQecz~y`Oh}ag~I6Z)+374Q67;qmM zVF^3fBp`n>gO*d8W8%FQ2MCE3<{wWHb^J?p zTio{<|GuuHNgaIt0)CVQrCG;&Xv5o_~4JjdX8Sr2H7B zgXTR^Ovw(c-GHd40?S(hYyXX;^*3=oPC{Gd_Ls`qv5T8H)&T4zinuqR;vq894$&cg ziSIwg^j#RB|8gTl8faRKa)deAP)`y-TUF(ST;QKAu+j+z^|jEl zcg+CY=sL;!sY9Y;D+#Id9ZksJgXNO_MskMo(9^`D#PzD?VmQ+B)3X5Apz?jQ73^b2 z?_wOUAxAQLSWPvWP_Ztmo?z_M1B~4kLGEf$@Mj8qyQa8&%4~vGYS?(#S#=MWxHL@l z5Px~{VB&oP*{|`@_oNok;~kE^HXIA`4eSH1&~+Zw9J$(ESX z_Rvb2{&zOvk3<6+oLpwwJojt7E&&%fzt$NSETKKNAqv+gwy{8W|Hcl;K>v)BJGyNw zH>j;q;=*^bE(@hQXGn@;Mo}r0vy!c~;U+>j-{F&QrR#f#XS&@9|8&~yE|DCe&3V3|_-454}P z(7N}-ZNJ{*yKrV0=SfKh&7z%dBeQW-=Q$BCpWby_zsuJY{v6GMeebX4EWsa}tNE!q zF#Upp{>H_2z}GByh2QDnAiwwX=MHJ6j`)GjZc(N;Cqdjf)q%WlvG7Y%0ss!)4w!?l zgw>9GN949zPt8ojw#1|gv1JC(Bi!pR`>{SA$=a9$KQEXXqzg>;!aIx)qN@*2L{8WF z)_~!Wh5f7AfOWfJ@Es`X9Wm&O$sL<_G^^F86qg#4n$7|S_FOK$z#F2tK?No+?kofA zcq{98qbc*~Fh}<6tC`Q32A&)zN^1a(PtS@0l3Jecu0N2caa>n#@KqXAX%BRzYHM-g ze+yMXF6HPN2Bn30$40`l9h?=B*}FgISELN)56tPLeIZ?>Z00xGL$QUbRSeXR4%vcC zS=#Tx`NiW674*`DDq3NObeGOHGW6C34WK%t?KUkxNf-H?Ee@aG(hlyAC*wXMtNKmp z7w2*~nZAWXlB$IDj%F$DiMEzXQWoB3rs|bVG&pM^7E-IA%(aeXm)lQHP!!q&vN0zEnRl;VS4ZiDD#nz#019U9=yjgUQ zjknecX#v9dcVli*+@v50NVt6l>hl%0d?D3XVx^`s*gAnpmz%A&BVPh(8)%>4n`-D4 z-hN48C_C8$SBB(DGrWA9NLvBD{Kf{2H<2tE$r)C(nO-_tgRG@XjVuxF=pW z%TvnT+|QZ1C%#FCQ&Z;USl0nn^FYbnC)jE}j}3e)vLoMzBr0+1P>jEM0IJ3=m>6`A zDs;_#=ri$zLuU>?$A}RS#TGZQ*_IyBu$QK6LWuXwH6+A;b*(R=QrYu*b_ggvws^-N z)%UoCP~pj(l^JnlAum^&LX4*eCJ~b!kLS|Oq~W{donobusWO3hlkJ(0chvXGy=AwY zRbejC_+UBETAE+=?U0^{qm6it zsEBxlN*vquaN!&?)$YU7^*S)Tncmd*?rwRx`q*wCjQ3=MzGTNocq7A;i|rataWTXt zwKL0PSq}Fp(g?K#R9A?7oV=G3@uq%)WKch(xCm?ALDxta@B~?9#x1)hZ1Ipa2@R~0 zok>KAF(DR&O-!Jw8Jolo2E{ND>pK&oVS=Qf*OdOfmWhMJJ!ot1O8QJ*FIcl4X~3-CJcun{4Chu2$^5%CmoyA1on zAfQDuG7HCIRzzq2A|jNO$P&43Jq0Q%c~9D}-)c6@sCuDe2aV1qz#IIEw2)Y^2&I}K zwdxQX;`i0>KcRAt^8@u-C(G2$YlasN(=)RW9QC^T&^P9~j|9IRSK08+>v78l3lb1y zjv9irWs{TJ*SmXnZgdkXz=MG4Or-N^Y4RkKA*@HI={{DG_t(*-$Dx}IS9x2j#FPT8 zCbyX|;E*O+{)GKq8z~qJifNH_tc6UN&kTY^F;f}_>v5Z+)4@ud1GF>Mrf7Qtwyd5W zAN+hkQeM_r>GsnZn^U)4DgSc2T6OFyq$xC-b5uYO2Tc7PSTIHxFQ6D8zq1;L^LarO@1 z#p;r`l!Q~&J3NR?V;K~4JUNsPv5<>@#jh(nX2>>LTxg#{(g%jEdM*=*o(}0cCr3My zj~YTZ?U+@TQ-+Q#KS#3<5D9KAfyU{P<}exnjm`!L+imdms90Cj+s~DBubtEcbD0=} ze7WS(W5DPwt4Q)I4woVXpvB#!o~u2-xHI3uD24r3pB&4Y&TeVfki~?qoPuf%2%Ns( zHEPtMN2rUe$Q}zzJ({+RNmuTqW*x56lis17$FzVzBejNSxK_FWs_KFb?B|e+YG+{# zQeQN9e1Ps8KLKQvIZmu7EmLZunaoz1p7E+bEG_~-J_~0b`uuLG*&1*IJ9dSNv@6IM zCBe+wMr^UIxXcykk;Y&utWm*G=5ZjbuY_D;1}qqQ(@*{9uSRIOgD1$NmBf4|h^@P) zksK^$zxl3y7GzQLq{GS(bppAn*XQ(($N5oU_`|nbA&@McrAIx#&SjV zibLDvB)B0pnctY{xx1ufMa-(R{A` z%bF@b7chhG#0{v^Os#W^z|FIy3xx@T720~;iD_(Rmgeef_SCYTT180y>XWFE#C)-Tkyp=P>Sl@>f#8`wXycKl< zm5e4y_WcB0!v)~%?hiBF(dfAaL_2qO=mn5q01-9_40 z?((1c{C;!>g|B=0e_vn2p?~Wh{I5&;!zXZ(<&*BGgYS4nsmKb>ZvP%V&0=Eou zK^1v{+CZ|GL4)d0jAs|&@yN^D6X(^DMxh^{3&>|;3$qXg+w8_eS=XPL-fBIK$epj} zk^A-3{`tiIce(=pmqVpzZEa-vuhX7cN~`i;{0iJiak^+~eTdG2nt)^h;gr_+rYK5b z5`FT6>xOe---FW@sN~)#bZ&a#t_!F=!?&kw=dU^9c5g$Gjh7SzIctom&J&P zs2~(pZBlbaXM=@e&fgu>7@+4TU-6kh5&-oB>x?~kZd|y;L%;@ki%G3fqmh&%}gOyM%BfJU~5HlZ|Pak z?L!6PEgLwXWxT3Byxa*Mn_;YBKlW}{a!6C*@oX$Z=`1KvgTXlVXqN^&V5>C*rM_7) zo4pGI#M-~BK)r8XVBgbKVt<8ujTl`()UCapq4*1T!z1f@oMnVT$ssbZQS!7Vl+Ybo za3cS;n$wGD7yjh1$!4bG92bG zQn}KSn^L<QfPEl{&R z2qMjUh$K(`tqRp02*%yU16Q`OJo@c73o^PK40wdnQ1NDd#!=`L{?8l}v9Y8Nt{4Le zW>*%rk$vxYQBdLX%PqlXV0^lpfJx3+f}@E3`JvJ#Cy8gM=*BO~HM3AluZ|$j!SS-C zCu}rD16fK9^^(m;(TsaMR*A9^=GdaXr&lFNF8bRHZ#DJwt^B9^G|3ukD*H`8%=XfK zqi3$&NL#&UeO*yw7OimesB&fcUeW-9xx(l!cbqyIvpmC66|Y2C;Ds1d~5pI;l!*4OZ%m>S3$Ans5>aSUUJq`3m?o;H$azG`@eRxJ-GGkuWnWwc( zbLlae;$=&pmGfbP-mE^7Cjs}j#n!K`!xe(ugwPbP!w*Rh8cTBrQ*L%gYS+90XVnpy zxcD5>)}0lBG;m$pDtSRw3WZP7EAgn+DD!LW5H}kV!gJ6QUmC`6WGKLfFf<-hNNh#F zBihX<=*9YxIq^}$+336u;%Dy2P*(BUsJTPR^wJu4IHUvy+}xuk$w$DvR4RU8NTZTs z-OB5~c+x@GJYS_jW9xA1+{1r4`T8fVlSp^h0r8gzzWtjB{uQ;qV&wnc&N-S{I{afI zze;&r1yc#_b2HXZG!?QD2HBK~cAbbz-YUW>fUHmv2w%5f;D%k&dZ*8j#Kf3?unB7V zhSqksFA0;ig?GPif9*$qkWWy})mGu7FYubf82iNg<-2zGm6MJ4>+7-3w~gQ`{GJ)o z%zNuaw~5XBY&EI%jo)x{7G1SmFnqz)S_a#q8o`}e+FNUf#nbTFsLj_VXlsb0PQkiM z|9L7tP=YrgEa(7GK=6r3 z4e^jcfGlpD*r8E9cv=foxN!((8PWbbB~;3^kMV6eEtba;jS=-QA?{B^h96Odshq)9 z4wP9|m1%DZp%t9fcdAFs4QZNJyny5|V!@PEj!uz!neZw?Ng9eY!Lx$(MI}kaip4+) zEoJzVbgtQz(JD6>{Y3_LMp0{zuuU_a17#~Y5PX0?oi=*ERzhu6o<_V2ld}+?S4Vra z$Z)GSa2H5M#xeF`Xesa;I$$tjY~?<(i6{PFz|kQzPCY>7Qve(`}KxhjFkOEoBjDR6wmEe+b1S z4jyb+yJ_S@Wnpf&ibdW;JhGpxS$gZZ_C!%HBx|fsJOQc zl&F0+&qCa=2(&`jC*_ZQQSbbH1@@^<(z7Hd3Z;nGKx*AfS<*NMbm;zryTx$5Cr`Wu zV}H=PJ*)YGxq47&?qS@3fU^WJ{NH_J6Y$g=%*zLGK}=XmHKTaAG_7MU5{5C1rsM_))y}*=^dsMPK>}44$J36sM&F! zA5$ShDr8P7-v{ki#YO_KoH;`6Up~R#a|-So5X4Tb<1hw_1!yMM;iiD|LYDtA3lzFf z5r01+wp|viG_jv|o7K1ODxxPb3zI@vV>jaA>Ssw!5kV!^bE`_A%oo&9`RzkmF?Hz_ zw5OLwS%q z<(cDG@M<_DzX?zB6CD*8-0cFS5f!7(?<+`ypye1M(}Hc#Ch3anKop8DVZ{=`Gomw? zeiI`17*W8Iij#2pGc=QPbAB#rn?vTKD#hK0%5 z6Obu-eXML@a9}1$)|-bIH%O1wHMV@Z&;wj5HlmIb=C) zwDB)CX8A-(aUx;TqNdWX<@C`SQe5o4G_l}wk;)Rp$;L6GZ3p=WIR~CgBJxoiNoHpX zSK8=TWA|@7qlHT+VP_BBzF-uxal+f%u56LI;6LjRCR9_!N2rP$Dm3Hu?>0M)vUeZh zo3-`4nSYbc*JZvI+9i^mVp(>&gZUJId$J`Sx`P}!R?58yEQ zE>YI0S1x6|9=bmm5U#vIj?!#(a13dhmPvgZ3g|7&cl%Kxd~x+VvDgna@qR1194b*6 zVGRmK5$|b? z>tB!L;YTogeoq74iHG?6shD~AWI-)bgg-@7qkF?(%|eTD>lUSp!Hqg6q(RODTKX~b zc~F!x>>42QaVtkhz0kBZ?t=KFp0~+?! z0dcxRg$Bz6T5UMg_)D7D&a+l!2X+m>mwjTE%Mna_G2V>;vQ7`tC+;4^OYqZj>#-AZ?s`Sk?vy9D?xkJsg3N|k>ohOW z9L8h^@vV98_RzJPaGo_ENrHbyngHP{TrusPNp0%ITu{~gdzl)cViT9^BKim!p(V}F z&&tYY$rEd;Wp$9qU>lK##*rcN^H9jArHB)ja86}92~{ra1NIo_d$4=3J)-57kUkKgO?m*3$m@wOu9P}{yADI9@m;8A6&ANkoR_k%nE+mND{ z#CeuS8h;jkY6(cXK79xHB--}LFJMC_-}Jz5@SY=H$hM%KuTqT^j_=lGT@C<+`q~<2 z@T{`q6;u$*oi;IsFy+0|<2St2B!+vuvSk15_3mQ)NIo*XZY3hwFrxw138C?ze0 zbzx*~i^w1=fG~Vm+%Wty0i#{Pq9S;}JZ4z4jdUVrYO@!Tai~zTc#-6cT^(jCpn2!w z`4XOc5hr(-qEwmn8|byg%g*C1kEy!n-`zhx0Bb|j{m}%b9wP&ae+Rz~QC66>aDl@{ zU75XZG-}`Q@@48p>-R-C>v9U0Z9#g@Lz;W0ylynPu3EGM*w8^QvW(M?FHU0g3qDxN zM`?s4_rEIzA2fF!r}M2JL&LQNRw;S>{#x?FOX!XKKH!K6n>XpmHy#3zD1U~1!)Jst zUSPNBt9J`rwY5de5*gL+Yt!gLZoYC{)9IUn0h9An9h$Wq>`10Kl!fAcJ9rP(zGcAmyZ!A`?ZES#ZZrfq7;B9{LLph9XdHAn;W>Uff@9VRXU zghwVg&N8GP^RVOZNRtO3YY6aQPKu*zdbhH{Ah>b^+&T)eDf|uOwo09BRDDG@ri#x^pvK0U_yHJV9o};#%5*^_%iHE?j ztQwkaZz6dI#isF*oE_Nkj2gy_=}vUlYfC)+dq$Hwc%K)v2+ZHNe+H2ZZ`F}C%VWco6J?#OnEgLwrpYx%K*37LB)rjfwRL>*s~C~ zf$SWl3yh=_IOdk}IWTS|rJYYNOr>lQM?iOHJkj)=^U=RJq_2Jt5BtgB8lFw=#x8!& zR(x0{+U=JiS1(1HA9kukXBW7!t*bHkgm5eLj@`KT#(6TB!>OxwhLo7jAB|@MZjYM4 z6!I+_MlWA_Q2JhcLpDcfgE%l1FCu$aF_`KzfUAV%!N4RMrN+jpigl&mNJp}a_+@Ob;jq5rQ;Z#Vy1i?5nqyng74Fy zb`3v$w4Kj?Rz_89q`$o+9*lF8Vu?m6}5@a3FD4Uqa~tVwHdDN|2aDNn)r| zVrZU!O>ecY;s;4zYQ#j+%yEpImj^8AHoYOV%;6n+_I!HYCR*P#L+i!5;H}ReP!UTv z=CS(KBj50EQP*Ex7Q+8u^Fs57-x8%LW%K2?bbiJ9+^s@+y32<^W&wbdbh!e-*v^WE z9Lo8k!ICB8!Ee83lM__K1ExYeV`F6YJPIZ7f9k_Xs&$e7;$-VeB4+h57%0`;J1K4ey8diD6NIH_KfXs?*0q*mUtF3L~ z8?o+5!Gn_zXitk)i=XWm=)+mjTu@aVChOcw`kr<1SM0@av&K7UgPX;BQcXOMu#q zq}D<0M%~sCtVD=xuHPf2L| zq5*GJEF(rResoV-HHT*J_)Al#F-9*EudEC*3449=zB&G%Gi#tVN{SwXY}ZgKSZrjgrf%I%ahUl zsyO`9llg14;qN>d2?JXpR|BIzDd+!TmxAKPr7`J|gFk^1pdtMNJ<|CxRfBv}g;qi8 zAgX|)+IHeQ(JOUDxn?6n#=B@2lnQBFzb$bA$?N3*x-k@#6V=<_cX-RW`q6yl^VtDZ z8^!$HATS)VBSPDjTHtE#%1s@^;oR%NBge*bm62kG28;ihUlXE+&~cqJvPn+s*-@HI zm_adrK3;F&dGrIv4;EY@idRI~bRIEF)p(#LWGH9&$}@ITPCZSl&(*0@$QGkFZ9)%g z-tB-+jEpHMd3*1&3_51eOa#$5!*3eY--=BpBAQ(VL9gn03Fa(Nz3KT1RD?vaP0L4_ zod+(!LZYhX=LHdzb3D8MdXgN`+9)vX3k15(00J&eq@bNw;CYYkDn=qi(HW(JXJbAJ z|0P+dfR4A^;}YYvO|wx(9i+GThx`YLVeH|FJxeeITgNf!A@g*S3|5#y@zU@@jG+7u z^DqLHy{h7YmN#A>v@sG{w;<$-38uxt5(~>~Dy}f{N_#3E1&~^JZMzT^vFdl?4uht_ zWQ7ZwnHo~bWYJCX)>h|K#NGs8S>N?M#$&=bQWQ1MW3}7n#oFH?#lllIOK9V zA8P*cPe{Lj=bw`BSJ3&py3@Z&!XL1c6f5&b-D&XZ9T`cwmcG3rROvf77&jVsm^d@#_~r1AOV$KcD7b^$PEAApEPk;o$gRnX@E$DVup- zc(3)wunaaLDRI0aULfRn|2+wts#y8uI4bn;Ga^q-s$sQOOifOE7NOnm*DkVfidato zZ)5{2Wu@@$5EQjM_^?92CLnPXo3`dwWfP#&Ha{anfoBO&IFKz}PoTzShH$dhjH@-AiFfxl$c_y%g`^H>1^;xtm-6`q4L;oM!4) zNB|b(t{)cLot*{iw&4&0&|0Nhh>zA%Cpwj)>-^)FC=NQ8LR}PrlTdajd4I9f`^>EA z!7o!(j}FRsiXe~;X~8@`iqieYv(cuR>TFT*eF~wyId2FMbx1{Ih*qHy{Hz3%PWiT; zHTFxzGYd!>+bgW7nlB!*P76h(0eRVc4kP^(*`ig~cw=94tIx7hIYVR>=dRsTr7%m# zBZcrbQC_5~#Et}G?$1A~1PkFspIBc~=KCM@_U}@(|0QXEXlz!Tlte!-eDKvXiiEVf z5vCB|1(=ipq@QS!*n3-`Q@hlXb^Z9IpxNN(W$}`LRnd-Suv>`Bk)AL@8y>rW=AH`i zcG?hBx$WS$WbEPHqIit-BlTWpTR%4tNfp5zLo?qb7j=qaJ@%%~DS(hzx2Xy&5lsAM z=J`*DC~%N6%rWPR!(3F1SPaNAxs+V~2DfQyi0^ncljXGvU~UTf6cRselB_fCtIB?r zz6jZdm*NfO@+yNuzu00K8q72B_7t=Kte9m1VgSil^p{$U{MLYRme-lcW&*#uT9|(^ zvgu&?J*(2?BQWBpaQkppciKhX44FH$O}!Y}hDm=36PC0{8t(9Zk4!&RShfIE^J}#Y z#S=(lg#7eE;4G^SxEQr$pUMQc(DBybB7P+v4yoSbj)+;Z@K2b*qW6WgW4EQJQ_nxS zBszZ!rVD-nsrP?W{r|yw+yAb5V_>Q0;P5ru;;Oia@<9ucMx==trlyLl21$fu4v!Eh zD6SkP2|g(a2x0D-)**=l&3H4J0X(y$T-9X$tGr69F+yC!6pEZgacs_9qcCC)wcYf$ z*EZ|=TK3)6xFN~i7EvCq&e5jFCHE)$C;PE=rq}am!ndWJZk!2t)heM1XBfc{#ZGe< z+gyr#jG?Y_&?cF%kSOQ)CnYc0#q-xBQ9+nx5kfEZkpN3Sqe2rYSakyfairoSa7B(Z z+g{X>?ILK34^!Kp=HL@|b}>rj7{~$;r(-x4rRsPk!V#uJ!hSFI+lf?)?fy!R;D*a0 z9!hY=P_FZ(%w`^oTP)0Msz0Y?&-c8Vc5RtT(d4+{f>QT;g#hoeH1VYA2}$GvBS27@ znXgPOPpmB}uTHAZp_!JNSe=$%JgXj>{D!Q398?N?O{YQx!vt}}M+ZPl>Ai`GRk#O^$cI9Vs57b3W1@WfU@9yq|7*lRqM+?f)gg{m8F?s6Pi z_r7x8xR?%D7qYe?FO5{IdkcC$=4ke5%@#!_98L~E%3@U}#W?&$Q*1gWaT1}*jU!Xg zDk1b-2sdwPWVy%|=}W6@Htqd%MyQ6N_Bsx3bIc0%n+hU|y19TwKq$t7gI&nVxE4r@ z)vTq<<`>vvrVxKh+FjMxjHN2W)9;M$FujI>WhbWD@KXV6xwpY{{U|2+;nG4SlHD<+`SxW== z%`I|x$*W9t)|lqkDu~xs)a#5UYlPj0rEUU!1vyP~C}#An%(;q}9v{!lsf^uclVY$> zZgUw2Bic-vDk%^i^-0$+#hb0*(wl8!TjH#~t2G0)%`KOJocD`U4Jo-M2y$bPZOd^| z7L}dbZ}+UMX|fc3gPM566t`t9T3;HEh$?w27gNa2UJa+A==>x-zVGKlo*{D9`^igl zD0!{~{Q!u4w$rvkh_KsoWR6e}VBt#*ExG}nHAZoytX$C|UTkNa&dx-%2d#nSP?>{` z7QZt7K3T=8P{k$;MI)D zPE;*K0ni`T_|~y&+G^we;TPi7jzT-z(GF#mgjarK5>BG)cce@KVA5hsdYpJyIDx4! zDXbzZykwU5cSJZwReZmqU@v+eyc@pYJtEQ=Ic_whVjhYcwD012WKB4(7vGl0M4rs& z23<(XN){qc>OD8BErQQ*X9yl|3!t?#bCK$muGX(u1L5y{v1KY|m}@}P(JSOKlBB5BwPaV5@M=Ik z+m?PP`APO-z4Y8Rz)sWKDnOH9x-A}bEfgXT-$ibhjW8CRd8{fX4Je9XCtg240VR4H zfw(>7l9g~_P2g}H5rU=0cCa<;j{@P5cUQcQRv^{ixshe8%}eA>bp!M^z>auHLZWtZ z)^ZMekFED?`w5bAQnm4da^=PG)4LzUu-SW9q8IBO$Y!kgLZ;&`qpI6hxVyiqo4x?o z{v5X>F=uZ{q9eg8SmX03o}~NseYOQhF@vcKpJwu{zCH7|DM!x98LtoHX-z0@(zj$; zPPjZ|oID7|+DLDxiP5h;nLg;; zY2WqOA5hi4sruRXSSs~MTyN+nFqTTiu)K854YY1Bbs(`HWg2N;k(G0i+6tL0(N*8O z7{eK4bvqoXLmr=&@XLQOdHU%zwd)y^`xCaN=@ zXsC!8;|x<>fu~3Bw)HP)nK=Di-GotI_JLk+^@v*R%ogcPDmXE=sh6@zRv_Y2<`OK2 zuaFgw=?!X$A6klaq<*h1Al-ML@0TBUCy;cKH4WyK>GMbiE?boNg=P316&YDJh9(4p z1V3R^0@)VUZA7Eh9{3$Khu~^#eucsR8a#g;uE%6nJbp;DZAsrm+$B=i7Wh@PZG<3= z={GacBxHacPL<*+v_-3w&L+pfA5Od}SS{*wF5^?h*0VOOxRqxXI#Yh^|`EhzGKS$aSzl z*M3WT0)yi;Ig)S0)g+TihwVENgzVH>0)xC^dy>fKmj6$ZJz5qIQH|^Mfo4|I;m*ik z)M&lyu)5Ar8JeRcogq>MtxQf6rAn2{2^XN(5%s{V#DfJ?2r&#DNZ%8h8@15(xeTCM zdp-#lj)tE7M%jPI5efFZ&+lNl9KKza*+s`&etWB>=2;i4aI3Lt-H~ z_Y3t)yy-`@jAnC`W20*|jHj7)kJmrb9AP=vpS?)30;V{8CJF_nYnZae5Z>4mV7V1D z9Y4~=Lbh(DIeexI9k5EizNd*DXF5QC9F_}IeWq5We1iQETHYBryT5!DGnugeHMIO| zp#DGD)c4={mwyBTld2jvdu+(wUyC%jf*^~opo}E^%qf!?2proOX_GQCeb?bltiaaL zAG&KC@a+&o;t@oz`RzTcx1T-Z*?Jx^wE+nhJYh~yQ=g5&isAS@zlO@{Vabp}p{PQ! zPY0liJNvrevf0HyO#JW`Sg*RcX^oX@(&CssvSYfoxwbz1HV$QdI6eXEM-i?+kqIw7ONacSaJZRNdE_V@M?M(D;VP)SSv!!4)jL@dq z@-4kKWjuT96DcR5@#q0qhOcG_KHu);2hq$h!w!ZsEDW0t_H>%p(BA;RM|`S_u`Z9F zEH$3CamU7g5aWmzj4Q);xyB1Ohp>x~bHvzdsP?e*K(gVxe&69tQ@4{N`PGZz*(;az zex(dGs?#$fTpXjhX8?zyhBj|1G9t(+X6s`vEEFw2)Aj(s!GNFm;fnT+kpUC8xwQE? zIC2z()#mCWEAns(%gd+hxh{1?>XECXJ0~hQVzj~Ox5M1&J;SHIP)k~funO5GF-gED zf8UPZ3tZkYdaLyJrn?O1vvWp(Lw6ENqXEBzDaZg{u|00RBP5^EsAeE}yoRKVyiGZ~ zM2%*h70UN+uuY~k0Cj)S!VTG3Jv{!Sii%Zv0A7WrD`m&}=VhT)&2ZX=(Rw7TSV zE4s9SX%-{4G17Qpz=jEzTc#Xn6x=-L`^0q2(I%r=Yh0>Jq1-ptWDnn7)wsUMp6t;$ zq!$tc2#Tbv)#v^7mWdz9(v_I)WRO#EI zaQzOKX@Mv*taaR+t^k}0qjq$SPQ9^^zqP>nmbWJm=GXJ`JY>}7ay4csZGQUh_AQuqV?vi!aE zu{HLv+O-%wBg$b=t#|a9*&UAL#-tqu-bYYCXJBC)RWJ!ouEAWX{sfy_!tHR}rUyg~ z2xc(R6-TVOtV(Uhxbh*l$vXZ0fz1mA?6}9g_=%f4Y}A?9OgZ{Pvn7 zPkp&p$c&Q1h`o)`UVv1vwtX(fEGuWj&}T2F>hsTNx{lCABkZeW3WxEpX!qAd+TYbe zzS5F1PL8%tj{nF`b3WKC^MHbaB7sUfgOUh?u1 ze$K`F&mlU4q6&lhRSwh(zGn_}IC^~+RxTVM3WFZK$>W)o?*c8r%*HFGCxbHem(>$3 zmN8APfrZp9rRzmPYxX`D35}Lnr?HnsLVMbd-}64!(ldOEGWiA|oV!^GZHb2p#2IU- zzw^hLz`)xo8o3g_Qh}Xc?|&u>|BC1Yf0Hcy=NbP1Z|dktSbsYBz$>qC7*gWm4HSso zvtAQbaj2vmt25<*Ar}|=DJzriQAu7#eVg8dE)e&%QW2zk{j}u-d2d)`H;)gjO_F0^ zGv#I}dq8BjYP=8(BskaSk|h2ikoI9Y(68nG?8X5ni|)wyI!NEY9rdr*N%=QN z{c|~->HntzJSu)%`kW3vcz8oxV+fXDmmX>>UM_B5OtM=$aHUpm2g`}^VITmgr~`(wkakRV264qm2ewhpP>#AMDkdy6ZL-d-YP&~2P+!+CuIR29uIR5g zi+SKqxPcG~J z#3UIZ2>Y#+aHR#*c`=h_ZLbM=+*-`HD2b7>(>EL$AVvbI%!1M=Ml<6p0}pnEWwQ&~mUYs0Q_83X ziU%h99FG**=w_J6%Dtx0cM$$)N+g2^o^^T3wTLF|1^rPaelEw-d>z3oK3X0#nBEgIHiv=5`#8zUtC3WlSbJ zH=0HmT{-{yIP+ldnvRgn8zeGsh*fxA&pO38PtMvUTDB71PV#1jK*Px(u-d6BcBEC+c$5raR&}rk^{91n5fLgDZc>pfM*-ocvTvk^wZ|W*&SU06-V;ZKA4VR`j z8L|sIaoc>TXUoI8XJ~62qN})tyRDb0z^vCo0vhOqOvtw$fJa_X%lV8vUiyy{S7^3H78GJ ze$D1>@eu#YOnecFxh(KXK2hdZqz-J*jf#k1Ai12zWMZ?|sP zSIUM&OUsTvk#aF1U1!t{vHGzxF@@WhW;e!7X@@4zAIg{+7s?n(mzjX37Ylud7_XP8 z$ETl&Kbk8>gg%5;Egnf9$*7rvW|FG=q@eGQKNy=NN-xPkB__!rNq<0Gj8=>ei8v2! z7K{?c6kJ+XjO(g=d<9eUs|8bvBZ$0V(Kh4Udfj9T6Kkx@nS>5pVUNdjzL;_Q6yYa_ z=g}2-Cacex_H3QRZ#?Ea zW$*?GFfDXuuxi<3(9>?hFv5;$LHc|EXry5eHa;#yJ@nmKQBMYa+=y$}KvIIt@PmxV zl@fx-Q}B}4)ST^W&L}K^0SNt%PKmIESva;wTCP%!4Mk*Mjp z!qT!1B`02y=_~@~(dlt{ho+4q6>Q-ejip$FCv4FK#&SbqmAlY5drUa{SeoIk{%%|) zrQe`Vb_lfP?|-NcSd3izlsed3- z>a3*ii?>aSf9yqlkyEMI8hmKtD_SL4PEXOQ^ja)$`yd%nkYBXimhPpew6 z)b}C&=NmJPUZpe+y*XFvq21e1cQz zI>y#0QOSr5Pgt%%9jjv!{w8nTsL}y-xJ*)ODB|^2wtla(Vt1q9obLL7JTD12 zHOC59MtCbNjXSMf>^ztIKRswbfYhL$Ur0^&Z{0+3f7w0wclD@$T{8Hm<3%K3Y2#p| zqG#s#<#_&AGosv|l|!!#VFP_ji^UhEBCw!le}Ge|8$|eUA-F1(nDv&GDl_@`#=YrV zS>WEYRb1jJWjKFe!__R-@s8il&OAIi#ox|W=yU0@MrTgp`oR#`e{an|2*z`9r~qpa zU_^}ky1|40$UYCLYdKEA4E$`B=p@$zpj7d@tohII7;IFN30DA|CVu_}zJHl*)M)QQ`yOq~FvhcM!%{Rv7Lx2DkW0w*n(huzYMs zr4O_Y{rYK7cx3YB+2~sPgZ(%ETajQ=J_n{5Ok}R;X=xQyxyf8-9L)sW93ps^AIkj4rt)}>Y;SS}Utp9O`SxOQLSW3tr*3*GF!4?eo5D>s9Nr8HH@cajP0-*WO zv7zBC+$ni^r$gSnL#a_oI&?=O;h2wMS9t#qq;q1#Igb@S^U?qjp2ky!5$PU#Gr2apgy@PY7QJAe8 zb!^+V-LY+UY&+@Lc7CyK+qP}nHc!t?)jelU)t$O^|Aw!={qA?|wVu_(N|PC$Z?}Y{ zy)sEP#dO%&h?)HF%_7O|k==UqCGJ355m&q_0tL2YyuME{6ab4PyApiC{><2zi1X_F zpn@8EAc-c=xOiQDfK@y(=U0OHnqZJFrgqw#d+C(L`}p3KRgEfl3e8HGzs&L^NVIKt}3xx&V(ISp^( z4*37&rd!~PN>S|`wBJ{3=9;f}ZKWyH_K)O(+7pe5+RT-qU84~~Hjg?$)?G8Ue;Ig0 zo%&_}TPDil@dou1CvoZi@Dm?@7~n^f#A0vC{b&S%~lXt+Fs@XMP5qt=rcFB7L2|b?8_%FO7djnu`F?RKwPYWwgxSVaH!^ptBKp5SXtDK`j+8`1AtkZaT z86((@D8-4=Z_x+$ydX5)b9v!WlsoTmLZ;2zlK<*YadaP`1u~CdYQ4K4(m*&{yFs`~ zXISbfp*WmH-?EyfbmYE@$vO*M{frIT9LH9q35e@_B~ilz!Eea$p07Zg2TasMs6w?5 zuX+|#1cfdqfZ}@ZUl>o>KD8T-6!eHjWg&Hf$pWuW@tp-%xYFEzib&?!KNiKUPuQwd zQ`ox(w`T9mCDRnMD^TcyTMMgOpuHwrB&s1!Umk>B{5l7RYd8uw+`-eOtecq;B8)+*rZ&#H5S9h>JqgZsozm;SDzomKp?}JeAf6x#9o9a#a|JWD*YpOXK*xQ>p{@00^ zq%3qC>NPEK2WrMl2L-~4{aM8{8Lg~bwozcj_=ll2 z-wX~W3b7Uq*}pxnCsL7puqZ)(<1KX}bJ@{mT_~2pZ1(-?B8W*2;9feFdNb6soa*P; zZigS-#aAd82bM>U*GM(e_y*A7+3Ok6D((Kekb-h$N>&}(~z zX#cT7p=@G$p3Rf{2k0X2^GqEEwLU;97)Bwt@UD{<#{ZQY*a&w)Xk$FfvZR zURJgi-kv@_5P%N;QVAQTveLSAm|r<*Z_P!PkLkP!=ukLBZ+LFX*;y2i!Te4Fpv};E zR7VjCJ8N$&EC!g`meZ`+R4-Vh<~1Y_k#%W+GY4(a4V+;aoX#vB@rcG@4X|!%h8TCs z$ruI_r8YZuBEhDhj+%!N`kDTU4r2z}7s}%@O7&XXm~#9`N~W_9S&k~Q3Wl3vAKd1L zjqt-NK6lbdqK@F#huTLe+MTGaOql^>y@968c)qE~E+n$-BlWTUNkK9?IZQSCdt$U|eYtv1A$P0k{#@9*C}BbJ*9+4S;(7~Qiap@&JezYx!B99gT`dl| zg*=hr?=-qjSmv=MY@ITT7@j=VEt};tTT{hNg2C-(r0SUzNQ_Qy6=waDTukJ)qk}S5 zb_6hrL0F|`cGbf#Vc585>epJzUxD=!I6OMDxS`5{;uR&A$kAimXUweMWHN3kmICsS zwAg41v0^?z36L>z8B)GL$X|XEj=MC8he-6k#aTh<9-)#D^V*FGm5^x)>a$`r1FDT5 z=-Y8ah*jsiMBG04PF!!l#))iYA&mO`^MoILgo)94L&oi+!hwQ5{qpvUb$W~3%;UBT zMBn{<&PYOvO9RGB`^e=dXQsZIR&PR{OD!`rJZmtPRF04-{F2ilN?0ayun8q2NHOln z>V&-BxY{^y%=}EEBZkkfm}amSdMX4)o4`V_&VY(uXFwk(&{oId<#e@uZocUP-`Psc zex@xUrw-5L{mYqP=l6-%2~X?~*UroN$BZv%uPJw>;J-#0iKn{n(X0?vZ{AfsJa)sn zymR5tRa=d~kfpz@i10Xh^=I+Id*-<#v%7@WM%!S*jDl)-$MGT6=9AE1Mjun7q%To< zU_62iQ35a3{`f+26Lr1%xgLb3A?4bW=9S5DbGFYRpmo5JP!q>q)zY1zAbZ>ApgJQ_ z`jySunwfP4rj6Dl1~$@CG=|Ba^#ZJx8cZz6G28lLpgKea83N*v)$RJDuo-n8LR#*k z5Pfr)XUA+O$Z92|ThU(svIdCtB~3Q4cV67kbwLWNHX^bUr?#n!xxa@mqSqhr#(?@t zNKm*RT2c*+egyPV4De9lpxo)=^$8b|YGvHz;Z2!*Z(q9weDAk3Qx<#bc||={oJSkU zxS4ldN#H7+X~n4wvgioWI2s_~D%PqO;H_#ad*l92MKf2Th2y6c35j!OTB|u=8(3LV z>!Jr;3Wo;8<8ZC!7GPg~!y3&(j%X3b`#h_<4}G>bOv?g{n{59?PGMJ*{BaUB#M2)1 zOf&s!DKYRAlyAWx@7_38Pn?Xyra|-m=CYU{gNG6oG zSQfW88434r(GD`0xbL^WeGAy-@LQt=N`GD|lO%4KXk|SZ1kHTF7xuG5kS<(K45&F- zp|;p!7?RXU`1P7=%_-tV)0z2*U_c4a{4i3>OqdvG7x;*+&)c8Za&z=0ZfECx(`h{x z+{{9BIrz1I7D9L;uKWY^@M3HD@Kh{(#={P*>#4!2R@ngv_vW>Hm(3U;n6Pv=9CjsE z7z+h)j>9f>^h1-g6p}*lm{v5HU~L-V&_1elP~{OOTrP7cT+7M*pr*@XcViY`O(Lp*NUT6=XuOk*k&wxB?& zf~8Jp@)_%3P-LJfCM$VDk3^*S6YSnBY;Y_$B~#>#ZBY$npEkM^wwtXWD`n8SVFgl4 zXYk3@ZGB(xklPII>%P#{3Q!p-jrLsNzj!bEEv#Nad!|I#crSaT;w@O$1o{ZHGr^3v2JVqOKxqqPMZm zUQl}3)1?=p@mP}PHBM5Y3WY5xdm#^8OtbwrA*vVs>Rih3*lIarzf%>FGm&a>q)4S& za$3!FBpDeI*W4=A^}5 zF-2lo+NDv5+Dv{M;ho$?TUc3>ZN^h~(}uXJS8te>dMd@?9Q>6W;AlgU&XOK!Azl1q z+DL@SGIVzE+RTcGvC0zpkCMO>;;?A8kM@}sqKB#9mXK~X1Q`elW;Gqhu$=%|xk-tUB+yq3!0PxXX0gFkZ-sJ*LIwQ^QZqdesthWTUNr;*}@=Y~cRUj@ySk1}O^% zrIeKWrz1vBLcG;DhCMpI`#TPa1?=!gnf05Ye>>PSYrR6eB6d#)uV?VbeuBt}V+)P- zz39pWwGlYne#`JdR{MNck;bv)Qp++{LeH7Tr|2NRSGzsBe4eVSIGPv%Q&eTn-imqJ?EFEfU z8`Y}4i#Eub&RUZ~vp+!Y=rwaCLx$vXY_rJpyWxTbFoJyL8Yx?hy5?V9Y+*3%)1fI> z{WsnLm#FeZHB+$8=1YNRXuynbb0-v{^d_Xw`50g_Vqj@Svks! zt-A8(-)%4>$C-}XwaHEWvHCZylIFHG?}m!_t_K81>6T_Csy4=lSS49ATke9>o!9Ab zMq%j}!=u|XT=$uvX2<*_FCyzd+Lf-ezjIEw@=+BdGf}GaB`jlMH3W@XsQ4&5qr3xC z;~xsr^k_e(6nk%e;V1LT3!7oGAINSRy%N zPsjE*WiDkSmTc&t6~n2!S@31fOW5unMJGM>tSGU?6ptD-utwfF+2KeYel6BMRxyx+ zw=|JnZ@iFQ!x@*q%u)*J#OkjMcjNJKSm#lEXou6Pvqn8bQJtiPL*I!>|we)a3ip%)IsV!q+p!C3tohyPM;@zQGmrXSgtF6}z)2 zzI(0Tf32KB86g=!xv91Mw$^LjA*&}qQ}UJDpG$c#yeGN<;Z5qUbb9@5@D(uQ;y-S7 zdJB<7d>L8rI?!3eIdgEi$C^{}RZDVnaTU7YUH#0&n=-83uLm7E^E(1V0|NbFpYd^w z%a;(;cfW zv%6&Xg}I3%rsu`vqtobBJXj9ty(ZKO8b9Op8}dAelfxqNPw`ar0fo@r!d`gG5c*s9 zXIe9*OnNS(1&rOcMI|a6Z}%nBXJ)U;8nG$r4^jOf=jb7DiV^CMw-QOsu?yduk4yj9 zkM#b}&jCof53sa#VByG}Pqa}MgLf1v&4o**SP`DdA#ZfT_&BG@Ae9xE?oUEF)A-S> z|8QV%HyOjU2mi#}W{@CkJc8XW@(YL;1%*T50t&V8+2Mg_c0#7Pl6+ao>vddZUWvXV zI;TSAykdD~sSa?h6?aV5k?5LP|m%90^JZ)@`pha z$V)}iUxlRI#CCAAMQYvxDF?NxVQEV^T{Ww_a_SMBa%8)5>dvC&193}GpZxMWrzWVI z`wub~ybJ>tE>$>_3cAFJ7qW8?t??J+rX;lr8=_QAzkedq? z2^%HvapU+MFMp_6@=1;bHS&~_bBY66TAC|mL)1d7HT6E<3Xu>%`)ylEoxKV3Z+;>2s$I& z&2m2335#DOd-N^|YRunUtAPZ0$n7C{O>jev5mH=ga=n5kyvN2lZ{|(EpQ+yQtM(}1 zN={9*CiHY*X--NrsWH!T@@n=mRhjp5ib~2NmYL3bL}F(>)_WT|BMi!mqoaQ8b`vuZ z9XYBKoQwg%1PkQt=$g*_x+VYK*nPbrYi7}xxiUhSF;7Q^fJlaI_Wb8IoCmT#aUbWF6+`i5GZ8yINw--};4k`oo^c zewy(AY@Mz32u*oXE;I7=J5Q}3Y4)p70fN#9u@6R6ldqXU%;4#`Ut&h#5cVUNe9Ki>5!x2O9{}QlE&b+>HqxBCd>k}t zeEEQKMRX=R-zMLhWhAIV*?hnO_sjks-U3ftWJ?8s@Nwf!G94CUk*qcR-qG*KS-E~j zV}QAE!ND<7(6i(tqRl2E-}~8xA8*%_%!+Z)U=Etga4HYMK4($L#(6faPthZc8xQ{S z_+x51O7A}xT4Ep(Q!{uVpviw!pa1uT_J1-N{Wp>DzvRFnFDNgSrKcY*4uCrg0OOeu zI4I0d6B0PM)L;$~L<~g$xz}$aPG(eq8O4m8@Oo%{-BM=`dsBTeA4Et<+WMZUi0zj;6PoJqt~SYc zF|jY=7rx)u%T~3 zFR;I4pA^YE>12LMA`J~TuBszJ;hn&77&7f{Eq$v3+ZD2b0q4xQjixo@dd26T>u+J} z6*hMBf$7XhL=b0x(p#EM4u1EVY3 zE&qi6O|NR2M}_@JcK?b;IoE1bTmI>Zt0Fh>(%jr`j_Ob@FzLMesTfR9qHg34tcp)w zhFn-Jex)~~fcvIL6-8;EZ`3Cs>reU1w5|D0?m_w6M} zi*8NLXh|GXM6Y~tH;2ZvomB|}_=t|V>q6;X$Z`i1GnrK0i&BH^g>fiAFinp|7vxrs z!8{#5v4D4km#va=xWjTsP@M<}t_q7Qg-f!SlfxPoPZg86xo<1=v2GN?GXHj_onnF% z^fufPs+Tlj#R#yf%SpR;dU(g4Hra6}H<`x9oQI=az0N)wCE9bXP7M9lpURY2P) z&1k9wN9QjZ{53^q_@l51V#k8YO_V0&iAWyAz;Z@f9t__}N7pUzTiJja-UD{6f0j}W zG6Ik$c9Q(mefv*zELa$-2wWzW;pc$T$q!E=hbt7^t(qser8BqDJ%d@&VC#)KIH@wEK-v;gDyfn`dOd^|*8(X4+vt|2(9l}#xpBYTp$7isQ~^v-J^^FWQE?@Z8EK!n0Sb6QB(;b>2J_JqSC*$as1E4{ zM#S0oYGEF$%&?E)y!;t5W~aQ8MH8l(uB|S?I2dhKydZzU1YA33Dlc~&tp8Akslda?4)z~u0a5sOEU@w=$^R~fXbDk^4Q$dju zP>*^^o-({KV(ZX##kyIHl#xo#sNOfAD`X;PG4FZ?A&KCrediX*Knuu)Ja0&D`(V?K zRRNpijFpt`TFT&&LfdK5J6foqF1WA)GVkD+1`QbWwY_lPfhJmggx_-V;kh~AcJ0Zs zr9qA<{C~7C?rNUS`kmVf15ac;beWAqPKUtJ2i}t;dy4h?4L|pSM~(5{>AK8kZ}N{+ zupTjrH&I28^2zP~CDARjF96Jl zZ{vkM^E=kT^iRS4?OJ~AG`x?$yiI0PWDbWqrl(^~#1AI~az9EG5Gy zdyt}%VVy})Nj^#>KT6}MbllXi9)A~G@Jp@vknsaF?@L$?wIK{yIHMQfTtyJdSwnTC zv#k9p{B9;C4B@QYJit3T$TBp9v-;?#8P`z3=rO02?362Jc7Z8R-?#ldH~|o8ys1bq zSyisDX&a%p3&Dn7{k2y+SiDi8IGMrMysDkJc64lSg!sUqnmCUu1*lffp@IW>U4xpQ z@!N)^D#Hb&^aS?*P9zM1N!FqY@?}dg#mbo^N9)=#uDcPLhG{;Iz>#|*@DmN!*%!6t zLkBO)s4)y^NhBAI8&_xWMiiOs(gO7Yj!uD%kc|~pOEXpSJ1a2i;dWNv!VALO zj4A_v1E*ouGX7B1Sy`PF)A()Wi1lSk!VovR>g5&@oJy92xaS={LmUNyKbH^78xWK8 z{fFe)2ZyT87NswN7*KyEhm-^^<2woly<<$%vnLHvVpb!f&GJXDIcmom z-Y^G~;%aQKGM7W<$-(XpI{iJ69ukcgX_JF5NV-oAFRYO44ZKVEa)!=vi~-(7^J+53dpk$?|2(3k*JJ9q7BLUHfxLOU}R|sNV?% zV&o=B)D0erCiFfk=C0Plh6cY6k*hnwq3%YDcumnE>2+lzD+5R<8+`-3%El&~K^Dcs z^PowGSWG&X505$nEbLjM1Ztcfhh^5<(9j%?!eu1_aeZ&8ywdwh#GHg)ECBK;Re$LE zYImfbH{6THTwnuWQ^Vy~v_#t^6-z2DVQmGLP%^z&y2mhX5rFXG zQIcB=5|P@U)kwDpPpG4NEjv~q6hzJyLYMa_T z9MqIHKtXFYQ>9w=F-_+(LJAcgnnS#|SPWBoop<%fbcPF z&@rAiyx>IsKhZ)}V;n27w^-rVjNC2~NHk^pI^=E<=W}2pojw-re_O^79!O+Bkuuwj zGL~VQb&U)Q`aBhzogMtzbDN6DFomdvQli$O?+PzOQVGN{?XI*E7OW-7DFW_gbonz! z<M{g$^4mB4*X?rVnrLV)E{Rl`Qa$B6R| z5STyF!J6~ar6^(PaQ{pf#-6gZc|v`Ycij={R5HLyKvT6)pQ|`Hw)L6cij%H-{ej3F zu1Wi3{=qk4YwsbnE`=Y&jjwN!JL8)W1;P+4dFpfj_T%5g6gFLkIC&p%nG-*|#0VMR z?L^9H6}+7MdENA7fFLV#`Q7OMV}1W~>&p2=?G8NnnLT#%uyL=YZnstSG;og~`yIxg zyh~G~7%PR2`?1di?hEZ+LcBDPb8ALEwc8`5?e+=0y(Bf4IF>W<&X8K}$rC8wWN>5Q zT{e0|1L!&KkuEy4yJLF;?cSDuMqjIld+6D_f&Fey!2rxPk^cZ*`dG1d!JiXVvCt`= zs`zZay2d_&F9VU|l7Ag_>42%OXbcrA?fZl7`gbQ)Rg6Db?RupAyUo|q)@q0HaFu9J zH(~1@u_onpta$Y8k*nDPhUfC|lk%A1Oo%Ti(0ceP6hQ|!rc8a60X^#w6s6+u6Dol+ zY#MO>vrV9{=gS(Zj=_^~EUL+i5m>1ebvsMKisyuv6H4iiqSo5Eu_1#sg~*K@Up6^Dr#yfDJgV+7+bXXN>0(t zL&WjQV%QfI$8?3s6Aa6d$tX@0_ZYMA?Y`@3P-FOev%_;f6j4LbQQa%s58?KYy|K!7Rm)3AIQaH zDGl&KxM#)%$CND8$4cl0>LvWA3#N;tg!76r=Qx%IXSIaj#!~Q!V%KvIlbYV+adBTp z29#Lah|?owpHO&0EsS)6j=_PIi|Lt`iq;d!!vBIU@o^dI)zGsn9TCfjulgp-gIBYj zLA#()*O=!le=#l=u$NoGxxg*d{j3z&Du4Z{oL)eLU3z0}tM|<)V_&;L_S%lqSTeCq zeTd$lBN@W9V^3O|6Wptd3ccHqap{;Jx$~e5Tv*J46i}fAWXQU-=(FwBDKs86(z`Gy z>qavyULu@c;-3fsoJbA&^~sM;bv4Bc=>+r*X68Z{68x??+%r9Z{OQJ+o+6A-7U`Sd z&}|B+GO0Q7MUa(wQe&v zCyQ1WJ97Pg8QPx4dTq$!*zgOgIlzpx_dlQ;W#UMstpHj>4)#XoPI1VG*%q((s z122+~fpTg|TXVeFAwqqisr+D$uCV|J2Q)}80W|6Z9m~Oopi7$G#>5uAaUfMGUWPfc z;Y6R%vbnfTljkF29-DFA{q(6mR`a?ZGKcYC%BZABq8Pk-BoNasF0(tYhQ;aK-8eTB z7~DEJ>f&yk%+GzY{CpXgAmW;?Vn00zulz6BmAV{nbZ2Y@LAX`?UFSGN6GhE#8-B_q zj9HHa0EgI{9-|GJrJe342ORe5S;{4kj?VS|7*H28w zWvKeRZlUVemfsr+r$Go8B%I8G2w;rCoW?su?#?iWqg&jG3o1gNB%)`=vxL}GJLCn} zxKw)R7gpqOvn&3oWZ1-d=w}xS*x;kIn>5%lCxPZ7ms~hABnQXhd+yGgpM8Jvg^iwm zuM2vMepJ;QTwQ>rV`}?iejg40KH1abL)-OXZZk(lGc;w+RtrRVQ|1kFQ=AKA_2$6S z%vcr_=a*=3ont~!db3T}<0;G!l*6po$Dp$;DGIz_w{Yjlx+ipRvDkD;*QW5H0DdvP z<@)uB8`Gm~!R>SLL>-XmwWxn{K^BUSler^T(X4h|%+@5F4#Q2^3IPKNI70=o2=MSD zcc2nWHUI!v+xO5JlPnZ@h~6QaKpd-l_8mcIX?JATH}ImL0ys!~d6I7OUGN&aBVA*~ zT%oJ~Wkiab5~uT=9MD)#*36~ql$P5cU=m2~gn(!cD4jPX4&}^EqOYxSwkUQb)pSy4 ze#O9Z^ZRnxlwRc$To)1?o!sOSG%XBeIa4jjwU=927RcCKrnjRjuPhxqLD;NIavYaj z6=pCw(xC5j1FlcoyI@+}E?i!&3qNje1#El-d2B9nW3nC3i(!DnXIoV%^%D) z(!(6l!?L4yjL!b1i^H68YQ^vns0yvZHTtU!G5Huo-N6VR45Z(QpDJeDjlE-8Zp$?^ z54*aa*ReTp+YdT3rarIMin3dC58f&e+e_oxx5Hh={jmd;9{^0cyDl7Pq05sSnnw@p zhTFuNt`FODSNHEqU|u&QA@0K1uqqs`%Jo#(Oknp!`k@+b@w+>=gDLF8`T(k-4!nZm@xHJRVrtk$=pdAOg_rlO9E3#RK^A zW19~7WdfSkhPhoayqQN^lfWU%Zf9pWv|DnqvEN6UQw>7^jkoH;#yCg?HU80hk*6Ly zo6AN<+ObV7x)m)d!oOd?{`rFhz&!o64fXNVwLE=V(lS*6)CR@sF7rL9q^# zo@+~E_-&^2l-4KyWHHvCSBH5rS(#PlEO7LaJ8}!5_ow}G_y92=oS8<8ACzD6${u~$ zHtBjCq~G+k9`H#A=d)2$V)I1pzzrM*-=>B6+Ki4oN@H1s_w<$BI2Sj0Z_W&=Mx7zo zxqvf1ji;|LZS5wYn81rbIBlSa&eB(>K2vh4>47ZL3TCm<{w?G5UO+2irF=mhZ(5|l zh}SGyU%PX*p>}YS5A|{+Vl45A4=hdKD$w42!E?NY{kl(KrLz^LJh&M)uMEGpblMIP zE!V3(ABd+5lr9BFHaWC{x;`!F%uK{<#r=l+JIE*Q+8CJ(u|e3q2GT9BDA^g}Uk@I2 z*Zc4Y+@a}9XZJt(BkOO4$Rr!)CxA#Dz~TAUL^rZq^9L4o;*m8;OQlv5tqqL*XgRIA zH${z_3Zf{8EIUiq_H>{13q8EceOg3v5gN~dAD*^xq>h*FX6m}qez@o4^QC_hz97x1 z+_pe;tz6r<6GdvGS=+Xx_T!S$k7li5KAztORElNjU)MbDQxQHN$T)D9RyxzBn;jyJ!WDa`SHLy7xD&<{Ofdtkrn<>D~;@&xQ;LHcH#XMtU%UB|#P$a)VH6uj2I_-@hN~ zcngz?W_7~g?kAcI{`0$2BxB~ukRpRLUgOwVIawK}5YweO{>uDBJ5oopIs;j0N+kN; zWc2oBwvT2sr6&Jhv!KhtMVP)Fv2IuJmRCx$0hZlyhl>eM#?79m zKTlxHJhL0n!CrH+m;&$*2(|;rg}t^k+2JvrmNfB?u;kT9bMoOe%PVl;0Af2?rtch4 zKA40Vj$I32Qe1$B$X&C~2-mitj5xhq5^+4BU+0tX{=BdXQE{Z+>yt0&F8a0t8NwD{ zC;4i%J>z9jDvdjlKsZaQHZn&btv##rRWxh;AO10X?95)Lpa&viXJiXv_gwh)0V(00 zg78(@{t=_{4Oa8UY4Nunp@dJh3HuZ=19^i<^Q6r9ff*syFPVcjxO+)Zc#I!pBY3(< z;KFZFk|vw}f6(&upD!c+p&s=4fUI_dW;d0Lv=e51l_Tc;ozoVuf=hNC+X6 zz9=*bVEfra;1eqhlDm2`Aa>+5YKL7N zaC$~1cm9k4>bVb%bfw6zOZ1Yba( zX#N=T;C&8fgK3Fd9C9tEV>)8!6SZkxx)xxOH$fqnESZZ8Iy*~(F7|Qj zRxcHocbB+>`{rL{*ulq(=|erDIet* z5Hu+to$$C)tNV1MC&rFNHdjzxmH*XLud3j2;)`K!4IsaV3foFz4X!xV&_yhno5yr3 zdiN5%EK^yi$**QbN@i1@s!!s=5sHs%9b=|t>(Ie7+E_-cD&k@`SFQQwwr=EPWYn4l z;aw5IuBEhEEvLYtj8+Y^Zmw&f)xoXUcpfK)5y+NxPFlQWDQaVoY;-#tDSx9-5;k`1 zR=Pk(!bwTMa#c=00bFHAu1Bfln{UCaIK& z)jIT?Brx!JBZBC_;n3>>i`LTQ+S(oc-uZ%at^ZW!$XvJF?$_tAVs&# z-6<=#44i{6cOKn2GygIgUfa;w&Hfb-ZFQ!1B4ekg+oK3LS3qjz!|7a3S94ka>!BZ8t(>-ja?d z=XA-A%S30`D;0#jX@SJeYFE&H(W6Jd&LiOrd+J6&C=Wtxs1Mk3AKPO{Fv6T^i-*SV z06BgU9_LLbA-flgNpM!Tn&HcUZFZ|kTk~u9=rzzc42wyu_Fw?@biR|NGsIIV9?wlN z(g)dOURp0fV0`uS9OmHs*Qp0@og(aM23$LbbWR+TZIsik50_*N=qAHd(UXja{;3bP z5WFYYUxfJ)#G>|^hP!e!$W@2ZlF9S%7am6h0?6pg@MH0J+hCyaIu^HW@(qJ7{0YgbbM`o#@y-uh6dJms zRc_(o4%`$Qx`UV@GSfvm9LVWxP;J$^# z{L7Di$|t&g?2FX)qxUhU7yFcHx8v&9O*fLy1AWL?k*A$&KH&~8pKs}tq$Qfh*@%8n z$@8C?s`Dd6WZ&S%R>9ssO4hE{kbkhKjir1m6aw0wnS;n>96EMGk<(YYc zu2uMC8K>+#!rym%`zMZLY)A^|%E0X_F_fiv`VkJ12TX>6zIAyFfn(L2Jbnb@GiReh z+(A5*!!a>k>uYr-ueKcz_kAjM&4HRG>Ld)^urRyk z61X^WuKbiX&^Mq`^J#XY@~-x^aQ6M5c$W$A9(E!k zAfONV|H*mrKSj^~yYu2dqUT$9R!*DEcTP_<`Yy$LYi8q;8GN`CD5Bi*Y)N#{q!d>a z2ri)=Mw29VkP7wb=RIy12*~mY6g+Q;USTezwH>QEmoPvLQ^y1iXk_k5-ZRN)VRQy`BmgA{ACW{xC(7itczf1U8C&;S4+#X!ik{k8UB!?SR zvut9H0<*K#8*`lo9~nG$7NTvOmYT{L&d=HPT3>OpG0qfq%wEj64*cCpGMBMn5jrEH z{$|*K%Acrm*`22+^L9;hJbI@+$Vm~+9h2$PH-H#-<~}@x*x}e3T;e%P%DaEfL{-UJ zf{U@zc2Jda7+{ihY(u_TD8hH~Q%6|hgBKnGsJQ}>86KAOIrKUVfA1(|_eqU{^MI(^ zl^6fvOvk$LiMO+ePhs7@OPIDBnfZxWZfSIF+PVm#_I4iln>F>;(dhw0gJ?ax%SgU# z+)+x;{CVbvvA$;6CmMfeqG~61nw$(XyPOB?c+?YWW?f5D^WYe)6Y7D!Wcf>{k8un_ ze_oB~Eeh+2d|)Z|_;L4a;rD%_R}Pz(&eEZ(*fN_A{3{u+Tq+2dov(KDCU_@-gAsC@V5^uTx;u1GL@2gi!Tq#OYF0 zOR#cpto8&qeyT9_HrK1i_4+YlY*wEFdcH0d5j1J zXst{5hly$oE#1`zXqOm@O=rb4fE~g{PB{1n5>zJ9Zg20x=Bn1L+hXK<+bLO0c%O!; zH}-g30xZnpy>0hZ(H<=Tfhzh;FdRyx^9LlM{Y(ouISR=4^f|F9#(1_HM@ zGZqO}{ZJN?74f|9QR*?S+->t8RLXFfPLNy5pSI7hh3&&HsbHUPo{+%3mWuCWM5;A~ z!B%7cCBk}tm6$rF<>7O;=jiHeSS#lt+NAsO+dSaWs+YP~7I(jgKU9%zay&BvXVThv z)o{MrSsH?SK;h%d3$i%|Xg}^EB64*Q=)2o^ErHncP>-m$Ib-%Kq$HQlcREHuq=nsD zeX}+WUQ`N4!@?urg4OI~-tzNI{#98TD*MN;O^sjm>QQGCUCZ~o+ET8NycpOL0#SQ9 zM;~6jlz>4fj1FwenCP8vAP>D!T+xp_XJI7Xo@$scBxHkHFHZDH7#<|j$(UG{f+Wk~ zsuWP5N4gBOF-^&DP3U>2Vf~gss(Vj8_(M{Km3|N9?k(|syzWEdD{E)pjLuO)D$tb* z?7thrT}vE*sBdKNiWm}RlAueEDOddk1N*Nr3%-b;X4QFyEZq;~D%U9`nwCu zKWf%kOF$()-y6;ll;Z2vnskJcHx5w9)-@44*GKPa4os(Gc8O@yiLY?$FkB-?^n@NHWrgEJvDG88!FmkVahC-@7vr)Nyj9=_A>u@eYVTd_)M zmTy!xDpfp!wjnrK%Zu;x2-uM5X>bTn0qjp{Rx@w>I#$f6x%yqh9&9CsOep#i*%W&D zdp|PGSgS>HSA{u7&k6x(ZlfyWEF2UX)Pk>25Q3&m2*Tn{sE8G$ITNhn*3kxgT3>N4 z64C~4y1=}QA&@tcb8d071f5PDxPu&rwmun%>F6k!U`gt_K|LA1c7Y3ST_qLr^hLQ9iGyB~I*SuWUy6lpH9Fm#W|{9!ex-N(Rl z8xYZ5y9{F^aG63>8Y)N%kb*OWg2q}MmHKzT4*#;evWV#LUkW_mh(oUFZ6YXC{wZ`A zMFbT#I!N3N=DZP$oTo!g1T?_dVn%9aX5TM$IVmHRG@@QW4QTc$Hb#xiM?;AF^CSY; zpykaxHy3r-bz89fq6xIRw_>A&n?yo@8CxMQ)`NA26#~R%s;)}pIYpvBvuQZ1k@0|< za@Oi94p#0**K-vL|Jt~(z)(jh3fLABUnehV+@goI+!m93IS(c&e108l8f_rd2b}ke zdD)Z@+`CET6FhrF{*|YMZY!~(QWM;KV5EbYXV4?(GbAPB>A7jZ1q3-Y<;`}6yv|Jm z^Q=}^amn=kof19Fyp@d*xQg`IEHguEDK+%f9h&vN$m%WRG3k_O6KV1EYac+ZPWOuW zN!S9cJgf}QRQ-Rk_Kq>OZEfCnS-Wg|mu=g&ZQI;s+qSEA+1_Q_wrxLk&fR&RzE7U+ zPABh5X4d+!k~!wcH7<=get%*@Q&sm?ieqtDuvE&j($56ky|yT75i1KWh-6dtHi$^I zUbb|x8mpS$sQG3h^N34R<;m~pcoIfJ{kI&Ut1D7|NRxFA=yg#mnA+&eU<+N8?)(rd zR`!}vH2Ah5&sbK%rexeYm#o^psqJ#;f3BLH>==bh=NL^L2W24E{+uY%Svh^i<#p6r zj5axC(>gYUjsBqzl|b`1enm(YtIb!p?zxdCh>N7lBj4XRX+2H002z@*PXR`hMY%C*X;!u9g%IZv#@%+7 zIRaRh?Jp}~9Tu%WvFk|ZsT-qlpN>5LyTj_(o&0@NO6Y^cNAAOLAw+5Rj~rnouVZXSou-i_0U#@1hFXmlSDnQBQn%09_e(;j-al!!eA8OpYEqFQo{ZQ> za9_~ZCoMKX-KV>wQP@cwj(!H4E39)PAP<8s4(0Y{pN5@MB~a@a)^bWH1hpZ0(CGJ)TGIvLexC`{CHe4wHAw6cA5y~5(XK`6qbh)>)S#;5}5c* z@BU+rokFDPHKy-TmQi7DYWAm_JG09EEb5nGXEY^rZHqRvfOD?_t`O{fvHC>+BOA$4 z^sZhG=%d(UQM#r@+^S-ta#yMh_wsTMeu=_cKcJo{e^tGvhR?uS0$3q}ZRcnd2W1#S zJ=uiqZT@gInT;1CEvZ}yUVoj$fJRUajXXZr!VvD#X^oKoUM4QfM*dLZb5A7u6D^ef zICk!#UsM^pKI@Ky>?5qi0#>fjI)fK~#JLXGSr~~Qm+cL>YGGiE91cohzwKm!3_enq*_QOSKCGIJI*pJM4;u zI|Na!iX@jfk})43nN@dG+Z$(Sb8>1ZTy=lkFrF7fHnzyhcI+LCDVDs=oP3g)LpPgo zv3E1r9%J*o;klw9Mn>cUG*9oVY{aylhp++(hQ(hpj?))r^n2BT?K|i zjCY=*veR)}bYFCtw-Dsu&)IgfhN)1l?JMJ*<=MUZyNZ>NoM@S9Uag$2tkxtzE~mrn zBd8?BY`5T5!6UWm==Q2OW-8+J7oIyCWPZVn(rBaUK%uFXR8$r&?V-#zhS3$P`h%zG zZxO0H+3q06;8<92=?q6g>+-;p(J1U#+t;cra-ci2&6amnyOO~@TM|YWIh*r{x6Gw1 zV7fWn#U1@0)#x$Q9o-+`uDFBu3;TUHnKpTl zt2?4&_P$6XnkQ|-(aa6Gj~${6>Xzn9*(Y+IB)|qKYa z1G!@!c-^)~T^T#yV4Wa8X69%qk?TuvIU#g5Hy%FLx0agaH6afTgTltjdg^QmCB`h5 z{dO9~WI!0z!k<+yg>d)mLQg3fUob_n-{HP7A%P9#p9n<>ANg zHr!_TfbmryUNa3I*V%3iun4g%6)iB&8nZxgPWq}t=JugltZlSoy-1KLlLLc{j@4Mu z!I$vZ^(t$^A5~bll9Z;z0N5dR(?pZTcB1dM@`NWh<7V(ZxBfJ1y_SCi@ugC+_NEuKi=%E zvW?-n%m>}ctc(_y8aDTf$XYQh(xBY7 zlS&+9MP5zQ5H2MjN2J-@Fb(y3^1@GkRc;u$KgI5=8jOqCS~}zCKpoDzMitax)Xwh> zJiMRD%@=60wLrP;sa?~}f*Y<8@W5(>Z_VOadJMf8aT^ScfO0c8*XnpS%2bb=8#Ik6 zA7WK2oGqpOO!2Uss2aM+-)!mAj!^U%Qh6d)kw$O^Dr?SXOfGm0h#f*j9&{t$>WmzL z7;+0ZmUqq=%1P+EFmUYBntX)MIxKKt3Lyw!PfKLKlxuX09v!fERojs0EH-j7rmY+R zb3sro7qncMn1aVzqa-HAJwM7cxD=APnQXMW>;Fm6YKG-ZdXtQ!c8E0?*}i{rs1VznhC&oPJeO*NPS zIv(lO&;gi^`IhD4DOc@F)vy_2teX)M)=i^`O>vyyu&2o{Vo3(r*>Hh(GXRXVs zx5!i2uhv8bE0T-v_P2u>EYqd%xbuT33GQ=O+K}7#>99n}OmL6& z2kKN-ODHHGbj~Iw3CdE9MwIgMM8OR1^F~`w%)z(**{u-D=^*G=*!`9}$$<4P9nAvE~5gF6HJQBqGctBRw+iFT!OKb_5LkJ<&Xl6pu23pg(pAU?_eqW9p(OSjz zfu_}jK&wUC!Koo&`>-F*Jy?*29Ov<-;}Pm>s(0dH{5{9k?PV2W&DPb2x)gxGKSGy| z8*=mZ11zM}w@~|B+w8C?oCm*PNnRDUk=Cs={@G@<)^MHz;)B|7RlXg7WLs~>HT6A@ zQF7U7aXQNfpZ4o+{x(5_5V$CI|A`wW(GflPmytm>w*l$Pwq;sW-rm)-;S zawdGoSz`nt(_1iMwO&U>^WshHZ*13>oF`sBe2c2-7k-{{KlRPOE+KgeUuN%si7JpPH1nL zo*5X+BIgU5Z-F-C_~|O^WR_<(KLpsujP%MqKqBh%{!pD&44;M~@n+BX1)FJl7t6`U}{}(t|^b! z^Q`HtsCjEFPN!M+YG=89UM{Z7VBq-l{JLy(ssr{mRD*UB>)huY!0No(TN@YGeQa4vYWX29-`!QT*l>{ePeTN>$VD zTN_;8)R@}b#>DntXV3mGx7_7#Zh6rEgIoUL-@kv}f3LJL-qGOoU!lu?Z@P*&y;G4|eZNDKsh8EHoJmgogt)YHM0IHaW}{LZVnIB)YXzVQB?w z*IAKwCFrE8Nq1ZWdXep==|>pVW5w$qdTm{0rg0xlZRvIcatSgAp$l$0G+g$y(rI5L z&`(><-SJpfNA+UOIZ_h^f%G;0=9z8GwsCD}uKI2625o=Kuz!kh4H&SxGz3$BmuDN7 zwSb-|IM&ob(RZOhtYX7J9Q{pgBa8-(W@1pPP_ilJU)mNE&>vo;UgP4vYL|cQ+>4;g3)#ol>-uH8w>z{t$QZFvvC9x@rHB^hrWm~NI6MLGfBWM6s zMYMskj}z@oP%O@sAU}HQ5j}lrzmAqp$Q;5V*zV1dJc=;y z?jez^e&HiVYP8i%rJW&uk zLy|>4fkhv?E6m+8qAoMzhl8d8g&e+b<{-HU?`iZpg4EYtVPW1Zhir-A3BdfQ>^I~0 zXWdqzYusYwcu!o9|1n$gaRY<>9)}Hp18LnHv3^>E_#}=y*dfJM+=t%+?ObGdB<-k_ z*X|AD%(L*#3w}5D=vLJ34}KoBQC>d#(IJzU5M5v|o$C-=G3tM)FA_&g&7qSfWzgsYb-^OZgOKV|g>uT&kYiVdlYh&!>ZUpuRqNr7w`xZx!8kDZA<>Fnjhv=%GQem_pDYLA($>w5EBX>yK%8 z)Kapl!x@PYpvrOG_T!C^;M5)I*_J$82ux_pJ=bM8m^?T=(=^fR5+2yzEUZunuk$^4 zuZ%MG0k_@D7nLwCs?^uZ;A_-Y^-Ox*VcNfDSxk+01@#*a=k;$C`G5LV+W%sf&25~F z9c=WiX#dSW{jI3@PX{~k|8lV79r5$|9sStWY8v;?*Rw@n;-k9r=|H{J<@-6 zx#N`L)T5H)@(|P`<0DifQq*AKr;aGZB&MXrB@{-7XT~V|DJ7^U#-wP+2Sv$=N~gvG zjcUMu2Z4t7jZEI}8w>v1(Ed5wO#jo+1Z|Cs4gUq-lQMU7BBuYB&#hAYm#%FBNJuJQ zxOt!I4^SWr4W)qX#qty&3I%-S2nu_rOy#=XN+M6`BqZN5tx^!g-SHTK@!!CqP@$36 z`X(-1R~H#s8??H-UO?CIuH|G1i^k_MgEx6%@2We?ssd+Wv`MI8P=vmmmk~7?C-%jh z3=36n%1RK@gZn{g$#LDJf5g$l0=KOsemEKe^b#;}D1;rYoMnsY zfOLw%cgSFa&G5&H)n}7XdXOpp>6D?j#tKYF4B6Ne3rwHZK6%$MwIr4M5VLCdaf9{f z%`WFRiMaUe0`_J?e_NGrQQpGWq6xD5r_UclD4~Y)%ql#LzRx8XRlJ2KApL5pS}-TF z8?NguXDabp@9`%(s4WmL)O^pBEiB#zqW(!W9oo7n&e1e}%bR_2;BFWb&Ug-dt<5qd zr?1=%91b&X1zose8Q3?uchFnlqfCKtCEA|}<=rY%i!fQ;5aW@7=&Nqb3F=mdz_qdH?(m8))i$i5a z5+v>ZpP#-jLo_6gpiEDpuB{wN%O;7v3o1)IhBw^5ak65?lRJzCsMn4Ml{Tf<>(pbc z$5@o=AnvH^de&qvu>M-S5(j)q7vGB)=-*uAKh25Ze`!wtGNvq5ZAYXd3~tI14NV;+ z-(U2}1jO()OCp4j*5s%%QHK6~tHr~q+f3wV3kI~ql*WxfoDJrTb27B?CsJ!^POIiT zq>P;>pyrZdYvQvNTKil3Jm#L8uB;V}!~!^s$u3(lN9;#jx`%gP?{`Q5q}So$f&P#s z@!dLA>vf&)Fcs;p)>~VnoWE^7f2&VUDM>Unsy$UWZ`oONg(v#=o*hav>ON&T_;@rP zdKRNx7BydJGi@js8?M%!Ye@4S4XmV5G7g>#g9?IagZcOeG&LG0S=%b`tInu9N_Stb zKuvBOsr4>H?v9YBOIIUFrm^64#Z2@a?E~U!zaAoSI_jut`kyzA={`D_zI#v^)xU8!kL1k1G>scFWg}-`1V5?{aIM zyIg2G+Dx#9DfQmW)MgC`_rCm@EmMIkb}=KHW((+J%ipCp(R+I~XA767Xf}C+a+wpw zy1>Kn=JSA9pyl13ZXS!RJ%El!SFxAkw`F8P$m|H#xeqHDVs;WVeEx6_2})WkI}cb3 zXjT5;$d&c^u@ChaIoXK9IN^*t0)O+woC%b|u-In3k?JV1OVN#SPXsYSTm+bO9vX9ru!C%vmy`uyX; z;agUTMaF)5D!d}f zgCe4WOjAU5hP4Xo&V)Hqp^k*%*-X>&f(oXQdt`W8sYq*d8!B71wvPHDT$6cgbNZU7 zqbHl{ElIho&h*5((8AD1CYa@71uH27$YI3=!yGm2WJIhwR7?}|m7cF$M~+XR(Gv5w zfh_Byy>?Jv@_kfMab6(SlQ`n5s#$KtgU?7++R`!^B@`?(>?o5F2dxgLVp)69>UpuT zs&~n*$#%E^@$62jy1iYtS4WllRD~NxN8nB__++Z`oP$^S+(`3DZmX`F9Oa7oLil5@ zp5pyE{i1xW!V}e7CDE)c8vfcMs+MMKU8KRwn(2rHv-hNJdc26;wf`b2gDtk^b! zzr<~Gz*q3V^|mA0SCbfi-*TO#@D=yFvG$nhBmK+7@m+gNvx^~|EbJ}yl=IEp2km*M z1KitZa2(wJ4)FW<@Ptq3%R`M8=mZ{dq|ou9ytz;b{Y}CPr3g=dp08jl(u&wv=gzT@ zfEeb+(!mE*PXFdFAGkda+pD3}mWWIqAG9IR)Iz5D7-U|!n>+j!oWnQ6*<(FB6xnTY zNCW)&o&KiIDMhf4!9%-o{ETp8_(1w(MtzaHfiw^@KoMEeiA=jk{_e zHT>DpQ)ASk4Z(O5BOmt&Uq}o9h6H~N{F+V~hWahpf_&0J#s3x0B1~M5L~tCu{=>t? zUo3{%2#?ry8=8M|dV&hr4fX9h5~Kv&gwSq<4rEunN9x*%l;(~cBOop6#EoG7h7kx= zD2hZ(QDN8>h@f6!V|EQaUhhEkv|MdGndgrqpwmY1p*SAQ&K{uaWh zQ{b)?;uceOpSw&@@U}?*NGKZyK?xWV5s4dASRAmHckRzA-eP}&5&@~B7XasSrp7O7 zRPBD^lnvU{Yl3Zg4FZHBHv1BCbDi7?Gy+j@sX@aeNJWEFt%!jlczd!yY$oiK8L{g{ z`S(=In-*jPE4HexKdIr6ar~+UI?ln@-%x7C!@l4WmZ!E~@6`sM z^JJ+Ok~xZkzK}Ppreu8{W^J_F)Ws2FCkh`8{4Ocu_e*Md)sB209EX*(4vR~>m9!$! z0W~RTs09p7eJ<$7Jo593$Zc^XenVUE*S6*tuC*R#VO)cgMnvEE@umN_QuLqcT-@krvWwBeFcO^2~x*%a@7I-kS6?<8j@)RDV5*nREv zk*)BCq;J8r^p`~894KLi*7MP43GqdXZ54pXY;nRziXEODLiEMZ}#g3{C`)w(Eo1(^IutLr>eT`nh3nlQgv!M z8J}*$2O@qF)iN_Q6Q2ceQ$Q}ndkvxJ?CLyCdwWAA`s-B|w-`0~ix^ZQE#gz^-uHXe z$yAJhVj&xiE}e^&uZ&qu2TD$vRP2^o+Xa z8Z3S1I|}Jz<)Oc~>O~K)GNT&hsTgxwSpp_5EJ+;LdB+&$J-j=s9x>~URdVw``ZhLj z&;Lk=VVHt)<)CVD@l_gv5*PHaL!J2{*QDN9foTaA(T9MtGScv=Kry5lf*BSg)cKo7 zar|6Sc_*(Jm!d#tNF~qAyg!OW6Z!nzJvCf8SLQ9v$bJ=LX6!aB;&f8u>YG6e4M!~2-BiEa$h*|%|yvcjJKnPb4thPt&}N}U}oxS6PjG=Ol4dg%_k;iXh-}pvQn{+zIvs$k=GNvTN$aF$uJj+S;cbpV_d%k0 ze`Sx959>$LB{6^_*QHPD2{^q!Bly&ZsL87_P>wB$m4d&n;m{Q=GXyeG;rg~%YSJaw z@sSK8A{yDS5g=rafLqJ9KX-2(p{tK_WW5^KQ4JCUteGf>?ouy9s5P_<-;kpo-<~FD zOTTaCVh!xO3<=&$;Iw#ZYU3nZXR3vqF+(y}QcWSjapz7g!K?{RNd4hi2)VBAMk3V1 zvqT)2x!LQ-0Q9u$cubPTFMAT*+-TsVXRf!A*ijTO%~?Sj5qWe|PKF9wsNGWQ z=M^a96Ael&F2nVX2;mAaq)pE%X>FIyA)Q8*686@t>xtE^-gUX;-&Tfs=1m0U>3JpD zs~Nte#j^{S5~Z3tD)l#p1Qc~^l zR)Q`moK>cBQZRU*v>H#A%wkyPPLgo$G&UtahQSKEYMP=^>zoFbr^va~YSB=ar)Qv^AU;PG z3T15(Z(vcnuLRXRpVr|#?_lmlB>L02&!g$Rk=_{eM{!nAY6<^E-kWz(nvLa8P0ve7 zoz@R@QPxQgPwk#x(@uG%1kH1R>=kSlv->uSj-1lM3Nx&HYpt9+cY=N$u}XP%+l1M{6SFGNr| z+64D?LMUCxRHezYtxgT{Qc^cP%Fq{di?cqWMha%5c)}_w0`(&%L47VFr~xQlrkKlRxfP&zo3nM*=4io9To z`)+7Y*)81j5|wE07fiTHI88H{H})J|IP9Kvmz4ypB%4(vAC0il(~(ivC-cJwve%-p|OpTxs9p#cf&*9$@V`4 z4T_X3Ws&%ix#y@iT-5Vau$TnWkDIO2diYj;wkvwQ6EllM zP78e(Q@o>Yre(R*x+=Wq>uIe|nXN~YSsyodXRZK_Zn;FgHDq3%jzhi!z@8PghMroZ ztWDR%a9qviyhq9yY=72vEu$e0o{4Z-TAE2Z9w>xcX5pNOG3qide_OI@+iv)1Z0*C8 z5e>vfxM(UcU2M%jr^hlSXQ>U9`?*j+r=iqdw$`E81xrxHzbp(T1~@r@S*~1NNCCebB*}u^H|n2bVIrR}}A2^{sa!5B0c5o}%lg zh6A(O1EP^v$#opaLn#CIwNxs!{h`BB)L$qkw^o%t7Gs2tkDzUCI^$Av{)TGdA3eh~ zt2+YcEoMy=wm}7l+@$9>qn+5?!?0={RvQx^6vZ2)k?FfW+mO{=jL@B zI6cwS-XBn(q6RfdOBsd}bUK1agLYL+T9mW~@cO9Dd=hHpV( zzK6*TV4wP@B=Q6sRLhh+d5gpZLg}e+$AC*pvqH0rPd*g$6@%tIj3#jfG&tll(`k@h5^0(dsXhnqpbhK-PBz+`;~9D)d}2lc_rqM^ zFsyn;#&*hhlH9;!?zQkI>jNd=9IDrirqFoxE(6};MY}0j=)OIJ^LPi+8ieP=I(E4u z%AP2qO&uY*mtt_ZCw>i1;hxbaI$Qv>EnXfB`?(8D#x^!OwM@T5TUd`w}I>1i3$bWSmh+>l{|MeCzQ64YB> za%12(1aP$!@RAkd1Y76&76YuYW8I1?Xp{~PwQ82m##8*N4(viu(@!}(20=u zD>eo+XF95_{azFqc8NzDV$0Db4$(>CQl*6{SdCfkNw|%7n}A(2p?;x!ADPY*5=K-< z7Q64`nG)_`6d-MQan-TSCJduf1rEtahalsTNlzq+s>AFQ)YF_Ah{g7-Rj;7sBo`IY z!t9AXH?xe;QZP?&3hAK*sNAE2F@*^#5kQ3EMhgbXWaam%8MqEVV5Q5hO)lR3X#6JQ zT?)7CYLi z1NlVB+f$dLxPg*XD2i@hfIFRvfBvzOWC-;pv5;33#)nO13&j-3ZnmWmab6apTvfBm zC$wu|UTF$qJd$3O7Lp&CNg$EhEQ~HLyZQ6y8+28>0MZoGMo!6SePHDS2S()O(co@$Sr(i`z@W;`B^2}>aHNk^a z3S0Q=i!)sM>1u2CPl&SVxWcKrs>N+|#t1JtVVv^SUG!}5VZDw*x*o zD4BJCKr|$px}OCuSJm&9_4%9);ujS%8LV7enYHqt!CIus!w17~h6F!?h<$)3)pby^0Uog-7F+JdwsqL!&t_BiyiB89iLPToJ;^T!MKO4s3Wv~}Y6qjDYN9@Ie3 z39RCOJG@fv#efbd-`nzIl%ItE_AD7J-_!6}T)Hz2*|a=a4ZdKi_shp4&nYx@?eNBk zy74p%k1*!KwfzF69$UtWY1|t4ywVT-snj&2VrPbN<7S0{!#hV9CewB$1RB&?8lP2~ zv|$!6I!zOkFNrJY?_)~{(E!+X>>up`A&22X&J$S&z6@v1haL*q6#*Vv37dG58#6uY zH%*wcVIS2QLC8N9-lEm3=z32JUFt7t+`YMeZwiv(nEYvw448FbncoZG>9tFJ({4uP z5PhpD$(I3g5_-p%JCT(SBJG45ODazzs~^J^72pth3>R|zgnaU3_9`%EE3y)iUYi#d ze4>B^9c{*z+nUvM2{HZg>vq`My&a;bBokVG6W40F;waPuGjcbL@F{`g;cZpA=jIto zX2$stOUSoxILOoOk%uv=p76aRf|%0I4_=6d))GBtYoJvb)CB=_m|kd~E&rAabN`1~ z91F6=@0?}>pgxy&uTTiBN{(ijlp99_Zq zl@C8m-KDUfN^efO9WCeeONnzC@{itMQ1U)WWZfc(v<0#n=!uL3p+p3sA^2Fhb|*9B z;G)u|x;x!($#61T{bPQFVSI58D*KNdF}je}N;>z?LA$$`Jscuh^=jQ-G!5%yG~J;? z{s+FGMf62UM4!Gj4k==-s#k9g#G>kK(W=+0l2kZDyt6OzoME(azbjtD_$E8gb3500 z2{9!}afk{9Iob*hlby!noNw8vxbKI7WQNb!h|uB^S?S1agTpN-de;3*=n67)DYo}w zl)#NezN}c^qXdbmIf-GEorX~+?xe%nbgj6DezDlIH-|6LK5EkKuazcT!Ed@kUU?E| z)f&_e*`XK`XnhV_{feN{6wT`doR;;w2FCP5m04>@Ua-;aT}M218t$W1gFrbX0lFeG z$LGcO<1HllKsY@Z0(nM4d{+FIl2uwhIsLqc zsBZsVFu*s9)l&9G5D;-ve_3#(S^D{R02JR38BP0E=Tw6G&lUGS6F=7fZ2*+{-f8)d z=%=XtuT)Q6y-k}3q;e}9qEN}n@V?h<4$U7@JRmH#OLh!KYGsn8eU9QLrSzG|%S_7a z8vMB+(pAGs;kw9s*>ft3+jTOHv%UN4{T+1sCyVz!NcI`Ag>yVyqDaYvjM4CFy%?5c znY{gd_M?@?++kw01xNka+X%wTH3+I^c}c!n+TO8tfv_~?wz;IWU(xD;sx8PZ`0Fy+ znzT3{?&WQ`=`j&&XQ_1M)I>GORe6oY!ikH*Ddf0P!%P#!bs1AoK!s?gK|)mzGVB#qSEG_E&?MdQuLg>+k(jjIRA%wzJB+7z}LUjRtYsMoJYLcAvvwD!KCWt}c$N z)32^NyD4-DSA!(u#1}QRj$m} z`n;F5m|$k5XVcy;saW_&(!0Ir-E_NXBJV2*-927mA;8rYXxVuBQT1!u+w?5(@1TEW zP7V5(QuE(?DD?lPy8KVW`5*UC{!uaf%Vq{N!QHeLl6an^7mmxK!nu=;Mw*DnC{PDM zx#AB9t+?EXhlbGu&HK!(29r$^(-6?b2)6ksV(S9q1Lf+VdRG8?9T342q+OP<#B7OI z;y0KC@T~+~61MdyzrIn&S**f!Mn`XtZ#A2q%~_70bJhKhC0%Zjp(0ZC>Yw zHeVn2X+hXM^J~q@Rb#81S7mnQxwzvybAOr5m1S`ND44mq?F|n@m*~Kz_E8D-n)5p|$_K(k^8KO?Mp4dSDkQh* zcEL-Q_?=ay)?tNKVU#3etaO>r?5{GuqQ}*cK52UK8^y`-3?tQw$J5jPK1T?$;_*TmIoJ@L10x2*IDWuVLx2hW;;QDqz4j}Hx(-A z=_zDTiqV0wpZ^&`v0bdhI$ndy;TK%61vghWc^&DbPfO!3*hw)l{?5uKMrX^D_>mjC zWdIX3xf{1}14^{)u+L-^f4dEgOrzV-oX8WJESe%7I!tL{k-V5;F(c&OW#Q|nTdnY( zHF#pOg57dJh0)TU_@c9wiqWgh*1zy=rL?r;3eC6Yn(8>Zq02MPM|RF zr{O!bOEk&+#P{o`#cmtuWf&Z>LYf2oQ5(RD;Vh%(q)f7$LS(M;UHdrumW2PjZ6V8w zxQqWX4&-kDOTM5eewuyLzVCA4nP8VL;XI+~i4V7xA{Jm}pc->I0`67`4ALMZ2?nrYpmrsC>k8sA7=?=Bidt!QDKakF* zutHU%kh@W5#vrO$baONR$ejUiACmAf(&=6YTZ}lfti!g&3z43}*!Q68zW5kme$kk)E55x5ReTG&P%lf z0*-Ch^HB(q>lQf6W?ye7j)S{Lqys9hDw~Invc| znTI9212&ik6)#|s8o||*jVoJB$Uq;X$0u)YVq9FA9q;(Wl?mDz)ND>v zqx8_Ph|gc)jxxm-*g%?|QJ*o~UorlZS(@H6INM@}IMKv?pkyex&7D&X&Kc=bIEZV3D|fM#73SJ$C-0$N;WafKklff zrSiJqS+tjp;UO9AQ|wGYzYiArIuZgV1_qpJ=ZncH%1Cm<%fdv*L=7O74cCOn`D^&s zs}DuvJ7pEaf3$!}M91JyHZ-9QuLn_pBQtPwe!T2;R<*lc_QSsGu~Rzjpd^XFtcCzY zNR%^BVhs1%#FV1mY2}l6r^Kes4tQFAGq;@_i%IPdcTP%obBV!OnwVxaE>pwx(zW}apv1p-1GPXM}@-r%5qGFbIk|-^WKok*D9Z*%_lE`z#%j}Fx zijp%rfT-h{RPNW_${fo*6Lo_wF!ZxEcXySk$VL1Ns@|^xJ0rMjZEz`1f-?`g4g|*x zzOI;eCqLxe3H%C><3TUHRHtdoN;2?(12Z+&y%K4tB=xPzMO*o^PK!>oGup&dOH%W= z2$enF%~ofTnGc2gXqPzDjT}_(B61HsmVDhnqGrE1e4(q5V_^6P>C`pA8QS3EfD#mL zHqn`YdiYM=^csR!7xGu}bLZ{Wu08Wp480l7qQ#F#*c=>-OD-7?tZx3-d>Nm#r00~q z=?#1*P_JVN_%^6>UEoJSx^+waANu5<6afv0zMbSe-JRm$R{%HCpJ33En!c@CvLK z?$->QKqVZJ|2vMtH21G#B7hwo;uP@G0G{ye2m1YAF@iPV1c!Zex1!q%F|+XAv%5O& zC{FD=;b2bf$WEM6NEAc$tV5kHl<@8)su%0|E*=Y$4W7!eAIPr&kffh?$Lqs7!m5-~ z)p1SE5ore&Y%3sZetYszFgSVF_0SGru+{U2ru@&4{Yj+ugNn(8s)pf*JuN#p(&~;A z7SU;@kL$#nxlnY$S34N3w>ilbv^(dfJqz@iH|I=Rpr+dtYOxh!xT;rlt?4Nt%9?Ko zs|jO^OLotWdS~v~x6VH_?~pY&xoQr{n>yxxId4Q-z1%H_AJ#nxVt)cHzaqfC+%Q=k zmDLgczLT+aQkFu!h=>=UZU}mn;;*U>9l) z@=h_>N(xDoBsfqI+sG7=K-Pyz8TqIgK~*1@ndVAlO|fgZOf78IvfvGz;`1H4DN7+W zD{C!m%36||UAr99ear_vVg41~PgoZ*P#E!3i9CInG`$RUOZqrGCER%a=jw0_>i6-b zT^E}@z*4?k7ASXp68^x?UP)vyQl$cCJ_1oW)=4Z3Lit5Nzx~*!af3t3)0~i zu-5C-0ZOK^?qL-Vw-ECh7RdaPsD~fg>**DHFsRIK$ko{$U4IJZx9Q)Yie2SqJW1!~ zaD$Zr=sDI^JOgd6o`E_=r}>U*nIA3QKK5&H%8glg_>KQu?ThWYO34XpUJ!3wxV~m) zn&M;$`b^a_3pX)eLUL>!mAT}cxxQ$98vIuAhSjA{IrZ5%iZxeFIav;{?*R2`+p?dg zF5g%XhLgs5Vn09(86QVc+ui>ugG(pTa++DUm@V%qwYrF3d5>7?jg}N4S*D>Sa@TKT z0k1l3VE?l*yrNWFOZq6>(yR(Xu^YV@$G>{#X}V@vvVc&6yfy|_?^1mN*GL=@0T@xHfTM#O4^|VCj2TiW!u* zu=pm`C^WlmA{N~iIegYhEX8Bgy1H6P?weA=7ZAQt^;z7Bi@%rF&4Vcifcma8{*H9# z{2~cW2zBr7zA;~(i&%2Uu8Kp%TB#5=akU$%)S*i`lIyfUBrWPyG3*Vl2EnG}#;&)* zMex#7X}_B7qV><~3TyV-Jkg?Ik9rYCl_Eo6{~fIT;8d>)dtRua21g$yD9<#EM9CF) zUXqQ;N~g-&7ap~bkK|mra;m!dhG8ivGG+2@r2E+X$C|>&mh-VtFANLdtlXn!R~G=C z9B#puV6<>Z_)lb%h@nyeuXKz4z2vsVlGJPR=Ibm(ISe`QkB+9T&(F_x@6{N3&IR92NW*Dk+;TR^CX70BMaw_dgtyD zCS%Bq#_s9VjOx?RDS5^9TGp$w?iavHgg0(2a{7c_mU;5O%@U7h$fjtdBx-l&7~wq& z@oRH3*=vVRV#TSffYf{wc^LOU&JjEi;dw4T-if{A$oIVCvqyT&<(iU{AHp5HaSuE| z4+8FO61K@K6I|;DKW}^}cqMdkcAtEC1cq`Z)Dk;@k!cC@-!T{O6}}bIwj9V8jm9*h zV6G^nUUg+fUr}N|sl~cIiVMTO;ssaE92sgkCdPuJ6sjLHaEm$AQ&v1kOVyI~!L9SV z9`nk0UAPErPxkBd9h<=G6(1U7uBnVeHhJSk-ys(Ua>^t+q6IFd8pJYlf0_|!42T<@ zDmvk2pA94?7NdplL$Og$h$yBr6v7rzRrE|9{Y0#Sz#CLc!5jlQj4GZV{61}&&LcUa zA|0Ke6x2hdRh@80oHVK$i&=6uA1h_dsj!lJzEaV`nR3rqgp z^Lz!;ywT*8?UmG0?TV#Ofid>LRP&Aos5$0sgNk^O28y!f0+Vb-9_X`9{zM7tgy>i! zXoE^ckxf;!$BlR1q8?-~V31-Dm61A&NTlGY7b8fsV%AGCKdD~6VdZVP@`)w}UMnD^ zsadn+LPOhFsd@Kr_;gc3WFt$lfPK?gSPMm{5}B^H(O>;{cl0?yiXPHDVq+tD&hl|C zu*znXr4oW`B~^tUUd?6|=4nmADrQGB6c=6^)m24N&s}0?wZD*+@Ij?xv7rhTKxc1( z{`xI}A~tr%U#=G$&KTsIrvB_pRISg8{}ABAb$KCDi(Hd%6C*3K-tbSZ-U-V6_X*A!Y;lw9#*hAsqT`tHOcuX!YHbw5#)5Fm58pO z14>@qB&J?gNHvjAry#DbAvXF0n%p*9e)MWzqSZE8!H2dwWz)FR>Dfo-t2ioWAgB+{ z^m0vi_+qV5({I<>bf)>s&BUK~gvgB)V$&HF^LT5X{?kyz=AF^uj@<5U znQ47rr%1gOQf6$zH#>?K2aGepSJC(NB=Y>ZemU&0?hd8qZozzcM0jXa2GB{$<KmWWPT@Wc9;PzlFN%G_q}%a5(z z2er%X_qp$HpiLsZt2z}=;jmW2s|5J%>Uny;f|X_2#y$^u-0`&ixevP1 zP45c&^!6kfq&}=*$69q=V=WzjlrFFHj__h>SZTVF$I7O(=B-($uT-hM!mg;8yic+SZU-`RWtbt%EQ2BLUSUB+XbkSOSufd?ofZt5dTa^9+RS^X023mDvY{s zB&|=f)a7^iKdilTaIf8#Eu8GwJGN~nJGO1xwzXs1wr$(CtsUF`^1i3*-qWXUpYE>u zD)p<%zt37@&NbJZYmD(mF?Vsqw{cerJ8k@?9&Xh{R;xZ>-`g!zB0K3U9Dt$_0J$h# zzAj~*r=NQQgcK{@=)2J35KSZ+lzp*aV}EG?>fdhH?H4# zB0x=nzMR&pF)qmYu0bRsdbz55X*M-UIB)fW>}R=!Qfv20Z9Pj$GqQfmRLPT2Ur5jy zXsKWCSV&zYp+(jt{>#eoM-fs_+VXV=xJ*~|26&a zzkQMTuWjzXUL;;{SvX*_#%+I4)`%^4aI@ zLc7rAi`2bdt#7(Q)A_r_6g70UrI!sLftfPB1`4|XZCoFR(Sn56pV*|I3m?pvn=(oX z$!$pOH~e%Pi%*ux8aR_mLOo~oo-8(kC!JqrR6F3Lpc&+mh()27*&3{KUA25BkwAb) zwo3xlDUwS)0@!)8#G%~_G3c*f7qwJ(?-;!Kv7HT6)-iJ1Q;ssQWs+>vz%DU>5p;!d zdsWzjpN-}9a)|gy?15UWq94V(Dy3PWN+UjM0udvd4-i?iNvVxePGvHjQE6ZMi%s?J z7kM4(?Gtj$(;~uGhVbg^4pJ8z_g?YL$?<4W2C>~hUVy}?H`0-icBG4^^VonD{#>h} z-m5@3sU!~_95d_aeK`c->1;8pSQ4b5N1id{dp8o>?@*uO(f6AGfL^rH2taTkJza)R zts2C~^Fntq;NByNM*-o!zOV@DJuK09V+VR>o9THA*qZr05X{nLQc^1F_yDg@HviPM z?%{KtFNRFT@e>l%Wow5A>KXUR&jOAU91-S-Z6HWdhSS+lhTIykh#QdODXaVkh#9kJ&!N><9K8sfC`M+z`%Kcw6{-*<5kHNf zUNx)*fzv4dfbtt6dw$z8TGe?*1!#qG3^@Q|$S1f_{IPTvsV>LS5d|6~i%yMt`CJS- z@|?_57jdp1EAYpH1&YXkXcBV;767ziJVumAO9)i1xIGuHd+Gt5^eKO#s*;+)hTXwC z3z}(Ta2?)OcLHe=4uTkP>ak?_i{#rF7#SXl5Gnx3cN2*nUdum`Qhd{3DsLw z?+S}3Q{C0yl+Q@A(Thrt_8`v1o8K4~fLX8y%EQn2T+qdZjn7O1T`{bG{zxcA&sB!X zyEfZb7V&|BTPQh6LlE0%(K1t%vx+o1H($KCeP;PdLOI{(xhy7y!6PauG2qe>9R!h6 zxZn(hK=BGMROW4Uzza#D2iYXw$=4@{S?m>a&6!95HaTAaq(3!40K_a=e;;FsJE@u^ zx4^&DE$=~eK7at3-fqav{sU*1_kKuqhK0fZ_k^A^6A9$F@_EnH0DNCBex&cx5DN3@ zupOx0c`VzPC}N!Lc(}P7C>LZ}1fz0M;$Y1X{si=#5eQ=P0ZUhg+R5*w2GAyl17+qu zIBCL0Tb3LR`Q7D^WpN_R$7WVQi32|Y>(+6H6$Cc{=3jvymA_o2Vx_)K;Vt__r~`wj z{8vq|kz{wJFJnvVl*uPJ83=*lJLB;?B-q`GLt_^dX&~-sZbDG^GXMC)Nl~sjMdvx) z!2-JG-Jx|5Hf_FIGM?8}w87M$I)l4d2b(TgY1Q*nbu4}>;;cqE#!AD zV`Z<`h;P1?xVCBd<0hoxkyL@cO(K)<0ou{E!azNK3LcA?6OUp(WN;noSY$Wtl3VO- zc4B1N+M-r?>TQB#>a5uWbZj#=AqA>4Hrdm2aPs#_R!`s`Xm+bjuWD(wot(6J_>Zox zo$!^2v3O$Y)c3P)_$G-Q&1?{0v)bi(x$Cqo;*sCsK9nKF2^ z@!8KAc^|!H;$bgJshih|EhS%Ys|g&-!#a?jx-?I(m7tW)&%1{!Db9J8ImIqXl)F!D z<(}%k1z@A~e)}d6{aB=wpu{kh1psr7p*)_f%)&+;JR##?<0Jp#%p9E@w^`)r`?w5z zB~Aaq=t|&AvA<7vyxQkG5mljYu(Ku_E8M416Vpr~tqiWF$j50w=3HnIvRF?AR94V* zbgciF9`ak1X8NJUjvcibH5|SJDEjI8C8m&*dYLgc-*%mDX9lFR*us>BL^DdcrC6-e26x63juI_rI{ohx_oC-VCdnxi1wWCXA`k3Pkot9M8| zX&vg~Do9wp7u1*^bAF3nQ2_8;0I%q{sozR(z3TpMMK~wjNNC5HYI7pG?21wPjI4z_ zxUPD3$~bgZ8e@6ZF76Yrk%F4@UEwR^a%w6%;P&*Y4?{d8cfa0S;9WgfMPQQufq{n| zNax@u%t}88E9D_mM8iwsxWBgt6*e|oWyB7v5j6sGXvj}pf1k&;Z9aGpBibxwaX$E% zQs$_vGrRS&7FpEsHpFcQo!2(MpQPhj-y@aUcba({%e zh8&-8I$eX%S7Zr2xtW#Ni=~9sG^sw*d?Df!xj$|wq*Vx_!<)ZNqD6sDR--Y7N*^Cd zEMtU)DdDv~azIl5Fy&nuklI#zM(B8hv}M$osvB0{Wo)<7BVZvn@m=w0%AjTYp*B$| zH!7xjd-Y|#)S~$e)>m&ZRfy-mUMB$j_|-u0(3p1H{*b~BFGcM1!7DdYOos;mBM}Qw z!0WyedKqt^ugUc2cf+1nO*0PT9(ik$mCrjq3)uGBgGkSVW?&3Dgq9hp_9vQ~>P3?h zjIO|9njUe=%FWmlLyb-#Y{|1;pnRxZU067_gO-r-Y8pn((zCXASgL3Fx6+8L+1flJ z^_+hlod8Q>t`ilOJ@I~aNg3}kaFW!b=?w^Ss-8oG7|9$G)q38JDsU4%?&7Vl&9#I& zIAwrhmK{kLCcb=}d#Ey40X=dJo>!$3AM=g!%!04YMqBx51t|8Y-yv(3q?1#ydJ+0cm&SvfI`Be)3k7t_VD@Q-@{|YE$Rmq4 zSAB3T6KOO^mDmQHv79T#XDoghs4;wnlKN6WS@3okb`i3c9f=fXf|{G@f;CJo4MS?# zf*n|U_2?xUUN0_R{xJ#hRMv>zDX=o5KLZS!SLyDO~qQIgE+exNRO(%B3dnJ z2HlqHIzWW7U>I^-=UIJ`y#~~pNRYf{RnmV@hi$kurffkjp4J6R(^rhCKHm7`5 zA+cOAhAgMMCN&yylziS#BE#OsB7njbj1%2Iz4262Uvw}FuJws{;dpzn-OODb8>$O3 z(Pg(Ti_Y{L_J0UIt=^wPTI0=FWtPzwiJ7%KNYWq?>^s&_yrKYIWo>Q?vtetEpIUtZ z<5&wcqk+UB-4XCN>8_A2(ZB_mKY1Cp+1I8+t)xXedlubIK98tQ` zfJ*+(r;GwIXbOua3p%gV(n)tYO6C9MTiJ=iR*5CYU##r?+SQdjd(cj0+8?Ln@S;t_ z5$eJl@6!vrq9D~)4DC#p%***;E+aM6h)AO|fU8&V-mEGK|^8&)WW#zfI9F&2nP~Z{Ej=k|0 zHcr#-LWMfa&cV%7h!$j){~5Dw`*CHSfBosw5V zru$@pbHyY`?`tqn%IX5yIJ6cY03*xEOM1vkS=Vwkrwa0~$d>$Hw5A`jeLN*|ga}7K z$ldni6(Mj-Uh3%Sul|&pvOcz=PYHn>r^BlOR!TnEDLxfqEBtrSXqzUoR^B~ca4P|v zD9ilvuQ_qJjcS=>R!E-KQ$y=Bq9#ragjWlzR+9GRN*JYT68B4CldF{I`No{tpKKlF zTi|w$TE5-FQ{=ZM+hv6Bw68MBoD8+6fFamp4<6(twa`lK%3$8^VtLavio3-!8s>FG ztJw?CTn9J53ciQ?v$Yk!M_iAr)h!PGR2t1`cIE(#jBt(23B+#IL#!+Pia&g((x4Kw z9#8iu(f1QwDAm5zTvTR`;>0R#SI1)P)PU5B?N94Qj8)Y2B4vj^4U-hp~bu!JfFlL!VT_Nmv<$v#pQ)r_wU4@?R zrs0dG^nDu21bTBj5(kco0(alcqBBrD_7JRitL~jPEdlSG^Qzl=?fMHJ_5~9!bT06#%Dei( z+(x#Dji|e+OprN5drB>vDp|+o>hJx)sn))lKF)z%*4oL{X5X&z{tPII>ng@RcaKz< zy#o}!g)fr>ZnRJdML1ks7KZokorrx{h1Y@TUuzt6i`Xqiu9&2jkkpx)a4ARDT-zSCaC%mY#K@KLScm?)`(+71Goh7@lMi)6J z$mC<0Ve7@SvXEF+{TUixpS*g023c)c9mD%pf&FU?x~+W$Z{SZHm12z%5G4-^yR)Er z$&&b1$Pd#~<0m=havC91UCs2*xkw2>|RHma1C7|w79DWbTqV4tYACHzOq!X zkdSB%jU_1=&wID*S3se52pcXrQ&ON#3p2GN%e8W-Yr;EMZ6${%aB&)IfVC2C@-wjc zb(8&0*d_5X=`J3mhih~aNLalYM_@B~2UQi#uHfADV~t!VO-d_MKhFFm7}0{^ZKId; z2`xI|#utUeVxgkcJ6!uiHPUj7!tkk&bl*N&AJy%z;ln)Ws*n_XTPK zC^?ULP;-tj6*MmBMLF#Eaq(^?jycrDi+t*a>g14fevj#?NBK^;xZD>yQ^nymz*s+f zU&$M1$$PUcg3*1`xD|5GQi$Jjg|C(RcjKI1 z_8Q5heCB@byv@pqxhv4b^`HtxWRrt+<4=D;ZZ4`TLA48w@7b_3CWGk4rNt10;Bgh> zoNGC8(Mct801l?wD>!Jx8!3 zO*k7GL!vph^Q1Nc(vh@g-=vE}cF%kt9x!LKmA!ZVtOM^C1i^rWk5z<_t> zsK^jv{ag8z%;ub+8%oAvA%I?)wy98PbcR0hk~~quME*7hIohPvR)^w* zFc)Z4h}p7V@#8>O@f>>r4s#3q4kmNnx+29Vn|?H_SOP{uo5$G>`&6=>JMU7Xx?joQ z!iG-nC*+oXt~T>ko$PjXIrRo3ZsZ*k&9TaGz);W>hOv=0A;qInm=8sK%=O8 zypfYPNBq}lB{`1J*fUX32`WGqFvn+Dvedp@4Ct2eZ8RAXcWuB}a!G`gBszYc`TPhh ze=wLLK*KbNBPB|!d;qaVN@btmU+d9g&WjKaHS5%Hrjz@$Jq0%5Of(5f7CQYUyv&x% zai@$l2t2zztyH#jyp0|yXheK3B)o!C)f?}dOBA}5A(gOoH-hy`0DVHUxj&d~hXY}L z>E#E{zBPMrrX!WdYxg~=;#e^*p5>I zO@*0VfSGb&06fTE7U&kRxQMkH02v(}LQCC6JYe&F#kLp@3YmaX>&x1(EAzxxKxvn` z`xTEulEuZ-dRK_FsMek2v1!|LBcVUCr*gMWQk-1jVP|-wZ$%Sw&J{$C)OS{lbzV+m zF~?4!4t6wvi){CRC>`|4Gl-O!{fXSjylPiJ!1y?_qu<#S+k==dnX&7J6|HA( zf)yTnZ~U$qtCzu3*F~K^2cJ~0`4!Gtl)E)Dt{ovXc0km7$$NomkN#-dBEXZBvZDuWMvEfW0oQ0%8 zX7_NLhCX%lRGpJj`Hau`WORf4{<>TA@wt1a^?CVI{`Go#X4B>Nc~sr){#f!Mr7?#&m_QP`!QY7vEWpMQD{Q{7ioDfcv0B z5o4g_gn?=*PS(sbJ0847V5YNl14~^4zoi|zBosQh(!#Y?T=)BaMR;eh zaXJm9?o1oXBnevO9s9W4K24iJ0O}I_!N@-hlHr-8#2Jj-C$Ci5Z_yP&xGo}nq~FU2 z?c;o1CIm;3BWhPnIeExQEvz1_PG^Tz46E;zL1Sik4}3nf9qVI*inz-qX(xw5)Xha8 zksj}yn;BlS0?V3Q<=KOFm*bjI%pnT)`N)yNZA;PBzm|;h&04e2Y|L(toOoB=Rp0OO zJ%)(5E5Ef5yAzx>J83DLS+IW1mGr*L!%YwE#Y{(r1pN?KzRZ6ATV|;|PX1vN4FG`D z_n&7c|4I>H{O`FXP7ZqdmfzIkf2I)sU!64WzlA6_|E*41&cfW@KtYD03?5G{QFlnD zZ(uAR9%U_+91kfyt=2XVIVE#zK&EeGEFU7Ag zzgHyan_BT-&zt@Sw2FUOv%dyTRxzE{{dCX)E?gk7$n>YRlZIs&Jzt-pnF^xQ&MnMtWny~`xdB04dWypW>))T)*S&6dmN7FNtl zSj;ZDI8@=Mj*p8!yIS0=eYXPoN_%uJ=Fw)d;`9iFnhgfF z{WPHmvN7&*b7T@_F{qv0^wkw zNF6(ISGk@jwerhRmY^i61mghS-<}9enu8Be2JTc$CfS$3Z|(1tmZqTLV?}P&Z(^z{ zKDwcLVS*RlmcRXD))m=LCizMKplP=a&$N>Zf~(|uywn=(tpx`6*Q$Jm9C37hf3wto zT9toQ^!u+ou>Oxo;orl{zgFch5D`a?!}`(v6ngpygOJc4(~gZnL$!W@8e-?obxdP; zj`*^UJ@m@NoPl0JP+juc0Tbd%$>9p^Xn5eC&0i-s8t#$H8Rj@utC&ZPGemW(!VAVQ zIr+sOIwNHMxEitqVN>jqEb7!QYUMgnc8~y~Y^GR3r<2Ki?PE6cGvkDa-gn#pLtsaO&M40NW@K)}$-21QZrH&HTOZooZp6}oP4W55R!T*5F_K)EC2aEfklTN0* zmc);5-2#=#$>_PR3U5A?1w2K#DsXtvKKYorw-#82ri-y(>Ce^fmBHS;JQQhK%&*sc zUMWyV6I@SOscDnd{B_qEdz0Kg7NHP8C z02d>w0Uh74nZwFWow5CP^cop<-N&>+sfMOO(`0%EkHx5w)~*$D4OMWKlpJQ#V>SMk zDj1$?nD__f5D?RHlkXdmwEsyu^IuWP^1X-uFM-m3LgoKsm;OR%WvrBR|999vu??0` zV&DfeCs1Ibh*nV0&^3}qY79qZKv6=%JP>Wgs{cDtbfpMg(|&JB;a|G35f9**WJ)KP{_NK-A#` zEz<6Bf;)T*MnC6h-xNo;0BUX-Fr8`m>*dPZWJRWps7@*z%4K_DoXdl9xu<59H-JKb zQAt?)&lBNE5MO9+=9=U&=B{FoLmhWb>-a${B%b!zFo8>6cWb6mF-5%JDGSg@~)m)f8XpyFQXKX$i+b9)T1ur7(mBggjPlh)JtcC_~!5HF8CpeVE%VYW8)fz64sJGF*rdYhF^ zAg|JXW(Vm_m^!NTCvlT+e4c)~;VGX6yN)M`tvv+Lc@@u5^|zAh-b{Ll5`}bBN;dZusWLe{~*FZGGs@8f3~S zuH%5CO2(90Sf4g)-sy5TAH;co7>kX|fl7h#(FBwd08zw=F7oyQ&>jgPqs~l&2vD?P z0ru8&asjU}x%Di>YpS0eir`{nW~||rIWH~MSri>fkidqfLHjv-FEv3swARhQx{&=ogQiYArz9q9F3`}E%n!t6q%fuz5t@Sp+0@iO z{>*Mm?u7>7GZ>+gIlc?9aZ8OHpQ0~I&6VDqL}OC#9=o;}|Lb)apF7ys z04>2w#40-GJj4+zRY|yV!lk$ zG13wfQ5j*sW28>(@em8QCFjx)w?87F^;7#;J|FACC@24di|b z*dVMeg6P2disdsE@2j}(*=gdr{Rq4w zY8*9O&0Ov~$I6b8xl~M1UImR1jnv^~BpwSxb z6G|6oveGYKk*67<$2RR=X!17UWo|`~|<9K`;xO7+{x>e2Ci7S6{q*aS^8X?7dAVSRRCb3IlZUT>|$C zS-)Y=-@#pDxYUGWK2%@r!CVF&Yf&k}Zf1IUua&(wxK;XKUbzZ9Rb9IX%q%>;A;<7Q zju?v^D`o6*b;y|HNut~srrEZ*IyuQG30M4o4$cex>s^+2isU^?JGc2{gq8;p$aFK=h8zbRmm0?@KB zl9q7QO*WReor2RwwVpH?C6m{SxM#SpgDkq|GUr)e>F)X*FYZ8v9GB~mN1$brz{2e! zj6zz9gW^l+kkTa-7QmHRCHuJy$&QqJ4%eY?W1af)bwkR*2@(7Q0w6(D(Bh=}4{SuT zIX0|MG679QSu3l!P0yO}mp+TAh!{CFx~?1a_`4>jq3;6pXp?mW8SMpE0e-n#-b-#` zuNEABls&uGSNqI1##%r(gx0yAIaMxJVb75YPi@HBAvU8WNF+M`lAo%dI?&OARG4HV zDzLQhHsq%rxhh@hV{yVC>7eWX+@mp`EHKC1HwW50H@jl@+H&edcv9LJ!VcP^aM|yc zVcbSxMue_4urPFakr2>~YsAZ=GGy@7>>66Bv%hYnV&?#D)Jxmo#yF1Z#|9AswHjdd@-^x_vHbLQQ_2mO9o@flIKDcWQ>z3(~Ul@=$flEQ6fLkh+Sn=TJV@kotF#g!8Rh@?Y1gzy9|i{y+ErOr>uLZzVKuX_jrvHCaNsiI4i2&D1Zq82YiZrnXOVl#}z_WglhV#7}vH0#w7QW>7-qioY} z9n)`4x63@VI)E(^>ObIvB%(}g8asyjnsJ%bnvPwk1U~RT_{#4!w zsl2W;<0FPJL|EU5Y+Q;Kn@umT&mF;(M(;r*4l5ue;L}`jT-=01D>vG}8!@CiX^KqI zOQM3-P*yPtqIST<{ty@v{4vS|4V^BEKdy^}q}y`ZqF;DdL-Wq8Z37t;TeiG2>2%3) z>QaNQ)Q3*?Vea_>K-+Ux|Ouq6@son?9An>&|5^}WP;#-J$EF&rx$>y^zg zo{v21zjxPirXE*~&Er^cX2f4za$`j>MLt*|=9eL#`D;RdnS_L&jcux&UWzgn zSZEL1glI%TJ{@?6n-M4MzL`&t-?r$T3#j2zK^qS`1$NIITr}k<|o^%#ea6O_q(veKN#_l>9b(3it#Hoq-ZfuGrR1($+mD{|MV5@*0K!+9!>eSyQyA zV-K9aH!R~1a2GMyUX)BWRndzpJfdrNy&A>O%6_^b63BwHrIEdjn2~drRl<6ZG%O-%C;RxV>NvcD@2U7UA{RmD&DZygOui2h6j6-Em}Qn- zsI}EotiH<5C~)8vvE@isTJ7-!!;BRgk{cTy%?4^3TdK%>hYvwGB0>p)gd>tUQUL{-ymU&8?9 zfh9(|VMAXfcMTG!s!89I<$jaK$#QyCun zDo$I;-&uVKl52XVOK7{CD0udcX7}zHqx@!}`>(D~Xou5U`FAhj9sJ)VgzxwJ|6M=f zpDqc1T^9c3P*Yl$!BWEdoLUV$>9e(J1?QiY*EK;+@>^(Xmq$izGs){P;X**wo+>~`=@zIyXI zIuC}k*#^9ZCi#|_oDV|QP;IJ$;%G`yi%RXYQ#J@X0bgIJucah7TtU6xcn|5?pcqD? zK8`Y?1ZPmBIbOb3Rc1ZXPc}vo9Fmirm}!+6@RZIT4XfmZ=2NKn1zkJ`R!wBa{%D?o z&tyE2+7{mo(!bjON;(w0zmIt19i~98oK)&b&!ImFtLhd%rbiw`(4T=!2`x@yv(B#` zp6N!oyf*oh&6OogCxcG1|HS0@^jCn6tKSHEjj<3oG&2Q-tePLdsiIEkB+Z7u^@`6=5!Kh-|?i67CKtDIeq z7Y{41NBxI45hRm&y!AOx#7itEW*Ng9#v{u`hmbThNkN<>W{Q;(Bxc4svM`+H-GF&1oEqfTaO6U3LwwM^&3{;Kni3yVq3xFXO z$X&B?jfPDYFvd;(#H-Z`T6a|*$)WZEFoDq055TJ7Ge^2BScVgyVZ^%mBDFaz7u2cI z7n_9IiaaC0A|t?-iy8zxYax}(%YSv{?-3K7N>I@38wHi|gR&mw7{N&-8xCt{51T=2 z7?Ppa-#QCJW5}B;eOhTTfc2k+9<+9zygsEpQtCccwiSvq8>RK(jGVS+WtKj-Tj>WC4MaS^y8p-0(1Q1EHUv`Ij{A;f}gn(t8i5cNkI@VS7^yr zQbVK?r8SUrX+~0DeBCsEcOb+W>SC7TDo;DyJf0~VQo1^~)5IKRw>`S6TkMlh@OYJX zwugs5#3zE{6XNux*mN%&e~L#WVacKtVJuMEadsuZcwk1j$=Y3^G_P-s9K+*S1?V$` z1q6u>1P0RG7wn$q3;wM0)<%IJ-Ci{xAsQKSnTZ5SLm(R^hXM);m{>C)Pz=ra>;wkDYD6kq?_Mvq&ta3?(k0UjPiX;3Jv7@Ci6+*c^;vlptiL@qa+HeuX-B0N*b)dc*EuXcQKvw^)k{3QYK;F>IntJ0F(z9!5mpp)-Vu|*W>5@sIL;vP zcU#~=6r(G!qQcAa^A*BGLHM>QlL=$(hojzQbuA}Fvw!eTe@feUx_8rOavFoCHHO2o zN|xS2Ma|+gSRrR$<_q$L#egT3>5MusKUN@lyE}!$AYJS?4=d}o+J{v}tFWVC0?0>e z5($$D!~fjqH53McC0+-(K4^S zLdp#aEopLc?4FT+rX<3G=Y)o^M)DJDQFj)6;tEstoL>ttp;EH76+1939|V%@kbcTTz*S`<>iQ2>u~kdx4(7dtl&&c7{1GSg@3ES z`#+cl{L|_E4bA^k%qJ>p{G~tmS)}2vhN?k<2f6jL7S)K7Ks$^mh}W_tO?5yJ*Rf4n zH}^d50?DsC6in(T0ljWD|-@|XT|^m@CnL!}L0y#vy_T@<^iKh5>= zn%=Q<3GPrJTZZXo?5W)uRy1z?>AY(-x^TvD;^f*s%MPYU+#JE)GTL^0$Fv*h3PE=q zX!{pD_8rPeCN~9`tsp?_Pg#LPs9MFxc}cy+v6J;G=A2B_txRghvPk^`*=?8v38TKB zOh+^4A{?7k6#f*NGnuKXcT}eaQ){>tr+JCr<-y}e)%^p-bL2OCd?%190~uZM!$#^e$pIP1&B{6JYsCX3*yx z!w2fyiKvxZOnwj**6xj|w>U<(1!N9*ENx(u&Z$XCX;zV3D)B9{>$ocyJQ9|_*q?5Z zMAEG94L|K6UM#;P)kFqml$)lh)HH&5Ao8IeOsc$zYX&PmK#@A~5K1KFa;r)-#gn7~ z=Y(Z)kDiOskSiC)4JE1vTzusH??HCcK^TAecR0ZP+uQB`u0^A)XX*4WuO~7U*RAJy ze{x}R*wMgB3A849KoCotW+cf6$UhWPmD=m59D{>Xxt9> zm%Y5(d4|DFSlhskqa}j#GUGK_NyDy~>Q)U>bUg2|YT>1uip$@7>X6N%=WN%MuAqc3iS30H z2gRXZap0HY9HJ0om)lh8|CR-{$$GlkMr>RwBXkQo&*e$bx*3y$Gop_wA-99}s6Se< z?zAp3TinBBOvCke+i~N+Y~utM)Xf>vos^WM#+)9{&>nhMR4P%B!uY^f&CO8`q{4=1 zq;Sl}zhZNPV0TD7RWYPoyrScYPwzo~Eg}O~M}RU+9}|WJp`u_%vP;ZM%3HC3UnJQq zOHn+;tWudGrBX}el@M5Fpf6eoFhg%9m2@E}ilkRaOS$y!?Z5LuIyB%sftLYPT!^=m zD@Upn5--WR9egOsV^)n-LN}@2BhMUn?Dk_`8K|69TSg4f=w}b}`R=!TGoqKZrC7fa zYV-eN!u}hf4*xMPR2ct;CK4B7u^U=)QQh`?R1$aI|Z~O^Qt-`^Hr$SvZq`U3~YhwT#5J*G#12 z2v;Y<^LPIb8c9IdW~5|6x12mR1S1tJH@8^e#t~8HA9ir`qVdE> zKK{xAnUwc3O%=^2{xoI}3RAPnc}?rJl-@xq8ahQ#=RIANcxVvfCIgvDFOCz@E<`(o zN=^tJJJ|sx&?SO-?Hs1$Fjy|7%k`U9b(d^sR`0%b?|r=^pNGvJ>;5YRVgN9oPNuGPC5-!egOp zw(@x!4a`^2h6CjK*(4FnDTbtn#lshvQ#75x9%-h0IEwCeW2CKhibEtq;|brfH9y@W zzHSshnJ0+f-$uo5gLKvh-|c*5YI_`U6Tnl<0a^EE8(sxZw`TJdVF_ws)?Xtk9u5nz z%?;%wm{7pY{H7HxJX+k`ONK%N-8EaqQeZZsj?lmuk;Vpe{sQg*5RjJAH*kUeEpY!^ z%g(=F!~DlE@gIn7^nlV;JWPGO%Vcv9v;X}QoX(H{)i)rO2pnAW`%e%^EazuF8KeM1 zj4xeiJVe;ql00f-gZg@-aya;d-$$|%6+bU(#d>AK<)_EX`h|15lST8owU&ny?S(qi zTgNt=!yiL%tCbI>REMc2ucMExC%3EZ-sNqd6RO{oi;R3|koECg4$k+F8%d(mtE;md zq=_Sjj}u}=455w`TU;hydF1h3EL+Qq2v;zDie#Jc+t}Ij*<#MqrQ2)CV#6E^?i4w6 z6s(28{E++ivM!vBUeW?CG8FLJYnkAAvU(j^J4=`dCx#syZov~|lIpExwV!Q&nkJ?>!pUF}=h_>^)D>K@mxMCQ%#{T&6_2=W zdk0SxW8IE$t>tIO(nWEpMvz@&s}}=xxyA9q>>_$o#1sX;jhUDGToWMMMiuiKeU_I5 z+a{H5#T;b7UP9tAxjFoO*-dPGj1>0IANikaM*0#<5Y)q|CHYG?sB3M}i$*r(q2}qd zE~}d8fEfKtR8q1W>Phmtxwf>jx3;>&TdLbS31=zC!1MU@^sP68B-vBfy7G8dH&aD} zc~Mi&JJ^+e5$G#$>~-Em85+x6Ebv$KF!wDrLIWgDz9=Sv?^D*S^DJaCBDm!*_NiCo!!mF^5?R&U_NlZuvsIA~fNG)&V%APln-(ORP&Mqk^QW9! zL^jL&CPsd9_xye0~P#I>PoPxfYH0S#Jz6 zx9>Guj9bSwLV8eb_+mpUGc;CmWYr$VhqhCBqP2sI+xQf9wYS%jZpKL40%|!e&+r=g zqjr(SLmJFSIAktAG(A)x4lG%xn~Y1tUiNn3eg2lE%P2sy~5g^pAkn_yuN9)1H^b(|C>UseJi4(FeFea^6W|kc4)&OzjC&Ju`&R{5af>{^04T7FZsn zXAsb&q-b`P)mYr!aINAR_bAxM=7F&J85#H$Y{TGLfcXDW_Rg`rgkigG?RM4fs%^Vn zwQa51wr$&Xf3s1#O~1#)2;*~>0Xlk~ezTosmqz&ldFQ0|rpk0qu(BulYSHt^f|>RmmBgH_%FNEN^doJY3vEy7Ag1 zxpYOHq60v;HFQK<-u?WAmx8bYmAw|7Qsi)UrRJd43|MN@8ZUxWuV4058eI}8)}4U9 zMPsnQWn6~=Y|X(8)?2y}l&r4SOoXtvscAs)!l^Wm%&0>U<$86_RsyvOpqNbj71#2Y z`EPUW=Gd}-$dt&~sCsXsuF7y%=Gw;+l#Zv`PT@Tdjgv4X?`+Y{Lium*3$u{&m}_Ak zow5?ZM4*KSo6efG9v9xuf++yYg6w52v~;e^Rw%vv{42L0H#_osiFdvEry2UGd9YKr7G0I$|1YnO1-pkqdu>^kTcc` z=hvQKlQ1ocd$p>#w&ZOm7=UNPd@X`9Q+4kqwOU7N#Kw4Tv;{}7UA{`bLYPn0XoH{N zEyU_nvdlR>(az@RMrP>C8<|d95axpJDSKxH7;-5?D!?HOF4&^U0*OM4pMxUQsw_V% zE_bw^?1wOznr;l@%_d*7lr0R(3b)0}Zkg^()s5Yyo+O<`*pE<*^avw;eEn-!3Rxjj zUpK#9V2gyv=AW;q(Y0P=a|=T`v%%EO-9h||B>`lS@2JhC$kI1AS!(;VR=IS&zns!@ z+et*;S}Dynyrj&UEWaI0KE+jwU%bJ!icCN}o!vAB3a+GdW4?0h(r93Ql#=4Dp0}}? ze_-8ED8zZ6PNrve%5C#x*{W~&Nyc(3U2v)NJuu>tOgAf|*kxi&Ov2PaE6e=h9T(^R z{VHXh7~V&`VPv~q{AzH6$uV_E_Im*1%&;h~WJTB~6*b9!Wx8@S^(b;P>0T078DA~! zyb5UF+q)77`^c)7_zu6!GteSe@U>u&#yJ;?XBo+@YeGogJHV=yqeR_=G@Eh;;^hE) z?MNxb<4^lr-sm4~!SjVEB8w#P>1DtO!s-^40?>LeCGVI*!;bl|=uz>a{IYexd0c;gd`G6XqfupktccKfbuacwkeBk` zA>`UXf|9!6yE|R}0E%7;X+b2Km}n3^J(k=Nx17i~9(2;{2M)eiG0I%>)06O4tr+*M z6NX&!2k*C1Y2C;psDzb{V#}i^Y6r~A>fG@Y^R#O|-Iy*1hD*K~q9z#S_Kz7+G{LYt zwfqcXhh$&DZss!180x>X6~_Wp7D6+S-u(Suyj1wI)q@}(GOXE9qhe{@r$FeUJyF!M zyX9qE{+e%q#9U)zNcm@`6k9JWYPOV0+&_kE5-i!m6F_{Ak{S|sN>E9tD^nEjn*ylQ z9Klbq9;!RNOU$zSqNdJH!_b?!wA}tvbBSTFi6tiW$$lX0_vUmFUK8?{9oWU)9x&c0 z`s>01w#V%<>S0>)p;N8cTC-6cYzEXf`=^IJ5+rf`Y(;fCuv|;%k<8HWGWaJn@JhL= z!F|qlVq9}WmI=PY{kVss-FZ&A!iyPYck6ouT{%YJ1M-cPMw>t`5r}-h=3C}-=Knz` zp1D%};|BiNY{WHG&CXcVhc6mc6KHDlTtaxhuH$)tW{Uea^gR<2Yt(nV##jqd%6tQd zere3Dn%A0csxi?u?QAM)d%>7@>9D*LvHjY8HnRe9J$~+vG64QK{g-5y^rE2qGQWF6 zJf54Ee*FT)GlAxY&KD5N1#)uSzS-8nsYXFwA9I@7Ci+UBtF7pTnV+yvjLE;|1ye|# znSFd!dV5FAFjYt=MaqJ)D*$$D{(dc_d>;5)eS9qIsEh?jcP{N{a@N7=%F3nm*+)-u zjdHVx1$#}b&30R%{s)z>P4|*nP^^HuGp=Q;&?%K(J_A(v&^|U>#=ba5&?N|*zv_i> z+x^Nag4#E<;gVtlr)uRld10y9V<~UHu(m!C>MJAdq;LeUa$4AcfVeCs9)bnl1B^5s zGdI7(VzgkhaE-?#N#2>j4sSIj)f>g$EMR5EFIST@&2WwEp&b(Q2fX)H=Yl_I0HMtp zp^b>}1@rS*VMl@ebyc|Mj8M}Fc#cTUFVA=U?EvGh=t4{GOy~D;HvA7~NGLFmH;tr- z7ohkYH{cv9K!yBnWMtFY+VdUScc) zZ?!|zM*i-~=NCMdZ)*N-%i^Xx_Djd4{Eep*u5(b_rF%%Fr;xy6lWscqbX(Ez8p#E? zQP=3; z;VKAku`&&Z+jGS}Y9fA9xxI=9%~%4>FQRUA&LD@sa#oeBhH`}*&)A|P{l^knhMQ%4 z!|AD-6*KTYBY`IH#v#~ZuvoDmtVk$JB$JBzld4FQDo19Dsru0wQO>xQN=i*(YU^2T zM9thpvPK4e!tf{pF+*f5{fvU~rm&N%GV4D=Z?y(?DnU-GlRE}afz+|fEt zKzmVZ{;r@R9o>2EZ4ZzPZU+grpgT&Bg+7-QUIdX=gH@lSEdgNL4Z&a}OqDpJ+YE86vjF|-6|TLM^m*}un8 z;=dIsS9S?$U z%BZdGQ(ux+*OD*MWK^jlZLC02x~ThO-K)4%vKP6&(Q&I&C1Ch#==?bf!2|^=t#^N+ z_Hfy??PAAn1>be0XK&St(Cb7&oPaDN>w|CG3Ha5YZGp7C8cm7v4hs4(dYv7ayV~ zVB7Stj@BZhxy(;}F_gXxej}VTkf@(^F~GBQBjNp^gL}*kZj?6d1#!a(pl>Ok&~a|*IQJ%p zjtONH?_ty!hHOIm1knb5vpXnC>ai#Cs!IDKwX|k@L^>3TIXp~R3*?m_1+G_xW&Efb z(KC;pe1sPMhP^YwVoxu4&S&xMlThM?i(ef>9C5gVed4+^G7NU10AI zQya^I>2e%zKj#LP3P2o@mV>EyDq=t(@FQ6;C&cvuVe z*%4HNj7JSW#qFQ!2G~YKkgR|I<}IOOmHG;W{2?N*$!_}X zFXx@3>6OI9CyLeMN97EpRz5;`BCu%h#d)GuF`#*D+$dLnFy1LDMXK}Kr0H>%L7i2} znvFJ;drLRU)TX}SIa>I^8uR%4esKMMARAVhiXKC$;zVCd(H3?tbd5>7g_X@D-hH2X zubF21fjYvLMt-$yZXTrZ1kU~=Gx>~|0P&KoDDsgGTP(QxiJE#2NNRHKQBS{4OFhFR zIj5jto!Y?2C^mW9>(fm=4|95^JeC(lV;w&*ZPMl@wKCzYV%4nTtOZORG6JOC%!XVDd`He zymMWv?DU?ve-(Ia6^@bX$nc%Lnj=Cks#lE_rxi*zJ~it_ELV?(*jGLquRnR%0qZr}8PC7Wid{}zbMx%4C zf{ncfEVUrX`<_4x9B9uCbLMmOmcL8?ed3+g-_Ds(-9i1~5jBmxF?gHJRMYGp=PfFC z+b1e6)>5@Vq0CjY43Qa=B0@(vXK7kZ9B_A?z2xx^)Mvi* zg(zelv(pXo&Oyc@LzZhtFTDf1it{osrQ=n@qAgvXY<*2;b1z?S=t1fKKXX*^l-^t&RI z{j*6fqtNZjwKiRP%hGa3r`+jSOEuJGCf}xxsj$w=UTX!>aw&qPiPX$#Fr1DB$Z=5B z@9=$s&6`p^-v~8@*cLg}xt6aSr<1?fknQzW zT^!dWe5Ts2Yoa!vn~s1hiz%r9nBTd#Am3d`4)Vvo!!JU_>M3zhtRsvaSr#7?vIMOO zl#dols}BI!5fS(T8QJ3P#4rBchWi9+_EhEs7U3Bv;PJ4(vgGP~ZBsa4Rx-iiN5Jz- zMgtLvA~F&OiHHKH-~_9itG5ng2CEvf>?NBh7o1opORS1%bbgd}Y+Ge%+Bl6|b;?j{j1+Sb={ zeFwNNZwQ6#IXKI4zB8B%G@lgnuk$mhMLdWSp%Y4w`!IU|K$jfIBj2LHA}9MfwmA@9{D zdT8}bYm6KvQsjX((Qdq(C7xzo>FXSuPsAAU0vhYKK-!P_bc;g`bpt# zA=8=n>rR2LqwoT=?9mNSGylrrSXCA})|6i2l&!mr`|$P;i+a4sl(E_LY8#@UJ5)}$ zf_TBib`oKmh+KFBwR?cr>ZWCn_&ISffK1R;j5Ituc5cvFmPUk|S4B zRmolnlSvUAa*GGP0xQ8LS1^RrtGh#1#iaM7Y3pk`guwGi>gF!Np>N}^0!6u51i?#l zIFbs~>Sj45`v(Bu$bs0c(5zOcn$UfpKzT*WC{9v9vw^hO>5R&VP9nL)mxpCvz4M-6 z5IAIQKj#!Zt1(QugO^iL-Gfp3Ujs_XZz4-NVx}&K02exySR0n15 zvxQ6tXYTVS(wwUBiLUm#CF@n!pd|jXVo%dlBOvpK<83FKW=8px=wd>k6#TJy)L_1w+)G|^PATd zp{}cTP)+93%f#MWJ67tiBdM+V|9CmSxz%gvVfq_#aoLL%7kh54htM~iB(_p*)A+AF zist4Os;fqKtDM4SDLv6O!k4>?o4sqTJr>oqY(z(5=cOX$_w%WD()p5venR4I!llx@ z4L_%rYYp6;x#!f>Y-TR)AU??jRBHS!26UZol+IcK_g|$3sy&v+B`fsH=&b zL3b)_+`}PG)J+YRL{Io!w=Lo2hnBF{&am{3tHPBhsM`BClBL(qh;ui4UHXeoH@?Su zQ4x-1!a1=dS1)VSYg-~VPFfLYRL+7*I*=phXZ$RI7Q44#;rpd*wYG=T02b2LRu$jz zF4}IB+SO7RJjaN~3`(6RiQ4$ciGo9655MkneLMflmqtjo+^oe9^)$In_v_fjk*WD1 z5YgJx!D65n;l9`Q@%gA7z)jkQMjtpI(C<+uF$&Etc2m1MD5o!EbM?edkE? zynj_v1)w&wY)e1nR-pmNb4qa2GN#|B0rOY7;a!+Uz{r%nTgJ>xdT|cQ@QIE$ublUo z+5p7!i*K1_=9YRTzuNmPP?KdY17ClH7*i;ItP*YM7K*6W#|*belbZL8&Qr*OLNWn| z{k=O|*a?=G^x5_h9==1*U6tJ@PaZAz4RJ2kGl$16h}f@IEUJRvzmGHbre==fsqrN? zDXLR@f^On6&l0!+eB}OpAEZiczNvz;y@T@j&H+<~=dhjCA)oXZl6Zf_tB#-SlPH#@ z&IxMdZar367LotSWdD!;+o{Bl4KWT7(8WKU z+5Zym|L+b*y8k~SwEuLZ{|}D#b~!wjQqp0kOI7H<@3rjll@gX$y{l zY%EDtW4tlqJ=wVdgvNH$vTn>iwC|m=QwLoHTOfU2|BLa zbmg*aDyrAKZt{~D&I{qbMk{NW8NYknzxh%ltII07PBomflZOtchWL%PpV+yRWq_}I zCg~*4__bX`IQiPmI>;tEOr14AvY-N1PD!*X-8`r|78gp!Y&Hf1lZp8%D!kTM>d$4* zB^YV%;c%WO6FhK1;Tx)LkYne~daC78-!9!LPZ-9jMkD$Gl(SLzR{tUdK<@yrTv{#- z?MNT#X{-(&w{|&b#%lcLzFB=tzTV-wBksJuZcsg!wx*%8<{y0q?h5E_qZ5_ZLt5^e ztUu{Z%)M?uN8(xdFmK(7OGRkY$Ytceg1&)NEfA_0eu?dCXs98tc#&u$AoBC(#RM_? z@S&M9Q<6Dk&`!vrs>}&!#hXUb(6?*Vk^ZA<@uFZT8U?JXE-KA!EgEilW`0|9tLJD- z!|ECM&4t_M_Hev^FRlF=sfnG5iT(R^dwJSXXgXr*ivnq&c6k#y^D_9{JX+0E_hF2j z@BZAKMt=ekAFtl*Komi_%ScUU>IY@_gM0`e1woxH>qNT}Jnp4+=&z--38raJAI1SX zaRv|4KJKNgYV{W*vZPBD=F3rAqfmOeZ z;VAOcuct~as1V_vzy=@+?w>)>>VEG*4x0)VYyXNU1Yv<`v#UpiXctgXII(K~mI+ zh4z6*%K*4x{x1)+B23Y`OdWt>c-Ex~QfmJ`phn{~(5Am5H#9k}Ws}1Lt=U z=v}BbQXki=D6ME>h6ca&k|bTyW>$jnGLsh?ElmR4%kU{ZmtauwYhh@=@#V)%HJmBU z`COC-ctwV8Yk>`c9%>WW?2LE7(v*5&lPa>Ouy{4dO zD=ISeiacDxEURWtsV*khlDS{B$FbjTumsPc(yT4BSaJjLawIEO)-4aHAOkUbsM1%^ z{mnG3y!DH!EO_p?j)OmB`>aytAUZjhG*E*uY-`SF%|ff2BeJaLeDN9XQUpPCs)G~l zQNl1KSio-WhA8+A8c*MFFTQ~%MAm2{VJ{R6%iF%M$yC{dPs>_O62D!I?ySWTx0ql? zKlsECA+i)ah$({13Kkj=3ib#|`1Cw9ed`~IF$YxQxF8kMC-g-^G>CF1&vT!bp8usE z>Pa2X6=l^JYqXeln*)!3fP)d<2N0d-=ZXt=s37w!9dtGN1%i6fN+z(t!7<<@oX_GhXm&aMqz)@ zq^x|*$&u505N>PoH(?&+jzV$r=eu<~v<6CEvELV1?U|s3SUSb+>Mml&Zv{3vNMdlu zd=+#V``A9mc2LDV!1Si~U;CBc2!YA$3nN7+NjRsn_@D>q+L}IO2y-QV^DDY16U_rE zU|QWn?IJIz_X0SK{ zqp&}|L@pmjuj)u`P5H)ovMlg57Y6$^P{D{#lnlauS~0+3vfv@{iGh`+Os%=8!yvPvhSs`b%8g1>8y3VpO0QQV}EN;o^ia4F@o0!EU!^qVvu*8yz?SEuA}%oF*v@ ze`cJn?MLZ9f<;FaRX3l^+Vrq}9sWeRa;0V|y{C`l+QguyY^pr?t#?u}~rh$`<^f2Arwk&3O;Mhvxr zi2}zH9^`k^LHiNOV9*j zfr3FQc~T$}B#F?-1u>QsyD!{}KAQU}XgQMhF}U7#t3qABE2pHa9C3KZhg~OuGZn$@~E5#mR9p z24dpZLMscgqmgDivTqU=3MQEgvb8Fy2hs%3;lO#rZAj5^_x;1XlRuWLROYQ72&a?* z(<$qY*%^HtV&P+cV1K>}Dv*)q$L(NG=(B&2xcX!6J~ z3&B}wo0tr@a=Iul1uq^e+=RUFiNRoIWOkdnxLm$Dc`|_}j?#!R^FYk7HGq>_v|dK2 z=;{xNPqqB;tT|ls9 z{xA>bs62_9yXrF+pko_D#p!i(R_=ozm7K7Kkz8pI6nJC|H$pUW?Hj8$fC1m38!AdQ z4b|%6I^6eA*uJ#Df`YNYnqWC=CKKndQnx^&yn|WGSQ^mH&RF|*r$L75KukWGM5cTk zjJrAMQDD-3KRRnDtL?`|4M>^Ye0r0ggPUm1p-(nw6=h5hWH8j5asP4CXdLWMV}f|d zGCeH_5?qs{{DvY7WAh^3^EAk5%#M^=!-A!>9Z15Hg(HDCJuEGK#1^oX-!m)M#|9lq z;ov4e9L;Bkk3KUEI@i=fNd`*n*DHThdin}~=L+dQ8U6JIUBa$3$sh2Ax>7G76kZwF zfU`fJboxSv0Yl+|)?2zfU{|1RHX$4QoK*&!fUP0|8~LlVv*^=_Rx{k6wKfA8_rQ?R zuqjOxl1I;7;&V=H$)B5!09y3#%*i3oZUzqCARO@VZ?b%zYh%d1Gw|r_m8k+7>2}~Y zbHQmahS~|W zM;UEQf`xWp9X2Pt5zrl^J&1zEgHGt{!!*iR_j%$CfdU3$rw^s6VUj&G{J1IMxljA- zLYv3{JXH*TM1QiI|VVlZ?B~ zQSm6JBVS?lY&-;uzFQuCZj*=bd~^lbl~dxD0Y1;<;=T4w8Cr=}h55`P7rx$1S*@dC zo#1g3^m{6O^OEoxOPhcbDKQMuUfyDOtRpS?fxuqd%Tle~FD@@f_95d&`;eQa_|ndk zM9ZBnV5$g{rvIQS{jLNqehf(l03}(NX6e_M{{mK2fR)R*Kmhp%)6643D~+%1$b99d ziz{rM73v%#vYiapE92vUAux-Y9S{zsy}H9?IMrY55oeP#(&GEDKSV6n>cEOgflaIm z=ngX<9M~|cSfltRp_+jKnl|^&&ofIfHyv5}`{LF0$8y=OkaQDku5uFOdeas-FsPHt zwz8LWlB_ccqeVe-n}TP2vPNn$5Z`%o%}z5lI{gYg5q`{+Nlgm^v5W(ahnTQK8@LZ1 zbo;yL4K_@=wiVbV@nP+-6x|?<>Mpx;JL@ zg$iNiH_dlMxj1Bm@{X!R9A~dVT^t&loxmKCo`*S+mX0em8aRL&+`qY0N4KNzT#%aT zFc1Ze&8VQtUT$!06FenU07zrZbauO(>g!tWEHsOt7iTVf5BdwBEIQdAp8J= zYh&*Qjf!jaz_|PQIq;@#M<&u=A(k%n>Wb9=<-~A*LP^@=H70;u1G#|`^)3*OJ3Se# z%{Hs%IcILIIN*LgoSzb_AcB^u@@!>k0WNPcLuwOy{~kMj+W~d0zTyPyN;bKrq%keu zjna``BF2MO46N>X?o|n3M8k30jy+eg1l?jJ_LnOunFQ3{i4?9{k*UflR1`mxod)Rn z*NIq7x9@ckSY%4`A4<#|Sp{YJs=z{+uz2duq6`_uO5Q%;+4Ty2!S#)ZSEuy%-vi=a zZaaqwX~JjMX{rY}JG^9yZHTpamJ;&8c-*5m~6l6k@-H zO0%@!Q%!@|xGau%gi(?8pajFzPM=F8uh5mJ{I(+{qRV)tHOE`YqAYL%D#x*|%+hiW z;m#JJR07h-xjI)QeM7Xi*v9;5S&@zKS#XlG#2%5(s^S^~6*7vzm%ri9_i*|5_^$n{ zkwFc&bCz~S3!x#rAp>Cdy^_(`d7!9kHC{gJqe3be>tF6#yZ@nDWAzo!tUa$^A6{VT zcu5mv2l!D;$({Nw_tDkzK)2q95rlKIB!&tvh11@#?njIrWkj4k^V$FEmJOz@h4uYz zX1YVV()YqfLaRhYYCq&Vf@*q!Hc(p zBD4rok_3&_G9nEL100qHJj2^4<%jm49HkMQRvbsS@n1NDz%LuDm7#>5~j>YKl5?^J4B(v3NK)s1j zFaublK{6|Kaj#U3PHbfJKv*Z-!bfx0q0h2n|HzhX7_}2A&-~U(^Oui4Q?rYW`}Ii^ zn=|~!L2{0g5VM2x&PP;WV1Cm#H=)mr{ebvN>0e=AtAM3+ba17f(fzVr+qqK`z>R-M z&%U)dfv`Gzr_?CRG6t}V!137c$?a63>YBvY9<8bph68q^0x{r85Uy>||HFk4Z%m!Y zi&P8GmZ0NYkUdCAy<)WPsdUMsjtdx6h%hwws;!I5Ef@`W3`m&O$ZJ6`X0B0{KFd}(A4D7tGfG3bY zoThH9luHv*;KoC5yzJ&|4`@;y3SoXrsIEHlJ3Vdx|oo1(L>w*)O&#Y>pDM%`e)o1Jw4KhH$N< zVDiY)7d+ajs+?Fc_1B4n*)jo`m&lc$XDSUm}ObZPT~aS@o5+eq51S z4fg1{gv$^=;fb+;&vHf>>EkLI2|~7n=WBCaPCB9misz_p$7bP3O#jCeI{Tj_S(#vw z;MU*ze)%{E1{6X((BzqQzvt=@^NRa=kU`t4&z-lj=`di|51Y-GDK2bgU^%G^RY!DO zgJ;!^*?wx78UUFd(6S9!2?!vc@QFq^-*M)zi)`CZ^9sawZ*HbsQNQRRmAd24;WRWR z@4&X)I_rg!Iwc2Qv>T1AGsxh{t%*cuXV%O#QBHXttqUJ|yJY*{I5(wMswF8>%bUp4 z-Y?VJWu}}#zNF@P{)yqk$ZK*U6lr8n^c4h7wT5#Xee=UJN;$^#_^^@X@5c9Cj-L1oK?O@)GzmA~JB zE;8jg7G1iZa_x>#vq&X{GrYC>TJ*3fa4v_UWJ+3ZDBThG$jez{LU5UZS^VNJ!AKXv z0rS|y_u&BBR0(wsSe>!HOS`mahgYe*R(w9Flk~atXp7ZJe0R%|^{!1Vox7d>Dq6=f z^3Y1)7opIhPO9cjs)mtKffUV7UJj=izaK`jLx&uU4x8FXj_**3muN*eO$;&Y2(Nt(G*U z{*+)9#lhJ*D*h3SXOd=mSq*FUna8CY3!h z>j%AOGxWuRR$Pd2LEg+{c)vSh_}4r_Sig1;9}B9PR!}c~*e2d?EhC!_xAioeyRoaA ztT8Gb$9vlH*DJzMPjOS29RgoxKDy5M`z$GRk}?M9xJfU6;964SKs;d?3aYsts2ZtX zAnA$QWkquyU~RG(6iyBYTp0V~LHF>e;OVL<@eE6=VP=HSniErIUVq94I9VPNxb(LsSPEwkf0}Id6q5) zqBLtm$r$^yP^sP1*KN6yybT&I8C zmcTy-CpQyE2d2z8ZXbEd8zXw<+-4`0@4$A3uvm7`cD~ME{7EnhVF0yv*3xniF!xKh zsl{+1IIP@kQx2nX4Wn5GOYdOW3Nbm@i)#j_^vThFKZu zKlh$9=Pf|Zjo{^S4)_Nia~)WcNc$ddoCVni8qEGx3YGZL8zeRtJ|=iEp8eC&C=EeF z&|9Nl#>XE&8y1t+K147#jp?FrPKoxFHVC||262&E*2>6kQr+gj7KJECy3&BLD5u2j z@V@OvKQnm?vAw-uw)UZosCr&dv$&`xL|p(j@7_YP^ONDhOtF9PBDw5)l;y{Yi4OZ4SaTV%+nuV42oKGyxbYD$&-EwPZ`a*FmBKz1pW66Pb@QR3 zwmr}a2k(kPk`s&_-mFTRmMhPQAEaH?KA<3?Yk{GSmZlbjlB06b@$}t3jBLShR9Y|O z0z`~_T}gty(eY-#_9VLJuZ2DcV#A#{)TdAY9{udt&sz79@oqqE=2a?wg4e75)DK%= zK~0I_6n~V4(9zl?cJ5bl?hU2Q{bvXq;R}b8cI-WU0k2*O>CQQRf;MWAS(=UW1a$p$ z32xj{Fy-v^yDHfl?Huu*A43sb*xka5y@f+-Hf`(fiamqIhoj0lz={3=`Cv|db~k~fpc$* z(X`B4$Edo9;F+e(&=i~410?e5>-1T%2mefRH~t&Gt@k^`GN?z%8UAY+@v>O0Z_kO> zS`f3tBr&|ia$pC`2PB2uVjb6Q|Hz!iCjg}Aw^-&ksN3iUq+Hz*N_ofvQQ=|(m4O^S z41zYoB}VtSgrWZ2yjw>}!D-}o)x69qG$cNx&Ap@qWJ;GR(-uF?&*|0@jD`IyB|yz! zIPS~fj;}TIb?(W|IH|oI1djiXpj{`orB={cbLq-bzG`sgVs;bg)vSCmK)X}{3ygX> z8GC7DQK1r!bhhS2xw4w9>D?K0$l{J^xJz!TdZ8xdcg3PrkB_qoz&J`B9MWQWrMJ3S zhGOF{EsnGgigAbRM9C+zTt)x{?M+Wh-E^0W^EK<4_Qh!}%7#smqsoH#$@}PI#r8wA zvh6%Twj#qf`CcWnwPNYUwg`gw*SzxU_eNw?@|Jj4|CpJC8n9iL)GWB}UNJ&kxeUS( zOvvAVz8=hN-RS<_9`Y}&b^y+Msm;()NW{WYn$5}wrR?=tk~PSU6&*6=R|ns)6!^ub zm1&%6@kRdiU~=KvGi@%bMBCc@(rW@sH%^9wq=5UnWpX#?UZO)2@nk3O5Z@y)N*$j@ zz5ky0vBdniyW!B!o#j~8S3>eg#O=YAO@J2~iZ%X)4AT_xxr|QvqWSJlvFwq_BVTOA?GeN}g=mkbgm8|g|IK4@ ze=^98yxHQGHMPz7fF=jP4(oQJb7_Tr!lv$0cImw-+!dy|-`&3TU&MG1k#hTHmWBEy zFPeHh-xAu{d6RLAfvPmwaAcOWMOrSC3Kl|Lo66f7%4K@gi2<8g)L1%C zDRI17_Gn?-_Rhb?23l$ZweH)m{}LQLiyvxr-X-c{>RlgVqo$&5OR{_-j(J(m{kn#1 zAE}T$*qCzD?FMJ@T& zH$XjWqvVB6k)PY9tmm2)+chLo%r0HUhyx)lzH20>fzjHT1ygiDo%QIqmszirJ@CRHw9*0j^Pl7Z zl79RVP<$XDs*wNLUjP4KINKOIIl0pt*xEWdIyvau(W_V*+9?@3xEMPK{=d(JY;8=; zP5;Z`TBWLGi=%@0ExWIkC6k$UY(OD1?^oC5vYGNIcv-S4yAZ?$y}OuC+tSo!&*r>h z;;oHJ^7|E1oQL4f&kf{GmBbEAJdFJJtBhZoqf2%qN@+@O%8SEs=09FOv*{uK&)X3@ zkmKroK`f!kB67*}n@xdw#T`UTqsRVsp(1aMmYfsy!rzJIN!r5w;7CG`0I_z8Ytn6h z)7v7rg*){NY(g1vp9bjk1(f)&}h*+K_a+!`_z0s`Qe- zGDcS&pppoFdszVun8r{~sy!G7L07bt{KJUK3;}<*JD#}MEy%)|1lO+2RWKrX6FZ(Ef&_dbJME zVq_xc;lTVI;BmKnYPU(j+9wC+YCb%aRAH7z*eA1b7a+Gi4U2;LE0)n`$zsD_{h*V+ z28v$~XNu6$+bMn6EN%oK?k>DOyEFAtH+N0mR1g?Nd?Z|nIdp2nGneV(+Ac}}cviBs zh>XEZY!HR=47}MrH^vceD#`bj&{{9++lQ*vKgS4{%^NsIDxOLbk%^fu$nihKF-75J z({(&O2Wh=vyZy+^ulrs=d7t#- zs(sqHq(_k`9$8EZ8G@J-hJ*@T(>T)7;t^I<-VoqKeFq(T3@d}fOFx2sn`gusMZi0b zreWF#anaY&yX3deO0c>UEiDq3pV28}a03L%73YK-U=4K>odlb6eMC-uoPO=`3Okms z3vQ~|?A2qpuJ=DpnZb@NtIFA`blJMs#<}w~V``Khu_76y=%i{}e8JfNIs%$TYA#ISS=hggj5 zYu$T9a4U{-YSD;^gYO*h-7!Qwfm=TbCHNrW&&l$VXi%#cB6y@SdCipI~yWilFN#4Dabv+NKt48@w2hN-?k=wubM z{@|!yb(3^^ULSFO&>7#QSR=N=kZO8D5f@k1WfULChTbR^)AH1lqno5e-iFqYrH&|H zDTHot(02LG-GH8xFTOx0A`h(!VZ^mE1d;AiCsO;jqqRuWs@>xrpKGdDxF>0RhCou; zv0yss0Xe3u37e-ei2n=d*up#LFV}h?C){}>;}5A@cQ!3bk6Mk&63u3b1dAm^pTy+2 zYpZy7s5#8A1@hHOq6UqmSQ&2C&(*%g?bq-$x!pVi8mkBofJJv}E8=?-q9l`2fFxg7 z)rb-CT1n7`xJ9upDF)6Y7^D*`u?L@V>^o|{%85ZFGzz)3Jgve>c;cCel5 z<=e9d@uU-my@;eSQzvU0;eO-6>1Xm7T%C>p3f|ThI0t{TQLM~}|LL2+Z*|mcd%{*E ztrj)!E=sL_gZWDOl_X=+TfSe4-Y&moj2gQwnN+0@gZ$#`y&FQz15S~6EJ&9x@PT(U zOeWxiJY`3z0C2~{tB&ceQWuQbAdn3@zuow;Tgfe)+#eX+OSyJ$znDWu;Er^CF#YT zi~Ncp>Tb;$GptU3`IZ>+@0Yf~O|+utR}Maw8OAO+OZ3#&5N>XW{I5Ot#$TFkFb)88 zNPoEjEn2w#um7CTxTI;D4*$Rrz5hqRB*T9R*ZwaiGzlXKcc4zzM7E`kwg;~6p$%)ug=Lk_Z+sd6x6Sl`w#Xs!$i`lw*a;&061^hnFVXZlTs@*x@8` zo@S{cy>b+zV76X>hR0Wui=u$vy zK7oKcagEe}W!2{%<_fMmhxv)45c*L}3BC=_qgk(}O~K?d;hK^D;K{=E+_=>goAqGt zm_np=Gu{S`&Yp04NOZCWqlM(oCk;Z=AbT)#C}Igoi7Rj9yAOiC?@nb4-psr zyQW)&nX|l|)cVtT=YuRV!<22k&~nt?hLs!}q2GKk7#vHrzoL!CH6WZRU6y97es+63 zteNw02;qT=FHoQVVTWoVlBXKbDrs)>qRsLSwy7sS<fM8qZ+H`~%8=s5%Ya16X?gEsm-GBe3efRh|D=i{rmbP8I8a*$k*YHpumH zR>2VN=8b|1tJv$Y%)SpI;T>an!@}vnbaB@H^W;vA?Gy?C5?(={O^4~i!mp3 z5>2wpR;H7aQ*HDoNAA;ICzrW3e?Jj+VY=ty^eDLgYS>ZcCb{y;LCm*k9)*6mR80R{ zB)T`(Xy~j(m?nQMH)N!su2U+=9dtP6>$FeAu9=IB7ocHM$J(%FK9~ju{g2Qun{ONm zD`ZBjH|vE5RJNzn6$H4cx+-rPiw?s5^u0ztr@3m!ty<-b1&elI6^mDZL}fEOP05U3{j_;e>A5YxLDxI*E+aD;uIR}@idH>#0?Zf zW0>K_3YhTO@cP&{c5WPg{F^Qu>e+ZV99n306fUMsBy~^%krGYxYZq{&SU(U@&@l4Ed_f!=P^t3XRW*pM(j5rFN5U1i)Ggd0RWq1P z+1O8hiV?Nf$PJ9ZDS0>6w?@pcc#Sh`(bsXM)Cm$)iVie_jMb`cp1~3g|39r=2RN49 z|9{9{*_-T<>`nH{-XnWG_R1bvnMpQDLP%6*_Rh%23Xu?52_;cP_@AfV-!D(;O~31Z zy6*Rt>+19Qp6|ZTIrn`B7TqYjKaXi_MLLJ7bEDu*6{+}gXZe^Iv;X*8ysp6Zh)%4t zwRcwTKKXF&{r>R$x;jlg>A@SE#7@g^xfp;e$8t=)EArbKMX;~Z;M&AW-~(z3=>@ND<-6KBSj$$~nls$X@L(z8kK%d2fY0ZdNw@D~=N&e7iedA~SG>sU z!+2^GmQ3KOfo~VIDIZbGQv)aue>{K16m*JX))pKeJ?t=Q-R=mDZ|`&*v7;eXrpLx1WPCC3u~YC zsha@Bdw}%+YWE|+I7PrcK>FY zYY&&Ks))Fljw}^@m-kAq0^<_~`#B0A1fknDg>e;9s0r&e*WD1v^VmP=u z_+^LQ8a0vE<6ftW7RTl`Hb*Pizq^rSf354&bd1}$Unf3RPm-0JV^~9hgo}tw&@`#u zpj5zF^~Gf`hqlFG&$Zk~MvuZ7;x;@dACf!k)XC|84y26PqN{Bi@~NaX~jd6aJSrnP5$E(yu6c=oj6m(W~$Nd&>6yVCC)S*>i zJ+&>p9;rBGy}Y2L;*eoc5U7d4yt3g)7*teYMY?AuM^^tdi9*z|acs?Vh19|%Bh5vq zTGPkGLb>UAB+I)(BXSOlXmTy@l@eM#RSEwO;oe+bb82@#Kk~|upkl?zp*Bi5 z(m?x#_T#r$?3L=Kd4geLA%{#HYF)wdoBBc(8B^;6|Ci~2>&e&$U=UBH;73v92% z^}QCf>(Co#1qs`-4U)2d&NV?xZlV{$*-emhDEXdEp7a&&D+LC-1k0T(TcKLBr?y#M z`Q)#Ng$8RN?Oz{a3UyVLVqUf<>f9wz?znjv#XGXF*1HsBzC~bjkTyu@FL|f$?5e1j>X#s^4B0j1?>o(;sUH#T?^G@`< zFY6$G(j83w+#b!5+uYy@?TgCZ9Qqg)2X><>{&5c;GY{#0Ah^xrG^rAfQZdu+-Jv*H zt{q9GobD3bcfr4aEl1(rLs`?aW%S0q;`fGc2@2oZI@hI!&S#3DPQfeB^6ui*Av9W? zmsz6fO)oXsTqsOm@*~T~oc)wK#lG6a>6Wmh3&6E9Y0lpH?^0BaVb7&HCS9ED~buy!&n*F<9(F{{d&!=~yMQG}qRv zH@ymF!{T%eI5o)Z&Xh*9%2VkUrsb)M@QrqBK8o`nMSF;DRPDzU$ZuJ1CC~79!5&Ri zlb+k9HZAi_xVUTY+(b6o%wgy2a!27LB!L^^=%Krr%Z>IONH{mdtEMKfgsN=^{N&Ia z&Xjg>tc?xP4b}5-id5gxHFwNu;*-Tj2rbZh`pHg4LjhF;*&#`9SS7(BG>wOPaItdP zFTV9NG-1q&^RxXj@dwT~8eKt@G#m2ghy}E=S~X^eD~g&CGrfeO75L9rq>okHyfcsM z-yQYX>B3#Z=%N7bGiP73Q-?TGT-9j1+QptV=cb0clv%q_5GaBZ7GY)5yOn0lZ)2a| zx6ffp^d3)guQuFGML{AC^C4Y$8`a|Hy>-8Un_136cdT$_9xg1!+6P#4DPlOWrJW1= z^68a-W}6jxq+gbB=pp>Tqm)LtDK#By=={aSlI> zsp1rH@K9^BjG*8e-eCP0w06kX(W%&8Nzo^&YVUhV5rs(4`pxBwU2MLotI27OIIpl5 z>~eNc*wpLp7bd3N%yz{LKzANh+*HE4$P;xdhVY7*yLxkc)Z1rN7f6dz&NUnLrl1xW z2r%+B-iY_IXB_*0zzgj`d|br1<7dM5h2qLO+n3C_LMibAmg2=)M6b+o&WxuDBnDG@ z9+{~R9~%Y@x-;ktptxF@lx-3VAT_w$;eN5!5K(YT=@PF5Md~p2&Ii1HiGo||WeC}p z*LKPBD9zcZ5l8JPsy(cPlZMWYUbyl=haUZDmzRY1hh!RA6OM2L1r$-_0ndZbYHG7b zoMGNJtFFuS24r8!DCBw3bj@=ox)kRTsZAwI$pzVG?etMjT~-)gutpB*?3R;vqp;-_ zQorV!v#rCwm+^r3Lx<}7i7<5H`llWAR*t&im*vB=lXE!BD9myx%rsXWR|1ur)^R(x z&yLYw%#1Lw@+BWE1pg&Qv4Xyn3E$8k9!Gjt%{%rq<%u~@ucCvCT&KiTvr^bl8Th!4 z48`HXnmhLCI7XqTm{083CLA$r%+amgbVDu))=J?oesOzqS&z*nn4w0n99@F-;q{9~ z5eNgfpXRlhBEf*hVdVHqlDe$qrTjyW4?`O~y5Eq0HrvFA>}; zC>{}45AKl|I?PkgE?AFEOATj8(3<3WG}GtPG9$=)&=ox6izz91KrNZtI$%KOa5IjV z! zr=D6?4FYu)^;^}Fo-dM9ye&8E`rK6}hvzlxXyps&IV=pgw=nFUsGJk`I`_5%Ur#B= z!hltykKR9tV&#eDNZR{+=M~}fmX|l4+w?7`L7(Kw+~lS&F+=D)|v zS6GQ76sLMSjPdT-q$#3XDxyo89wn6>B1U;Rp5>6KZOYev zPh2tjnQSAS$YU4z@|_Qg2!|S$y;!s2p;U5}oFkMS@=iGB$&x;D6CxM*7}kWbjmmU$ zf?j&Y8L%qUVAf=!udBdz4aQ;+z!RzolUFs{| zDnSh$8RA3{G?(q3m!0ZISR<_EyrmX%lb>vIv@d$A0lQdB*+7Qs3W8^uQboW`NqXnW zf<@V=#-c9rp0fADW%3o`EJGI+v%;b+d`<(mofO+Ve96a#wdG915)@^Z(#`Z zfbY~;V9l%Cbk0&YHqY@PPSm@yogb+!)Gy!eS?VBfuZhV10IHp{dxcv4fhA{Ki+Iba zKE@mMl13NF@=z(!RZ2f$X5thNtsY8vsustTw6!k=(mb8D$f2ZbX-!L=>Jc?mVj&SS zBtKMsqmI19kAiEZZze})bZc!M(MXxiRvW#7_x89s?c-BzJe>76A`vFX-tI+e?5G5t zaS$^X{%l-oy;qAuv3C19>qt*KihVL03p+=7TNt~QpJ6+)y&nPlHexonDThR{1x~hk zX@0~6G_;Axh(!Eiy!z`Ag!An=DRa-kn-tStC_YJID#d@8JEl>aUoiikgXrlSYYYzb zN|MU`;f-KZkzm%4!Ofksr_UERg!v+vrF4zoAiZ62x=Ht$(Ny>Foy&M;*t2X-W)F}R z+Q&b5g@%ap^FO>7y%ctbH+592C|x_hfuXF3j}!?h{w397x6vC@m&lJCS$;aDB4Z@+ zSjwzE4FSm|(8D;@w>Yl}(Nm|H7Q`02$b&+%aj7~dFgVX5H1<77axPPtyX0XQzgh4) z9W_fp1scpA#59x{(Be{#uZF37F8am?O!N{nj46td#u~M`&eDs zHtthI-c+jc#$3bE-8Jp0kVpwmHds_Md%MRaly+e<(vOR2U4$ZLZHnTq=6EAl13YiSXs2SeuuT7_utUBIjlLw23dgGwz*v*rYtR=-x&B zY!6Y~eBMG6XG#p7I&^qT_jF}D985E0XFxI*tP(2y2Oi{X1gH*di+x>My|yX!g=wxf z&UkgGk81lPTc74Zk)vTt2zKe~1IL)+h!)4uVYRcVgdZHEx(eD$^(N^zeQDe=oe4JW zTH~DzUnJ6aP(6&V0Rv)RN!6}-znrlEX zXGJXLGcwI+OVF3q)|MVxw`fdVm*F^;doy>DgW|-fRO8uams#I-b}Zi>Xs`p{I_#L& z74kyHUU{&|q_*RBU)g_LZoTCG!g}uF@NSdC7F)bG%Zu~UJLh|;P9b&DR1fzOzkH!+ zDCnG+Rauy@?VGigAbv+{H0<;|)?)Ujuc?me{*Gs8Rd*YR4-Ru8g2vXjzkX#AU;0wS zCSg`UT~ySRXRo#UR^&zM8}sp`Fi)qRMAdMXotId%LdfE3+F7mg&4iO~bX}p|gQ4D} z>F(UsQwVi7{*KBxJDOGHS)=mj7wI-|p}qUqiE#z?hI;}w(Y#O{lv$~&%V}~u);QGU z=jq9H$du&XaIIqOv(@FZ(NiT-M7PB3ktC#O+ai#VMW|!Mav?S4@jS!y_0Bd!u|~+A z)SrGEOu$RfY~*V}H(d3srQDy|jI`k@C$Gyy##4sNN!&aJUzp|vt~;mG=2(Syo}2kR z$fCW+EALwnH%qa@q&g+La~X4{pwby>)W@zlzR`Jyqqz(1-4o)=*^eCFFG#(u_f-1C zDxF32g&uwSRfB;CCZ{Ujz9+RrOEF>^YZ(*rN86r5O3_wEl(jFJE@h9aY+7D&jwSm} zXjhEuYWZMFryZ15*mv`lP6{Wj7%Mv73}Gt?VNs~lW5+fgXiRT6e#brjdYn2aI4|5F zvxidf0U}j%a?dau)ir%lVpk8w9Gxo?tE1_c_Nb8u8jJ&@MjM3dGdzr$v|i1->#8;6 zRPqZ8e3hCg>+;GM2#eKE+xs|3`K7AltGu5uD}MC*#lCf76w7xZjqCM&&eWUO#wG*j z(gsdf@XbD_J6BrV;a*pmw#xRX&!al0SAW)qv9GE&LZWWha60+fpuh1zId9awYNM{X zMIw!SqsOR%LGQ$*3(8@vXhMHq7pm3LAf2$a`VNKmftu>{;kQ@aFW7PgBZFN`a(94TUrgvlprb{%A~lC- zRP!tzHeW|o3_)TPCNhz|vM=cqybn2Re148yN@pR{F0gxC+U_o62?rCwt`2(9Gm^$G zzhc&>>nyna0++P(W6K`y zrxL|23DUulRoW>kPBkg6n?@~esOzlB1Fv_ZG1;+1n6GWGGcSwzzraIk4d*MwByeC5 zSY9Q1u@hY~&LoVnADGNk8huu$?%Zy5l4m^sO$u5i8f^Ek%=FUhA(iF^tnHgF>F(=T zGZlstEz`kzjMGjuXD~im)P?9b81rrqF5iElsdu0sQ*X#ITXoS}(PB7ndcjLG0mEr+ znOH5(ueq)275ddQ(sv9K#%kGIP{Yd_!RzM1`bL`=e!F}ok9*xiv1cr`o;%88x~ko{ zR;+|X%G9VM6VFaC>cMy64bc??o{vbMBvlg*r@0=ZoAO?1R$I&67SbYjd@&Fyt)oe4 z+A%f5s1zwSgCB@l{$%#e!wi83EBCSKHfA!i8t$!l&< z+V)GD7#gK3%0QPK^Bgpk6#PbB;^QGEQq=R?TO4F&Xjb$|HZl8gl7^$vk=zii`BE(} zLL5~bzT<=vD#%cJ>4H{1t44LvSU0zXuD-0z^u24J!Gcej-}Gy`m!53Pt=Dc7Qr>sG zT0vcfDpOdi`?_UOx44vyVt$RV>4|9Noii5IGv^=pWE8tEZBrwJ`N|v8=q6rq!9f#@ z;Anfp=Kt!MrERZXacebp3a0jyr6Eg%cswB@1YgEoGQqSk0V!8Uz>v2wRJIbotW@Oy z!J2ttzFZtmdr~mR47YtRRcWL0w~I+*<;y zp`}b>3~WN9Mw&K4VMY`;lF7OALjqN{43%P^R!gn4gO( zSKke2qeyX+rHMwZnGnx+_iQLX7ngn?=NxT?$hjxvw0N1@y@KuCXuY}aQ|4${GdMI) z`JAa`mNSuLHAJOZLek4d^SN;KZ=2KagZmxxt~(!ftIe*c^z*#0qD=a#OK`VqWmq(| z@AETUzto9DHKN_&7b)9@ozK$!Dwtdj_+zKjYf8i)yD+j}4V=U@lhLc1CgQM|Ih$ZHTg-m}BWxMxUqpGp&P~9wFRsW$v%L^YPln?pc)h z=B{a64}v{`>C3kv0Rxn0N)C2-lgO~`64~U*T??(9@>kxXEmbsk<)Tcl6uKLy`53(I zi*pb2FtVCHyUOet8>g2g6M#uPm?cMzdT#*YqII5aYyO&jr@3G5M+FrV&s(SjnJmqL z2c{uDCK~T%)Au3>9~9YQ?+ebe4`i(Q4EYalGUhj{p(vXpdg7FpwZn7w2ct2adtYy+V+BH^_1eK}bzmM32Hq5}AKpwe~#;$4pXOy7-xH z--c(KH5r0PlWr;(x|j>zXXuEaaC?ooNDKPdIiHF0T3Kl>ncd1CT{m#=tvP#ZY-)fb zKXafy8kMoH;Xv@p(^n4{IJq_Nn32E9VXk`Dkbl)8LbZsyVT`l?lVuC?R-Q}buJY*e zZL$rLOYAj#Qi2X__I%x+(zWLCH3kC=Nc$AC1T#`anx&F!q{7;J$__-$WT`GB71ueX zspUUvpAnDZmA=fm&soWW@QH{b%r(3&CXAfIUYcUhXKZTds|xhs$;P72^mxL8(&J^{ z@XoL1Wt`pE1TlOrpLj5^?uCN)m)@Ky6T7RAs)|Wu&>l)3z%@1@s&M<|lAGgh_k@pz zaG+V)0gkMkP?YxT9cs#6$C3|E%p1AZ&Pd^!Jd%-!qIB4_?f&4ji>JMWqlMj!yEH8p ztKNQkd3Dt@4!?k^n29#_LfAD5V^^PDgQDfN%1|-%;!Z@$3uH2V*;E1b399s!tM4fb<75z?JIX)>C4Iwgv+ozt z3ZG)UU)HpFAcc$EPHMCEN=3}OUw_f+-bEQ=B1DOT*r`{M+ton<%v~`lI~GRQ@^1%w zQ4a>#&P4D};u0}3+EIuOG!<-nKamRBsXO~M1?J);8{5c zT}OpL2B?l!dGOGJHYn`>9pKA(knhVQZWf+)feBK|?UJ|=gBS-=Nq<~w3mp5Noef+X_OBH7!?2>Ub784z~3btX&OA=zJNIMm{>G947Z}To9RousVY016R<91N0iK zL>>w(uFhRDnVv3vdj0EDvbY5@cDws~DE^y)iqzG37xTtBPd^_@G=7ax1I>86X3Xfg zQa(HRa<7c<-VpJ=FzTQ& zn6f{@QKek`Nhx3>5W?Z+?&<)w^7PVts@Behdp@i~LZ?o!AQRVpM22mEDE>6pE!~B& z^5QD(XDwZ&;pA7fy`MDjKDyYvNBw-|%0m9LNt+RI0k%(ml>3>=)`MswcMjj2Xg4E&Wrkf^7WsX9 z;ZUGu%#AyDT^9nA2_Hdw28wzw=Zi@&$}Zb z6%>!4WtP-{H>Ptdj|x{PulCyL0>)J3trYV4Fun83BSnvhsI4>9#q+!09u*7*d8kNPtql%lAe%uT!1a%eYC!ZG z$m5~v12fwqDIt){2@nYQ-;tpMzTEdaC|EaqR4A1cJ?--B+NEr42xOZH0ueic1A#Dr za6Ar47HVVR<>dL}1hb5ty_24R8QdS<=_b01Af$0+EIjE9lDap=6xwflKLHyZxhL2AHh>{iUvphlLIFSJ7d7 zueB($Qg9)V17?sl;P}R_pPcV_Y*xB+bBmZDU-3X7>~Ppmvi<`5XEniGk|uw`uNDM0 z?2~-(&?pa%hyF)1>TaI)t}Yj#PHs^5U!{h*V4=;Mr|KZXs(`crTc!Uo$VyHQ{j<=7 zK-VTNWwJ&<=v;sdFLYb!@yI{S_#eamb4c-M+`ypuUO10u0cd)l5BRw8tvD(44>ENx zPdBe)G8Bwyl8k!-_SxEx;2s>FDWvM}nSSS*FeaCsdXxwP@PS-#iW7D}|6}CUpOEQS z3&VhOgFZYV0)ENC37*XOfeL;K9XKiQ&-R5mr4y^@3@08qWDU+y3&G*OpEw@(NS^#2 zttUv4v-@0Ai=Y_Tfh;Zv#}c;sKe7Bg71&nQP=D}V3piGkiUondPKEy%{hP;={P3O= z%poh9@j*IpS7u-Z*csg)V|DxQ;C~iA9oSbhXnZgqpeMt2;eJ4apI-0&9{u~lr=x}H zTNXX?>)$ymjPn+Yrh_O@Ru6dE2YyCh_Wy?SSC56EH|o|!Qi0GG2Mr5w+9M+g1L4@R z2s6hK(f_f@w|8?M%^fhe6-QLG(*g^l@%nim)W{8s=E zZ$4s@zk@$cc&Enl8E=p?qe0FD{&8g7B>N4zr@hlZ-`+f`TUdSSDKR!i1ESUgK={VR znEKzqjuY%Y%2xR-uu(9;Vmcxg1X4!x8!X^g8WvWLP|yFI20SVs%u)$ly#W&-bvy#9 zgtz?y-JdXj^?ullD-}daVO_jAhyZ#xDNi&15%K3~!#w`H*XomMFl}ZaCj7MhS&s)) zwsMp6g`I)~&BO6RqHql{?g8NtfS~YE6wY=6%;Uryjk$YB3E)D2m^5(n9zJ(GBxtQY zJb&XiP1~{=vS89d01@5^&vX7O+Hs<7T6z2L0&nI6?Jj(&>*qQi>`19Qaa5Mm`xspX zu6dgL=TgTm`aiK8HW z9?*J?rlS-r7Ku3g?7uxxCk6i5e_e z$_mS3oa~C1!2BUv;DWDbiMLOH`Lmd?vb#wngDMW(QUmnm@R^o3>v%{IOR7*$cYCYj zWxQY@F+mJ`{W5Ss_)OcD^C!Tc1%&C5j1aln8_YKnT<~o+OYZS__AZ`KcNYsM&Oa-( z^6PY_1OS!+7yL@g-d}+qC%Dq0Wa>Mh2t=S+K7jvYq~-lVa2Z!?sMYtlQ?d8>ZC4kj za)wYC#P~EWi1i=v;HSmAf5&jVDQVGk-N=FTxBwr%zYi+@OZ?*$l=XbcHv+ic9-xqe z6Mwtn5AffhU}yx`AQI?_7tR(c>wkpz^02UUg8tsv zF!`a@hB)H@7*wL4^b_*oZwZc@z(MpIQCNct8ik))s+x^I;se*wh90w=2NRqb9v9Ppn1`STw+faYafot(f<+;8t2!RBj1HIRG@T=0p{ zZ|5)Zj}t#ZyZ~zrWQJt0(#C&8K@dpXmy^I>u<)=`wQysQbMbWd`!#l9i4KFROU@8z zhZ-b1F*u6pgTJQueVDNs`EL>Ew<0#xwRp(FTf zs$rw3jRfBeP7?hE$FDI1%Unla3z;20u`~3CKb2|FO(FHhOZOi`;-d|l979U3s;==Efme`$?^;cwA za2!4S1HXQR4PNbo2lX$n8hQrXS*wlSD@q3_D(P^e73aJVypv0Qh(R Z9JbL=Mh4jx0x<)BpmZQHT?QEn@_%f?OOyZr literal 0 HcmV?d00001 diff --git a/settings.gradle b/settings.gradle new file mode 100644 index 00000000..49cff6e1 --- /dev/null +++ b/settings.gradle @@ -0,0 +1,10 @@ +/* + * This file was generated by the Gradle 'init' task. + * + * The settings file is used to specify which projects to include in your build. + * + * Detailed information about configuring a multi-project build in Gradle can be found + * in the user manual at https://docs.gradle.org/5.6.3/userguide/multi_project_builds.html + */ + +rootProject.name = 'Grasscutter' diff --git a/src/main/java/emu/grasscutter/Config.java b/src/main/java/emu/grasscutter/Config.java new file mode 100644 index 00000000..1f5e6fd2 --- /dev/null +++ b/src/main/java/emu/grasscutter/Config.java @@ -0,0 +1,45 @@ +package emu.grasscutter; + +public class Config { + public String DispatchServerIp = "127.0.0.1"; + public int DispatchServerPort = 443; + public String DispatchServerKeystorePath = "./keystore.p12"; + public String DispatchServerKeystorePassword = ""; + + public String GameServerName = "Test"; + public String GameServerIp = "127.0.0.1"; + public int GameServerPort = 22102; + + public String DatabaseUrl = "mongodb://localhost:27017"; + public String DatabaseCollection = "grasscutter"; + + public String RESOURCE_FOLDER = "./resources/"; + public String DATA_FOLDER = "./data/"; + public String PACKETS_FOLDER = "./packets/"; + public String DUMPS_FOLDER = "./dumps/"; + public String KEY_FOLDER = "./keys/"; + public boolean LOG_PACKETS = false; + + public GameRates Game = new GameRates(); + public ServerOptions ServerOptions = new ServerOptions(); + + public GameRates getGameRates() { + return Game; + } + + public ServerOptions getServerOptions() { + return ServerOptions; + } + + public class GameRates { + public float ADVENTURE_EXP_RATE = 1.0f; + public float MORA_RATE = 1.0f; + public float DOMAIN_DROP_RATE = 1.0f; + } + + public class ServerOptions { + public int MaxEntityLimit = 1000; // Max entity limit per world. TODO Unenforced for now + public int[] WelcomeEmotes = {2007, 1002, 4010}; + public String WelcomeMotd = "Welcome to Grasscutter emu"; + } +} diff --git a/src/main/java/emu/grasscutter/GenshinConstants.java b/src/main/java/emu/grasscutter/GenshinConstants.java new file mode 100644 index 00000000..ff46eddb --- /dev/null +++ b/src/main/java/emu/grasscutter/GenshinConstants.java @@ -0,0 +1,37 @@ +package emu.grasscutter; + +import java.util.Arrays; + +import emu.grasscutter.game.props.OpenState; +import emu.grasscutter.utils.Position; +import emu.grasscutter.utils.Utils; + +public class GenshinConstants { + public static String VERSION = "2.6.0"; + + public static final int MAX_TEAMS = 4; + public static final int MAX_AVATARS_IN_TEAM = 4; + + public static final int LIMIT_WEAPON = 2000; + public static final int LIMIT_RELIC = 2000; + public static final int LIMIT_MATERIAL = 2000; + public static final int LIMIT_FURNITURE = 2000; + public static final int LIMIT_ALL = 30000; + + public static final int MAIN_CHARACTER_MALE = 10000005; + public static final int MAIN_CHARACTER_FEMALE = 10000007; + public static final Position START_POSITION = new Position(2747, 194, -1719); + + public static final int MAX_FRIENDS = 45; + public static final int MAX_FRIEND_REQUESTS = 50; + + public static final int SERVER_CONSOLE_UID = 99; // uid of the fake player used for commands + + // Default entity ability hashes + public static final String[] DEFAULT_ABILITY_STRINGS = { + "Avatar_DefaultAbility_VisionReplaceDieInvincible", "Avatar_DefaultAbility_AvartarInShaderChange", "Avatar_SprintBS_Invincible", + "Avatar_Freeze_Duration_Reducer", "Avatar_Attack_ReviveEnergy", "Avatar_Component_Initializer", "Avatar_FallAnthem_Achievement_Listener" + }; + public static final int[] DEFAULT_ABILITY_HASHES = Arrays.stream(DEFAULT_ABILITY_STRINGS).mapToInt(Utils::abilityHash).toArray(); + public static final int DEFAULT_ABILITY_NAME = Utils.abilityHash("Default"); +} diff --git a/src/main/java/emu/grasscutter/Grasscutter.java b/src/main/java/emu/grasscutter/Grasscutter.java new file mode 100644 index 00000000..9102ba52 --- /dev/null +++ b/src/main/java/emu/grasscutter/Grasscutter.java @@ -0,0 +1,127 @@ +package emu.grasscutter; + +import java.io.BufferedReader; +import java.io.File; +import java.io.FileReader; +import java.io.FileWriter; +import java.io.InputStreamReader; +import java.net.InetSocketAddress; +import java.util.Arrays; + +import org.slf4j.LoggerFactory; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; + +import ch.qos.logback.classic.Logger; +import emu.grasscutter.commands.ServerCommands; +import emu.grasscutter.data.ResourceLoader; +import emu.grasscutter.database.DatabaseManager; +import emu.grasscutter.server.dispatch.DispatchServer; +import emu.grasscutter.server.game.GameServer; +import emu.grasscutter.tools.Tools; +import emu.grasscutter.utils.Crypto; + +public class Grasscutter { + private static Logger log = (Logger) LoggerFactory.getLogger(Grasscutter.class); + private static Config config; + + private static Gson gson = new GsonBuilder().setPrettyPrinting().create(); + private static File configFile = new File("./config.json"); + + public static RunMode MODE = RunMode.BOTH; + private static DispatchServer dispatchServer; + private static GameServer gameServer; + + public static void main(String[] args) throws Exception { + Grasscutter.loadConfig(); + Crypto.loadKeys(); + + for (String arg : args) { + switch (arg.toLowerCase()) { + case "-auth": + MODE = RunMode.AUTH; + break; + case "-game": + MODE = RunMode.GAME; + break; + case "-handbook": + Tools.createGmHandbook(); + return; + + } + } + + // Startup + Grasscutter.getLogger().info("Grasscutter Emu"); + + // Load resource files + ResourceLoader.loadAll(); + + // Database + DatabaseManager.initialize(); + + // Run servers + dispatchServer = new DispatchServer(); + dispatchServer.start(); + + gameServer = new GameServer(new InetSocketAddress(getConfig().GameServerIp, getConfig().GameServerPort)); + gameServer.start(); + + startConsole(); + } + + public static Config getConfig() { + return config; + } + + public static Logger getLogger() { + return log; + } + + public static Gson getGsonFactory() { + return gson; + } + + public static DispatchServer getDispatchServer() { + return dispatchServer; + } + + public static GameServer getGameServer() { + return gameServer; + } + + public static void loadConfig() { + try (FileReader file = new FileReader(configFile)) { + config = gson.fromJson(file, Config.class); + } catch (Exception e) { + Grasscutter.config = new Config(); + } + saveConfig(); + } + + public static void saveConfig() { + try (FileWriter file = new FileWriter(configFile)) { + file.write(gson.toJson(config)); + } catch (Exception e) { + Grasscutter.getLogger().error("Config save error"); + } + } + + public static void startConsole() { + String input; + try (BufferedReader br = new BufferedReader(new InputStreamReader(System.in))) { + while ((input = br.readLine()) != null) { + ServerCommands.handle(input); + } + } catch (Exception e) { + Grasscutter.getLogger().error("Console error:", e); + } + } + + public enum RunMode { + BOTH, + AUTH, + GAME + } +} diff --git a/src/main/java/emu/grasscutter/commands/Command.java b/src/main/java/emu/grasscutter/commands/Command.java new file mode 100644 index 00000000..77eb92e1 --- /dev/null +++ b/src/main/java/emu/grasscutter/commands/Command.java @@ -0,0 +1,13 @@ +package emu.grasscutter.commands; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.RUNTIME) +public @interface Command { + public String[] aliases() default ""; + + public int gmLevel() default 1; + + public String helpText() default ""; +} diff --git a/src/main/java/emu/grasscutter/commands/PlayerCommands.java b/src/main/java/emu/grasscutter/commands/PlayerCommands.java new file mode 100644 index 00000000..366b5e2e --- /dev/null +++ b/src/main/java/emu/grasscutter/commands/PlayerCommands.java @@ -0,0 +1,307 @@ +package emu.grasscutter.commands; + +import java.lang.reflect.Modifier; +import java.util.HashMap; +import java.util.LinkedList; +import java.util.List; + +import emu.grasscutter.data.GenshinData; +import emu.grasscutter.data.def.ItemData; +import emu.grasscutter.data.def.MonsterData; +import emu.grasscutter.game.GenshinPlayer; +import emu.grasscutter.game.avatar.GenshinAvatar; +import emu.grasscutter.game.entity.EntityAvatar; +import emu.grasscutter.game.entity.EntityItem; +import emu.grasscutter.game.entity.EntityMonster; +import emu.grasscutter.game.entity.GenshinEntity; +import emu.grasscutter.game.inventory.GenshinItem; +import emu.grasscutter.game.inventory.ItemType; +import emu.grasscutter.game.props.ActionReason; +import emu.grasscutter.game.props.FightProperty; +import emu.grasscutter.server.packet.send.PacketEntityFightPropUpdateNotify; +import emu.grasscutter.server.packet.send.PacketItemAddHintNotify; +import emu.grasscutter.utils.Position; + +public class PlayerCommands { + private static HashMap list = new HashMap(); + + static { + try { + // Look for classes + for (Class cls : PlayerCommands.class.getDeclaredClasses()) { + // Get non abstract classes + if (!Modifier.isAbstract(cls.getModifiers())) { + Command commandAnnotation = cls.getAnnotation(Command.class); + PlayerCommand command = (PlayerCommand) cls.newInstance(); + + if (commandAnnotation != null) { + command.setLevel(commandAnnotation.gmLevel()); + for (String alias : commandAnnotation.aliases()) { + if (alias.length() == 0) { + continue; + } + + String commandName = "!" + alias; + list.put(commandName, command); + commandName = "/" + alias; + list.put(commandName, command); + } + } + + String commandName = "!" + cls.getSimpleName().toLowerCase(); + list.put(commandName, command); + commandName = "/" + cls.getSimpleName().toLowerCase(); + list.put(commandName, command); + } + + } + } catch (Exception e) { + + } + } + + public static void handle(GenshinPlayer player, String msg) { + String[] split = msg.split(" "); + + // End if invalid + if (split.length == 0) { + return; + } + + // + String first = split[0].toLowerCase(); + PlayerCommand c = PlayerCommands.list.get(first); + + if (c != null) { + // Level check + if (player.getGmLevel() < c.getLevel()) { + return; + } + // Execute + int len = Math.min(first.length() + 1, msg.length()); + c.execute(player, msg.substring(len)); + } + } + + public static abstract class PlayerCommand { + // GM level required to use this command + private int level; + protected int getLevel() { return this.level; } + protected void setLevel(int minLevel) { this.level = minLevel; } + + // Main + public abstract void execute(GenshinPlayer player, String raw); + } + + // ================ Commands ================ + + @Command(aliases = {"g", "item", "additem"}, helpText = "/give [item id] [count] - Gives {count} amount of {item id}") + public static class Give extends PlayerCommand { + @Override + public void execute(GenshinPlayer player, String raw) { + String[] split = raw.split(" "); + int itemId = 0, count = 1; + + try { + itemId = Integer.parseInt(split[0]); + } catch (Exception e) { + itemId = 0; + } + + try { + count = Math.max(Math.min(Integer.parseInt(split[1]), Integer.MAX_VALUE), 1); + } catch (Exception e) { + count = 1; + } + + // Give + ItemData itemData = GenshinData.getItemDataMap().get(itemId); + GenshinItem item; + + if (itemData == null) { + player.dropMessage("Error: Item data not found"); + return; + } + + if (itemData.isEquip()) { + List items = new LinkedList<>(); + for (int i = 0; i < count; i++) { + item = new GenshinItem(itemData); + items.add(item); + } + player.getInventory().addItems(items); + player.sendPacket(new PacketItemAddHintNotify(items, ActionReason.SubfieldDrop)); + } else { + item = new GenshinItem(itemData, count); + player.getInventory().addItem(item); + player.sendPacket(new PacketItemAddHintNotify(item, ActionReason.SubfieldDrop)); + } + } + } + + @Command(aliases = {"d"}, helpText = "/drop [item id] [count] - Drops {count} amount of {item id}") + public static class Drop extends PlayerCommand { + @Override + public void execute(GenshinPlayer player, String raw) { + String[] split = raw.split(" "); + int itemId = 0, count = 1; + + try { + itemId = Integer.parseInt(split[0]); + } catch (Exception e) { + itemId = 0; + } + + try { + count = Math.max(Math.min(Integer.parseInt(split[1]), Integer.MAX_VALUE), 1); + } catch (Exception e) { + count = 1; + } + + // Give + ItemData itemData = GenshinData.getItemDataMap().get(itemId); + + if (itemData == null) { + player.dropMessage("Error: Item data not found"); + return; + } + + if (itemData.isEquip()) { + float range = (5f + (.1f * count)); + for (int i = 0; i < count; i++) { + Position pos = player.getPos().clone().addX((float) (Math.random() * range) - (range / 2)).addY(3f).addZ((float) (Math.random() * range) - (range / 2)); + EntityItem entity = new EntityItem(player.getWorld(), player, itemData, pos, 1); + player.getWorld().addEntity(entity); + } + } else { + EntityItem entity = new EntityItem(player.getWorld(), player, itemData, player.getPos().clone().addY(3f), count); + player.getWorld().addEntity(entity); + } + } + } + + @Command(helpText = "/spawn [monster id] [count] - Creates {count} amount of {item id}") + public static class Spawn extends PlayerCommand { + @Override + public void execute(GenshinPlayer player, String raw) { + String[] split = raw.split(" "); + int monsterId = 0, count = 1, level = 1; + + try { + monsterId = Integer.parseInt(split[0]); + } catch (Exception e) { + monsterId = 0; + } + + try { + level = Math.max(Math.min(Integer.parseInt(split[1]), 200), 1); + } catch (Exception e) { + level = 1; + } + + try { + count = Math.max(Math.min(Integer.parseInt(split[2]), 1000), 1); + } catch (Exception e) { + count = 1; + } + + // Give + MonsterData monsterData = GenshinData.getMonsterDataMap().get(monsterId); + + if (monsterData == null) { + player.dropMessage("Error: Monster data not found"); + return; + } + + float range = (5f + (.1f * count)); + for (int i = 0; i < count; i++) { + Position pos = player.getPos().clone().addX((float) (Math.random() * range) - (range / 2)).addY(3f).addZ((float) (Math.random() * range) - (range / 2)); + EntityMonster entity = new EntityMonster(player.getWorld(), monsterData, pos, level); + player.getWorld().addEntity(entity); + } + } + } + + @Command(helpText = "/killall") + public static class KillAll extends PlayerCommand { + @Override + public void execute(GenshinPlayer player, String raw) { + List toRemove = new LinkedList<>(); + for (GenshinEntity entity : player.getWorld().getEntities().values()) { + if (entity instanceof EntityMonster) { + toRemove.add(entity); + } + } + toRemove.forEach(e -> player.getWorld().killEntity(e, 0)); + } + } + + @Command(helpText = "/resetconst - Resets all constellations for the currently active character") + public static class ResetConst extends PlayerCommand { + @Override + public void execute(GenshinPlayer player, String raw) { + EntityAvatar entity = player.getTeamManager().getCurrentAvatarEntity(); + + if (entity == null) { + return; + } + + GenshinAvatar avatar = entity.getAvatar(); + + avatar.getTalentIdList().clear(); + avatar.setCoreProudSkillLevel(0); + avatar.recalcStats(); + avatar.save(); + + player.dropMessage("Constellations for " + entity.getAvatar().getAvatarData().getName() + " have been reset. Please relogin to see changes."); + } + } + + @Command(helpText = "/godmode - Prevents you from taking damage") + public static class Godmode extends PlayerCommand { + @Override + public void execute(GenshinPlayer player, String raw) { + player.setGodmode(!player.hasGodmode()); + player.dropMessage("Godmode is now " + (player.hasGodmode() ? "ON" : "OFF")); + } + } + + @Command(helpText = "/sethp [hp]") + public static class Sethp extends PlayerCommand { + @Override + public void execute(GenshinPlayer player, String raw) { + String[] split = raw.split(" "); + int hp = 0; + + try { + hp = Math.max(Integer.parseInt(split[0]), 1); + } catch (Exception e) { + hp = 1; + } + + EntityAvatar entity = player.getTeamManager().getCurrentAvatarEntity(); + + if (entity == null) { + return; + } + + entity.setFightProperty(FightProperty.FIGHT_PROP_CUR_HP, hp); + entity.getWorld().broadcastPacket(new PacketEntityFightPropUpdateNotify(entity, FightProperty.FIGHT_PROP_CUR_HP)); + } + } + + @Command(aliases = {"clearart"}, helpText = "/clearartifacts") + public static class ClearArtifacts extends PlayerCommand { + @Override + public void execute(GenshinPlayer player, String raw) { + List toRemove = new LinkedList<>(); + for (GenshinItem item : player.getInventory().getItems().values()) { + if (item.getItemType() == ItemType.ITEM_RELIQUARY && item.getLevel() == 1 && item.getExp() == 0 && !item.isLocked() && !item.isEquipped()) { + toRemove.add(item); + } + } + + player.getInventory().removeItems(toRemove); + } + } +} diff --git a/src/main/java/emu/grasscutter/commands/ServerCommands.java b/src/main/java/emu/grasscutter/commands/ServerCommands.java new file mode 100644 index 00000000..94835d5b --- /dev/null +++ b/src/main/java/emu/grasscutter/commands/ServerCommands.java @@ -0,0 +1,140 @@ +package emu.grasscutter.commands; + +import java.lang.reflect.Modifier; +import java.util.HashMap; +import java.util.LinkedList; +import java.util.List; + +import emu.grasscutter.Grasscutter; +import emu.grasscutter.data.GenshinData; +import emu.grasscutter.data.def.ItemData; +import emu.grasscutter.database.DatabaseHelper; +import emu.grasscutter.game.GenshinPlayer; +import emu.grasscutter.game.inventory.GenshinItem; +import emu.grasscutter.utils.Crypto; +import emu.grasscutter.utils.Utils; + +public class ServerCommands { + private static HashMap list = new HashMap<>(); + + static { + try { + // Look for classes + for (Class cls : ServerCommands.class.getDeclaredClasses()) { + // Get non abstract classes + if (!Modifier.isAbstract(cls.getModifiers())) { + String commandName = cls.getSimpleName().toLowerCase(); + list.put(commandName, (ServerCommand) cls.newInstance()); + } + + } + } catch (Exception e) { + + } + } + + public static void handle(String msg) { + String[] split = msg.split(" "); + + // End if invalid + if (split.length == 0) { + return; + } + + // + String first = split[0].toLowerCase(); + ServerCommand c = ServerCommands.list.get(first); + + if (c != null) { + // Execute + int len = Math.min(first.length() + 1, msg.length()); + c.execute(msg.substring(len)); + } + } + + public static abstract class ServerCommand { + public abstract void execute(String raw); + } + + // ================ Commands ================ + + public static class Reload extends ServerCommand { + @Override + public void execute(String raw) { + Grasscutter.getLogger().info("Reloading config."); + Grasscutter.loadConfig(); + Grasscutter.getDispatchServer().loadQueries(); + Grasscutter.getLogger().info("Reload complete."); + } + } + + public static class Account extends ServerCommand { + @Override + public void execute(String raw) { + String[] split = raw.split(" "); + + if (split.length < 2) { + Grasscutter.getLogger().error("Invalid amount of args"); + return; + } + + String command = split[0].toLowerCase(); + String username = split[1]; + + switch (command) { + case "create": + if (split.length < 2) { + Grasscutter.getLogger().error("Invalid amount of args"); + return; + } + + int reservedId = 0; + try { + reservedId = Integer.parseInt(split[2]); + } catch (Exception e) { + reservedId = 0; + } + + emu.grasscutter.game.Account account = DatabaseHelper.createAccountWithId(username, reservedId); + if (account != null) { + Grasscutter.getLogger().info("Account created" + (reservedId > 0 ? " with an id of " + reservedId : "")); + } else { + Grasscutter.getLogger().error("Account already exists"); + } + break; + case "delete": + boolean success = DatabaseHelper.deleteAccount(username); + + if (success) { + Grasscutter.getLogger().info("Account deleted"); + } + break; + /* + case "setpw": + case "setpass": + case "setpassword": + if (split.length < 3) { + Grasscutter.getLogger().error("Invalid amount of args"); + return; + } + + account = DatabaseHelper.getAccountByName(username); + + if (account == null) { + Grasscutter.getLogger().error("No account found!"); + return; + } + + token = split[2]; + token = PasswordHelper.hashPassword(token); + + account.setPassword(token); + DatabaseHelper.saveAccount(account); + + Grasscutter.getLogger().info("Password set"); + break; + */ + } + } + } +} diff --git a/src/main/java/emu/grasscutter/data/GenshinData.java b/src/main/java/emu/grasscutter/data/GenshinData.java new file mode 100644 index 00000000..84614618 --- /dev/null +++ b/src/main/java/emu/grasscutter/data/GenshinData.java @@ -0,0 +1,212 @@ +package emu.grasscutter.data; + +import java.lang.reflect.Field; +import java.util.HashMap; +import java.util.Map; + +import emu.grasscutter.Grasscutter; +import emu.grasscutter.utils.Utils; +import emu.grasscutter.data.custom.AbilityEmbryoEntry; +import emu.grasscutter.data.custom.OpenConfigEntry; +import emu.grasscutter.data.def.*; +import it.unimi.dsi.fastutil.ints.Int2ObjectLinkedOpenHashMap; +import it.unimi.dsi.fastutil.ints.Int2ObjectMap; +import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap; + +public class GenshinData { + // BinOutputs + private static final Int2ObjectMap abilityHashes = new Int2ObjectOpenHashMap<>(); + private static final Map abilityEmbryos = new HashMap<>(); + private static final Map openConfigEntries = new HashMap<>(); + + // ExcelConfigs + private static final Int2ObjectMap playerLevelDataMap = new Int2ObjectOpenHashMap<>(); + + private static final Int2ObjectMap avatarDataMap = new Int2ObjectOpenHashMap<>(); + private static final Int2ObjectMap avatarLevelDataMap = new Int2ObjectOpenHashMap<>(); + private static final Int2ObjectMap avatarSkillDepotDataMap = new Int2ObjectOpenHashMap<>(); + private static final Int2ObjectMap avatarSkillDataMap = new Int2ObjectOpenHashMap<>(); + private static final Int2ObjectMap avatarCurveDataMap = new Int2ObjectLinkedOpenHashMap<>(); + private static final Int2ObjectMap avatarPromoteDataMap = new Int2ObjectOpenHashMap<>(); + private static final Int2ObjectMap avatarTalentDataMap = new Int2ObjectOpenHashMap<>(); + private static final Int2ObjectMap proudSkillDataMap = new Int2ObjectOpenHashMap<>(); + + private static final Int2ObjectMap itemDataMap = new Int2ObjectOpenHashMap<>(); + private static final Int2ObjectMap reliquaryLevelDataMap = new Int2ObjectOpenHashMap<>(); + private static final Int2ObjectMap reliquaryAffixDataMap = new Int2ObjectOpenHashMap<>(); + private static final Int2ObjectMap reliquaryMainPropDataMap = new Int2ObjectOpenHashMap<>(); + private static final Int2ObjectMap reliquarySetDataMap = new Int2ObjectOpenHashMap<>(); + private static final Int2ObjectMap weaponLevelDataMap = new Int2ObjectOpenHashMap<>(); + private static final Int2ObjectMap weaponPromoteDataMap = new Int2ObjectOpenHashMap<>(); + private static final Int2ObjectMap weaponCurveDataMap = new Int2ObjectOpenHashMap<>(); + private static final Int2ObjectMap equipAffixDataMap = new Int2ObjectOpenHashMap<>(); + + private static final Int2ObjectMap monsterDataMap = new Int2ObjectOpenHashMap<>(); + private static final Int2ObjectMap npcDataMap = new Int2ObjectOpenHashMap<>(); + private static final Int2ObjectMap gadgetDataMap = new Int2ObjectOpenHashMap<>(); + private static final Int2ObjectMap monsterCurveDataMap = new Int2ObjectOpenHashMap<>(); + private static final Int2ObjectMap monsterDescribeDataMap = new Int2ObjectOpenHashMap<>(); + + private static final Int2ObjectMap avatarFlycloakDataMap = new Int2ObjectLinkedOpenHashMap<>(); + private static final Int2ObjectMap avatarCostumeDataMap = new Int2ObjectLinkedOpenHashMap<>(); + private static final Int2ObjectMap avatarCostumeDataItemIdMap = new Int2ObjectLinkedOpenHashMap<>(); + + public static Int2ObjectMap getMapByResourceDef(Class resourceDefinition) { + Int2ObjectMap map = null; + + try { + Field field = GenshinData.class.getDeclaredField(Utils.lowerCaseFirstChar(resourceDefinition.getSimpleName()) + "Map"); + field.setAccessible(true); + + map = (Int2ObjectMap) field.get(null); + + field.setAccessible(false); + } catch (Exception e) { + Grasscutter.getLogger().error("Error fetching resource map for " + resourceDefinition.getSimpleName(), e); + } + + return map; + } + + public static Int2ObjectMap getAbilityHashes() { + return abilityHashes; + } + + public static Map getAbilityEmbryoInfo() { + return abilityEmbryos; + } + + public static Map getOpenConfigEntries() { + return openConfigEntries; + } + + public static Int2ObjectMap getAvatarDataMap() { + return avatarDataMap; + } + + public static Int2ObjectMap getItemDataMap() { + return itemDataMap; + } + + public static Int2ObjectMap getAvatarSkillDepotDataMap() { + return avatarSkillDepotDataMap; + } + + public static Int2ObjectMap getAvatarSkillDataMap() { + return avatarSkillDataMap; + } + + public static Int2ObjectMap getPlayerLevelDataMap() { + return playerLevelDataMap; + } + + public static Int2ObjectMap getAvatarLevelDataMap() { + return avatarLevelDataMap; + } + + public static Int2ObjectMap getWeaponLevelDataMap() { + return weaponLevelDataMap; + } + + public static Int2ObjectMap getReliquaryAffixDataMap() { + return reliquaryAffixDataMap; + } + + public static Int2ObjectMap getReliquaryMainPropDataMap() { + return reliquaryMainPropDataMap; + } + + public static Int2ObjectMap getWeaponPromoteDataMap() { + return weaponPromoteDataMap; + } + + public static Int2ObjectMap getWeaponCurveDataMap() { + return weaponCurveDataMap; + } + + public static Int2ObjectMap getAvatarCurveDataMap() { + return avatarCurveDataMap; + } + + public static int getRelicExpRequired(int rankLevel, int level) { + ReliquaryLevelData levelData = reliquaryLevelDataMap.get((rankLevel << 8) + level); + return levelData != null ? levelData.getExp() : 0; + } + + public static ReliquaryLevelData getRelicLevelData(int rankLevel, int level) { + return reliquaryLevelDataMap.get((rankLevel << 8) + level); + } + + public static WeaponPromoteData getWeaponPromoteData(int promoteId, int promoteLevel) { + return weaponPromoteDataMap.get((promoteId << 8) + promoteLevel); + } + + public static int getWeaponExpRequired(int rankLevel, int level) { + WeaponLevelData levelData = weaponLevelDataMap.get(level); + if (levelData == null) { + return 0; + } + try { + return levelData.getRequiredExps()[rankLevel - 1]; + } catch (Exception e) { + return 0; + } + } + + public static AvatarPromoteData getAvatarPromoteData(int promoteId, int promoteLevel) { + return avatarPromoteDataMap.get((promoteId << 8) + promoteLevel); + } + + public static int getAvatarLevelExpRequired(int level) { + AvatarLevelData levelData = avatarLevelDataMap.get(level); + return levelData != null ? levelData.getExp() : 0; + } + + public static Int2ObjectMap getProudSkillDataMap() { + return proudSkillDataMap; + } + + public static Int2ObjectMap getMonsterDataMap() { + return monsterDataMap; + } + + public static Int2ObjectMap getNpcDataMap() { + return npcDataMap; + } + + public static Int2ObjectMap getGadgetDataMap() { + return gadgetDataMap; + } + + public static Int2ObjectMap getReliquarySetDataMap() { + return reliquarySetDataMap; + } + + public static Int2ObjectMap getEquipAffixDataMap() { + return equipAffixDataMap; + } + + public static Int2ObjectMap getMonsterCurveDataMap() { + return monsterCurveDataMap; + } + + public static Int2ObjectMap getMonsterDescribeDataMap() { + return monsterDescribeDataMap; + } + + public static Int2ObjectMap getAvatarTalentDataMap() { + return avatarTalentDataMap; + } + + public static Int2ObjectMap getAvatarFlycloakDataMap() { + return avatarFlycloakDataMap; + } + + public static Int2ObjectMap getAvatarCostumeDataMap() { + return avatarCostumeDataMap; + } + + public static Int2ObjectMap getAvatarCostumeDataItemIdMap() { + return avatarCostumeDataItemIdMap; + } +} diff --git a/src/main/java/emu/grasscutter/data/GenshinDepot.java b/src/main/java/emu/grasscutter/data/GenshinDepot.java new file mode 100644 index 00000000..4f141269 --- /dev/null +++ b/src/main/java/emu/grasscutter/data/GenshinDepot.java @@ -0,0 +1,49 @@ +package emu.grasscutter.data; + +import java.util.ArrayList; +import java.util.List; + +import emu.grasscutter.Grasscutter; +import emu.grasscutter.data.def.ReliquaryAffixData; +import emu.grasscutter.data.def.ReliquaryMainPropData; +import emu.grasscutter.utils.WeightedList; +import it.unimi.dsi.fastutil.ints.Int2ObjectMap; +import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap; + +public class GenshinDepot { + private static Int2ObjectMap> relicMainPropDepot = new Int2ObjectOpenHashMap<>(); + private static Int2ObjectMap> relicAffixDepot = new Int2ObjectOpenHashMap<>(); + + public static void load() { + for (ReliquaryMainPropData data : GenshinData.getReliquaryMainPropDataMap().values()) { + if (data.getWeight() <= 0 || data.getPropDepotId() <= 0) { + continue; + } + WeightedList list = relicMainPropDepot.computeIfAbsent(data.getPropDepotId(), k -> new WeightedList<>()); + list.add(data.getWeight(), data); + } + for (ReliquaryAffixData data : GenshinData.getReliquaryAffixDataMap().values()) { + if (data.getWeight() <= 0 || data.getDepotId() <= 0) { + continue; + } + List list = relicAffixDepot.computeIfAbsent(data.getDepotId(), k -> new ArrayList<>()); + list.add(data); + } + // Let the server owner know if theyre missing weights + if (relicMainPropDepot.size() == 0 || relicAffixDepot.size() == 0) { + Grasscutter.getLogger().error("Relic properties are missing weights! Please check your ReliquaryMainPropExcelConfigData or ReliquaryAffixExcelConfigData files in your ExcelBinOutput folder."); + } + } + + public static ReliquaryMainPropData getRandomRelicMainProp(int depot) { + WeightedList depotList = relicMainPropDepot.get(depot); + if (depotList == null) { + return null; + } + return depotList.next(); + } + + public static List getRandomRelicAffixList(int depot) { + return relicAffixDepot.get(depot); + } +} diff --git a/src/main/java/emu/grasscutter/data/GenshinResource.java b/src/main/java/emu/grasscutter/data/GenshinResource.java new file mode 100644 index 00000000..92e06354 --- /dev/null +++ b/src/main/java/emu/grasscutter/data/GenshinResource.java @@ -0,0 +1,12 @@ +package emu.grasscutter.data; + +public abstract class GenshinResource { + + public int getId() { + return 0; + } + + public void onLoad() { + + } +} diff --git a/src/main/java/emu/grasscutter/data/ResourceLoader.java b/src/main/java/emu/grasscutter/data/ResourceLoader.java new file mode 100644 index 00000000..dea19e02 --- /dev/null +++ b/src/main/java/emu/grasscutter/data/ResourceLoader.java @@ -0,0 +1,281 @@ +package emu.grasscutter.data; + +import java.io.File; +import java.io.FileReader; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.util.ArrayList; +import java.util.Collection; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.TreeMap; +import java.util.Map.Entry; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import java.util.stream.Stream; + +import org.reflections.Reflections; + +import com.google.gson.reflect.TypeToken; + +import emu.grasscutter.Grasscutter; +import emu.grasscutter.data.custom.AbilityEmbryoEntry; +import emu.grasscutter.data.custom.OpenConfigEntry; +import it.unimi.dsi.fastutil.ints.Int2ObjectMap; + +public class ResourceLoader { + + public static List> getResourceDefClasses() { + Reflections reflections = new Reflections(ResourceLoader.class.getPackage().getName()); + Set classes = reflections.getSubTypesOf(GenshinResource.class); + + List> classList = new ArrayList<>(classes.size()); + classes.forEach(o -> { + Class c = (Class) o; + if (c.getAnnotation(ResourceType.class) != null) { + classList.add(c); + } + }); + + classList.sort((a, b) -> { + return b.getAnnotation(ResourceType.class).loadPriority().value() - a.getAnnotation(ResourceType.class).loadPriority().value(); + }); + + return classList; + } + + public static void loadAll() { + // Create resource folder if it doesnt exist + File resFolder = new File(Grasscutter.getConfig().RESOURCE_FOLDER); + if (!resFolder.exists()) { + resFolder.mkdir(); + } + // Load ability lists + loadAbilityEmbryos(); + loadOpenConfig(); + // Load resources + loadResources(); + // Process into depots + GenshinDepot.load(); + // Custom - TODO move this somewhere else + try { + GenshinData.getAvatarSkillDepotDataMap().get(504).setAbilities( + new AbilityEmbryoEntry( + "", + new String[] { + "Avatar_PlayerBoy_ExtraAttack_Wind", + "Avatar_Player_UziExplode_Mix", + "Avatar_Player_UziExplode", + "Avatar_Player_UziExplode_Strike_01", + "Avatar_Player_UziExplode_Strike_02", + "Avatar_Player_WindBreathe", + "Avatar_Player_WindBreathe_CameraController" + } + )); + GenshinData.getAvatarSkillDepotDataMap().get(704).setAbilities( + new AbilityEmbryoEntry( + "", + new String[] { + "Avatar_PlayerGirl_ExtraAttack_Wind", + "Avatar_Player_UziExplode_Mix", + "Avatar_Player_UziExplode", + "Avatar_Player_UziExplode_Strike_01", + "Avatar_Player_UziExplode_Strike_02", + "Avatar_Player_WindBreathe", + "Avatar_Player_WindBreathe_CameraController" + } + )); + } catch (Exception e) { + Grasscutter.getLogger().error("Error loading abilities", e); + } + } + + public static void loadResources() { + for (Class resourceDefinition : getResourceDefClasses()) { + ResourceType type = resourceDefinition.getAnnotation(ResourceType.class); + + if (type == null) { + continue; + } + + @SuppressWarnings("rawtypes") + Int2ObjectMap map = GenshinData.getMapByResourceDef(resourceDefinition); + + if (map == null) { + continue; + } + + try { + loadFromResource(resourceDefinition, type, map); + } catch (Exception e) { + Grasscutter.getLogger().error("Error loading resource file: " + type.name(), e); + } + } + } + + @SuppressWarnings("rawtypes") + protected static void loadFromResource(Class c, ResourceType type, Int2ObjectMap map) throws Exception { + for (String name : type.name()) { + loadFromResource(c, name, map); + } + Grasscutter.getLogger().info("Loaded " + map.size() + " " + c.getSimpleName() + "s."); + } + + @SuppressWarnings({"rawtypes", "unchecked"}) + protected static void loadFromResource(Class c, String fileName, Int2ObjectMap map) throws Exception { + try (FileReader fileReader = new FileReader(Grasscutter.getConfig().RESOURCE_FOLDER + "ExcelBinOutput/" + fileName)) { + List list = Grasscutter.getGsonFactory().fromJson(fileReader, TypeToken.getParameterized(Collection.class, c).getType()); + + for (Object o : list) { + GenshinResource res = (GenshinResource) o; + res.onLoad(); + map.put(res.getId(), res); + } + } + } + + private static void loadAbilityEmbryos() { + // Read from cached file if exists + File embryoCache = new File(Grasscutter.getConfig().DATA_FOLDER + "AbilityEmbryos.json"); + List embryoList = null; + + if (embryoCache.exists()) { + // Load from cache + try (FileReader fileReader = new FileReader(embryoCache)) { + embryoList = Grasscutter.getGsonFactory().fromJson(fileReader, TypeToken.getParameterized(Collection.class, AbilityEmbryoEntry.class).getType()); + } catch (Exception e) { + e.printStackTrace(); + } + } else { + // Load from BinOutput + Pattern pattern = Pattern.compile("(?<=ConfigAvatar_)(.*?)(?=.json)"); + + embryoList = new LinkedList<>(); + File folder = new File(Grasscutter.getConfig().RESOURCE_FOLDER + "BinOutput\\Avatar\\"); + for (File file : folder.listFiles()) { + AvatarConfig config = null; + String avatarName = null; + + Matcher matcher = pattern.matcher(file.getName()); + if (matcher.find()) { + avatarName = matcher.group(0); + } else { + continue; + } + + try (FileReader fileReader = new FileReader(file)) { + config = Grasscutter.getGsonFactory().fromJson(fileReader, AvatarConfig.class); + } catch (Exception e) { + e.printStackTrace(); + continue; + } + + if (config.abilities == null) { + continue; + } + + int s = config.abilities.size(); + AbilityEmbryoEntry al = new AbilityEmbryoEntry(avatarName, config.abilities.stream().map(Object::toString).toArray(size -> new String[s])); + embryoList.add(al); + } + } + + if (embryoList == null || embryoList.isEmpty()) { + Grasscutter.getLogger().error("No embryos loaded!"); + return; + } + + for (AbilityEmbryoEntry entry : embryoList) { + GenshinData.getAbilityEmbryoInfo().put(entry.getName(), entry); + } + } + + private static void loadOpenConfig() { + // Read from cached file if exists + File openConfigCache = new File(Grasscutter.getConfig().DATA_FOLDER + "OpenConfig.json"); + List list = null; + + if (openConfigCache.exists()) { + try (FileReader fileReader = new FileReader(openConfigCache)) { + list = Grasscutter.getGsonFactory().fromJson(fileReader, TypeToken.getParameterized(Collection.class, OpenConfigEntry.class).getType()); + } catch (Exception e) { + e.printStackTrace(); + } + } else { + Map map = new TreeMap<>(); + java.lang.reflect.Type type = new TypeToken>() {}.getType(); + String[] folderNames = {"BinOutput\\Talent\\EquipTalents\\", "BinOutput\\Talent\\AvatarTalents\\"}; + + for (String name : folderNames) { + File folder = new File(Grasscutter.getConfig().RESOURCE_FOLDER + name); + + for (File file : folder.listFiles()) { + if (!file.getName().endsWith(".json")) { + continue; + } + + Map config = null; + + try (FileReader fileReader = new FileReader(file)) { + config = Grasscutter.getGsonFactory().fromJson(fileReader, type); + } catch (Exception e) { + e.printStackTrace(); + continue; + } + + for (Entry e : config.entrySet()) { + List abilityList = new ArrayList<>(); + int extraTalentIndex = 0; + + for (OpenConfigData entry : e.getValue()) { + if (entry.$type.contains("AddAbility")) { + abilityList.add(entry.abilityName); + } else if (entry.talentIndex > 0) { + extraTalentIndex = entry.talentIndex; + } + } + + OpenConfigEntry entry = new OpenConfigEntry(e.getKey(), abilityList, extraTalentIndex); + map.put(entry.getName(), entry); + } + } + } + + list = new ArrayList<>(map.values()); + } + + if (list == null || list.isEmpty()) { + Grasscutter.getLogger().error("No openconfig entries loaded!"); + return; + } + + for (OpenConfigEntry entry : list) { + GenshinData.getOpenConfigEntries().put(entry.getName(), entry); + } + } + + // BinOutput configs + + private static class AvatarConfig { + public ArrayList abilities; + + private static class AvatarConfigAbility { + public String abilityName; + public String toString() { + return abilityName; + } + } + } + + private static class OpenConfig { + public OpenConfigData[] data; + } + + private static class OpenConfigData { + public String $type; + public String abilityName; + public int talentIndex; + } +} diff --git a/src/main/java/emu/grasscutter/data/ResourceType.java b/src/main/java/emu/grasscutter/data/ResourceType.java new file mode 100644 index 00000000..c77f61fc --- /dev/null +++ b/src/main/java/emu/grasscutter/data/ResourceType.java @@ -0,0 +1,32 @@ +package emu.grasscutter.data; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.RUNTIME) +public @interface ResourceType { + + /** Names of the file that this Resource loads from */ + String[] name(); + + /** Load priority - dictates which order to load this resource, with "highest" being loaded first */ + LoadPriority loadPriority() default LoadPriority.NORMAL; + + public enum LoadPriority { + HIGHEST (4), + HIGH (3), + NORMAL (2), + LOW (1), + LOWEST (0); + + private final int value; + + LoadPriority(int value) { + this.value = value; + } + + public int value() { + return value; + } + } +} diff --git a/src/main/java/emu/grasscutter/data/common/CurveInfo.java b/src/main/java/emu/grasscutter/data/common/CurveInfo.java new file mode 100644 index 00000000..00c3de3f --- /dev/null +++ b/src/main/java/emu/grasscutter/data/common/CurveInfo.java @@ -0,0 +1,17 @@ +package emu.grasscutter.data.common; + +public class CurveInfo { + private String Type; + private String Arith; + private float Value; + + public String getType() { + return Type; + } + public String getArith() { + return Arith; + } + public float getValue() { + return Value; + } +} diff --git a/src/main/java/emu/grasscutter/data/common/FightPropData.java b/src/main/java/emu/grasscutter/data/common/FightPropData.java new file mode 100644 index 00000000..aee15a6c --- /dev/null +++ b/src/main/java/emu/grasscutter/data/common/FightPropData.java @@ -0,0 +1,25 @@ +package emu.grasscutter.data.common; + +import emu.grasscutter.game.props.FightProperty; + +public class FightPropData { + private String PropType; + private FightProperty prop; + private float Value; + + public String getPropType() { + return PropType; + } + + public float getValue() { + return Value; + } + + public FightProperty getProp() { + return prop; + } + + public void onLoad() { + this.prop = FightProperty.getPropByName(PropType); + } +} \ No newline at end of file diff --git a/src/main/java/emu/grasscutter/data/common/ItemParamData.java b/src/main/java/emu/grasscutter/data/common/ItemParamData.java new file mode 100644 index 00000000..9ec70f00 --- /dev/null +++ b/src/main/java/emu/grasscutter/data/common/ItemParamData.java @@ -0,0 +1,14 @@ +package emu.grasscutter.data.common; + +public class ItemParamData { + private int Id; + private int Count; + + public int getId() { + return Id; + } + + public int getCount() { + return Count; + } +} diff --git a/src/main/java/emu/grasscutter/data/common/PropGrowCurve.java b/src/main/java/emu/grasscutter/data/common/PropGrowCurve.java new file mode 100644 index 00000000..b8f11233 --- /dev/null +++ b/src/main/java/emu/grasscutter/data/common/PropGrowCurve.java @@ -0,0 +1,13 @@ +package emu.grasscutter.data.common; + +public class PropGrowCurve { + private String Type; + private String GrowCurve; + + public String getType(){ + return this.Type; + } + public String getGrowCurve(){ + return this.GrowCurve; + } +} diff --git a/src/main/java/emu/grasscutter/data/custom/AbilityEmbryoEntry.java b/src/main/java/emu/grasscutter/data/custom/AbilityEmbryoEntry.java new file mode 100644 index 00000000..9c551014 --- /dev/null +++ b/src/main/java/emu/grasscutter/data/custom/AbilityEmbryoEntry.java @@ -0,0 +1,23 @@ +package emu.grasscutter.data.custom; + +public class AbilityEmbryoEntry { + private String name; + private String[] abilities; + + public AbilityEmbryoEntry() { + + } + + public AbilityEmbryoEntry(String avatarName, String[] array) { + this.name = avatarName; + this.abilities = array; + } + + public String getName() { + return name; + } + + public String[] getAbilities() { + return abilities; + } +} diff --git a/src/main/java/emu/grasscutter/data/custom/OpenConfigEntry.java b/src/main/java/emu/grasscutter/data/custom/OpenConfigEntry.java new file mode 100644 index 00000000..d0146763 --- /dev/null +++ b/src/main/java/emu/grasscutter/data/custom/OpenConfigEntry.java @@ -0,0 +1,29 @@ +package emu.grasscutter.data.custom; + +import java.util.List; + +public class OpenConfigEntry { + private String name; + private String[] addAbilities; + private int extraTalentIndex; + + public OpenConfigEntry(String name, List abilityList, int extraTalentIndex) { + this.name = name; + this.extraTalentIndex = extraTalentIndex; + if (abilityList.size() > 0) { + this.addAbilities = abilityList.toArray(new String[0]); + } + } + + public String getName() { + return name; + } + + public String[] getAddAbilities() { + return addAbilities; + } + + public int getExtraTalentIndex() { + return extraTalentIndex; + } +} diff --git a/src/main/java/emu/grasscutter/data/def/AvatarCostumeData.java b/src/main/java/emu/grasscutter/data/def/AvatarCostumeData.java new file mode 100644 index 00000000..b45bac9c --- /dev/null +++ b/src/main/java/emu/grasscutter/data/def/AvatarCostumeData.java @@ -0,0 +1,30 @@ +package emu.grasscutter.data.def; + +import emu.grasscutter.data.GenshinData; +import emu.grasscutter.data.GenshinResource; +import emu.grasscutter.data.ResourceType; + +@ResourceType(name = "AvatarCostumeExcelConfigData.json") +public class AvatarCostumeData extends GenshinResource { + private int CostumeId; + private int ItemId; + private int AvatarId; + + @Override + public int getId() { + return this.CostumeId; + } + + public int getItemId() { + return this.ItemId; + } + + public int getAvatarId() { + return AvatarId; + } + + @Override + public void onLoad() { + GenshinData.getAvatarCostumeDataItemIdMap().put(this.getItemId(), this); + } +} diff --git a/src/main/java/emu/grasscutter/data/def/AvatarCurveData.java b/src/main/java/emu/grasscutter/data/def/AvatarCurveData.java new file mode 100644 index 00000000..da560b2b --- /dev/null +++ b/src/main/java/emu/grasscutter/data/def/AvatarCurveData.java @@ -0,0 +1,36 @@ +package emu.grasscutter.data.def; + +import java.util.HashMap; +import java.util.Map; +import java.util.stream.Stream; + +import emu.grasscutter.data.GenshinResource; +import emu.grasscutter.data.ResourceType; +import emu.grasscutter.data.common.CurveInfo; + +@ResourceType(name = "AvatarCurveExcelConfigData.json") +public class AvatarCurveData extends GenshinResource { + private int Level; + private CurveInfo[] CurveInfos; + + private Map curveInfos; + + @Override + public int getId() { + return this.Level; + } + + public int getLevel() { + return Level; + } + + public Map getCurveInfos() { + return curveInfos; + } + + @Override + public void onLoad() { + this.curveInfos = new HashMap<>(); + Stream.of(this.CurveInfos).forEach(info -> this.curveInfos.put(info.getType(), info.getValue())); + } +} diff --git a/src/main/java/emu/grasscutter/data/def/AvatarData.java b/src/main/java/emu/grasscutter/data/def/AvatarData.java new file mode 100644 index 00000000..dcc50399 --- /dev/null +++ b/src/main/java/emu/grasscutter/data/def/AvatarData.java @@ -0,0 +1,246 @@ +package emu.grasscutter.data.def; + +import java.util.List; + +import emu.grasscutter.data.GenshinData; +import emu.grasscutter.data.GenshinResource; +import emu.grasscutter.data.ResourceType; +import emu.grasscutter.data.ResourceType.LoadPriority; +import emu.grasscutter.data.common.PropGrowCurve; +import emu.grasscutter.data.custom.AbilityEmbryoEntry; +import emu.grasscutter.game.props.FightProperty; +import emu.grasscutter.utils.Utils; +import it.unimi.dsi.fastutil.ints.Int2ObjectMap; +import it.unimi.dsi.fastutil.ints.IntArrayList; +import it.unimi.dsi.fastutil.ints.IntList; + +@ResourceType(name = "AvatarExcelConfigData.json", loadPriority = LoadPriority.LOW) +public class AvatarData extends GenshinResource { + + private String name; + private String IconName; + private String BodyType; + private String QualityType; + private int ChargeEfficiency; + private int InitialWeapon; + private String WeaponType; + private String ImageName; + private int AvatarPromoteId; + private String CutsceneShow; + private int SkillDepotId; + private int StaminaRecoverSpeed; + private List CandSkillDepotIds; + private long DescTextMapHash; + private String AvatarIdentityType; + private List AvatarPromoteRewardLevelList; + private List AvatarPromoteRewardIdList; + private int FeatureTagGroupID; + + private long NameTextMapHash; + private long GachaImageNameHashSuffix; + private long InfoDescTextMapHash; + + private float HpBase; + private float AttackBase; + private float DefenseBase; + private float Critical; + private float CriticalHurt; + + private List PropGrowCurves; + private int Id; + + private Int2ObjectMap growthCurveMap; + private float[] hpGrowthCurve; + private float[] attackGrowthCurve; + private float[] defenseGrowthCurve; + private AvatarSkillDepotData skillDepot; + private IntList abilities; + + @Override + public int getId(){ + return this.Id; + } + + public String getName() { + return name; + } + + public String getBodyType(){ + return this.BodyType; + } + + public String getQualityType(){ + return this.QualityType; + } + + public int getChargeEfficiency(){ + return this.ChargeEfficiency; + } + + public int getInitialWeapon(){ + return this.InitialWeapon; + } + + public String getWeaponType(){ + return this.WeaponType; + } + + public String getImageName(){ + return this.ImageName; + } + + public int getAvatarPromoteId(){ + return this.AvatarPromoteId; + } + + public long getGachaImageNameHashSuffix(){ + return this.GachaImageNameHashSuffix; + } + + public String getCutsceneShow(){ + return this.CutsceneShow; + } + + public int getSkillDepotId(){ + return this.SkillDepotId; + } + + public int getStaminaRecoverSpeed(){ + return this.StaminaRecoverSpeed; + } + + public List getCandSkillDepotIds(){ + return this.CandSkillDepotIds; + } + + public long getDescTextMapHash(){ + return this.DescTextMapHash; + } + + public String getAvatarIdentityType(){ + return this.AvatarIdentityType; + } + + public List getAvatarPromoteRewardLevelList(){ + return this.AvatarPromoteRewardLevelList; + } + + public List getAvatarPromoteRewardIdList(){ + return this.AvatarPromoteRewardIdList; + } + + public int getFeatureTagGroupID(){ + return this.FeatureTagGroupID; + } + + public long getInfoDescTextMapHash(){ + return this.InfoDescTextMapHash; + } + + public float getBaseHp(int level){ + try { + return this.HpBase * this.hpGrowthCurve[level - 1]; + } catch (Exception e) { + return this.HpBase; + } + } + + public float getBaseAttack(int level){ + try { + return this.AttackBase * this.attackGrowthCurve[level - 1]; + } catch (Exception e) { + return this.AttackBase; + } + } + + public float getBaseDefense(int level){ + try { + return this.DefenseBase * this.defenseGrowthCurve[level - 1]; + } catch (Exception e) { + return this.DefenseBase; + } + } + + public float getBaseCritical(){ + return this.Critical; + } + + public float getBaseCriticalHurt(){ + return this.CriticalHurt; + } + + public float getGrowthCurveById(int level, FightProperty prop) { + String growCurve = this.growthCurveMap.get(prop.getId()); + if (growCurve == null) { + return 1f; + } + AvatarCurveData curveData = GenshinData.getAvatarCurveDataMap().get(level); + if (curveData == null) { + return 1f; + } + return curveData.getCurveInfos().getOrDefault(growCurve, 1f); + } + + public long getNameTextMapHash(){ + return this.NameTextMapHash; + } + + public AvatarSkillDepotData getSkillDepot() { + return skillDepot; + } + + public IntList getAbilities() { + return abilities; + } + + @Override + public void onLoad() { + this.skillDepot = GenshinData.getAvatarSkillDepotDataMap().get(this.SkillDepotId); + + int size = GenshinData.getAvatarCurveDataMap().size(); + this.hpGrowthCurve = new float[size]; + this.attackGrowthCurve = new float[size]; + this.defenseGrowthCurve = new float[size]; + for (AvatarCurveData curveData : GenshinData.getAvatarCurveDataMap().values()) { + int level = curveData.getLevel() - 1; + for (PropGrowCurve growCurve : this.PropGrowCurves) { + FightProperty prop = FightProperty.getPropByName(growCurve.getType()); + switch (prop) { + case FIGHT_PROP_BASE_HP: + this.hpGrowthCurve[level] = curveData.getCurveInfos().get(growCurve.getGrowCurve()); + break; + case FIGHT_PROP_BASE_ATTACK: + this.attackGrowthCurve[level] = curveData.getCurveInfos().get(growCurve.getGrowCurve()); + break; + case FIGHT_PROP_BASE_DEFENSE: + this.defenseGrowthCurve[level] = curveData.getCurveInfos().get(growCurve.getGrowCurve()); + break; + default: + break; + } + } + } + + /* + for (PropGrowCurve growCurve : this.PropGrowCurves) { + FightProperty prop = FightProperty.getPropByName(growCurve.getType()); + this.growthCurveMap.put(prop.getId(), growCurve.getGrowCurve()); + } + */ + + // Cache abilities + String[] split = this.IconName.split("_"); + if (split.length > 0) { + this.name = split[split.length - 1]; + + AbilityEmbryoEntry info = GenshinData.getAbilityEmbryoInfo().get(this.name); + if (info != null) { + this.abilities = new IntArrayList(info.getAbilities().length); + for (String ability : info.getAbilities()) { + this.abilities.add(Utils.abilityHash(ability)); + } + } + } + } +} + diff --git a/src/main/java/emu/grasscutter/data/def/AvatarFlycloakData.java b/src/main/java/emu/grasscutter/data/def/AvatarFlycloakData.java new file mode 100644 index 00000000..29d04cce --- /dev/null +++ b/src/main/java/emu/grasscutter/data/def/AvatarFlycloakData.java @@ -0,0 +1,24 @@ +package emu.grasscutter.data.def; + +import emu.grasscutter.data.GenshinResource; +import emu.grasscutter.data.ResourceType; + +@ResourceType(name = "AvatarFlycloakExcelConfigData.json") +public class AvatarFlycloakData extends GenshinResource { + private int FlycloakId; + private long NameTextMapHash; + + @Override + public int getId() { + return this.FlycloakId; + } + + public long getNameTextMapHash() { + return NameTextMapHash; + } + + @Override + public void onLoad() { + + } +} diff --git a/src/main/java/emu/grasscutter/data/def/AvatarLevelData.java b/src/main/java/emu/grasscutter/data/def/AvatarLevelData.java new file mode 100644 index 00000000..f7586f69 --- /dev/null +++ b/src/main/java/emu/grasscutter/data/def/AvatarLevelData.java @@ -0,0 +1,23 @@ +package emu.grasscutter.data.def; + +import emu.grasscutter.data.GenshinResource; +import emu.grasscutter.data.ResourceType; + +@ResourceType(name = "AvatarLevelExcelConfigData.json") +public class AvatarLevelData extends GenshinResource { + private int Level; + private int Exp; + + @Override + public int getId() { + return this.Level; + } + + public int getLevel() { + return Level; + } + + public int getExp() { + return Exp; + } +} diff --git a/src/main/java/emu/grasscutter/data/def/AvatarPromoteData.java b/src/main/java/emu/grasscutter/data/def/AvatarPromoteData.java new file mode 100644 index 00000000..2a40d44a --- /dev/null +++ b/src/main/java/emu/grasscutter/data/def/AvatarPromoteData.java @@ -0,0 +1,74 @@ +package emu.grasscutter.data.def; + +import java.util.ArrayList; +import emu.grasscutter.data.GenshinResource; +import emu.grasscutter.data.ResourceType; +import emu.grasscutter.data.common.FightPropData; +import emu.grasscutter.data.common.ItemParamData; + +@ResourceType(name = "AvatarPromoteExcelConfigData.json") +public class AvatarPromoteData extends GenshinResource { + + private int AvatarPromoteId; + private int PromoteLevel; + private int ScoinCost; + private ItemParamData[] CostItems; + private int UnlockMaxLevel; + private FightPropData[] AddProps; + private int RequiredPlayerLevel; + + @Override + public int getId() { + return (AvatarPromoteId << 8) + PromoteLevel; + } + + public int getAvatarPromoteId() { + return AvatarPromoteId; + } + + public int getPromoteLevel() { + return PromoteLevel; + } + + public ItemParamData[] getCostItems() { + return CostItems; + } + + public int getCoinCost() { + return ScoinCost; + } + + public FightPropData[] getAddProps() { + return AddProps; + } + + public int getUnlockMaxLevel() { + return UnlockMaxLevel; + } + + public int getRequiredPlayerLevel() { + return RequiredPlayerLevel; + } + + @Override + public void onLoad() { + // Trim item params + ArrayList trim = new ArrayList<>(getAddProps().length); + for (ItemParamData itemParam : getCostItems()) { + if (itemParam.getId() == 0) { + continue; + } + trim.add(itemParam); + } + this.CostItems = trim.toArray(new ItemParamData[trim.size()]); + // Trim fight prop data (just in case) + ArrayList parsed = new ArrayList<>(getAddProps().length); + for (FightPropData prop : getAddProps()) { + if (prop.getPropType() != null && prop.getValue() != 0f) { + prop.onLoad(); + parsed.add(prop); + } + } + this.AddProps = parsed.toArray(new FightPropData[parsed.size()]); + } +} diff --git a/src/main/java/emu/grasscutter/data/def/AvatarSkillData.java b/src/main/java/emu/grasscutter/data/def/AvatarSkillData.java new file mode 100644 index 00000000..147c22d1 --- /dev/null +++ b/src/main/java/emu/grasscutter/data/def/AvatarSkillData.java @@ -0,0 +1,84 @@ +package emu.grasscutter.data.def; + +import java.util.List; + +import emu.grasscutter.data.GenshinResource; +import emu.grasscutter.data.ResourceType; +import emu.grasscutter.data.ResourceType.LoadPriority; + +@ResourceType(name = "AvatarSkillExcelConfigData.json", loadPriority = LoadPriority.HIGHEST) +public class AvatarSkillData extends GenshinResource { + private int Id; + private float CdTime; + private int CostElemVal; + private int MaxChargeNum; + private int TriggerID; + private boolean IsAttackCameraLock; + private int ProudSkillGroupId; + private String CostElemType; + private List LockWeightParams; + + private long NameTextMapHash; + + private String AbilityName; + private String LockShape; + private String GlobalValueKey; + + @Override + public int getId(){ + return this.Id; + } + + public float getCdTime() { + return CdTime; + } + + public int getCostElemVal() { + return CostElemVal; + } + + public int getMaxChargeNum() { + return MaxChargeNum; + } + + public int getTriggerID() { + return TriggerID; + } + + public boolean isIsAttackCameraLock() { + return IsAttackCameraLock; + } + + public int getProudSkillGroupId() { + return ProudSkillGroupId; + } + + public String getCostElemType() { + return CostElemType; + } + + public List getLockWeightParams() { + return LockWeightParams; + } + + public long getNameTextMapHash() { + return NameTextMapHash; + } + + public String getAbilityName() { + return AbilityName; + } + + public String getLockShape() { + return LockShape; + } + + public String getGlobalValueKey() { + return GlobalValueKey; + } + + @Override + public void onLoad() { + + } +} diff --git a/src/main/java/emu/grasscutter/data/def/AvatarSkillDepotData.java b/src/main/java/emu/grasscutter/data/def/AvatarSkillDepotData.java new file mode 100644 index 00000000..4beb6ec8 --- /dev/null +++ b/src/main/java/emu/grasscutter/data/def/AvatarSkillDepotData.java @@ -0,0 +1,123 @@ +package emu.grasscutter.data.def; + +import java.util.List; + +import emu.grasscutter.data.GenshinData; +import emu.grasscutter.data.GenshinResource; +import emu.grasscutter.data.ResourceType; +import emu.grasscutter.data.ResourceType.LoadPriority; +import emu.grasscutter.data.custom.AbilityEmbryoEntry; +import emu.grasscutter.game.props.ElementType; +import emu.grasscutter.utils.Utils; +import it.unimi.dsi.fastutil.ints.IntArrayList; +import it.unimi.dsi.fastutil.ints.IntList; + +@ResourceType(name = "AvatarSkillDepotExcelConfigData.json", loadPriority = LoadPriority.HIGH) +public class AvatarSkillDepotData extends GenshinResource { + + private int Id; + private int EnergySkill; + private int AttackModeSkill; + + private List Skills; + private List SubSkills; + private List ExtraAbilities; + private List Talents; + private List InherentProudSkillOpens; + + private String TalentStarName; + private String SkillDepotAbilityGroup; + + private AvatarSkillData energySkillData; + private ElementType elementType; + private IntList abilities; + + @Override + public int getId(){ + return this.Id; + } + + public int getEnergySkill(){ + return this.EnergySkill; + } + + public List getSkills(){ + return this.Skills; + } + + public List getSubSkills(){ + return this.SubSkills; + } + + public int getAttackModeSkill(){ + return this.AttackModeSkill; + } + + public List getExtraAbilities(){ + return this.ExtraAbilities; + } + + public List getTalents(){ + return this.Talents; + } + + public String getTalentStarName(){ + return this.TalentStarName; + } + + public List getInherentProudSkillOpens(){ + return this.InherentProudSkillOpens; + } + + public String getSkillDepotAbilityGroup(){ + return this.SkillDepotAbilityGroup; + } + + public AvatarSkillData getEnergySkillData() { + return this.energySkillData; + } + + public ElementType getElementType() { + return elementType; + } + + public IntList getAbilities() { + return abilities; + } + + public void setAbilities(AbilityEmbryoEntry info) { + this.abilities = new IntArrayList(info.getAbilities().length); + for (String ability : info.getAbilities()) { + this.abilities.add(Utils.abilityHash(ability)); + } + } + + @Override + public void onLoad() { + this.energySkillData = GenshinData.getAvatarSkillDataMap().get(this.EnergySkill); + if (getEnergySkillData() != null) { + this.elementType = ElementType.getTypeByName(getEnergySkillData().getCostElemType()); + } else { + this.elementType = ElementType.None; + } + } + + public static class InherentProudSkillOpens { + private int ProudSkillGroupId; + + private int NeedAvatarPromoteLevel; + + public void setProudSkillGroupId(int ProudSkillGroupId){ + this.ProudSkillGroupId = ProudSkillGroupId; + } + public int getProudSkillGroupId(){ + return this.ProudSkillGroupId; + } + public void setNeedAvatarPromoteLevel(int NeedAvatarPromoteLevel){ + this.NeedAvatarPromoteLevel = NeedAvatarPromoteLevel; + } + public int getNeedAvatarPromoteLevel(){ + return this.NeedAvatarPromoteLevel; + } + } +} diff --git a/src/main/java/emu/grasscutter/data/def/AvatarTalentData.java b/src/main/java/emu/grasscutter/data/def/AvatarTalentData.java new file mode 100644 index 00000000..6708da8c --- /dev/null +++ b/src/main/java/emu/grasscutter/data/def/AvatarTalentData.java @@ -0,0 +1,69 @@ +package emu.grasscutter.data.def; + +import java.util.ArrayList; +import emu.grasscutter.data.GenshinResource; +import emu.grasscutter.data.ResourceType; +import emu.grasscutter.data.ResourceType.LoadPriority; +import emu.grasscutter.data.common.FightPropData; + +@ResourceType(name = "AvatarTalentExcelConfigData.json", loadPriority = LoadPriority.HIGHEST) +public class AvatarTalentData extends GenshinResource { + private int TalentId; + private int PrevTalent; + private long NameTextMapHash; + private String Icon; + private int MainCostItemId; + private int MainCostItemCount; + private String OpenConfig; + private FightPropData[] AddProps; + private float[] ParamList; + + @Override + public int getId(){ + return this.TalentId; + } + + public int PrevTalent() { + return PrevTalent; + } + + public long getNameTextMapHash() { + return NameTextMapHash; + } + + public String getIcon() { + return Icon; + } + + public int getMainCostItemId() { + return MainCostItemId; + } + + public int getMainCostItemCount() { + return MainCostItemCount; + } + + public String getOpenConfig() { + return OpenConfig; + } + + public FightPropData[] getAddProps() { + return AddProps; + } + + public float[] getParamList() { + return ParamList; + } + + @Override + public void onLoad() { + ArrayList parsed = new ArrayList(getAddProps().length); + for (FightPropData prop : getAddProps()) { + if (prop.getPropType() != null || prop.getValue() == 0f) { + prop.onLoad(); + parsed.add(prop); + } + } + this.AddProps = parsed.toArray(new FightPropData[parsed.size()]); + } +} diff --git a/src/main/java/emu/grasscutter/data/def/EquipAffixData.java b/src/main/java/emu/grasscutter/data/def/EquipAffixData.java new file mode 100644 index 00000000..af08276d --- /dev/null +++ b/src/main/java/emu/grasscutter/data/def/EquipAffixData.java @@ -0,0 +1,59 @@ +package emu.grasscutter.data.def; + +import java.util.ArrayList; +import emu.grasscutter.data.GenshinResource; +import emu.grasscutter.data.ResourceType; +import emu.grasscutter.data.common.FightPropData; + +@ResourceType(name = "EquipAffixExcelConfigData.json") +public class EquipAffixData extends GenshinResource { + + private int AffixId; + private int Id; + private int Level; + private long NameTextMapHash; + private String OpenConfig; + private FightPropData[] AddProps; + private float[] ParamList; + + @Override + public int getId() { + return AffixId; + } + + public int getMainId() { + return Id; + } + + public int getLevel() { + return Level; + } + + public long getNameTextMapHash() { + return NameTextMapHash; + } + + public String getOpenConfig() { + return OpenConfig; + } + + public FightPropData[] getAddProps() { + return AddProps; + } + + public float[] getParamList() { + return ParamList; + } + + @Override + public void onLoad() { + ArrayList parsed = new ArrayList(getAddProps().length); + for (FightPropData prop : getAddProps()) { + if (prop.getPropType() != null || prop.getValue() == 0f) { + prop.onLoad(); + parsed.add(prop); + } + } + this.AddProps = parsed.toArray(new FightPropData[parsed.size()]); + } +} diff --git a/src/main/java/emu/grasscutter/data/def/GadgetData.java b/src/main/java/emu/grasscutter/data/def/GadgetData.java new file mode 100644 index 00000000..ec775486 --- /dev/null +++ b/src/main/java/emu/grasscutter/data/def/GadgetData.java @@ -0,0 +1,60 @@ +package emu.grasscutter.data.def; + +import emu.grasscutter.data.GenshinResource; +import emu.grasscutter.data.ResourceType; + +@ResourceType(name = "GadgetExcelConfigData.json") +public class GadgetData extends GenshinResource { + private int Id; + + private String Type; + private String JsonName; + private boolean IsInteractive; + private String[] Tags; + private String ItemJsonName; + private String InteeIconName; + private long NameTextMapHash; + private int CampID; + + @Override + public int getId() { + return this.Id; + } + + public String getType() { + return Type; + } + + public String getJsonName() { + return JsonName; + } + + public boolean isInteractive() { + return IsInteractive; + } + + public String[] getTags() { + return Tags; + } + + public String getItemJsonName() { + return ItemJsonName; + } + + public String getInteeIconName() { + return InteeIconName; + } + + public long getNameTextMapHash() { + return NameTextMapHash; + } + + public int getCampID() { + return CampID; + } + + @Override + public void onLoad() { + + } +} diff --git a/src/main/java/emu/grasscutter/data/def/ItemData.java b/src/main/java/emu/grasscutter/data/def/ItemData.java new file mode 100644 index 00000000..6c87afea --- /dev/null +++ b/src/main/java/emu/grasscutter/data/def/ItemData.java @@ -0,0 +1,253 @@ +package emu.grasscutter.data.def; + +import emu.grasscutter.data.GenshinResource; +import emu.grasscutter.data.ResourceType; +import emu.grasscutter.game.props.FightProperty; +import it.unimi.dsi.fastutil.ints.IntOpenHashSet; +import it.unimi.dsi.fastutil.ints.IntSet; + +@ResourceType(name = {"MaterialExcelConfigData.json", "WeaponExcelConfigData.json", "ReliquaryExcelConfigData.json"}) +public class ItemData extends GenshinResource { + + private int Id; + private int StackLimit = 1; + private int MaxUseCount; + private int RankLevel; + private String EffectName; + private int[] SatiationParams; + private int Rank; + private int Weight; + private int GadgetId; + + private int[] DestroyReturnMaterial; + private int[] DestroyReturnMaterialCount; + + // Food + private String FoodQuality; + private String UseTarget; + private String[] UseParam; + + // String enums + private String ItemType; + private String MaterialType; + private String EquipType; + private String EffectType; + private String DestroyRule; + + // Relic + private int MainPropDepotId; + private int AppendPropDepotId; + private int AppendPropNum; + private int SetId; + private int[] AddPropLevels; + private int BaseConvExp; + private int MaxLevel; + + // Weapon + private int WeaponPromoteId; + private int WeaponBaseExp; + private int StoryId; + private int AvatarPromoteId; + private int[] AwakenCosts; + private int[] SkillAffix; + private WeaponProperty[] WeaponProp; + + // Hash + private String Icon; + private long NameTextMapHash; + + // Post load + private transient emu.grasscutter.game.inventory.MaterialType materialType; + private transient emu.grasscutter.game.inventory.ItemType itemType; + private transient emu.grasscutter.game.inventory.EquipType equipType; + + private IntSet addPropLevelSet; + + @Override + public int getId(){ + return this.Id; + } + + public String getMaterialTypeString(){ + return this.MaterialType; + } + + public int getStackLimit(){ + return this.StackLimit; + } + + public int getMaxUseCount(){ + return this.MaxUseCount; + } + + public String getUseTarget(){ + return this.UseTarget; + } + + public String[] getUseParam(){ + return this.UseParam; + } + + public int getRankLevel(){ + return this.RankLevel; + } + + public String getFoodQuality(){ + return this.FoodQuality; + } + + public String getEffectName(){ + return this.EffectName; + } + + public int[] getSatiationParams(){ + return this.SatiationParams; + } + + public int[] getDestroyReturnMaterial(){ + return this.DestroyReturnMaterial; + } + + public int[] getDestroyReturnMaterialCount(){ + return this.DestroyReturnMaterialCount; + } + + public long getNameTextMapHash(){ + return this.NameTextMapHash; + } + + public String getIcon(){ + return this.Icon; + } + + public String getItemTypeString(){ + return this.ItemType; + } + + public int getRank(){ + return this.Rank; + } + + public int getGadgetId() { + return GadgetId; + } + + public int getBaseConvExp() { + return BaseConvExp; + } + + public int getMainPropDepotId() { + return MainPropDepotId; + } + + public int getAppendPropDepotId() { + return AppendPropDepotId; + } + + public int getAppendPropNum() { + return AppendPropNum; + } + + public int getSetId() { + return SetId; + } + + public int getWeaponPromoteId() { + return WeaponPromoteId; + } + + public int getWeaponBaseExp() { + return WeaponBaseExp; + } + + public int[] getAwakenCosts() { + return AwakenCosts; + } + + public IntSet getAddPropLevelSet() { + return addPropLevelSet; + } + + public int[] getSkillAffix() { + return SkillAffix; + } + + public WeaponProperty[] getWeaponProperties() { + return WeaponProp; + } + + public int getMaxLevel() { + return MaxLevel; + } + + public emu.grasscutter.game.inventory.ItemType getItemType() { + return this.itemType; + } + + public emu.grasscutter.game.inventory.MaterialType getMaterialType() { + return this.materialType; + } + + public emu.grasscutter.game.inventory.EquipType getEquipType() { + return this.equipType; + } + + public boolean canAddRelicProp(int level) { + return this.addPropLevelSet != null & this.addPropLevelSet.contains(level); + } + + public boolean isEquip() { + return this.itemType == emu.grasscutter.game.inventory.ItemType.ITEM_RELIQUARY || this.itemType == emu.grasscutter.game.inventory.ItemType.ITEM_WEAPON; + } + + @Override + public void onLoad() { + this.itemType = emu.grasscutter.game.inventory.ItemType.getTypeByName(getItemTypeString()); + this.materialType = emu.grasscutter.game.inventory.MaterialType.getTypeByName(getMaterialTypeString()); + + if (this.itemType == emu.grasscutter.game.inventory.ItemType.ITEM_RELIQUARY) { + this.equipType = emu.grasscutter.game.inventory.EquipType.getTypeByName(this.EquipType); + if (this.AddPropLevels != null && this.AddPropLevels.length > 0) { + this.addPropLevelSet = new IntOpenHashSet(this.AddPropLevels); + } + } else if (this.itemType == emu.grasscutter.game.inventory.ItemType.ITEM_WEAPON) { + this.equipType = emu.grasscutter.game.inventory.EquipType.EQUIP_WEAPON; + } else { + this.equipType = emu.grasscutter.game.inventory.EquipType.EQUIP_NONE; + } + + if (this.getWeaponProperties() != null) { + for (WeaponProperty weaponProperty : this.getWeaponProperties()) { + weaponProperty.onLoad(); + } + } + } + + public static class WeaponProperty { + private FightProperty fightProp; + private String PropType; + private float InitValue; + private String Type; + + public String getPropType(){ + return this.PropType; + } + + public float getInitValue(){ + return this.InitValue; + } + + public String getType(){ + return this.Type; + } + + public FightProperty getFightProp() { + return fightProp; + } + + public void onLoad() { + this.fightProp = FightProperty.getPropByName(PropType); + } + + } +} \ No newline at end of file diff --git a/src/main/java/emu/grasscutter/data/def/MonsterCurveData.java b/src/main/java/emu/grasscutter/data/def/MonsterCurveData.java new file mode 100644 index 00000000..77a44bd6 --- /dev/null +++ b/src/main/java/emu/grasscutter/data/def/MonsterCurveData.java @@ -0,0 +1,32 @@ +package emu.grasscutter.data.def; + +import java.util.HashMap; +import java.util.Map; +import java.util.stream.Stream; + +import emu.grasscutter.data.GenshinResource; +import emu.grasscutter.data.ResourceType; +import emu.grasscutter.data.common.CurveInfo; + +@ResourceType(name = "MonsterCurveExcelConfigData.json") +public class MonsterCurveData extends GenshinResource { + private int Level; + private CurveInfo[] CurveInfos; + + private Map curveInfos; + + @Override + public int getId() { + return Level; + } + + public float getMultByProp(String fightProp) { + return curveInfos.getOrDefault(fightProp, 1f); + } + + @Override + public void onLoad() { + this.curveInfos = new HashMap<>(); + Stream.of(this.CurveInfos).forEach(info -> this.curveInfos.put(info.getType(), info.getValue())); + } +} diff --git a/src/main/java/emu/grasscutter/data/def/MonsterData.java b/src/main/java/emu/grasscutter/data/def/MonsterData.java new file mode 100644 index 00000000..2cf41bf7 --- /dev/null +++ b/src/main/java/emu/grasscutter/data/def/MonsterData.java @@ -0,0 +1,198 @@ +package emu.grasscutter.data.def; + +import java.util.List; + +import emu.grasscutter.data.GenshinData; +import emu.grasscutter.data.GenshinResource; +import emu.grasscutter.data.ResourceType; +import emu.grasscutter.data.ResourceType.LoadPriority; +import emu.grasscutter.data.common.PropGrowCurve; + +@ResourceType(name = "MonsterExcelConfigData.json", loadPriority = LoadPriority.LOW) +public class MonsterData extends GenshinResource { + private int Id; + + private String MonsterName; + private String Type; + private String ServerScript; + private List Affix; + private String Ai; + private int[] Equips; + private List HpDrops; + private int KillDropId; + private String ExcludeWeathers; + private int FeatureTagGroupID; + private int MpPropID; + private String Skin; + private int DescribeId; + private int CombatBGMLevel; + private int EntityBudgetLevel; + private float HpBase; + private float AttackBase; + private float DefenseBase; + private float FireSubHurt; + private float ElecSubHurt; + private float GrassSubHurt; + private float WaterSubHurt; + private float WindSubHurt; + private float RockSubHurt; + private float IceSubHurt; + private float PhysicalSubHurt; + private List PropGrowCurves; + private long NameTextMapHash; + private int CampID; + + private int weaponId; + private MonsterDescribeData describeData; + + @Override + public int getId() { + return this.Id; + } + + public String getMonsterName() { + return MonsterName; + } + + public String getType() { + return Type; + } + + public String getServerScript() { + return ServerScript; + } + + public List getAffix() { + return Affix; + } + + public String getAi() { + return Ai; + } + + public int[] getEquips() { + return Equips; + } + + public List getHpDrops() { + return HpDrops; + } + + public int getKillDropId() { + return KillDropId; + } + + public String getExcludeWeathers() { + return ExcludeWeathers; + } + + public int getFeatureTagGroupID() { + return FeatureTagGroupID; + } + + public int getMpPropID() { + return MpPropID; + } + + public String getSkin() { + return Skin; + } + + public int getDescribeId() { + return DescribeId; + } + + public int getCombatBGMLevel() { + return CombatBGMLevel; + } + + public int getEntityBudgetLevel() { + return EntityBudgetLevel; + } + + public float getBaseHp() { + return HpBase; + } + + public float getBaseAttack() { + return AttackBase; + } + + public float getBaseDefense() { + return DefenseBase; + } + + public float getElecSubHurt() { + return ElecSubHurt; + } + + public float getGrassSubHurt() { + return GrassSubHurt; + } + + public float getWaterSubHurt() { + return WaterSubHurt; + } + + public float getWindSubHurt() { + return WindSubHurt; + } + + public float getIceSubHurt() { + return IceSubHurt; + } + + public float getPhysicalSubHurt() { + return PhysicalSubHurt; + } + + public List getPropGrowCurves() { + return PropGrowCurves; + } + + public long getNameTextMapHash() { + return NameTextMapHash; + } + + public int getCampID() { + return CampID; + } + + public MonsterDescribeData getDescribeData() { + return describeData; + } + + public int getWeaponId() { + return weaponId; + } + + @Override + public void onLoad() { + this.describeData = GenshinData.getMonsterDescribeDataMap().get(this.getDescribeId()); + + for (int id : this.Equips) { + if (id == 0) { + continue; + } + GadgetData gadget = GenshinData.getGadgetDataMap().get(id); + if (gadget == null) { + continue; + } + if (gadget.getItemJsonName().equals("Default_MonsterWeapon")) { + this.weaponId = id; + } + } + } + + public class HpDrops { + private int DropId; + private int HpPercent; + + public int getDropId(){ + return this.DropId; + } + public int getHpPercent(){ + return this.HpPercent; + } + } +} diff --git a/src/main/java/emu/grasscutter/data/def/MonsterDescribeData.java b/src/main/java/emu/grasscutter/data/def/MonsterDescribeData.java new file mode 100644 index 00000000..6d6271a7 --- /dev/null +++ b/src/main/java/emu/grasscutter/data/def/MonsterDescribeData.java @@ -0,0 +1,40 @@ +package emu.grasscutter.data.def; + +import emu.grasscutter.data.GenshinResource; +import emu.grasscutter.data.ResourceType; +import emu.grasscutter.data.ResourceType.LoadPriority; + +@ResourceType(name = "MonsterDescribeExcelConfigData.json", loadPriority = LoadPriority.HIGH) +public class MonsterDescribeData extends GenshinResource { + private int Id; + private long NameTextMapHash; + private int TitleID; + private int SpecialNameLabID; + private String Icon; + + @Override + public int getId() { + return Id; + } + + public long getNameTextMapHash() { + return NameTextMapHash; + } + + public int getTitleID() { + return TitleID; + } + + public int getSpecialNameLabID() { + return SpecialNameLabID; + } + + public String getIcon() { + return Icon; + } + + @Override + public void onLoad() { + + } +} diff --git a/src/main/java/emu/grasscutter/data/def/NpcData.java b/src/main/java/emu/grasscutter/data/def/NpcData.java new file mode 100644 index 00000000..ad08ca9e --- /dev/null +++ b/src/main/java/emu/grasscutter/data/def/NpcData.java @@ -0,0 +1,72 @@ +package emu.grasscutter.data.def; + +import emu.grasscutter.data.GenshinResource; +import emu.grasscutter.data.ResourceType; + +@ResourceType(name = "NpcExcelConfigData.json") +public class NpcData extends GenshinResource { + private int Id; + + private String JsonName; + private String Alias; + private String ScriptDataPath; + private String LuaDataPath; + + private boolean IsInteractive; + private boolean HasMove; + private String DyePart; + private String BillboardIcon; + + private long NameTextMapHash; + private int CampID; + + @Override + public int getId() { + return this.Id; + } + + public String getJsonName() { + return JsonName; + } + + public String getAlias() { + return Alias; + } + + public String getScriptDataPath() { + return ScriptDataPath; + } + + public String getLuaDataPath() { + return LuaDataPath; + } + + public boolean isIsInteractive() { + return IsInteractive; + } + + public boolean isHasMove() { + return HasMove; + } + + public String getDyePart() { + return DyePart; + } + + public String getBillboardIcon() { + return BillboardIcon; + } + + public long getNameTextMapHash() { + return NameTextMapHash; + } + + public int getCampID() { + return CampID; + } + + @Override + public void onLoad() { + + } +} diff --git a/src/main/java/emu/grasscutter/data/def/PlayerLevelData.java b/src/main/java/emu/grasscutter/data/def/PlayerLevelData.java new file mode 100644 index 00000000..3735b7e5 --- /dev/null +++ b/src/main/java/emu/grasscutter/data/def/PlayerLevelData.java @@ -0,0 +1,33 @@ +package emu.grasscutter.data.def; + +import emu.grasscutter.data.GenshinResource; +import emu.grasscutter.data.ResourceType; + +@ResourceType(name = "PlayerLevelExcelConfigData.json") +public class PlayerLevelData extends GenshinResource { + private int Level; + private int Exp; + private int RewardId; + private int UnlockWorldLevel; + + @Override + public int getId() { + return this.Level; + } + + public int getLevel() { + return Level; + } + + public int getExp() { + return Exp; + } + + public int getRewardId() { + return RewardId; + } + + public int getUnlockWorldLevel() { + return UnlockWorldLevel; + } +} diff --git a/src/main/java/emu/grasscutter/data/def/ProudSkillData.java b/src/main/java/emu/grasscutter/data/def/ProudSkillData.java new file mode 100644 index 00000000..6ffb180d --- /dev/null +++ b/src/main/java/emu/grasscutter/data/def/ProudSkillData.java @@ -0,0 +1,101 @@ +package emu.grasscutter.data.def; + +import java.util.ArrayList; +import java.util.List; + +import emu.grasscutter.data.GenshinResource; +import emu.grasscutter.data.ResourceType; +import emu.grasscutter.data.common.FightPropData; +import emu.grasscutter.data.common.ItemParamData; + +@ResourceType(name = "ProudSkillExcelConfigData.json") +public class ProudSkillData extends GenshinResource { + + private int ProudSkillId; + private int ProudSkillGroupId; + private int Level; + private int CoinCost; + private int BreakLevel; + private int ProudSkillType; + private String OpenConfig; + private List CostItems; + private List FilterConds; + private List LifeEffectParams; + private FightPropData[] AddProps; + private float[] ParamList; + private long[] ParamDescList; + private long NameTextMapHash; + + @Override + public int getId() { + return ProudSkillId; + } + + public int getProudSkillGroupId() { + return ProudSkillGroupId; + } + + public int getLevel() { + return Level; + } + + public int getCoinCost() { + return CoinCost; + } + + public int getBreakLevel() { + return BreakLevel; + } + + public int getProudSkillType() { + return ProudSkillType; + } + + public String getOpenConfig() { + return OpenConfig; + } + + public List getCostItems() { + return CostItems; + } + + public List getFilterConds() { + return FilterConds; + } + + public List getLifeEffectParams() { + return LifeEffectParams; + } + + public FightPropData[] getAddProps() { + return AddProps; + } + + public float[] getParamList() { + return ParamList; + } + + public long[] getParamDescList() { + return ParamDescList; + } + + public long getNameTextMapHash() { + return NameTextMapHash; + } + + @Override + public void onLoad() { + if (this.getOpenConfig() != null & this.getOpenConfig().length() > 0) { + this.OpenConfig = "Avatar_" + this.getOpenConfig(); + } + // Fight props + ArrayList parsed = new ArrayList(getAddProps().length); + for (FightPropData prop : getAddProps()) { + if (prop.getPropType() != null && prop.getValue() != 0f) { + prop.onLoad(); + parsed.add(prop); + } + } + this.AddProps = parsed.toArray(new FightPropData[parsed.size()]); + } +} diff --git a/src/main/java/emu/grasscutter/data/def/ReliquaryAffixData.java b/src/main/java/emu/grasscutter/data/def/ReliquaryAffixData.java new file mode 100644 index 00000000..25e7693c --- /dev/null +++ b/src/main/java/emu/grasscutter/data/def/ReliquaryAffixData.java @@ -0,0 +1,48 @@ +package emu.grasscutter.data.def; + +import emu.grasscutter.data.GenshinResource; +import emu.grasscutter.data.ResourceType; +import emu.grasscutter.game.props.FightProperty; + +@ResourceType(name = "ReliquaryAffixExcelConfigData.json") +public class ReliquaryAffixData extends GenshinResource { + private int Id; + + private int DepotId; + private int GroupId; + private String PropType; + private float PropValue; + private int Weight; + private int UpgradeWeight; + + private FightProperty fightProp; + + @Override + public int getId() { + return Id; + } + public int getDepotId() { + return DepotId; + } + public int getGroupId() { + return GroupId; + } + public float getPropValue() { + return PropValue; + } + public int getWeight() { + return Weight; + } + public int getUpgradeWeight() { + return UpgradeWeight; + } + + public FightProperty getFightProp() { + return fightProp; + } + + @Override + public void onLoad() { + this.fightProp = FightProperty.getPropByName(this.PropType); + } +} diff --git a/src/main/java/emu/grasscutter/data/def/ReliquaryLevelData.java b/src/main/java/emu/grasscutter/data/def/ReliquaryLevelData.java new file mode 100644 index 00000000..0217ff48 --- /dev/null +++ b/src/main/java/emu/grasscutter/data/def/ReliquaryLevelData.java @@ -0,0 +1,67 @@ +package emu.grasscutter.data.def; + +import java.util.List; + +import emu.grasscutter.data.GenshinResource; +import emu.grasscutter.data.ResourceType; +import emu.grasscutter.game.props.FightProperty; +import it.unimi.dsi.fastutil.ints.Int2ObjectMap; +import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap; + +@ResourceType(name = "ReliquaryLevelExcelConfigData.json") +public class ReliquaryLevelData extends GenshinResource { + private int id; + private Int2ObjectMap propMap; + + private int Rank; + private int Level; + private int Exp; + private List AddProps; + + @Override + public int getId() { + return this.id; + } + + public int getRank() { + return Rank; + } + + public int getLevel() { + return Level; + } + + public int getExp() { + return Exp; + } + + public float getPropValue(FightProperty prop) { + return getPropValue(prop.getId()); + } + + public float getPropValue(int id) { + return propMap.get(id); + } + + @Override + public void onLoad() { + this.id = (Rank << 8) + this.getLevel(); + this.propMap = new Int2ObjectOpenHashMap<>(); + for (RelicLevelProperty p : AddProps) { + this.propMap.put(FightProperty.getPropByName(p.getPropType()).getId(), (Float) p.getValue()); + } + } + + public class RelicLevelProperty { + private String PropType; + private float Value; + + public String getPropType() { + return PropType; + } + + public float getValue() { + return Value; + } + } +} diff --git a/src/main/java/emu/grasscutter/data/def/ReliquaryMainPropData.java b/src/main/java/emu/grasscutter/data/def/ReliquaryMainPropData.java new file mode 100644 index 00000000..a67233f5 --- /dev/null +++ b/src/main/java/emu/grasscutter/data/def/ReliquaryMainPropData.java @@ -0,0 +1,37 @@ +package emu.grasscutter.data.def; + +import emu.grasscutter.data.GenshinResource; +import emu.grasscutter.data.ResourceType; +import emu.grasscutter.game.props.FightProperty; + +@ResourceType(name = "ReliquaryMainPropExcelConfigData.json") +public class ReliquaryMainPropData extends GenshinResource { + private int Id; + + private int PropDepotId; + private String PropType; + private String AffixName; + private int Weight; + + private FightProperty fightProp; + + @Override + public int getId() { + return Id; + } + public int getPropDepotId() { + return PropDepotId; + } + public int getWeight() { + return Weight; + } + + public FightProperty getFightProp() { + return fightProp; + } + + @Override + public void onLoad() { + this.fightProp = FightProperty.getPropByName(this.PropType); + } +} diff --git a/src/main/java/emu/grasscutter/data/def/ReliquarySetData.java b/src/main/java/emu/grasscutter/data/def/ReliquarySetData.java new file mode 100644 index 00000000..85c3e323 --- /dev/null +++ b/src/main/java/emu/grasscutter/data/def/ReliquarySetData.java @@ -0,0 +1,39 @@ +package emu.grasscutter.data.def; + +import emu.grasscutter.data.GenshinResource; +import emu.grasscutter.data.ResourceType; + +@ResourceType(name = "ReliquarySetExcelConfigData.json") +public class ReliquarySetData extends GenshinResource { + private int SetId; + private int[] SetNeedNum; + private int EquipAffixId; + private int DisableFilter; + private int[] ContainsList; + + @Override + public int getId() { + return SetId; + } + + public int[] getSetNeedNum() { + return SetNeedNum; + } + + public int getEquipAffixId() { + return EquipAffixId; + } + + public int getDisableFilter() { + return DisableFilter; + } + + public int[] getContainsList() { + return ContainsList; + } + + @Override + public void onLoad() { + + } +} diff --git a/src/main/java/emu/grasscutter/data/def/WeaponCurveData.java b/src/main/java/emu/grasscutter/data/def/WeaponCurveData.java new file mode 100644 index 00000000..0bccd603 --- /dev/null +++ b/src/main/java/emu/grasscutter/data/def/WeaponCurveData.java @@ -0,0 +1,32 @@ +package emu.grasscutter.data.def; + +import java.util.HashMap; +import java.util.Map; +import java.util.stream.Stream; + +import emu.grasscutter.data.GenshinResource; +import emu.grasscutter.data.ResourceType; +import emu.grasscutter.data.common.CurveInfo; + +@ResourceType(name = "WeaponCurveExcelConfigData.json") +public class WeaponCurveData extends GenshinResource { + private int Level; + private CurveInfo[] CurveInfos; + + private Map curveInfos; + + @Override + public int getId() { + return Level; + } + + public float getMultByProp(String fightProp) { + return curveInfos.getOrDefault(fightProp, 1f); + } + + @Override + public void onLoad() { + this.curveInfos = new HashMap<>(); + Stream.of(this.CurveInfos).forEach(info -> this.curveInfos.put(info.getType(), info.getValue())); + } +} diff --git a/src/main/java/emu/grasscutter/data/def/WeaponLevelData.java b/src/main/java/emu/grasscutter/data/def/WeaponLevelData.java new file mode 100644 index 00000000..c3f41568 --- /dev/null +++ b/src/main/java/emu/grasscutter/data/def/WeaponLevelData.java @@ -0,0 +1,23 @@ +package emu.grasscutter.data.def; + +import emu.grasscutter.data.GenshinResource; +import emu.grasscutter.data.ResourceType; + +@ResourceType(name = "WeaponLevelExcelConfigData.json") +public class WeaponLevelData extends GenshinResource { + private int Level; + private int[] RequiredExps; + + @Override + public int getId() { + return this.Level; + } + + public int getLevel() { + return Level; + } + + public int[] getRequiredExps() { + return RequiredExps; + } +} diff --git a/src/main/java/emu/grasscutter/data/def/WeaponPromoteData.java b/src/main/java/emu/grasscutter/data/def/WeaponPromoteData.java new file mode 100644 index 00000000..ab008bfe --- /dev/null +++ b/src/main/java/emu/grasscutter/data/def/WeaponPromoteData.java @@ -0,0 +1,74 @@ +package emu.grasscutter.data.def; + +import java.util.ArrayList; +import emu.grasscutter.data.GenshinResource; +import emu.grasscutter.data.ResourceType; +import emu.grasscutter.data.common.FightPropData; +import emu.grasscutter.data.common.ItemParamData; + +@ResourceType(name = "WeaponPromoteExcelConfigData.json") +public class WeaponPromoteData extends GenshinResource { + + private int WeaponPromoteId; + private int PromoteLevel; + private ItemParamData[] CostItems; + private int CoinCost; + private FightPropData[] AddProps; + private int UnlockMaxLevel; + private int RequiredPlayerLevel; + + @Override + public int getId() { + return (WeaponPromoteId << 8) + PromoteLevel; + } + + public int getWeaponPromoteId() { + return WeaponPromoteId; + } + + public int getPromoteLevel() { + return PromoteLevel; + } + + public ItemParamData[] getCostItems() { + return CostItems; + } + + public int getCoinCost() { + return CoinCost; + } + + public FightPropData[] getAddProps() { + return AddProps; + } + + public int getUnlockMaxLevel() { + return UnlockMaxLevel; + } + + public int getRequiredPlayerLevel() { + return RequiredPlayerLevel; + } + + @Override + public void onLoad() { + // Trim item params + ArrayList trim = new ArrayList<>(getAddProps().length); + for (ItemParamData itemParam : getCostItems()) { + if (itemParam.getId() == 0) { + continue; + } + trim.add(itemParam); + } + this.CostItems = trim.toArray(new ItemParamData[trim.size()]); + // Trim fight prop data + ArrayList parsed = new ArrayList<>(getAddProps().length); + for (FightPropData prop : getAddProps()) { + if (prop.getPropType() != null && prop.getValue() != 0f) { + prop.onLoad(); + parsed.add(prop); + } + } + this.AddProps = parsed.toArray(new FightPropData[parsed.size()]); + } +} diff --git a/src/main/java/emu/grasscutter/database/DatabaseCounter.java b/src/main/java/emu/grasscutter/database/DatabaseCounter.java new file mode 100644 index 00000000..37fa59d7 --- /dev/null +++ b/src/main/java/emu/grasscutter/database/DatabaseCounter.java @@ -0,0 +1,23 @@ +package emu.grasscutter.database; + +import dev.morphia.annotations.Entity; +import dev.morphia.annotations.Id; + +@Entity(value = "counters", noClassnameStored = true) +public class DatabaseCounter { + @Id + private String id; + private int count; + + public DatabaseCounter() {} + + public DatabaseCounter(String id) { + this.id = id; + this.count = 10000; + } + + public int getNextId() { + int id = ++count; + return id; + } +} diff --git a/src/main/java/emu/grasscutter/database/DatabaseHelper.java b/src/main/java/emu/grasscutter/database/DatabaseHelper.java new file mode 100644 index 00000000..6c622c2b --- /dev/null +++ b/src/main/java/emu/grasscutter/database/DatabaseHelper.java @@ -0,0 +1,207 @@ +package emu.grasscutter.database; + +import java.util.List; + +import com.mongodb.WriteResult; + +import dev.morphia.query.FindOptions; +import dev.morphia.query.Query; +import dev.morphia.query.internal.MorphiaCursor; +import emu.grasscutter.GenshinConstants; +import emu.grasscutter.Grasscutter; +import emu.grasscutter.game.Account; +import emu.grasscutter.game.GenshinPlayer; +import emu.grasscutter.game.avatar.GenshinAvatar; +import emu.grasscutter.game.friends.Friendship; +import emu.grasscutter.game.inventory.GenshinItem; + +public class DatabaseHelper { + + protected static FindOptions FIND_ONE = new FindOptions().limit(1); + + public static Account createAccount(String username) { + return createAccountWithId(username, 0); + } + + public static Account createAccountWithId(String username, int reservedId) { + // Unique names only + Account exists = DatabaseHelper.getAccountByName(username); + if (exists != null) { + return null; + } + + // Make sure there are no id collisions + if (reservedId > 0) { + // Cannot make account with the same uid as the server console + if (reservedId == GenshinConstants.SERVER_CONSOLE_UID) { + return null; + } + exists = DatabaseHelper.getAccountByPlayerId(reservedId); + if (exists != null) { + return null; + } + } + + // Account + Account account = new Account(); + account.setUsername(username); + account.setId(Integer.toString(DatabaseManager.getNextId(account))); + + if (reservedId > 0) { + account.setPlayerId(reservedId); + } + + DatabaseHelper.saveAccount(account); + return account; + } + + @Deprecated + public static Account createAccountWithPassword(String username, String password) { + // Unique names only + Account exists = DatabaseHelper.getAccountByName(username); + if (exists != null) { + return null; + } + + // Account + Account account = new Account(); + account.setId(Integer.toString(DatabaseManager.getNextId(account))); + account.setUsername(username); + account.setPassword(password); + DatabaseHelper.saveAccount(account); + return account; + } + + public static void saveAccount(Account account) { + DatabaseManager.getDatastore().save(account); + } + + public static Account getAccountByName(String username) { + MorphiaCursor cursor = DatabaseManager.getDatastore().createQuery(Account.class).field("username").equalIgnoreCase(username).find(FIND_ONE); + if (!cursor.hasNext()) return null; + return cursor.next(); + } + + public static Account getAccountByToken(String token) { + if (token == null) return null; + MorphiaCursor cursor = DatabaseManager.getDatastore().createQuery(Account.class).field("token").equal(token).find(FIND_ONE); + if (!cursor.hasNext()) return null; + return cursor.next(); + } + + public static Account getAccountById(String uid) { + MorphiaCursor cursor = DatabaseManager.getDatastore().createQuery(Account.class).field("_id").equal(uid).find(FIND_ONE); + if (!cursor.hasNext()) return null; + return cursor.next(); + } + + private static Account getAccountByPlayerId(int playerId) { + MorphiaCursor cursor = DatabaseManager.getDatastore().createQuery(Account.class).field("playerId").equal(playerId).find(FIND_ONE); + if (!cursor.hasNext()) return null; + return cursor.next(); + } + + public static boolean deleteAccount(String username) { + Query q = DatabaseManager.getDatastore().createQuery(Account.class).field("username").equalIgnoreCase(username); + return DatabaseManager.getDatastore().findAndDelete(q) != null; + } + + public static GenshinPlayer getPlayerById(int id) { + Query query = DatabaseManager.getDatastore().createQuery(GenshinPlayer.class).field("_id").equal(id); + MorphiaCursor cursor = query.find(FIND_ONE); + if (!cursor.hasNext()) return null; + return cursor.next(); + } + + public static boolean checkPlayerExists(int id) { + MorphiaCursor query = DatabaseManager.getDatastore().createQuery(GenshinPlayer.class).field("_id").equal(id).find(FIND_ONE); + return query.hasNext(); + } + + public static synchronized GenshinPlayer createPlayer(GenshinPlayer character, int reservedId) { + // Check if reserved id + int id = 0; + if (reservedId > 0 && !checkPlayerExists(reservedId)) { + id = reservedId; + character.setId(id); + } else { + do { + id = DatabaseManager.getNextId(character); + } + while (checkPlayerExists(id)); + character.setId(id); + } + // Save to database + DatabaseManager.getDatastore().save(character); + return character; + } + + public static synchronized int getNextPlayerId(int reservedId) { + // Check if reserved id + int id = 0; + if (reservedId > 0 && !checkPlayerExists(reservedId)) { + id = reservedId; + } else { + do { + id = DatabaseManager.getNextId(GenshinPlayer.class); + } + while (checkPlayerExists(id)); + } + return id; + } + + public static void savePlayer(GenshinPlayer character) { + DatabaseManager.getDatastore().save(character); + } + + public static void saveAvatar(GenshinAvatar avatar) { + DatabaseManager.getDatastore().save(avatar); + } + + public static List getAvatars(GenshinPlayer player) { + Query query = DatabaseManager.getDatastore().createQuery(GenshinAvatar.class).filter("ownerId", player.getId()); + return query.find().toList(); + } + + public static void saveItem(GenshinItem item) { + DatabaseManager.getDatastore().save(item); + } + + public static boolean deleteItem(GenshinItem item) { + WriteResult result = DatabaseManager.getDatastore().delete(item); + return result.wasAcknowledged(); + } + + public static List getInventoryItems(GenshinPlayer player) { + Query query = DatabaseManager.getDatastore().createQuery(GenshinItem.class).filter("ownerId", player.getId()); + return query.find().toList(); + } + public static List getFriends(GenshinPlayer player) { + Query query = DatabaseManager.getDatastore().createQuery(Friendship.class).filter("ownerId", player.getId()); + return query.find().toList(); + } + + public static List getReverseFriends(GenshinPlayer player) { + Query query = DatabaseManager.getDatastore().createQuery(Friendship.class).filter("friendId", player.getId()); + return query.find().toList(); + } + + public static void saveFriendship(Friendship friendship) { + DatabaseManager.getDatastore().save(friendship); + } + + public static void deleteFriendship(Friendship friendship) { + DatabaseManager.getDatastore().delete(friendship); + } + + public static Friendship getReverseFriendship(Friendship friendship) { + Query query = DatabaseManager.getDatastore().createQuery(Friendship.class); + query.and( + query.criteria("ownerId").equal(friendship.getFriendId()), + query.criteria("friendId").equal(friendship.getOwnerId()) + ); + MorphiaCursor reverseFriendship = query.find(FIND_ONE); + if (!reverseFriendship.hasNext()) return null; + return reverseFriendship.next(); + } +} diff --git a/src/main/java/emu/grasscutter/database/DatabaseManager.java b/src/main/java/emu/grasscutter/database/DatabaseManager.java new file mode 100644 index 00000000..5098db3c --- /dev/null +++ b/src/main/java/emu/grasscutter/database/DatabaseManager.java @@ -0,0 +1,95 @@ +package emu.grasscutter.database; + +import java.sql.Connection; +import java.sql.SQLException; + +import com.mongodb.MongoClient; +import com.mongodb.MongoClientURI; +import com.mongodb.MongoCommandException; +import com.mongodb.client.MongoDatabase; +import com.mongodb.client.MongoIterable; + +import dev.morphia.Datastore; +import dev.morphia.Morphia; +import emu.grasscutter.Grasscutter; +import emu.grasscutter.game.Account; +import emu.grasscutter.game.GenshinPlayer; +import emu.grasscutter.game.avatar.GenshinAvatar; +import emu.grasscutter.game.friends.Friendship; +import emu.grasscutter.game.inventory.GenshinItem; + +public class DatabaseManager { + private static MongoClient mongoClient; + private static Morphia morphia; + private static Datastore datastore; + + private static Class[] mappedClasses = new Class[] { + DatabaseCounter.class, Account.class, GenshinPlayer.class, GenshinAvatar.class, GenshinItem.class, Friendship.class + }; + + public static MongoClient getMongoClient() { + return mongoClient; + } + + public static Datastore getDatastore() { + return datastore; + } + + public static MongoDatabase getDatabase() { + return getDatastore().getDatabase(); + } + + public static Connection getConnection() throws SQLException { + return null; + } + + public static void initialize() { + // Initialize + mongoClient = new MongoClient(new MongoClientURI(Grasscutter.getConfig().DatabaseUrl)); + morphia = new Morphia(); + + // TODO Update when migrating to Morphia 2.0 + morphia.getMapper().getOptions().setStoreEmpties(true); + morphia.getMapper().getOptions().setStoreNulls(false); + morphia.getMapper().getOptions().setDisableEmbeddedIndexes(true); + + // Map + morphia.map(mappedClasses); + + // Build datastore + datastore = morphia.createDatastore(mongoClient, Grasscutter.getConfig().DatabaseCollection); + + // Ensure indexes + try { + datastore.ensureIndexes(); + } catch (MongoCommandException e) { + Grasscutter.getLogger().info("Mongo index error: ", e); + // Duplicate index error + if (e.getCode() == 85) { + // Drop all indexes and re add them + MongoIterable collections = datastore.getDatabase().listCollectionNames(); + for (String name : collections) { + datastore.getDatabase().getCollection(name).dropIndexes(); + } + // Add back indexes + datastore.ensureIndexes(); + } + } + } + + public static synchronized int getNextId(Class c) { + DatabaseCounter counter = getDatastore().createQuery(DatabaseCounter.class).field("_id").equal(c.getSimpleName()).find().tryNext(); + if (counter == null) { + counter = new DatabaseCounter(c.getSimpleName()); + } + try { + return counter.getNextId(); + } finally { + getDatastore().save(counter); + } + } + + public static synchronized int getNextId(Object o) { + return getNextId(o.getClass()); + } +} \ No newline at end of file diff --git a/src/main/java/emu/grasscutter/game/Account.java b/src/main/java/emu/grasscutter/game/Account.java new file mode 100644 index 00000000..0bb2e9e0 --- /dev/null +++ b/src/main/java/emu/grasscutter/game/Account.java @@ -0,0 +1,98 @@ +package emu.grasscutter.game; + +import dev.morphia.annotations.Collation; +import dev.morphia.annotations.Entity; +import dev.morphia.annotations.Id; +import dev.morphia.annotations.Indexed; +import emu.grasscutter.database.DatabaseHelper; +import emu.grasscutter.utils.Crypto; +import emu.grasscutter.utils.Utils; +import dev.morphia.annotations.IndexOptions; + +@Entity(value = "accounts", noClassnameStored = true) +public class Account { + @Id private String id; + + @Indexed(options = @IndexOptions(unique = true)) + @Collation(locale = "simple", caseLevel = true) + private String username; + private String password; // Unused for now + + private int playerId; + private String email; + + private String token; + private String sessionKey; // Session token for dispatch server + + @Deprecated + public Account() {} + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } + + public String getToken() { + return token; + } + + public void setToken(String token) { + this.token = token; + } + + public int getPlayerId() { + return this.playerId; + } + + public void setPlayerId(int playerId) { + this.playerId = playerId; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + public String getSessionKey() { + return this.sessionKey; + } + + public String generateSessionKey() { + this.sessionKey = Utils.bytesToHex(Crypto.createSessionKey(32)); + this.save(); + return this.sessionKey; + } + + // TODO make unique + public String generateLoginToken() { + this.token = Utils.bytesToHex(Crypto.createSessionKey(32)); + this.save(); + return this.token; + } + + public void save() { + DatabaseHelper.saveAccount(this); + } +} diff --git a/src/main/java/emu/grasscutter/game/CoopRequest.java b/src/main/java/emu/grasscutter/game/CoopRequest.java new file mode 100644 index 00000000..1e885672 --- /dev/null +++ b/src/main/java/emu/grasscutter/game/CoopRequest.java @@ -0,0 +1,29 @@ +package emu.grasscutter.game; + +public class CoopRequest { + private final GenshinPlayer requester; + private final long requestTime; + private final long expireTime; + + public CoopRequest(GenshinPlayer requester) { + this.requester = requester; + this.requestTime = System.currentTimeMillis(); + this.expireTime = this.requestTime + 10000; + } + + public GenshinPlayer getRequester() { + return requester; + } + + public long getRequestTime() { + return requestTime; + } + + public long getExpireTime() { + return expireTime; + } + + public boolean isExpired() { + return System.currentTimeMillis() > getExpireTime(); + } +} diff --git a/src/main/java/emu/grasscutter/game/GenshinPlayer.java b/src/main/java/emu/grasscutter/game/GenshinPlayer.java new file mode 100644 index 00000000..57a56128 --- /dev/null +++ b/src/main/java/emu/grasscutter/game/GenshinPlayer.java @@ -0,0 +1,759 @@ +package emu.grasscutter.game; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.Map; +import java.util.Set; + +import dev.morphia.annotations.*; +import emu.grasscutter.GenshinConstants; +import emu.grasscutter.Grasscutter; +import emu.grasscutter.data.GenshinData; +import emu.grasscutter.data.def.PlayerLevelData; +import emu.grasscutter.database.DatabaseHelper; +import emu.grasscutter.game.avatar.AvatarProfileData; +import emu.grasscutter.game.avatar.AvatarStorage; +import emu.grasscutter.game.avatar.GenshinAvatar; +import emu.grasscutter.game.entity.EntityItem; +import emu.grasscutter.game.entity.GenshinEntity; +import emu.grasscutter.game.friends.FriendsList; +import emu.grasscutter.game.friends.PlayerProfile; +import emu.grasscutter.game.gacha.PlayerGachaInfo; +import emu.grasscutter.game.inventory.GenshinItem; +import emu.grasscutter.game.inventory.Inventory; +import emu.grasscutter.game.props.ActionReason; +import emu.grasscutter.game.props.PlayerProperty; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.proto.AbilityInvokeEntryOuterClass.AbilityInvokeEntry; +import emu.grasscutter.net.proto.BirthdayOuterClass.Birthday; +import emu.grasscutter.net.proto.CombatInvokeEntryOuterClass.CombatInvokeEntry; +import emu.grasscutter.net.proto.HeadImageOuterClass.HeadImage; +import emu.grasscutter.net.proto.InteractTypeOuterClass.InteractType; +import emu.grasscutter.net.proto.MpSettingTypeOuterClass.MpSettingType; +import emu.grasscutter.net.proto.OnlinePlayerInfoOuterClass.OnlinePlayerInfo; +import emu.grasscutter.net.proto.PlayerApplyEnterMpReasonOuterClass.PlayerApplyEnterMpReason; +import emu.grasscutter.net.proto.PlayerLocationInfoOuterClass.PlayerLocationInfo; +import emu.grasscutter.net.proto.SocialDetailOuterClass.SocialDetail; +import emu.grasscutter.server.game.GameServer; +import emu.grasscutter.server.game.GameSession; +import emu.grasscutter.server.packet.send.PacketAbilityInvocationsNotify; +import emu.grasscutter.server.packet.send.PacketAvatarAddNotify; +import emu.grasscutter.server.packet.send.PacketAvatarDataNotify; +import emu.grasscutter.server.packet.send.PacketAvatarGainCostumeNotify; +import emu.grasscutter.server.packet.send.PacketAvatarGainFlycloakNotify; +import emu.grasscutter.server.packet.send.PacketCombatInvocationsNotify; +import emu.grasscutter.server.packet.send.PacketGadgetInteractRsp; +import emu.grasscutter.server.packet.send.PacketItemAddHintNotify; +import emu.grasscutter.server.packet.send.PacketOpenStateUpdateNotify; +import emu.grasscutter.server.packet.send.PacketPlayerApplyEnterMpResultNotify; +import emu.grasscutter.server.packet.send.PacketPlayerDataNotify; +import emu.grasscutter.server.packet.send.PacketPlayerEnterSceneNotify; +import emu.grasscutter.server.packet.send.PacketPlayerPropNotify; +import emu.grasscutter.server.packet.send.PacketPlayerStoreNotify; +import emu.grasscutter.server.packet.send.PacketPrivateChatNotify; +import emu.grasscutter.server.packet.send.PacketSetNameCardRsp; +import emu.grasscutter.server.packet.send.PacketStoreWeightLimitNotify; +import emu.grasscutter.server.packet.send.PacketUnlockNameCardNotify; +import emu.grasscutter.server.packet.send.PacketWorldPlayerRTTNotify; +import emu.grasscutter.utils.Position; + +import it.unimi.dsi.fastutil.ints.Int2ObjectMap; +import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap; + +@Entity(value = "players", noClassnameStored = true) +public class GenshinPlayer { + @Id private int id; + @Indexed(options = @IndexOptions(unique = true)) private String accountId; + + @Transient private Account account; + private String nickname; + private String signature; + private int headImage; + private int nameCardId = 210001; + private Position pos; + private Position rotation; + + private Map properties; + private Set nameCardList; + private Set flyCloakList; + private Set costumeList; + + @Transient private long nextGuid = 0; + @Transient private int peerId; + @Transient private World world; + @Transient private GameSession session; + @Transient private AvatarStorage avatars; + @Transient private Inventory inventory; + @Transient private FriendsList friendsList; + + private TeamManager teamManager; + private PlayerGachaInfo gachaInfo; + private PlayerProfile playerProfile; + private MpSettingType mpSetting = MpSettingType.MpSettingEnterAfterApply; + private boolean showAvatar; + private ArrayList shownAvatars; + + private int sceneId; + private int regionId; + private int mainCharacterId; + private boolean godmode; + + @Transient private boolean paused; + @Transient private int enterSceneToken; + @Transient private SceneLoadState sceneState; + @Transient private boolean hasSentAvatarDataNotify; + + @Transient private final Int2ObjectMap coopRequests; + @Transient private final InvokeHandler combatInvokeHandler; + @Transient private final InvokeHandler abilityInvokeHandler; + + @Deprecated @SuppressWarnings({ "rawtypes", "unchecked" }) // Morphia only! + public GenshinPlayer() { + this.inventory = new Inventory(this); + this.avatars = new AvatarStorage(this); + this.friendsList = new FriendsList(this); + this.pos = new Position(); + this.rotation = new Position(); + this.properties = new HashMap<>(); + for (PlayerProperty prop : PlayerProperty.values()) { + if (prop.getId() < 10000) { + continue; + } + this.properties.put(prop.getId(), 0); + } + this.setSceneId(3); + this.setRegionId(1); + this.sceneState = SceneLoadState.NONE; + + this.coopRequests = new Int2ObjectOpenHashMap<>(); + this.combatInvokeHandler = new InvokeHandler(PacketCombatInvocationsNotify.class); + this.abilityInvokeHandler = new InvokeHandler(PacketAbilityInvocationsNotify.class); + } + + // On player creation + public GenshinPlayer(GameSession session) { + this(); + this.account = session.getAccount(); + this.accountId = this.getAccount().getId(); + this.session = session; + this.nickname = "Traveler"; + this.signature = ""; + this.teamManager = new TeamManager(this); + this.gachaInfo = new PlayerGachaInfo(); + this.playerProfile = new PlayerProfile(this); + this.nameCardList = new HashSet<>(); + this.flyCloakList = new HashSet<>(); + this.costumeList = new HashSet<>(); + this.setProperty(PlayerProperty.PROP_PLAYER_LEVEL, 1); + this.setProperty(PlayerProperty.PROP_IS_SPRING_AUTO_USE, 1); + this.setProperty(PlayerProperty.PROP_SPRING_AUTO_USE_PERCENT, 50); + this.setProperty(PlayerProperty.PROP_IS_FLYABLE, 1); + this.setProperty(PlayerProperty.PROP_IS_TRANSFERABLE, 1); + this.setProperty(PlayerProperty.PROP_MAX_STAMINA, 24000); + this.setProperty(PlayerProperty.PROP_CUR_PERSIST_STAMINA, 24000); + this.setProperty(PlayerProperty.PROP_PLAYER_RESIN, 160); + this.getFlyCloakList().add(140001); + this.getNameCardList().add(210001); + this.getPos().set(GenshinConstants.START_POSITION); + this.getRotation().set(0, 307, 0); + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public long getNextGuid() { + long nextId = ++this.nextGuid; + return ((long) this.getId() << 32) + nextId; + } + + public Account getAccount() { + return account; + } + + public void setAccount(Account account) { + this.account = account; + this.account.setPlayerId(getId()); + } + + public GameSession getSession() { + return session; + } + + public void setSession(GameSession session) { + this.session = session; + } + + public boolean isOnline() { + return this.getSession() != null && this.getSession().isActive(); + } + + public GameServer getServer() { + return this.getSession().getServer(); + } + + public synchronized World getWorld() { + return this.world; + } + + public synchronized void setWorld(World world) { + this.world = world; + } + + public int getGmLevel() { + return 1; + } + + public String getNickname() { + return nickname; + } + + public void setNickname(String nickName) { + this.nickname = nickName; + this.updateProfile(); + } + + public int getHeadImage() { + return headImage; + } + + public void setHeadImage(int picture) { + this.headImage = picture; + this.updateProfile(); + } + + public String getSignature() { + return signature; + } + + public void setSignature(String signature) { + this.signature = signature; + this.updateProfile(); + } + + public Position getPos() { + return pos; + } + + public Position getRotation() { + return rotation; + } + + public int getLevel() { + return this.getProperty(PlayerProperty.PROP_PLAYER_LEVEL); + } + + public int getExp() { + return this.getProperty(PlayerProperty.PROP_PLAYER_EXP); + } + + public int getWorldLevel() { + return this.getProperty(PlayerProperty.PROP_PLAYER_WORLD_LEVEL); + } + + public int getPrimogems() { + return this.getProperty(PlayerProperty.PROP_PLAYER_HCOIN); + } + + public void setPrimogems(int primogem) { + this.setProperty(PlayerProperty.PROP_PLAYER_HCOIN, primogem); + this.sendPacket(new PacketPlayerPropNotify(this, PlayerProperty.PROP_PLAYER_HCOIN)); + } + + public int getMora() { + return this.getProperty(PlayerProperty.PROP_PLAYER_SCOIN); + } + + public void setMora(int mora) { + this.setProperty(PlayerProperty.PROP_PLAYER_SCOIN, mora); + this.sendPacket(new PacketPlayerPropNotify(this, PlayerProperty.PROP_PLAYER_SCOIN)); + } + + private int getExpRequired(int level) { + PlayerLevelData levelData = GenshinData.getPlayerLevelDataMap().get(level); + return levelData != null ? levelData.getExp() : 0; + } + + private float getExpModifier() { + return Grasscutter.getConfig().getGameRates().ADVENTURE_EXP_RATE; + } + + // Affected by exp rate + public void earnExp(int exp) { + addExpDirectly((int) (exp * getExpModifier())); + } + + // Directly give player exp + public void addExpDirectly(int gain) { + boolean hasLeveledUp = false; + int level = getLevel(); + int exp = getExp(); + int reqExp = getExpRequired(level); + + exp += gain; + + while (exp >= reqExp && reqExp > 0) { + exp -= reqExp; + level += 1; + reqExp = getExpRequired(level); + hasLeveledUp = true; + } + + if (hasLeveledUp) { + // Set level property + this.setProperty(PlayerProperty.PROP_PLAYER_LEVEL, level); + // Update social status + this.updateProfile(); + // Update player with packet + this.sendPacket(new PacketPlayerPropNotify(this, PlayerProperty.PROP_PLAYER_LEVEL)); + } + + // Set exp + this.setProperty(PlayerProperty.PROP_PLAYER_EXP, exp); + + // Update player with packet + this.sendPacket(new PacketPlayerPropNotify(this, PlayerProperty.PROP_PLAYER_EXP)); + } + + private void updateProfile() { + getProfile().syncWithCharacter(this); + } + + public boolean isFirstLoginEnterScene() { + return !this.hasSentAvatarDataNotify; + } + + public TeamManager getTeamManager() { + return this.teamManager; + } + + public PlayerGachaInfo getGachaInfo() { + return gachaInfo; + } + + public PlayerProfile getProfile() { + if (this.playerProfile == null) { + this.playerProfile = new PlayerProfile(this); + this.save(); + } + return playerProfile; + } + + public Map getProperties() { + return properties; + } + + public void setProperty(PlayerProperty prop, int value) { + getProperties().put(prop.getId(), value); + } + + public int getProperty(PlayerProperty prop) { + return getProperties().get(prop.getId()); + } + + public Set getFlyCloakList() { + return flyCloakList; + } + + public Set getCostumeList() { + return costumeList; + } + + public Set getNameCardList() { + return this.nameCardList; + } + + public MpSettingType getMpSetting() { + return mpSetting; + } + + public synchronized Int2ObjectMap getCoopRequests() { + return coopRequests; + } + + public InvokeHandler getCombatInvokeHandler() { + return this.combatInvokeHandler; + } + + public InvokeHandler getAbilityInvokeHandler() { + return this.abilityInvokeHandler; + } + + public void setMpSetting(MpSettingType mpSetting) { + this.mpSetting = mpSetting; + } + + public AvatarStorage getAvatars() { + return avatars; + } + + public Inventory getInventory() { + return inventory; + } + + public FriendsList getFriendsList() { + return this.friendsList; + } + + public int getEnterSceneToken() { + return enterSceneToken; + } + + public void setEnterSceneToken(int enterSceneToken) { + this.enterSceneToken = enterSceneToken; + } + + public int getNameCardId() { + return nameCardId; + } + + public void setNameCardId(int nameCardId) { + this.nameCardId = nameCardId; + this.updateProfile(); + } + + public int getMainCharacterId() { + return mainCharacterId; + } + + public void setMainCharacterId(int mainCharacterId) { + this.mainCharacterId = mainCharacterId; + } + + public int getPeerId() { + return peerId; + } + + public void setPeerId(int peerId) { + this.peerId = peerId; + } + + public int getClientTime() { + return session.getClientTime(); + } + + public long getLastPingTime() { + return session.getLastPingTime(); + } + + public boolean isPaused() { + return paused; + } + + public void setPaused(boolean newPauseState) { + boolean oldPauseState = this.paused; + this.paused = newPauseState; + + if (newPauseState && !oldPauseState) { + this.onPause(); + } else if (oldPauseState && !newPauseState) { + this.onUnpause(); + } + } + + public SceneLoadState getSceneLoadState() { + return sceneState; + } + + public void setSceneLoadState(SceneLoadState sceneState) { + this.sceneState = sceneState; + } + + public boolean isInMultiplayer() { + return this.getWorld() != null && this.getWorld().isMultiplayer(); + } + + public int getSceneId() { + return sceneId; + } + + public void setSceneId(int sceneId) { + this.sceneId = sceneId; + } + + public int getRegionId() { + return regionId; + } + + public void setRegionId(int regionId) { + this.regionId = regionId; + } + + public boolean hasGodmode() { + return godmode; + } + + public void setGodmode(boolean godmode) { + this.godmode = godmode; + } + + public boolean hasSentAvatarDataNotify() { + return hasSentAvatarDataNotify; + } + + public void setHasSentAvatarDataNotify(boolean hasSentAvatarDataNotify) { + this.hasSentAvatarDataNotify = hasSentAvatarDataNotify; + } + + public void addAvatar(GenshinAvatar avatar) { + boolean result = getAvatars().addAvatar(avatar); + + if (result) { + // Add starting weapon + getAvatars().addStartingWeapon(avatar); + + // Try adding to team if possible + //List currentTeam = this.getTeamManager().getCurrentTeam(); + boolean addedToTeam = false; + + /* + if (currentTeam.size() <= GenshinConstants.MAX_AVATARS_IN_TEAM) { + addedToTeam = currentTeam + } + */ + + // Done + if (hasSentAvatarDataNotify()) { + // Recalc stats + avatar.recalcStats(); + // Packet + sendPacket(new PacketAvatarAddNotify(avatar, addedToTeam)); + } + } else { + // Failed adding avatar + } + } + + public void addFlycloak(int flycloakId) { + this.getFlyCloakList().add(flycloakId); + this.sendPacket(new PacketAvatarGainFlycloakNotify(flycloakId)); + } + + public void addCostume(int costumeId) { + this.getCostumeList().add(costumeId); + this.sendPacket(new PacketAvatarGainCostumeNotify(costumeId)); + } + + public void addNameCard(int nameCardId) { + this.getNameCardList().add(nameCardId); + this.sendPacket(new PacketUnlockNameCardNotify(nameCardId)); + } + + public void setNameCard(int nameCardId) { + if (!this.getNameCardList().contains(nameCardId)) { + return; + } + + this.setNameCardId(nameCardId); + + this.sendPacket(new PacketSetNameCardRsp(nameCardId)); + } + + public void dropMessage(Object message) { + this.sendPacket(new PacketPrivateChatNotify(GenshinConstants.SERVER_CONSOLE_UID, getId(), message.toString())); + } + + public void interactWith(int gadgetEntityId) { + GenshinEntity entity = getWorld().getEntityById(gadgetEntityId); + + if (entity == null) { + return; + } + + // Delete + entity.getWorld().removeEntity(entity); + + // Handle + if (entity instanceof EntityItem) { + // Pick item + EntityItem drop = (EntityItem) entity; + GenshinItem item = new GenshinItem(drop.getItemData(), drop.getCount()); + // Add to inventory + boolean success = getInventory().addItem(item); + if (success) { + this.sendPacket(new PacketGadgetInteractRsp(drop, InteractType.InteractPickItem)); + this.sendPacket(new PacketItemAddHintNotify(item, ActionReason.SubfieldDrop)); + } + } + + return; + } + + public void onPause() { + + } + + public void onUnpause() { + + } + + public void sendPacket(GenshinPacket packet) { + if (this.hasSentAvatarDataNotify) { + this.getSession().send(packet); + } + } + + public OnlinePlayerInfo getOnlinePlayerInfo() { + OnlinePlayerInfo.Builder onlineInfo = OnlinePlayerInfo.newBuilder() + .setUid(this.getId()) + .setNickname(this.getNickname()) + .setPlayerLevel(this.getLevel()) + .setMpSettingType(this.getMpSetting()) + .setNameCardId(this.getNameCardId()) + .setSignature(this.getSignature()) + .setAvatar(HeadImage.newBuilder().setAvatarId(this.getHeadImage())); + + if (this.getWorld() != null) { + onlineInfo.setCurPlayerNumInWorld(this.getWorld().getPlayers().indexOf(this) + 1); + } else { + onlineInfo.setCurPlayerNumInWorld(1); + } + + return onlineInfo.build(); + } + + public SocialDetail.Builder getSocialDetail() { + SocialDetail.Builder social = SocialDetail.newBuilder() + .setUid(this.getId()) + .setAvatar(HeadImage.newBuilder().setAvatarId(this.getHeadImage())) + .setNickname(this.getNickname()) + .setSignature(this.getSignature()) + .setLevel(this.getLevel()) + .setBirthday(Birthday.newBuilder()) + .setWorldLevel(this.getWorldLevel()) + .setUnk1(1) + .setUnk3(1) + .setNameCardId(this.getNameCardId()) + .setFinishAchievementNum(0); + return social; + } + + public PlayerLocationInfo getPlayerLocationInfo() { + return PlayerLocationInfo.newBuilder() + .setUid(this.getId()) + .setPos(this.getPos().toProto()) + .setRot(this.getRotation().toProto()) + .build(); + } + + public synchronized void onTick() { + // Check ping + if (this.getLastPingTime() > System.currentTimeMillis() + 60000) { + this.getSession().close(); + return; + } + // Check co-op requests + Iterator it = this.getCoopRequests().values().iterator(); + while (it.hasNext()) { + CoopRequest req = it.next(); + if (req.isExpired()) { + req.getRequester().sendPacket(new PacketPlayerApplyEnterMpResultNotify(this, false, PlayerApplyEnterMpReason.SystemJudge)); + it.remove(); + } + } + // Ping + if (this.getWorld() != null) { + this.sendPacket(new PacketWorldPlayerRTTNotify(this.getWorld())); // Player ping + } + } + + @PostLoad + private void onLoad() { + this.getTeamManager().setPlayer(this); + } + + public void save() { + DatabaseHelper.savePlayer(this); + } + + public void onLogin() { + // Make sure these exist + if (this.getTeamManager() == null) { + this.teamManager = new TeamManager(this); + } if (this.getGachaInfo() == null) { + this.gachaInfo = new PlayerGachaInfo(); + } if (this.nameCardList == null) { + this.nameCardList = new HashSet<>(); + } if (this.costumeList == null) { + this.costumeList = new HashSet<>(); + } + + // Check if player object exists in server + // TODO - optimize + GenshinPlayer exists = this.getServer().getPlayerById(getId()); + if (exists != null) { + exists.getSession().close(); + } + + // Load from db + this.getAvatars().loadFromDatabase(); + this.getInventory().loadFromDatabase(); + this.getAvatars().postLoad(); + + this.getFriendsList().loadFromDatabase(); + + // Create world + World world = new World(this); + world.addPlayer(this); + + // Add to gameserver + if (getSession().isActive()) { + getServer().registerPlayer(this); + getProfile().setPlayer(this); // Set online + } + + // Multiplayer setting + this.setProperty(PlayerProperty.PROP_PLAYER_MP_SETTING_TYPE, this.getMpSetting().getNumber()); + this.setProperty(PlayerProperty.PROP_IS_MP_MODE_AVAILABLE, 1); + + // Packets + session.send(new PacketPlayerDataNotify(this)); // Player data + session.send(new PacketStoreWeightLimitNotify()); + session.send(new PacketPlayerStoreNotify(this)); + session.send(new PacketAvatarDataNotify(this)); + + session.send(new PacketPlayerEnterSceneNotify(this)); // Enter game world + session.send(new PacketOpenStateUpdateNotify()); + + // First notify packets sent + this.setHasSentAvatarDataNotify(true); + } + + public void onLogout() { + // Leave world + if (this.getWorld() != null) { + this.getWorld().removePlayer(this); + } + + // Status stuff + this.getProfile().syncWithCharacter(this); + this.getProfile().setPlayer(null); // Set offline + + this.getCoopRequests().clear(); + + // Save to db + this.save(); + this.getTeamManager().saveAvatars(); + this.getFriendsList().save(); + } + + public enum SceneLoadState { + NONE (0), LOADING (1), INIT (2), LOADED (3); + + private final int value; + + private SceneLoadState(int value) { + this.value = value; + } + + public int getValue() { + return this.value; + } + } +} diff --git a/src/main/java/emu/grasscutter/game/InvokeHandler.java b/src/main/java/emu/grasscutter/game/InvokeHandler.java new file mode 100644 index 00000000..f94ea05f --- /dev/null +++ b/src/main/java/emu/grasscutter/game/InvokeHandler.java @@ -0,0 +1,66 @@ +package emu.grasscutter.game; + +import java.util.ArrayList; +import java.util.List; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.proto.ForwardTypeOuterClass.ForwardType; + +public class InvokeHandler { + private final List entryListForwardAll; + private final List entryListForwardAllExceptCur; + private final List entryListForwardHost; + private final Class packetClass; + + public InvokeHandler(Class packetClass) { + this.entryListForwardAll = new ArrayList<>(); + this.entryListForwardAllExceptCur = new ArrayList<>(); + this.entryListForwardHost = new ArrayList<>(); + this.packetClass = packetClass; + } + + public synchronized void addEntry(ForwardType forward, T entry) { + switch (forward) { + case ForwardToAll: + entryListForwardAll.add(entry); + break; + case ForwardToAllExceptCur: + case ForwardToAllExistExceptCur: + entryListForwardAllExceptCur.add(entry); + break; + case ForwardToHost: + entryListForwardHost.add(entry); + break; + default: + break; + } + } + + public synchronized void update(GenshinPlayer player) { + if (player.getWorld() == null) { + this.entryListForwardAll.clear(); + this.entryListForwardAllExceptCur.clear(); + this.entryListForwardHost.clear(); + return; + } + + try { + if (entryListForwardAll.size() > 0) { + GenshinPacket packet = packetClass.getDeclaredConstructor(List.class).newInstance(this.entryListForwardAll); + player.getWorld().broadcastPacket(packet); + this.entryListForwardAll.clear(); + } + if (entryListForwardAllExceptCur.size() > 0) { + GenshinPacket packet = packetClass.getDeclaredConstructor(List.class).newInstance(this.entryListForwardAllExceptCur); + player.getWorld().broadcastPacketToOthers(player, packet); + this.entryListForwardAllExceptCur.clear(); + } + if (entryListForwardHost.size() > 0) { + GenshinPacket packet = packetClass.getDeclaredConstructor(List.class).newInstance(this.entryListForwardHost); + player.getWorld().getHost().sendPacket(packet); + this.entryListForwardHost.clear(); + } + } catch (Exception e) { + e.printStackTrace(); + } + } +} diff --git a/src/main/java/emu/grasscutter/game/TeamInfo.java b/src/main/java/emu/grasscutter/game/TeamInfo.java new file mode 100644 index 00000000..304c06a6 --- /dev/null +++ b/src/main/java/emu/grasscutter/game/TeamInfo.java @@ -0,0 +1,73 @@ +package emu.grasscutter.game; + +import java.util.ArrayList; +import java.util.List; + +import emu.grasscutter.GenshinConstants; +import emu.grasscutter.game.avatar.GenshinAvatar; + +public class TeamInfo { + private String name; + private List avatars; + + public TeamInfo() { + this.name = ""; + this.avatars = new ArrayList<>(GenshinConstants.MAX_AVATARS_IN_TEAM); + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public List getAvatars() { + return avatars; + } + + public int size() { + return avatars.size(); + } + + public boolean contains(GenshinAvatar avatar) { + return getAvatars().contains(avatar.getAvatarId()); + } + + public boolean addAvatar(GenshinAvatar avatar) { + if (size() >= GenshinConstants.MAX_AVATARS_IN_TEAM || contains(avatar)) { + return false; + } + + getAvatars().add(avatar.getAvatarId()); + + return true; + } + + public boolean removeAvatar(int slot) { + if (size() <= 1) { + return false; + } + + getAvatars().remove(slot); + + return true; + } + + public void copyFrom(TeamInfo team) { + copyFrom(team, GenshinConstants.MAX_AVATARS_IN_TEAM); + } + + public void copyFrom(TeamInfo team, int maxTeamSize) { + // Clear + this.getAvatars().clear(); + + // Copy from team + int len = Math.min(team.getAvatars().size(), maxTeamSize); + for (int i = 0; i < len; i++) { + int id = team.getAvatars().get(i); + this.getAvatars().add(id); + } + } +} diff --git a/src/main/java/emu/grasscutter/game/TeamManager.java b/src/main/java/emu/grasscutter/game/TeamManager.java new file mode 100644 index 00000000..bcbea754 --- /dev/null +++ b/src/main/java/emu/grasscutter/game/TeamManager.java @@ -0,0 +1,484 @@ +package emu.grasscutter.game; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Map; +import dev.morphia.annotations.Transient; +import emu.grasscutter.GenshinConstants; +import emu.grasscutter.data.def.AvatarSkillDepotData; +import emu.grasscutter.game.avatar.GenshinAvatar; +import emu.grasscutter.game.entity.EntityAvatar; +import emu.grasscutter.game.entity.EntityGadget; +import emu.grasscutter.game.props.ElementType; +import emu.grasscutter.game.props.EnterReason; +import emu.grasscutter.game.props.FightProperty; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.EnterTypeOuterClass.EnterType; +import emu.grasscutter.net.proto.MotionStateOuterClass.MotionState; +import emu.grasscutter.server.packet.send.PacketAvatarDieAnimationEndRsp; +import emu.grasscutter.server.packet.send.PacketAvatarFightPropUpdateNotify; +import emu.grasscutter.server.packet.send.PacketAvatarLifeStateChangeNotify; +import emu.grasscutter.server.packet.send.PacketAvatarTeamUpdateNotify; +import emu.grasscutter.server.packet.send.PacketChangeAvatarRsp; +import emu.grasscutter.server.packet.send.PacketChangeMpTeamAvatarRsp; +import emu.grasscutter.server.packet.send.PacketChangeTeamNameRsp; +import emu.grasscutter.server.packet.send.PacketChooseCurAvatarTeamRsp; +import emu.grasscutter.server.packet.send.PacketPlayerEnterSceneNotify; +import emu.grasscutter.server.packet.send.PacketSceneTeamUpdateNotify; +import emu.grasscutter.server.packet.send.PacketSetUpAvatarTeamRsp; +import emu.grasscutter.server.packet.send.PacketWorldPlayerDieNotify; +import it.unimi.dsi.fastutil.ints.Int2IntMap; +import it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap; +import it.unimi.dsi.fastutil.ints.Int2ObjectMap; +import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap; +import it.unimi.dsi.fastutil.ints.IntOpenHashSet; +import it.unimi.dsi.fastutil.ints.IntSet; + +public class TeamManager { + @Transient private GenshinPlayer player; + + private Map teams; + private int currentTeamIndex; + private int currentCharacterIndex; + + @Transient private TeamInfo mpTeam; + @Transient private int entityId; + @Transient private final List avatars; + @Transient private final List gadgets; + @Transient private final IntSet teamResonances; + @Transient private final IntSet teamResonancesConfig; + + public TeamManager() { + this.mpTeam = new TeamInfo(); + this.avatars = new ArrayList<>(); + this.gadgets = new ArrayList<>(); + this.teamResonances = new IntOpenHashSet(); + this.teamResonancesConfig = new IntOpenHashSet(); + } + + public TeamManager(GenshinPlayer player) { + this(); + this.player = player; + + this.teams = new HashMap<>(); + this.currentTeamIndex = 1; + for (int i = 1; i <= GenshinConstants.MAX_TEAMS; i++) { + this.teams.put(i, new TeamInfo()); + } + } + + public GenshinPlayer getPlayer() { + return player; + } + + public World getWorld() { + return player.getWorld(); + } + + public void setPlayer(GenshinPlayer player) { + this.player = player; + } + + public Map getTeams() { + return this.teams; + } + + public TeamInfo getMpTeam() { + return mpTeam; + } + + public void setMpTeam(TeamInfo mpTeam) { + this.mpTeam = mpTeam; + } + + public int getCurrentTeamId() { + // Starts from 1 + return currentTeamIndex; + } + + private void setCurrentTeamId(int currentTeamIndex) { + this.currentTeamIndex = currentTeamIndex; + } + + public int getCurrentCharacterIndex() { + return currentCharacterIndex; + } + + public void setCurrentCharacterIndex(int currentCharacterIndex) { + this.currentCharacterIndex = currentCharacterIndex; + } + + public long getCurrentCharacterGuid() { + return getCurrentAvatarEntity().getAvatar().getGuid(); + } + + public TeamInfo getCurrentTeamInfo() { + if (this.getPlayer().isInMultiplayer()) { + return this.getMpTeam(); + } + return this.getTeams().get(this.currentTeamIndex); + } + + public TeamInfo getCurrentSinglePlayerTeamInfo() { + return this.getTeams().get(this.currentTeamIndex); + } + + public int getEntityId() { + return entityId; + } + + public void setEntityId(int entityId) { + this.entityId = entityId; + } + + public IntSet getTeamResonances() { + return teamResonances; + } + + public IntSet getTeamResonancesConfig() { + return teamResonancesConfig; + } + + public List getActiveTeam() { + return avatars; + } + + public EntityAvatar getCurrentAvatarEntity() { + return getActiveTeam().get(currentCharacterIndex); + } + + public boolean isSpawned() { + return getPlayer().getWorld() != null && getPlayer().getWorld().getEntities().containsKey(getCurrentAvatarEntity().getId()); + } + + public int getMaxTeamSize() { + if (getPlayer().isInMultiplayer()) { + if (getPlayer().getWorld().getHost() == this.getPlayer()) { + return Math.max(1, (int) Math.ceil(GenshinConstants.MAX_AVATARS_IN_TEAM / (double) getWorld().getPlayerCount())); + } + return Math.max(1, (int) Math.floor(GenshinConstants.MAX_AVATARS_IN_TEAM / (double) getWorld().getPlayerCount())); + } + return GenshinConstants.MAX_AVATARS_IN_TEAM; + } + + // Methods + + public void updateTeamResonances() { + Int2IntOpenHashMap map = new Int2IntOpenHashMap(); + + this.getTeamResonances().clear(); + this.getTeamResonancesConfig().clear(); + + for (EntityAvatar entity : getActiveTeam()) { + AvatarSkillDepotData skillData = entity.getAvatar().getAvatarData().getSkillDepot(); + if (skillData != null) { + map.addTo(skillData.getElementType().getValue(), 1); + } + } + + for (Int2IntMap.Entry e : map.int2IntEntrySet()) { + if (e.getIntValue() >= 2) { + ElementType element = ElementType.getTypeByValue(e.getIntKey()); + if (element.getTeamResonanceId() != 0) { + this.getTeamResonances().add(element.getTeamResonanceId()); + this.getTeamResonancesConfig().add(element.getConfigHash()); + } + } + } + + // No resonances + if (this.getTeamResonances().size() == 0) { + this.getTeamResonances().add(ElementType.Default.getTeamResonanceId()); + this.getTeamResonancesConfig().add(ElementType.Default.getTeamResonanceId()); + } + } + + private void updateTeamEntities(GenshinPacket responsePacket) { + // Sanity check - Should never happen + if (this.getCurrentTeamInfo().getAvatars().size() <= 0) { + return; + } + + // If current team has changed + EntityAvatar currentEntity = this.getCurrentAvatarEntity(); + Int2ObjectMap existingAvatars = new Int2ObjectOpenHashMap<>(); + int prevSelectedAvatarIndex = -1; + + for (EntityAvatar entity : getActiveTeam()) { + existingAvatars.put(entity.getAvatar().getAvatarId(), entity); + } + + // Clear active team entity list + this.getActiveTeam().clear(); + + // Add back entities into team + for (int i = 0; i < this.getCurrentTeamInfo().getAvatars().size(); i++) { + int avatarId = this.getCurrentTeamInfo().getAvatars().get(i); + EntityAvatar entity = null; + + if (existingAvatars.containsKey(avatarId)) { + entity = existingAvatars.get(avatarId); + existingAvatars.remove(avatarId); + if (entity == currentEntity) { + prevSelectedAvatarIndex = i; + } + } else { + entity = new EntityAvatar(getPlayer().getWorld(), getPlayer().getAvatars().getAvatarById(avatarId)); + } + + this.getActiveTeam().add(entity); + } + + // Unload removed entities + for (EntityAvatar entity : existingAvatars.values()) { + getPlayer().getWorld().removeEntity(entity); + entity.getAvatar().save(); + } + + // Set new selected character index + if (prevSelectedAvatarIndex == -1) { + // Previous selected avatar is not in the same spot, we will select the current one in the prev slot + prevSelectedAvatarIndex = Math.min(this.currentCharacterIndex, getCurrentTeamInfo().getAvatars().size() - 1); + } + this.currentCharacterIndex = prevSelectedAvatarIndex; + + // Update team resonances + updateTeamResonances(); + + // Packets + getPlayer().getWorld().broadcastPacket(new PacketSceneTeamUpdateNotify(getPlayer())); + + // Run callback + if (responsePacket != null) { + getPlayer().sendPacket(responsePacket); + } + + // Check if character changed + if (currentEntity != getCurrentAvatarEntity()) { + // Remove and Add + getWorld().replaceEntity(currentEntity, getCurrentAvatarEntity()); + } + } + + public synchronized void setupAvatarTeam(int teamId, List list) { + // Sanity checks + if (list.size() == 0 || list.size() > getMaxTeamSize() || getPlayer().isInMultiplayer()) { + return; + } + + // Get team + TeamInfo teamInfo = this.getTeams().get(teamId); + if (teamInfo == null) { + return; + } + + // Set team data + LinkedHashSet newTeam = new LinkedHashSet<>(); + for (int i = 0; i < list.size(); i++) { + GenshinAvatar avatar = getPlayer().getAvatars().getAvatarByGuid(list.get(i)); + if (avatar == null || newTeam.contains(avatar)) { + // Should never happen + return; + } + newTeam.add(avatar); + } + + // Clear current team info and add avatars from our new team + teamInfo.getAvatars().clear(); + for (GenshinAvatar avatar : newTeam) { + teamInfo.addAvatar(avatar); + } + + // Update packet + getPlayer().sendPacket(new PacketAvatarTeamUpdateNotify(getPlayer())); + + // Update entites + if (teamId == this.getCurrentTeamId()) { + this.updateTeamEntities(new PacketSetUpAvatarTeamRsp(getPlayer(), teamId, teamInfo)); + } else { + getPlayer().sendPacket(new PacketSetUpAvatarTeamRsp(getPlayer(), teamId, teamInfo)); + } + } + + public void setupMpTeam(List list) { + // Sanity checks + if (list.size() == 0 || list.size() > getMaxTeamSize() || !getPlayer().isInMultiplayer()) { + return; + } + + TeamInfo teamInfo = this.getMpTeam(); + + // Set team data + LinkedHashSet newTeam = new LinkedHashSet<>(); + for (int i = 0; i < list.size(); i++) { + GenshinAvatar avatar = getPlayer().getAvatars().getAvatarByGuid(list.get(i)); + if (avatar == null || newTeam.contains(avatar)) { + // Should never happen + return; + } + newTeam.add(avatar); + } + + // Clear current team info and add avatars from our new team + teamInfo.getAvatars().clear(); + for (GenshinAvatar avatar : newTeam) { + teamInfo.addAvatar(avatar); + } + + // Packet + this.updateTeamEntities(new PacketChangeMpTeamAvatarRsp(getPlayer(), teamInfo)); + } + + public synchronized void setCurrentTeam(int teamId) { + // + if (getPlayer().isInMultiplayer()) { + return; + } + + // Get team + TeamInfo teamInfo = this.getTeams().get(teamId); + if (teamInfo == null || teamInfo.getAvatars().size() == 0) { + return; + } + + // Set + this.setCurrentTeamId(teamId); + this.updateTeamEntities(new PacketChooseCurAvatarTeamRsp(teamId)); + } + + public synchronized void setTeamName(int teamId, String teamName) { + // Get team + TeamInfo teamInfo = this.getTeams().get(teamId); + if (teamInfo == null) { + return; + } + + teamInfo.setName(teamName); + + // Packet + getPlayer().sendPacket(new PacketChangeTeamNameRsp(teamId, teamName)); + } + + public synchronized void changeAvatar(long guid) { + EntityAvatar oldEntity = this.getCurrentAvatarEntity(); + + if (guid == oldEntity.getAvatar().getGuid()) { + return; + } + + EntityAvatar newEntity = null; + int index = -1; + for (int i = 0; i < getActiveTeam().size(); i++) { + if (guid == getActiveTeam().get(i).getAvatar().getGuid()) { + index = i; + newEntity = getActiveTeam().get(i); + } + } + + if (index < 0 || newEntity == oldEntity) { + return; + } + + // Set index + this.setCurrentCharacterIndex(index); + + // Old entity motion state + oldEntity.setMotionState(MotionState.MotionStandby); + + // Remove and Add + getWorld().replaceEntity(oldEntity, newEntity); + getPlayer().sendPacket(new PacketChangeAvatarRsp(guid)); + } + + public void onAvatarDie(long dieGuid) { + EntityAvatar deadAvatar = this.getCurrentAvatarEntity(); + + if (deadAvatar.isAlive() || deadAvatar.getId() != dieGuid) { + return; + } + + // Replacement avatar + EntityAvatar replacement = null; + int replaceIndex = -1; + + for (int i = 0; i < this.getActiveTeam().size(); i++) { + EntityAvatar entity = this.getActiveTeam().get(i); + if (entity.isAlive()) { + replaceIndex = i; + replacement = entity; + break; + } + } + + if (replacement == null) { + // No more living team members... + getPlayer().sendPacket(new PacketWorldPlayerDieNotify(deadAvatar.getKilledType(), deadAvatar.getKilledBy())); + } else { + // Set index and spawn replacement member + this.setCurrentCharacterIndex(replaceIndex); + getWorld().addEntity(replacement); + } + + // Response packet + getPlayer().sendPacket(new PacketAvatarDieAnimationEndRsp(deadAvatar.getId(), 0)); + } + + public boolean reviveAvatar(GenshinAvatar avatar) { + for (EntityAvatar entity : getActiveTeam()) { + if (entity.getAvatar() == avatar) { + if (entity.isAlive()) { + return false; + } + + entity.setFightProperty( + FightProperty.FIGHT_PROP_CUR_HP, + entity.getFightProperty(FightProperty.FIGHT_PROP_MAX_HP) * .1f + ); + getPlayer().sendPacket(new PacketAvatarFightPropUpdateNotify(entity.getAvatar(), FightProperty.FIGHT_PROP_CUR_HP)); + getPlayer().sendPacket(new PacketAvatarLifeStateChangeNotify(entity.getAvatar())); + return true; + } + } + + return false; + } + + public void respawnTeam() { + // Make sure all team members are dead + for (EntityAvatar entity : getActiveTeam()) { + if (entity.isAlive()) { + return; + } + } + + // Revive all team members + for (EntityAvatar entity : getActiveTeam()) { + entity.setFightProperty( + FightProperty.FIGHT_PROP_CUR_HP, + entity.getFightProperty(FightProperty.FIGHT_PROP_MAX_HP) * .4f + ); + getPlayer().sendPacket(new PacketAvatarFightPropUpdateNotify(entity.getAvatar(), FightProperty.FIGHT_PROP_CUR_HP)); + getPlayer().sendPacket(new PacketAvatarLifeStateChangeNotify(entity.getAvatar())); + } + + // Teleport player + getPlayer().sendPacket(new PacketPlayerEnterSceneNotify(getPlayer(), EnterType.EnterSelf, EnterReason.Revival, 3, GenshinConstants.START_POSITION)); + + // Set player position + player.setSceneId(3); + player.getPos().set(GenshinConstants.START_POSITION); + + // Packets + getPlayer().sendPacket(new GenshinPacket(PacketOpcodes.WorldPlayerReviveRsp)); + } + + public void saveAvatars() { + // Save all avatars from active team + for (EntityAvatar entity : getActiveTeam()) { + entity.getAvatar().save(); + } + } +} diff --git a/src/main/java/emu/grasscutter/game/World.java b/src/main/java/emu/grasscutter/game/World.java new file mode 100644 index 00000000..2a5cb6b9 --- /dev/null +++ b/src/main/java/emu/grasscutter/game/World.java @@ -0,0 +1,434 @@ +package emu.grasscutter.game; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; +import java.util.stream.Collectors; + +import emu.grasscutter.game.entity.GenshinEntity; +import emu.grasscutter.game.props.ClimateType; +import emu.grasscutter.game.props.EnterReason; +import emu.grasscutter.game.props.EntityIdType; +import emu.grasscutter.game.props.FightProperty; +import emu.grasscutter.game.props.LifeState; +import emu.grasscutter.game.GenshinPlayer.SceneLoadState; +import emu.grasscutter.game.entity.EntityAvatar; +import emu.grasscutter.game.entity.EntityClientGadget; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.proto.AttackResultOuterClass.AttackResult; +import emu.grasscutter.net.proto.EnterTypeOuterClass.EnterType; +import emu.grasscutter.net.proto.VisionTypeOuterClass.VisionType; +import emu.grasscutter.server.packet.send.PacketDelTeamEntityNotify; +import emu.grasscutter.server.packet.send.PacketEntityFightPropUpdateNotify; +import emu.grasscutter.server.packet.send.PacketLifeStateChangeNotify; +import emu.grasscutter.server.packet.send.PacketPlayerEnterSceneNotify; +import emu.grasscutter.server.packet.send.PacketSceneEntityAppearNotify; +import emu.grasscutter.server.packet.send.PacketSceneEntityDisappearNotify; +import emu.grasscutter.server.packet.send.PacketScenePlayerInfoNotify; +import emu.grasscutter.server.packet.send.PacketSceneTeamUpdateNotify; +import emu.grasscutter.server.packet.send.PacketSyncScenePlayTeamEntityNotify; +import emu.grasscutter.server.packet.send.PacketSyncTeamEntityNotify; +import emu.grasscutter.server.packet.send.PacketWorldPlayerInfoNotify; +import emu.grasscutter.server.packet.send.PacketWorldPlayerRTTNotify; +import it.unimi.dsi.fastutil.ints.Int2ObjectMap; +import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap; + +public class World implements Iterable { + private final GenshinPlayer owner; + private final List players; + + private int levelEntityId; + private int nextEntityId = 0; + private int nextPeerId = 0; + private final Int2ObjectMap entities; + + private int worldLevel; + private int sceneId; + private int time; + private ClimateType climate; + private boolean isMultiplayer; + private boolean isDungeon; + + public World(GenshinPlayer player) { + this(player, false); + } + + public World(GenshinPlayer player, boolean isMultiplayer) { + this.owner = player; + this.players = Collections.synchronizedList(new ArrayList<>()); + this.entities = new Int2ObjectOpenHashMap<>(); + this.levelEntityId = getNextEntityId(EntityIdType.MPLEVEL); + this.sceneId = player.getSceneId(); + this.time = 8 * 60; + this.climate = ClimateType.CLIMATE_SUNNY; + this.worldLevel = player.getWorldLevel(); + this.isMultiplayer = isMultiplayer; + } + + public GenshinPlayer getHost() { + return owner; + } + + public int getLevelEntityId() { + return levelEntityId; + } + + public int getHostPeerId() { + if (this.getHost() == null) { + return 0; + } + return this.getHost().getPeerId(); + } + + public int getNextPeerId() { + return ++this.nextPeerId; + } + + public int getSceneId() { + return sceneId; + } + + public void setSceneId(int sceneId) { + this.sceneId = sceneId; + } + + public int getTime() { + return time; + } + + public void changeTime(int time) { + this.time = time % 1440; + } + + public int getWorldLevel() { + return worldLevel; + } + + public void setWorldLevel(int worldLevel) { + this.worldLevel = worldLevel; + } + + public ClimateType getClimate() { + return climate; + } + + public void setClimate(ClimateType climate) { + this.climate = climate; + } + + public List getPlayers() { + return players; + } + + public int getPlayerCount() { + return getPlayers().size(); + } + + public Int2ObjectMap getEntities() { + return this.entities; + } + + public boolean isInWorld(GenshinEntity entity) { + return this.entities.containsKey(entity.getId()); + } + + public boolean isMultiplayer() { + return isMultiplayer; + } + + public boolean isDungeon() { + return isDungeon; + } + + public int getNextEntityId(EntityIdType idType) { + return (idType.getId() << 24) + ++this.nextEntityId; + } + + public GenshinEntity getEntityById(int id) { + return this.entities.get(id); + } + + public synchronized void addPlayer(GenshinPlayer player) { + // Check if player already in + if (getPlayers().contains(player)) { + return; + } + + // Remove player from prev world + if (player.getWorld() != null) { + player.getWorld().removePlayer(player); + } + + // Register + player.setWorld(this); + getPlayers().add(player); + + player.setPeerId(this.getNextPeerId()); + player.getTeamManager().setEntityId(getNextEntityId(EntityIdType.TEAM)); + + // TODO Update team of all players + this.setupPlayerAvatars(player); + + // Info packet for other players + if (this.getPlayers().size() > 1) { + this.updatePlayerInfos(player); + } + } + + public synchronized void removePlayer(GenshinPlayer player) { + // Remove team entities + player.sendPacket( + new PacketDelTeamEntityNotify( + player.getSceneId(), + getPlayers().stream().map(p -> p.getTeamManager().getEntityId()).collect(Collectors.toList()) + ) + ); + + // Deregister + getPlayers().remove(player); + player.setWorld(null); + + this.removePlayerAvatars(player); + + // Info packet for other players + if (this.getPlayers().size() > 0) { + this.updatePlayerInfos(player); + } + + // Disband world if host leaves + if (getHost() == player) { + List kicked = new ArrayList<>(this.getPlayers()); + for (GenshinPlayer victim : kicked) { + World world = new World(victim); + world.addPlayer(victim); + + victim.sendPacket(new PacketPlayerEnterSceneNotify(victim, EnterType.EnterSelf, EnterReason.TeamKick, victim.getWorld().getSceneId(), victim.getPos())); + } + } + } + + private void updatePlayerInfos(GenshinPlayer paramPlayer) { + for (GenshinPlayer player : getPlayers()) { + // Dont send packets if player is loading in + if (!player.hasSentAvatarDataNotify() || player.getSceneLoadState().getValue() < SceneLoadState.INIT.getValue() || player == paramPlayer) { + continue; + } + + // World player info packets + player.getSession().send(new PacketWorldPlayerInfoNotify(this)); + player.getSession().send(new PacketScenePlayerInfoNotify(this)); + player.getSession().send(new PacketWorldPlayerRTTNotify(this)); + + // Team packets + player.getSession().send(new PacketSceneTeamUpdateNotify(player)); + player.getSession().send(new PacketSyncTeamEntityNotify(player)); + player.getSession().send(new PacketSyncScenePlayTeamEntityNotify(player)); + } + } + + private void addEntityDirectly(GenshinEntity entity) { + getEntities().put(entity.getId(), entity); + } + + public synchronized void addEntity(GenshinEntity entity) { + this.addEntityDirectly(entity); + this.broadcastPacket(new PacketSceneEntityAppearNotify(entity)); + } + + public synchronized void addEntities(Collection entities) { + for (GenshinEntity entity : entities) { + this.addEntityDirectly(entity); + } + + this.broadcastPacket(new PacketSceneEntityAppearNotify(entities, VisionType.VisionBorn)); + } + + private GenshinEntity removeEntityDirectly(GenshinEntity entity) { + return getEntities().remove(entity.getId()); + } + + public void removeEntity(GenshinEntity entity) { + this.removeEntity(entity, VisionType.VisionDie); + } + + public synchronized void removeEntity(GenshinEntity entity, VisionType visionType) { + GenshinEntity removed = this.removeEntityDirectly(entity); + if (removed != null) { + this.broadcastPacket(new PacketSceneEntityDisappearNotify(removed, visionType)); + } + } + + public synchronized void replaceEntity(EntityAvatar oldEntity, EntityAvatar newEntity) { + this.removeEntityDirectly(oldEntity); + this.addEntityDirectly(newEntity); + this.broadcastPacket(new PacketSceneEntityDisappearNotify(oldEntity, VisionType.VisionReplace)); + this.broadcastPacket(new PacketSceneEntityAppearNotify(newEntity, VisionType.VisionReplace, oldEntity.getId())); + } + + private void setupPlayerAvatars(GenshinPlayer player) { + // Copy main team to mp team + if (this.isMultiplayer()) { + player.getTeamManager().getMpTeam().copyFrom(player.getTeamManager().getCurrentSinglePlayerTeamInfo(), player.getTeamManager().getMaxTeamSize()); + } + + // Clear entities from old team + player.getTeamManager().getActiveTeam().clear(); + + // Add new entities for player + TeamInfo teamInfo = player.getTeamManager().getCurrentTeamInfo(); + for (int avatarId : teamInfo.getAvatars()) { + EntityAvatar entity = new EntityAvatar(this, player.getAvatars().getAvatarById(avatarId)); + player.getTeamManager().getActiveTeam().add(entity); + } + } + + private void removePlayerAvatars(GenshinPlayer player) { + Iterator it = player.getTeamManager().getActiveTeam().iterator(); + while (it.hasNext()) { + this.removeEntity(it.next(), VisionType.VisionRemove); + it.remove(); + } + } + + public void spawnPlayer(GenshinPlayer player) { + if (isInWorld(player.getTeamManager().getCurrentAvatarEntity())) { + return; + } + + if (player.getTeamManager().getCurrentAvatarEntity().getFightProperty(FightProperty.FIGHT_PROP_CUR_HP) <= 0f) { + player.getTeamManager().getCurrentAvatarEntity().setFightProperty(FightProperty.FIGHT_PROP_CUR_HP, 1f); + } + + this.addEntity(player.getTeamManager().getCurrentAvatarEntity()); + } + + public void showOtherEntities(GenshinPlayer player) { + List entities = new LinkedList<>(); + GenshinEntity currentEntity = player.getTeamManager().getCurrentAvatarEntity(); + + for (GenshinEntity entity : this.getEntities().values()) { + if (entity == currentEntity) { + continue; + } + entities.add(entity); + } + + player.sendPacket(new PacketSceneEntityAppearNotify(entities, VisionType.VisionMeet)); + } + + public void handleAttack(AttackResult result) { + //GenshinEntity attacker = getEntityById(result.getAttackerId()); + GenshinEntity target = getEntityById(result.getDefenseId()); + + if (target == null) { + return; + } + + // Godmode check + if (target instanceof EntityAvatar) { + if (((EntityAvatar) target).getPlayer().hasGodmode()) { + return; + } + } + + // Lose hp + target.addFightProperty(FightProperty.FIGHT_PROP_CUR_HP, -result.getDamage()); + + // Check if dead + boolean isDead = false; + if (target.getFightProperty(FightProperty.FIGHT_PROP_CUR_HP) <= 0f) { + target.setFightProperty(FightProperty.FIGHT_PROP_CUR_HP, 0f); + isDead = true; + } + + // Packets + this.broadcastPacket(new PacketEntityFightPropUpdateNotify(target, FightProperty.FIGHT_PROP_CUR_HP)); + + // Check if dead + if (isDead) { + this.killEntity(target, result.getAttackerId()); + } + } + + public void killEntity(GenshinEntity target, int attackerId) { + // Packet + this.broadcastPacket(new PacketLifeStateChangeNotify(attackerId, target, LifeState.LIFE_DEAD)); + this.removeEntity(target); + + // Death event + target.onDeath(attackerId); + } + + // Gadgets + + public void onPlayerCreateGadget(EntityClientGadget gadget) { + // Directly add + this.addEntityDirectly(gadget); + + // Add to owner's gadget list TODO + + // Optimization + if (this.getPlayerCount() == 1 && this.getPlayers().get(0) == gadget.getOwner()) { + return; + } + + this.broadcastPacketToOthers(gadget.getOwner(), new PacketSceneEntityAppearNotify(gadget)); + } + + public void onPlayerDestroyGadget(int entityId) { + GenshinEntity entity = getEntities().get(entityId); + + if (entity == null || !(entity instanceof EntityClientGadget)) { + return; + } + + // Get and remove entity + EntityClientGadget gadget = (EntityClientGadget) entity; + this.removeEntityDirectly(gadget); + + // Remove from owner's gadget list TODO + + // Optimization + if (this.getPlayerCount() == 1 && this.getPlayers().get(0) == gadget.getOwner()) { + return; + } + + this.broadcastPacketToOthers(gadget.getOwner(), new PacketSceneEntityDisappearNotify(gadget, VisionType.VisionDie)); + } + + // Broadcasting + + public void broadcastPacket(GenshinPacket packet) { + // Send to all players - might have to check if player has been sent data packets + for (GenshinPlayer player : this.getPlayers()) { + player.getSession().send(packet); + } + } + + public void broadcastPacketToOthers(GenshinPlayer excludedPlayer, GenshinPacket packet) { + // Optimization + if (this.getPlayerCount() == 1 && this.getPlayers().get(0) == excludedPlayer) { + return; + } + // Send to all players - might have to check if player has been sent data packets + for (GenshinPlayer player : this.getPlayers()) { + if (player == excludedPlayer) { + continue; + } + // Send + player.getSession().send(packet); + } + } + + public void close() { + + } + + @Override + public Iterator iterator() { + return getPlayers().iterator(); + } +} diff --git a/src/main/java/emu/grasscutter/game/avatar/AvatarProfileData.java b/src/main/java/emu/grasscutter/game/avatar/AvatarProfileData.java new file mode 100644 index 00000000..5458c175 --- /dev/null +++ b/src/main/java/emu/grasscutter/game/avatar/AvatarProfileData.java @@ -0,0 +1,23 @@ +package emu.grasscutter.game.avatar; + +public class AvatarProfileData { + private int avatarId; + private int level; + + public AvatarProfileData(GenshinAvatar avatar) { + this.update(avatar); + } + + public int getAvatarId() { + return avatarId; + } + + public int getLevel() { + return level; + } + + public void update(GenshinAvatar avatar) { + this.avatarId = avatar.getAvatarId(); + this.level = avatar.getLevel(); + } +} diff --git a/src/main/java/emu/grasscutter/game/avatar/AvatarStat.java b/src/main/java/emu/grasscutter/game/avatar/AvatarStat.java new file mode 100644 index 00000000..fc20d00d --- /dev/null +++ b/src/main/java/emu/grasscutter/game/avatar/AvatarStat.java @@ -0,0 +1,124 @@ +package emu.grasscutter.game.avatar; + +import java.util.stream.Stream; + +import it.unimi.dsi.fastutil.ints.Int2ObjectMap; +import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap; + +public enum AvatarStat { + FIGHT_PROP_NONE(0), + FIGHT_PROP_BASE_HP(1), + FIGHT_PROP_HP(2), + FIGHT_PROP_HP_PERCENT(3), + FIGHT_PROP_BASE_ATTACK(4), + FIGHT_PROP_ATTACK(5), + FIGHT_PROP_ATTACK_PERCENT(6), + FIGHT_PROP_BASE_DEFENSE(7), + FIGHT_PROP_DEFENSE(8), + FIGHT_PROP_DEFENSE_PERCENT(9), + FIGHT_PROP_BASE_SPEED(10), + FIGHT_PROP_SPEED_PERCENT(11), + FIGHT_PROP_HP_MP_PERCENT(12), + FIGHT_PROP_ATTACK_MP_PERCENT(13), + FIGHT_PROP_CRITICAL(20), + FIGHT_PROP_ANTI_CRITICAL(21), + FIGHT_PROP_CRITICAL_HURT(22), + FIGHT_PROP_CHARGE_EFFICIENCY(23), + FIGHT_PROP_ADD_HURT(24), + FIGHT_PROP_SUB_HURT(25), + FIGHT_PROP_HEAL_ADD(26), + FIGHT_PROP_HEALED_ADD(27), + FIGHT_PROP_ELEMENT_MASTERY(28), + FIGHT_PROP_PHYSICAL_SUB_HURT(29), + FIGHT_PROP_PHYSICAL_ADD_HURT(30), + FIGHT_PROP_DEFENCE_IGNORE_RATIO(31), + FIGHT_PROP_DEFENCE_IGNORE_DELTA(32), + FIGHT_PROP_FIRE_ADD_HURT(40), + FIGHT_PROP_ELEC_ADD_HURT(41), + FIGHT_PROP_WATER_ADD_HURT(42), + FIGHT_PROP_GRASS_ADD_HURT(43), + FIGHT_PROP_WIND_ADD_HURT(44), + FIGHT_PROP_ROCK_ADD_HURT(45), + FIGHT_PROP_ICE_ADD_HURT(46), + FIGHT_PROP_HIT_HEAD_ADD_HURT(47), + FIGHT_PROP_FIRE_SUB_HURT(50), + FIGHT_PROP_ELEC_SUB_HURT(51), + FIGHT_PROP_WATER_SUB_HURT(52), + FIGHT_PROP_GRASS_SUB_HURT(53), + FIGHT_PROP_WIND_SUB_HURT(54), + FIGHT_PROP_ROCK_SUB_HURT(55), + FIGHT_PROP_ICE_SUB_HURT(56), + FIGHT_PROP_EFFECT_HIT(60), + FIGHT_PROP_EFFECT_RESIST(61), + FIGHT_PROP_FREEZE_RESIST(62), + FIGHT_PROP_TORPOR_RESIST(63), + FIGHT_PROP_DIZZY_RESIST(64), + FIGHT_PROP_FREEZE_SHORTEN(65), + FIGHT_PROP_TORPOR_SHORTEN(66), + FIGHT_PROP_DIZZY_SHORTEN(67), + FIGHT_PROP_MAX_FIRE_ENERGY(70), + FIGHT_PROP_MAX_ELEC_ENERGY(71), + FIGHT_PROP_MAX_WATER_ENERGY(72), + FIGHT_PROP_MAX_GRASS_ENERGY(73), + FIGHT_PROP_MAX_WIND_ENERGY(74), + FIGHT_PROP_MAX_ICE_ENERGY(75), + FIGHT_PROP_MAX_ROCK_ENERGY(76), + FIGHT_PROP_SKILL_CD_MINUS_RATIO(80), + FIGHT_PROP_SHIELD_COST_MINUS_RATIO(81), + FIGHT_PROP_CUR_FIRE_ENERGY(1000), + FIGHT_PROP_CUR_ELEC_ENERGY(1001), + FIGHT_PROP_CUR_WATER_ENERGY(1002), + FIGHT_PROP_CUR_GRASS_ENERGY(1003), + FIGHT_PROP_CUR_WIND_ENERGY(1004), + FIGHT_PROP_CUR_ICE_ENERGY(1005), + FIGHT_PROP_CUR_ROCK_ENERGY(1006), + FIGHT_PROP_CUR_HP(1010), + FIGHT_PROP_MAX_HP(2000), + FIGHT_PROP_CUR_ATTACK(2001), + FIGHT_PROP_CUR_DEFENSE(2002), + FIGHT_PROP_CUR_SPEED(2003), + FIGHT_PROP_NONEXTRA_ATTACK(3000), + FIGHT_PROP_NONEXTRA_DEFENSE(3001), + FIGHT_PROP_NONEXTRA_CRITICAL(3002), + FIGHT_PROP_NONEXTRA_ANTI_CRITICAL(3003), + FIGHT_PROP_NONEXTRA_CRITICAL_HURT(3004), + FIGHT_PROP_NONEXTRA_CHARGE_EFFICIENCY(3005), + FIGHT_PROP_NONEXTRA_ELEMENT_MASTERY(3006), + FIGHT_PROP_NONEXTRA_PHYSICAL_SUB_HURT(3007), + FIGHT_PROP_NONEXTRA_FIRE_ADD_HURT(3008), + FIGHT_PROP_NONEXTRA_ELEC_ADD_HURT(3009), + FIGHT_PROP_NONEXTRA_WATER_ADD_HURT(3010), + FIGHT_PROP_NONEXTRA_GRASS_ADD_HURT(3011), + FIGHT_PROP_NONEXTRA_WIND_ADD_HURT(3012), + FIGHT_PROP_NONEXTRA_ROCK_ADD_HURT(3013), + FIGHT_PROP_NONEXTRA_ICE_ADD_HURT(3014), + FIGHT_PROP_NONEXTRA_FIRE_SUB_HURT(3015), + FIGHT_PROP_NONEXTRA_ELEC_SUB_HURT(3016), + FIGHT_PROP_NONEXTRA_WATER_SUB_HURT(3017), + FIGHT_PROP_NONEXTRA_GRASS_SUB_HURT(3018), + FIGHT_PROP_NONEXTRA_WIND_SUB_HURT(3019), + FIGHT_PROP_NONEXTRA_ROCK_SUB_HURT(3020), + FIGHT_PROP_NONEXTRA_ICE_SUB_HURT(3021), + FIGHT_PROP_NONEXTRA_SKILL_CD_MINUS_RATIO(3022), + FIGHT_PROP_NONEXTRA_SHIELD_COST_MINUS_RATIO(3023), + FIGHT_PROP_NONEXTRA_PHYSICAL_ADD_HURT(3024); + + private final int id; + private static final Int2ObjectMap map = new Int2ObjectOpenHashMap<>(); + + static { + Stream.of(values()).forEach(e -> map.put(e.getId(), e)); + } + + private AvatarStat(int id) { + this.id = id; + } + + public int getId() { + return id; + } + + public static AvatarStat getStatById(int value) { + return map.getOrDefault(value, FIGHT_PROP_NONE); + } +} diff --git a/src/main/java/emu/grasscutter/game/avatar/AvatarStorage.java b/src/main/java/emu/grasscutter/game/avatar/AvatarStorage.java new file mode 100644 index 00000000..a0be0b27 --- /dev/null +++ b/src/main/java/emu/grasscutter/game/avatar/AvatarStorage.java @@ -0,0 +1,174 @@ +package emu.grasscutter.game.avatar; + +import java.util.Iterator; +import java.util.List; + +import emu.grasscutter.data.GenshinData; +import emu.grasscutter.data.def.AvatarData; +import emu.grasscutter.database.DatabaseHelper; +import emu.grasscutter.game.GenshinPlayer; +import emu.grasscutter.game.entity.EntityAvatar; +import emu.grasscutter.game.inventory.GenshinItem; +import emu.grasscutter.server.packet.send.PacketAvatarChangeCostumeNotify; +import emu.grasscutter.server.packet.send.PacketAvatarFlycloakChangeNotify; +import it.unimi.dsi.fastutil.ints.Int2ObjectMap; +import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap; +import it.unimi.dsi.fastutil.longs.Long2ObjectMap; +import it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap; + +public class AvatarStorage implements Iterable { + private final GenshinPlayer player; + private final Int2ObjectMap avatars; + private final Long2ObjectMap avatarsGuid; + + public AvatarStorage(GenshinPlayer player) { + this.player = player; + this.avatars = new Int2ObjectOpenHashMap<>(); + this.avatarsGuid = new Long2ObjectOpenHashMap<>(); + } + + public GenshinPlayer getPlayer() { + return player; + } + + public Int2ObjectMap getAvatars() { + return avatars; + } + + public int getAvatarCount() { + return this.avatars.size(); + } + + public GenshinAvatar getAvatarById(int id) { + return getAvatars().get(id); + } + + public GenshinAvatar getAvatarByGuid(long id) { + return avatarsGuid.get(id); + } + + public boolean hasAvatar(int id) { + return getAvatars().containsKey(id); + } + + public boolean addAvatar(GenshinAvatar avatar) { + if (avatar.getAvatarData() == null || this.hasAvatar(avatar.getAvatarId())) { + return false; + } + + // Set owner first + avatar.setOwner(getPlayer()); + + // Put into maps + this.avatars.put(avatar.getAvatarId(), avatar); + this.avatarsGuid.put(avatar.getGuid(), avatar); + + avatar.save(); + + return true; + } + + public void addStartingWeapon(GenshinAvatar avatar) { + // Make sure avatar owner is this player + if (avatar.getPlayer() != this.getPlayer()) { + return; + } + + // Create weapon + GenshinItem weapon = new GenshinItem(avatar.getAvatarData().getInitialWeapon()); + + if (weapon.getItemData() != null) { + this.getPlayer().getInventory().addItem(weapon); + + avatar.equipItem(weapon, true); + } + } + + public boolean wearFlycloak(long avatarGuid, int flycloakId) { + GenshinAvatar avatar = this.getAvatarByGuid(avatarGuid); + + if (avatar == null || !getPlayer().getFlyCloakList().contains(flycloakId)) { + return false; + } + + avatar.setFlyCloak(flycloakId); + avatar.save(); + + // Update + getPlayer().sendPacket(new PacketAvatarFlycloakChangeNotify(avatar)); + + return true; + } + + public boolean changeCostume(long avatarGuid, int costumeId) { + GenshinAvatar avatar = this.getAvatarByGuid(avatarGuid); + + if (avatar == null) { + return false; + } + + if (costumeId != 0 && !getPlayer().getCostumeList().contains(costumeId)) { + return false; + } + + // TODO make sure avatar can wear costume + + avatar.setCostume(costumeId); + avatar.save(); + + // Update entity + EntityAvatar entity = avatar.getAsEntity(); + if (entity == null) { + entity = new EntityAvatar(avatar); + getPlayer().sendPacket(new PacketAvatarChangeCostumeNotify(entity)); + } else { + getPlayer().getWorld().broadcastPacket(new PacketAvatarChangeCostumeNotify(entity)); + } + + // Done + return true; + } + + public void loadFromDatabase() { + List avatars = DatabaseHelper.getAvatars(getPlayer()); + + for (GenshinAvatar avatar : avatars) { + // Should never happen + if (avatar.getObjectId() == null) { + continue; + } + + AvatarData avatarData = GenshinData.getAvatarDataMap().get(avatar.getAvatarId()); + if (avatarData == null) { + continue; + } + + // Set ownerships + avatar.setAvatarData(avatarData); + avatar.setOwner(getPlayer()); + + // Force recalc of const boosted skills + avatar.recalcProudSkillBonusMap(); + + // Add to avatar storage + this.avatars.put(avatar.getAvatarId(), avatar); + this.avatarsGuid.put(avatar.getGuid(), avatar); + } + } + + public void postLoad() { + for (GenshinAvatar avatar : this) { + // Weapon check + if (avatar.getWeapon() == null) { + this.addStartingWeapon(avatar); + } + // Recalc stats + avatar.recalcStats(); + } + } + + @Override + public Iterator iterator() { + return getAvatars().values().iterator(); + } +} diff --git a/src/main/java/emu/grasscutter/game/avatar/GenshinAvatar.java b/src/main/java/emu/grasscutter/game/avatar/GenshinAvatar.java new file mode 100644 index 00000000..414c73cf --- /dev/null +++ b/src/main/java/emu/grasscutter/game/avatar/GenshinAvatar.java @@ -0,0 +1,695 @@ +package emu.grasscutter.game.avatar; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; + +import org.bson.types.ObjectId; + +import dev.morphia.annotations.Entity; +import dev.morphia.annotations.Id; +import dev.morphia.annotations.Indexed; +import dev.morphia.annotations.PostLoad; +import dev.morphia.annotations.PrePersist; +import dev.morphia.annotations.Transient; +import emu.grasscutter.data.GenshinData; +import emu.grasscutter.data.common.FightPropData; +import emu.grasscutter.data.custom.OpenConfigEntry; +import emu.grasscutter.data.def.AvatarData; +import emu.grasscutter.data.def.AvatarPromoteData; +import emu.grasscutter.data.def.AvatarSkillData; +import emu.grasscutter.data.def.AvatarSkillDepotData; +import emu.grasscutter.data.def.AvatarSkillDepotData.InherentProudSkillOpens; +import emu.grasscutter.data.def.AvatarTalentData; +import emu.grasscutter.data.def.EquipAffixData; +import emu.grasscutter.data.def.ReliquaryAffixData; +import emu.grasscutter.data.def.ReliquaryLevelData; +import emu.grasscutter.data.def.ReliquaryMainPropData; +import emu.grasscutter.data.def.ReliquarySetData; +import emu.grasscutter.data.def.WeaponCurveData; +import emu.grasscutter.data.def.WeaponPromoteData; +import emu.grasscutter.data.def.ItemData.WeaponProperty; +import emu.grasscutter.data.def.ProudSkillData; +import emu.grasscutter.database.DatabaseHelper; +import emu.grasscutter.game.GenshinPlayer; +import emu.grasscutter.game.entity.EntityAvatar; +import emu.grasscutter.game.inventory.EquipType; +import emu.grasscutter.game.inventory.GenshinItem; +import emu.grasscutter.game.props.ElementType; +import emu.grasscutter.game.props.EntityIdType; +import emu.grasscutter.game.props.FightProperty; +import emu.grasscutter.game.props.PlayerProperty; +import emu.grasscutter.net.proto.AvatarFetterInfoOuterClass.AvatarFetterInfo; +import emu.grasscutter.net.proto.AvatarInfoOuterClass.AvatarInfo; +import emu.grasscutter.server.packet.send.PacketAvatarEquipChangeNotify; +import emu.grasscutter.server.packet.send.PacketAvatarFightPropNotify; +import emu.grasscutter.utils.ProtoHelper; +import it.unimi.dsi.fastutil.ints.Int2FloatOpenHashMap; +import it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap; +import it.unimi.dsi.fastutil.ints.Int2ObjectMap; +import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap; + +@Entity(value = "avatars", noClassnameStored = true) +public class GenshinAvatar { + @Id private ObjectId id; + @Indexed private int ownerId; // Id of player that this avatar belongs to + + @Transient private GenshinPlayer owner; + @Transient private AvatarData data; + @Transient private long guid; // Player unique id + private int avatarId; // Id of avatar + + private int level = 1; + private int exp; + private int promoteLevel; + private int satiation; // ? + private int satiationPenalty; // ? + private float currentHp; + + @Transient private final Int2ObjectMap equips; + @Transient private final Int2FloatOpenHashMap fightProp; + @Transient private final Set bonusAbilityList; + + private Map skillLevelMap; // Talent levels + private Map proudSkillBonusMap; // Talent bonus levels (from const) + private int skillDepotId; + private int coreProudSkillLevel; // Constellation level + private Set talentIdList; // Constellation id list + private Set proudSkillList; // Character passives + + private int flyCloak; + private int costume; + private int bornTime; + + public GenshinAvatar() { + // Morhpia only! + this.equips = new Int2ObjectOpenHashMap<>(); + this.fightProp = new Int2FloatOpenHashMap(); + this.bonusAbilityList = new HashSet<>(); + this.proudSkillBonusMap = new HashMap<>(); // TODO Move to genshin avatar + } + + // On creation + public GenshinAvatar(int avatarId) { + this(GenshinData.getAvatarDataMap().get(avatarId)); + } + + public GenshinAvatar(AvatarData data) { + this(); + this.avatarId = data.getId(); + this.data = data; + this.bornTime = (int) (System.currentTimeMillis() / 1000); + this.flyCloak = 140001; + + this.skillLevelMap = new HashMap<>(); + this.talentIdList = new HashSet<>(); + this.proudSkillList = new HashSet<>(); + + // Combat properties + for (FightProperty prop : FightProperty.values()) { + if (prop.getId() <= 0 || prop.getId() >= 3000) { + continue; + } + this.setFightProperty(prop, 0f); + } + + // Skill depot + this.setSkillDepot(getAvatarData().getSkillDepot()); + + // Set stats + this.recalcStats(); + this.currentHp = getFightProperty(FightProperty.FIGHT_PROP_MAX_HP); + setFightProperty(FightProperty.FIGHT_PROP_CUR_HP, this.currentHp); + + // Load handler + this.onLoad(); + } + + public GenshinPlayer getPlayer() { + return this.owner; + } + + public ObjectId getObjectId() { + return id; + } + + public AvatarData getAvatarData() { + return data; + } + + protected void setAvatarData(AvatarData data) { + this.data = data; + } + + public int getOwnerId() { + return ownerId; + } + + public void setOwner(GenshinPlayer player) { + this.owner = player; + this.ownerId = player.getId(); + this.guid = player.getNextGuid(); + } + + public int getSatiation() { + return satiation; + } + + public void setSatiation(int satiation) { + this.satiation = satiation; + } + + public int getSatiationPenalty() { + return satiationPenalty; + } + + public void setSatiationPenalty(int satiationPenalty) { + this.satiationPenalty = satiationPenalty; + } + + public AvatarData getData() { + return data; + } + + public long getGuid() { + return guid; + } + + public int getAvatarId() { + return avatarId; + } + + public int getLevel() { + return level; + } + + public void setLevel(int level) { + this.level = level; + } + + public int getExp() { + return exp; + } + + public void setExp(int exp) { + this.exp = exp; + } + + public int getPromoteLevel() { + return promoteLevel; + } + + public void setPromoteLevel(int promoteLevel) { + this.promoteLevel = promoteLevel; + } + + public Int2ObjectMap getEquips() { + return equips; + } + + public GenshinItem getEquipBySlot(EquipType slot) { + return this.getEquips().get(slot.getValue()); + } + + private GenshinItem getEquipBySlot(int slotId) { + return this.getEquips().get(slotId); + } + + public GenshinItem getWeapon() { + return this.getEquipBySlot(EquipType.EQUIP_WEAPON); + } + + public int getSkillDepotId() { + return skillDepotId; + } + + public void setSkillDepot(AvatarSkillDepotData skillDepot) { + // Set id + this.skillDepotId = skillDepot.getId(); + // Clear, then add skills + getSkillLevelMap().clear(); + if (skillDepot.getEnergySkill() > 0) { + getSkillLevelMap().put(skillDepot.getEnergySkill(), 1); + } + for (int skillId : skillDepot.getSkills()) { + if (skillId > 0) { + getSkillLevelMap().put(skillId, 1); + } + } + // Add proud skills + this.getProudSkillList().clear(); + for (InherentProudSkillOpens openData : skillDepot.getInherentProudSkillOpens()) { + if (openData.getProudSkillGroupId() == 0) { + continue; + } + if (openData.getNeedAvatarPromoteLevel() <= this.getPromoteLevel()) { + int proudSkillId = (openData.getProudSkillGroupId() * 100) + 1; + if (GenshinData.getProudSkillDataMap().containsKey(proudSkillId)) { + this.getProudSkillList().add(proudSkillId); + } + } + } + } + + public Map getSkillLevelMap() { + return skillLevelMap; + } + + public Map getProudSkillBonusMap() { + return proudSkillBonusMap; + } + + public Set getBonusAbilityList() { + return bonusAbilityList; + } + + public float getCurrentHp() { + return currentHp; + } + + public void setCurrentHp(float currentHp) { + this.currentHp = currentHp; + } + + public Int2FloatOpenHashMap getFightProperties() { + return fightProp; + } + + public void setFightProperty(FightProperty prop, float value) { + this.getFightProperties().put(prop.getId(), value); + } + + private void setFightProperty(int id, float value) { + this.getFightProperties().put(id, value); + } + + public void addFightProperty(FightProperty prop, float value) { + this.getFightProperties().put(prop.getId(), getFightProperty(prop) + value); + } + + public float getFightProperty(FightProperty prop) { + return getFightProperties().getOrDefault(prop.getId(), 0f); + } + + public Set getTalentIdList() { + return talentIdList; + } + + public int getCoreProudSkillLevel() { + return coreProudSkillLevel; + } + + public void setCoreProudSkillLevel(int constLevel) { + this.coreProudSkillLevel = constLevel; + } + + public Set getProudSkillList() { + return proudSkillList; + } + + public int getFlyCloak() { + return flyCloak; + } + + public void setFlyCloak(int flyCloak) { + this.flyCloak = flyCloak; + } + + public int getCostume() { + return costume; + } + + public void setCostume(int costume) { + this.costume = costume; + } + + public int getBornTime() { + return bornTime; + } + + public boolean equipItem(GenshinItem item, boolean shouldRecalc) { + EquipType itemEquipType = item.getItemData().getEquipType(); + if (itemEquipType == EquipType.EQUIP_NONE) { + return false; + } + + if (getEquips().containsKey(itemEquipType.getValue())) { + unequipItem(itemEquipType); + } + + getEquips().put(itemEquipType.getValue(), item); + + if (itemEquipType == EquipType.EQUIP_WEAPON && getPlayer().getWorld() != null) { + item.setWeaponEntityId(this.getPlayer().getWorld().getNextEntityId(EntityIdType.WEAPON)); + } + + item.setEquipCharacter(this.getAvatarId()); + item.save(); + + if (shouldRecalc) { + this.recalcStats(); + } + + if (this.getPlayer().hasSentAvatarDataNotify()) { + this.getPlayer().sendPacket(new PacketAvatarEquipChangeNotify(this, item)); + } + + return true; + } + + public boolean unequipItem(EquipType slot) { + GenshinItem item = getEquips().remove(slot.getValue()); + + if (item != null) { + item.setEquipCharacter(0); + item.save(); + return true; + } + + return false; + } + + public void recalcStats() { + // Setup + AvatarData data = this.getAvatarData(); + AvatarPromoteData promoteData = GenshinData.getAvatarPromoteData(data.getAvatarPromoteId(), this.getPromoteLevel()); + Int2IntOpenHashMap setMap = new Int2IntOpenHashMap(); + this.getBonusAbilityList().clear(); + + // Get hp percent, set to 100% if none + float hpPercent = this.getFightProperty(FightProperty.FIGHT_PROP_MAX_HP) <= 0 ? 1f : this.getFightProperty(FightProperty.FIGHT_PROP_CUR_HP) / this.getFightProperty(FightProperty.FIGHT_PROP_MAX_HP); + + // Clear properties + this.getFightProperties().clear(); + + // Base stats + this.setFightProperty(FightProperty.FIGHT_PROP_BASE_HP, data.getBaseHp(this.getLevel())); + this.setFightProperty(FightProperty.FIGHT_PROP_BASE_ATTACK, data.getBaseAttack(this.getLevel())); + this.setFightProperty(FightProperty.FIGHT_PROP_BASE_DEFENSE, data.getBaseDefense(this.getLevel())); + this.setFightProperty(FightProperty.FIGHT_PROP_CRITICAL, data.getBaseCritical()); + this.setFightProperty(FightProperty.FIGHT_PROP_CRITICAL_HURT, data.getBaseCriticalHurt()); + this.setFightProperty(FightProperty.FIGHT_PROP_CHARGE_EFFICIENCY, 1f); + + if (promoteData != null) { + for (FightPropData fightPropData : promoteData.getAddProps()) { + this.addFightProperty(fightPropData.getProp(), fightPropData.getValue()); + } + } + + // Set energy usage + if (data.getSkillDepot() != null && data.getSkillDepot().getEnergySkillData() != null) { + ElementType element = data.getSkillDepot().getElementType(); + this.setFightProperty(element.getEnergyProperty(), data.getSkillDepot().getEnergySkillData().getCostElemVal()); + this.setFightProperty((element.getEnergyProperty().getId() % 70) + 1000, data.getSkillDepot().getEnergySkillData().getCostElemVal()); + } + + // Artifacts + for (int slotId = 1; slotId <= 5; slotId++) { + // Get artifact + GenshinItem equip = this.getEquipBySlot(slotId); + if (equip == null) { + continue; + } + // Artifact main stat + ReliquaryMainPropData mainPropData = GenshinData.getReliquaryMainPropDataMap().get(equip.getMainPropId()); + if (mainPropData != null) { + ReliquaryLevelData levelData = GenshinData.getRelicLevelData(equip.getItemData().getRankLevel(), equip.getLevel()); + if (levelData != null) { + this.addFightProperty(mainPropData.getFightProp(), levelData.getPropValue(mainPropData.getFightProp())); + } + } + // Artifact sub stats + for (int appendPropId : equip.getAppendPropIdList()) { + ReliquaryAffixData affixData = GenshinData.getReliquaryAffixDataMap().get(appendPropId); + if (affixData != null) { + this.addFightProperty(affixData.getFightProp(), affixData.getPropValue()); + } + } + // Set bonus + if (equip.getItemData().getSetId() > 0) { + setMap.addTo(equip.getItemData().getSetId(), 1); + } + } + + // Set stuff + for (Int2IntOpenHashMap.Entry e : setMap.int2IntEntrySet()) { + ReliquarySetData setData = GenshinData.getReliquarySetDataMap().get(e.getIntKey()); + if (setData == null) { + continue; + } + + // Calculate how many items are from the set + int amount = e.getIntValue(); + + // Add affix data from set bonus + for (int setIndex = 0; setIndex < setData.getSetNeedNum().length; setIndex++) { + if (amount >= setData.getSetNeedNum()[setIndex]) { + int affixId = (setData.getEquipAffixId() * 10) + setIndex; + + EquipAffixData affix = GenshinData.getEquipAffixDataMap().get(affixId); + if (affix == null) { + continue; + } + + // Add properties from this affix to our avatar + for (FightPropData prop : affix.getAddProps()) { + this.addFightProperty(prop.getProp(), prop.getValue()); + } + + // Add any skill strings from this affix + this.addToAbilityList(affix.getOpenConfig(), true); + } else { + break; + } + } + } + + // Weapon + GenshinItem weapon = this.getWeapon(); + if (weapon != null) { + // Add stats + WeaponCurveData curveData = GenshinData.getWeaponCurveDataMap().get(weapon.getLevel()); + if (curveData != null) { + for (WeaponProperty weaponProperty : weapon.getItemData().getWeaponProperties()) { + this.addFightProperty(weaponProperty.getFightProp(), weaponProperty.getInitValue() * curveData.getMultByProp(weaponProperty.getType())); + } + } + // Weapon promotion stats + WeaponPromoteData wepPromoteData = GenshinData.getWeaponPromoteData(weapon.getItemData().getWeaponPromoteId(), weapon.getPromoteLevel()); + if (wepPromoteData != null) { + for (FightPropData prop : wepPromoteData.getAddProps()) { + if (prop.getValue() == 0f || prop.getProp() == null) { + continue; + } + this.addFightProperty(prop.getProp(), prop.getValue()); + } + } + // Add weapon skill from affixes + if (weapon.getAffixes() != null && weapon.getAffixes().size() > 0) { + // Weapons usually dont have more than one affix but just in case... + for (int af : weapon.getAffixes()) { + if (af == 0) { + continue; + } + // Calculate affix id + int affixId = (af * 10) + weapon.getRefinement(); + EquipAffixData affix = GenshinData.getEquipAffixDataMap().get(affixId); + if (affix == null) { + continue; + } + + // Add properties from this affix to our avatar + for (FightPropData prop : affix.getAddProps()) { + this.addFightProperty(prop.getProp(), prop.getValue()); + } + + // Add any skill strings from this affix + this.addToAbilityList(affix.getOpenConfig(), true); + } + } + } + + // Proud skills + for (int proudSkillId : this.getProudSkillList()) { + ProudSkillData proudSkillData = GenshinData.getProudSkillDataMap().get(proudSkillId); + if (proudSkillData == null) { + continue; + } + + // Add properties from this proud skill to our avatar + for (FightPropData prop : proudSkillData.getAddProps()) { + this.addFightProperty(prop.getProp(), prop.getValue()); + } + + // Add any skill strings from this proud skill + this.addToAbilityList(proudSkillData.getOpenConfig(), true); + } + + // Constellations + if (this.getTalentIdList().size() > 0) { + for (int talentId : this.getTalentIdList()) { + AvatarTalentData avatarTalentData = GenshinData.getAvatarTalentDataMap().get(talentId); + if (avatarTalentData == null) { + return; + } + + // Add any skill strings from this constellation + this.addToAbilityList(avatarTalentData.getOpenConfig(), false); + } + } + + // Set % stats + this.setFightProperty( + FightProperty.FIGHT_PROP_MAX_HP, + (getFightProperty(FightProperty.FIGHT_PROP_BASE_HP) * (1f + getFightProperty(FightProperty.FIGHT_PROP_HP_PERCENT))) + getFightProperty(FightProperty.FIGHT_PROP_HP) + ); + this.setFightProperty( + FightProperty.FIGHT_PROP_CUR_ATTACK, + (getFightProperty(FightProperty.FIGHT_PROP_BASE_ATTACK) * (1f + getFightProperty(FightProperty.FIGHT_PROP_ATTACK_PERCENT))) + getFightProperty(FightProperty.FIGHT_PROP_ATTACK) + ); + this.setFightProperty( + FightProperty.FIGHT_PROP_CUR_DEFENSE, + (getFightProperty(FightProperty.FIGHT_PROP_BASE_DEFENSE) * (1f + getFightProperty(FightProperty.FIGHT_PROP_DEFENSE_PERCENT))) + getFightProperty(FightProperty.FIGHT_PROP_DEFENSE) + ); + + // Set current hp + this.setFightProperty(FightProperty.FIGHT_PROP_CUR_HP, this.getFightProperty(FightProperty.FIGHT_PROP_MAX_HP) * hpPercent); + + // Packet + if (getPlayer() != null && getPlayer().hasSentAvatarDataNotify()) { + getPlayer().sendPacket(new PacketAvatarFightPropNotify(this)); + } + } + + public void addToAbilityList(String openConfig, boolean forceAdd) { + if (openConfig == null || openConfig.length() == 0) { + return; + } + + OpenConfigEntry entry = GenshinData.getOpenConfigEntries().get(openConfig); + if (entry == null) { + if (forceAdd) { + // Add config string to ability skill list anyways + this.getBonusAbilityList().add(openConfig); + } + return; + } + + if (entry.getAddAbilities() != null) { + for (String ability : entry.getAddAbilities()) { + this.getBonusAbilityList().add(ability); + } + } + } + + public void recalcProudSkillBonusMap() { + // Clear first + this.getProudSkillBonusMap().clear(); + + // Sanity checks + if (getData() == null || getData().getSkillDepot() == null) { + return; + } + + if (this.getTalentIdList().size() > 0) { + for (int talentId : this.getTalentIdList()) { + AvatarTalentData avatarTalentData = GenshinData.getAvatarTalentDataMap().get(talentId); + + if (avatarTalentData == null || avatarTalentData.getOpenConfig() == null || avatarTalentData.getOpenConfig().length() == 0) { + continue; + } + + // Get open config to find which skill should be boosted + OpenConfigEntry entry = GenshinData.getOpenConfigEntries().get(avatarTalentData.getOpenConfig()); + if (entry == null) { + continue; + } + + int skillId = 0; + + if (entry.getExtraTalentIndex() == 2 && this.getData().getSkillDepot().getSkills().size() >= 2) { + // E skill + skillId = this.getData().getSkillDepot().getSkills().get(1); + } else if (entry.getExtraTalentIndex() == 9) { + // Ult skill + skillId = this.getData().getSkillDepot().getEnergySkill(); + } + + // Sanity check + if (skillId == 0) { + continue; + } + + // Get proud skill group id + AvatarSkillData skillData = GenshinData.getAvatarSkillDataMap().get(skillId); + + if (skillData == null) { + continue; + } + + // Add to bonus list + this.getProudSkillBonusMap().put(skillData.getProudSkillGroupId(), 3); + } + } + } + + public EntityAvatar getAsEntity() { + for (EntityAvatar entity : getPlayer().getTeamManager().getActiveTeam()) { + if (entity.getAvatar() == this) { + return entity; + } + } + return null; + } + + public int getEntityId() { + EntityAvatar entity = getAsEntity(); + return entity != null ? entity.getId() : 0; + } + + public void save() { + DatabaseHelper.saveAvatar(this); + } + + public AvatarInfo toProto() { + AvatarInfo.Builder avatarInfo = AvatarInfo.newBuilder() + .setAvatarId(this.getAvatarId()) + .setGuid(this.getGuid()) + .setLifeState(1) + .addAllTalentIdList(this.getTalentIdList()) + .putAllFightPropMap(this.getFightProperties()) + .setSkillDepotId(this.getSkillDepotId()) + .setCoreProudSkillLevel(this.getCoreProudSkillLevel()) + .putAllSkillLevelMap(this.getSkillLevelMap()) + .addAllInherentProudSkillList(this.getProudSkillList()) + .putAllProudSkillExtraLevel(getProudSkillBonusMap()) + .setAvatarType(1) + .setBornTime(this.getBornTime()) + .setFetterInfo(AvatarFetterInfo.newBuilder().setExpLevel(1)) + .setWearingFlycloakId(this.getFlyCloak()) + .setCostumeId(this.getCostume()); + + for (GenshinItem item : this.getEquips().values()) { + avatarInfo.addEquipGuidList(item.getGuid()); + } + + avatarInfo.putPropMap(PlayerProperty.PROP_LEVEL.getId(), ProtoHelper.newPropValue(PlayerProperty.PROP_LEVEL, this.getLevel())); + avatarInfo.putPropMap(PlayerProperty.PROP_EXP.getId(), ProtoHelper.newPropValue(PlayerProperty.PROP_EXP, this.getExp())); + avatarInfo.putPropMap(PlayerProperty.PROP_BREAK_LEVEL.getId(), ProtoHelper.newPropValue(PlayerProperty.PROP_BREAK_LEVEL, this.getPromoteLevel())); + avatarInfo.putPropMap(PlayerProperty.PROP_SATIATION_VAL.getId(), ProtoHelper.newPropValue(PlayerProperty.PROP_SATIATION_VAL, 0)); + avatarInfo.putPropMap(PlayerProperty.PROP_SATIATION_PENALTY_TIME.getId(), ProtoHelper.newPropValue(PlayerProperty.PROP_SATIATION_PENALTY_TIME, 0)); + + return avatarInfo.build(); + } + + @PostLoad + private void onLoad() { + + } + + @PrePersist + private void prePersist() { + this.currentHp = this.getFightProperty(FightProperty.FIGHT_PROP_CUR_HP); + } +} diff --git a/src/main/java/emu/grasscutter/game/dungeons/DungeonManager.java b/src/main/java/emu/grasscutter/game/dungeons/DungeonManager.java new file mode 100644 index 00000000..33bac7d0 --- /dev/null +++ b/src/main/java/emu/grasscutter/game/dungeons/DungeonManager.java @@ -0,0 +1,15 @@ +package emu.grasscutter.game.dungeons; + +import emu.grasscutter.server.game.GameServer; + +public class DungeonManager { + private final GameServer server; + + public DungeonManager(GameServer server) { + this.server = server; + } + + public GameServer getServer() { + return server; + } +} diff --git a/src/main/java/emu/grasscutter/game/entity/EntityAvatar.java b/src/main/java/emu/grasscutter/game/entity/EntityAvatar.java new file mode 100644 index 00000000..a46fc26c --- /dev/null +++ b/src/main/java/emu/grasscutter/game/entity/EntityAvatar.java @@ -0,0 +1,239 @@ +package emu.grasscutter.game.entity; + +import emu.grasscutter.GenshinConstants; +import emu.grasscutter.data.GenshinData; +import emu.grasscutter.data.def.AvatarData; +import emu.grasscutter.data.def.AvatarSkillDepotData; +import emu.grasscutter.game.GenshinPlayer; +import emu.grasscutter.game.World; +import emu.grasscutter.game.avatar.GenshinAvatar; +import emu.grasscutter.game.inventory.EquipType; +import emu.grasscutter.game.inventory.GenshinItem; +import emu.grasscutter.game.props.EntityIdType; +import emu.grasscutter.game.props.FightProperty; +import emu.grasscutter.game.props.PlayerProperty; +import emu.grasscutter.net.proto.AbilityControlBlockOuterClass.AbilityControlBlock; +import emu.grasscutter.net.proto.AbilityEmbryoOuterClass.AbilityEmbryo; +import emu.grasscutter.net.proto.AbilitySyncStateInfoOuterClass.AbilitySyncStateInfo; +import emu.grasscutter.net.proto.AnimatorParameterValueInfoPairOuterClass.AnimatorParameterValueInfoPair; +import emu.grasscutter.net.proto.EntityAuthorityInfoOuterClass.EntityAuthorityInfo; +import emu.grasscutter.net.proto.EntityClientDataOuterClass.EntityClientData; +import emu.grasscutter.net.proto.EntityRendererChangedInfoOuterClass.EntityRendererChangedInfo; +import emu.grasscutter.net.proto.FightPropPairOuterClass.FightPropPair; +import emu.grasscutter.net.proto.PlayerDieTypeOuterClass.PlayerDieType; +import emu.grasscutter.net.proto.PropPairOuterClass.PropPair; +import emu.grasscutter.net.proto.ProtEntityTypeOuterClass.ProtEntityType; +import emu.grasscutter.net.proto.SceneAvatarInfoOuterClass.SceneAvatarInfo; +import emu.grasscutter.net.proto.SceneEntityAiInfoOuterClass.SceneEntityAiInfo; +import emu.grasscutter.net.proto.SceneEntityInfoOuterClass.SceneEntityInfo; +import emu.grasscutter.net.proto.VectorOuterClass.Vector; +import emu.grasscutter.utils.Position; +import emu.grasscutter.utils.ProtoHelper; +import emu.grasscutter.utils.Utils; +import it.unimi.dsi.fastutil.ints.Int2FloatMap; +import it.unimi.dsi.fastutil.ints.Int2FloatOpenHashMap; + +public class EntityAvatar extends GenshinEntity { + private final GenshinAvatar avatar; + + private PlayerDieType killedType; + private int killedBy; + + public EntityAvatar(World world, GenshinAvatar avatar) { + super(world); + this.avatar = avatar; + this.id = world.getNextEntityId(EntityIdType.AVATAR); + + GenshinItem weapon = this.getAvatar().getWeapon(); + if (weapon != null) { + weapon.setWeaponEntityId(world.getNextEntityId(EntityIdType.WEAPON)); + } + } + + public EntityAvatar(GenshinAvatar avatar) { + super(null); + this.avatar = avatar; + } + + public GenshinPlayer getPlayer() { + return avatar.getPlayer(); + } + + @Override + public Position getPosition() { + return getPlayer().getPos(); + } + + @Override + public Position getRotation() { + return getPlayer().getRotation(); + } + + public GenshinAvatar getAvatar() { + return avatar; + } + + public int getKilledBy() { + return killedBy; + } + + public PlayerDieType getKilledType() { + return killedType; + } + + @Override + public boolean isAlive() { + return this.getFightProperty(FightProperty.FIGHT_PROP_CUR_HP) > 0f; + } + + @Override + public Int2FloatOpenHashMap getFightProperties() { + return getAvatar().getFightProperties(); + } + + public int getWeaponEntityId() { + if (getAvatar().getWeapon() != null) { + return getAvatar().getWeapon().getWeaponEntityId(); + } + return 0; + } + + @Override + public void onDeath(int killerId) { + this.killedType = PlayerDieType.PlayerDieKillByMonster; + this.killedBy = killerId; + } + + public SceneAvatarInfo getSceneAvatarInfo() { + SceneAvatarInfo.Builder avatarInfo = SceneAvatarInfo.newBuilder() + .setPlayerId(this.getPlayer().getId()) + .setAvatarId(this.getAvatar().getAvatarId()) + .setGuid(this.getAvatar().getGuid()) + .setPeerId(this.getPlayer().getPeerId()) + .addAllTalentIdList(this.getAvatar().getTalentIdList()) + .setCoreProudSkillLevel(this.getAvatar().getCoreProudSkillLevel()) + .putAllSkillLevelMap(this.getAvatar().getSkillLevelMap()) + .setSkillDepotId(this.getAvatar().getSkillDepotId()) + .addAllInherentProudSkillList(this.getAvatar().getProudSkillList()) + .putAllProudSkillExtraLevelMap(this.getAvatar().getProudSkillBonusMap()) + .addAllTeamResonanceList(this.getAvatar().getPlayer().getTeamManager().getTeamResonances()) + .setWearingFlycloakId(this.getAvatar().getFlyCloak()) + .setCostumeId(this.getAvatar().getCostume()) + .setBornTime(this.getAvatar().getBornTime()); + + for (GenshinItem item : avatar.getEquips().values()) { + if (item.getItemData().getEquipType() == EquipType.EQUIP_WEAPON) { + avatarInfo.setWeapon(item.createSceneWeaponInfo()); + } else { + avatarInfo.addReliquaryList(item.createSceneReliquaryInfo()); + } + avatarInfo.addEquipIdList(item.getItemId()); + } + + return avatarInfo.build(); + } + + @Override + public SceneEntityInfo toProto() { + EntityAuthorityInfo authority = EntityAuthorityInfo.newBuilder() + .setAbilityInfo(AbilitySyncStateInfo.newBuilder()) + .setRendererChangedInfo(EntityRendererChangedInfo.newBuilder()) + .setAiInfo(SceneEntityAiInfo.newBuilder().setIsAiOpen(true).setBornPos(Vector.newBuilder())) + .setBornPos(Vector.newBuilder()) + .build(); + + SceneEntityInfo.Builder entityInfo = SceneEntityInfo.newBuilder() + .setEntityId(getId()) + .setEntityType(ProtEntityType.ProtEntityAvatar) + .addAnimatorParaList(AnimatorParameterValueInfoPair.newBuilder()) + .setEntityClientData(EntityClientData.newBuilder()) + .setEntityAuthorityInfo(authority) + .setLastMoveSceneTimeMs(this.getLastMoveSceneTimeMs()) + .setLastMoveReliableSeq(this.getLastMoveReliableSeq()) + .setLifeState(this.getLifeState().getValue()); + + if (this.getWorld() != null) { + entityInfo.setMotionInfo(this.getMotionInfo()); + } + + for (Int2FloatMap.Entry entry : getFightProperties().int2FloatEntrySet()) { + if (entry.getIntKey() == 0) { + continue; + } + FightPropPair fightProp = FightPropPair.newBuilder().setType(entry.getIntKey()).setPropValue(entry.getFloatValue()).build(); + entityInfo.addFightPropList(fightProp); + } + + PropPair pair = PropPair.newBuilder() + .setType(PlayerProperty.PROP_LEVEL.getId()) + .setPropValue(ProtoHelper.newPropValue(PlayerProperty.PROP_LEVEL, getAvatar().getLevel())) + .build(); + entityInfo.addPropList(pair); + + entityInfo.setAvatar(this.getSceneAvatarInfo()); + + return entityInfo.build(); + } + + public AbilityControlBlock getAbilityControlBlock() { + AvatarData data = this.getAvatar().getAvatarData(); + AbilityControlBlock.Builder abilityControlBlock = AbilityControlBlock.newBuilder(); + int embryoId = 0; + + // Add avatar abilities + if (data.getAbilities() != null) { + for (int id : data.getAbilities()) { + AbilityEmbryo emb = AbilityEmbryo.newBuilder() + .setAbilityId(++embryoId) + .setAbilityNameHash(id) + .setAbilityOverrideNameHash(GenshinConstants.DEFAULT_ABILITY_NAME) + .build(); + abilityControlBlock.addAbilityEmbryoList(emb); + } + } + // Add default abilities + for (int id : GenshinConstants.DEFAULT_ABILITY_HASHES) { + AbilityEmbryo emb = AbilityEmbryo.newBuilder() + .setAbilityId(++embryoId) + .setAbilityNameHash(id) + .setAbilityOverrideNameHash(GenshinConstants.DEFAULT_ABILITY_NAME) + .build(); + abilityControlBlock.addAbilityEmbryoList(emb); + } + // Add team resonances + for (int id : this.getPlayer().getTeamManager().getTeamResonancesConfig()) { + AbilityEmbryo emb = AbilityEmbryo.newBuilder() + .setAbilityId(++embryoId) + .setAbilityNameHash(id) + .setAbilityOverrideNameHash(GenshinConstants.DEFAULT_ABILITY_NAME) + .build(); + abilityControlBlock.addAbilityEmbryoList(emb); + } + // Add skill depot abilities + AvatarSkillDepotData skillDepot = GenshinData.getAvatarSkillDepotDataMap().get(this.getAvatar().getSkillDepotId()); + if (skillDepot != null && skillDepot.getAbilities() != null) { + for (int id : skillDepot.getAbilities()) { + AbilityEmbryo emb = AbilityEmbryo.newBuilder() + .setAbilityId(++embryoId) + .setAbilityNameHash(id) + .setAbilityOverrideNameHash(GenshinConstants.DEFAULT_ABILITY_NAME) + .build(); + abilityControlBlock.addAbilityEmbryoList(emb); + } + } + // Add equip abilities + if (this.getAvatar().getBonusAbilityList().size() > 0) { + for (String skill : this.getAvatar().getBonusAbilityList()) { + AbilityEmbryo emb = AbilityEmbryo.newBuilder() + .setAbilityId(++embryoId) + .setAbilityNameHash(Utils.abilityHash(skill)) + .setAbilityOverrideNameHash(GenshinConstants.DEFAULT_ABILITY_NAME) + .build(); + abilityControlBlock.addAbilityEmbryoList(emb); + } + } + + // + return abilityControlBlock.build(); + } +} diff --git a/src/main/java/emu/grasscutter/game/entity/EntityClientGadget.java b/src/main/java/emu/grasscutter/game/entity/EntityClientGadget.java new file mode 100644 index 00000000..4abd982f --- /dev/null +++ b/src/main/java/emu/grasscutter/game/entity/EntityClientGadget.java @@ -0,0 +1,147 @@ +package emu.grasscutter.game.entity; + +import emu.grasscutter.game.GenshinPlayer; +import emu.grasscutter.game.World; +import emu.grasscutter.game.props.PlayerProperty; +import emu.grasscutter.net.proto.AbilitySyncStateInfoOuterClass.AbilitySyncStateInfo; +import emu.grasscutter.net.proto.AnimatorParameterValueInfoPairOuterClass.AnimatorParameterValueInfoPair; +import emu.grasscutter.net.proto.EntityAuthorityInfoOuterClass.EntityAuthorityInfo; +import emu.grasscutter.net.proto.EntityClientDataOuterClass.EntityClientData; +import emu.grasscutter.net.proto.EntityRendererChangedInfoOuterClass.EntityRendererChangedInfo; +import emu.grasscutter.net.proto.EvtCreateGadgetNotifyOuterClass.EvtCreateGadgetNotify; +import emu.grasscutter.net.proto.GadgetClientParamOuterClass.GadgetClientParam; +import emu.grasscutter.net.proto.MotionInfoOuterClass.MotionInfo; +import emu.grasscutter.net.proto.PropPairOuterClass.PropPair; +import emu.grasscutter.net.proto.ProtEntityTypeOuterClass.ProtEntityType; +import emu.grasscutter.net.proto.SceneEntityAiInfoOuterClass.SceneEntityAiInfo; +import emu.grasscutter.net.proto.SceneEntityInfoOuterClass.SceneEntityInfo; +import emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo; +import emu.grasscutter.net.proto.VectorOuterClass.Vector; +import emu.grasscutter.utils.Position; +import emu.grasscutter.utils.ProtoHelper; +import it.unimi.dsi.fastutil.ints.Int2FloatOpenHashMap; + +public class EntityClientGadget extends EntityGadget { + private final GenshinPlayer owner; + + private final Position pos; + private final Position rot; + + private int configId; + private int campId; + private int campType; + private int ownerEntityId; + private int targetEntityId; + private boolean asyncLoad; + + public EntityClientGadget(World world, GenshinPlayer player, EvtCreateGadgetNotify notify) { + super(world); + this.owner = player; + this.id = notify.getEntityId(); + this.pos = new Position(notify.getInitPos()); + this.rot = new Position(notify.getInitEulerAngles()); + this.configId = notify.getConfigId(); + this.campId = notify.getCampId(); + this.campType = notify.getCampType(); + this.ownerEntityId = notify.getPropOwnerEntityId(); + this.targetEntityId = notify.getTargetEntityId(); + this.asyncLoad = notify.getIsAsyncLoad(); + } + + @Override + public int getGadgetId() { + return configId; + } + + public GenshinPlayer getOwner() { + return owner; + } + + public int getCampId() { + return campId; + } + + public int getCampType() { + return campType; + } + + public int getOwnerEntityId() { + return ownerEntityId; + } + + public int getTargetEntityId() { + return targetEntityId; + } + + public boolean isAsyncLoad() { + return this.asyncLoad; + } + + @Override + public void onDeath(int killerId) { + + } + + @Override + public Int2FloatOpenHashMap getFightProperties() { + // TODO Auto-generated method stub + return null; + } + + @Override + public Position getPosition() { + // TODO Auto-generated method stub + return this.pos; + } + + @Override + public Position getRotation() { + // TODO Auto-generated method stub + return this.rot; + } + + @Override + public SceneEntityInfo toProto() { + EntityAuthorityInfo authority = EntityAuthorityInfo.newBuilder() + .setAbilityInfo(AbilitySyncStateInfo.newBuilder()) + .setRendererChangedInfo(EntityRendererChangedInfo.newBuilder()) + .setAiInfo(SceneEntityAiInfo.newBuilder().setIsAiOpen(true).setBornPos(Vector.newBuilder())) + .setBornPos(Vector.newBuilder()) + .build(); + + SceneEntityInfo.Builder entityInfo = SceneEntityInfo.newBuilder() + .setEntityId(getId()) + .setEntityType(ProtEntityType.ProtEntityGadget) + .setMotionInfo(MotionInfo.newBuilder().setPos(getPosition().toProto()).setRot(getRotation().toProto()).setSpeed(Vector.newBuilder())) + .addAnimatorParaList(AnimatorParameterValueInfoPair.newBuilder()) + .setEntityClientData(EntityClientData.newBuilder()) + .setEntityAuthorityInfo(authority) + .setLifeState(1); + + PropPair pair = PropPair.newBuilder() + .setType(PlayerProperty.PROP_LEVEL.getId()) + .setPropValue(ProtoHelper.newPropValue(PlayerProperty.PROP_LEVEL, 1)) + .build(); + entityInfo.addPropList(pair); + + GadgetClientParam clientGadget = GadgetClientParam.newBuilder() + .setCampId(this.getCampId()) + .setCampType(this.getCampType()) + .setOwnerEntityId(this.getOwnerEntityId()) + .setTargetEntityId(this.getTargetEntityId()) + .setAsyncLoad(this.isAsyncLoad()) + .build(); + + SceneGadgetInfo.Builder gadgetInfo = SceneGadgetInfo.newBuilder() + .setGadgetId(this.getGadgetId()) + .setOwnerEntityId(this.getOwnerEntityId()) + .setIsEnableInteract(true) + .setClientGadget(clientGadget) + .setPropOwnerEntityId(this.getOwnerEntityId()) + .setAuthorityPeerId(this.getOwner().getPeerId()); + + entityInfo.setGadget(gadgetInfo); + + return entityInfo.build(); + } +} diff --git a/src/main/java/emu/grasscutter/game/entity/EntityGadget.java b/src/main/java/emu/grasscutter/game/entity/EntityGadget.java new file mode 100644 index 00000000..da7040b1 --- /dev/null +++ b/src/main/java/emu/grasscutter/game/entity/EntityGadget.java @@ -0,0 +1,17 @@ +package emu.grasscutter.game.entity; + +import emu.grasscutter.game.World; + +public abstract class EntityGadget extends GenshinEntity { + + public EntityGadget(World world) { + super(world); + } + + public abstract int getGadgetId(); + + @Override + public void onDeath(int killerId) { + + } +} diff --git a/src/main/java/emu/grasscutter/game/entity/EntityItem.java b/src/main/java/emu/grasscutter/game/entity/EntityItem.java new file mode 100644 index 00000000..b1938c75 --- /dev/null +++ b/src/main/java/emu/grasscutter/game/entity/EntityItem.java @@ -0,0 +1,118 @@ +package emu.grasscutter.game.entity; + +import emu.grasscutter.data.def.ItemData; +import emu.grasscutter.game.GenshinPlayer; +import emu.grasscutter.game.World; +import emu.grasscutter.game.inventory.GenshinItem; +import emu.grasscutter.game.props.EntityIdType; +import emu.grasscutter.game.props.PlayerProperty; +import emu.grasscutter.net.proto.AbilitySyncStateInfoOuterClass.AbilitySyncStateInfo; +import emu.grasscutter.net.proto.AnimatorParameterValueInfoPairOuterClass.AnimatorParameterValueInfoPair; +import emu.grasscutter.net.proto.EntityAuthorityInfoOuterClass.EntityAuthorityInfo; +import emu.grasscutter.net.proto.EntityClientDataOuterClass.EntityClientData; +import emu.grasscutter.net.proto.EntityRendererChangedInfoOuterClass.EntityRendererChangedInfo; +import emu.grasscutter.net.proto.GadgetBornTypeOuterClass.GadgetBornType; +import emu.grasscutter.net.proto.MotionInfoOuterClass.MotionInfo; +import emu.grasscutter.net.proto.PropPairOuterClass.PropPair; +import emu.grasscutter.net.proto.ProtEntityTypeOuterClass.ProtEntityType; +import emu.grasscutter.net.proto.SceneEntityAiInfoOuterClass.SceneEntityAiInfo; +import emu.grasscutter.net.proto.SceneEntityInfoOuterClass.SceneEntityInfo; +import emu.grasscutter.net.proto.SceneGadgetInfoOuterClass.SceneGadgetInfo; +import emu.grasscutter.net.proto.VectorOuterClass.Vector; +import emu.grasscutter.utils.Position; +import emu.grasscutter.utils.ProtoHelper; +import it.unimi.dsi.fastutil.ints.Int2FloatOpenHashMap; + +public class EntityItem extends EntityGadget { + private final Position pos; + private final Position rot; + + private final GenshinItem item; + private final long guid; + + public EntityItem(World world, GenshinPlayer player, ItemData itemData, Position pos, int count) { + super(world); + this.id = world.getNextEntityId(EntityIdType.GADGET); + this.pos = new Position(pos); + this.rot = new Position(); + this.guid = player.getNextGuid(); + this.item = new GenshinItem(itemData, count); + } + + @Override + public int getId() { + return this.id; + } + + private GenshinItem getItem() { + return this.item; + } + + public ItemData getItemData() { + return this.getItem().getItemData(); + } + + public long getGuid() { + return guid; + } + + public int getCount() { + return this.getItem().getCount(); + } + + @Override + public int getGadgetId() { + return this.getItemData().getGadgetId(); + } + + @Override + public Position getPosition() { + return this.pos; + } + + @Override + public Position getRotation() { + return this.rot; + } + + @Override + public Int2FloatOpenHashMap getFightProperties() { + return null; + } + + @Override + public SceneEntityInfo toProto() { + EntityAuthorityInfo authority = EntityAuthorityInfo.newBuilder() + .setAbilityInfo(AbilitySyncStateInfo.newBuilder()) + .setRendererChangedInfo(EntityRendererChangedInfo.newBuilder()) + .setAiInfo(SceneEntityAiInfo.newBuilder().setIsAiOpen(true).setBornPos(Vector.newBuilder())) + .setBornPos(Vector.newBuilder()) + .build(); + + SceneEntityInfo.Builder entityInfo = SceneEntityInfo.newBuilder() + .setEntityId(getId()) + .setEntityType(ProtEntityType.ProtEntityGadget) + .setMotionInfo(MotionInfo.newBuilder().setPos(getPosition().toProto()).setRot(getRotation().toProto()).setSpeed(Vector.newBuilder())) + .addAnimatorParaList(AnimatorParameterValueInfoPair.newBuilder()) + .setEntityClientData(EntityClientData.newBuilder()) + .setEntityAuthorityInfo(authority) + .setLifeState(1); + + PropPair pair = PropPair.newBuilder() + .setType(PlayerProperty.PROP_LEVEL.getId()) + .setPropValue(ProtoHelper.newPropValue(PlayerProperty.PROP_LEVEL, 1)) + .build(); + entityInfo.addPropList(pair); + + SceneGadgetInfo.Builder gadgetInfo = SceneGadgetInfo.newBuilder() + .setGadgetId(this.getItemData().getGadgetId()) + .setTrifleItem(this.getItem().toProto()) + .setBornType(GadgetBornType.GadgetBornInAir) + .setAuthorityPeerId(this.getWorld().getHostPeerId()) + .setIsEnableInteract(true); + + entityInfo.setGadget(gadgetInfo); + + return entityInfo.build(); + } +} diff --git a/src/main/java/emu/grasscutter/game/entity/EntityMonster.java b/src/main/java/emu/grasscutter/game/entity/EntityMonster.java new file mode 100644 index 00000000..9dd4810b --- /dev/null +++ b/src/main/java/emu/grasscutter/game/entity/EntityMonster.java @@ -0,0 +1,219 @@ +package emu.grasscutter.game.entity; + +import emu.grasscutter.data.GenshinData; +import emu.grasscutter.data.common.PropGrowCurve; +import emu.grasscutter.data.def.MonsterCurveData; +import emu.grasscutter.data.def.MonsterData; +import emu.grasscutter.game.World; +import emu.grasscutter.game.props.EntityIdType; +import emu.grasscutter.game.props.FightProperty; +import emu.grasscutter.game.props.PlayerProperty; +import emu.grasscutter.net.proto.AbilitySyncStateInfoOuterClass.AbilitySyncStateInfo; +import emu.grasscutter.net.proto.AnimatorParameterValueInfoPairOuterClass.AnimatorParameterValueInfoPair; +import emu.grasscutter.net.proto.EntityAuthorityInfoOuterClass.EntityAuthorityInfo; +import emu.grasscutter.net.proto.EntityClientDataOuterClass.EntityClientData; +import emu.grasscutter.net.proto.EntityRendererChangedInfoOuterClass.EntityRendererChangedInfo; +import emu.grasscutter.net.proto.FightPropPairOuterClass.FightPropPair; +import emu.grasscutter.net.proto.MonsterBornTypeOuterClass.MonsterBornType; +import emu.grasscutter.net.proto.PropPairOuterClass.PropPair; +import emu.grasscutter.net.proto.ProtEntityTypeOuterClass.ProtEntityType; +import emu.grasscutter.net.proto.SceneEntityAiInfoOuterClass.SceneEntityAiInfo; +import emu.grasscutter.net.proto.SceneEntityInfoOuterClass.SceneEntityInfo; +import emu.grasscutter.net.proto.SceneMonsterInfoOuterClass.SceneMonsterInfo; +import emu.grasscutter.net.proto.SceneWeaponInfoOuterClass.SceneWeaponInfo; +import emu.grasscutter.utils.Position; +import emu.grasscutter.utils.ProtoHelper; +import it.unimi.dsi.fastutil.ints.Int2FloatMap; +import it.unimi.dsi.fastutil.ints.Int2FloatOpenHashMap; + +public class EntityMonster extends GenshinEntity { + private final MonsterData monsterData; + private final Int2FloatOpenHashMap fightProp; + + private final Position pos; + private final Position rot; + private final Position bornPos; + private final int level; + private int weaponEntityId; + + public EntityMonster(World world, MonsterData monsterData, Position pos, int level) { + super(world); + this.id = world.getNextEntityId(EntityIdType.MONSTER); + this.monsterData = monsterData; + this.fightProp = new Int2FloatOpenHashMap(); + this.pos = new Position(pos); + this.rot = new Position(); + this.bornPos = getPosition().clone(); + this.level = level; + + // Monster weapon + if (getMonsterWeaponId() > 0) { + this.weaponEntityId = world.getNextEntityId(EntityIdType.WEAPON); + } + + this.recalcStats(); + } + + @Override + public int getId() { + return this.id; + } + + public MonsterData getMonsterData() { + return monsterData; + } + + public int getMonsterWeaponId() { + return getMonsterData().getWeaponId(); + } + + private int getMonsterId() { + return this.getMonsterData().getId(); + } + + public int getLevel() { + return level; + } + + @Override + public Position getPosition() { + return this.pos; + } + + @Override + public Position getRotation() { + return this.rot; + } + + public Position getBornPos() { + return bornPos; + } + + @Override + public Int2FloatOpenHashMap getFightProperties() { + return fightProp; + } + + @Override + public boolean isAlive() { + return this.getFightProperty(FightProperty.FIGHT_PROP_CUR_HP) > 0f; + } + + @Override + public void onDeath(int killerId) { + + } + + public void recalcStats() { + // Monster data + MonsterData data = this.getMonsterData(); + + // Get hp percent, set to 100% if none + float hpPercent = this.getFightProperty(FightProperty.FIGHT_PROP_MAX_HP) <= 0 ? 1f : this.getFightProperty(FightProperty.FIGHT_PROP_CUR_HP) / this.getFightProperty(FightProperty.FIGHT_PROP_MAX_HP); + + // Clear properties + this.getFightProperties().clear(); + + // Base stats + this.setFightProperty(FightProperty.FIGHT_PROP_BASE_HP, data.getBaseHp()); + this.setFightProperty(FightProperty.FIGHT_PROP_BASE_ATTACK, data.getBaseAttack()); + this.setFightProperty(FightProperty.FIGHT_PROP_BASE_DEFENSE, data.getBaseDefense()); + + this.setFightProperty(FightProperty.FIGHT_PROP_PHYSICAL_SUB_HURT, data.getPhysicalSubHurt()); + this.setFightProperty(FightProperty.FIGHT_PROP_FIRE_SUB_HURT, .1f); + this.setFightProperty(FightProperty.FIGHT_PROP_ELEC_SUB_HURT, data.getElecSubHurt()); + this.setFightProperty(FightProperty.FIGHT_PROP_WATER_SUB_HURT, data.getWaterSubHurt()); + this.setFightProperty(FightProperty.FIGHT_PROP_GRASS_SUB_HURT, data.getGrassSubHurt()); + this.setFightProperty(FightProperty.FIGHT_PROP_WIND_SUB_HURT, data.getWindSubHurt()); + this.setFightProperty(FightProperty.FIGHT_PROP_ROCK_SUB_HURT, .1f); + this.setFightProperty(FightProperty.FIGHT_PROP_ICE_SUB_HURT, data.getIceSubHurt()); + + // Level curve + MonsterCurveData curve = GenshinData.getMonsterCurveDataMap().get(this.getLevel()); + if (curve != null) { + for (PropGrowCurve growCurve : data.getPropGrowCurves()) { + FightProperty prop = FightProperty.getPropByName(growCurve.getType()); + this.setFightProperty(prop, this.getFightProperty(prop) * curve.getMultByProp(growCurve.getGrowCurve())); + } + } + + // Set % stats + this.setFightProperty( + FightProperty.FIGHT_PROP_MAX_HP, + (getFightProperty(FightProperty.FIGHT_PROP_BASE_HP) * (1f + getFightProperty(FightProperty.FIGHT_PROP_HP_PERCENT))) + getFightProperty(FightProperty.FIGHT_PROP_HP) + ); + this.setFightProperty( + FightProperty.FIGHT_PROP_CUR_ATTACK, + (getFightProperty(FightProperty.FIGHT_PROP_BASE_ATTACK) * (1f + getFightProperty(FightProperty.FIGHT_PROP_ATTACK_PERCENT))) + getFightProperty(FightProperty.FIGHT_PROP_ATTACK) + ); + this.setFightProperty( + FightProperty.FIGHT_PROP_CUR_DEFENSE, + (getFightProperty(FightProperty.FIGHT_PROP_BASE_DEFENSE) * (1f + getFightProperty(FightProperty.FIGHT_PROP_DEFENSE_PERCENT))) + getFightProperty(FightProperty.FIGHT_PROP_DEFENSE) + ); + + // Set current hp + this.setFightProperty(FightProperty.FIGHT_PROP_CUR_HP, this.getFightProperty(FightProperty.FIGHT_PROP_MAX_HP) * hpPercent); + } + + @Override + public SceneEntityInfo toProto() { + EntityAuthorityInfo authority = EntityAuthorityInfo.newBuilder() + .setAbilityInfo(AbilitySyncStateInfo.newBuilder()) + .setRendererChangedInfo(EntityRendererChangedInfo.newBuilder()) + .setAiInfo(SceneEntityAiInfo.newBuilder().setIsAiOpen(true).setBornPos(this.getBornPos().toProto())) + .setBornPos(this.getBornPos().toProto()) + .build(); + + SceneEntityInfo.Builder entityInfo = SceneEntityInfo.newBuilder() + .setEntityId(getId()) + .setEntityType(ProtEntityType.ProtEntityMonster) + .setMotionInfo(this.getMotionInfo()) + .addAnimatorParaList(AnimatorParameterValueInfoPair.newBuilder()) + .setEntityClientData(EntityClientData.newBuilder()) + .setEntityAuthorityInfo(authority) + .setLifeState(this.getLifeState().getValue()); + + for (Int2FloatMap.Entry entry : getFightProperties().int2FloatEntrySet()) { + if (entry.getIntKey() == 0) { + continue; + } + FightPropPair fightProp = FightPropPair.newBuilder().setType(entry.getIntKey()).setPropValue(entry.getFloatValue()).build(); + entityInfo.addFightPropList(fightProp); + } + + PropPair pair = PropPair.newBuilder() + .setType(PlayerProperty.PROP_LEVEL.getId()) + .setPropValue(ProtoHelper.newPropValue(PlayerProperty.PROP_LEVEL, getLevel())) + .build(); + entityInfo.addPropList(pair); + + SceneMonsterInfo.Builder monsterInfo = SceneMonsterInfo.newBuilder() + .setMonsterId(getMonsterId()) + .setGroupId(133003095) + .setConfigId(95001) + .addAllAffixList(getMonsterData().getAffix()) + .setAuthorityPeerId(getWorld().getHostPeerId()) + .setPoseId(0) + .setBlockId(3001) + .setBornType(MonsterBornType.MonsterBornDefault) + .setSpecialNameId(40); + + if (getMonsterData().getDescribeData() != null) { + monsterInfo.setTitleId(getMonsterData().getDescribeData().getTitleID()); + } + + if (this.getMonsterWeaponId() > 0) { + SceneWeaponInfo weaponInfo = SceneWeaponInfo.newBuilder() + .setEntityId(this.weaponEntityId) + .setGadgetId(this.getMonsterWeaponId()) + .setAbilityInfo(AbilitySyncStateInfo.newBuilder()) + .build(); + + monsterInfo.setWeaponList(weaponInfo); + } + + entityInfo.setMonster(monsterInfo); + + return entityInfo.build(); + } +} diff --git a/src/main/java/emu/grasscutter/game/entity/GenshinEntity.java b/src/main/java/emu/grasscutter/game/entity/GenshinEntity.java new file mode 100644 index 00000000..c3de3069 --- /dev/null +++ b/src/main/java/emu/grasscutter/game/entity/GenshinEntity.java @@ -0,0 +1,102 @@ +package emu.grasscutter.game.entity; + +import emu.grasscutter.game.World; +import emu.grasscutter.game.props.FightProperty; +import emu.grasscutter.game.props.LifeState; +import emu.grasscutter.net.proto.MotionInfoOuterClass.MotionInfo; +import emu.grasscutter.net.proto.MotionStateOuterClass.MotionState; +import emu.grasscutter.net.proto.SceneEntityInfoOuterClass.SceneEntityInfo; +import emu.grasscutter.net.proto.VectorOuterClass.Vector; +import emu.grasscutter.utils.Position; +import it.unimi.dsi.fastutil.ints.Int2FloatOpenHashMap; + +public abstract class GenshinEntity { + protected int id; + private final World world; + + private MotionState moveState; + private int lastMoveSceneTimeMs; + private int lastMoveReliableSeq; + + public GenshinEntity(World world) { + this.world = world; + this.moveState = MotionState.MotionNone; + } + + public int getId() { + return this.id; + } + + public World getWorld() { + return world; + } + + public boolean isAlive() { + return true; + } + + public LifeState getLifeState() { + return isAlive() ? LifeState.LIFE_ALIVE : LifeState.LIFE_DEAD; + } + + public abstract Int2FloatOpenHashMap getFightProperties(); + + public abstract Position getPosition(); + + public abstract Position getRotation(); + + public MotionState getMotionState() { + return moveState; + } + + public void setMotionState(MotionState moveState) { + this.moveState = moveState; + } + + public int getLastMoveSceneTimeMs() { + return lastMoveSceneTimeMs; + } + + public void setLastMoveSceneTimeMs(int lastMoveSceneTimeMs) { + this.lastMoveSceneTimeMs = lastMoveSceneTimeMs; + } + + public int getLastMoveReliableSeq() { + return lastMoveReliableSeq; + } + + public void setLastMoveReliableSeq(int lastMoveReliableSeq) { + this.lastMoveReliableSeq = lastMoveReliableSeq; + } + + public abstract SceneEntityInfo toProto(); + + public abstract void onDeath(int killerId); + + public void setFightProperty(FightProperty prop, float value) { + this.getFightProperties().put(prop.getId(), value); + } + + private void setFightProperty(int id, float value) { + this.getFightProperties().put(id, value); + } + + public void addFightProperty(FightProperty prop, float value) { + this.getFightProperties().put(prop.getId(), getFightProperty(prop) + value); + } + + public float getFightProperty(FightProperty prop) { + return getFightProperties().getOrDefault(prop.getId(), 0f); + } + + protected MotionInfo getMotionInfo() { + MotionInfo proto = MotionInfo.newBuilder() + .setPos(getPosition().toProto()) + .setRot(getRotation().toProto()) + .setSpeed(Vector.newBuilder()) + .setState(this.getMotionState()) + .build(); + + return proto; + } +} diff --git a/src/main/java/emu/grasscutter/game/friends/FriendsList.java b/src/main/java/emu/grasscutter/game/friends/FriendsList.java new file mode 100644 index 00000000..26c65f26 --- /dev/null +++ b/src/main/java/emu/grasscutter/game/friends/FriendsList.java @@ -0,0 +1,262 @@ +package emu.grasscutter.game.friends; + +import java.util.List; + +import emu.grasscutter.database.DatabaseHelper; +import emu.grasscutter.game.GenshinPlayer; +import emu.grasscutter.net.proto.DealAddFriendResultTypeOuterClass.DealAddFriendResultType; +import emu.grasscutter.server.packet.send.PacketAskAddFriendNotify; +import emu.grasscutter.server.packet.send.PacketAskAddFriendRsp; +import emu.grasscutter.server.packet.send.PacketDealAddFriendRsp; +import emu.grasscutter.server.packet.send.PacketDeleteFriendNotify; +import emu.grasscutter.server.packet.send.PacketDeleteFriendRsp; +import it.unimi.dsi.fastutil.ints.Int2ObjectMap; +import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap; + +public class FriendsList { + private final GenshinPlayer player; + + private final Int2ObjectMap friends; + private final Int2ObjectMap pendingFriends; + + private boolean loaded = false; + + public FriendsList(GenshinPlayer player) { + this.player = player; + this.friends = new Int2ObjectOpenHashMap(); + this.pendingFriends = new Int2ObjectOpenHashMap(); + } + + public GenshinPlayer getPlayer() { + return player; + } + + public boolean hasLoaded() { + return loaded; + } + + public synchronized Int2ObjectMap getFriends() { + return friends; + } + + public synchronized Int2ObjectMap getPendingFriends() { + return this.pendingFriends; + } + + public synchronized boolean isFriendsWith(int uid) { + return this.getFriends().containsKey(uid); + } + + private synchronized Friendship getFriendshipById(int id) { + Friendship friendship = this.getFriends().get(id); + if (friendship == null) { + friendship = this.getPendingFriendById(id); + } + return friendship; + } + + private synchronized Friendship getFriendById(int id) { + return this.getFriends().get(id); + } + + private synchronized Friendship getPendingFriendById(int id) { + return this.getPendingFriends().get(id); + } + + public void addFriend(Friendship friendship) { + getFriends().put(friendship.getFriendId(), friendship); + } + + public void addPendingFriend(Friendship friendship) { + getPendingFriends().put(friendship.getFriendId(), friendship); + } + + public synchronized void handleFriendRequest(int targetUid, DealAddFriendResultType result) { + // Check if player has sent friend request + Friendship myFriendship = this.getPendingFriendById(targetUid); + if (myFriendship == null) { + return; + } + + // Make sure asker cant do anything + if (myFriendship.getAskerId() == this.getPlayer().getId()) { + return; + } + + GenshinPlayer target = getPlayer().getSession().getServer().forceGetPlayerById(targetUid); + if (target == null) { + return; // Should never happen + } + + // Get target's friendship + Friendship theirFriendship = null; + if (target.isOnline()) { + theirFriendship = target.getFriendsList().getPendingFriendById(this.getPlayer().getId()); + } else { + theirFriendship = DatabaseHelper.getReverseFriendship(myFriendship); + } + + if (theirFriendship == null) { + // They dont have us on their friends list anymore, rip + this.getPendingFriends().remove(myFriendship.getOwnerId()); + myFriendship.delete(); + return; + } + + // Handle + if (result == DealAddFriendResultType.DealAddFriendAccept) { // Request accepted + myFriendship.setIsFriend(true); + theirFriendship.setIsFriend(true); + + this.getPendingFriends().remove(myFriendship.getOwnerId()); + this.addFriend(myFriendship); + + if (target.isOnline()) { + target.getFriendsList().getPendingFriends().remove(this.getPlayer().getId()); + target.getFriendsList().addFriend(theirFriendship); + } + + myFriendship.save(); + theirFriendship.save(); + } else { // Request declined + // Delete from my pending friends + this.getPendingFriends().remove(myFriendship.getOwnerId()); + myFriendship.delete(); + // Delete from target uid + if (target.isOnline()) { + theirFriendship = target.getFriendsList().getPendingFriendById(this.getPlayer().getId()); + } + theirFriendship.delete(); + } + + // Packet + this.getPlayer().sendPacket(new PacketDealAddFriendRsp(targetUid, result)); + } + + public synchronized void deleteFriend(int targetUid) { + Friendship myFriendship = this.getFriendById(targetUid); + if (myFriendship == null) { + return; + } + + this.getFriends().remove(targetUid); + myFriendship.delete(); + + Friendship theirFriendship = null; + GenshinPlayer friend = myFriendship.getFriendProfile().getPlayer(); + if (friend != null) { + // Friend online + theirFriendship = friend.getFriendsList().getFriendById(this.getPlayer().getId()); + if (theirFriendship != null) { + friend.getFriendsList().getFriends().remove(theirFriendship.getFriendId()); + theirFriendship.delete(); + friend.sendPacket(new PacketDeleteFriendNotify(theirFriendship.getFriendId())); + } + } else { + // Friend offline + theirFriendship = DatabaseHelper.getReverseFriendship(myFriendship); + if (theirFriendship != null) { + theirFriendship.delete(); + } + } + + // Packet + this.getPlayer().sendPacket(new PacketDeleteFriendRsp(targetUid)); + } + + public synchronized void sendFriendRequest(int targetUid) { + GenshinPlayer target = getPlayer().getSession().getServer().forceGetPlayerById(targetUid); + + if (target == null || target == this.getPlayer()) { + return; + } + + // Check if friend already exists + if (this.getPendingFriends().containsKey(targetUid) || this.getFriends().containsKey(targetUid)) { + return; + } + + // Create friendships + Friendship myFriendship = new Friendship(getPlayer(), target, getPlayer()); + Friendship theirFriendship = new Friendship(target, getPlayer(), getPlayer()); + + // Add pending lists + this.addPendingFriend(myFriendship); + + if (target.isOnline() && target.getFriendsList().hasLoaded()) { + target.getFriendsList().addPendingFriend(theirFriendship); + target.sendPacket(new PacketAskAddFriendNotify(theirFriendship)); + } + + // Save + myFriendship.save(); + theirFriendship.save(); + + // Packets + this.getPlayer().sendPacket(new PacketAskAddFriendRsp(targetUid)); + } + + /** Gets total amount of potential friends + * */ + public int getFullFriendCount() { + return this.getPendingFriends().size() + this.getFriends().size(); + } + + public synchronized void loadFromDatabase() { + if (this.hasLoaded()) { + return; + } + + // Get friendships from the db + List friendships = DatabaseHelper.getFriends(player); + friendships.forEach(this::loadFriendFromDatabase); + + // Set loaded flag + this.loaded = true; + } + + private void loadFriendFromDatabase(Friendship friendship) { + // Set friendship owner + friendship.setOwner(getPlayer()); + + // Check if friend is online + GenshinPlayer friend = getPlayer().getSession().getServer().getPlayerById(friendship.getFriendProfile().getId()); + if (friend != null) { + // Set friend to online mode + friendship.setFriendProfile(friend); + + // Update our status on friend's client if theyre online + if (friend.getFriendsList().hasLoaded()) { + Friendship theirFriendship = friend.getFriendsList().getFriendshipById(getPlayer().getId()); + if (theirFriendship != null) { + // Update friend profile + theirFriendship.setFriendProfile(getPlayer()); + } else { + // They dont have us on their friends list anymore, rip + friendship.delete(); + return; + } + } + } + + // Finally, load to our friends list + if (friendship.isFriend()) { + getFriends().put(friendship.getFriendId(), friendship); + } else { + getPendingFriends().put(friendship.getFriendId(), friendship); + // TODO - Hacky fix to force client to see a notification for a friendship + if (getPendingFriends().size() == 1) { + getPlayer().getSession().send(new PacketAskAddFriendNotify(friendship)); + } + } + } + + public void save() { + // Update all our friends + List friendships = DatabaseHelper.getReverseFriends(getPlayer()); + for (Friendship friend : friendships) { + friend.setFriendProfile(this.getPlayer()); + friend.save(); + } + } +} diff --git a/src/main/java/emu/grasscutter/game/friends/Friendship.java b/src/main/java/emu/grasscutter/game/friends/Friendship.java new file mode 100644 index 00000000..954ab318 --- /dev/null +++ b/src/main/java/emu/grasscutter/game/friends/Friendship.java @@ -0,0 +1,108 @@ +package emu.grasscutter.game.friends; + +import org.bson.types.ObjectId; + +import dev.morphia.annotations.*; +import emu.grasscutter.database.DatabaseHelper; +import emu.grasscutter.game.GenshinPlayer; +import emu.grasscutter.net.proto.FriendBriefOuterClass.FriendBrief; +import emu.grasscutter.net.proto.FriendOnlineStateOuterClass.FriendOnlineState; +import emu.grasscutter.net.proto.HeadImageOuterClass.HeadImage; + +@Entity(value = "friendships", noClassnameStored = true) +public class Friendship { + @Id private ObjectId id; + + @Transient private GenshinPlayer owner; + + @Indexed private int ownerId; + @Indexed private int friendId; + private boolean isFriend; + private int askerId; + + private PlayerProfile profile; + + @Deprecated // Morphia use only + public Friendship() { } + + public Friendship(GenshinPlayer owner, GenshinPlayer friend, GenshinPlayer asker) { + this.setOwner(owner); + this.ownerId = owner.getId(); + this.friendId = friend.getId(); + this.profile = friend.getProfile(); + this.askerId = asker.getId(); + } + + public GenshinPlayer getOwner() { + return owner; + } + + public void setOwner(GenshinPlayer owner) { + this.owner = owner; + } + + public boolean isFriend() { + return isFriend; + } + + public void setIsFriend(boolean b) { + this.isFriend = b; + } + + public int getOwnerId() { + return ownerId; + } + + public int getFriendId() { + return friendId; + } + + public int getAskerId() { + return askerId; + } + + public void setAskerId(int askerId) { + this.askerId = askerId; + } + + public PlayerProfile getFriendProfile() { + return profile; + } + + public void setFriendProfile(GenshinPlayer character) { + if (character == null || this.friendId != character.getId()) return; + this.profile = character.getProfile(); + } + + public boolean isOnline() { + return getFriendProfile().getPlayer() != null; + } + + public void save() { + DatabaseHelper.saveFriendship(this); + } + + public void delete() { + DatabaseHelper.deleteFriendship(this); + } + + public FriendBrief toProto() { + FriendBrief proto = FriendBrief.newBuilder() + .setUid(getFriendProfile().getId()) + .setNickname(getFriendProfile().getName()) + .setLevel(getFriendProfile().getPlayerLevel()) + .setAvatar(HeadImage.newBuilder().setAvatarId(getFriendProfile().getAvatarId())) + .setWorldLevel(getFriendProfile().getWorldLevel()) + .setSignature(getFriendProfile().getSignature()) + .setOnlineState(getFriendProfile().isOnline() ? FriendOnlineState.FRIEND_ONLINE : FriendOnlineState.FRIEND_DISCONNECT) + .setIsMpModeAvailable(true) + .setLastActiveTime(getFriendProfile().getLastActiveTime()) + .setNameCardId(getFriendProfile().getNameCard()) + .setParam(getFriendProfile().getDaysSinceLogin()) + .setUnk1(1) + .setUnk2(3) + .build(); + + return proto; + } +} diff --git a/src/main/java/emu/grasscutter/game/friends/PlayerProfile.java b/src/main/java/emu/grasscutter/game/friends/PlayerProfile.java new file mode 100644 index 00000000..647557e0 --- /dev/null +++ b/src/main/java/emu/grasscutter/game/friends/PlayerProfile.java @@ -0,0 +1,99 @@ +package emu.grasscutter.game.friends; + +import dev.morphia.annotations.*; +import emu.grasscutter.game.GenshinPlayer; +import emu.grasscutter.utils.Utils; + +public class PlayerProfile { + @Transient private GenshinPlayer player; + + private int id; + private int nameCard; + private int avatarId; + private String name; + private String signature; + private int achievements; + + private int playerLevel; + private int worldLevel; + private int lastActiveTime; + + @Deprecated // Morphia only + public PlayerProfile() { } + + public PlayerProfile(GenshinPlayer player) { + this.id = player.getId(); + this.syncWithCharacter(player); + } + + public int getId() { + return id; + } + + public GenshinPlayer getPlayer() { + return player; + } + + public synchronized void setPlayer(GenshinPlayer player) { + this.player = player; + } + + public String getName() { + return name; + } + + public int getNameCard() { + return nameCard; + } + + public int getAvatarId() { + return avatarId; + } + + public String getSignature() { + return signature; + } + + public int getAchievements() { + return achievements; + } + + public int getPlayerLevel() { + return playerLevel; + } + + public int getWorldLevel() { + return worldLevel; + } + + public int getLastActiveTime() { + return lastActiveTime; + } + + public void updateLastActiveTime() { + this.lastActiveTime = Utils.getCurrentSeconds(); + } + + public int getDaysSinceLogin() { + return (int) Math.floor((Utils.getCurrentSeconds() - getLastActiveTime()) / 86400.0); + } + + public boolean isOnline() { + return this.getPlayer() != null; + } + + public void syncWithCharacter(GenshinPlayer player) { + if (player == null) { + return; + } + + this.name = player.getNickname(); + this.avatarId = player.getHeadImage(); + this.signature = player.getSignature(); + this.nameCard = player.getNameCardId(); + this.playerLevel = player.getLevel(); + this.worldLevel = player.getWorldLevel(); + //this.achievements = 0; + this.updateLastActiveTime(); + } +} diff --git a/src/main/java/emu/grasscutter/game/gacha/GachaBanner.java b/src/main/java/emu/grasscutter/game/gacha/GachaBanner.java new file mode 100644 index 00000000..43e9e120 --- /dev/null +++ b/src/main/java/emu/grasscutter/game/gacha/GachaBanner.java @@ -0,0 +1,150 @@ +package emu.grasscutter.game.gacha; + +import emu.grasscutter.Grasscutter; +import emu.grasscutter.net.proto.GachaInfoOuterClass.GachaInfo; +import emu.grasscutter.net.proto.GachaUpInfoOuterClass.GachaUpInfo; + +public class GachaBanner { + private int gachaType; + private int scheduleId; + private String prefabPath; + private String previewPrefabPath; + private String titlePath; + private int costItem; + private int beginTime; + private int endTime; + private int sortId; + private int[] rateUpItems1; + private int[] rateUpItems2; + private int minItemType = 1; + private int maxItemType = 2; + private int eventChance = 50; // Chance to win a featured event item + private int softPity = 75; + private int hardPity = 90; + private BannerType bannerType = BannerType.STANDARD; + + public int getGachaType() { + return gachaType; + } + + public BannerType getBannerType() { + return bannerType; + } + + public int getScheduleId() { + return scheduleId; + } + + public String getPrefabPath() { + return prefabPath; + } + + public String getPreviewPrefabPath() { + return previewPrefabPath; + } + + public String getTitlePath() { + return titlePath; + } + + public int getCostItem() { + return costItem; + } + + public int getBeginTime() { + return beginTime; + } + + public int getEndTime() { + return endTime; + } + + public int getSortId() { + return sortId; + } + + public int[] getRateUpItems1() { + return rateUpItems1; + } + + public int[] getRateUpItems2() { + return rateUpItems2; + } + + public int getMinItemType() { + return minItemType; + } + + public int getMaxItemType() { + return maxItemType; + } + + public int getSoftPity() { + return softPity - 1; + } + + public int getHardPity() { + return hardPity - 1; + } + + public int getEventChance() { + return eventChance; + } + + public GachaInfo toProto() { + String record = "http://" + Grasscutter.getConfig().DispatchServerIp + "/gacha"; + + GachaInfo.Builder info = GachaInfo.newBuilder() + .setGachaType(this.getGachaType()) + .setScheduleId(this.getScheduleId()) + .setBeginTime(this.getBeginTime()) + .setEndTime(this.getEndTime()) + .setCostItemId(this.getCostItem()) + .setCostItemNum(1) + .setGachaPrefabPath(this.getPrefabPath()) + .setGachaPreviewPrefabPath(this.getPreviewPrefabPath()) + .setGachaProbUrl(record) + .setGachaProbUrlOversea(record) + .setGachaRecordUrl(record) + .setGachaRecordUrlOversea(record) + .setTenCostItemId(this.getCostItem()) + .setTenCostItemNum(10) + .setLeftGachaTimes(Integer.MAX_VALUE) + .setGachaTimesLimit(Integer.MAX_VALUE) + .setGachaSortId(this.getSortId()); + + if (this.getTitlePath() != null) { + info.setGachaTitlePath(this.getTitlePath()); + } + + if (this.getRateUpItems1().length > 0) { + GachaUpInfo.Builder upInfo = GachaUpInfo.newBuilder().setItemParentType(1); + + for (int id : getRateUpItems1()) { + upInfo.addItemIdList(id); + info.addMainNameId(id); + } + + info.addGachaUpInfoList(upInfo); + } + + if (this.getRateUpItems2().length > 0) { + GachaUpInfo.Builder upInfo = GachaUpInfo.newBuilder().setItemParentType(2); + + for (int id : getRateUpItems2()) { + upInfo.addItemIdList(id); + if (info.getSubNameIdCount() == 0) { + info.addSubNameId(id); + } + } + + info.addGachaUpInfoList(upInfo); + } + + return info.build(); + } + + public enum BannerType { + STANDARD, EVENT, WEAPON; + } +} diff --git a/src/main/java/emu/grasscutter/game/gacha/GachaManager.java b/src/main/java/emu/grasscutter/game/gacha/GachaManager.java new file mode 100644 index 00000000..692e0926 --- /dev/null +++ b/src/main/java/emu/grasscutter/game/gacha/GachaManager.java @@ -0,0 +1,287 @@ +package emu.grasscutter.game.gacha; + +import java.io.FileReader; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import java.util.concurrent.ThreadLocalRandom; + +import com.google.gson.reflect.TypeToken; + +import emu.grasscutter.Grasscutter; +import emu.grasscutter.data.GenshinData; +import emu.grasscutter.data.def.ItemData; +import emu.grasscutter.game.GenshinPlayer; +import emu.grasscutter.game.avatar.GenshinAvatar; +import emu.grasscutter.game.inventory.GenshinItem; +import emu.grasscutter.game.inventory.ItemType; +import emu.grasscutter.game.inventory.MaterialType; +import emu.grasscutter.net.proto.GachaItemOuterClass.GachaItem; +import emu.grasscutter.net.proto.GachaTransferItemOuterClass.GachaTransferItem; +import emu.grasscutter.net.proto.GetGachaInfoRspOuterClass.GetGachaInfoRsp; +import emu.grasscutter.net.proto.ItemParamOuterClass.ItemParam; +import emu.grasscutter.server.game.GameServer; +import emu.grasscutter.server.packet.send.PacketDoGachaRsp; +import it.unimi.dsi.fastutil.ints.Int2ObjectMap; +import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap; +import it.unimi.dsi.fastutil.ints.IntArrayList; +import it.unimi.dsi.fastutil.ints.IntList; + +public class GachaManager { + private final GameServer server; + private final Int2ObjectMap gachaBanners; + private GetGachaInfoRsp cachedProto; + + private int[] yellowAvatars = new int[] {1003, 1016, 1042, 1035, 1041}; + private int[] yellowWeapons = new int[] {11501, 11502, 12501, 12502, 13502, 13505, 14501, 14502, 15501, 15502}; + private int[] purpleAvatars = new int[] {1006, 1014, 1015, 1020, 1021, 1023, 1024, 1025, 1027, 1031, 1032, 1034, 1036, 1039, 1043, 1044, 1045, 1048, 1053, 1055, 1056, 1064}; + private int[] purpleWeapons = new int[] {11401, 11402, 11403, 11405, 12401, 12402, 12403, 12405, 13401, 13407, 14401, 14402, 14403, 14409, 15401, 15402, 15403, 15405}; + private int[] blueWeapons = new int[] {11301, 11302, 11306, 12301, 12302, 12305, 13303, 14301, 14302, 14304, 15301, 15302, 15304}; + + private static int starglitterId = 221; + private static int stardustId = 222; + + public GachaManager(GameServer server) { + this.server = server; + this.gachaBanners = new Int2ObjectOpenHashMap<>(); + this.load(); + } + + public GameServer getServer() { + return server; + } + + public Int2ObjectMap getGachaBanners() { + return gachaBanners; + } + + public int randomRange(int min, int max) { + return ThreadLocalRandom.current().nextInt(max - min + 1) + min; + } + + public int getRandom(int[] array) { + return array[randomRange(0, array.length - 1)]; + } + + public synchronized void load() { + try (FileReader fileReader = new FileReader(Grasscutter.getConfig().DATA_FOLDER + "Banners.json")) { + List banners = Grasscutter.getGsonFactory().fromJson(fileReader, TypeToken.getParameterized(Collection.class, GachaBanner.class).getType()); + for (GachaBanner banner : banners) { + getGachaBanners().put(banner.getGachaType(), banner); + } + } catch (Exception e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + + public synchronized void doPulls(GenshinPlayer player, int gachaType, int times) { + // Sanity check + if (times != 10 && times != 1) { + return; + } + if (player.getInventory().getInventoryTab(ItemType.ITEM_WEAPON).getSize() + times > player.getInventory().getInventoryTab(ItemType.ITEM_WEAPON).getMaxCapacity()) { + player.sendPacket(new PacketDoGachaRsp()); + return; + } + + // Get banner + GachaBanner banner = this.getGachaBanners().get(gachaType); + if (banner == null) { + player.sendPacket(new PacketDoGachaRsp()); + return; + } + + // Spend currency + if (banner.getCostItem() > 0) { + GenshinItem costItem = player.getInventory().getInventoryTab(ItemType.ITEM_MATERIAL).getItemById(banner.getCostItem()); + if (costItem == null || costItem.getCount() < times) { + return; + } + + player.getInventory().removeItem(costItem, times); + } + + // Roll + PlayerGachaBannerInfo gachaInfo = player.getGachaInfo().getBannerInfo(banner); + IntList wonItems = new IntArrayList(times); + + for (int i = 0; i < times; i++) { + int random = this.randomRange(1, 10000); + int itemId = 0; + + int bonusYellowChance = gachaInfo.getPity5() >= banner.getSoftPity() ? 100 * (gachaInfo.getPity5() - banner.getSoftPity() - 1): 0; + int yellowChance = 60 + (int) Math.floor(100f * (gachaInfo.getPity5() / (banner.getSoftPity() - 1D))) + bonusYellowChance; + int purpleChance = 10000 - (510 + (int) Math.floor(790f * (gachaInfo.getPity4() / 8f))); + + if (random <= yellowChance || gachaInfo.getPity5() >= banner.getHardPity()) { + if (banner.getRateUpItems1().length > 0) { + int eventChance = this.randomRange(1, 100); + + if (eventChance >= banner.getEventChance() || gachaInfo.getFailedFeaturedItemPulls() >= 1) { + itemId = getRandom(banner.getRateUpItems1()); + gachaInfo.setFailedFeaturedItemPulls(0); + } else { + // Lost the 50/50... rip + gachaInfo.addFailedFeaturedItemPulls(1); + } + } + + if (itemId == 0) { + int typeChance = this.randomRange(banner.getMinItemType(), banner.getMaxItemType()); + if (typeChance == 1) { + itemId = getRandom(this.yellowAvatars); + } else { + itemId = getRandom(this.yellowWeapons); + } + } + + // Pity + gachaInfo.addPity4(1); + gachaInfo.setPity5(0); + } else if (random >= purpleChance || gachaInfo.getPity4() >= 9) { + if (banner.getRateUpItems2().length > 0) { + int eventChance = this.randomRange(1, 100); + + if (eventChance >= 50) { + itemId = getRandom(banner.getRateUpItems2()); + } + } + + if (itemId == 0) { + int typeChance = this.randomRange(banner.getMinItemType(), banner.getMaxItemType()); + if (typeChance == 1) { + itemId = getRandom(this.purpleAvatars); + } else { + itemId = getRandom(this.purpleWeapons); + } + } + + // Pity + gachaInfo.addPity5(1); + gachaInfo.setPity4(0); + } else { + itemId = getRandom(this.blueWeapons); + + // Pity + gachaInfo.addPity4(1); + gachaInfo.addPity5(1); + } + + // Add winning item + wonItems.add(itemId); + } + + // Add to character + List list = new ArrayList<>(); + int stardust = 0, starglitter = 0; + + for (int itemId : wonItems) { + ItemData itemData = GenshinData.getItemDataMap().get(itemId); + if (itemData == null) { + continue; + } + + // Create gacha item + GachaItem.Builder gachaItem = GachaItem.newBuilder(); + int addStardust = 0, addStarglitter = 0; + boolean isTransferItem = false; + + // Const check + if (itemData.getMaterialType() == MaterialType.MATERIAL_AVATAR) { + int avatarId = (itemData.getId() % 1000) + 10000000; + GenshinAvatar avatar = player.getAvatars().getAvatarById(avatarId); + if (avatar != null) { + int constLevel = avatar.getCoreProudSkillLevel(); + int constItemId = itemData.getId() + 100; + GenshinItem constItem = player.getInventory().getInventoryTab(ItemType.ITEM_MATERIAL).getItemById(constItemId); + if (constItem != null) { + constLevel += constItem.getCount(); + } + + if (constLevel < 6) { + // Not max const + addStarglitter = 2; + // Add 1 const + gachaItem.addTransferItems(GachaTransferItem.newBuilder().setItem(ItemParam.newBuilder().setItemId(constItemId).setCount(1)).setIsTransferItemNew(constItem == null)); + gachaItem.addTokenItemList(ItemParam.newBuilder().setItemId(constItemId).setCount(1)); + player.getInventory().addItem(constItemId, 1); + } else { + // Is max const + addStarglitter = 5; + } + + if (itemData.getRankLevel() == 5) { + addStarglitter *= 5; + } + + isTransferItem = true; + } else { + // New + gachaItem.setIsGachaItemNew(true); + } + } else { + // Is weapon + switch (itemData.getRankLevel()) { + case 5: + addStarglitter = 10; + break; + case 4: + addStarglitter = 2; + break; + case 3: + addStardust = 15; + break; + } + } + + // Create item + GenshinItem item = new GenshinItem(itemData); + gachaItem.setGachaItem(item.toItemParam()); + player.getInventory().addItem(item); + + stardust += addStardust; + starglitter += addStarglitter; + + if (addStardust > 0) { + gachaItem.addTokenItemList(ItemParam.newBuilder().setItemId(stardustId).setCount(addStardust)); + } if (addStarglitter > 0) { + ItemParam starglitterParam = ItemParam.newBuilder().setItemId(starglitterId).setCount(addStarglitter).build(); + if (isTransferItem) { + gachaItem.addTransferItems(GachaTransferItem.newBuilder().setItem(starglitterParam)); + } + gachaItem.addTokenItemList(starglitterParam); + } + + list.add(gachaItem.build()); + } + + // Add stardust/starglitter + if (stardust > 0) { + player.getInventory().addItem(stardustId, stardust); + } if (starglitter > 0) { + player.getInventory().addItem(starglitterId, starglitter); + } + + // Packets + player.sendPacket(new PacketDoGachaRsp(banner, list)); + } + + private synchronized GetGachaInfoRsp createProto() { + GetGachaInfoRsp.Builder proto = GetGachaInfoRsp.newBuilder().setGachaRandom(12345); + + for (GachaBanner banner : getGachaBanners().values()) { + proto.addGachaInfoList(banner.toProto()); + } + + return proto.build(); + } + + public GetGachaInfoRsp toProto() { + if (this.cachedProto == null) { + this.cachedProto = createProto(); + } + + return this.cachedProto; + } +} diff --git a/src/main/java/emu/grasscutter/game/gacha/PlayerGachaBannerInfo.java b/src/main/java/emu/grasscutter/game/gacha/PlayerGachaBannerInfo.java new file mode 100644 index 00000000..2e144226 --- /dev/null +++ b/src/main/java/emu/grasscutter/game/gacha/PlayerGachaBannerInfo.java @@ -0,0 +1,43 @@ +package emu.grasscutter.game.gacha; + +public class PlayerGachaBannerInfo { + private int pity5 = 0; + private int pity4 = 0; + private int failedFeaturedItemPulls = 0; + + public int getPity5() { + return pity5; + } + + public void setPity5(int pity5) { + this.pity5 = pity5; + } + + public void addPity5(int amount) { + this.pity5 += amount; + } + + public int getPity4() { + return pity4; + } + + public void setPity4(int pity4) { + this.pity4 = pity4; + } + + public void addPity4(int amount) { + this.pity4 += amount; + } + + public int getFailedFeaturedItemPulls() { + return failedFeaturedItemPulls; + } + + public void setFailedFeaturedItemPulls(int failedEventCharacterPulls) { + this.failedFeaturedItemPulls = failedEventCharacterPulls; + } + + public void addFailedFeaturedItemPulls(int amount) { + failedFeaturedItemPulls += amount; + } +} diff --git a/src/main/java/emu/grasscutter/game/gacha/PlayerGachaInfo.java b/src/main/java/emu/grasscutter/game/gacha/PlayerGachaInfo.java new file mode 100644 index 00000000..c3aabcb7 --- /dev/null +++ b/src/main/java/emu/grasscutter/game/gacha/PlayerGachaInfo.java @@ -0,0 +1,37 @@ +package emu.grasscutter.game.gacha; + +public class PlayerGachaInfo { + private PlayerGachaBannerInfo standardBanner; + private PlayerGachaBannerInfo eventCharacterBanner; + private PlayerGachaBannerInfo eventWeaponBanner; + + public PlayerGachaInfo() { + this.standardBanner = new PlayerGachaBannerInfo(); + this.eventCharacterBanner = new PlayerGachaBannerInfo(); + this.eventWeaponBanner = new PlayerGachaBannerInfo(); + } + + public PlayerGachaBannerInfo getStandardBanner() { + return standardBanner; + } + + public PlayerGachaBannerInfo getEventCharacterBanner() { + return eventCharacterBanner; + } + + public PlayerGachaBannerInfo getEventWeaponBanner() { + return eventWeaponBanner; + } + + public PlayerGachaBannerInfo getBannerInfo(GachaBanner banner) { + switch (banner.getBannerType()) { + case EVENT: + return this.eventCharacterBanner; + case WEAPON: + return this.eventWeaponBanner; + case STANDARD: + default: + return this.standardBanner; + } + } +} diff --git a/src/main/java/emu/grasscutter/game/inventory/EquipInventoryTab.java b/src/main/java/emu/grasscutter/game/inventory/EquipInventoryTab.java new file mode 100644 index 00000000..af33558c --- /dev/null +++ b/src/main/java/emu/grasscutter/game/inventory/EquipInventoryTab.java @@ -0,0 +1,39 @@ +package emu.grasscutter.game.inventory; + +import java.util.HashSet; +import java.util.Set; + +public class EquipInventoryTab implements InventoryTab { + private final Set items; + private final int maxCapacity; + + public EquipInventoryTab(int maxCapacity) { + this.items = new HashSet(); + this.maxCapacity = maxCapacity; + } + + @Override + public GenshinItem getItemById(int id) { + return null; + } + + @Override + public void onAddItem(GenshinItem item) { + this.items.add(item); + } + + @Override + public void onRemoveItem(GenshinItem item) { + this.items.remove(item); + } + + @Override + public int getSize() { + return this.items.size(); + } + + @Override + public int getMaxCapacity() { + return this.maxCapacity; + } +} diff --git a/src/main/java/emu/grasscutter/game/inventory/EquipType.java b/src/main/java/emu/grasscutter/game/inventory/EquipType.java new file mode 100644 index 00000000..a2de82d5 --- /dev/null +++ b/src/main/java/emu/grasscutter/game/inventory/EquipType.java @@ -0,0 +1,45 @@ +package emu.grasscutter.game.inventory; + +import java.util.HashMap; +import java.util.Map; +import java.util.stream.Stream; + +import it.unimi.dsi.fastutil.ints.Int2ObjectMap; +import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap; + +public enum EquipType { + EQUIP_NONE (0), + EQUIP_BRACER (1), + EQUIP_NECKLACE (2), + EQUIP_SHOES (3), + EQUIP_RING (4), + EQUIP_DRESS (5), + EQUIP_WEAPON (6); + + private final int value; + private static final Int2ObjectMap map = new Int2ObjectOpenHashMap<>(); + private static final Map stringMap = new HashMap<>(); + + static { + Stream.of(values()).forEach(e -> { + map.put(e.getValue(), e); + stringMap.put(e.name(), e); + }); + } + + private EquipType(int value) { + this.value = value; + } + + public int getValue() { + return value; + } + + public static EquipType getTypeByValue(int value) { + return map.getOrDefault(value, EQUIP_NONE); + } + + public static EquipType getTypeByName(String name) { + return stringMap.getOrDefault(name, EQUIP_NONE); + } +} diff --git a/src/main/java/emu/grasscutter/game/inventory/GenshinItem.java b/src/main/java/emu/grasscutter/game/inventory/GenshinItem.java new file mode 100644 index 00000000..b9914644 --- /dev/null +++ b/src/main/java/emu/grasscutter/game/inventory/GenshinItem.java @@ -0,0 +1,430 @@ +package emu.grasscutter.game.inventory; + +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +import org.bson.types.ObjectId; + +import dev.morphia.annotations.Entity; +import dev.morphia.annotations.Id; +import dev.morphia.annotations.Indexed; +import dev.morphia.annotations.PostLoad; +import dev.morphia.annotations.Transient; + +import emu.grasscutter.data.GenshinData; +import emu.grasscutter.data.GenshinDepot; +import emu.grasscutter.data.def.ItemData; +import emu.grasscutter.data.def.ReliquaryAffixData; +import emu.grasscutter.data.def.ReliquaryMainPropData; +import emu.grasscutter.database.DatabaseHelper; +import emu.grasscutter.game.GenshinPlayer; +import emu.grasscutter.game.props.FightProperty; +import emu.grasscutter.net.proto.AbilitySyncStateInfoOuterClass.AbilitySyncStateInfo; +import emu.grasscutter.net.proto.EquipOuterClass.Equip; +import emu.grasscutter.net.proto.FurnitureOuterClass.Furniture; +import emu.grasscutter.net.proto.ItemHintOuterClass.ItemHint; +import emu.grasscutter.net.proto.ItemOuterClass.Item; +import emu.grasscutter.net.proto.ItemParamOuterClass.ItemParam; +import emu.grasscutter.net.proto.MaterialOuterClass.Material; +import emu.grasscutter.net.proto.ReliquaryOuterClass.Reliquary; +import emu.grasscutter.net.proto.SceneReliquaryInfoOuterClass.SceneReliquaryInfo; +import emu.grasscutter.net.proto.SceneWeaponInfoOuterClass.SceneWeaponInfo; +import emu.grasscutter.net.proto.WeaponOuterClass.Weapon; +import emu.grasscutter.utils.WeightedList; + +@Entity(value = "items", noClassnameStored = true) +public class GenshinItem { + @Id private ObjectId id; + @Indexed private int ownerId; + private int itemId; + private int count; + + @Transient private long guid; // Player unique id + @Transient private ItemData itemData; + + // Equips + private int level; + private int exp; + private int totalExp; + private int promoteLevel; + private boolean locked; + + // Weapon + private List affixes; + private int refinement = 0; + + // Relic + private int mainPropId; + private List appendPropIdList; + + private int equipCharacter; + @Transient private int weaponEntityId; + + public GenshinItem() { + // Morphia only + } + + public GenshinItem(int itemId) { + this(GenshinData.getItemDataMap().get(itemId)); + } + + public GenshinItem(int itemId, int count) { + this(GenshinData.getItemDataMap().get(itemId), count); + } + + public GenshinItem(ItemData data) { + this(data, 1); + } + + public GenshinItem(ItemData data, int count) { + this.itemId = data.getId(); + this.itemData = data; + + if (data.getItemType() == ItemType.ITEM_VIRTUAL) { + this.count = count; + } else { + this.count = Math.min(count, data.getStackLimit()); + } + + // Equip data + if (getItemType() == ItemType.ITEM_WEAPON) { + this.level = 1; + this.affixes = new ArrayList<>(2); + if (getItemData().getSkillAffix() != null) { + for (int skillAffix : getItemData().getSkillAffix()) { + if (skillAffix > 0) { + this.affixes.add(skillAffix); + } + } + } + } else if (getItemType() == ItemType.ITEM_RELIQUARY) { + this.level = 1; + this.appendPropIdList = new ArrayList<>(); + // Create main property + ReliquaryMainPropData mainPropData = GenshinDepot.getRandomRelicMainProp(getItemData().getMainPropDepotId()); + if (mainPropData != null) { + this.mainPropId = mainPropData.getId(); + } + // Create extra stats + if (getItemData().getAppendPropNum() > 0) { + for (int i = 0; i < getItemData().getAppendPropNum(); i++) { + this.addAppendProp(); + } + } + } + } + + public ObjectId getObjectId() { + return id; + } + + public int getOwnerId() { + return ownerId; + } + + public void setOwner(GenshinPlayer player) { + this.ownerId = player.getId(); + this.guid = player.getNextGuid(); + } + public int getItemId() { + return itemId; + } + + public void setItemId(int itemId) { + this.itemId = itemId; + } + + public long getGuid() { + return guid; + } + + public ItemType getItemType() { + return this.itemData.getItemType(); + } + + public ItemData getItemData() { + return itemData; + } + + public void setItemData(ItemData materialData) { + this.itemData = materialData; + } + + public int getCount() { + return count; + } + + public void setCount(int count) { + this.count = count; + } + + public int getLevel() { + return level; + } + + public void setLevel(int level) { + this.level = level; + } + + public int getExp() { + return exp; + } + + public void setExp(int exp) { + this.exp = exp; + } + + public int getTotalExp() { + return totalExp; + } + + public void setTotalExp(int totalExp) { + this.totalExp = totalExp; + } + + public int getPromoteLevel() { + return promoteLevel; + } + + public void setPromoteLevel(int promoteLevel) { + this.promoteLevel = promoteLevel; + } + + public int getEquipSlot() { + return this.getItemData().getEquipType().getValue(); + } + + public int getEquipCharacter() { + return equipCharacter; + } + + public void setEquipCharacter(int equipCharacter) { + this.equipCharacter = equipCharacter; + } + + public boolean isEquipped() { + return this.getEquipCharacter() > 0; + } + + public boolean isLocked() { + return locked; + } + + public void setLocked(boolean locked) { + this.locked = locked; + } + + public boolean isDestroyable() { + return !this.isLocked() && !this.isEquipped(); + } + + public int getWeaponEntityId() { + return weaponEntityId; + } + + public void setWeaponEntityId(int weaponEntityId) { + this.weaponEntityId = weaponEntityId; + } + + public List getAffixes() { + return affixes; + } + + public int getRefinement() { + return refinement; + } + + public void setRefinement(int refinement) { + this.refinement = refinement; + } + + public int getMainPropId() { + return mainPropId; + } + + public List getAppendPropIdList() { + return appendPropIdList; + } + + public void addAppendProp() { + if (this.getAppendPropIdList() == null) { + this.appendPropIdList = new ArrayList<>(); + } + + if (this.getAppendPropIdList().size() < 4) { + addNewAppendProp(); + } else { + upgradeRandomAppendProp(); + } + } + + private void addNewAppendProp() { + List affixList = GenshinDepot.getRandomRelicAffixList(getItemData().getAppendPropDepotId()); + + if (affixList == null) { + return; + } + + // Build blacklist - Dont add same stat as main/sub stat + Set blacklist = new HashSet<>(); + ReliquaryMainPropData mainPropData = GenshinData.getReliquaryMainPropDataMap().get(this.getMainPropId()); + if (mainPropData != null) { + blacklist.add(mainPropData.getFightProp()); + } + int len = Math.min(4, this.getAppendPropIdList().size()); + for (int i = 0; i < len; i++) { + ReliquaryAffixData affixData = GenshinData.getReliquaryAffixDataMap().get((int) this.getAppendPropIdList().get(i)); + if (affixData != null) { + blacklist.add(affixData.getFightProp()); + } + } + + // Build random list + WeightedList randomList = new WeightedList<>(); + for (ReliquaryAffixData affix : affixList) { + if (!blacklist.contains(affix.getFightProp())) { + randomList.add(affix.getWeight(), affix); + } + } + + if (randomList.size() == 0) { + return; + } + + // Add random stat + ReliquaryAffixData affixData = randomList.next(); + this.getAppendPropIdList().add(affixData.getId()); + } + + private void upgradeRandomAppendProp() { + List affixList = GenshinDepot.getRandomRelicAffixList(getItemData().getAppendPropDepotId()); + + if (affixList == null) { + return; + } + + // Build whitelist + Set whitelist = new HashSet<>(); + int len = Math.min(4, this.getAppendPropIdList().size()); + for (int i = 0; i < len; i++) { + ReliquaryAffixData affixData = GenshinData.getReliquaryAffixDataMap().get((int) this.getAppendPropIdList().get(i)); + if (affixData != null) { + whitelist.add(affixData.getFightProp()); + } + } + + // Build random list + WeightedList randomList = new WeightedList<>(); + for (ReliquaryAffixData affix : affixList) { + if (whitelist.contains(affix.getFightProp())) { + randomList.add(affix.getUpgradeWeight(), affix); + } + } + + // Add random stat + ReliquaryAffixData affixData = randomList.next(); + this.getAppendPropIdList().add(affixData.getId()); + } + + @PostLoad + public void onLoad() { + if (this.itemData == null) { + this.itemData = GenshinData.getItemDataMap().get(getItemId()); + } + } + + public void save() { + if (this.count > 0 && this.ownerId > 0) { + DatabaseHelper.saveItem(this); + } else if (this.getObjectId() != null) { + DatabaseHelper.deleteItem(this); + } + } + + public SceneWeaponInfo createSceneWeaponInfo() { + SceneWeaponInfo.Builder weaponInfo = SceneWeaponInfo.newBuilder() + .setEntityId(this.getWeaponEntityId()) + .setItemId(this.getItemId()) + .setGuid(this.getGuid()) + .setLevel(this.getLevel()) + .setGadgetId(this.getItemData().getGadgetId()) + .setAbilityInfo(AbilitySyncStateInfo.newBuilder().setIsInited(getAffixes().size() > 0)); + + if (this.getAffixes() != null && this.getAffixes().size() > 0) { + for (int affix : this.getAffixes()) { + weaponInfo.putAffixMap(affix, this.getRefinement()); + } + } + + return weaponInfo.build(); + } + + public SceneReliquaryInfo createSceneReliquaryInfo() { + SceneReliquaryInfo relicInfo = SceneReliquaryInfo.newBuilder() + .setItemId(this.getItemId()) + .setGuid(this.getGuid()) + .setLevel(this.getLevel()) + .build(); + + return relicInfo; + } + + public Item toProto() { + Item.Builder proto = Item.newBuilder() + .setGuid(this.getGuid()) + .setItemId(this.getItemId()); + + switch (getItemType()) { + case ITEM_WEAPON: + Weapon.Builder weapon = Weapon.newBuilder() + .setLevel(this.getLevel()) + .setExp(this.getExp()) + .setPromoteLevel(this.getPromoteLevel()); + + if (this.getAffixes() != null && this.getAffixes().size() > 0) { + for (int affix : this.getAffixes()) { + weapon.putAffixMap(affix, this.getRefinement()); + } + } + + proto.setEquip(Equip.newBuilder().setWeapon(weapon).setIsLocked(this.isLocked()).build()); + break; + case ITEM_RELIQUARY: + Reliquary relic = Reliquary.newBuilder() + .setLevel(this.getLevel()) + .setExp(this.getExp()) + .setPromoteLevel(this.getPromoteLevel()) + .setMainPropId(this.getMainPropId()) + .addAllAppendPropIdList(this.getAppendPropIdList()) + .build(); + proto.setEquip(Equip.newBuilder().setReliquary(relic).setIsLocked(this.isLocked()).build()); + break; + case ITEM_MATERIAL: + Material material = Material.newBuilder() + .setCount(getCount()) + .build(); + proto.setMaterial(material); + break; + case ITEM_FURNITURE: + Furniture furniture = Furniture.newBuilder() + .setCount(getCount()) + .build(); + proto.setFurniture(furniture); + break; + default: + break; + } + + return proto.build(); + } + + public ItemHint toItemHintProto() { + return ItemHint.newBuilder().setItemId(getItemId()).setCount(getCount()).setIsNew(false).build(); + } + + public ItemParam toItemParam() { + return ItemParam.newBuilder().setItemId(this.getItemId()).setCount(this.getCount()).build(); + } +} diff --git a/src/main/java/emu/grasscutter/game/inventory/Inventory.java b/src/main/java/emu/grasscutter/game/inventory/Inventory.java new file mode 100644 index 00000000..0bd888e7 --- /dev/null +++ b/src/main/java/emu/grasscutter/game/inventory/Inventory.java @@ -0,0 +1,353 @@ +package emu.grasscutter.game.inventory; + +import java.util.Collection; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; + +import emu.grasscutter.GenshinConstants; +import emu.grasscutter.data.GenshinData; +import emu.grasscutter.data.def.AvatarCostumeData; +import emu.grasscutter.data.def.AvatarData; +import emu.grasscutter.data.def.AvatarFlycloakData; +import emu.grasscutter.data.def.ItemData; +import emu.grasscutter.database.DatabaseHelper; +import emu.grasscutter.game.GenshinPlayer; +import emu.grasscutter.game.avatar.AvatarStorage; +import emu.grasscutter.game.avatar.GenshinAvatar; +import emu.grasscutter.net.proto.ItemParamOuterClass.ItemParam; +import emu.grasscutter.server.packet.send.PacketAvatarEquipChangeNotify; +import emu.grasscutter.server.packet.send.PacketStoreItemChangeNotify; +import emu.grasscutter.server.packet.send.PacketStoreItemDelNotify; +import it.unimi.dsi.fastutil.ints.Int2ObjectMap; +import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap; +import it.unimi.dsi.fastutil.longs.Long2ObjectMap; +import it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap; + +public class Inventory implements Iterable { + private final GenshinPlayer player; + + private final Long2ObjectMap store; + private final Int2ObjectMap inventoryTypes; + + public Inventory(GenshinPlayer player) { + this.player = player; + this.store = new Long2ObjectOpenHashMap<>(); + this.inventoryTypes = new Int2ObjectOpenHashMap<>(); + + this.createInventoryTab(ItemType.ITEM_WEAPON, new EquipInventoryTab(GenshinConstants.LIMIT_WEAPON)); + this.createInventoryTab(ItemType.ITEM_RELIQUARY, new EquipInventoryTab(GenshinConstants.LIMIT_RELIC)); + this.createInventoryTab(ItemType.ITEM_MATERIAL, new MaterialInventoryTab(GenshinConstants.LIMIT_MATERIAL)); + this.createInventoryTab(ItemType.ITEM_FURNITURE, new MaterialInventoryTab(GenshinConstants.LIMIT_FURNITURE)); + } + + public GenshinPlayer getPlayer() { + return player; + } + + public AvatarStorage getAvatarStorage() { + return this.getPlayer().getAvatars(); + } + + public Long2ObjectMap getItems() { + return store; + } + + public Int2ObjectMap getInventoryTypes() { + return inventoryTypes; + } + + public InventoryTab getInventoryTab(ItemType type) { + return getInventoryTypes().get(type.getValue()); + } + + public void createInventoryTab(ItemType type, InventoryTab tab) { + this.getInventoryTypes().put(type.getValue(), tab); + } + + public GenshinItem getItemByGuid(long id) { + return this.getItems().get(id); + } + + public boolean addItem(int itemId) { + return addItem(itemId, 1); + } + + public boolean addItem(int itemId, int count) { + ItemData itemData = GenshinData.getItemDataMap().get(itemId); + + if (itemData == null) { + return false; + } + + GenshinItem item = new GenshinItem(itemData, count); + + return addItem(item); + } + + public boolean addItem(GenshinItem item) { + GenshinItem result = putItem(item); + + if (result != null) { + getPlayer().sendPacket(new PacketStoreItemChangeNotify(result)); + return true; + } + + return false; + } + + public void addItems(Collection items) { + List changedItems = new LinkedList<>(); + + for (GenshinItem item : items) { + GenshinItem result = putItem(item); + if (result != null) { + changedItems.add(result); + } + } + + getPlayer().sendPacket(new PacketStoreItemChangeNotify(changedItems)); + } + + public void addItemParams(Collection items) { + List changedItems = new LinkedList<>(); + + for (ItemParam itemParam : items) { + GenshinItem toAdd = new GenshinItem(itemParam.getItemId(), itemParam.getCount()); + GenshinItem result = putItem(toAdd); + if (result != null) { + changedItems.add(result); + } + } + + getPlayer().sendPacket(new PacketStoreItemChangeNotify(changedItems)); + } + + private synchronized GenshinItem putItem(GenshinItem item) { + // Dont add items that dont have a valid item definition. + if (item.getItemData() == null) { + return null; + } + + // Add item to inventory store + ItemType type = item.getItemData().getItemType(); + InventoryTab tab = getInventoryTab(type); + + // Add + if (type == ItemType.ITEM_WEAPON || type == ItemType.ITEM_RELIQUARY) { + if (tab.getSize() >= tab.getMaxCapacity()) { + return null; + } + putItem(item, tab); + } else if (type == ItemType.ITEM_VIRTUAL) { + // Handle + this.addVirtualItem(item.getItemId(), item.getCount()); + return null; + } else if (item.getItemData().getMaterialType() == MaterialType.MATERIAL_AVATAR) { + // Get avatar id + int avatarId = (item.getItemId() % 1000) + 10000000; + // Dont let people give themselves extra main characters + if (avatarId == GenshinConstants.MAIN_CHARACTER_MALE || avatarId == GenshinConstants.MAIN_CHARACTER_FEMALE) { + return null; + } + // Add avatar + AvatarData avatarData = GenshinData.getAvatarDataMap().get(avatarId); + if (avatarData != null && !player.getAvatars().hasAvatar(avatarId)) { + this.getPlayer().addAvatar(new GenshinAvatar(avatarData)); + } + return null; + } else if (item.getItemData().getMaterialType() == MaterialType.MATERIAL_FLYCLOAK) { + AvatarFlycloakData flycloakData = GenshinData.getAvatarFlycloakDataMap().get(item.getItemId()); + if (flycloakData != null && !player.getFlyCloakList().contains(item.getItemId())) { + getPlayer().addFlycloak(item.getItemId()); + } + return null; + } else if (item.getItemData().getMaterialType() == MaterialType.MATERIAL_COSTUME) { + AvatarCostumeData costumeData = GenshinData.getAvatarCostumeDataItemIdMap().get(item.getItemId()); + if (costumeData != null && !player.getCostumeList().contains(costumeData.getId())) { + getPlayer().addCostume(costumeData.getId()); + } + return null; + } else if (item.getItemData().getMaterialType() == MaterialType.MATERIAL_NAMECARD) { + if (!player.getNameCardList().contains(item.getItemId())) { + getPlayer().addNameCard(item.getItemId()); + } + return null; + } else if (tab != null) { + GenshinItem existingItem = tab.getItemById(item.getItemId()); + if (existingItem == null) { + // Item type didnt exist before, we will add it to main inventory map if there is enough space + if (tab.getSize() >= tab.getMaxCapacity()) { + return null; + } + putItem(item, tab); + } else { + // Add count + existingItem.setCount(Math.min(existingItem.getCount() + item.getCount(), item.getItemData().getStackLimit())); + existingItem.save(); + return existingItem; + } + } + + // Set ownership and save to db + item.save(); + + return item; + } + + private synchronized void putItem(GenshinItem item, InventoryTab tab) { + // Set owner and guid FIRST! + item.setOwner(getPlayer()); + // Put in item store + getItems().put(item.getGuid(), item); + if (tab != null) { + tab.onAddItem(item); + } + } + + private void addVirtualItem(int itemId, int count) { + switch (itemId) { + case 102: // Adventure exp + getPlayer().addExpDirectly(count); + break; + case 201: // Primogem + getPlayer().setPrimogems(player.getPrimogems() + count); + break; + case 202: // Mora + getPlayer().setMora(player.getMora() + count); + break; + } + } + + public void removeItems(List items) { + // TODO Bulk delete + for (GenshinItem item : items) { + this.removeItem(item, item.getCount()); + } + } + + public boolean removeItem(long guid) { + return removeItem(guid, 1); + } + + public synchronized boolean removeItem(long guid, int count) { + GenshinItem item = this.getItemByGuid(guid); + + if (item == null) { + return false; + } + + return removeItem(item, count); + } + + public synchronized boolean removeItem(GenshinItem item) { + return removeItem(item, item.getCount()); + } + + public synchronized boolean removeItem(GenshinItem item, int count) { + // Sanity check + if (count <= 0 || item == null) { + return false; + } + + item.setCount(item.getCount() - count); + + if (item.getCount() <= 0) { + // Remove from inventory tab too + InventoryTab tab = null; + if (item.getItemData() != null) { + tab = getInventoryTab(item.getItemData().getItemType()); + } + // Remove if less than 0 + deleteItem(item, tab); + // + getPlayer().sendPacket(new PacketStoreItemDelNotify(item)); + } else { + getPlayer().sendPacket(new PacketStoreItemChangeNotify(item)); + } + + // Update in db + item.save(); + + // Returns true on success + return true; + } + + private void deleteItem(GenshinItem item, InventoryTab tab) { + getItems().remove(item.getGuid()); + if (tab != null) { + tab.onRemoveItem(item); + } + } + + public boolean equipItem(long avatarGuid, long equipGuid) { + GenshinAvatar avatar = getPlayer().getAvatars().getAvatarByGuid(avatarGuid); + GenshinItem item = this.getItemByGuid(equipGuid); + + if (avatar != null && item != null) { + return avatar.equipItem(item, true); + } + + return false; + } + + public boolean unequipItem(long avatarGuid, int slot) { + GenshinAvatar avatar = getPlayer().getAvatars().getAvatarByGuid(avatarGuid); + EquipType equipType = EquipType.getTypeByValue(slot); + + if (avatar != null && equipType != EquipType.EQUIP_WEAPON) { + if (avatar.unequipItem(equipType)) { + getPlayer().sendPacket(new PacketAvatarEquipChangeNotify(avatar, equipType)); + avatar.recalcStats(); + return true; + } + } + + return false; + } + + public void loadFromDatabase() { + List items = DatabaseHelper.getInventoryItems(getPlayer()); + + for (GenshinItem item : items) { + // Should never happen + if (item.getObjectId() == null) { + continue; + } + + ItemData itemData = GenshinData.getItemDataMap().get(item.getItemId()); + if (itemData == null) { + continue; + } + + item.setItemData(itemData); + + InventoryTab tab = null; + if (item.getItemData() != null) { + tab = getInventoryTab(item.getItemData().getItemType()); + } + + putItem(item, tab); + + // Equip to a character if possible + if (item.isEquipped()) { + GenshinAvatar avatar = getPlayer().getAvatars().getAvatarById(item.getEquipCharacter()); + boolean hasEquipped = false; + + if (avatar != null) { + hasEquipped = avatar.equipItem(item, false); + } + + if (!hasEquipped) { + item.setEquipCharacter(0); + item.save(); + } + } + } + } + + @Override + public Iterator iterator() { + return this.getItems().values().iterator(); + } +} diff --git a/src/main/java/emu/grasscutter/game/inventory/InventoryTab.java b/src/main/java/emu/grasscutter/game/inventory/InventoryTab.java new file mode 100644 index 00000000..72099642 --- /dev/null +++ b/src/main/java/emu/grasscutter/game/inventory/InventoryTab.java @@ -0,0 +1,13 @@ +package emu.grasscutter.game.inventory; + +public interface InventoryTab { + public GenshinItem getItemById(int id); + + public void onAddItem(GenshinItem item); + + public void onRemoveItem(GenshinItem item); + + public int getSize(); + + public int getMaxCapacity(); +} diff --git a/src/main/java/emu/grasscutter/game/inventory/ItemDef.java b/src/main/java/emu/grasscutter/game/inventory/ItemDef.java new file mode 100644 index 00000000..eabda502 --- /dev/null +++ b/src/main/java/emu/grasscutter/game/inventory/ItemDef.java @@ -0,0 +1,27 @@ +package emu.grasscutter.game.inventory; + +public class ItemDef { + private int itemId; + private int count; + + public ItemDef(int itemId, int count) { + this.itemId = itemId; + this.count = count; + } + + public int getItemId() { + return itemId; + } + + public void setItemId(int itemId) { + this.itemId = itemId; + } + + public int getCount() { + return count; + } + + public void setCount(int count) { + this.count = count; + } +} diff --git a/src/main/java/emu/grasscutter/game/inventory/ItemQuality.java b/src/main/java/emu/grasscutter/game/inventory/ItemQuality.java new file mode 100644 index 00000000..298fc86c --- /dev/null +++ b/src/main/java/emu/grasscutter/game/inventory/ItemQuality.java @@ -0,0 +1,45 @@ +package emu.grasscutter.game.inventory; + +import java.util.HashMap; +import java.util.Map; +import java.util.stream.Stream; + +import it.unimi.dsi.fastutil.ints.Int2ObjectMap; +import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap; + +public enum ItemQuality { + QUALITY_NONE(0), + QUALITY_WHITE(1), + QUALITY_GREEN(2), + QUALITY_BLUE(3), + QUALITY_PURPLE(4), + QUALITY_ORANGE(5), + QUALITY_ORANGE_SP(105); + + private final int value; + private static final Int2ObjectMap map = new Int2ObjectOpenHashMap<>(); + private static final Map stringMap = new HashMap<>(); + + static { + Stream.of(values()).forEach(e -> { + map.put(e.getValue(), e); + stringMap.put(e.name(), e); + }); + } + + private ItemQuality(int value) { + this.value = value; + } + + public int getValue() { + return value; + } + + public static ItemQuality getTypeByValue(int value) { + return map.getOrDefault(value, QUALITY_NONE); + } + + public static ItemQuality getTypeByName(String name) { + return stringMap.getOrDefault(name, QUALITY_NONE); + } +} diff --git a/src/main/java/emu/grasscutter/game/inventory/ItemType.java b/src/main/java/emu/grasscutter/game/inventory/ItemType.java new file mode 100644 index 00000000..5ea6d1b7 --- /dev/null +++ b/src/main/java/emu/grasscutter/game/inventory/ItemType.java @@ -0,0 +1,45 @@ +package emu.grasscutter.game.inventory; + +import java.util.HashMap; +import java.util.Map; +import java.util.stream.Stream; + +import it.unimi.dsi.fastutil.ints.Int2ObjectMap; +import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap; + +public enum ItemType { + ITEM_NONE (0), + ITEM_VIRTUAL (1), + ITEM_MATERIAL (2), + ITEM_RELIQUARY (3), + ITEM_WEAPON (4), + ITEM_DISPLAY (5), + ITEM_FURNITURE (6); + + private final int value; + private static final Int2ObjectMap map = new Int2ObjectOpenHashMap<>(); + private static final Map stringMap = new HashMap<>(); + + static { + Stream.of(values()).forEach(e -> { + map.put(e.getValue(), e); + stringMap.put(e.name(), e); + }); + } + + private ItemType(int value) { + this.value = value; + } + + public int getValue() { + return value; + } + + public static ItemType getTypeByValue(int value) { + return map.getOrDefault(value, ITEM_NONE); + } + + public static ItemType getTypeByName(String name) { + return stringMap.getOrDefault(name, ITEM_NONE); + } +} diff --git a/src/main/java/emu/grasscutter/game/inventory/MaterialInventoryTab.java b/src/main/java/emu/grasscutter/game/inventory/MaterialInventoryTab.java new file mode 100644 index 00000000..f5ebfc5d --- /dev/null +++ b/src/main/java/emu/grasscutter/game/inventory/MaterialInventoryTab.java @@ -0,0 +1,39 @@ +package emu.grasscutter.game.inventory; + +import it.unimi.dsi.fastutil.ints.Int2ObjectMap; +import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap; + +public class MaterialInventoryTab implements InventoryTab { + private final Int2ObjectMap items; + private final int maxCapacity; + + public MaterialInventoryTab(int maxCapacity) { + this.items = new Int2ObjectOpenHashMap<>(); + this.maxCapacity = maxCapacity; + } + + @Override + public GenshinItem getItemById(int id) { + return this.items.get(id); + } + + @Override + public void onAddItem(GenshinItem item) { + this.items.put(item.getItemId(), item); + } + + @Override + public void onRemoveItem(GenshinItem item) { + this.items.remove(item.getItemId()); + } + + @Override + public int getSize() { + return this.items.size(); + } + + @Override + public int getMaxCapacity() { + return this.maxCapacity; + } +} diff --git a/src/main/java/emu/grasscutter/game/inventory/MaterialType.java b/src/main/java/emu/grasscutter/game/inventory/MaterialType.java new file mode 100644 index 00000000..e65cb09a --- /dev/null +++ b/src/main/java/emu/grasscutter/game/inventory/MaterialType.java @@ -0,0 +1,67 @@ +package emu.grasscutter.game.inventory; + +import java.util.HashMap; +import java.util.Map; +import java.util.stream.Stream; + +import it.unimi.dsi.fastutil.ints.Int2ObjectMap; +import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap; + +public enum MaterialType { + MATERIAL_NONE (0), + MATERIAL_FOOD (1), + MATERIAL_QUEST (2), + MATERIAL_EXCHANGE (4), + MATERIAL_CONSUME (5), + MATERIAL_EXP_FRUIT (6), + MATERIAL_AVATAR (7), + MATERIAL_ADSORBATE (8), + MATERIAL_CRICKET (9), + MATERIAL_ELEM_CRYSTAL (10), + MATERIAL_WEAPON_EXP_STONE (11), + MATERIAL_CHEST (12), + MATERIAL_RELIQUARY_MATERIAL (13), + MATERIAL_AVATAR_MATERIAL (14), + MATERIAL_NOTICE_ADD_HP (15), + MATERIAL_SEA_LAMP (16), + MATERIAL_SELECTABLE_CHEST (17), + MATERIAL_FLYCLOAK (18), + MATERIAL_NAMECARD (19), + MATERIAL_TALENT (20), + MATERIAL_WIDGET (21), + MATERIAL_CHEST_BATCH_USE (22), + MATERIAL_FAKE_ABSORBATE (23), + MATERIAL_CONSUME_BATCH_USE (24), + MATERIAL_WOOD (25), + MATERIAL_FURNITURE_FORMULA (27), + MATERIAL_CHANNELLER_SLAB_BUFF (28), + MATERIAL_FURNITURE_SUITE_FORMULA (29), + MATERIAL_COSTUME (30); + + private final int value; + private static final Int2ObjectMap map = new Int2ObjectOpenHashMap<>(); + private static final Map stringMap = new HashMap<>(); + + static { + Stream.of(values()).forEach(e -> { + map.put(e.getValue(), e); + stringMap.put(e.name(), e); + }); + } + + private MaterialType(int value) { + this.value = value; + } + + public int getValue() { + return value; + } + + public static MaterialType getTypeByValue(int value) { + return map.getOrDefault(value, MATERIAL_NONE); + } + + public static MaterialType getTypeByName(String name) { + return stringMap.getOrDefault(name, MATERIAL_NONE); + } +} diff --git a/src/main/java/emu/grasscutter/game/managers/AccountManager.java b/src/main/java/emu/grasscutter/game/managers/AccountManager.java new file mode 100644 index 00000000..68173dc1 --- /dev/null +++ b/src/main/java/emu/grasscutter/game/managers/AccountManager.java @@ -0,0 +1,15 @@ +package emu.grasscutter.game.managers; + +import emu.grasscutter.server.game.GameServer; + +public class AccountManager { + private final GameServer server; + + public AccountManager(GameServer server) { + this.server = server; + } + + public GameServer getServer() { + return server; + } +} diff --git a/src/main/java/emu/grasscutter/game/managers/ChatManager.java b/src/main/java/emu/grasscutter/game/managers/ChatManager.java new file mode 100644 index 00000000..a896006b --- /dev/null +++ b/src/main/java/emu/grasscutter/game/managers/ChatManager.java @@ -0,0 +1,82 @@ +package emu.grasscutter.game.managers; + +import emu.grasscutter.commands.PlayerCommands; +import emu.grasscutter.game.GenshinPlayer; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.server.game.GameServer; +import emu.grasscutter.server.packet.send.PacketPlayerChatNotify; +import emu.grasscutter.server.packet.send.PacketPrivateChatNotify; + +public class ChatManager { + private final GameServer server; + + public ChatManager(GameServer server) { + this.server = server; + } + + public GameServer getServer() { + return server; + } + + public void sendPrivChat(GenshinPlayer player, int targetUid, String message) { + // Sanity checks + if (message == null || message.length() == 0) { + return; + } + + // Check if command + if (message.charAt(0) == '!') { + PlayerCommands.handle(player, message); + return; + } + + // Get target + GenshinPlayer target = getServer().getPlayerById(targetUid); + + if (target == null) { + return; + } + + // Create chat packet + GenshinPacket packet = new PacketPrivateChatNotify(player.getId(), target.getId(), message); + + player.sendPacket(packet); + target.sendPacket(packet); + } + + public void sendPrivChat(GenshinPlayer player, int targetUid, int emote) { + // Get target + GenshinPlayer target = getServer().getPlayerById(targetUid); + + if (target == null) { + return; + } + + // Create chat packet + GenshinPacket packet = new PacketPrivateChatNotify(player.getId(), target.getId(), emote); + + player.sendPacket(packet); + target.sendPacket(packet); + } + + public void sendTeamChat(GenshinPlayer player, int channel, String message) { + // Sanity checks + if (message == null || message.length() == 0) { + return; + } + + // Check if command + if (message.charAt(0) == '!') { + PlayerCommands.handle(player, message); + return; + } + + // Create and send chat packet + player.getWorld().broadcastPacket(new PacketPlayerChatNotify(player, channel, message)); + } + + public void sendTeamChat(GenshinPlayer player, int channel, int icon) { + // Create and send chat packet + player.getWorld().broadcastPacket(new PacketPlayerChatNotify(player, channel, icon)); + } +} diff --git a/src/main/java/emu/grasscutter/game/managers/InventoryManager.java b/src/main/java/emu/grasscutter/game/managers/InventoryManager.java new file mode 100644 index 00000000..79b3fe81 --- /dev/null +++ b/src/main/java/emu/grasscutter/game/managers/InventoryManager.java @@ -0,0 +1,897 @@ +package emu.grasscutter.game.managers; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +import emu.grasscutter.data.GenshinData; +import emu.grasscutter.data.common.ItemParamData; +import emu.grasscutter.data.custom.OpenConfigEntry; +import emu.grasscutter.data.def.AvatarPromoteData; +import emu.grasscutter.data.def.AvatarSkillData; +import emu.grasscutter.data.def.AvatarSkillDepotData; +import emu.grasscutter.data.def.WeaponPromoteData; +import emu.grasscutter.data.def.AvatarSkillDepotData.InherentProudSkillOpens; +import emu.grasscutter.data.def.AvatarTalentData; +import emu.grasscutter.data.def.ProudSkillData; +import emu.grasscutter.game.GenshinPlayer; +import emu.grasscutter.game.avatar.GenshinAvatar; +import emu.grasscutter.game.inventory.GenshinItem; +import emu.grasscutter.game.inventory.ItemType; +import emu.grasscutter.game.inventory.MaterialType; +import emu.grasscutter.net.proto.ItemParamOuterClass.ItemParam; +import emu.grasscutter.net.proto.MaterialInfoOuterClass.MaterialInfo; +import emu.grasscutter.server.game.GameServer; +import emu.grasscutter.server.packet.send.PacketAbilityChangeNotify; +import emu.grasscutter.server.packet.send.PacketAvatarPromoteRsp; +import emu.grasscutter.server.packet.send.PacketAvatarPropNotify; +import emu.grasscutter.server.packet.send.PacketAvatarSkillChangeNotify; +import emu.grasscutter.server.packet.send.PacketAvatarSkillUpgradeRsp; +import emu.grasscutter.server.packet.send.PacketAvatarUnlockTalentNotify; +import emu.grasscutter.server.packet.send.PacketAvatarUpgradeRsp; +import emu.grasscutter.server.packet.send.PacketDestroyMaterialRsp; +import emu.grasscutter.server.packet.send.PacketProudSkillChangeNotify; +import emu.grasscutter.server.packet.send.PacketProudSkillExtraLevelNotify; +import emu.grasscutter.server.packet.send.PacketReliquaryUpgradeRsp; +import emu.grasscutter.server.packet.send.PacketSetEquipLockStateRsp; +import emu.grasscutter.server.packet.send.PacketStoreItemChangeNotify; +import emu.grasscutter.server.packet.send.PacketUnlockAvatarTalentRsp; +import emu.grasscutter.server.packet.send.PacketWeaponAwakenRsp; +import emu.grasscutter.server.packet.send.PacketWeaponPromoteRsp; +import emu.grasscutter.server.packet.send.PacketWeaponUpgradeRsp; +import emu.grasscutter.utils.Utils; +import it.unimi.dsi.fastutil.ints.Int2IntMap; +import it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap; + +public class InventoryManager { + private final GameServer server; + + private final static int RELIC_MATERIAL_1 = 105002; // Sanctifying Unction + private final static int RELIC_MATERIAL_2 = 105003; // Sanctifying Essence + + private final static int WEAPON_ORE_1 = 104011; // Enhancement Ore + private final static int WEAPON_ORE_2 = 104012; // Fine Enhancement Ore + private final static int WEAPON_ORE_3 = 104013; // Mystic Enhancement Ore + private final static int WEAPON_ORE_EXP_1 = 400; // Enhancement Ore + private final static int WEAPON_ORE_EXP_2 = 2000; // Fine Enhancement Ore + private final static int WEAPON_ORE_EXP_3 = 10000; // Mystic Enhancement Ore + + private final static int AVATAR_BOOK_1 = 104001; // Wanderer's Advice + private final static int AVATAR_BOOK_2 = 104002; // Adventurer's Experience + private final static int AVATAR_BOOK_3 = 104003; // Hero's Wit + private final static int AVATAR_BOOK_EXP_1 = 1000; // Wanderer's Advice + private final static int AVATAR_BOOK_EXP_2 = 5000; // Adventurer's Experience + private final static int AVATAR_BOOK_EXP_3 = 20000; // Hero's Wit + + public InventoryManager(GameServer server) { + this.server = server; + } + + public GameServer getServer() { + return server; + } + + public void lockEquip(GenshinPlayer player, long targetEquipGuid, boolean isLocked) { + GenshinItem equip = player.getInventory().getItemByGuid(targetEquipGuid); + + if (equip == null || !equip.getItemData().isEquip()) { + return; + } + + equip.setLocked(isLocked); + equip.save(); + + player.sendPacket(new PacketStoreItemChangeNotify(equip)); + player.sendPacket(new PacketSetEquipLockStateRsp(equip)); + } + + public void upgradeRelic(GenshinPlayer player, long targetGuid, List foodRelicList, List list) { + GenshinItem relic = player.getInventory().getItemByGuid(targetGuid); + + if (relic == null || relic.getItemType() != ItemType.ITEM_RELIQUARY) { + return; + } + + int moraCost = 0; + int expGain = 0; + + for (long guid : foodRelicList) { + // Add to delete queue + GenshinItem food = player.getInventory().getItemByGuid(guid); + if (food == null || !food.isDestroyable()) { + continue; + } + // Calculate mora cost + moraCost += food.getItemData().getBaseConvExp(); + expGain += food.getItemData().getBaseConvExp(); + // Feeding artifact with exp already + if (food.getTotalExp() > 0) { + expGain += (int) Math.floor(food.getTotalExp() * .8f); + } + } + for (ItemParam itemParam : list) { + GenshinItem food = player.getInventory().getInventoryTab(ItemType.ITEM_MATERIAL).getItemById(itemParam.getItemId()); + if (food == null || food.getItemData().getMaterialType() != MaterialType.MATERIAL_RELIQUARY_MATERIAL) { + continue; + } + int amount = Math.min(food.getCount(), itemParam.getCount()); + int gain = 0; + if (food.getItemId() == RELIC_MATERIAL_2) { + gain = 10000 * amount; + } else if (food.getItemId() == RELIC_MATERIAL_1) { + gain = 2500 * amount; + } + expGain += gain; + moraCost += gain; + } + + // Make sure exp gain is valid + if (expGain <= 0) { + return; + } + + // Check mora + if (player.getMora() < moraCost) { + return; + } + player.setMora(player.getMora() - moraCost); + + // Consume food items + for (long guid : foodRelicList) { + GenshinItem food = player.getInventory().getItemByGuid(guid); + if (food == null || !food.isDestroyable()) { + continue; + } + player.getInventory().removeItem(food); + } + for (ItemParam itemParam : list) { + GenshinItem food = player.getInventory().getInventoryTab(ItemType.ITEM_MATERIAL).getItemById(itemParam.getItemId()); + if (food == null || food.getItemData().getMaterialType() != MaterialType.MATERIAL_RELIQUARY_MATERIAL) { + continue; + } + int amount = Math.min(food.getCount(), itemParam.getCount()); + player.getInventory().removeItem(food, amount); + } + + // Implement random rate boost + int rate = 1; + int boost = Utils.randomRange(1, 100); + if (boost == 100) { + rate = 5; + } else if (boost <= 9) { + rate = 2; + } + expGain *= rate; + + // Now we upgrade + int level = relic.getLevel(); + int oldLevel = level; + int exp = relic.getExp(); + int totalExp = relic.getTotalExp(); + int reqExp = GenshinData.getRelicExpRequired(relic.getItemData().getRankLevel(), level); + int upgrades = 0; + List oldAppendPropIdList = relic.getAppendPropIdList(); + + while (expGain > 0 && reqExp > 0 && level < relic.getItemData().getMaxLevel()) { + // Do calculations + int toGain = Math.min(expGain, reqExp - exp); + exp += toGain; + totalExp += toGain; + expGain -= toGain; + // Level up + if (exp >= reqExp) { + // Exp + exp = 0; + level += 1; + // On relic levelup + if (relic.getItemData().getAddPropLevelSet() != null && relic.getItemData().getAddPropLevelSet().contains(level)) { + upgrades += 1; + } + // Set req exp + reqExp = GenshinData.getRelicExpRequired(relic.getItemData().getRankLevel(), level); + } + } + + if (upgrades > 0) { + oldAppendPropIdList = new ArrayList<>(relic.getAppendPropIdList()); + while (upgrades > 0) { + relic.addAppendProp(); + upgrades -= 1; + } + } + + // Save + relic.setLevel(level); + relic.setExp(exp); + relic.setTotalExp(totalExp); + relic.save(); + + // Avatar + if (oldLevel != level) { + GenshinAvatar avatar = relic.getEquipCharacter() > 0 ? player.getAvatars().getAvatarById(relic.getEquipCharacter()) : null; + if (avatar != null) { + avatar.recalcStats(); + } + } + + // Packet + player.sendPacket(new PacketStoreItemChangeNotify(relic)); + player.sendPacket(new PacketReliquaryUpgradeRsp(relic, rate, oldLevel, oldAppendPropIdList)); + } + + public List calcWeaponUpgradeReturnItems(GenshinPlayer player, long targetGuid, List foodWeaponGuidList, List itemParamList) { + GenshinItem weapon = player.getInventory().getItemByGuid(targetGuid); + + // Sanity checks + if (weapon == null || weapon.getItemType() != ItemType.ITEM_WEAPON) { + return null; + } + + WeaponPromoteData promoteData = GenshinData.getWeaponPromoteData(weapon.getItemData().getWeaponPromoteId(), weapon.getPromoteLevel()); + if (promoteData == null) { + return null; + } + + // Get exp gain + int expGain = 0; + for (long guid : foodWeaponGuidList) { + GenshinItem food = player.getInventory().getItemByGuid(guid); + if (food == null) { + continue; + } + expGain += food.getItemData().getWeaponBaseExp(); + if (food.getTotalExp() > 0) { + expGain += (int) Math.floor(food.getTotalExp() * .8f); + } + } + for (ItemParam param : itemParamList) { + GenshinItem food = player.getInventory().getInventoryTab(ItemType.ITEM_MATERIAL).getItemById(param.getItemId()); + if (food == null || food.getItemData().getMaterialType() != MaterialType.MATERIAL_WEAPON_EXP_STONE) { + continue; + } + int amount = Math.min(param.getCount(), food.getCount()); + if (food.getItemId() == WEAPON_ORE_3) { + expGain += 10000 * amount; + } else if (food.getItemId() == WEAPON_ORE_2) { + expGain += 2000 * amount; + } else if (food.getItemId() == WEAPON_ORE_1) { + expGain += 400 * amount; + } + } + + // Try + int maxLevel = promoteData.getUnlockMaxLevel(); + int level = weapon.getLevel(); + int exp = weapon.getExp(); + int reqExp = GenshinData.getWeaponExpRequired(weapon.getItemData().getRankLevel(), level); + + while (expGain > 0 && reqExp > 0 && level < maxLevel) { + // Do calculations + int toGain = Math.min(expGain, reqExp - exp); + exp += toGain; + expGain -= toGain; + // Level up + if (exp >= reqExp) { + // Exp + exp = 0; + level += 1; + // Set req exp + reqExp = GenshinData.getWeaponExpRequired(weapon.getItemData().getRankLevel(), level); + } + } + + return getLeftoverOres(expGain); + } + + + public void upgradeWeapon(GenshinPlayer player, long targetGuid, List foodWeaponGuidList, List itemParamList) { + GenshinItem weapon = player.getInventory().getItemByGuid(targetGuid); + + // Sanity checks + if (weapon == null || weapon.getItemType() != ItemType.ITEM_WEAPON) { + return; + } + + WeaponPromoteData promoteData = GenshinData.getWeaponPromoteData(weapon.getItemData().getWeaponPromoteId(), weapon.getPromoteLevel()); + if (promoteData == null) { + return; + } + + // Get exp gain + int expGain = 0, moraCost = 0; + + for (long guid : foodWeaponGuidList) { + GenshinItem food = player.getInventory().getItemByGuid(guid); + if (food == null || !food.isDestroyable()) { + continue; + } + expGain += food.getItemData().getWeaponBaseExp(); + moraCost += (int) Math.floor(food.getItemData().getWeaponBaseExp() * .1f); + if (food.getTotalExp() > 0) { + expGain += (int) Math.floor(food.getTotalExp() * .8f); + } + } + for (ItemParam param : itemParamList) { + GenshinItem food = player.getInventory().getInventoryTab(ItemType.ITEM_MATERIAL).getItemById(param.getItemId()); + if (food == null || food.getItemData().getMaterialType() != MaterialType.MATERIAL_WEAPON_EXP_STONE) { + continue; + } + int amount = Math.min(param.getCount(), food.getCount()); + int gain = 0; + if (food.getItemId() == WEAPON_ORE_3) { + gain = 10000 * amount; + } else if (food.getItemId() == WEAPON_ORE_2) { + gain = 2000 * amount; + } else if (food.getItemId() == WEAPON_ORE_1) { + gain = 400 * amount; + } + expGain += gain; + moraCost += (int) Math.floor(gain * .1f); + } + + // Make sure exp gain is valid + if (expGain <= 0) { + return; + } + + // Mora check + if (player.getMora() >= moraCost) { + player.setMora(player.getMora() - moraCost); + } else { + return; + } + + // Consume weapon/items used to feed + for (long guid : foodWeaponGuidList) { + GenshinItem food = player.getInventory().getItemByGuid(guid); + if (food == null || !food.isDestroyable()) { + continue; + } + player.getInventory().removeItem(food); + } + for (ItemParam param : itemParamList) { + GenshinItem food = player.getInventory().getInventoryTab(ItemType.ITEM_MATERIAL).getItemById(param.getItemId()); + if (food == null || food.getItemData().getMaterialType() != MaterialType.MATERIAL_WEAPON_EXP_STONE) { + continue; + } + int amount = Math.min(param.getCount(), food.getCount()); + player.getInventory().removeItem(food, amount); + } + + // Level up + int maxLevel = promoteData.getUnlockMaxLevel(); + int level = weapon.getLevel(); + int oldLevel = level; + int exp = weapon.getExp(); + int totalExp = weapon.getTotalExp(); + int reqExp = GenshinData.getWeaponExpRequired(weapon.getItemData().getRankLevel(), level); + + while (expGain > 0 && reqExp > 0 && level < maxLevel) { + // Do calculations + int toGain = Math.min(expGain, reqExp - exp); + exp += toGain; + totalExp += toGain; + expGain -= toGain; + // Level up + if (exp >= reqExp) { + // Exp + exp = 0; + level += 1; + // Set req exp + reqExp = GenshinData.getWeaponExpRequired(weapon.getItemData().getRankLevel(), level); + } + } + + List leftovers = getLeftoverOres(expGain); + player.getInventory().addItemParams(leftovers); + + weapon.setLevel(level); + weapon.setExp(exp); + weapon.setTotalExp(totalExp); + weapon.save(); + + // Avatar + if (oldLevel != level) { + GenshinAvatar avatar = weapon.getEquipCharacter() > 0 ? player.getAvatars().getAvatarById(weapon.getEquipCharacter()) : null; + if (avatar != null) { + avatar.recalcStats(); + } + } + + // Packets + player.sendPacket(new PacketStoreItemChangeNotify(weapon)); + player.sendPacket(new PacketWeaponUpgradeRsp(weapon, oldLevel, leftovers)); + } + + private List getLeftoverOres(float leftover) { + List leftoverOreList = new ArrayList<>(3); + + if (leftover < WEAPON_ORE_EXP_1) { + return leftoverOreList; + } + + // Get leftovers + int ore3 = (int) Math.floor(leftover / WEAPON_ORE_EXP_3); + leftover = leftover % WEAPON_ORE_EXP_3; + int ore2 = (int) Math.floor(leftover / WEAPON_ORE_EXP_2); + leftover = leftover % WEAPON_ORE_EXP_2; + int ore1 = (int) Math.floor(leftover / WEAPON_ORE_EXP_1); + + if (ore3 > 0) { + leftoverOreList.add(ItemParam.newBuilder().setItemId(WEAPON_ORE_3).setCount(ore3).build()); + } if (ore2 > 0) { + leftoverOreList.add(ItemParam.newBuilder().setItemId(WEAPON_ORE_2).setCount(ore2).build()); + } if (ore1 > 0) { + leftoverOreList.add(ItemParam.newBuilder().setItemId(WEAPON_ORE_1).setCount(ore1).build()); + } + + return leftoverOreList; + } + + public void refineWeapon(GenshinPlayer player, long targetGuid, long feedGuid) { + GenshinItem weapon = player.getInventory().getItemByGuid(targetGuid); + GenshinItem feed = player.getInventory().getItemByGuid(feedGuid); + + // Sanity checks + if (weapon == null || feed == null || !feed.isDestroyable()) { + return; + } + + if (weapon.getItemType() != ItemType.ITEM_WEAPON || weapon.getItemId() != feed.getItemId()) { + return; + } + + if (weapon.getRefinement() >= 4 || weapon.getAffixes() == null || weapon.getAffixes().size() == 0) { + return; + } + + // Calculate + int oldRefineLevel = weapon.getRefinement(); + int targetRefineLevel = Math.min(oldRefineLevel + feed.getRefinement() + 1, 4); + int moraCost = 0; + + try { + moraCost = weapon.getItemData().getAwakenCosts()[weapon.getRefinement()]; + } catch (Exception e) { + return; + } + + // Mora check + if (player.getMora() >= moraCost) { + player.setMora(player.getMora() - moraCost); + } else { + return; + } + + // Consume weapon + player.getInventory().removeItem(feed); + + // Get + weapon.setRefinement(targetRefineLevel); + weapon.save(); + + // Avatar + GenshinAvatar avatar = weapon.getEquipCharacter() > 0 ? player.getAvatars().getAvatarById(weapon.getEquipCharacter()) : null; + if (avatar != null) { + avatar.recalcStats(); + } + + // Packets + player.sendPacket(new PacketStoreItemChangeNotify(weapon)); + player.sendPacket(new PacketWeaponAwakenRsp(avatar, weapon, feed, oldRefineLevel)); + } + + public void promoteWeapon(GenshinPlayer player, long targetGuid) { + GenshinItem weapon = player.getInventory().getItemByGuid(targetGuid); + + if (weapon == null || weapon.getItemType() != ItemType.ITEM_WEAPON) { + return; + } + + int nextPromoteLevel = weapon.getPromoteLevel() + 1; + WeaponPromoteData currentPromoteData = GenshinData.getWeaponPromoteData(weapon.getItemData().getWeaponPromoteId(), weapon.getPromoteLevel()); + WeaponPromoteData nextPromoteData = GenshinData.getWeaponPromoteData(weapon.getItemData().getWeaponPromoteId(), nextPromoteLevel); + if (currentPromoteData == null || nextPromoteData == null) { + return; + } + + // Level check + if (weapon.getLevel() != currentPromoteData.getUnlockMaxLevel()) { + return; + } + + // Make sure player has promote items + for (ItemParamData cost : nextPromoteData.getCostItems()) { + GenshinItem feedItem = player.getInventory().getInventoryTab(ItemType.ITEM_MATERIAL).getItemById(cost.getId()); + if (feedItem == null || feedItem.getCount() < cost.getCount()) { + return; + } + } + + // Mora check + if (player.getMora() >= nextPromoteData.getCoinCost()) { + player.setMora(player.getMora() - nextPromoteData.getCoinCost()); + } else { + return; + } + + // Consume promote filler items + for (ItemParamData cost : nextPromoteData.getCostItems()) { + GenshinItem feedItem = player.getInventory().getInventoryTab(ItemType.ITEM_MATERIAL).getItemById(cost.getId()); + player.getInventory().removeItem(feedItem, cost.getCount()); + } + + int oldPromoteLevel = weapon.getPromoteLevel(); + weapon.setPromoteLevel(nextPromoteLevel); + weapon.save(); + + // Avatar + GenshinAvatar avatar = weapon.getEquipCharacter() > 0 ? player.getAvatars().getAvatarById(weapon.getEquipCharacter()) : null; + if (avatar != null) { + avatar.recalcStats(); + } + + // Packets + player.sendPacket(new PacketStoreItemChangeNotify(weapon)); + player.sendPacket(new PacketWeaponPromoteRsp(weapon, oldPromoteLevel)); + } + + public void promoteAvatar(GenshinPlayer player, long guid) { + GenshinAvatar avatar = player.getAvatars().getAvatarByGuid(guid); + + // Sanity checks + if (avatar == null) { + return; + } + + int nextPromoteLevel = avatar.getPromoteLevel() + 1; + AvatarPromoteData currentPromoteData = GenshinData.getAvatarPromoteData(avatar.getAvatarData().getAvatarPromoteId(), avatar.getPromoteLevel()); + AvatarPromoteData nextPromoteData = GenshinData.getAvatarPromoteData(avatar.getAvatarData().getAvatarPromoteId(), nextPromoteLevel); + if (currentPromoteData == null || nextPromoteData == null) { + return; + } + + // Level check + if (avatar.getLevel() != currentPromoteData.getUnlockMaxLevel()) { + return; + } + + // Make sure player has cost items + for (ItemParamData cost : nextPromoteData.getCostItems()) { + GenshinItem feedItem = player.getInventory().getInventoryTab(ItemType.ITEM_MATERIAL).getItemById(cost.getId()); + if (feedItem == null || feedItem.getCount() < cost.getCount()) { + return; + } + } + + // Mora check + if (player.getMora() >= nextPromoteData.getCoinCost()) { + player.setMora(player.getMora() - nextPromoteData.getCoinCost()); + } else { + return; + } + + // Consume promote filler items + for (ItemParamData cost : nextPromoteData.getCostItems()) { + GenshinItem feedItem = player.getInventory().getInventoryTab(ItemType.ITEM_MATERIAL).getItemById(cost.getId()); + player.getInventory().removeItem(feedItem, cost.getCount()); + } + + // Update promote level + avatar.setPromoteLevel(nextPromoteLevel); + + // Update proud skills + AvatarSkillDepotData skillDepot = GenshinData.getAvatarSkillDepotDataMap().get(avatar.getSkillDepotId()); + boolean hasAddedProudSkill = false; + + if (skillDepot != null && skillDepot.getInherentProudSkillOpens() != null) { + for (InherentProudSkillOpens openData : skillDepot.getInherentProudSkillOpens()) { + if (openData.getProudSkillGroupId() == 0) { + continue; + } + if (openData.getNeedAvatarPromoteLevel() == avatar.getPromoteLevel()) { + int proudSkillId = (openData.getProudSkillGroupId() * 100) + 1; + if (GenshinData.getProudSkillDataMap().containsKey(proudSkillId)) { + hasAddedProudSkill = true; + avatar.getProudSkillList().add(proudSkillId); + player.sendPacket(new PacketProudSkillChangeNotify(avatar)); + } + } + } + } + + // Racalc stats and save avatar + avatar.recalcStats(); + avatar.save(); + + // Resend ability embryos if proud skill has been added + if (hasAddedProudSkill && avatar.getAsEntity() != null) { + player.sendPacket(new PacketAbilityChangeNotify(avatar.getAsEntity())); + } + + // TODO Send entity prop update packet to world + + // Packets + player.sendPacket(new PacketAvatarPropNotify(avatar)); + player.sendPacket(new PacketAvatarPromoteRsp(avatar)); + } + + public void upgradeAvatar(GenshinPlayer player, long guid, int itemId, int count) { + GenshinAvatar avatar = player.getAvatars().getAvatarByGuid(guid); + + // Sanity checks + if (avatar == null) { + return; + } + + AvatarPromoteData promoteData = GenshinData.getAvatarPromoteData(avatar.getAvatarData().getAvatarPromoteId(), avatar.getPromoteLevel()); + if (promoteData == null) { + return; + } + + GenshinItem feedItem = player.getInventory().getInventoryTab(ItemType.ITEM_MATERIAL).getItemById(itemId); + + if (feedItem == null || feedItem.getItemData().getMaterialType() != MaterialType.MATERIAL_EXP_FRUIT || feedItem.getCount() < count) { + return; + } + + // Calc exp + int expGain = 0, moraCost = 0; + + // TODO clean up + if (itemId == AVATAR_BOOK_3) { + expGain = AVATAR_BOOK_EXP_3 * count; + } else if (itemId == AVATAR_BOOK_2) { + expGain = AVATAR_BOOK_EXP_2 * count; + } else if (itemId == AVATAR_BOOK_1) { + expGain = AVATAR_BOOK_EXP_1 * count; + } + moraCost = (int) Math.floor(expGain * .2f); + + // Mora check + if (player.getMora() >= moraCost) { + player.setMora(player.getMora() - moraCost); + } else { + return; + } + + // Consume items + player.getInventory().removeItem(feedItem, count); + + // Level up + int maxLevel = promoteData.getUnlockMaxLevel(); + int level = avatar.getLevel(); + int oldLevel = level; + int exp = avatar.getExp(); + int reqExp = GenshinData.getAvatarLevelExpRequired(level); + + while (expGain > 0 && reqExp > 0 && level < maxLevel) { + // Do calculations + int toGain = Math.min(expGain, reqExp - exp); + exp += toGain; + expGain -= toGain; + // Level up + if (exp >= reqExp) { + // Exp + exp = 0; + level += 1; + // Set req exp + reqExp = GenshinData.getAvatarLevelExpRequired(level); + } + } + + // Old map for packet + Map oldPropMap = avatar.getFightProperties(); + if (oldLevel != level) { + // Deep copy if level has changed + oldPropMap = avatar.getFightProperties().int2FloatEntrySet().stream().collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue)); + } + + // Done + avatar.setLevel(level); + avatar.setExp(exp); + avatar.recalcStats(); + avatar.save(); + + // TODO Send entity prop update packet to world + + // Packets + player.sendPacket(new PacketAvatarPropNotify(avatar)); + player.sendPacket(new PacketAvatarUpgradeRsp(avatar, oldLevel, oldPropMap)); + } + + public void upgradeAvatarSkill(GenshinPlayer player, long guid, int skillId) { + // Sanity checks + GenshinAvatar avatar = player.getAvatars().getAvatarByGuid(guid); + if (avatar == null) { + return; + } + + // Make sure avatar has skill + if (!avatar.getSkillLevelMap().containsKey(skillId)) { + return; + } + + AvatarSkillData skillData = GenshinData.getAvatarSkillDataMap().get(skillId); + if (skillData == null) { + return; + } + + // Get data for next skill level + int currentLevel = avatar.getSkillLevelMap().get(skillId); + int nextLevel = currentLevel + 1; + int proudSkillId = (skillData.getProudSkillGroupId() * 100) + nextLevel; + + // Capped at level 10 talent + if (nextLevel > 10) { + return; + } + + // Proud skill data + ProudSkillData proudSkill = GenshinData.getProudSkillDataMap().get(proudSkillId); + if (proudSkill == null) { + return; + } + + // Make sure break level is correct + if (avatar.getPromoteLevel() < proudSkill.getBreakLevel()) { + return; + } + + // Make sure player has cost items + for (ItemParamData cost : proudSkill.getCostItems()) { + if (cost.getId() == 0) { + continue; + } + GenshinItem feedItem = player.getInventory().getInventoryTab(ItemType.ITEM_MATERIAL).getItemById(cost.getId()); + if (feedItem == null || feedItem.getCount() < cost.getCount()) { + return; + } + } + + // Mora check + if (player.getMora() >= proudSkill.getCoinCost()) { + player.setMora(player.getMora() - proudSkill.getCoinCost()); + } else { + return; + } + + // Consume promote filler items + for (ItemParamData cost : proudSkill.getCostItems()) { + if (cost.getId() == 0) { + continue; + } + GenshinItem feedItem = player.getInventory().getInventoryTab(ItemType.ITEM_MATERIAL).getItemById(cost.getId()); + player.getInventory().removeItem(feedItem, cost.getCount()); + } + + // Upgrade skill + avatar.getSkillLevelMap().put(skillId, nextLevel); + avatar.save(); + + // Packet + player.sendPacket(new PacketAvatarSkillChangeNotify(avatar, skillId, currentLevel, nextLevel)); + player.sendPacket(new PacketAvatarSkillUpgradeRsp(avatar, skillId, currentLevel, nextLevel)); + } + + public void unlockAvatarConstellation(GenshinPlayer player, long guid) { + // Sanity checks + GenshinAvatar avatar = player.getAvatars().getAvatarByGuid(guid); + if (avatar == null) { + return; + } + + // Get talent + int currentTalentLevel = avatar.getCoreProudSkillLevel(); + int nextTalentId = ((avatar.getAvatarId() % 10000000) * 10) + currentTalentLevel + 1; + AvatarTalentData talentData = GenshinData.getAvatarTalentDataMap().get(nextTalentId); + + if (talentData == null) { + return; + } + + GenshinItem costItem = player.getInventory().getInventoryTab(ItemType.ITEM_MATERIAL).getItemById(talentData.getMainCostItemId()); + if (costItem == null || costItem.getCount() < talentData.getMainCostItemCount()) { + return; + } + + // Consume item + player.getInventory().removeItem(costItem, talentData.getMainCostItemCount()); + + // Apply + recalc + avatar.getTalentIdList().add(talentData.getId()); + avatar.setCoreProudSkillLevel(currentTalentLevel + 1); + avatar.recalcStats(); + + // Packet + player.sendPacket(new PacketAvatarUnlockTalentNotify(avatar, nextTalentId)); + player.sendPacket(new PacketUnlockAvatarTalentRsp(avatar, nextTalentId)); + + // Proud skill bonus map + OpenConfigEntry entry = GenshinData.getOpenConfigEntries().get(talentData.getOpenConfig()); + if (entry != null && entry.getExtraTalentIndex() > 0) { + avatar.recalcProudSkillBonusMap(); + player.sendPacket(new PacketProudSkillExtraLevelNotify(avatar, entry.getExtraTalentIndex())); + } + + // Resend ability embryos + if (avatar.getAsEntity() != null) { + player.sendPacket(new PacketAbilityChangeNotify(avatar.getAsEntity())); + } + + // Save avatar + avatar.save(); + } + + public void destroyMaterial(GenshinPlayer player, List list) { + // Return materials + Int2IntOpenHashMap returnMaterialMap = new Int2IntOpenHashMap(); + + for (MaterialInfo info : list) { + // Sanity check + if (info.getCount() <= 0) { + continue; + } + + GenshinItem item = player.getInventory().getItemByGuid(info.getGuid()); + if (item == null || !item.isDestroyable()) { + continue; + } + + // Remove + int removeAmount = Math.min(info.getCount(), item.getCount()); + player.getInventory().removeItem(item, removeAmount); + + // Delete material return items + if (item.getItemData().getDestroyReturnMaterial().length > 0) { + for (int i = 0; i < item.getItemData().getDestroyReturnMaterial().length; i++) { + returnMaterialMap.addTo(item.getItemData().getDestroyReturnMaterial()[i], item.getItemData().getDestroyReturnMaterialCount()[i]); + } + } + } + + // Give back items + if (returnMaterialMap.size() > 0) { + for (Int2IntMap.Entry e : returnMaterialMap.int2IntEntrySet()) { + player.getInventory().addItem(new GenshinItem(e.getIntKey(), e.getIntValue())); + } + } + + // Packets + player.sendPacket(new PacketDestroyMaterialRsp(returnMaterialMap)); + } + + public GenshinItem useItem(GenshinPlayer player, long targetGuid, long itemGuid, int count) { + GenshinAvatar target = player.getAvatars().getAvatarByGuid(targetGuid); + GenshinItem useItem = player.getInventory().getItemByGuid(itemGuid); + + if (useItem == null) { + return null; + } + + int used = 0; + + // Use + switch (useItem.getItemData().getMaterialType()) { + case MATERIAL_FOOD: + if (useItem.getItemData().getUseTarget().equals("ITEM_USE_TARGET_SPECIFY_DEAD_AVATAR")) { + if (target == null) { + break; + } + + used = player.getTeamManager().reviveAvatar(target) ? 1 : 0; + } + break; + default: + break; + } + + if (used > 0) { + player.getInventory().removeItem(useItem, used); + return useItem; + } + + return null; + } +} diff --git a/src/main/java/emu/grasscutter/game/managers/MultiplayerManager.java b/src/main/java/emu/grasscutter/game/managers/MultiplayerManager.java new file mode 100644 index 00000000..98027069 --- /dev/null +++ b/src/main/java/emu/grasscutter/game/managers/MultiplayerManager.java @@ -0,0 +1,153 @@ +package emu.grasscutter.game.managers; + +import emu.grasscutter.game.CoopRequest; +import emu.grasscutter.game.GenshinPlayer; +import emu.grasscutter.game.GenshinPlayer.SceneLoadState; +import emu.grasscutter.game.props.EnterReason; +import emu.grasscutter.net.proto.EnterTypeOuterClass.EnterType; +import emu.grasscutter.net.proto.PlayerApplyEnterMpReasonOuterClass.PlayerApplyEnterMpReason; +import emu.grasscutter.game.World; +import emu.grasscutter.server.game.GameServer; +import emu.grasscutter.server.packet.send.PacketPlayerApplyEnterMpNotify; +import emu.grasscutter.server.packet.send.PacketPlayerApplyEnterMpResultNotify; +import emu.grasscutter.server.packet.send.PacketPlayerEnterSceneNotify; + +public class MultiplayerManager { + private final GameServer server; + + public MultiplayerManager(GameServer server) { + this.server = server; + } + + public GameServer getServer() { + return server; + } + + public void applyEnterMp(GenshinPlayer player, int targetUid) { + GenshinPlayer target = getServer().getPlayerById(targetUid); + if (target == null) { + player.sendPacket(new PacketPlayerApplyEnterMpResultNotify(targetUid, "", false, PlayerApplyEnterMpReason.PlayerCannotEnterMp)); + return; + } + + // Sanity checks - Dont let player join if already in multiplayer + if (player.getWorld().isMultiplayer()) { + return; + } + + if (target.getWorld().isDungeon()) { + player.sendPacket(new PacketPlayerApplyEnterMpResultNotify(targetUid, "", false, PlayerApplyEnterMpReason.SceneCannotEnter)); + return; + } + + // Get request + CoopRequest request = target.getCoopRequests().get(player.getId()); + + if (request != null && !request.isExpired()) { + // Join request already exists + return; + } + + // Put request in + request = new CoopRequest(player); + target.getCoopRequests().put(player.getId(), request); + + // Packet + target.sendPacket(new PacketPlayerApplyEnterMpNotify(player)); + } + + public void applyEnterMpReply(GenshinPlayer player, int applyUid, boolean isAgreed) { + // Checks + CoopRequest request = player.getCoopRequests().get(applyUid); + if (request == null || request.isExpired()) { + return; + } + + // Remove now that we are handling it + GenshinPlayer requester = request.getRequester(); + player.getCoopRequests().remove(applyUid); + + // Sanity checks - Dont let player join if already in multiplayer + if (requester.getWorld().isMultiplayer()) { + request.getRequester().sendPacket(new PacketPlayerApplyEnterMpResultNotify(player, false, PlayerApplyEnterMpReason.PlayerCannotEnterMp)); + return; + } + + // Response packet + request.getRequester().sendPacket(new PacketPlayerApplyEnterMpResultNotify(player, isAgreed, PlayerApplyEnterMpReason.PlayerJudge)); + + // Declined + if (!isAgreed) { + return; + } + + // Success + if (!player.getWorld().isMultiplayer()) { + // Player not in multiplayer, create multiplayer world + World world = new World(player, true); + + // Add + world.addPlayer(player); + + // Rejoin packet + player.sendPacket(new PacketPlayerEnterSceneNotify(player, player, EnterType.EnterSelf, EnterReason.HostFromSingleToMp, player.getWorld().getSceneId(), player.getPos())); + } + + // Make requester join + player.getWorld().addPlayer(requester); + + // Packet + requester.sendPacket(new PacketPlayerEnterSceneNotify(requester, player, EnterType.EnterOther, EnterReason.TeamJoin, player.getWorld().getSceneId(), player.getPos())); + requester.getPos().set(player.getPos()); + requester.getRotation().set(player.getRotation()); + } + + public boolean leaveCoop(GenshinPlayer player) { + // Make sure player's world is multiplayer + if (!player.getWorld().isMultiplayer()) { + return false; + } + + // Make sure everyone's scene is loaded + for (GenshinPlayer p : player.getWorld().getPlayers()) { + if (p.getSceneLoadState() != SceneLoadState.LOADED) { + return false; + } + } + + // Create new world for player + World world = new World(player); + world.addPlayer(player); + + // Packet + player.sendPacket(new PacketPlayerEnterSceneNotify(player, EnterType.EnterSelf, EnterReason.TeamBack, player.getWorld().getSceneId(), player.getPos())); + + return true; + } + + public boolean kickPlayer(GenshinPlayer player, int targetUid) { + // Make sure player's world is multiplayer and that player is owner + if (!player.getWorld().isMultiplayer() || player.getWorld().getHost() != player) { + return false; + } + + // Get victim and sanity checks + GenshinPlayer victim = player.getServer().getPlayerById(targetUid); + + if (victim == null || victim == player) { + return false; + } + + // Make sure victim's scene has loaded + if (victim.getSceneLoadState() != SceneLoadState.LOADED) { + return false; + } + + // Kick + World world = new World(victim); + world.addPlayer(victim); + + victim.sendPacket(new PacketPlayerEnterSceneNotify(victim, EnterType.EnterSelf, EnterReason.TeamKick, victim.getWorld().getSceneId(), victim.getPos())); + return true; + } +} diff --git a/src/main/java/emu/grasscutter/game/props/ActionReason.java b/src/main/java/emu/grasscutter/game/props/ActionReason.java new file mode 100644 index 00000000..7f38de18 --- /dev/null +++ b/src/main/java/emu/grasscutter/game/props/ActionReason.java @@ -0,0 +1,211 @@ +package emu.grasscutter.game.props; + +import java.util.HashMap; +import java.util.Map; +import java.util.stream.Stream; + +import it.unimi.dsi.fastutil.ints.Int2ObjectMap; +import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap; + +public enum ActionReason { + None(0), + QuestItem(1), + QuestReward(2), + Trifle(3), + Shop(4), + PlayerUpgradeReward(5), + AddAvatar(6), + GadgetEnvAnimal(7), + MonsterEnvAnimal(8), + Compound(9), + Cook(10), + Gather(11), + MailAttachment(12), + CityLevelupReturn(15), + CityLevelupReward(17), + AreaExploreReward(18), + UnlockPointReward(19), + DungeonFirstPass(20), + DungeonPass(21), + ChangeElemType(23), + FetterOpen(25), + DailyTaskScore(26), + DailyTaskHost(27), + RandTaskHost(28), + Expedition(29), + Gacha(30), + Combine(31), + RandTaskGuest(32), + DailyTaskGuest(33), + ForgeOutput(34), + ForgeReturn(35), + InitAvatar(36), + MonsterDie(37), + Gm(38), + OpenChest(39), + GadgetDie(40), + MonsterChangeHp(41), + SubfieldDrop(42), + PushTipsReward(43), + ActivityMonsterDrop(44), + ActivityGather(45), + ActivitySubfieldDrop(46), + TowerScheduleReward(47), + TowerFloorStarReward(48), + TowerFirstPassReward(49), + TowerDailyReward(50), + HitClientTrivialEntity(51), + OpenWorldBossChest(52), + MaterialDeleteReturn(53), + SignInReward(54), + OpenBlossomChest(55), + Recharge(56), + BonusActivityReward(57), + TowerCommemorativeReward(58), + TowerSkipFloorReward(59), + RechargeBonus(60), + RechargeCard(61), + RechargeCardDaily(62), + RechargeCardReplace(63), + RechargeCardReplaceFree(64), + RechargePlayReplace(65), + MpPlayTakeReward(66), + ActivityWatcher(67), + SalesmanDeliverItem(68), + SalesmanReward(69), + Rebate(70), + McoinExchangeHcoin(71), + DailyTaskExchangeLegendaryKey(72), + UnlockPersonLine(73), + FetterLevelReward(74), + BuyResin(75), + RechargePackage(76), + DeliveryDailyReward(77), + CityReputationLevel(78), + CityReputationQuest(79), + CityReputationRequest(80), + CityReputationExplore(81), + OffergingLevel(82), + RoutineHost(83), + RoutineGuest(84), + TreasureMapSpotToken(89), + TreasureMapBonusLevelReward(90), + TreasureMapMpReward(91), + Convert(92), + OverflowTransform(93), + ActivityAvatarSelectionReward(96), + ActivityWatcherBatch(97), + HitTreeDrop(98), + GetHomeLevelupReward(99), + HomeDefaultFurniture(100), + ActivityCond(101), + BattlePassNotify(102), + PlayerUseItem(1001), + DropItem(1002), + WeaponUpgrade(1011), + WeaponPromote(1012), + WeaponAwaken(1013), + RelicUpgrade(1014), + Ability(1015), + DungeonStatueDrop(1016), + OfflineMsg(1017), + AvatarUpgrade(1018), + AvatarPromote(1019), + QuestAction(1021), + CityLevelup(1022), + UpgradeSkill(1024), + UnlockTalent(1025), + UpgradeProudSkill(1026), + PlayerLevelLimitUp(1027), + DungeonDaily(1028), + ItemGiving(1030), + ForgeCost(1031), + InvestigationReward(1032), + InvestigationTargetReward(1033), + GadgetInteract(1034), + SeaLampCiMaterial(1036), + SeaLampContributionReward(1037), + SeaLampPhaseReward(1038), + SeaLampFlyLamp(1039), + AutoRecover(1040), + ActivityExpireItem(1041), + SubCoinNegative(1042), + BargainDeduct(1043), + BattlePassPaidReward(1044), + BattlePassLevelReward(1045), + TrialAvatarActivityFirstPassReward(1046), + BuyBattlePassLevel(1047), + GrantBirthdayBenefit(1048), + AchievementReward(1049), + AchievementGoalReward(1050), + FirstShareToSocialNetwork(1051), + DestroyMaterial(1052), + CodexLevelupReward(1053), + HuntingOfferReward(1054), + UseWidgetAnchorPoint(1055), + UseWidgetBonfire(1056), + UngradeWeaponReturnMaterial(1057), + UseWidgetOneoffGatherPointDetector(1058), + UseWidgetClientCollector(1059), + UseWidgetClientDetector(1060), + TakeGeneralReward(1061), + AsterTakeSpecialReward(1062), + RemoveCodexBook(1063), + OfferingItem(1064), + UseWidgetGadgetBuilder(1065), + EffigyFirstPassReward(1066), + EffigyReward(1067), + ReunionFirstGiftReward(1068), + ReunionSignInReward(1069), + ReunionWatcherReward(1070), + SalesmanMpReward(1071), + ActionReasionAvatarPromoteReward(1072), + BlessingRedeemReward(1073), + ActionMiracleRingReward(1074), + ExpeditionReward(1075), + TreasureMapRemoveDetector(1076), + MechanicusDungeonTicket(1077), + MechanicusLevelupGear(1078), + MechanicusBattleSettle(1079), + RegionSearchReward(1080), + UnlockCoopChapter(1081), + TakeCoopReward(1082), + FleurFairDungeonReward(1083), + ActivityScore(1084), + ChannellerSlabOneoffDungeonReward(1085), + FurnitureMakeStart(1086), + FurnitureMakeTake(1087), + FurnitureMakeCancel(1088), + FurnitureMakeFastFinish(1089), + ChannellerSlabLoopDungeonFirstPassReward(1090), + ChannellerSlabLoopDungeonScoreReward(1091), + HomeLimitedShopBuy(1092), + HomeCoinCollect(1093); + + private final int value; + private static final Int2ObjectMap map = new Int2ObjectOpenHashMap<>(); + private static final Map stringMap = new HashMap<>(); + + static { + Stream.of(values()).forEach(e -> { + map.put(e.getValue(), e); + stringMap.put(e.name(), e); + }); + } + + private ActionReason(int value) { + this.value = value; + } + + public int getValue() { + return value; + } + + public static ActionReason getTypeByValue(int value) { + return map.getOrDefault(value, None); + } + + public static ActionReason getTypeByName(String name) { + return stringMap.getOrDefault(name, None); + } +} diff --git a/src/main/java/emu/grasscutter/game/props/ClimateType.java b/src/main/java/emu/grasscutter/game/props/ClimateType.java new file mode 100644 index 00000000..433bf4a7 --- /dev/null +++ b/src/main/java/emu/grasscutter/game/props/ClimateType.java @@ -0,0 +1,45 @@ +package emu.grasscutter.game.props; + +import java.util.HashMap; +import java.util.Map; +import java.util.stream.Stream; + +import it.unimi.dsi.fastutil.ints.Int2ObjectMap; +import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap; + +public enum ClimateType { + CLIMATE_NONE(0), + CLIMATE_SUNNY(1), + CLIMATE_CLOUDY(2), + CLIMATE_RAIN(3), + CLIMATE_THUNDERSTORM(4), + CLIMATE_SNOW(5), + CLIMATE_MIST(6); + + private final int value; + private static final Int2ObjectMap map = new Int2ObjectOpenHashMap<>(); + private static final Map stringMap = new HashMap<>(); + + static { + Stream.of(values()).forEach(e -> { + map.put(e.getValue(), e); + stringMap.put(e.name(), e); + }); + } + + private ClimateType(int value) { + this.value = value; + } + + public int getValue() { + return value; + } + + public static ClimateType getTypeByValue(int value) { + return map.getOrDefault(value, CLIMATE_NONE); + } + + public static ClimateType getTypeByName(String name) { + return stringMap.getOrDefault(name, CLIMATE_NONE); + } +} diff --git a/src/main/java/emu/grasscutter/game/props/ElementType.java b/src/main/java/emu/grasscutter/game/props/ElementType.java new file mode 100644 index 00000000..23362c39 --- /dev/null +++ b/src/main/java/emu/grasscutter/game/props/ElementType.java @@ -0,0 +1,76 @@ +package emu.grasscutter.game.props; + +import java.util.HashMap; +import java.util.Map; +import java.util.stream.Stream; + +import emu.grasscutter.utils.Utils; +import it.unimi.dsi.fastutil.ints.Int2ObjectMap; +import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap; + +public enum ElementType { + None (0, FightProperty.FIGHT_PROP_MAX_FIRE_ENERGY), + Fire (1, FightProperty.FIGHT_PROP_MAX_FIRE_ENERGY, 10101, "TeamResonance_Fire_Lv2"), + Water (2, FightProperty.FIGHT_PROP_MAX_WATER_ENERGY, 10201, "TeamResonance_Water_Lv2"), + Grass (3, FightProperty.FIGHT_PROP_MAX_GRASS_ENERGY), + Electric (4, FightProperty.FIGHT_PROP_MAX_ELEC_ENERGY, 10401, "TeamResonance_Electric_Lv2"), + Ice (5, FightProperty.FIGHT_PROP_MAX_ICE_ENERGY, 10601, "TeamResonance_Ice_Lv2"), + Frozen (6, FightProperty.FIGHT_PROP_MAX_ICE_ENERGY), + Wind (7, FightProperty.FIGHT_PROP_MAX_WIND_ENERGY, 10301, "TeamResonance_Wind_Lv2"), + Rock (8, FightProperty.FIGHT_PROP_MAX_ROCK_ENERGY, 10701, "TeamResonance_Rock_Lv2"), + AntiFire (9, FightProperty.FIGHT_PROP_MAX_FIRE_ENERGY), + Default (255, FightProperty.FIGHT_PROP_MAX_FIRE_ENERGY, 10801, "TeamResonance_AllDifferent"); + + private final int value; + private final int teamResonanceId; + private final FightProperty energyProperty; + private final int configHash; + private static final Int2ObjectMap map = new Int2ObjectOpenHashMap<>(); + private static final Map stringMap = new HashMap<>(); + + static { + Stream.of(values()).forEach(e -> { + map.put(e.getValue(), e); + stringMap.put(e.name(), e); + }); + } + + private ElementType(int value, FightProperty energyProperty) { + this(value, energyProperty, 0, null); + } + + private ElementType(int value, FightProperty energyProperty, int teamResonanceId, String configName) { + this.value = value; + this.energyProperty = energyProperty; + this.teamResonanceId = teamResonanceId; + if (configName != null) { + this.configHash = Utils.abilityHash(configName); + } else { + this.configHash = 0; + } + } + + public int getValue() { + return value; + } + + public FightProperty getEnergyProperty() { + return energyProperty; + } + + public int getTeamResonanceId() { + return teamResonanceId; + } + + public int getConfigHash() { + return configHash; + } + + public static ElementType getTypeByValue(int value) { + return map.getOrDefault(value, None); + } + + public static ElementType getTypeByName(String name) { + return stringMap.getOrDefault(name, None); + } +} diff --git a/src/main/java/emu/grasscutter/game/props/EnterReason.java b/src/main/java/emu/grasscutter/game/props/EnterReason.java new file mode 100644 index 00000000..39e0e440 --- /dev/null +++ b/src/main/java/emu/grasscutter/game/props/EnterReason.java @@ -0,0 +1,70 @@ +package emu.grasscutter.game.props; + +import java.util.HashMap; +import java.util.Map; +import java.util.stream.Stream; + +import it.unimi.dsi.fastutil.ints.Int2ObjectMap; +import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap; + +public enum EnterReason { + None(0), + Login(1), + DungeonReplay(11), + DungeonReviveOnWaypoint(12), + DungeonEnter(13), + DungeonQuit(14), + Gm(21), + QuestRollback(31), + Revival(32), + PersonalScene(41), + TransPoint(42), + ClientTransmit(43), + ForceDragBack(44), + TeamKick(51), + TeamJoin(52), + TeamBack(53), + Muip(54), + DungeonInviteAccept(55), + Lua(56), + ActivityLoadTerrain(57), + HostFromSingleToMp(58), + MpPlay(59), + AnchorPoint(60), + LuaSkipUi(61), + ReloadTerrain(62), + DraftTransfer(63), + EnterHome(64), + ExitHome(65), + ChangeHomeModule(66), + Gallery(67), + HomeSceneJump(68), + HideAndSeek(69); + + private final int value; + private static final Int2ObjectMap map = new Int2ObjectOpenHashMap<>(); + private static final Map stringMap = new HashMap<>(); + + static { + Stream.of(values()).forEach(e -> { + map.put(e.getValue(), e); + stringMap.put(e.name(), e); + }); + } + + private EnterReason(int value) { + this.value = value; + } + + public int getValue() { + return value; + } + + public static EnterReason getTypeByValue(int value) { + return map.getOrDefault(value, None); + } + + public static EnterReason getTypeByName(String name) { + return stringMap.getOrDefault(name, None); + } +} diff --git a/src/main/java/emu/grasscutter/game/props/EntityIdType.java b/src/main/java/emu/grasscutter/game/props/EntityIdType.java new file mode 100644 index 00000000..09414b65 --- /dev/null +++ b/src/main/java/emu/grasscutter/game/props/EntityIdType.java @@ -0,0 +1,21 @@ +package emu.grasscutter.game.props; + +public enum EntityIdType { + AVATAR (0x01), + MONSTER (0x02), + NPC (0x03), + GADGET (0x04), + WEAPON (0x06), + TEAM (0x09), + MPLEVEL (0x0b); + + private final int id; + + private EntityIdType(int id) { + this.id = id; + } + + public int getId() { + return id; + } +} diff --git a/src/main/java/emu/grasscutter/game/props/FightProperty.java b/src/main/java/emu/grasscutter/game/props/FightProperty.java new file mode 100644 index 00000000..e36c432f --- /dev/null +++ b/src/main/java/emu/grasscutter/game/props/FightProperty.java @@ -0,0 +1,136 @@ +package emu.grasscutter.game.props; + +import java.util.HashMap; +import java.util.Map; +import java.util.stream.Stream; + +import it.unimi.dsi.fastutil.ints.Int2ObjectMap; +import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap; + +public enum FightProperty { + FIGHT_PROP_NONE(0), + FIGHT_PROP_BASE_HP(1), + FIGHT_PROP_HP(2), + FIGHT_PROP_HP_PERCENT(3), + FIGHT_PROP_BASE_ATTACK(4), + FIGHT_PROP_ATTACK(5), + FIGHT_PROP_ATTACK_PERCENT(6), + FIGHT_PROP_BASE_DEFENSE(7), + FIGHT_PROP_DEFENSE(8), + FIGHT_PROP_DEFENSE_PERCENT(9), + FIGHT_PROP_BASE_SPEED(10), + FIGHT_PROP_SPEED_PERCENT(11), + FIGHT_PROP_HP_MP_PERCENT(12), + FIGHT_PROP_ATTACK_MP_PERCENT(13), + FIGHT_PROP_CRITICAL(20), + FIGHT_PROP_ANTI_CRITICAL(21), + FIGHT_PROP_CRITICAL_HURT(22), + FIGHT_PROP_CHARGE_EFFICIENCY(23), + FIGHT_PROP_ADD_HURT(24), + FIGHT_PROP_SUB_HURT(25), + FIGHT_PROP_HEAL_ADD(26), + FIGHT_PROP_HEALED_ADD(27), + FIGHT_PROP_ELEMENT_MASTERY(28), + FIGHT_PROP_PHYSICAL_SUB_HURT(29), + FIGHT_PROP_PHYSICAL_ADD_HURT(30), + FIGHT_PROP_DEFENCE_IGNORE_RATIO(31), + FIGHT_PROP_DEFENCE_IGNORE_DELTA(32), + FIGHT_PROP_FIRE_ADD_HURT(40), + FIGHT_PROP_ELEC_ADD_HURT(41), + FIGHT_PROP_WATER_ADD_HURT(42), + FIGHT_PROP_GRASS_ADD_HURT(43), + FIGHT_PROP_WIND_ADD_HURT(44), + FIGHT_PROP_ROCK_ADD_HURT(45), + FIGHT_PROP_ICE_ADD_HURT(46), + FIGHT_PROP_HIT_HEAD_ADD_HURT(47), + FIGHT_PROP_FIRE_SUB_HURT(50), + FIGHT_PROP_ELEC_SUB_HURT(51), + FIGHT_PROP_WATER_SUB_HURT(52), + FIGHT_PROP_GRASS_SUB_HURT(53), + FIGHT_PROP_WIND_SUB_HURT(54), + FIGHT_PROP_ROCK_SUB_HURT(55), + FIGHT_PROP_ICE_SUB_HURT(56), + FIGHT_PROP_EFFECT_HIT(60), + FIGHT_PROP_EFFECT_RESIST(61), + FIGHT_PROP_FREEZE_RESIST(62), + FIGHT_PROP_TORPOR_RESIST(63), + FIGHT_PROP_DIZZY_RESIST(64), + FIGHT_PROP_FREEZE_SHORTEN(65), + FIGHT_PROP_TORPOR_SHORTEN(66), + FIGHT_PROP_DIZZY_SHORTEN(67), + FIGHT_PROP_MAX_FIRE_ENERGY(70), + FIGHT_PROP_MAX_ELEC_ENERGY(71), + FIGHT_PROP_MAX_WATER_ENERGY(72), + FIGHT_PROP_MAX_GRASS_ENERGY(73), + FIGHT_PROP_MAX_WIND_ENERGY(74), + FIGHT_PROP_MAX_ICE_ENERGY(75), + FIGHT_PROP_MAX_ROCK_ENERGY(76), + FIGHT_PROP_SKILL_CD_MINUS_RATIO(80), + FIGHT_PROP_SHIELD_COST_MINUS_RATIO(81), + FIGHT_PROP_CUR_FIRE_ENERGY(1000), + FIGHT_PROP_CUR_ELEC_ENERGY(1001), + FIGHT_PROP_CUR_WATER_ENERGY(1002), + FIGHT_PROP_CUR_GRASS_ENERGY(1003), + FIGHT_PROP_CUR_WIND_ENERGY(1004), + FIGHT_PROP_CUR_ICE_ENERGY(1005), + FIGHT_PROP_CUR_ROCK_ENERGY(1006), + FIGHT_PROP_CUR_HP(1010), + FIGHT_PROP_MAX_HP(2000), + FIGHT_PROP_CUR_ATTACK(2001), + FIGHT_PROP_CUR_DEFENSE(2002), + FIGHT_PROP_CUR_SPEED(2003), + FIGHT_PROP_NONEXTRA_ATTACK(3000), + FIGHT_PROP_NONEXTRA_DEFENSE(3001), + FIGHT_PROP_NONEXTRA_CRITICAL(3002), + FIGHT_PROP_NONEXTRA_ANTI_CRITICAL(3003), + FIGHT_PROP_NONEXTRA_CRITICAL_HURT(3004), + FIGHT_PROP_NONEXTRA_CHARGE_EFFICIENCY(3005), + FIGHT_PROP_NONEXTRA_ELEMENT_MASTERY(3006), + FIGHT_PROP_NONEXTRA_PHYSICAL_SUB_HURT(3007), + FIGHT_PROP_NONEXTRA_FIRE_ADD_HURT(3008), + FIGHT_PROP_NONEXTRA_ELEC_ADD_HURT(3009), + FIGHT_PROP_NONEXTRA_WATER_ADD_HURT(3010), + FIGHT_PROP_NONEXTRA_GRASS_ADD_HURT(3011), + FIGHT_PROP_NONEXTRA_WIND_ADD_HURT(3012), + FIGHT_PROP_NONEXTRA_ROCK_ADD_HURT(3013), + FIGHT_PROP_NONEXTRA_ICE_ADD_HURT(3014), + FIGHT_PROP_NONEXTRA_FIRE_SUB_HURT(3015), + FIGHT_PROP_NONEXTRA_ELEC_SUB_HURT(3016), + FIGHT_PROP_NONEXTRA_WATER_SUB_HURT(3017), + FIGHT_PROP_NONEXTRA_GRASS_SUB_HURT(3018), + FIGHT_PROP_NONEXTRA_WIND_SUB_HURT(3019), + FIGHT_PROP_NONEXTRA_ROCK_SUB_HURT(3020), + FIGHT_PROP_NONEXTRA_ICE_SUB_HURT(3021), + FIGHT_PROP_NONEXTRA_SKILL_CD_MINUS_RATIO(3022), + FIGHT_PROP_NONEXTRA_SHIELD_COST_MINUS_RATIO(3023), + FIGHT_PROP_NONEXTRA_PHYSICAL_ADD_HURT(3024); + + private final int id; + private static final Int2ObjectMap map = new Int2ObjectOpenHashMap<>(); + private static final Map stringMap = new HashMap<>(); + + public static final int[] fightProps = new int[] {1, 4, 7, 20, 21, 22, 23, 26, 27, 28, 29, 30, 40, 41, 42, 43, 44, 45, 46, 50, 51, 52, 53, 54, 55, 56, 2000, 2001, 2002, 2003, 1010}; + + static { + Stream.of(values()).forEach(e -> { + map.put(e.getId(), e); + stringMap.put(e.name(), e); + }); + } + + private FightProperty(int id) { + this.id = id; + } + + public int getId() { + return id; + } + + public static FightProperty getPropById(int value) { + return map.getOrDefault(value, FIGHT_PROP_NONE); + } + + public static FightProperty getPropByName(String name) { + return stringMap.getOrDefault(name, FIGHT_PROP_NONE); + } +} diff --git a/src/main/java/emu/grasscutter/game/props/GrowCurve.java b/src/main/java/emu/grasscutter/game/props/GrowCurve.java new file mode 100644 index 00000000..e3a369f3 --- /dev/null +++ b/src/main/java/emu/grasscutter/game/props/GrowCurve.java @@ -0,0 +1,100 @@ +package emu.grasscutter.game.props; + +import java.util.HashMap; +import java.util.Map; +import java.util.stream.Stream; + +import it.unimi.dsi.fastutil.ints.Int2ObjectMap; +import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap; + +public enum GrowCurve { + GROW_CURVE_NONE(0), + GROW_CURVE_HP(1), + GROW_CURVE_ATTACK(2), + GROW_CURVE_STAMINA(3), + GROW_CURVE_STRIKE(4), + GROW_CURVE_ANTI_STRIKE(5), + GROW_CURVE_ANTI_STRIKE1(6), + GROW_CURVE_ANTI_STRIKE2(7), + GROW_CURVE_ANTI_STRIKE3(8), + GROW_CURVE_STRIKE_HURT(9), + GROW_CURVE_ELEMENT(10), + GROW_CURVE_KILL_EXP(11), + GROW_CURVE_DEFENSE(12), + GROW_CURVE_ATTACK_BOMB(13), + GROW_CURVE_HP_LITTLEMONSTER(14), + GROW_CURVE_ELEMENT_MASTERY(15), + GROW_CURVE_PROGRESSION(16), + GROW_CURVE_DEFENDING(17), + GROW_CURVE_MHP(18), + GROW_CURVE_MATK(19), + GROW_CURVE_TOWERATK(20), + GROW_CURVE_HP_S5(21), + GROW_CURVE_HP_S4(22), + GROW_CURVE_HP_2(23), + GROW_CURVE_ATTACK_S5(31), + GROW_CURVE_ATTACK_S4(32), + GROW_CURVE_ATTACK_S3(33), + GROW_CURVE_STRIKE_S5(34), + GROW_CURVE_DEFENSE_S5(41), + GROW_CURVE_DEFENSE_S4(42), + GROW_CURVE_ATTACK_101(1101), + GROW_CURVE_ATTACK_102(1102), + GROW_CURVE_ATTACK_103(1103), + GROW_CURVE_ATTACK_104(1104), + GROW_CURVE_ATTACK_105(1105), + GROW_CURVE_ATTACK_201(1201), + GROW_CURVE_ATTACK_202(1202), + GROW_CURVE_ATTACK_203(1203), + GROW_CURVE_ATTACK_204(1204), + GROW_CURVE_ATTACK_205(1205), + GROW_CURVE_ATTACK_301(1301), + GROW_CURVE_ATTACK_302(1302), + GROW_CURVE_ATTACK_303(1303), + GROW_CURVE_ATTACK_304(1304), + GROW_CURVE_ATTACK_305(1305), + GROW_CURVE_CRITICAL_101(2101), + GROW_CURVE_CRITICAL_102(2102), + GROW_CURVE_CRITICAL_103(2103), + GROW_CURVE_CRITICAL_104(2104), + GROW_CURVE_CRITICAL_105(2105), + GROW_CURVE_CRITICAL_201(2201), + GROW_CURVE_CRITICAL_202(2202), + GROW_CURVE_CRITICAL_203(2203), + GROW_CURVE_CRITICAL_204(2204), + GROW_CURVE_CRITICAL_205(2205), + GROW_CURVE_CRITICAL_301(2301), + GROW_CURVE_CRITICAL_302(2302), + GROW_CURVE_CRITICAL_303(2303), + GROW_CURVE_CRITICAL_304(2304), + GROW_CURVE_CRITICAL_305(2305); + + private final int id; + private static final Int2ObjectMap map = new Int2ObjectOpenHashMap<>(); + private static final Map stringMap = new HashMap<>(); + + public static final int[] fightProps = new int[] {1, 4, 7, 20, 21, 22, 23, 26, 27, 28, 29, 30, 40, 41, 42, 43, 44, 45, 46, 50, 51, 52, 53, 54, 55, 56, 2000, 2001, 2002, 2003, 1010}; + + static { + Stream.of(values()).forEach(e -> { + map.put(e.getId(), e); + stringMap.put(e.name(), e); + }); + } + + private GrowCurve(int id) { + this.id = id; + } + + public int getId() { + return id; + } + + public static GrowCurve getPropById(int value) { + return map.getOrDefault(value, GROW_CURVE_NONE); + } + + public static GrowCurve getPropByName(String name) { + return stringMap.getOrDefault(name, GROW_CURVE_NONE); + } +} diff --git a/src/main/java/emu/grasscutter/game/props/LifeState.java b/src/main/java/emu/grasscutter/game/props/LifeState.java new file mode 100644 index 00000000..3d3ba79e --- /dev/null +++ b/src/main/java/emu/grasscutter/game/props/LifeState.java @@ -0,0 +1,42 @@ +package emu.grasscutter.game.props; + +import java.util.HashMap; +import java.util.Map; +import java.util.stream.Stream; + +import it.unimi.dsi.fastutil.ints.Int2ObjectMap; +import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap; + +public enum LifeState { + LIFE_NONE(0), + LIFE_ALIVE(1), + LIFE_DEAD(2), + LIFE_REVIVE(3); + + private final int value; + private static final Int2ObjectMap map = new Int2ObjectOpenHashMap<>(); + private static final Map stringMap = new HashMap<>(); + + static { + Stream.of(values()).forEach(e -> { + map.put(e.getValue(), e); + stringMap.put(e.name(), e); + }); + } + + private LifeState(int value) { + this.value = value; + } + + public int getValue() { + return value; + } + + public static LifeState getTypeByValue(int value) { + return map.getOrDefault(value, LIFE_NONE); + } + + public static LifeState getTypeByName(String name) { + return stringMap.getOrDefault(name, LIFE_NONE); + } +} diff --git a/src/main/java/emu/grasscutter/game/props/OpenState.java b/src/main/java/emu/grasscutter/game/props/OpenState.java new file mode 100644 index 00000000..7cba2fcf --- /dev/null +++ b/src/main/java/emu/grasscutter/game/props/OpenState.java @@ -0,0 +1,204 @@ +package emu.grasscutter.game.props; + +import java.util.HashMap; +import java.util.Map; +import java.util.stream.Stream; + +import it.unimi.dsi.fastutil.ints.Int2ObjectMap; +import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap; + +public enum OpenState { + OPEN_STATE_NONE(0), + OPEN_STATE_PAIMON(1), + OPEN_STATE_PAIMON_NAVIGATION(2), + OPEN_STATE_AVATAR_PROMOTE(3), + OPEN_STATE_AVATAR_TALENT(4), + OPEN_STATE_WEAPON_PROMOTE(5), + OPEN_STATE_WEAPON_AWAKEN(6), + OPEN_STATE_QUEST_REMIND(7), + OPEN_STATE_GAME_GUIDE(8), + OPEN_STATE_COOK(9), + OPEN_STATE_WEAPON_UPGRADE(10), + OPEN_STATE_RELIQUARY_UPGRADE(11), + OPEN_STATE_RELIQUARY_PROMOTE(12), + OPEN_STATE_WEAPON_PROMOTE_GUIDE(13), + OPEN_STATE_WEAPON_CHANGE_GUIDE(14), + OPEN_STATE_PLAYER_LVUP_GUIDE(15), + OPEN_STATE_FRESHMAN_GUIDE(16), + OPEN_STATE_SKIP_FRESHMAN_GUIDE(17), + OPEN_STATE_GUIDE_MOVE_CAMERA(18), + OPEN_STATE_GUIDE_SCALE_CAMERA(19), + OPEN_STATE_GUIDE_KEYBOARD(20), + OPEN_STATE_GUIDE_MOVE(21), + OPEN_STATE_GUIDE_JUMP(22), + OPEN_STATE_GUIDE_SPRINT(23), + OPEN_STATE_GUIDE_MAP(24), + OPEN_STATE_GUIDE_ATTACK(25), + OPEN_STATE_GUIDE_FLY(26), + OPEN_STATE_GUIDE_TALENT(27), + OPEN_STATE_GUIDE_RELIC(28), + OPEN_STATE_GUIDE_RELIC_PROM(29), + OPEN_STATE_COMBINE(30), + OPEN_STATE_GACHA(31), + OPEN_STATE_GUIDE_GACHA(32), + OPEN_STATE_GUIDE_TEAM(33), + OPEN_STATE_GUIDE_PROUD(34), + OPEN_STATE_GUIDE_AVATAR_PROMOTE(35), + OPEN_STATE_GUIDE_ADVENTURE_CARD(36), + OPEN_STATE_FORGE(37), + OPEN_STATE_GUIDE_BAG(38), + OPEN_STATE_EXPEDITION(39), + OPEN_STATE_GUIDE_ADVENTURE_DAILYTASK(40), + OPEN_STATE_GUIDE_ADVENTURE_DUNGEON(41), + OPEN_STATE_TOWER(42), + OPEN_STATE_WORLD_STAMINA(43), + OPEN_STATE_TOWER_FIRST_ENTER(44), + OPEN_STATE_RESIN(45), + OPEN_STATE_LIMIT_REGION_FRESHMEAT(47), + OPEN_STATE_LIMIT_REGION_GLOBAL(48), + OPEN_STATE_MULTIPLAYER(49), + OPEN_STATE_GUIDE_MOUSEPC(50), + OPEN_STATE_GUIDE_MULTIPLAYER(51), + OPEN_STATE_GUIDE_DUNGEONREWARD(52), + OPEN_STATE_GUIDE_BLOSSOM(53), + OPEN_STATE_AVATAR_FASHION(54), + OPEN_STATE_PHOTOGRAPH(55), + OPEN_STATE_GUIDE_KSLQUEST(56), + OPEN_STATE_PERSONAL_LINE(57), + OPEN_STATE_GUIDE_PERSONAL_LINE(58), + OPEN_STATE_GUIDE_APPEARANCE(59), + OPEN_STATE_GUIDE_PROCESS(60), + OPEN_STATE_GUIDE_PERSONAL_LINE_KEY(61), + OPEN_STATE_GUIDE_WIDGET(62), + OPEN_STATE_GUIDE_ACTIVITY_SKILL_ASTER(63), + OPEN_STATE_GUIDE_COLDCLIMATE(64), + OPEN_STATE_DERIVATIVE_MALL(65), + OPEN_STATE_GUIDE_EXITMULTIPLAYER(66), + OPEN_STATE_GUIDE_THEATREMACHANICUS_BUILD(67), + OPEN_STATE_GUIDE_THEATREMACHANICUS_REBUILD(68), + OPEN_STATE_GUIDE_THEATREMACHANICUS_CARD(69), + OPEN_STATE_GUIDE_THEATREMACHANICUS_MONSTER(70), + OPEN_STATE_GUIDE_THEATREMACHANICUS_MISSION_CHECK(71), + OPEN_STATE_GUIDE_THEATREMACHANICUS_BUILD_SELECT(72), + OPEN_STATE_GUIDE_THEATREMACHANICUS_CHALLENGE_START(73), + OPEN_STATE_GUIDE_CONVERT(74), + OPEN_STATE_GUIDE_THEATREMACHANICUS_MULTIPLAYER(75), + OPEN_STATE_GUIDE_COOP_TASK(76), + OPEN_STATE_GUIDE_HOMEWORLD_ADEPTIABODE(77), + OPEN_STATE_GUIDE_HOMEWORLD_DEPLOY(78), + OPEN_STATE_GUIDE_CHANNELLERSLAB_EQUIP(79), + OPEN_STATE_GUIDE_CHANNELLERSLAB_MP_SOLUTION(80), + OPEN_STATE_GUIDE_CHANNELLERSLAB_POWER(81), + OPEN_STATE_GUIDE_HIDEANDSEEK_SKILL(82), + OPEN_STATE_GUIDE_HOMEWORLD_MAPLIST(83), + OPEN_STATE_GUIDE_RELICRESOLVE(84), + OPEN_STATE_GUIDE_GGUIDE(85), + OPEN_STATE_GUIDE_GGUIDE_HINT(86), + OPEN_STATE_CITY_REPUATION_MENGDE(800), + OPEN_STATE_CITY_REPUATION_LIYUE(801), + OPEN_STATE_CITY_REPUATION_UI_HINT(802), + OPEN_STATE_CITY_REPUATION_INAZUMA(803), + OPEN_STATE_SHOP_TYPE_MALL(900), + OPEN_STATE_SHOP_TYPE_RECOMMANDED(901), + OPEN_STATE_SHOP_TYPE_GENESISCRYSTAL(902), + OPEN_STATE_SHOP_TYPE_GIFTPACKAGE(903), + OPEN_STATE_SHOP_TYPE_PAIMON(1001), + OPEN_STATE_SHOP_TYPE_CITY(1002), + OPEN_STATE_SHOP_TYPE_BLACKSMITH(1003), + OPEN_STATE_SHOP_TYPE_GROCERY(1004), + OPEN_STATE_SHOP_TYPE_FOOD(1005), + OPEN_STATE_SHOP_TYPE_SEA_LAMP(1006), + OPEN_STATE_SHOP_TYPE_VIRTUAL_SHOP(1007), + OPEN_STATE_SHOP_TYPE_LIYUE_GROCERY(1008), + OPEN_STATE_SHOP_TYPE_LIYUE_SOUVENIR(1009), + OPEN_STATE_SHOP_TYPE_LIYUE_RESTAURANT(1010), + OPEN_STATE_SHOP_TYPE_INAZUMA_SOUVENIR(1011), + OPEN_STATE_SHOP_TYPE_NPC_TOMOKI(1012), + OPEN_ADVENTURE_MANUAL(1100), + OPEN_ADVENTURE_MANUAL_CITY_MENGDE(1101), + OPEN_ADVENTURE_MANUAL_CITY_LIYUE(1102), + OPEN_ADVENTURE_MANUAL_MONSTER(1103), + OPEN_ADVENTURE_MANUAL_BOSS_DUNGEON(1104), + OPEN_STATE_ACTIVITY_SEALAMP(1200), + OPEN_STATE_ACTIVITY_SEALAMP_TAB2(1201), + OPEN_STATE_ACTIVITY_SEALAMP_TAB3(1202), + OPEN_STATE_BATTLE_PASS(1300), + OPEN_STATE_BATTLE_PASS_ENTRY(1301), + OPEN_STATE_ACTIVITY_CRUCIBLE(1400), + OPEN_STATE_ACTIVITY_NEWBEEBOUNS_OPEN(1401), + OPEN_STATE_ACTIVITY_NEWBEEBOUNS_CLOSE(1402), + OPEN_STATE_ACTIVITY_ENTRY_OPEN(1403), + OPEN_STATE_MENGDE_INFUSEDCRYSTAL(1404), + OPEN_STATE_LIYUE_INFUSEDCRYSTAL(1405), + OPEN_STATE_SNOW_MOUNTAIN_ELDER_TREE(1406), + OPEN_STATE_MIRACLE_RING(1407), + OPEN_STATE_COOP_LINE(1408), + OPEN_STATE_INAZUMA_INFUSEDCRYSTAL(1409), + OPEN_STATE_FISH(1410), + OPEN_STATE_GUIDE_SUMO_TEAM_SKILL(1411), + OPEN_STATE_GUIDE_FISH_RECIPE(1412), + OPEN_STATE_HOME(1500), + OPEN_STATE_ACTIVITY_HOMEWORLD(1501), + OPEN_STATE_ADEPTIABODE(1502), + OPEN_STATE_HOME_AVATAR(1503), + OPEN_STATE_HOME_EDIT(1504), + OPEN_STATE_HOME_EDIT_TIPS(1505), + OPEN_STATE_RELIQUARY_DECOMPOSE(1600), + OPEN_STATE_ACTIVITY_H5(1700), + OPEN_STATE_ORAIONOKAMI(2000), + OPEN_STATE_GUIDE_CHESS_MISSION_CHECK(2001), + OPEN_STATE_GUIDE_CHESS_BUILD(2002), + OPEN_STATE_GUIDE_CHESS_WIND_TOWER_CIRCLE(2003), + OPEN_STATE_GUIDE_CHESS_CARD_SELECT(2004), + OPEN_STATE_INAZUMA_MAINQUEST_FINISHED(2005), + OPEN_STATE_PAIMON_LVINFO(2100), + OPEN_STATE_TELEPORT_HUD(2101), + OPEN_STATE_GUIDE_MAP_UNLOCK(2102), + OPEN_STATE_GUIDE_PAIMON_LVINFO(2103), + OPEN_STATE_GUIDE_AMBORTRANSPORT(2104), + OPEN_STATE_GUIDE_FLY_SECOND(2105), + OPEN_STATE_GUIDE_KAEYA_CLUE(2106), + OPEN_STATE_CAPTURE_CODEX(2107), + OPEN_STATE_ACTIVITY_FISH_OPEN(2200), + OPEN_STATE_ACTIVITY_FISH_CLOSE(2201), + OPEN_STATE_GUIDE_ROGUE_MAP(2205), + OPEN_STATE_GUIDE_ROGUE_RUNE(2206), + OPEN_STATE_GUIDE_BARTENDER_FORMULA(2210), + OPEN_STATE_GUIDE_BARTENDER_MIX(2211), + OPEN_STATE_GUIDE_BARTENDER_CUP(2212), + OPEN_STATE_GUIDE_MAIL_FAVORITES(2400), + OPEN_STATE_GUIDE_POTION_CONFIGURE(2401), + OPEN_STATE_GUIDE_LANV2_FIREWORK(2402), + OPEN_STATE_LOADINGTIPS_ENKANOMIYA(2403), + OPEN_STATE_MICHIAE_CASKET(2500), + OPEN_STATE_MAIL_COLLECT_UNLOCK_RED_POINT(2501), + OPEN_STATE_LUMEN_STONE(2600), + OPEN_STATE_GUIDE_CRYSTALLINK_BUFF(2601); + + private final int value; + private static final Int2ObjectMap map = new Int2ObjectOpenHashMap<>(); + private static final Map stringMap = new HashMap<>(); + + static { + Stream.of(values()).forEach(e -> { + map.put(e.getValue(), e); + stringMap.put(e.name(), e); + }); + } + + private OpenState(int value) { + this.value = value; + } + + public int getValue() { + return value; + } + + public static OpenState getTypeByValue(int value) { + return map.getOrDefault(value, OPEN_STATE_NONE); + } + + public static OpenState getTypeByName(String name) { + return stringMap.getOrDefault(name, OPEN_STATE_NONE); + } +} diff --git a/src/main/java/emu/grasscutter/game/props/PlayerProperty.java b/src/main/java/emu/grasscutter/game/props/PlayerProperty.java new file mode 100644 index 00000000..9369c160 --- /dev/null +++ b/src/main/java/emu/grasscutter/game/props/PlayerProperty.java @@ -0,0 +1,70 @@ +package emu.grasscutter.game.props; + +import java.util.stream.Stream; + +import it.unimi.dsi.fastutil.ints.Int2ObjectMap; +import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap; + +public enum PlayerProperty { + PROP_EXP (1001), + PROP_BREAK_LEVEL (1002), + PROP_SATIATION_VAL (1003), + PROP_SATIATION_PENALTY_TIME (1004), + PROP_LEVEL (4001), + PROP_LAST_CHANGE_AVATAR_TIME (10001), + PROP_MAX_SPRING_VOLUME (10002), + PROP_CUR_SPRING_VOLUME (10003), + PROP_IS_SPRING_AUTO_USE (10004), + PROP_SPRING_AUTO_USE_PERCENT (10005), + PROP_IS_FLYABLE (10006), + PROP_IS_WEATHER_LOCKED (10007), + PROP_IS_GAME_TIME_LOCKED (10008), + PROP_IS_TRANSFERABLE (10009), + PROP_MAX_STAMINA (10010), + PROP_CUR_PERSIST_STAMINA (10011), + PROP_CUR_TEMPORARY_STAMINA (10012), + PROP_PLAYER_LEVEL (10013), + PROP_PLAYER_EXP (10014), + PROP_PLAYER_HCOIN (10015), // Primogem + PROP_PLAYER_SCOIN (10016), // Mora + PROP_PLAYER_MP_SETTING_TYPE (10017), + PROP_IS_MP_MODE_AVAILABLE (10018), + PROP_PLAYER_WORLD_LEVEL (10019), + PROP_PLAYER_RESIN (10020), + PROP_PLAYER_WAIT_SUB_HCOIN (10022), + PROP_PLAYER_WAIT_SUB_SCOIN (10023), + PROP_IS_ONLY_MP_WITH_PS_PLAYER (10024), + PROP_PLAYER_MCOIN (10025), // Genesis Crystal + PROP_PLAYER_WAIT_SUB_MCOIN (10026), + PROP_PLAYER_LEGENDARY_KEY (10027), + PROP_IS_HAS_FIRST_SHARE (10028), + PROP_PLAYER_FORGE_POINT (10029), + PROP_CUR_CLIMATE_METER (10035), + PROP_CUR_CLIMATE_TYPE (10036), + PROP_CUR_CLIMATE_AREA_ID (10037), + PROP_CUR_CLIMATE_AREA_CLIMATE_TYPE (10038), + PROP_PLAYER_WORLD_LEVEL_LIMIT (10039), + PROP_PLAYER_WORLD_LEVEL_ADJUST_CD (10040), + PROP_PLAYER_LEGENDARY_DAILY_TASK_NUM (10041), + PROP_PLAYER_HOME_COIN (10042), + PROP_PLAYER_WAIT_SUB_HOME_COIN (10043); + + private final int id; + private static final Int2ObjectMap map = new Int2ObjectOpenHashMap<>(); + + static { + Stream.of(values()).forEach(e -> map.put(e.getId(), e)); + } + + private PlayerProperty(int id) { + this.id = id; + } + + public int getId() { + return id; + } + + public static PlayerProperty getPropById(int value) { + return map.getOrDefault(value, null); + } +} diff --git a/src/main/java/emu/grasscutter/game/shop/ShopInfo.java b/src/main/java/emu/grasscutter/game/shop/ShopInfo.java new file mode 100644 index 00000000..768a3a7c --- /dev/null +++ b/src/main/java/emu/grasscutter/game/shop/ShopInfo.java @@ -0,0 +1,5 @@ +package emu.grasscutter.game.shop; + +public class ShopInfo { + +} diff --git a/src/main/java/emu/grasscutter/game/shop/ShopManager.java b/src/main/java/emu/grasscutter/game/shop/ShopManager.java new file mode 100644 index 00000000..a21888f2 --- /dev/null +++ b/src/main/java/emu/grasscutter/game/shop/ShopManager.java @@ -0,0 +1,15 @@ +package emu.grasscutter.game.shop; + +import emu.grasscutter.server.game.GameServer; + +public class ShopManager { + private final GameServer server; + + public ShopManager(GameServer server) { + this.server = server; + } + + public GameServer getServer() { + return server; + } +} diff --git a/src/main/java/emu/grasscutter/net/packet/GenshinPacket.java b/src/main/java/emu/grasscutter/net/packet/GenshinPacket.java new file mode 100644 index 00000000..158c0d3c --- /dev/null +++ b/src/main/java/emu/grasscutter/net/packet/GenshinPacket.java @@ -0,0 +1,141 @@ +package emu.grasscutter.net.packet; + +import java.io.ByteArrayOutputStream; +import java.io.IOException; + +import com.google.protobuf.GeneratedMessageV3; +import emu.grasscutter.net.proto.PacketHeadOuterClass.PacketHead; +import emu.grasscutter.utils.Crypto; + +public class GenshinPacket { + private static final int const1 = 17767; // 0x4567 + private static final int const2 = -30293; // 0x89ab + + private int opcode; + private boolean shouldBuildHeader = false; + + private byte[] header; + private byte[] data; + + // Encryption + private boolean useDispatchKey; + public boolean shouldEncrypt = true; + + public GenshinPacket(int opcode) { + this.opcode = opcode; + } + + public GenshinPacket(int opcode, int clientSequence) { + this.opcode = opcode; + this.buildHeader(clientSequence); + } + + public GenshinPacket(int opcode, boolean buildHeader) { + this.opcode = opcode; + this.shouldBuildHeader = buildHeader; + } + + public int getOpcode() { + return opcode; + } + + public void setOpcode(int opcode) { + this.opcode = opcode; + } + + public boolean useDispatchKey() { + return useDispatchKey; + } + + public void setUseDispatchKey(boolean useDispatchKey) { + this.useDispatchKey = useDispatchKey; + } + + public byte[] getHeader() { + return header; + } + + public void setHeader(byte[] header) { + this.header = header; + } + + public boolean shouldBuildHeader() { + return shouldBuildHeader; + } + + public byte[] getData() { + return data; + } + + public void setData(byte[] data) { + this.data = data; + } + + public void setData(GeneratedMessageV3 proto) { + this.data = proto.toByteArray(); + } + + @SuppressWarnings("rawtypes") + public void setData(GeneratedMessageV3.Builder proto) { + this.data = proto.build().toByteArray(); + } + + public GenshinPacket buildHeader(int clientSequence) { + if (this.getHeader() != null && clientSequence == 0) { + return this; + } + setHeader(PacketHead.newBuilder().setClientSequenceId(clientSequence).setTimestamp(System.currentTimeMillis()).build().toByteArray()); + return this; + } + + public byte[] build() { + if (getHeader() == null) { + this.header = new byte[0]; + } + + if (getData() == null) { + this.data = new byte[0]; + } + + ByteArrayOutputStream baos = new ByteArrayOutputStream(2 + 2 + 2 + 4 + getHeader().length + getData().length + 2); + + this.writeUint16(baos, const1); + this.writeUint16(baos, opcode); + this.writeUint16(baos, header.length); + this.writeUint32(baos, data.length); + this.writeBytes(baos, header); + this.writeBytes(baos, data); + this.writeUint16(baos, const2); + + byte[] packet = baos.toByteArray(); + + if (this.shouldEncrypt) { + Crypto.xor(packet, this.useDispatchKey() ? Crypto.DISPATCH_KEY : Crypto.ENCRYPT_KEY); + } + + return packet; + } + + public void writeUint16(ByteArrayOutputStream baos, int i) { + // Unsigned short + baos.write((byte) ((i >>> 8) & 0xFF)); + baos.write((byte) (i & 0xFF)); + } + + public void writeUint32(ByteArrayOutputStream baos, int i) { + // Unsigned int (long) + baos.write((byte) ((i >>> 24) & 0xFF)); + baos.write((byte) ((i >>> 16) & 0xFF)); + baos.write((byte) ((i >>> 8) & 0xFF)); + baos.write((byte) (i & 0xFF)); + } + + public void writeBytes(ByteArrayOutputStream baos, byte[] bytes) { + try { + baos.write(bytes); + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } +} diff --git a/src/main/java/emu/grasscutter/net/packet/Opcodes.java b/src/main/java/emu/grasscutter/net/packet/Opcodes.java new file mode 100644 index 00000000..0f818e35 --- /dev/null +++ b/src/main/java/emu/grasscutter/net/packet/Opcodes.java @@ -0,0 +1,13 @@ +package emu.grasscutter.net.packet; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.RUNTIME) +public @interface Opcodes { + /** Opcode for the packet/handler */ + int value(); + + /** HANDLER ONLY - will disable this handler from being registered */ + boolean disabled() default false; +} diff --git a/src/main/java/emu/grasscutter/net/packet/PacketHandler.java b/src/main/java/emu/grasscutter/net/packet/PacketHandler.java new file mode 100644 index 00000000..c8fbc3a8 --- /dev/null +++ b/src/main/java/emu/grasscutter/net/packet/PacketHandler.java @@ -0,0 +1,9 @@ +package emu.grasscutter.net.packet; + +import emu.grasscutter.server.game.GameSession; + +public abstract class PacketHandler { + protected static final byte[] EMPTY_BYTE_ARRAY = new byte[0]; + + public abstract void handle(GameSession session, byte[] header, byte[] payload) throws Exception; +} diff --git a/src/main/java/emu/grasscutter/net/packet/PacketOpcodes.java b/src/main/java/emu/grasscutter/net/packet/PacketOpcodes.java new file mode 100644 index 00000000..1399a692 --- /dev/null +++ b/src/main/java/emu/grasscutter/net/packet/PacketOpcodes.java @@ -0,0 +1,1211 @@ +package emu.grasscutter.net.packet; + +public class PacketOpcodes { + // Empty + public static final int NONE = 0; + + // Opcodes + public static final int AbilityChangeNotify = 1179; + public static final int AbilityInvocationFailNotify = 1137; + public static final int AbilityInvocationFixedNotify = 1160; + public static final int AbilityInvocationsNotify = 1133; + public static final int AcceptCityReputationRequestReq = 2845; + public static final int AcceptCityReputationRequestRsp = 2875; + public static final int AchievementAllDataNotify = 1155; + public static final int AchievementUpdateNotify = 1146; + public static final int ActivityCoinInfoNotify = 2056; + public static final int ActivityCondStateChangeNotify = 2162; + public static final int ActivityInfoNotify = 2023; + public static final int ActivityPlayOpenAnimNotify = 2164; + public static final int ActivitySaleChangeNotify = 2043; + public static final int ActivityScheduleInfoNotify = 2187; + public static final int ActivitySelectAvatarCardReq = 2153; + public static final int ActivitySelectAvatarCardRsp = 2069; + public static final int ActivityTakeAllScoreRewardRsp = 8836; + public static final int ActivityTakeWatcherRewardBatchReq = 2027; + public static final int ActivityTakeWatcherRewardBatchRsp = 2036; + public static final int ActivityTakeWatcherRewardReq = 2074; + public static final int ActivityTakeWatcherRewardRsp = 2180; + public static final int ActivityUpdateWatcherNotify = 2101; + public static final int AddBlacklistReq = 4067; + public static final int AddBlacklistRsp = 4020; + public static final int AddFriendNotify = 4026; + public static final int AddNoGachaAvatarCardNotify = 1740; + public static final int AddQuestContentProgressReq = 493; + public static final int AddQuestContentProgressRsp = 444; + public static final int AddRandTaskInfoNotify = 147; + public static final int AddSeenMonsterNotify = 242; + public static final int AdjustWorldLevelReq = 104; + public static final int AdjustWorldLevelRsp = 106; + public static final int AllCoopInfoNotify = 1985; + public static final int AllMarkPointNotify = 3462; + public static final int AllSeenMonsterNotify = 276; + public static final int AllWidgetDataNotify = 4284; + public static final int AnchorPointDataNotify = 4285; + public static final int AnchorPointOpReq = 4298; + public static final int AnchorPointOpRsp = 4263; + public static final int AnimatorForceSetAirMoveNotify = 308; + public static final int AntiAddictNotify = 177; + public static final int ArenaChallengeFinishNotify = 2083; + public static final int AskAddFriendNotify = 4062; + public static final int AskAddFriendReq = 4037; + public static final int AskAddFriendRsp = 4093; + public static final int AsterLargeInfoNotify = 2133; + public static final int AsterLittleInfoNotify = 2058; + public static final int AsterMidCampInfoNotify = 2115; + public static final int AsterMidInfoNotify = 2151; + public static final int AsterMiscInfoNotify = 2098; + public static final int AsterProgressInfoNotify = 2065; + public static final int AvatarAddNotify = 1759; + public static final int AvatarBuffAddNotify = 367; + public static final int AvatarBuffDelNotify = 320; + public static final int AvatarCardChangeReq = 667; + public static final int AvatarCardChangeRsp = 620; + public static final int AvatarChangeCostumeNotify = 1748; + public static final int AvatarChangeCostumeReq = 1650; + public static final int AvatarChangeCostumeRsp = 1632; + public static final int AvatarChangeElementTypeReq = 1741; + public static final int AvatarChangeElementTypeRsp = 1626; + public static final int AvatarDataNotify = 1757; + public static final int AvatarDelNotify = 1624; + public static final int AvatarDieAnimationEndReq = 1635; + public static final int AvatarDieAnimationEndRsp = 1638; + public static final int AvatarEnterElementViewNotify = 366; + public static final int AvatarEquipAffixStartNotify = 1734; + public static final int AvatarEquipChangeNotify = 674; + public static final int AvatarExpeditionAllDataReq = 1721; + public static final int AvatarExpeditionAllDataRsp = 1800; + public static final int AvatarExpeditionCallBackReq = 1607; + public static final int AvatarExpeditionCallBackRsp = 1783; + public static final int AvatarExpeditionDataNotify = 1777; + public static final int AvatarExpeditionGetRewardReq = 1604; + public static final int AvatarExpeditionGetRewardRsp = 1731; + public static final int AvatarExpeditionStartReq = 1788; + public static final int AvatarExpeditionStartRsp = 1786; + public static final int AvatarFetterDataNotify = 1718; + public static final int AvatarFetterLevelRewardReq = 1717; + public static final int AvatarFetterLevelRewardRsp = 1690; + public static final int AvatarFightPropNotify = 1237; + public static final int AvatarFightPropUpdateNotify = 1293; + public static final int AvatarFlycloakChangeNotify = 1761; + public static final int AvatarFollowRouteNotify = 3210; + public static final int AvatarGainCostumeNotify = 1778; + public static final int AvatarGainFlycloakNotify = 1676; + public static final int AvatarLifeStateChangeNotify = 1245; + public static final int AvatarPromoteGetRewardReq = 1784; + public static final int AvatarPromoteGetRewardRsp = 1776; + public static final int AvatarPromoteReq = 1661; + public static final int AvatarPromoteRsp = 1712; + public static final int AvatarPropChangeReasonNotify = 1275; + public static final int AvatarPropNotify = 1279; + public static final int AvatarSatiationDataNotify = 1639; + public static final int AvatarSkillChangeNotify = 1088; + public static final int AvatarSkillDepotChangeNotify = 1015; + public static final int AvatarSkillInfoNotify = 1045; + public static final int AvatarSkillMaxChargeCountNotify = 1044; + public static final int AvatarSkillUpgradeReq = 1091; + public static final int AvatarSkillUpgradeRsp = 1097; + public static final int AvatarTeamUpdateNotify = 1649; + public static final int AvatarUnlockTalentNotify = 1010; + public static final int AvatarUpgradeReq = 1660; + public static final int AvatarUpgradeRsp = 1735; + public static final int AvatarWearFlycloakReq = 1677; + public static final int AvatarWearFlycloakRsp = 1782; + public static final int BackMyWorldReq = 219; + public static final int BackMyWorldRsp = 269; + public static final int BargainOfferPriceReq = 409; + public static final int BargainOfferPriceRsp = 465; + public static final int BargainStartNotify = 489; + public static final int BargainTerminateNotify = 403; + public static final int BattlePassAllDataNotify = 2635; + public static final int BattlePassBuySuccNotify = 2612; + public static final int BattlePassCurScheduleUpdateNotify = 2648; + public static final int BattlePassMissionDelNotify = 2645; + public static final int BattlePassMissionUpdateNotify = 2625; + public static final int BeginCameraSceneLookNotify = 261; + public static final int BigTalentPointConvertReq = 1037; + public static final int BigTalentPointConvertRsp = 1093; + public static final int BlessingAcceptAllGivePicReq = 2176; + public static final int BlessingAcceptAllGivePicRsp = 2050; + public static final int BlessingAcceptGivePicReq = 2134; + public static final int BlessingAcceptGivePicRsp = 2117; + public static final int BlessingGetAllRecvPicRecordListReq = 2090; + public static final int BlessingGetAllRecvPicRecordListRsp = 2140; + public static final int BlessingGetFriendPicListReq = 2077; + public static final int BlessingGetFriendPicListRsp = 2182; + public static final int BlessingGiveFriendPicReq = 2161; + public static final int BlessingGiveFriendPicRsp = 2076; + public static final int BlessingRecvFriendPicNotify = 2184; + public static final int BlessingRedeemRewardReq = 2172; + public static final int BlessingRedeemRewardRsp = 2039; + public static final int BlessingScanReq = 2186; + public static final int BlessingScanRsp = 2007; + public static final int BlossomBriefInfoNotify = 2710; + public static final int BlossomChestCreateNotify = 2793; + public static final int BlossomChestInfoNotify = 845; + public static final int BonusActivityInfoReq = 2597; + public static final int BonusActivityInfoRsp = 2588; + public static final int BonusActivityUpdateNotify = 2591; + public static final int BossChestActivateNotify = 844; + public static final int BuyBattlePassLevelReq = 2639; + public static final int BuyBattlePassLevelRsp = 2621; + public static final int BuyGoodsReq = 710; + public static final int BuyGoodsRsp = 715; + public static final int BuyResinReq = 630; + public static final int BuyResinRsp = 647; + public static final int CalcWeaponUpgradeReturnItemsReq = 643; + public static final int CalcWeaponUpgradeReturnItemsRsp = 686; + public static final int CanUseSkillNotify = 1055; + public static final int CancelCityReputationRequestReq = 2834; + public static final int CancelCityReputationRequestRsp = 2879; + public static final int CancelCoopTaskReq = 1989; + public static final int CancelCoopTaskRsp = 1971; + public static final int CancelFinishParentQuestNotify = 492; + public static final int CardProductRewardNotify = 4148; + public static final int ChallengeDataNotify = 983; + public static final int ChallengeRecordNotify = 909; + public static final int ChangeAvatarReq = 1743; + public static final int ChangeAvatarRsp = 1672; + public static final int ChangeGameTimeReq = 175; + public static final int ChangeGameTimeRsp = 134; + public static final int ChangeMailStarNotify = 1497; + public static final int ChangeMpTeamAvatarReq = 1794; + public static final int ChangeMpTeamAvatarRsp = 1629; + public static final int ChangeTeamNameReq = 1793; + public static final int ChangeTeamNameRsp = 1707; + public static final int ChangeWorldToSingleModeNotify = 3293; + public static final int ChangeWorldToSingleModeReq = 3174; + public static final int ChangeWorldToSingleModeRsp = 3308; + public static final int ChapterStateNotify = 455; + public static final int ChatChannelDataNotify = 5047; + public static final int ChatChannelUpdateNotify = 5041; + public static final int ChatHistoryNotify = 3265; + public static final int CheckSegmentCRCNotify = 56; + public static final int CheckSegmentCRCReq = 83; + public static final int ChooseCurAvatarTeamReq = 1713; + public static final int ChooseCurAvatarTeamRsp = 1608; + public static final int CityReputationDataNotify = 2855; + public static final int CityReputationLevelupNotify = 2837; + public static final int ClientAIStateNotify = 1128; + public static final int ClientAbilitiesInitFinishCombineNotify = 1144; + public static final int ClientAbilityChangeNotify = 1191; + public static final int ClientAbilityInitBeginNotify = 1110; + public static final int ClientAbilityInitFinishNotify = 1115; + public static final int ClientCollectorDataNotify = 4262; + public static final int ClientLockGameTimeNotify = 194; + public static final int ClientNewMailNotify = 1434; + public static final int ClientPauseNotify = 278; + public static final int ClientReconnectNotify = 91; + public static final int ClientReportNotify = 28; + public static final int ClientScriptEventNotify = 218; + public static final int ClientTransmitReq = 252; + public static final int ClientTransmitRsp = 292; + public static final int ClientTriggerEventNotify = 197; + public static final int CloseCommonTipsNotify = 3187; + public static final int CodexDataFullNotify = 4204; + public static final int CodexDataUpdateNotify = 4205; + public static final int CombatInvocationsNotify = 347; + public static final int CombineDataNotify = 649; + public static final int CombineFormulaDataNotify = 685; + public static final int CombineReq = 663; + public static final int CombineRsp = 608; + public static final int CompoundDataNotify = 181; + public static final int CookDataNotify = 164; + public static final int CookGradeDataNotify = 166; + public static final int CookRecipeDataNotify = 101; + public static final int CoopCgShowNotify = 1983; + public static final int CoopCgUpdateNotify = 1993; + public static final int CoopChapterUpdateNotify = 1986; + public static final int CoopDataNotify = 1967; + public static final int CoopPointUpdateNotify = 1987; + public static final int CoopProgressUpdateNotify = 2000; + public static final int CoopRewardUpdateNotify = 1976; + public static final int CreateMassiveEntityNotify = 336; + public static final int CreateMassiveEntityReq = 323; + public static final int CreateMassiveEntityRsp = 313; + public static final int CutSceneBeginNotify = 241; + public static final int CutSceneEndNotify = 214; + public static final int CutSceneFinishNotify = 248; + public static final int DailyTaskDataNotify = 124; + public static final int DailyTaskProgressNotify = 161; + public static final int DailyTaskScoreRewardNotify = 138; + public static final int DataResVersionNotify = 136; + public static final int DealAddFriendReq = 4044; + public static final int DealAddFriendRsp = 4045; + public static final int DelMailReq = 1493; + public static final int DelMailRsp = 1444; + public static final int DelScenePlayTeamEntityNotify = 3117; + public static final int DelTeamEntityNotify = 330; + public static final int DeleteFriendNotify = 4083; + public static final int DeleteFriendReq = 4079; + public static final int DeleteFriendRsp = 4091; + public static final int DestroyMassiveEntityNotify = 324; + public static final int DestroyMaterialReq = 670; + public static final int DestroyMaterialRsp = 654; + public static final int DoGachaReq = 1510; + public static final int DoGachaRsp = 1515; + public static final int DoSetPlayerBornDataNotify = 174; + public static final int DraftGuestReplyInviteNotify = 5445; + public static final int DraftGuestReplyInviteReq = 5493; + public static final int DraftGuestReplyInviteRsp = 5444; + public static final int DraftGuestReplyTwiceConfirmNotify = 5488; + public static final int DraftGuestReplyTwiceConfirmReq = 5479; + public static final int DraftGuestReplyTwiceConfirmRsp = 5491; + public static final int DraftInviteResultNotify = 5475; + public static final int DraftOwnerInviteNotify = 5437; + public static final int DraftOwnerStartInviteReq = 5410; + public static final int DraftOwnerStartInviteRsp = 5415; + public static final int DraftOwnerTwiceConfirmNotify = 5434; + public static final int DraftTwiceConfirmResultNotify = 5497; + public static final int DragonSpineChapterFinishNotify = 2196; + public static final int DragonSpineChapterOpenNotify = 2070; + public static final int DragonSpineChapterProgressChangeNotify = 2001; + public static final int DragonSpineCoinChangeNotify = 2189; + public static final int DropHintNotify = 673; + public static final int DropItemReq = 634; + public static final int DropItemRsp = 679; + public static final int DropSubfieldReq = 232; + public static final int DropSubfieldRsp = 251; + public static final int DungeonCandidateTeamChangeAvatarReq = 958; + public static final int DungeonCandidateTeamChangeAvatarRsp = 923; + public static final int DungeonCandidateTeamCreateReq = 964; + public static final int DungeonCandidateTeamCreateRsp = 901; + public static final int DungeonCandidateTeamDismissNotify = 980; + public static final int DungeonCandidateTeamInfoNotify = 965; + public static final int DungeonCandidateTeamInviteNotify = 903; + public static final int DungeonCandidateTeamInviteReq = 966; + public static final int DungeonCandidateTeamInviteRsp = 973; + public static final int DungeonCandidateTeamKickReq = 963; + public static final int DungeonCandidateTeamKickRsp = 908; + public static final int DungeonCandidateTeamLeaveReq = 917; + public static final int DungeonCandidateTeamLeaveRsp = 981; + public static final int DungeonCandidateTeamPlayerLeaveNotify = 920; + public static final int DungeonCandidateTeamRefuseNotify = 967; + public static final int DungeonCandidateTeamReplyInviteReq = 927; + public static final int DungeonCandidateTeamReplyInviteRsp = 902; + public static final int DungeonCandidateTeamSetReadyReq = 952; + public static final int DungeonCandidateTeamSetReadyRsp = 992; + public static final int DungeonChallengeBeginNotify = 974; + public static final int DungeonChallengeFinishNotify = 956; + public static final int DungeonDataNotify = 946; + public static final int DungeonDieOptionReq = 991; + public static final int DungeonDieOptionRsp = 997; + public static final int DungeonEntryInfoReq = 960; + public static final int DungeonEntryInfoRsp = 933; + public static final int DungeonEntryToBeExploreNotify = 3067; + public static final int DungeonFollowNotify = 926; + public static final int DungeonGetStatueDropReq = 962; + public static final int DungeonGetStatueDropRsp = 989; + public static final int DungeonInterruptChallengeReq = 938; + public static final int DungeonInterruptChallengeRsp = 930; + public static final int DungeonPlayerDieNotify = 979; + public static final int DungeonPlayerDieReq = 928; + public static final int DungeonPlayerDieRsp = 955; + public static final int DungeonRestartInviteNotify = 984; + public static final int DungeonRestartInviteReplyNotify = 972; + public static final int DungeonRestartInviteReplyReq = 912; + public static final int DungeonRestartInviteReplyRsp = 953; + public static final int DungeonRestartReq = 932; + public static final int DungeonRestartResultNotify = 970; + public static final int DungeonRestartRsp = 951; + public static final int DungeonSettleNotify = 934; + public static final int DungeonShowReminderNotify = 988; + public static final int DungeonSlipRevivePointActivateReq = 924; + public static final int DungeonSlipRevivePointActivateRsp = 961; + public static final int DungeonWayPointActivateReq = 945; + public static final int DungeonWayPointActivateRsp = 975; + public static final int DungeonWayPointNotify = 944; + public static final int EchoNotify = 62; + public static final int EffigyChallengeInfoNotify = 2159; + public static final int EffigyChallengeResultNotify = 2024; + public static final int EndCameraSceneLookNotify = 238; + public static final int EnterMechanicusDungeonReq = 3979; + public static final int EnterMechanicusDungeonRsp = 3991; + public static final int EnterSceneDoneReq = 268; + public static final int EnterSceneDoneRsp = 290; + public static final int EnterScenePeerNotify = 282; + public static final int EnterSceneReadyReq = 298; + public static final int EnterSceneReadyRsp = 296; + public static final int EnterSceneWeatherAreaNotify = 258; + public static final int EnterTransPointRegionNotify = 255; + public static final int EnterTrialAvatarActivityDungeonReq = 2031; + public static final int EnterTrialAvatarActivityDungeonRsp = 2175; + public static final int EnterWorldAreaReq = 273; + public static final int EnterWorldAreaRsp = 263; + public static final int EntityAiKillSelfNotify = 370; + public static final int EntityAiSyncNotify = 312; + public static final int EntityAuthorityChangeNotify = 303; + public static final int EntityConfigHashNotify = 3458; + public static final int EntityFightPropChangeReasonNotify = 1244; + public static final int EntityFightPropNotify = 1210; + public static final int EntityFightPropUpdateNotify = 1215; + public static final int EntityForceSyncReq = 208; + public static final int EntityForceSyncRsp = 217; + public static final int EntityJumpNotify = 226; + public static final int EntityMoveRoomNotify = 3135; + public static final int EntityPropNotify = 1260; + public static final int EntityTagChangeNotify = 3262; + public static final int EvtAiSyncCombatThreatInfoNotify = 351; + public static final int EvtAiSyncSkillCdNotify = 317; + public static final int EvtAnimatorParameterNotify = 333; + public static final int EvtAnimatorStateChangedNotify = 379; + public static final int EvtAvatarEnterFocusNotify = 389; + public static final int EvtAvatarExitFocusNotify = 309; + public static final int EvtAvatarSitDownNotify = 392; + public static final int EvtAvatarStandUpNotify = 358; + public static final int EvtAvatarUpdateFocusNotify = 365; + public static final int EvtBeingHitNotify = 360; + public static final int EvtBeingHitsCombineNotify = 381; + public static final int EvtBulletDeactiveNotify = 388; + public static final int EvtBulletHitNotify = 397; + public static final int EvtBulletMoveNotify = 362; + public static final int EvtCostStaminaNotify = 375; + public static final int EvtCreateGadgetNotify = 337; + public static final int EvtDestroyGadgetNotify = 393; + public static final int EvtDestroyServerGadgetNotify = 372; + public static final int EvtDoSkillSuccNotify = 315; + public static final int EvtEntityRenderersChangedNotify = 363; + public static final int EvtEntityStartDieEndNotify = 328; + public static final int EvtFaceToDirNotify = 345; + public static final int EvtFaceToEntityNotify = 344; + public static final int EvtRushMoveNotify = 391; + public static final int EvtSetAttackTargetNotify = 334; + public static final int ExecuteGadgetLuaReq = 231; + public static final int ExecuteGadgetLuaRsp = 240; + public static final int ExecuteGroupTriggerReq = 284; + public static final int ExecuteGroupTriggerRsp = 212; + public static final int ExitSceneWeatherAreaNotify = 223; + public static final int ExitTransPointRegionNotify = 246; + public static final int ExpeditionChallengeEnterRegionNotify = 2095; + public static final int ExpeditionChallengeFinishedNotify = 2197; + public static final int ExpeditionRecallReq = 2114; + public static final int ExpeditionRecallRsp = 2108; + public static final int ExpeditionStartReq = 2032; + public static final int ExpeditionStartRsp = 2148; + public static final int ExpeditionTakeRewardReq = 2053; + public static final int ExpeditionTakeRewardRsp = 2181; + public static final int FinishDeliveryNotify = 2126; + public static final int FinishMainCoopReq = 1963; + public static final int FinishMainCoopRsp = 1951; + public static final int FinishedParentQuestNotify = 415; + public static final int FinishedParentQuestUpdateNotify = 437; + public static final int FleurFairBalloonSettleNotify = 2192; + public static final int FleurFairBuffEnergyNotify = 5392; + public static final int FleurFairFallSettleNotify = 2015; + public static final int FleurFairFinishGalleryStageNotify = 5323; + public static final int FleurFairMusicGameSettleReq = 2064; + public static final int FleurFairMusicGameSettleRsp = 2040; + public static final int FleurFairMusicGameStartReq = 2105; + public static final int FleurFairMusicGameStartRsp = 2179; + public static final int FleurFairReplayMiniGameReq = 2146; + public static final int FleurFairReplayMiniGameRsp = 2089; + public static final int FleurFairStageSettleNotify = 5358; + public static final int FlightActivityRestartReq = 2073; + public static final int FlightActivityRestartRsp = 2045; + public static final int FlightActivitySettleNotify = 2195; + public static final int FocusAvatarReq = 1710; + public static final int FocusAvatarRsp = 1772; + public static final int ForceAddPlayerFriendReq = 4084; + public static final int ForceAddPlayerFriendRsp = 4012; + public static final int ForceDragAvatarNotify = 3056; + public static final int ForceDragBackTransferNotify = 3171; + public static final int ForgeDataNotify = 677; + public static final int ForgeFormulaDataNotify = 625; + public static final int ForgeGetQueueDataReq = 681; + public static final int ForgeGetQueueDataRsp = 627; + public static final int ForgeQueueDataNotify = 617; + public static final int ForgeQueueManipulateReq = 692; + public static final int ForgeQueueManipulateRsp = 658; + public static final int ForgeStartReq = 602; + public static final int ForgeStartRsp = 652; + public static final int FoundationNotify = 874; + public static final int FoundationReq = 855; + public static final int FoundationRsp = 846; + public static final int FunitureMakeMakeInfoChangeNotify = 4523; + public static final int FurnitureCurModuleArrangeCountNotify = 4770; + public static final int FurnitureMakeBeHelpedNotify = 4825; + public static final int FurnitureMakeCancelReq = 4495; + public static final int FurnitureMakeCancelRsp = 4814; + public static final int FurnitureMakeFinishNotify = 4707; + public static final int FurnitureMakeHelpReq = 4779; + public static final int FurnitureMakeHelpRsp = 4455; + public static final int FurnitureMakeReq = 4885; + public static final int FurnitureMakeRsp = 4819; + public static final int FurnitureMakeStartReq = 4518; + public static final int FurnitureMakeStartRsp = 4521; + public static final int GMShowNavMeshReq = 2384; + public static final int GMShowNavMeshRsp = 2312; + public static final int GMShowObstacleReq = 2332; + public static final int GMShowObstacleRsp = 2351; + public static final int GadgetAutoPickDropInfoNotify = 888; + public static final int GadgetGeneralRewardInfoNotify = 897; + public static final int GadgetInteractReq = 860; + public static final int GadgetInteractRsp = 833; + public static final int GadgetPlayDataNotify = 879; + public static final int GadgetPlayStartNotify = 875; + public static final int GadgetPlayStopNotify = 834; + public static final int GadgetPlayUidOpNotify = 891; + public static final int GadgetStateNotify = 810; + public static final int GadgetTalkChangeNotify = 856; + public static final int GalleryBalloonScoreNotify = 5510; + public static final int GalleryBalloonShootNotify = 5533; + public static final int GalleryBrokenFloorFallNotify = 5591; + public static final int GalleryBulletHitNotify = 5579; + public static final int GalleryFallCatchNotify = 5537; + public static final int GalleryFallScoreNotify = 5593; + public static final int GalleryFlowerCatchNotify = 5575; + public static final int GalleryPreStartNotify = 5534; + public static final int GalleryStartNotify = 5560; + public static final int GalleryStopNotify = 5515; + public static final int GetActivityInfoReq = 2011; + public static final int GetActivityInfoRsp = 2170; + public static final int GetActivityScheduleReq = 2663; + public static final int GetActivityScheduleRsp = 2651; + public static final int GetActivityShopSheetInfoReq = 744; + public static final int GetActivityShopSheetInfoRsp = 745; + public static final int GetAllActivatedBargainDataReq = 480; + public static final int GetAllActivatedBargainDataRsp = 464; + public static final int GetAllH5ActivityInfoReq = 5675; + public static final int GetAllMailReq = 1479; + public static final int GetAllMailRsp = 1491; + public static final int GetAllSceneGalleryInfoReq = 5544; + public static final int GetAllSceneGalleryInfoRsp = 5545; + public static final int GetAllUnlockNameCardReq = 4065; + public static final int GetAllUnlockNameCardRsp = 4003; + public static final int GetAreaExplorePointReq = 227; + public static final int GetAreaExplorePointRsp = 202; + public static final int GetAuthSalesmanInfoReq = 2082; + public static final int GetAuthSalesmanInfoRsp = 2173; + public static final int GetAuthkeyReq = 1445; + public static final int GetAuthkeyRsp = 1475; + public static final int GetBargainDataReq = 467; + public static final int GetBargainDataRsp = 420; + public static final int GetBattlePassProductReq = 2643; + public static final int GetBattlePassProductRsp = 2626; + public static final int GetBlossomBriefInfoListReq = 2760; + public static final int GetBlossomBriefInfoListRsp = 2733; + public static final int GetBonusActivityRewardReq = 2528; + public static final int GetBonusActivityRewardRsp = 2555; + public static final int GetCityHuntingOfferReq = 4456; + public static final int GetCityHuntingOfferRsp = 4747; + public static final int GetCityReputationInfoReq = 2860; + public static final int GetCityReputationInfoRsp = 2833; + public static final int GetCityReputationMapInfoReq = 2891; + public static final int GetCityReputationMapInfoRsp = 2897; + public static final int GetCompoundDataReq = 127; + public static final int GetCompoundDataRsp = 102; + public static final int GetDailyDungeonEntryInfoReq = 913; + public static final int GetDailyDungeonEntryInfoRsp = 936; + public static final int GetDungeonEntryExploreConditionReq = 3208; + public static final int GetDungeonEntryExploreConditionRsp = 3391; + public static final int GetExpeditionAssistInfoListReq = 2124; + public static final int GetExpeditionAssistInfoListRsp = 2168; + public static final int GetFriendShowAvatarInfoReq = 4061; + public static final int GetFriendShowAvatarInfoRsp = 4038; + public static final int GetFriendShowNameCardInfoReq = 4032; + public static final int GetFriendShowNameCardInfoRsp = 4051; + public static final int GetFurnitureCurModuleArrangeCountReq = 4618; + public static final int GetGachaInfoReq = 1560; + public static final int GetGachaInfoRsp = 1533; + public static final int GetHomeLevelUpRewardReq = 4508; + public static final int GetHomeLevelUpRewardRsp = 4864; + public static final int GetHuntingOfferRewardReq = 4769; + public static final int GetHuntingOfferRewardRsp = 4860; + public static final int GetInvestigationMonsterReq = 1928; + public static final int GetInvestigationMonsterRsp = 1921; + public static final int GetMailItemReq = 1415; + public static final int GetMailItemRsp = 1437; + public static final int GetMapMarkTipsReq = 3307; + public static final int GetMapMarkTipsRsp = 3040; + public static final int GetMechanicusInfoReq = 3960; + public static final int GetMechanicusInfoRsp = 3933; + public static final int GetNextResourceInfoReq = 139; + public static final int GetNextResourceInfoRsp = 187; + public static final int GetOnlinePlayerInfoReq = 46; + public static final int GetOnlinePlayerInfoRsp = 74; + public static final int GetOnlinePlayerListReq = 45; + public static final int GetOnlinePlayerListRsp = 75; + public static final int GetOpActivityInfoReq = 5160; + public static final int GetOpActivityInfoRsp = 5133; + public static final int GetPlayerAskFriendListRsp = 4035; + public static final int GetPlayerBlacklistReq = 4002; + public static final int GetPlayerBlacklistRsp = 4052; + public static final int GetPlayerFriendListReq = 4060; + public static final int GetPlayerFriendListRsp = 4033; + public static final int GetPlayerHomeCompInfoReq = 4540; + public static final int GetPlayerMpModeAvailabilityReq = 1843; + public static final int GetPlayerMpModeAvailabilityRsp = 1826; + public static final int GetPlayerSocialDetailReq = 4075; + public static final int GetPlayerSocialDetailRsp = 4034; + public static final int GetPlayerTokenReq = 160; + public static final int GetPlayerTokenRsp = 133; + public static final int GetPushTipsRewardReq = 2265; + public static final int GetPushTipsRewardRsp = 2203; + public static final int GetQuestTalkHistoryReq = 445; + public static final int GetQuestTalkHistoryRsp = 475; + public static final int GetRecentMpPlayerListReq = 4066; + public static final int GetRecentMpPlayerListRsp = 4073; + public static final int GetRegionSearchReq = 5613; + public static final int GetReunionMissionInfoReq = 5093; + public static final int GetReunionMissionInfoRsp = 5076; + public static final int GetReunionPrivilegeInfoReq = 5089; + public static final int GetReunionPrivilegeInfoRsp = 5071; + public static final int GetReunionSignInInfoReq = 5063; + public static final int GetReunionSignInInfoRsp = 5051; + public static final int GetSceneAreaReq = 262; + public static final int GetSceneAreaRsp = 289; + public static final int GetSceneNpcPositionReq = 515; + public static final int GetSceneNpcPositionRsp = 537; + public static final int GetScenePerformanceReq = 3217; + public static final int GetScenePerformanceRsp = 3319; + public static final int GetScenePointReq = 288; + public static final int GetScenePointRsp = 228; + public static final int GetShopReq = 760; + public static final int GetShopRsp = 733; + public static final int GetShopmallDataReq = 737; + public static final int GetShopmallDataRsp = 793; + public static final int GetSignInRewardReq = 2537; + public static final int GetSignInRewardRsp = 2593; + public static final int GetWidgetSlotReq = 4258; + public static final int GetWidgetSlotRsp = 4294; + public static final int GetWorldMpInfoReq = 3439; + public static final int GetWorldMpInfoRsp = 3424; + public static final int GivingRecordChangeNotify = 172; + public static final int GivingRecordNotify = 153; + public static final int GmTalkReq = 33; + public static final int GmTalkRsp = 10; + public static final int GrantRewardNotify = 680; + public static final int GroupSuiteNotify = 3368; + public static final int GroupUnloadNotify = 3019; + public static final int H5ActivityIdsNotify = 5695; + public static final int HideAndSeekPlayerReadyNotify = 5330; + public static final int HideAndSeekPlayerSetAvatarNotify = 5347; + public static final int HideAndSeekSelectAvatarReq = 5313; + public static final int HideAndSeekSelectAvatarRsp = 5336; + public static final int HideAndSeekSetReadyReq = 5324; + public static final int HideAndSeekSetReadyRsp = 5361; + public static final int HideAndSeekSettleNotify = 5338; + public static final int HitClientTrivialNotify = 250; + public static final int HitTreeNotify = 3432; + public static final int HomeBasicInfoNotify = 4869; + public static final int HomeBlockNotify = 4784; + public static final int HomeChangeEditModeReq = 4483; + public static final int HomeChangeEditModeRsp = 4880; + public static final int HomeChangeModuleReq = 4604; + public static final int HomeChangeModuleRsp = 4631; + public static final int HomeChooseModuleReq = 4567; + public static final int HomeChooseModuleRsp = 4633; + public static final int HomeComfortInfoNotify = 4649; + public static final int HomeGetArrangementInfoReq = 4480; + public static final int HomeGetArrangementInfoRsp = 4781; + public static final int HomeGetBasicInfoReq = 4839; + public static final int HomeGetOnlineStatusReq = 4673; + public static final int HomeGetOnlineStatusRsp = 4626; + public static final int HomeKickPlayerReq = 4547; + public static final int HomeKickPlayerRsp = 4897; + public static final int HomeLimitedShopBuyGoodsReq = 4620; + public static final int HomeLimitedShopBuyGoodsRsp = 4667; + public static final int HomeLimitedShopGoodsListReq = 4706; + public static final int HomeLimitedShopGoodsListRsp = 4587; + public static final int HomeLimitedShopInfoChangeNotify = 4691; + public static final int HomeLimitedShopInfoNotify = 4679; + public static final int HomeLimitedShopInfoReq = 4715; + public static final int HomeLimitedShopInfoRsp = 4808; + public static final int HomeResourceNotify = 4513; + public static final int HomeResourceTakeFetterExpReq = 4884; + public static final int HomeResourceTakeFetterExpRsp = 4608; + public static final int HomeResourceTakeHomeCoinReq = 4812; + public static final int HomeResourceTakeHomeCoinRsp = 4481; + public static final int HomeSceneJumpReq = 4862; + public static final int HomeSceneJumpRsp = 4663; + public static final int HomeUpdateArrangementInfoReq = 4632; + public static final int HomeUpdateArrangementInfoRsp = 4820; + public static final int HostPlayerNotify = 310; + public static final int HuntingFailNotify = 4345; + public static final int HuntingGiveUpReq = 4313; + public static final int HuntingGiveUpRsp = 4301; + public static final int HuntingOngoingNotify = 4348; + public static final int HuntingRevealClueNotify = 4564; + public static final int HuntingRevealFinalNotify = 4335; + public static final int HuntingStartNotify = 4694; + public static final int HuntingSuccessNotify = 4325; + public static final int InBattleMechanicusBuildingPointsNotify = 5344; + public static final int InBattleMechanicusCardResultNotify = 5388; + public static final int InBattleMechanicusConfirmCardNotify = 5397; + public static final int InBattleMechanicusConfirmCardReq = 5379; + public static final int InBattleMechanicusConfirmCardRsp = 5391; + public static final int InBattleMechanicusExcapeMonsterNotify = 5337; + public static final int InBattleMechanicusLeftMonsterNotify = 5393; + public static final int InBattleMechanicusPickCardNotify = 5334; + public static final int InBattleMechanicusPickCardReq = 5345; + public static final int InBattleMechanicusPickCardRsp = 5375; + public static final int InBattleMechanicusSettleNotify = 5355; + public static final int InteractDailyDungeonInfoNotify = 947; + public static final int InterruptGalleryReq = 5597; + public static final int InterruptGalleryRsp = 5588; + public static final int ItemAddHintNotify = 637; + public static final int ItemCdGroupTimeNotify = 666; + public static final int ItemExceedLimitNotify = 639; + public static final int ItemGivingReq = 170; + public static final int ItemGivingRsp = 154; + public static final int JoinHomeWorldFailNotify = 4502; + public static final int JoinPlayerFailNotify = 295; + public static final int JoinPlayerSceneReq = 239; + public static final int JoinPlayerSceneRsp = 287; + public static final int KeepAliveNotify = 60; + public static final int LeaveSceneReq = 233; + public static final int LeaveSceneRsp = 210; + public static final int LevelupCityReq = 253; + public static final int LevelupCityRsp = 272; + public static final int LifeStateChangeNotify = 1233; + public static final int LoadActivityTerrainNotify = 2152; + public static final int LuaSetOptionNotify = 353; + public static final int MailChangeNotify = 1433; + public static final int MainCoopUpdateNotify = 1975; + public static final int MarkEntityInMinMapNotify = 230; + public static final int MarkMapReq = 3053; + public static final int MarkMapRsp = 3139; + public static final int MarkNewNotify = 1291; + public static final int MassiveEntityElementOpBatchNotify = 384; + public static final int MassiveEntityStateChangedNotify = 361; + public static final int MaterialDeleteReturnNotify = 632; + public static final int MaterialDeleteUpdateNotify = 612; + public static final int McoinExchangeHcoinReq = 653; + public static final int McoinExchangeHcoinRsp = 672; + public static final int MechanicusCandidateTeamCreateReq = 3928; + public static final int MechanicusCandidateTeamCreateRsp = 3955; + public static final int MechanicusCloseNotify = 3993; + public static final int MechanicusCoinNotify = 3915; + public static final int MechanicusLevelupGearReq = 3975; + public static final int MechanicusLevelupGearRsp = 3934; + public static final int MechanicusOpenNotify = 3937; + public static final int MechanicusSequenceOpenNotify = 3910; + public static final int MechanicusUnlockGearReq = 3944; + public static final int MechanicusUnlockGearRsp = 3945; + public static final int MeetNpcReq = 544; + public static final int MeetNpcRsp = 545; + public static final int MetNpcIdListNotify = 593; + public static final int MiracleRingDataNotify = 5245; + public static final int MiracleRingDeliverItemReq = 5217; + public static final int MiracleRingDeliverItemRsp = 5236; + public static final int MiracleRingDestroyNotify = 5243; + public static final int MiracleRingDropResultNotify = 5201; + public static final int MiracleRingTakeRewardReq = 5248; + public static final int MiracleRingTakeRewardRsp = 5213; + public static final int MonsterAIConfigHashNotify = 3024; + public static final int MonsterAlertChangeNotify = 380; + public static final int MonsterForceAlertNotify = 364; + public static final int MonsterPointArrayRouteUpdateNotify = 3292; + public static final int MonsterSummonTagNotify = 1360; + public static final int MpBlockNotify = 1824; + public static final int MpPlayGuestReplyInviteReq = 1850; + public static final int MpPlayGuestReplyInviteRsp = 1822; + public static final int MpPlayGuestReplyNotify = 1802; + public static final int MpPlayInviteResultNotify = 1830; + public static final int MpPlayOwnerCheckReq = 1812; + public static final int MpPlayOwnerCheckRsp = 1839; + public static final int MpPlayOwnerInviteNotify = 1831; + public static final int MpPlayOwnerStartInviteReq = 1821; + public static final int MpPlayOwnerStartInviteRsp = 1846; + public static final int MpPlayPrepareInterruptNotify = 1838; + public static final int MpPlayPrepareNotify = 1833; + public static final int MultistagePlayEndNotify = 5307; + public static final int MultistagePlayFinishStageReq = 5333; + public static final int MultistagePlayFinishStageRsp = 5328; + public static final int MultistagePlayInfoNotify = 5360; + public static final int MultistagePlayStageEndNotify = 5321; + public static final int NavMeshStatsNotify = 2353; + public static final int NormalUidOpNotify = 5735; + public static final int NpcTalkReq = 560; + public static final int NpcTalkRsp = 533; + public static final int ObstacleModifyNotify = 2310; + public static final int OneoffGatherPointDetectorDataNotify = 4289; + public static final int OpActivityDataNotify = 5110; + public static final int OpActivityStateNotify = 2560; + public static final int OpActivityUpdateNotify = 5115; + public static final int OpenBlossomCircleCampGuideNotify = 2744; + public static final int OpenStateChangeNotify = 165; + public static final int OpenStateUpdateNotify = 109; + public static final int OrderDisplayNotify = 4101; + public static final int OrderFinishNotify = 4145; + public static final int PSPlayerApplyEnterMpReq = 1837; + public static final int PSPlayerApplyEnterMpRsp = 1806; + public static final int PathfindingEnterSceneReq = 2337; + public static final int PathfindingEnterSceneRsp = 2393; + public static final int PathfindingPingNotify = 2315; + public static final int PersonalLineAllDataReq = 408; + public static final int PersonalLineAllDataRsp = 417; + public static final int PersonalSceneJumpReq = 286; + public static final int PersonalSceneJumpRsp = 277; + public static final int PingReq = 37; + public static final int PingRsp = 93; + public static final int PlatformChangeRouteNotify = 257; + public static final int PlatformStartRouteNotify = 254; + public static final int PlatformStopRouteNotify = 235; + public static final int PlayerAllowEnterMpAfterAgreeMatchNotify = 4176; + public static final int PlayerApplyEnterHomeNotify = 4614; + public static final int PlayerApplyEnterHomeResultNotify = 4580; + public static final int PlayerApplyEnterHomeResultReq = 4603; + public static final int PlayerApplyEnterHomeResultRsp = 4849; + public static final int PlayerApplyEnterMpAfterMatchAgreedNotify = 4177; + public static final int PlayerApplyEnterMpNotify = 1835; + public static final int PlayerApplyEnterMpReq = 1825; + public static final int PlayerApplyEnterMpResultNotify = 1848; + public static final int PlayerApplyEnterMpResultReq = 1813; + public static final int PlayerApplyEnterMpResultRsp = 1801; + public static final int PlayerApplyEnterMpRsp = 1845; + public static final int PlayerCancelMatchReq = 4198; + public static final int PlayerCancelMatchRsp = 4163; + public static final int PlayerChatCDNotify = 3173; + public static final int PlayerChatNotify = 3485; + public static final int PlayerChatReq = 3403; + public static final int PlayerChatRsp = 3045; + public static final int PlayerCompoundMaterialReq = 173; + public static final int PlayerCompoundMaterialRsp = 163; + public static final int PlayerConfirmMatchReq = 4186; + public static final int PlayerConfirmMatchRsp = 4193; + public static final int PlayerCookArgsReq = 135; + public static final int PlayerCookArgsRsp = 157; + public static final int PlayerCookReq = 103; + public static final int PlayerCookRsp = 167; + public static final int PlayerDataNotify = 145; + public static final int PlayerEnterDungeonReq = 910; + public static final int PlayerEnterDungeonRsp = 915; + public static final int PlayerEnterSceneInfoNotify = 294; + public static final int PlayerEnterSceneNotify = 260; + public static final int PlayerEyePointStateNotify = 3461; + public static final int PlayerForceExitReq = 125; + public static final int PlayerForceExitRsp = 149; + public static final int PlayerGameTimeNotify = 179; + public static final int PlayerGeneralMatchConfirmNotify = 4156; + public static final int PlayerGeneralMatchDismissNotify = 4187; + public static final int PlayerGetForceQuitBanInfoReq = 4162; + public static final int PlayerGetForceQuitBanInfoRsp = 4189; + public static final int PlayerHomeCompInfoNotify = 4863; + public static final int PlayerInjectFixNotify = 185; + public static final int PlayerInvestigationAllInfoNotify = 1920; + public static final int PlayerInvestigationNotify = 1901; + public static final int PlayerInvestigationTargetNotify = 1919; + public static final int PlayerLevelRewardUpdateNotify = 112; + public static final int PlayerLoginReq = 110; + public static final int PlayerLoginRsp = 115; + public static final int PlayerLogoutNotify = 144; + public static final int PlayerLogoutReq = 137; + public static final int PlayerLogoutRsp = 193; + public static final int PlayerLuaShellNotify = 143; + public static final int PlayerMatchAgreedResultNotify = 4165; + public static final int PlayerMatchInfoNotify = 4195; + public static final int PlayerMatchStopNotify = 4151; + public static final int PlayerMatchSuccNotify = 4167; + public static final int PlayerOfferingDataNotify = 2915; + public static final int PlayerOfferingReq = 2914; + public static final int PlayerOfferingRsp = 2917; + public static final int PlayerPreEnterMpNotify = 1836; + public static final int PlayerPropChangeNotify = 156; + public static final int PlayerPropChangeReasonNotify = 1234; + public static final int PlayerPropNotify = 191; + public static final int PlayerQuitDungeonReq = 937; + public static final int PlayerQuitDungeonRsp = 993; + public static final int PlayerQuitFromHomeNotify = 4757; + public static final int PlayerQuitFromMpNotify = 1817; + public static final int PlayerRandomCookReq = 120; + public static final int PlayerRandomCookRsp = 180; + public static final int PlayerRechargeDataNotify = 4113; + public static final int PlayerReportReq = 4092; + public static final int PlayerReportRsp = 4058; + public static final int PlayerRoutineDataNotify = 3535; + public static final int PlayerSetLanguageReq = 123; + public static final int PlayerSetLanguageRsp = 113; + public static final int PlayerSetOnlyMPWithPSPlayerReq = 1815; + public static final int PlayerSetOnlyMPWithPSPlayerRsp = 1827; + public static final int PlayerSetPauseReq = 192; + public static final int PlayerSetPauseRsp = 158; + public static final int PlayerStartMatchReq = 4185; + public static final int PlayerStartMatchRsp = 4175; + public static final int PlayerStoreNotify = 660; + public static final int PlayerTimeNotify = 152; + public static final int PostEnterSceneReq = 3390; + public static final int PostEnterSceneRsp = 3213; + public static final int PrivateChatNotify = 4960; + public static final int PrivateChatReq = 5010; + public static final int PrivateChatRsp = 4983; + public static final int PrivateChatSetSequenceReq = 4965; + public static final int PrivateChatSetSequenceRsp = 4987; + public static final int ProudSkillChangeNotify = 1079; + public static final int ProudSkillExtraLevelNotify = 1028; + public static final int ProudSkillUpgradeReq = 1075; + public static final int ProudSkillUpgradeRsp = 1034; + public static final int PullPrivateChatReq = 5043; + public static final int PullPrivateChatRsp = 4994; + public static final int PullRecentChatReq = 4995; + public static final int PullRecentChatRsp = 5025; + public static final int PushTipsAllDataNotify = 2226; + public static final int PushTipsChangeNotify = 2262; + public static final int PushTipsReadFinishReq = 2289; + public static final int PushTipsReadFinishRsp = 2209; + public static final int QueryCodexMonsterBeKilledNumReq = 4207; + public static final int QueryCodexMonsterBeKilledNumRsp = 4208; + public static final int QueryPathReq = 2360; + public static final int QueryPathRsp = 2333; + public static final int QuestCreateEntityReq = 434; + public static final int QuestCreateEntityRsp = 479; + public static final int QuestDelNotify = 410; + public static final int QuestDestroyEntityReq = 491; + public static final int QuestDestroyEntityRsp = 497; + public static final int QuestDestroyNpcReq = 426; + public static final int QuestDestroyNpcRsp = 462; + public static final int QuestGlobalVarNotify = 466; + public static final int QuestListNotify = 460; + public static final int QuestListUpdateNotify = 433; + public static final int QuestProgressUpdateNotify = 446; + public static final int QuestTransmitReq = 473; + public static final int QuestTransmitRsp = 463; + public static final int QuestUpdateQuestVarNotify = 483; + public static final int QuestUpdateQuestVarReq = 474; + public static final int QuestUpdateQuestVarRsp = 456; + public static final int QuickUseWidgetReq = 4276; + public static final int QuickUseWidgetRsp = 4265; + public static final int ReadMailNotify = 1410; + public static final int ReadPrivateChatReq = 4984; + public static final int ReadPrivateChatRsp = 5029; + public static final int ReceivedTrialAvatarActivityRewardReq = 2020; + public static final int ReceivedTrialAvatarActivityRewardRsp = 2087; + public static final int RechargeReq = 4135; + public static final int RechargeRsp = 4125; + public static final int RedeemLegendaryKeyReq = 481; + public static final int RedeemLegendaryKeyRsp = 427; + public static final int RefreshBackgroundAvatarReq = 1744; + public static final int RefreshBackgroundAvatarRsp = 1719; + public static final int RegionSearchChangeRegionNotify = 5625; + public static final int RegionSearchNotify = 5635; + public static final int ReliquaryPromoteReq = 665; + public static final int ReliquaryPromoteRsp = 603; + public static final int ReliquaryUpgradeReq = 689; + public static final int ReliquaryUpgradeRsp = 609; + public static final int RemoveBlacklistReq = 4080; + public static final int RemoveBlacklistRsp = 4064; + public static final int RemoveRandTaskInfoNotify = 132; + public static final int ReportTrackingIOInfoNotify = 4117; + public static final int ResinCardDataUpdateNotify = 4126; + public static final int ResinChangeNotify = 623; + public static final int ReunionActivateNotify = 5081; + public static final int ReunionBriefInfoReq = 5085; + public static final int ReunionBriefInfoRsp = 5075; + public static final int ReunionDailyRefreshNotify = 5072; + public static final int ReunionPrivilegeChangeNotify = 5100; + public static final int ReunionSettleNotify = 5096; + public static final int RobotPushPlayerDataNotify = 88; + public static final int SalesmanDeliverItemReq = 2103; + public static final int SalesmanDeliverItemRsp = 2198; + public static final int SalesmanTakeRewardReq = 2091; + public static final int SalesmanTakeRewardRsp = 2171; + public static final int SalesmanTakeSpecialRewardReq = 2156; + public static final int SalesmanTakeSpecialRewardRsp = 2102; + public static final int SaveCoopDialogReq = 1972; + public static final int SaveCoopDialogRsp = 1952; + public static final int SaveMainCoopReq = 1995; + public static final int SaveMainCoopRsp = 1998; + public static final int SceneAreaUnlockNotify = 209; + public static final int SceneAreaWeatherNotify = 213; + public static final int SceneAudioNotify = 3260; + public static final int SceneAvatarStaminaStepReq = 234; + public static final int SceneAvatarStaminaStepRsp = 279; + public static final int SceneCreateEntityReq = 267; + public static final int SceneCreateEntityRsp = 220; + public static final int SceneDataNotify = 3179; + public static final int SceneDestroyEntityReq = 280; + public static final int SceneDestroyEntityRsp = 264; + public static final int SceneEntitiesMoveCombineNotify = 3312; + public static final int SceneEntitiesMovesReq = 221; + public static final int SceneEntitiesMovesRsp = 207; + public static final int SceneEntityAppearNotify = 293; + public static final int SceneEntityDisappearNotify = 244; + public static final int SceneEntityDrownReq = 265; + public static final int SceneEntityDrownRsp = 203; + public static final int SceneEntityMoveNotify = 291; + public static final int SceneEntityMoveReq = 245; + public static final int SceneEntityMoveRsp = 275; + public static final int SceneForceLockNotify = 266; + public static final int SceneForceUnlockNotify = 201; + public static final int SceneGalleryInfoNotify = 5528; + public static final int SceneInitFinishReq = 215; + public static final int SceneInitFinishRsp = 237; + public static final int SceneKickPlayerNotify = 259; + public static final int SceneKickPlayerReq = 204; + public static final int SceneKickPlayerRsp = 206; + public static final int ScenePlayBattleInfoListNotify = 4378; + public static final int ScenePlayBattleInfoNotify = 4410; + public static final int ScenePlayBattleInterruptNotify = 4441; + public static final int ScenePlayBattleResultNotify = 4447; + public static final int ScenePlayBattleUidOpNotify = 4438; + public static final int ScenePlayGuestReplyInviteReq = 4394; + public static final int ScenePlayGuestReplyInviteRsp = 4395; + public static final int ScenePlayGuestReplyNotify = 4425; + public static final int ScenePlayInfoListNotify = 4429; + public static final int ScenePlayInviteResultNotify = 4384; + public static final int ScenePlayOutofRegionNotify = 4405; + public static final int ScenePlayOwnerCheckReq = 4383; + public static final int ScenePlayOwnerCheckRsp = 4360; + public static final int ScenePlayOwnerInviteNotify = 4443; + public static final int ScenePlayOwnerStartInviteReq = 4365; + public static final int ScenePlayOwnerStartInviteRsp = 4387; + public static final int ScenePlayerInfoNotify = 236; + public static final int ScenePlayerLocationNotify = 297; + public static final int ScenePlayerSoundNotify = 243; + public static final int ScenePointUnlockNotify = 274; + public static final int SceneRouteChangeNotify = 270; + public static final int SceneTeamUpdateNotify = 1696; + public static final int SceneTimeNotify = 229; + public static final int SceneTransToPointReq = 256; + public static final int SceneTransToPointRsp = 283; + public static final int SceneWeatherForcastReq = 3167; + public static final int SceneWeatherForcastRsp = 3023; + public static final int SeaLampCoinNotify = 2028; + public static final int SeaLampContributeItemReq = 2122; + public static final int SeaLampContributeItemRsp = 2084; + public static final int SeaLampFlyLampNotify = 2075; + public static final int SeaLampFlyLampReq = 2174; + public static final int SeaLampFlyLampRsp = 2080; + public static final int SeaLampPopularityNotify = 2062; + public static final int SeaLampTakeContributionRewardReq = 2052; + public static final int SeaLampTakeContributionRewardRsp = 2057; + public static final int SeaLampTakePhaseRewardReq = 2109; + public static final int SeaLampTakePhaseRewardRsp = 2132; + public static final int SealBattleBeginNotify = 225; + public static final int SealBattleEndNotify = 249; + public static final int SealBattleProgressNotify = 285; + public static final int SeeMonsterReq = 299; + public static final int SeeMonsterRsp = 300; + public static final int SelectAsterMidDifficultyReq = 2019; + public static final int SelectAsterMidDifficultyRsp = 2003; + public static final int SelectEffigyChallengeConditionReq = 2143; + public static final int SelectEffigyChallengeConditionRsp = 2072; + public static final int SelectWorktopOptionReq = 837; + public static final int SelectWorktopOptionRsp = 893; + public static final int ServerAnnounceNotify = 2199; + public static final int ServerAnnounceRevokeNotify = 2129; + public static final int ServerBuffChangeNotify = 332; + public static final int ServerCondMeetQuestListUpdateNotify = 401; + public static final int ServerDisconnectClientNotify = 186; + public static final int ServerGlobalValueChangeNotify = 1188; + public static final int ServerLogNotify = 79; + public static final int ServerTimeNotify = 34; + public static final int ServerUpdateGlobalValueNotify = 1197; + public static final int SetBattlePassViewedReq = 2637; + public static final int SetBattlePassViewedRsp = 2606; + public static final int SetCoopChapterViewedReq = 1980; + public static final int SetCoopChapterViewedRsp = 1988; + public static final int SetCurExpeditionChallengeIdReq = 2017; + public static final int SetCurExpeditionChallengeIdRsp = 2099; + public static final int SetEntityClientDataNotify = 3303; + public static final int SetEquipLockStateReq = 635; + public static final int SetEquipLockStateRsp = 657; + public static final int SetFriendEnterHomeOptionReq = 4613; + public static final int SetFriendEnterHomeOptionRsp = 4724; + public static final int SetFriendRemarkNameReq = 4023; + public static final int SetFriendRemarkNameRsp = 4013; + public static final int SetNameCardReq = 4089; + public static final int SetNameCardRsp = 4009; + public static final int SetOpenStateReq = 162; + public static final int SetOpenStateRsp = 189; + public static final int SetPlayerBirthdayReq = 4097; + public static final int SetPlayerBirthdayRsp = 4088; + public static final int SetPlayerBornDataReq = 155; + public static final int SetPlayerBornDataRsp = 146; + public static final int SetPlayerHeadImageReq = 4046; + public static final int SetPlayerHeadImageRsp = 4074; + public static final int SetPlayerNameReq = 183; + public static final int SetPlayerNameRsp = 126; + public static final int SetPlayerPropReq = 188; + public static final int SetPlayerPropRsp = 128; + public static final int SetPlayerSignatureReq = 4028; + public static final int SetPlayerSignatureRsp = 4055; + public static final int SetSceneWeatherAreaReq = 271; + public static final int SetSceneWeatherAreaRsp = 205; + public static final int SetUpAvatarTeamReq = 1671; + public static final int SetUpAvatarTeamRsp = 1634; + public static final int SetUpLunchBoxWidgetReq = 4286; + public static final int SetUpLunchBoxWidgetRsp = 4293; + public static final int SetWidgetSlotReq = 4266; + public static final int SetWidgetSlotRsp = 4279; + public static final int ShowCommonTipsNotify = 3277; + public static final int ShowMessageNotify = 15; + public static final int ShowTemplateReminderNotify = 3164; + public static final int SignInInfoReq = 2510; + public static final int SignInInfoRsp = 2515; + public static final int SocialDataNotify = 4063; + public static final int SpringUseReq = 1720; + public static final int SpringUseRsp = 1727; + public static final int StartArenaChallengeLevelReq = 2022; + public static final int StartArenaChallengeLevelRsp = 2033; + public static final int StartCoopPointReq = 1956; + public static final int StartCoopPointRsp = 1962; + public static final int StartEffigyChallengeReq = 2123; + public static final int StartEffigyChallengeRsp = 2166; + public static final int StoreItemChangeNotify = 610; + public static final int StoreItemDelNotify = 615; + public static final int StoreWeightLimitNotify = 633; + public static final int SyncScenePlayTeamEntityNotify = 3296; + public static final int SyncTeamEntityNotify = 338; + public static final int TakeAchievementGoalRewardReq = 2695; + public static final int TakeAchievementGoalRewardRsp = 2698; + public static final int TakeAchievementRewardReq = 2685; + public static final int TakeAchievementRewardRsp = 2675; + public static final int TakeAsterSpecialRewardReq = 2051; + public static final int TakeAsterSpecialRewardRsp = 2041; + public static final int TakeBattlePassMissionPointReq = 2617; + public static final int TakeBattlePassMissionPointRsp = 2636; + public static final int TakeBattlePassRewardReq = 2613; + public static final int TakeBattlePassRewardRsp = 2601; + public static final int TakeCityReputationExploreRewardReq = 2888; + public static final int TakeCityReputationExploreRewardRsp = 2828; + public static final int TakeCityReputationLevelRewardReq = 2810; + public static final int TakeCityReputationLevelRewardRsp = 2815; + public static final int TakeCityReputationParentQuestReq = 2893; + public static final int TakeCityReputationParentQuestRsp = 2844; + public static final int TakeCompoundOutputReq = 108; + public static final int TakeCompoundOutputRsp = 117; + public static final int TakeCoopRewardReq = 1996; + public static final int TakeCoopRewardRsp = 1981; + public static final int TakeDeliveryDailyRewardReq = 2055; + public static final int TakeDeliveryDailyRewardRsp = 2104; + public static final int TakeEffigyFirstPassRewardReq = 2071; + public static final int TakeEffigyFirstPassRewardRsp = 2034; + public static final int TakeEffigyRewardReq = 2113; + public static final int TakeEffigyRewardRsp = 2008; + public static final int TakeFirstShareRewardReq = 4008; + public static final int TakeFirstShareRewardRsp = 4017; + public static final int TakeFurnitureMakeReq = 4751; + public static final int TakeFurnitureMakeRsp = 4457; + public static final int TakeHuntingOfferReq = 4750; + public static final int TakeHuntingOfferRsp = 4782; + public static final int TakeInvestigationRewardReq = 1926; + public static final int TakeInvestigationRewardRsp = 1925; + public static final int TakeInvestigationTargetRewardReq = 1915; + public static final int TakeInvestigationTargetRewardRsp = 1929; + public static final int TakeMaterialDeleteReturnReq = 651; + public static final int TakeMaterialDeleteReturnRsp = 684; + public static final int TakeOfferingLevelRewardReq = 2921; + public static final int TakeOfferingLevelRewardRsp = 2910; + public static final int TakePlayerLevelRewardReq = 151; + public static final int TakePlayerLevelRewardRsp = 184; + public static final int TakeRegionSearchRewardReq = 5645; + public static final int TakeRegionSearchRewardRsp = 5648; + public static final int TakeResinCardDailyRewardReq = 4136; + public static final int TakeResinCardDailyRewardRsp = 4143; + public static final int TakeReunionFirstGiftRewardReq = 5095; + public static final int TakeReunionFirstGiftRewardRsp = 5098; + public static final int TakeReunionMissionRewardReq = 5056; + public static final int TakeReunionMissionRewardRsp = 5062; + public static final int TakeReunionSignInRewardReq = 5067; + public static final int TakeReunionSignInRewardRsp = 5086; + public static final int TakeReunionWatcherRewardReq = 5065; + public static final int TakeReunionWatcherRewardRsp = 5077; + public static final int TakeoffEquipReq = 655; + public static final int TakeoffEquipRsp = 646; + public static final int TaskVarNotify = 178; + public static final int TeamResonanceChangeNotify = 1046; + public static final int TowerAllDataReq = 2445; + public static final int TowerAllDataRsp = 2475; + public static final int TowerBriefDataNotify = 2460; + public static final int TowerBuffSelectReq = 2497; + public static final int TowerBuffSelectRsp = 2488; + public static final int TowerCurLevelRecordChangeNotify = 2410; + public static final int TowerDailyRewardProgressChangeNotify = 2415; + public static final int TowerEnterLevelReq = 2479; + public static final int TowerEnterLevelRsp = 2491; + public static final int TowerFloorRecordChangeNotify = 2433; + public static final int TowerGetFloorStarRewardReq = 2489; + public static final int TowerGetFloorStarRewardRsp = 2409; + public static final int TowerLevelEndNotify = 2464; + public static final int TowerLevelStarCondNotify = 2401; + public static final int TowerMiddleLevelChangeTeamNotify = 2466; + public static final int TowerRecordHandbookReq = 2473; + public static final int TowerRecordHandbookRsp = 2463; + public static final int TowerSurrenderReq = 2426; + public static final int TowerSurrenderRsp = 2462; + public static final int TowerTeamSelectReq = 2493; + public static final int TowerTeamSelectRsp = 2444; + public static final int TreasureMapBonusChallengeNotify = 2121; + public static final int TreasureMapCurrencyNotify = 2127; + public static final int TreasureMapDetectorDataNotify = 4272; + public static final int TreasureMapGuideTaskDoneNotify = 2200; + public static final int TreasureMapMpChallengeNotify = 2177; + public static final int TreasureMapRegionActiveNotify = 2141; + public static final int TreasureMapRegionInfoNotify = 2120; + public static final int TrialAvatarFirstPassDungeonNotify = 2093; + public static final int TrialAvatarInDungeonIndexNotify = 2138; + public static final int TriggerCreateGadgetToEquipPartNotify = 373; + public static final int TryEnterHomeReq = 4622; + public static final int TryEnterHomeRsp = 4731; + public static final int UnfreezeGroupLimitNotify = 3401; + public static final int UnionCmdNotify = 55; + public static final int UnlockAvatarTalentReq = 1060; + public static final int UnlockAvatarTalentRsp = 1033; + public static final int UnlockCoopChapterReq = 1965; + public static final int UnlockCoopChapterRsp = 1977; + public static final int UnlockNameCardNotify = 4001; + public static final int UnlockPersonalLineReq = 402; + public static final int UnlockPersonalLineRsp = 452; + public static final int UnlockTransPointReq = 3421; + public static final int UnlockTransPointRsp = 3073; + public static final int UnlockedFurnitureFormulaDataNotify = 4700; + public static final int UnlockedFurnitureSuiteDataNotify = 4788; + public static final int UnmarkEntityInMinMapNotify = 247; + public static final int UpdateAbilityCreatedMovingPlatformNotify = 828; + public static final int UpdatePS4BlockListReq = 4081; + public static final int UpdatePS4BlockListRsp = 4027; + public static final int UpdatePS4FriendListNotify = 4056; + public static final int UpdatePlayerShowAvatarListReq = 4036; + public static final int UpdatePlayerShowAvatarListRsp = 4024; + public static final int UpdatePlayerShowNameCardListReq = 4030; + public static final int UpdatePlayerShowNameCardListRsp = 4047; + public static final int UpdateReunionWatcherNotify = 5087; + public static final int UseItemReq = 645; + public static final int UseItemRsp = 675; + public static final int UseMiracleRingReq = 5235; + public static final int UseMiracleRingRsp = 5225; + public static final int UseWidgetCreateGadgetReq = 4278; + public static final int UseWidgetCreateGadgetRsp = 4290; + public static final int UseWidgetRetractGadgetReq = 4255; + public static final int UseWidgetRetractGadgetRsp = 4297; + public static final int ViewCodexReq = 4210; + public static final int ViewCodexRsp = 4209; + public static final int WatcherAllDataNotify = 2260; + public static final int WatcherChangeNotify = 2233; + public static final int WatcherEventNotify = 2210; + public static final int WatcherEventTypeNotify = 2215; + public static final int WaterSpritePhaseFinishNotify = 2097; + public static final int WeaponAwakenReq = 664; + public static final int WeaponAwakenRsp = 601; + public static final int WeaponPromoteReq = 626; + public static final int WeaponPromoteRsp = 662; + public static final int WeaponUpgradeReq = 656; + public static final int WeaponUpgradeRsp = 683; + public static final int WearEquipReq = 688; + public static final int WearEquipRsp = 628; + public static final int WidgetCoolDownNotify = 4277; + public static final int WidgetGadgetAllDataNotify = 4260; + public static final int WidgetGadgetDataNotify = 4268; + public static final int WidgetGadgetDestroyNotify = 4282; + public static final int WidgetReportReq = 4287; + public static final int WidgetReportRsp = 4256; + public static final int WidgetSlotChangeNotify = 4299; + public static final int WindSeedClientNotify = 1134; + public static final int WorktopOptionNotify = 815; + public static final int WorldAllRoutineTypeNotify = 3525; + public static final int WorldDataNotify = 3330; + public static final int WorldOwnerBlossomBriefInfoNotify = 2715; + public static final int WorldOwnerBlossomScheduleInfoNotify = 2737; + public static final int WorldOwnerDailyTaskNotify = 130; + public static final int WorldPlayerDieNotify = 211; + public static final int WorldPlayerInfoNotify = 3088; + public static final int WorldPlayerLocationNotify = 224; + public static final int WorldPlayerRTTNotify = 26; + public static final int WorldPlayerReviveReq = 216; + public static final int WorldPlayerReviveRsp = 222; + public static final int WorldRoutineChangeNotify = 3548; + public static final int WorldRoutineTypeCloseNotify = 3513; + public static final int WorldRoutineTypeRefreshNotify = 3545; + +} \ No newline at end of file diff --git a/src/main/java/emu/grasscutter/net/packet/PacketOpcodesUtil.java b/src/main/java/emu/grasscutter/net/packet/PacketOpcodesUtil.java new file mode 100644 index 00000000..6395a7d4 --- /dev/null +++ b/src/main/java/emu/grasscutter/net/packet/PacketOpcodesUtil.java @@ -0,0 +1,44 @@ +package emu.grasscutter.net.packet; + +import java.io.BufferedWriter; +import java.io.FileWriter; +import java.io.IOException; +import java.lang.reflect.Field; + +import it.unimi.dsi.fastutil.ints.Int2ObjectMap; +import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap; + +public class PacketOpcodesUtil { + private static Int2ObjectMap opcodeMap; + + static { + opcodeMap = new Int2ObjectOpenHashMap(); + + Field[] fields = PacketOpcodes.class.getFields(); + + for (Field f : fields) { + try { + opcodeMap.put(f.getInt(null), f.getName()); + } catch (Exception e) { + e.printStackTrace(); + } + } + } + + public static String getOpcodeName(int opcode) { + if (opcode <= 0) return "UNKNOWN"; + return opcodeMap.getOrDefault(opcode, "UNKNOWN"); + } + + public static void dumpOpcodes() { + try { + BufferedWriter out = new BufferedWriter(new FileWriter("opcodes.ini")); + for (Int2ObjectMap.Entry entry : opcodeMap.int2ObjectEntrySet()) { + out.write(String.format("%04X=%s%s", entry.getIntKey(), entry.getValue(), System.lineSeparator())); + } + out.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } +} diff --git a/src/main/java/emu/grasscutter/net/packet/PacketWriter.java b/src/main/java/emu/grasscutter/net/packet/PacketWriter.java new file mode 100644 index 00000000..c8ea039b --- /dev/null +++ b/src/main/java/emu/grasscutter/net/packet/PacketWriter.java @@ -0,0 +1,177 @@ +package emu.grasscutter.net.packet; + +import java.io.ByteArrayOutputStream; +import java.io.IOException; + +public class PacketWriter { + // Little endian + private final ByteArrayOutputStream baos; + + public PacketWriter() { + this.baos = new ByteArrayOutputStream(128); + } + + public byte[] build() { + return baos.toByteArray(); + } + + // Writers + + public void writeEmpty(int i) { + while (i > 0) { + baos.write(0); + i--; + } + } + + public void writeMax(int i) { + while (i > 0) { + baos.write(0xFF); + i--; + } + } + + public void writeInt8(byte b) { + baos.write(b); + } + + public void writeInt8(int i) { + baos.write((byte) i); + } + + public void writeBoolean(boolean b) { + baos.write(b ? 1 : 0); + } + + public void writeUint8(byte b) { + // Unsigned byte + baos.write(b & 0xFF); + } + + public void writeUint8(int i) { + + baos.write((byte) i & 0xFF); + } + + public void writeUint16(int i) { + // Unsigned short + baos.write((byte) (i & 0xFF)); + baos.write((byte) ((i >>> 8) & 0xFF)); + } + + public void writeUint24(int i) { + // 24 bit integer + baos.write((byte) (i & 0xFF)); + baos.write((byte) ((i >>> 8) & 0xFF)); + baos.write((byte) ((i >>> 16) & 0xFF)); + } + + public void writeInt16(int i) { + // Signed short + baos.write((byte) i); + baos.write((byte) (i >>> 8)); + } + + public void writeUint32(int i) { + // Unsigned int + baos.write((byte) (i & 0xFF)); + baos.write((byte) ((i >>> 8) & 0xFF)); + baos.write((byte) ((i >>> 16) & 0xFF)); + baos.write((byte) ((i >>> 24) & 0xFF)); + } + + public void writeInt32(int i) { + // Signed int + baos.write((byte) i); + baos.write((byte) (i >>> 8)); + baos.write((byte) (i >>> 16)); + baos.write((byte) (i >>> 24)); + } + + public void writeUint32(long i) { + // Unsigned int (long) + baos.write((byte) (i & 0xFF)); + baos.write((byte) ((i >>> 8) & 0xFF)); + baos.write((byte) ((i >>> 16) & 0xFF)); + baos.write((byte) ((i >>> 24) & 0xFF)); + } + + public void writeFloat(float f){ + this.writeUint32(Float.floatToRawIntBits(f)); + } + + public void writeUint64(long l) { + baos.write((byte) (l & 0xFF)); + baos.write((byte) ((l >>> 8) & 0xFF)); + baos.write((byte) ((l >>> 16) & 0xFF)); + baos.write((byte) ((l >>> 24) & 0xFF)); + baos.write((byte) ((l >>> 32) & 0xFF)); + baos.write((byte) ((l >>> 40) & 0xFF)); + baos.write((byte) ((l >>> 48) & 0xFF)); + baos.write((byte) ((l >>> 56) & 0xFF)); + } + + public void writeDouble(double d){ + long l = Double.doubleToLongBits(d); + this.writeUint64(l); + } + + public void writeString16(String s) { + if (s == null) { + this.writeUint16(0); + return; + } + + this.writeUint16(s.length() * 2); + for (int i = 0; i < s.length(); i++) { + char c = s.charAt(i); + this.writeUint16((short) c); + } + } + + public void writeString8(String s) { + if (s == null) { + this.writeUint16(0); + return; + } + + this.writeUint16(s.length()); + for (int i = 0; i < s.length(); i++) { + char c = s.charAt(i); + this.writeUint8((byte) c); + } + } + + public void writeDirectString8(String s, int expectedSize) { + if (s == null) { + return; + } + + for (int i = 0; i < expectedSize; i++) { + char c = i < s.length() ? s.charAt(i) : 0; + this.writeUint8((byte) c); + } + } + + public void writeBytes(byte[] bytes) { + try { + baos.write(bytes); + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + + public void writeBytes(int[] bytes) { + byte[] b = new byte[bytes.length]; + for (int i = 0; i < bytes.length; i++) + b[i] = (byte)bytes[i]; + + try { + baos.write(b); + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } +} diff --git a/src/main/java/emu/grasscutter/net/packet/Retcode.java b/src/main/java/emu/grasscutter/net/packet/Retcode.java new file mode 100644 index 00000000..c061a189 --- /dev/null +++ b/src/main/java/emu/grasscutter/net/packet/Retcode.java @@ -0,0 +1,6 @@ +package emu.grasscutter.net.packet; + +public class Retcode { + public static final int SUCCESS = 0; + public static final int FAIL = 1; +} diff --git a/src/main/java/emu/grasscutter/netty/MihoyoKcpChannel.java b/src/main/java/emu/grasscutter/netty/MihoyoKcpChannel.java new file mode 100644 index 00000000..23357919 --- /dev/null +++ b/src/main/java/emu/grasscutter/netty/MihoyoKcpChannel.java @@ -0,0 +1,89 @@ +package emu.grasscutter.netty; + +import emu.grasscutter.Grasscutter; +import io.jpower.kcp.netty.UkcpChannel; +import io.netty.buffer.ByteBuf; +import io.netty.buffer.ByteBufUtil; +import io.netty.buffer.Unpooled; +import io.netty.channel.ChannelHandlerContext; +import io.netty.channel.ChannelInboundHandlerAdapter; + +public abstract class MihoyoKcpChannel extends ChannelInboundHandlerAdapter { + private UkcpChannel kcpChannel; + private ChannelHandlerContext ctx; + private boolean isActive; + + public UkcpChannel getChannel() { + return kcpChannel; + } + + public boolean isActive() { + return this.isActive; + } + + @Override + public void channelActive(ChannelHandlerContext ctx) throws Exception { + this.kcpChannel = (UkcpChannel) ctx.channel(); + this.ctx = ctx; + this.isActive = true; + + this.onConnect(); + } + + @Override + public void channelInactive(ChannelHandlerContext ctx) throws Exception { + this.isActive = false; + + this.onDisconnect(); + } + + @Override + public void channelRead(ChannelHandlerContext ctx, Object msg) { + ByteBuf data = (ByteBuf) msg; + onMessage(ctx, data); + } + + @Override + public void channelReadComplete(ChannelHandlerContext ctx) { + ctx.flush(); + } + + @Override + public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) { + cause.printStackTrace(); + close(); + } + + protected void send(byte[] data) { + if (!isActive()) { + return; + } + ByteBuf packet = Unpooled.wrappedBuffer(data); + kcpChannel.writeAndFlush(packet); + } + + public void close() { + if (getChannel() != null) { + getChannel().close(); + } + } + + /* + protected void logPacket(ByteBuffer buf) { + ByteBuf b = Unpooled.wrappedBuffer(buf.array()); + logPacket(b); + } + */ + + protected void logPacket(ByteBuf buf) { + Grasscutter.getLogger().info("Received: \n" + ByteBufUtil.prettyHexDump(buf)); + } + + // Events + + protected abstract void onConnect(); + + protected abstract void onDisconnect(); + + public abstract void onMessage(ChannelHandlerContext ctx, ByteBuf data); +} diff --git a/src/main/java/emu/grasscutter/netty/MihoyoKcpHandshaker.java b/src/main/java/emu/grasscutter/netty/MihoyoKcpHandshaker.java new file mode 100644 index 00000000..cf94c7c7 --- /dev/null +++ b/src/main/java/emu/grasscutter/netty/MihoyoKcpHandshaker.java @@ -0,0 +1,85 @@ +package emu.grasscutter.netty; + +import java.net.SocketAddress; +import java.nio.channels.SelectableChannel; +import java.util.List; + +import io.netty.channel.Channel; +import io.netty.channel.ChannelConfig; +import io.netty.channel.ChannelMetadata; +import io.netty.channel.ChannelOutboundBuffer; +import io.netty.channel.nio.AbstractNioMessageChannel; + +public class MihoyoKcpHandshaker extends AbstractNioMessageChannel { + + protected MihoyoKcpHandshaker(Channel parent, SelectableChannel ch, int readInterestOp) { + super(parent, ch, readInterestOp); + } + + @Override + public ChannelConfig config() { + // TODO Auto-generated method stub + return null; + } + + @Override + public boolean isActive() { + // TODO Auto-generated method stub + return false; + } + + @Override + public ChannelMetadata metadata() { + // TODO Auto-generated method stub + return null; + } + + @Override + protected int doReadMessages(List buf) throws Exception { + // TODO Auto-generated method stub + return 0; + } + + @Override + protected boolean doWriteMessage(Object msg, ChannelOutboundBuffer in) throws Exception { + // TODO Auto-generated method stub + return false; + } + + @Override + protected boolean doConnect(SocketAddress remoteAddress, SocketAddress localAddress) throws Exception { + // TODO Auto-generated method stub + return false; + } + + @Override + protected void doFinishConnect() throws Exception { + // TODO Auto-generated method stub + + } + + @Override + protected SocketAddress localAddress0() { + // TODO Auto-generated method stub + return null; + } + + @Override + protected SocketAddress remoteAddress0() { + // TODO Auto-generated method stub + return null; + } + + @Override + protected void doBind(SocketAddress localAddress) throws Exception { + // TODO Auto-generated method stub + + } + + @Override + protected void doDisconnect() throws Exception { + // TODO Auto-generated method stub + + } + +} diff --git a/src/main/java/emu/grasscutter/netty/MihoyoKcpServer.java b/src/main/java/emu/grasscutter/netty/MihoyoKcpServer.java new file mode 100644 index 00000000..c3a9297b --- /dev/null +++ b/src/main/java/emu/grasscutter/netty/MihoyoKcpServer.java @@ -0,0 +1,94 @@ +package emu.grasscutter.netty; + +import java.net.InetSocketAddress; + +import emu.grasscutter.Grasscutter; +import io.jpower.kcp.netty.ChannelOptionHelper; +import io.jpower.kcp.netty.UkcpChannelOption; +import io.jpower.kcp.netty.UkcpServerChannel; +import io.netty.bootstrap.UkcpServerBootstrap; +import io.netty.channel.ChannelFuture; +import io.netty.channel.ChannelInitializer; +import io.netty.channel.EventLoopGroup; +import io.netty.channel.nio.NioEventLoopGroup; + +@SuppressWarnings("rawtypes") +public class MihoyoKcpServer extends Thread { + private EventLoopGroup group; + private UkcpServerBootstrap bootstrap; + + private ChannelInitializer serverInitializer; + private InetSocketAddress address; + + public MihoyoKcpServer(InetSocketAddress address) { + this.address = address; + this.setName("Netty Server Thread"); + } + + public InetSocketAddress getAddress() { + return this.address; + } + + public ChannelInitializer getServerInitializer() { + return serverInitializer; + } + + public void setServerInitializer(ChannelInitializer serverInitializer) { + this.serverInitializer = serverInitializer; + } + + @Override + public void run() { + if (getServerInitializer() == null) { + this.setServerInitializer(new MihoyoKcpServerInitializer()); + } + + try { + group = new NioEventLoopGroup(); + bootstrap = new UkcpServerBootstrap(); + bootstrap.group(group) + .channel(UkcpServerChannel.class) + .childHandler(this.getServerInitializer()); + ChannelOptionHelper + .nodelay(bootstrap, true, 20, 2, true) + .childOption(UkcpChannelOption.UKCP_MTU, 1200); + + // Start handler + this.onStart(); + + // Start the server. + ChannelFuture f = bootstrap.bind(getAddress()).sync(); + + // Start finish handler + this.onStartFinish(); + + // Wait until the server socket is closed. + f.channel().closeFuture().sync(); + } catch (Exception e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } finally { + // Close + finish(); + } + } + + public void onStart() { + + } + + public void onStartFinish() { + + } + + private void finish() { + try { + group.shutdownGracefully(); + } catch (Exception e) { + + } + Grasscutter.getLogger().info("Game Server closed"); + } +} + + diff --git a/src/main/java/emu/grasscutter/netty/MihoyoKcpServerInitializer.java b/src/main/java/emu/grasscutter/netty/MihoyoKcpServerInitializer.java new file mode 100644 index 00000000..7d4e5892 --- /dev/null +++ b/src/main/java/emu/grasscutter/netty/MihoyoKcpServerInitializer.java @@ -0,0 +1,15 @@ +package emu.grasscutter.netty; + +import io.jpower.kcp.netty.UkcpChannel; +import io.netty.channel.ChannelInitializer; +import io.netty.channel.ChannelPipeline; + +@SuppressWarnings("unused") +public class MihoyoKcpServerInitializer extends ChannelInitializer { + + @Override + protected void initChannel(UkcpChannel ch) throws Exception { + ChannelPipeline pipeline = ch.pipeline(); + } + +} diff --git a/src/main/java/emu/grasscutter/server/dispatch/DispatchHttpJsonHandler.java b/src/main/java/emu/grasscutter/server/dispatch/DispatchHttpJsonHandler.java new file mode 100644 index 00000000..b4ef1322 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/dispatch/DispatchHttpJsonHandler.java @@ -0,0 +1,28 @@ +package emu.grasscutter.server.dispatch; + +import java.io.IOException; +import java.io.OutputStream; +import java.util.Collections; + +import com.sun.net.httpserver.HttpExchange; +import com.sun.net.httpserver.HttpHandler; + +public class DispatchHttpJsonHandler implements HttpHandler { + private final String response; + + public DispatchHttpJsonHandler(String response) { + this.response = response; + } + + @Override + public void handle(HttpExchange t) throws IOException { + // Set the response header status and length + t.getResponseHeaders().put("Content-Type", Collections.singletonList("application/json")); + t.sendResponseHeaders(200, response.getBytes().length); + // Write the response string + OutputStream os = t.getResponseBody(); + os.write(response.getBytes()); + os.close(); + } + +} diff --git a/src/main/java/emu/grasscutter/server/dispatch/DispatchServer.java b/src/main/java/emu/grasscutter/server/dispatch/DispatchServer.java new file mode 100644 index 00000000..e33e1de2 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/dispatch/DispatchServer.java @@ -0,0 +1,467 @@ +package emu.grasscutter.server.dispatch; + +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.OutputStream; +import java.io.UnsupportedEncodingException; +import java.net.InetSocketAddress; +import java.net.URI; +import java.net.URLDecoder; +import java.security.KeyStore; +import java.util.Base64; +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; + +import javax.net.ssl.KeyManagerFactory; +import javax.net.ssl.SSLContext; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.protobuf.ByteString; +import com.sun.net.httpserver.HttpExchange; +import com.sun.net.httpserver.HttpHandler; +import com.sun.net.httpserver.HttpsConfigurator; +import com.sun.net.httpserver.HttpsServer; + +import emu.grasscutter.Grasscutter; +import emu.grasscutter.database.DatabaseHelper; +import emu.grasscutter.game.Account; +import emu.grasscutter.net.proto.QueryCurrRegionHttpRspOuterClass.QueryCurrRegionHttpRsp; +import emu.grasscutter.net.proto.QueryRegionListHttpRspOuterClass.QueryRegionListHttpRsp; +import emu.grasscutter.net.proto.RegionInfoOuterClass.RegionInfo; +import emu.grasscutter.net.proto.RegionSimpleInfoOuterClass.RegionSimpleInfo; +import emu.grasscutter.server.dispatch.json.ComboTokenReqJson; +import emu.grasscutter.server.dispatch.json.ComboTokenResJson; +import emu.grasscutter.server.dispatch.json.LoginAccountRequestJson; +import emu.grasscutter.server.dispatch.json.LoginResultJson; +import emu.grasscutter.server.dispatch.json.LoginTokenRequestJson; +import emu.grasscutter.server.dispatch.json.ComboTokenReqJson.LoginTokenData; +import emu.grasscutter.utils.FileUtils; +import emu.grasscutter.utils.Utils; + +import com.sun.net.httpserver.HttpServer; + +public class DispatchServer { + private HttpsServer server; + private final InetSocketAddress address; + private final Gson gson; + private QueryCurrRegionHttpRsp currRegion; + + public String regionListBase64; + public String regionCurrentBase64; + + public static String query_region_list = ""; + public static String query_cur_region = ""; + + public DispatchServer() { + this.address = new InetSocketAddress(Grasscutter.getConfig().DispatchServerIp, Grasscutter.getConfig().DispatchServerPort); + this.gson = new GsonBuilder().create(); + + this.loadQueries(); + this.initRegion(); + } + + public InetSocketAddress getAddress() { + return address; + } + + public Gson getGsonFactory() { + return gson; + } + + public QueryCurrRegionHttpRsp getCurrRegion() { + return currRegion; + } + + public void loadQueries() { + File file; + + file = new File(Grasscutter.getConfig().DATA_FOLDER + "query_region_list.txt"); + if (file.exists()) { + query_region_list = new String(FileUtils.read(file)); + } else { + Grasscutter.getLogger().warn("query_region_list not found! Using default region list."); + } + + file = new File(Grasscutter.getConfig().DATA_FOLDER + "query_cur_region.txt"); + if (file.exists()) { + query_cur_region = new String(FileUtils.read(file)); + } else { + Grasscutter.getLogger().warn("query_cur_region not found! Using default current region."); + } + } + + private void initRegion() { + try { + byte[] decoded = Base64.getDecoder().decode(query_region_list); + QueryRegionListHttpRsp rl = QueryRegionListHttpRsp.parseFrom(decoded); + + byte[] decoded2 = Base64.getDecoder().decode(query_cur_region); + QueryCurrRegionHttpRsp regionQuery = QueryCurrRegionHttpRsp.parseFrom(decoded2); + + RegionSimpleInfo server = RegionSimpleInfo.newBuilder() + .setName("os_usa") + .setTitle(Grasscutter.getConfig().GameServerName) + .setType("DEV_PUBLIC") + .setDispatchUrl("https://" + Grasscutter.getConfig().DispatchServerIp + ":" + getAddress().getPort() + "/query_cur_region") + .build(); + + RegionSimpleInfo serverTest2 = RegionSimpleInfo.newBuilder() + .setName("os_euro") + .setTitle("Grasscutter") + .setType("DEV_PUBLIC") + .setDispatchUrl("https://" + Grasscutter.getConfig().DispatchServerIp + ":" + getAddress().getPort() + "/query_cur_region") + .build(); + + QueryRegionListHttpRsp regionList = QueryRegionListHttpRsp.newBuilder() + .addServers(server) + .addServers(serverTest2) + .setClientSecretKey(rl.getClientSecretKey()) + .setClientCustomConfigEncrypted(rl.getClientCustomConfigEncrypted()) + .setEnableLoginPc(true) + .build(); + + RegionInfo currentRegion = regionQuery.getRegionInfo().toBuilder() + .setIp(Grasscutter.getConfig().GameServerIp) + .setPort(Grasscutter.getConfig().GameServerPort) + .setSecretKey(ByteString.copyFrom(FileUtils.read(Grasscutter.getConfig().KEY_FOLDER + "dispatchSeed.bin"))) + .build(); + + QueryCurrRegionHttpRsp parsedRegionQuery = regionQuery.toBuilder().setRegionInfo(currentRegion).build(); + + this.regionListBase64 = Base64.getEncoder().encodeToString(regionList.toByteString().toByteArray()); + this.regionCurrentBase64 = Base64.getEncoder().encodeToString(parsedRegionQuery.toByteString().toByteArray()); + this.currRegion = parsedRegionQuery; + } catch (Exception e) { + e.printStackTrace(); + } + } + + public void start() throws Exception { + server = HttpsServer.create(getAddress(), 0); + SSLContext sslContext = SSLContext.getInstance("TLS"); + + try (FileInputStream fis = new FileInputStream(Grasscutter.getConfig().DispatchServerKeystorePath)) { + char[] keystorePassword = Grasscutter.getConfig().DispatchServerKeystorePassword.toCharArray(); + KeyStore ks = KeyStore.getInstance("PKCS12"); + ks.load(fis, keystorePassword); + KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509"); + kmf.init(ks, keystorePassword); + + sslContext.init(kmf.getKeyManagers(), null, null); + + server.setHttpsConfigurator(new HttpsConfigurator(sslContext)); + } catch (Exception e) { + Grasscutter.getLogger().error("No SSL cert found!"); + return; + } + + server.createContext("/", new HttpHandler() { + @Override + public void handle(HttpExchange t) throws IOException { + //Create a response form the request query parameters + String response = "Hello"; + //Set the response header status and length + t.getResponseHeaders().put("Content-Type", Collections.singletonList("text/html; charset=UTF-8")); + t.sendResponseHeaders(200, response.getBytes().length); + //Write the response string + OutputStream os = t.getResponseBody(); + os.write(response.getBytes()); + os.close(); + } + }); + + // Dispatch + server.createContext("/query_region_list", new HttpHandler() { + @Override + public void handle(HttpExchange t) throws IOException { + // Log + Grasscutter.getLogger().info("Client request: query_region_list"); + // Create a response form the request query parameters + String response = regionListBase64; + // Set the response header status and length + t.getResponseHeaders().put("Content-Type", Collections.singletonList("text/html; charset=UTF-8")); + t.sendResponseHeaders(200, response.getBytes().length); + // Write the response string + OutputStream os = t.getResponseBody(); + os.write(response.getBytes()); + os.close(); + } + }); + server.createContext("/query_cur_region", new HttpHandler() { + @Override + public void handle(HttpExchange t) throws IOException { + // Log + Grasscutter.getLogger().info("Client request: query_cur_region"); + // Create a response form the request query parameters + URI uri = t.getRequestURI(); + String response = "CAESGE5vdCBGb3VuZCB2ZXJzaW9uIGNvbmZpZw=="; + if (uri.getQuery() != null && uri.getQuery().length() > 0) { + response = regionCurrentBase64; + } + // Set the response header status and length + t.getResponseHeaders().put("Content-Type", Collections.singletonList("text/html; charset=UTF-8")); + t.sendResponseHeaders(200, response.getBytes().length); + // Write the response string + OutputStream os = t.getResponseBody(); + os.write(response.getBytes()); + os.close(); + } + }); + // Login via account + server.createContext("/hk4e_global/mdk/shield/api/login", new HttpHandler() { + @Override + public void handle(HttpExchange t) throws IOException { + // Get post data + LoginAccountRequestJson requestData = null; + try { + String body = Utils.toString(t.getRequestBody()); + requestData = getGsonFactory().fromJson(body, LoginAccountRequestJson.class); + } catch (Exception e) { + + } + // Create response json + if (requestData == null) { + return; + } + LoginResultJson responseData = new LoginResultJson(); + + // Login + Account account = DatabaseHelper.getAccountByName(requestData.account); + + // Test + if (account == null) { + responseData.retcode = -201; + responseData.message = "Username not found."; + } else { + responseData.message = "OK"; + responseData.data.account.uid = account.getId(); + responseData.data.account.token = account.generateSessionKey(); + responseData.data.account.email = account.getEmail(); + } + + // Create a response + String response = getGsonFactory().toJson(responseData); + // Set the response header status and length + t.getResponseHeaders().put("Content-Type", Collections.singletonList("application/json")); + t.sendResponseHeaders(200, response.getBytes().length); + // Write the response string + OutputStream os = t.getResponseBody(); + os.write(response.getBytes()); + os.close(); + } + }); + // Login via token + server.createContext("/hk4e_global/mdk/shield/api/verify", new HttpHandler() { + @Override + public void handle(HttpExchange t) throws IOException { + // Get post data + LoginTokenRequestJson requestData = null; + try { + String body = Utils.toString(t.getRequestBody()); + requestData = getGsonFactory().fromJson(body, LoginTokenRequestJson.class); + } catch (Exception e) { + + } + // Create response json + if (requestData == null) { + return; + } + LoginResultJson responseData = new LoginResultJson(); + + // Login + Account account = DatabaseHelper.getAccountById(requestData.uid); + + // Test + if (account == null || !account.getSessionKey().equals(requestData.token)) { + responseData.retcode = -111; + responseData.message = "Game account cache information error"; + } else { + responseData.message = "OK"; + responseData.data.account.uid = requestData.uid; + responseData.data.account.token = requestData.token; + responseData.data.account.email = account.getEmail(); + } + + // Create a response + String response = getGsonFactory().toJson(responseData); + // Set the response header status and length + t.getResponseHeaders().put("Content-Type", Collections.singletonList("application/json")); + t.sendResponseHeaders(200, response.getBytes().length); + // Write the response string + OutputStream os = t.getResponseBody(); + os.write(response.getBytes()); + os.close(); + } + }); + // Exchange for combo token + server.createContext("/hk4e_global/combo/granter/login/v2/login", new HttpHandler() { + @Override + public void handle(HttpExchange t) throws IOException { + // Get post data + ComboTokenReqJson requestData = null; + try { + String body = Utils.toString(t.getRequestBody()); + requestData = getGsonFactory().fromJson(body, ComboTokenReqJson.class); + } catch (Exception e) { + + } + // Create response json + if (requestData == null || requestData.data == null) { + return; + } + LoginTokenData loginData = getGsonFactory().fromJson(requestData.data, LoginTokenData.class); // Get login data + ComboTokenResJson responseData = new ComboTokenResJson(); + + // Login + Account account = DatabaseHelper.getAccountById(loginData.uid); + + // Test + if (account == null || !account.getSessionKey().equals(loginData.token)) { + responseData.retcode = -201; + responseData.message = "Wrong session key."; + } else { + responseData.message = "OK"; + responseData.data.open_id = loginData.uid; + responseData.data.combo_id = "157795300"; + responseData.data.combo_token = account.generateLoginToken(); + } + + // Create a response + String response = getGsonFactory().toJson(responseData); + // Set the response header status and length + t.getResponseHeaders().put("Content-Type", Collections.singletonList("application/json")); + t.sendResponseHeaders(200, response.getBytes().length); + // Write the response string + OutputStream os = t.getResponseBody(); + os.write(response.getBytes()); + os.close(); + } + }); + // Agreement and Protocol + server.createContext( // hk4e-sdk-os.hoyoverse.com + "/hk4e_global/mdk/agreement/api/getAgreementInfos", + new DispatchHttpJsonHandler("{\"retcode\":0,\"message\":\"OK\",\"data\":{\"marketing_agreements\":[]}}") + ); + server.createContext( // hk4e-sdk-os.hoyoverse.com + "/hk4e_global/combo/granter/api/compareProtocolVersion", + new DispatchHttpJsonHandler("{\"retcode\":0,\"message\":\"OK\",\"data\":{\"modified\":true,\"protocol\":{\"id\":0,\"app_id\":4,\"language\":\"en\",\"user_proto\":\"\",\"priv_proto\":\"\",\"major\":7,\"minimum\":0,\"create_time\":\"0\",\"teenager_proto\":\"\",\"third_proto\":\"\"}}}") + ); + // Game data + server.createContext( // hk4e-api-os.hoyoverse.com + "/common/hk4e_global/announcement/api/getAlertPic", + new DispatchHttpJsonHandler("{\"retcode\":0,\"message\":\"OK\",\"data\":{\"total\":0,\"list\":[]}}") + ); + server.createContext( // hk4e-api-os.hoyoverse.com + "/common/hk4e_global/announcement/api/getAlertAnn", + new DispatchHttpJsonHandler("{\"retcode\":0,\"message\":\"OK\",\"data\":{\"alert\":false,\"alert_id\":0,\"remind\":true}}") + ); + server.createContext( // hk4e-api-os.hoyoverse.com + "/common/hk4e_global/announcement/api/getAnnList", + new DispatchHttpJsonHandler("{\"retcode\":0,\"message\":\"OK\",\"data\":{\"list\":[],\"total\":0,\"type_list\":[],\"alert\":false,\"alert_id\":0,\"timezone\":0,\"t\":\"" + System.currentTimeMillis() + "\"}}") + ); + server.createContext( // hk4e-api-os-static.hoyoverse.com + "/common/hk4e_global/announcement/api/getAnnContent", + new DispatchHttpJsonHandler("{\"retcode\":0,\"message\":\"OK\",\"data\":{\"list\":[],\"total\":0}}") + ); + server.createContext( // hk4e-sdk-os.hoyoverse.com + "/hk4e_global/mdk/shopwindow/shopwindow/listPriceTier", + new DispatchHttpJsonHandler("{\"retcode\":0,\"message\":\"OK\",\"data\":{\"suggest_currency\":\"USD\",\"tiers\":[]}}") + ); + // Captcha + server.createContext( // api-account-os.hoyoverse.com + "/account/risky/api/check", + new DispatchHttpJsonHandler("{\"retcode\":0,\"message\":\"OK\",\"data\":{\"id\":\"c8820f246a5241ab9973f71df3ddd791\",\"action\":\"\",\"geetest\":{\"challenge\":\"\",\"gt\":\"\",\"new_captcha\":0,\"success\":1}}}") + ); + // Config + server.createContext( // sdk-os-static.hoyoverse.com + "/combo/box/api/config/sdk/combo", + new DispatchHttpJsonHandler("{\"retcode\":0,\"message\":\"OK\",\"data\":{\"vals\":{\"disable_email_bind_skip\":\"false\",\"email_bind_remind_interval\":\"7\",\"email_bind_remind\":\"true\"}}}") + ); + server.createContext( // hk4e-sdk-os-static.hoyoverse.com + "/hk4e_global/combo/granter/api/getConfig", + new DispatchHttpJsonHandler("{\"retcode\":0,\"message\":\"OK\",\"data\":{\"protocol\":true,\"qr_enabled\":false,\"log_level\":\"INFO\",\"announce_url\":\"https://webstatic-sea.hoyoverse.com/hk4e/announcement/index.html?sdk_presentation_style=fullscreen\\u0026sdk_screen_transparent=true\\u0026game_biz=hk4e_global\\u0026auth_appid=announcement\\u0026game=hk4e#/\",\"push_alias_type\":2,\"disable_ysdk_guard\":false,\"enable_announce_pic_popup\":true}}") + ); + server.createContext( // hk4e-sdk-os-static.hoyoverse.com + "/hk4e_global/mdk/shield/api/loadConfig", + new DispatchHttpJsonHandler("{\"retcode\":0,\"message\":\"OK\",\"data\":{\"id\":6,\"game_key\":\"hk4e_global\",\"client\":\"PC\",\"identity\":\"I_IDENTITY\",\"guest\":false,\"ignore_versions\":\"\",\"scene\":\"S_NORMAL\",\"name\":\"原神海外\",\"disable_regist\":false,\"enable_email_captcha\":false,\"thirdparty\":[\"fb\",\"tw\"],\"disable_mmt\":false,\"server_guest\":false,\"thirdparty_ignore\":{\"tw\":\"\",\"fb\":\"\"},\"enable_ps_bind_account\":false,\"thirdparty_login_configs\":{\"tw\":{\"token_type\":\"TK_GAME_TOKEN\",\"game_token_expires_in\":604800},\"fb\":{\"token_type\":\"TK_GAME_TOKEN\",\"game_token_expires_in\":604800}}}}") + ); + // Test api? + server.createContext( // abtest-api-data-sg.hoyoverse.com + "/data_abtest_api/config/experiment/list", + new DispatchHttpJsonHandler("{\"retcode\":0,\"success\":true,\"message\":\"\",\"data\":[{\"code\":1000,\"type\":2,\"config_id\":\"14\",\"period_id\":\"6036_99\",\"version\":\"1\",\"configs\":{\"cardType\":\"old\"}}]}") + ); + // Log Server + server.createContext( // log-upload-os.mihoyo.com + "/log/sdk/upload", + new DispatchHttpJsonHandler("{\"code\":0}") + ); + server.createContext( // log-upload-os.mihoyo.com + "/sdk/upload", + new DispatchHttpJsonHandler("{\"code\":0}") + ); + // Start server + server.start(); + Grasscutter.getLogger().info("Dispatch server started on port " + getAddress().getPort()); + + // Logging servers + HttpServer overseaLogServer = HttpServer.create(new InetSocketAddress(Grasscutter.getConfig().DispatchServerIp, 8888), 0); + overseaLogServer.createContext( // overseauspider.yuanshen.com + "/log", + new DispatchHttpJsonHandler("{\"code\":0}") + ); + overseaLogServer.start(); + Grasscutter.getLogger().info("Log server (overseauspider) started on port " + 8888); + + HttpServer uploadLogServer = HttpServer.create(new InetSocketAddress(Grasscutter.getConfig().DispatchServerIp, 80), 0); + uploadLogServer.createContext( // log-upload-os.mihoyo.com + "/crash/dataUpload", + new DispatchHttpJsonHandler("{\"code\":0}") + ); + uploadLogServer.createContext("/gacha", new HttpHandler() { + @Override + public void handle(HttpExchange t) throws IOException { + //Create a response form the request query parameters + String response = "Gacha"; + //Set the response header status and length + t.getResponseHeaders().put("Content-Type", Collections.singletonList("text/html; charset=UTF-8")); + t.sendResponseHeaders(200, response.getBytes().length); + //Write the response string + OutputStream os = t.getResponseBody(); + os.write(response.getBytes()); + os.close(); + } + }); + uploadLogServer.start(); + Grasscutter.getLogger().info("Log server (log-upload-os) started on port " + 80); + } + + private Map parseQueryString(String qs) { + Map result = new HashMap<>(); + if (qs == null) + return result; + + int last = 0, next, l = qs.length(); + while (last < l) { + next = qs.indexOf('&', last); + if (next == -1) + next = l; + + if (next > last) { + int eqPos = qs.indexOf('=', last); + try { + if (eqPos < 0 || eqPos > next) + result.put(URLDecoder.decode(qs.substring(last, next), "utf-8"), ""); + else + result.put(URLDecoder.decode(qs.substring(last, eqPos), "utf-8"), URLDecoder.decode(qs.substring(eqPos + 1, next), "utf-8")); + } catch (UnsupportedEncodingException e) { + throw new RuntimeException(e); // will never happen, utf-8 support is mandatory for java + } + } + last = next + 1; + } + return result; + } +} diff --git a/src/main/java/emu/grasscutter/server/dispatch/json/ComboTokenReqJson.java b/src/main/java/emu/grasscutter/server/dispatch/json/ComboTokenReqJson.java new file mode 100644 index 00000000..dac26cfa --- /dev/null +++ b/src/main/java/emu/grasscutter/server/dispatch/json/ComboTokenReqJson.java @@ -0,0 +1,15 @@ +package emu.grasscutter.server.dispatch.json; + +public class ComboTokenReqJson { + public int app_id; + public int channel_id; + public String data; + public String device; + public String sign; + + public class LoginTokenData { + public String uid; + public String token; + public boolean guest; + } +} diff --git a/src/main/java/emu/grasscutter/server/dispatch/json/ComboTokenResJson.java b/src/main/java/emu/grasscutter/server/dispatch/json/ComboTokenResJson.java new file mode 100644 index 00000000..731d5085 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/dispatch/json/ComboTokenResJson.java @@ -0,0 +1,17 @@ +package emu.grasscutter.server.dispatch.json; + +public class ComboTokenResJson { + public String message; + public int retcode; + public LoginData data = new LoginData(); + + public class LoginData { + public int account_type = 1; + public boolean heartbeat; + public String combo_id; + public String combo_token; + public String open_id; + public String data = "{\"guest\":false}"; + public String fatigue_remind = null; // ? + } +} diff --git a/src/main/java/emu/grasscutter/server/dispatch/json/LoginAccountRequestJson.java b/src/main/java/emu/grasscutter/server/dispatch/json/LoginAccountRequestJson.java new file mode 100644 index 00000000..cb3aff34 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/dispatch/json/LoginAccountRequestJson.java @@ -0,0 +1,7 @@ +package emu.grasscutter.server.dispatch.json; + +public class LoginAccountRequestJson { + public String account; + public String password; + public boolean is_crypto; +} diff --git a/src/main/java/emu/grasscutter/server/dispatch/json/LoginResultJson.java b/src/main/java/emu/grasscutter/server/dispatch/json/LoginResultJson.java new file mode 100644 index 00000000..5988752d --- /dev/null +++ b/src/main/java/emu/grasscutter/server/dispatch/json/LoginResultJson.java @@ -0,0 +1,38 @@ +package emu.grasscutter.server.dispatch.json; + +public class LoginResultJson { + public String message; + public int retcode; + public VerifyData data = new VerifyData(); + + public class VerifyData { + public VerifyAccountData account = new VerifyAccountData(); + public boolean device_grant_required = false; + public String realname_operation = "NONE"; + public boolean realperson_required = false; + public boolean safe_mobile_required = false; + } + + public class VerifyAccountData { + public String uid; + public String name = ""; + public String email; + public String mobile = ""; + public String is_email_verify = "0"; + public String realname = ""; + public String identity_card = ""; + public String token; + public String safe_mobile = ""; + public String facebook_name = ""; + public String twitter_name = ""; + public String game_center_name = ""; + public String google_name = ""; + public String apple_name = ""; + public String sony_name = ""; + public String tap_name = ""; + public String country = "US"; + public String reactivate_ticket = ""; + public String area_code = "**"; + public String device_grant_ticket = ""; + } +} diff --git a/src/main/java/emu/grasscutter/server/dispatch/json/LoginTokenRequestJson.java b/src/main/java/emu/grasscutter/server/dispatch/json/LoginTokenRequestJson.java new file mode 100644 index 00000000..12fed8f0 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/dispatch/json/LoginTokenRequestJson.java @@ -0,0 +1,6 @@ +package emu.grasscutter.server.dispatch.json; + +public class LoginTokenRequestJson { + public String uid; + public String token; +} diff --git a/src/main/java/emu/grasscutter/server/game/GameServer.java b/src/main/java/emu/grasscutter/server/game/GameServer.java new file mode 100644 index 00000000..1baf3253 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/game/GameServer.java @@ -0,0 +1,160 @@ +package emu.grasscutter.server.game; + +import java.net.InetSocketAddress; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.Timer; +import java.util.TimerTask; +import java.util.concurrent.ConcurrentHashMap; + +import emu.grasscutter.GenshinConstants; +import emu.grasscutter.Grasscutter; +import emu.grasscutter.database.DatabaseHelper; +import emu.grasscutter.game.GenshinPlayer; +import emu.grasscutter.game.dungeons.DungeonManager; +import emu.grasscutter.game.gacha.GachaManager; +import emu.grasscutter.game.managers.ChatManager; +import emu.grasscutter.game.managers.InventoryManager; +import emu.grasscutter.game.managers.MultiplayerManager; +import emu.grasscutter.game.shop.ShopManager; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.net.proto.SocialDetailOuterClass.SocialDetail; +import emu.grasscutter.netty.MihoyoKcpServer; + +public class GameServer extends MihoyoKcpServer { + private final InetSocketAddress address; + private final GameServerPacketHandler packetHandler; + private final Timer gameLoop; + + private final Map players; + + private final ChatManager chatManager; + private final InventoryManager inventoryManager; + private final GachaManager gachaManager; + private final ShopManager shopManager; + private final MultiplayerManager multiplayerManager; + private final DungeonManager dungeonManager; + + public GameServer(InetSocketAddress address) { + super(address); + this.setServerInitializer(new GameServerInitializer(this)); + this.address = address; + this.packetHandler = new GameServerPacketHandler(PacketHandler.class); + this.players = new ConcurrentHashMap<>(); + + this.chatManager = new ChatManager(this); + this.inventoryManager = new InventoryManager(this); + this.gachaManager = new GachaManager(this); + this.shopManager = new ShopManager(this); + this.multiplayerManager = new MultiplayerManager(this); + this.dungeonManager = new DungeonManager(this); + + // Ticker + this.gameLoop = new Timer(); + this.gameLoop.scheduleAtFixedRate(new TimerTask() { + @Override + public void run() { + try { + onTick(); + } catch (Exception e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + }, new Date(), 1000L); + + // Shutdown hook + Runtime.getRuntime().addShutdownHook(new Thread(this::onServerShutdown)); + } + + public GameServerPacketHandler getPacketHandler() { + return packetHandler; + } + + public Map getPlayers() { + return players; + } + + public ChatManager getChatManager() { + return chatManager; + } + + public InventoryManager getInventoryManager() { + return inventoryManager; + } + + public GachaManager getGachaManager() { + return gachaManager; + } + + public ShopManager getShopManager() { + return shopManager; + } + + public MultiplayerManager getMultiplayerManager() { + return multiplayerManager; + } + + public DungeonManager getDungeonManager() { + return dungeonManager; + } + + public void registerPlayer(GenshinPlayer player) { + getPlayers().put(player.getId(), player); + } + + public GenshinPlayer getPlayerById(int id) { + return this.getPlayers().get(id); + } + + public GenshinPlayer forceGetPlayerById(int id) { + // Console check + if (id == GenshinConstants.SERVER_CONSOLE_UID) { + return null; + } + + // Get from online players + GenshinPlayer player = this.getPlayerById(id); + + // Check database if character isnt here + if (player == null) { + player = DatabaseHelper.getPlayerById(id); + } + + return player; + } + + public SocialDetail.Builder getSocialDetailById(int id) { + // Get from online players + GenshinPlayer player = this.forceGetPlayerById(id); + + if (player == null) { + return null; + } + + return player.getSocialDetail(); + } + + public void onTick() throws Exception { + for (GenshinPlayer player : this.getPlayers().values()) { + player.onTick(); + } + } + + @Override + public void onStartFinish() { + Grasscutter.getLogger().info("Game Server started on port " + address.getPort()); + } + + public void onServerShutdown() { + // Kick and save all players + List list = new ArrayList<>(this.getPlayers().size()); + list.addAll(this.getPlayers().values()); + + for (GenshinPlayer player : list) { + player.getSession().close(); + } + } +} diff --git a/src/main/java/emu/grasscutter/server/game/GameServerInitializer.java b/src/main/java/emu/grasscutter/server/game/GameServerInitializer.java new file mode 100644 index 00000000..5472c1db --- /dev/null +++ b/src/main/java/emu/grasscutter/server/game/GameServerInitializer.java @@ -0,0 +1,20 @@ +package emu.grasscutter.server.game; + +import emu.grasscutter.netty.MihoyoKcpServerInitializer; +import io.jpower.kcp.netty.UkcpChannel; +import io.netty.channel.ChannelPipeline; + +public class GameServerInitializer extends MihoyoKcpServerInitializer { + private GameServer server; + + public GameServerInitializer(GameServer server) { + this.server = server; + } + + @Override + protected void initChannel(UkcpChannel ch) throws Exception { + ChannelPipeline pipeline = ch.pipeline(); + GameSession session = new GameSession(server); + pipeline.addLast(session); + } +} diff --git a/src/main/java/emu/grasscutter/server/game/GameServerPacketHandler.java b/src/main/java/emu/grasscutter/server/game/GameServerPacketHandler.java new file mode 100644 index 00000000..11863766 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/game/GameServerPacketHandler.java @@ -0,0 +1,94 @@ +package emu.grasscutter.server.game; + +import java.util.Set; + +import org.reflections.Reflections; + +import emu.grasscutter.Grasscutter; +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.server.game.GameSession.SessionState; +import it.unimi.dsi.fastutil.ints.Int2ObjectMap; +import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap; + +public class GameServerPacketHandler { + private final Int2ObjectMap handlers; + + public GameServerPacketHandler(Class handlerClass) { + this.handlers = new Int2ObjectOpenHashMap<>(); + + this.registerHandlers(handlerClass); + } + + public void registerHandlers(Class handlerClass) { + Reflections reflections = new Reflections("emu.grasscutter.server.packet"); + Set handlerClasses = reflections.getSubTypesOf(handlerClass); + + for (Object obj : handlerClasses) { + Class c = (Class) obj; + + try { + Opcodes opcode = c.getAnnotation(Opcodes.class); + + if (opcode == null || opcode.disabled() || opcode.value() <= 0) { + continue; + } + + PacketHandler packetHandler = (PacketHandler) c.newInstance(); + + this.handlers.put(opcode.value(), packetHandler); + } catch (Exception e) { + e.printStackTrace(); + } + } + + // Debug + Grasscutter.getLogger().info("Registered " + this.handlers.size() + " " + handlerClass.getSimpleName() + "s"); + } + + public void handle(GameSession session, int opcode, byte[] header, byte[] payload) { + PacketHandler handler = null; + + handler = this.handlers.get(opcode); + + if (handler != null) { + try { + // Make sure session is ready for packets + SessionState state = session.getState(); + + if (opcode == PacketOpcodes.PingReq) { + // Always continue if packet is ping request + } else if (opcode == PacketOpcodes.GetPlayerTokenReq) { + if (state != SessionState.WAITING_FOR_TOKEN) { + return; + } + } else if (opcode == PacketOpcodes.PlayerLoginReq) { + if (state != SessionState.WAITING_FOR_LOGIN) { + return; + } + } else if (opcode == PacketOpcodes.SetPlayerBornDataReq) { + if (state != SessionState.PICKING_CHARACTER) { + return; + } + } else { + if (state != SessionState.ACTIVE) { + return; + } + } + + // Handle + handler.handle(session, header, payload); + } catch (Exception ex) { + // TODO Remove this when no more needed + ex.printStackTrace(); + } + return; // Packet successfully handled + } + + // Log unhandled packets + if (Grasscutter.getConfig().LOG_PACKETS) { + //Grasscutter.getLogger().info("Unhandled packet (" + opcode + "): " + PacketOpcodesUtil.getOpcodeName(opcode)); + } + } +} diff --git a/src/main/java/emu/grasscutter/server/game/GameSession.java b/src/main/java/emu/grasscutter/server/game/GameSession.java new file mode 100644 index 00000000..29dcd46b --- /dev/null +++ b/src/main/java/emu/grasscutter/server/game/GameSession.java @@ -0,0 +1,250 @@ +package emu.grasscutter.server.game; + +import java.io.File; +import java.net.InetSocketAddress; +import java.nio.ByteBuffer; + +import emu.grasscutter.Grasscutter; +import emu.grasscutter.game.Account; +import emu.grasscutter.game.GenshinPlayer; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodesUtil; +import emu.grasscutter.netty.MihoyoKcpChannel; +import emu.grasscutter.utils.Crypto; +import emu.grasscutter.utils.FileUtils; +import emu.grasscutter.utils.Utils; +import io.netty.buffer.ByteBuf; +import io.netty.buffer.Unpooled; +import io.netty.channel.ChannelHandlerContext; + +public class GameSession extends MihoyoKcpChannel { + private GameServer server; + + private Account account; + private GenshinPlayer player; + + private boolean useSecretKey; + private SessionState state; + + private int clientTime; + private long lastPingTime; + private int lastClientSeq = 10; + + public GameSession(GameServer server) { + this.server = server; + this.state = SessionState.WAITING_FOR_TOKEN; + this.lastPingTime = System.currentTimeMillis(); + } + + public GameServer getServer() { + return server; + } + + public InetSocketAddress getAddress() { + if (this.getChannel() == null) { + return null; + } + return this.getChannel().remoteAddress(); + } + + public boolean useSecretKey() { + return useSecretKey; + } + + public Account getAccount() { + return account; + } + + public void setAccount(Account account) { + this.account = account; + } + + public String getAccountId() { + return this.getAccount().getId(); + } + + public GenshinPlayer getPlayer() { + return player; + } + + public synchronized void setPlayer(GenshinPlayer player) { + this.player = player; + this.player.setSession(this); + this.player.setAccount(this.getAccount()); + } + + public SessionState getState() { + return state; + } + + public void setState(SessionState state) { + this.state = state; + } + + public boolean isLoggedIn() { + return this.getPlayer() != null; + } + + public void setUseSecretKey(boolean useSecretKey) { + this.useSecretKey = useSecretKey; + } + + public int getClientTime() { + return this.clientTime; + } + + public long getLastPingTime() { + return lastPingTime; + } + + public void updateLastPingTime(int clientTime) { + this.clientTime = clientTime; + this.lastPingTime = System.currentTimeMillis(); + } + + public int getNextClientSequence() { + return ++lastClientSeq; + } + + @Override + protected void onConnect() { + Grasscutter.getLogger().info("Client connected from " + getAddress().getHostString().toLowerCase()); + } + + @Override + protected synchronized void onDisconnect() { // Synchronize so we dont add character at the same time + Grasscutter.getLogger().info("Client disconnected from " + getAddress().getHostString().toLowerCase()); + + // Set state so no more packets can be handled + this.setState(SessionState.INACTIVE); + + // Save after disconnecting + if (this.isLoggedIn()) { + // Save + getPlayer().onLogout(); + // Remove from gameserver + getServer().getPlayers().remove(getPlayer().getId()); + } + } + + protected void logPacket(ByteBuffer buf) { + ByteBuf b = Unpooled.wrappedBuffer(buf.array()); + logPacket(b); + } + + public void replayPacket(int opcode, String name) { + String filePath = Grasscutter.getConfig().PACKETS_FOLDER + name; + File p = new File(filePath); + + if (!p.exists()) return; + + byte[] packet = FileUtils.read(p); + + GenshinPacket genshinPacket = new GenshinPacket(opcode); + genshinPacket.setData(packet); + + // Log + logPacket(genshinPacket.getOpcode()); + + send(genshinPacket); + } + + public void send(GenshinPacket genshinPacket) { + // Test + if (genshinPacket.getOpcode() <= 0) { + Grasscutter.getLogger().warn("Tried to send packet with missing cmd id!"); + return; + } + + // Header + if (genshinPacket.shouldBuildHeader()) { + genshinPacket.buildHeader(this.getNextClientSequence()); + } + + // Build packet + byte[] data = genshinPacket.build(); + + // Log + if (Grasscutter.getConfig().LOG_PACKETS) { + logPacket(genshinPacket); + } + + // Send + send(data); + } + + private void logPacket(int opcode) { + //Grasscutter.getLogger().info("SEND: " + PacketOpcodesUtil.getOpcodeName(opcode)); + //System.out.println(Utils.bytesToHex(genshinPacket.getData())); + } + + private void logPacket(GenshinPacket genshinPacket) { + Grasscutter.getLogger().info("SEND: " + PacketOpcodesUtil.getOpcodeName(genshinPacket.getOpcode()) + " (" + genshinPacket.getOpcode() + ")"); + System.out.println(Utils.bytesToHex(genshinPacket.getData())); + } + + @Override + public void onMessage(ChannelHandlerContext ctx, ByteBuf data) { + // Decrypt and turn back into a packet + byte[] byteData = Utils.byteBufToArray(data); + Crypto.xor(byteData, useSecretKey() ? Crypto.ENCRYPT_KEY : Crypto.DISPATCH_KEY); + ByteBuf packet = Unpooled.wrappedBuffer(byteData); + + // Log + //logPacket(packet); + + // Handle + try { + while (packet.readableBytes() > 0) { + // Length + if (packet.readableBytes() < 12) { + return; + } + + // Packet sanity check + int const1 = packet.readShort(); + if (const1 != 17767) { + return; // Bad packet + } + + // Data + int opcode = packet.readShort(); + int headerLength = packet.readShort(); + int payloadLength = packet.readInt(); + + byte[] header = new byte[headerLength]; + byte[] payload = new byte[payloadLength]; + + packet.readBytes(header); + packet.readBytes(payload); + + // Sanity check #2 + int const2 = packet.readShort(); + if (const2 != -30293) { + return; // Bad packet + } + + // Log packet + if (Grasscutter.getConfig().LOG_PACKETS) { + Grasscutter.getLogger().info("RECV: " + PacketOpcodesUtil.getOpcodeName(opcode) + " (" + opcode + ")"); + System.out.println(Utils.bytesToHex(payload)); + } + + // Handle + getServer().getPacketHandler().handle(this, opcode, header, payload); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + packet.release(); + } + } + + public enum SessionState { + INACTIVE, + WAITING_FOR_TOKEN, + WAITING_FOR_LOGIN, + PICKING_CHARACTER, + ACTIVE; + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/Handler.java b/src/main/java/emu/grasscutter/server/packet/recv/Handler.java new file mode 100644 index 00000000..e56664ac --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/Handler.java @@ -0,0 +1,16 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; + +@Opcodes(PacketOpcodes.NONE) +public class Handler extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + // Auto template + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerAbilityInvocationsNotify.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerAbilityInvocationsNotify.java new file mode 100644 index 00000000..710ea0fe --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerAbilityInvocationsNotify.java @@ -0,0 +1,27 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.AbilityInvocationsNotifyOuterClass.AbilityInvocationsNotify; +import emu.grasscutter.net.proto.AbilityInvokeEntryOuterClass.AbilityInvokeEntry; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; + +@Opcodes(PacketOpcodes.AbilityInvocationsNotify) +public class HandlerAbilityInvocationsNotify extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + AbilityInvocationsNotify notif = AbilityInvocationsNotify.parseFrom(payload); + + for (AbilityInvokeEntry entry : notif.getInvokesList()) { + //System.out.println(entry.getArgumentType() + ": " + Utils.bytesToHex(entry.getAbilityData().toByteArray())); + session.getPlayer().getAbilityInvokeHandler().addEntry(entry.getForwardType(), entry); + } + + if (notif.getInvokesList().size() > 0) { + session.getPlayer().getAbilityInvokeHandler().update(session.getPlayer()); + } + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerAskAddFriendReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerAskAddFriendReq.java new file mode 100644 index 00000000..3449b88d --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerAskAddFriendReq.java @@ -0,0 +1,19 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.AskAddFriendReqOuterClass.AskAddFriendReq; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; + +@Opcodes(PacketOpcodes.AskAddFriendReq) +public class HandlerAskAddFriendReq extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + AskAddFriendReq req = AskAddFriendReq.parseFrom(payload); + + session.getPlayer().getFriendsList().sendFriendRequest(req.getTargetUid()); + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerAvatarChangeCostumeReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerAvatarChangeCostumeReq.java new file mode 100644 index 00000000..d2270a52 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerAvatarChangeCostumeReq.java @@ -0,0 +1,26 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.AvatarChangeCostumeReqOuterClass.AvatarChangeCostumeReq; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; +import emu.grasscutter.server.packet.send.PacketAvatarChangeCostumeRsp; + +@Opcodes(PacketOpcodes.AvatarChangeCostumeReq) +public class HandlerAvatarChangeCostumeReq extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + AvatarChangeCostumeReq req = AvatarChangeCostumeReq.parseFrom(payload); + + boolean success = session.getPlayer().getAvatars().changeCostume(req.getAvatarGuid(), req.getCostumeId()); + + if (success) { + session.getPlayer().sendPacket(new PacketAvatarChangeCostumeRsp(req.getAvatarGuid(), req.getCostumeId())); + } else { + session.getPlayer().sendPacket(new PacketAvatarChangeCostumeRsp()); + } + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerAvatarDieAnimationEndReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerAvatarDieAnimationEndReq.java new file mode 100644 index 00000000..2935da00 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerAvatarDieAnimationEndReq.java @@ -0,0 +1,19 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.AvatarDieAnimationEndReqOuterClass.AvatarDieAnimationEndReq; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; + +@Opcodes(PacketOpcodes.AvatarDieAnimationEndReq) +public class HandlerAvatarDieAnimationEndReq extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + AvatarDieAnimationEndReq req = AvatarDieAnimationEndReq.parseFrom(payload); + + session.getPlayer().getTeamManager().onAvatarDie(req.getDieGuid()); + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerAvatarPromoteReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerAvatarPromoteReq.java new file mode 100644 index 00000000..cd863f5b --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerAvatarPromoteReq.java @@ -0,0 +1,20 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.AvatarPromoteReqOuterClass.AvatarPromoteReq; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; + +@Opcodes(PacketOpcodes.AvatarPromoteReq) +public class HandlerAvatarPromoteReq extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + AvatarPromoteReq req = AvatarPromoteReq.parseFrom(payload); + + // Ascend avatar + session.getServer().getInventoryManager().promoteAvatar(session.getPlayer(), req.getGuid()); + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerAvatarSkillUpgradeReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerAvatarSkillUpgradeReq.java new file mode 100644 index 00000000..e179bcd8 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerAvatarSkillUpgradeReq.java @@ -0,0 +1,20 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.AvatarSkillUpgradeReqOuterClass.AvatarSkillUpgradeReq; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; + +@Opcodes(PacketOpcodes.AvatarSkillUpgradeReq) +public class HandlerAvatarSkillUpgradeReq extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + AvatarSkillUpgradeReq req = AvatarSkillUpgradeReq.parseFrom(payload); + + // Level up avatar talent + session.getServer().getInventoryManager().upgradeAvatarSkill(session.getPlayer(), req.getAvatarGuid(), req.getAvatarSkillId()); + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerAvatarUpgradeReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerAvatarUpgradeReq.java new file mode 100644 index 00000000..3254b232 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerAvatarUpgradeReq.java @@ -0,0 +1,25 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.AvatarUpgradeReqOuterClass.AvatarUpgradeReq; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; + +@Opcodes(PacketOpcodes.AvatarUpgradeReq) +public class HandlerAvatarUpgradeReq extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + AvatarUpgradeReq req = AvatarUpgradeReq.parseFrom(payload); + + // Level up avatar + session.getServer().getInventoryManager().upgradeAvatar( + session.getPlayer(), + req.getAvatarGuid(), + req.getItemId(), + req.getCount() + ); + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerAvatarWearFlycloakReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerAvatarWearFlycloakReq.java new file mode 100644 index 00000000..a33db86d --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerAvatarWearFlycloakReq.java @@ -0,0 +1,24 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.AvatarWearFlycloakReqOuterClass.AvatarWearFlycloakReq; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; +import emu.grasscutter.server.packet.send.PacketAvatarWearFlycloakRsp; + +@Opcodes(PacketOpcodes.AvatarWearFlycloakReq) +public class HandlerAvatarWearFlycloakReq extends PacketHandler { + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + AvatarWearFlycloakReq req = AvatarWearFlycloakReq.parseFrom(payload); + + boolean success = session.getPlayer().getAvatars().wearFlycloak(req.getAvatarGuid(), req.getFlycloakId()); + + if (success) { + session.getPlayer().sendPacket(new PacketAvatarWearFlycloakRsp(req.getAvatarGuid(), req.getFlycloakId())); + } else { + session.getPlayer().sendPacket(new PacketAvatarWearFlycloakRsp()); + } + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerCalcWeaponUpgradeReturnItemsReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerCalcWeaponUpgradeReturnItemsReq.java new file mode 100644 index 00000000..79f199ee --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerCalcWeaponUpgradeReturnItemsReq.java @@ -0,0 +1,34 @@ +package emu.grasscutter.server.packet.recv; + +import java.util.List; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.CalcWeaponUpgradeReturnItemsReqOuterClass.CalcWeaponUpgradeReturnItemsReq; +import emu.grasscutter.net.proto.ItemParamOuterClass.ItemParam; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; +import emu.grasscutter.server.packet.send.PacketCalcWeaponUpgradeReturnItemsRsp; + +@Opcodes(PacketOpcodes.CalcWeaponUpgradeReturnItemsReq) +public class HandlerCalcWeaponUpgradeReturnItemsReq extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + CalcWeaponUpgradeReturnItemsReq req = CalcWeaponUpgradeReturnItemsReq.parseFrom(payload); + + List returnOres = session.getServer().getInventoryManager().calcWeaponUpgradeReturnItems( + session.getPlayer(), + req.getTargetWeaponGuid(), + req.getFoodWeaponGuidListList(), + req.getItemParamListList() + ); + + if (returnOres != null) { + session.send(new PacketCalcWeaponUpgradeReturnItemsRsp(req.getTargetWeaponGuid(), returnOres)); + } else { + session.send(new PacketCalcWeaponUpgradeReturnItemsRsp()); + } + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerChangeAvatarReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerChangeAvatarReq.java new file mode 100644 index 00000000..eeba7441 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerChangeAvatarReq.java @@ -0,0 +1,19 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.ChangeAvatarReqOuterClass.ChangeAvatarReq; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; + +@Opcodes(PacketOpcodes.ChangeAvatarReq) +public class HandlerChangeAvatarReq extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + ChangeAvatarReq req = ChangeAvatarReq.parseFrom(payload); + + session.getPlayer().getTeamManager().changeAvatar(req.getGuid()); + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerChangeGameTimeReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerChangeGameTimeReq.java new file mode 100644 index 00000000..42f633c2 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerChangeGameTimeReq.java @@ -0,0 +1,21 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.ChangeGameTimeReqOuterClass.ChangeGameTimeReq; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; +import emu.grasscutter.server.packet.send.PacketChangeGameTimeRsp; + +@Opcodes(PacketOpcodes.ChangeGameTimeReq) +public class HandlerChangeGameTimeReq extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + ChangeGameTimeReq req = ChangeGameTimeReq.parseFrom(payload); + + session.getPlayer().getWorld().changeTime(req.getGameTime()); + session.getPlayer().sendPacket(new PacketChangeGameTimeRsp(session.getPlayer().getWorld())); + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerChangeMpTeamAvatarReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerChangeMpTeamAvatarReq.java new file mode 100644 index 00000000..a8b0b05e --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerChangeMpTeamAvatarReq.java @@ -0,0 +1,19 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.ChangeMpTeamAvatarReqOuterClass.ChangeMpTeamAvatarReq; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; + +@Opcodes(PacketOpcodes.ChangeMpTeamAvatarReq) +public class HandlerChangeMpTeamAvatarReq extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + ChangeMpTeamAvatarReq req = ChangeMpTeamAvatarReq.parseFrom(payload); + + session.getPlayer().getTeamManager().setupMpTeam(req.getAvatarGuidListList()); + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerChangeTeamNameReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerChangeTeamNameReq.java new file mode 100644 index 00000000..c754ff7c --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerChangeTeamNameReq.java @@ -0,0 +1,19 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.ChangeTeamNameReqOuterClass.ChangeTeamNameReq; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; + +@Opcodes(PacketOpcodes.ChangeTeamNameReq) +public class HandlerChangeTeamNameReq extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + ChangeTeamNameReq req = ChangeTeamNameReq.parseFrom(payload); + + session.getPlayer().getTeamManager().setTeamName(req.getTeamId(), req.getTeamName()); + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerChooseCurAvatarTeamReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerChooseCurAvatarTeamReq.java new file mode 100644 index 00000000..16c28ad4 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerChooseCurAvatarTeamReq.java @@ -0,0 +1,19 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.ChooseCurAvatarTeamReqOuterClass.ChooseCurAvatarTeamReq; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; + +@Opcodes(PacketOpcodes.ChooseCurAvatarTeamReq) +public class HandlerChooseCurAvatarTeamReq extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + ChooseCurAvatarTeamReq req = ChooseCurAvatarTeamReq.parseFrom(payload); + + session.getPlayer().getTeamManager().setCurrentTeam(req.getTeamId()); + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerCombatInvocationsNotify.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerCombatInvocationsNotify.java new file mode 100644 index 00000000..58ae9691 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerCombatInvocationsNotify.java @@ -0,0 +1,51 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.game.entity.GenshinEntity; +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.CombatInvocationsNotifyOuterClass.CombatInvocationsNotify; +import emu.grasscutter.net.proto.CombatInvokeEntryOuterClass.CombatInvokeEntry; +import emu.grasscutter.net.proto.EntityMoveInfoOuterClass.EntityMoveInfo; +import emu.grasscutter.net.proto.EvtBeingHitInfoOuterClass.EvtBeingHitInfo; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; + +@Opcodes(PacketOpcodes.CombatInvocationsNotify) +public class HandlerCombatInvocationsNotify extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + CombatInvocationsNotify notif = CombatInvocationsNotify.parseFrom(payload); + + for (CombatInvokeEntry entry : notif.getInvokeListList()) { + switch (entry.getArgumentType()) { + case CombatEvtBeingHit: + // Handle damage + EvtBeingHitInfo hitInfo = EvtBeingHitInfo.parseFrom(entry.getCombatData()); + session.getPlayer().getWorld().handleAttack(hitInfo.getAttackResult()); + break; + case EntityMove: + // Handle movement + EntityMoveInfo moveInfo = EntityMoveInfo.parseFrom(entry.getCombatData()); + GenshinEntity entity = session.getPlayer().getWorld().getEntityById(moveInfo.getEntityId()); + if (entity != null) { + entity.getPosition().set(moveInfo.getMotionInfo().getPos()); + entity.getRotation().set(moveInfo.getMotionInfo().getRot()); + entity.setLastMoveSceneTimeMs(moveInfo.getSceneTime()); + entity.setLastMoveReliableSeq(moveInfo.getReliableSeq()); + entity.setMotionState(moveInfo.getMotionInfo().getState()); + } + break; + default: + break; + } + + session.getPlayer().getCombatInvokeHandler().addEntry(entry.getForwardType(), entry); + } + + if (notif.getInvokeListList().size() > 0) { + session.getPlayer().getCombatInvokeHandler().update(session.getPlayer()); + } + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerDealAddFriendReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerDealAddFriendReq.java new file mode 100644 index 00000000..ebf1e39d --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerDealAddFriendReq.java @@ -0,0 +1,19 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.DealAddFriendReqOuterClass.DealAddFriendReq; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; + +@Opcodes(PacketOpcodes.DealAddFriendReq) +public class HandlerDealAddFriendReq extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + DealAddFriendReq req = DealAddFriendReq.parseFrom(payload); + + session.getPlayer().getFriendsList().handleFriendRequest(req.getTargetUid(), req.getDealAddFriendResult()); + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerDeleteFriendReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerDeleteFriendReq.java new file mode 100644 index 00000000..5f0c958b --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerDeleteFriendReq.java @@ -0,0 +1,19 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.DeleteFriendReqOuterClass.DeleteFriendReq; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; + +@Opcodes(PacketOpcodes.DeleteFriendReq) +public class HandlerDeleteFriendReq extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + DeleteFriendReq req = DeleteFriendReq.parseFrom(payload); + + session.getPlayer().getFriendsList().deleteFriend(req.getTargetUid()); + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerDestroyMaterialReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerDestroyMaterialReq.java new file mode 100644 index 00000000..e39239f6 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerDestroyMaterialReq.java @@ -0,0 +1,18 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.DestroyMaterialReqOuterClass.DestroyMaterialReq; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; + +@Opcodes(PacketOpcodes.DestroyMaterialReq) +public class HandlerDestroyMaterialReq extends PacketHandler { + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + DestroyMaterialReq req = DestroyMaterialReq.parseFrom(payload); + + // Delete items + session.getServer().getInventoryManager().destroyMaterial(session.getPlayer(), req.getMaterialListList()); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerDoGachaReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerDoGachaReq.java new file mode 100644 index 00000000..0aa680a1 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerDoGachaReq.java @@ -0,0 +1,17 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.DoGachaReqOuterClass.DoGachaReq; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; + +@Opcodes(PacketOpcodes.DoGachaReq) +public class HandlerDoGachaReq extends PacketHandler { + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + DoGachaReq req = DoGachaReq.parseFrom(payload); + + session.getServer().getGachaManager().doPulls(session.getPlayer(), req.getGachaType(), req.getGachaTimes()); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerDungeonEntryInfoReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerDungeonEntryInfoReq.java new file mode 100644 index 00000000..a490e9d7 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerDungeonEntryInfoReq.java @@ -0,0 +1,16 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; + +@Opcodes(PacketOpcodes.DungeonEntryInfoReq) +public class HandlerDungeonEntryInfoReq extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerEnterSceneDoneReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerEnterSceneDoneReq.java new file mode 100644 index 00000000..7a929f13 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerEnterSceneDoneReq.java @@ -0,0 +1,38 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.game.GenshinPlayer.SceneLoadState; +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; +import emu.grasscutter.server.packet.send.PacketEnterSceneDoneRsp; +import emu.grasscutter.server.packet.send.PacketPlayerTimeNotify; +import emu.grasscutter.server.packet.send.PacketScenePlayerLocationNotify; +import emu.grasscutter.server.packet.send.PacketWorldPlayerLocationNotify; +import emu.grasscutter.server.packet.send.PacketWorldPlayerRTTNotify; + +@Opcodes(PacketOpcodes.EnterSceneDoneReq) +public class HandlerEnterSceneDoneReq extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + // Finished loading + session.getPlayer().setSceneLoadState(SceneLoadState.LOADED); + + // Done + session.send(new PacketEnterSceneDoneRsp(session.getPlayer())); + session.send(new PacketPlayerTimeNotify(session.getPlayer())); // Probably not the right place + + // Spawn player in world + session.getPlayer().getWorld().spawnPlayer(session.getPlayer()); + + // Spawn other entites already in world + session.getPlayer().getWorld().showOtherEntities(session.getPlayer()); + + // Locations + session.send(new PacketWorldPlayerLocationNotify(session.getPlayer().getWorld())); + session.send(new PacketScenePlayerLocationNotify(session.getPlayer())); + session.send(new PacketWorldPlayerRTTNotify(session.getPlayer().getWorld())); + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerEnterSceneReadyReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerEnterSceneReadyReq.java new file mode 100644 index 00000000..b9a979b6 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerEnterSceneReadyReq.java @@ -0,0 +1,19 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; +import emu.grasscutter.server.packet.send.PacketEnterScenePeerNotify; +import emu.grasscutter.server.packet.send.PacketEnterSceneReadyRsp; + +@Opcodes(PacketOpcodes.EnterSceneReadyReq) +public class HandlerEnterSceneReadyReq extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) { + session.send(new PacketEnterScenePeerNotify(session.getPlayer())); + session.send(new PacketEnterSceneReadyRsp(session.getPlayer())); + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerEnterWorldAreaReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerEnterWorldAreaReq.java new file mode 100644 index 00000000..53211a12 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerEnterWorldAreaReq.java @@ -0,0 +1,23 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.EnterWorldAreaReqOuterClass.EnterWorldAreaReq; +import emu.grasscutter.net.proto.PacketHeadOuterClass.PacketHead; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; +import emu.grasscutter.server.packet.send.PacketEnterWorldAreaRsp; + +@Opcodes(PacketOpcodes.EnterWorldAreaReq) +public class HandlerEnterWorldAreaReq extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + PacketHead head = PacketHead.parseFrom(header); + EnterWorldAreaReq enterWorld = EnterWorldAreaReq.parseFrom(payload); + + session.send(new PacketEnterWorldAreaRsp(head.getClientSequenceId(), enterWorld)); + //session.send(new PacketScenePlayerLocationNotify(session.getPlayer())); + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerEntityAiSyncNotify.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerEntityAiSyncNotify.java new file mode 100644 index 00000000..23c3b3ae --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerEntityAiSyncNotify.java @@ -0,0 +1,22 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.EntityAiSyncNotifyOuterClass.EntityAiSyncNotify; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; +import emu.grasscutter.server.packet.send.PacketEntityAiSyncNotify; + +@Opcodes(PacketOpcodes.EntityAiSyncNotify) +public class HandlerEntityAiSyncNotify extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + EntityAiSyncNotify notify = EntityAiSyncNotify.parseFrom(payload); + + if (notify.getLocalAvatarAlertedMonsterListCount() > 0) { + session.getPlayer().getWorld().broadcastPacket(new PacketEntityAiSyncNotify(notify)); + } + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerEvtAiSyncCombatThreatInfoNotify.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerEvtAiSyncCombatThreatInfoNotify.java new file mode 100644 index 00000000..84c6df4d --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerEvtAiSyncCombatThreatInfoNotify.java @@ -0,0 +1,16 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; + +@Opcodes(PacketOpcodes.EvtAiSyncCombatThreatInfoNotify) +public class HandlerEvtAiSyncCombatThreatInfoNotify extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + // Auto template + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerEvtAiSyncSkillCdNotify.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerEvtAiSyncSkillCdNotify.java new file mode 100644 index 00000000..03ad8cad --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerEvtAiSyncSkillCdNotify.java @@ -0,0 +1,16 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; + +@Opcodes(PacketOpcodes.EvtAiSyncSkillCdNotify) +public class HandlerEvtAiSyncSkillCdNotify extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + // Auto template + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerEvtCreateGadgetNotify.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerEvtCreateGadgetNotify.java new file mode 100644 index 00000000..f4c5708d --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerEvtCreateGadgetNotify.java @@ -0,0 +1,27 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.game.entity.EntityClientGadget; +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.EvtCreateGadgetNotifyOuterClass.EvtCreateGadgetNotify; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; + +@Opcodes(PacketOpcodes.EvtCreateGadgetNotify) +public class HandlerEvtCreateGadgetNotify extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + EvtCreateGadgetNotify notify = EvtCreateGadgetNotify.parseFrom(payload); + + // Dont handle in singleplayer + if (!session.getPlayer().getWorld().isMultiplayer()) { + return; + } + + // Create entity and summon in world + EntityClientGadget gadget = new EntityClientGadget(session.getPlayer().getWorld(), session.getPlayer(), notify); + session.getPlayer().getWorld().onPlayerCreateGadget(gadget); + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerEvtDestroyGadgetNotify.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerEvtDestroyGadgetNotify.java new file mode 100644 index 00000000..d391860f --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerEvtDestroyGadgetNotify.java @@ -0,0 +1,24 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.EvtDestroyGadgetNotifyOuterClass.EvtDestroyGadgetNotify; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; + +@Opcodes(PacketOpcodes.EvtDestroyGadgetNotify) +public class HandlerEvtDestroyGadgetNotify extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + EvtDestroyGadgetNotify notify = EvtDestroyGadgetNotify.parseFrom(payload); + + // Dont handle in singleplayer + if (!session.getPlayer().getWorld().isMultiplayer()) { + return; + } + + session.getPlayer().getWorld().onPlayerDestroyGadget(notify.getEntityId()); + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerGadgetInteractReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerGadgetInteractReq.java new file mode 100644 index 00000000..6c8b6515 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerGadgetInteractReq.java @@ -0,0 +1,19 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.GadgetInteractReqOuterClass.GadgetInteractReq; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; + +@Opcodes(PacketOpcodes.GadgetInteractReq) +public class HandlerGadgetInteractReq extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + GadgetInteractReq req = GadgetInteractReq.parseFrom(payload); + + session.getPlayer().interactWith(req.getGadgetEntityId()); + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerGetActivityInfoReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerGetActivityInfoReq.java new file mode 100644 index 00000000..bf2cf749 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerGetActivityInfoReq.java @@ -0,0 +1,15 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; +import emu.grasscutter.server.packet.send.PacketGetActivityInfoRsp; + +@Opcodes(PacketOpcodes.GetActivityInfoReq) +public class HandlerGetActivityInfoReq extends PacketHandler { + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + session.send(new PacketGetActivityInfoRsp()); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerGetAllH5ActivityInfoReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerGetAllH5ActivityInfoReq.java new file mode 100644 index 00000000..9ec01d19 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerGetAllH5ActivityInfoReq.java @@ -0,0 +1,17 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; +import emu.grasscutter.server.packet.send.PacketH5ActivityIdsNotify; + +@Opcodes(PacketOpcodes.GetAllH5ActivityInfoReq) +public class HandlerGetAllH5ActivityInfoReq extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + session.send(new PacketH5ActivityIdsNotify()); + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerGetAllUnlockNameCardReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerGetAllUnlockNameCardReq.java new file mode 100644 index 00000000..37bf3a03 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerGetAllUnlockNameCardReq.java @@ -0,0 +1,17 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; +import emu.grasscutter.server.packet.send.PacketGetAllUnlockNameCardRsp; + +@Opcodes(PacketOpcodes.GetAllUnlockNameCardReq) +public class HandlerGetAllUnlockNameCardReq extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + session.send(new PacketGetAllUnlockNameCardRsp(session.getPlayer())); + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerGetAuthkeyReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerGetAuthkeyReq.java new file mode 100644 index 00000000..16440426 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerGetAuthkeyReq.java @@ -0,0 +1,17 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; +import emu.grasscutter.server.packet.send.PacketGetAuthkeyRsp; + +@Opcodes(PacketOpcodes.GetAuthkeyReq) +public class HandlerGetAuthkeyReq extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + session.send(new PacketGetAuthkeyRsp()); + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerGetGachaInfoReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerGetGachaInfoReq.java new file mode 100644 index 00000000..6c4c703a --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerGetGachaInfoReq.java @@ -0,0 +1,17 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; +import emu.grasscutter.server.packet.send.PacketGetGachaInfoRsp; + +@Opcodes(PacketOpcodes.GetGachaInfoReq) +public class HandlerGetGachaInfoReq extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + session.send(new PacketGetGachaInfoRsp(session.getServer().getGachaManager())); + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerGetPlayerBlacklistReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerGetPlayerBlacklistReq.java new file mode 100644 index 00000000..2d0b650d --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerGetPlayerBlacklistReq.java @@ -0,0 +1,17 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; + +@Opcodes(PacketOpcodes.GetPlayerBlacklistReq) +public class HandlerGetPlayerBlacklistReq extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + session.send(new GenshinPacket(PacketOpcodes.GetPlayerBlacklistRsp).buildHeader(3)); + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerGetPlayerFriendListReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerGetPlayerFriendListReq.java new file mode 100644 index 00000000..a825f157 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerGetPlayerFriendListReq.java @@ -0,0 +1,16 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; +import emu.grasscutter.server.packet.send.PacketGetPlayerFriendListRsp; + +@Opcodes(PacketOpcodes.GetPlayerFriendListReq) +public class HandlerGetPlayerFriendListReq extends PacketHandler { + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + //session.send(new PacketGetPlayerAskFriendListRsp(session.getPlayer())); + session.send(new PacketGetPlayerFriendListRsp(session.getPlayer())); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerGetPlayerSocialDetailReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerGetPlayerSocialDetailReq.java new file mode 100644 index 00000000..8391f235 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerGetPlayerSocialDetailReq.java @@ -0,0 +1,26 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.GetPlayerSocialDetailReqOuterClass.GetPlayerSocialDetailReq; +import emu.grasscutter.net.proto.SocialDetailOuterClass.SocialDetail; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; +import emu.grasscutter.server.packet.send.PacketGetPlayerSocialDetailRsp; + +@Opcodes(PacketOpcodes.GetPlayerSocialDetailReq) +public class HandlerGetPlayerSocialDetailReq extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + GetPlayerSocialDetailReq req = GetPlayerSocialDetailReq.parseFrom(payload); + + SocialDetail.Builder detail = session.getServer().getSocialDetailById(req.getUid()); + + if (detail != null) { + detail.setIsFriend(session.getPlayer().getFriendsList().isFriendsWith(req.getUid())); + } + + session.send(new PacketGetPlayerSocialDetailRsp(detail)); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerGetPlayerTokenReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerGetPlayerTokenReq.java new file mode 100644 index 00000000..dc686f5c --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerGetPlayerTokenReq.java @@ -0,0 +1,56 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.database.DatabaseHelper; +import emu.grasscutter.game.Account; +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.GetPlayerTokenReqOuterClass.GetPlayerTokenReq; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; +import emu.grasscutter.server.game.GameSession.SessionState; +import emu.grasscutter.server.packet.send.PacketGetPlayerTokenRsp; + +@Opcodes(PacketOpcodes.GetPlayerTokenReq) +public class HandlerGetPlayerTokenReq extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + GetPlayerTokenReq req = GetPlayerTokenReq.parseFrom(payload); + + // Authenticate + Account account = DatabaseHelper.getAccountById(req.getAccountUid()); + if (account == null) { + return; + } + + // Check token + if (!account.getToken().equals(req.getAccountToken())) { + return; + } + + // Set account + session.setAccount(account); + session.setUseSecretKey(true); + session.setState(SessionState.WAITING_FOR_LOGIN); + + // Has character + boolean doesPlayerExist = false; + if (account.getPlayerId() > 0) { + // Set flag for player existing + doesPlayerExist = DatabaseHelper.checkPlayerExists(account.getPlayerId()); + } + + // Set reserve player id if account doesnt exist + if (!doesPlayerExist) { + int id = DatabaseHelper.getNextPlayerId(session.getAccount().getPlayerId()); + if (id != session.getAccount().getPlayerId()) { + session.getAccount().setPlayerId(id); + session.getAccount().save(); + } + } + + // Send packet + session.send(new PacketGetPlayerTokenRsp(session, doesPlayerExist)); + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerGetRegionSearchReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerGetRegionSearchReq.java new file mode 100644 index 00000000..88ed2091 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerGetRegionSearchReq.java @@ -0,0 +1,16 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; + +@Opcodes(PacketOpcodes.GetRegionSearchReq) +public class HandlerGetRegionSearchReq extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + // Auto template + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerGetSceneAreaReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerGetSceneAreaReq.java new file mode 100644 index 00000000..ac890623 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerGetSceneAreaReq.java @@ -0,0 +1,20 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.GetSceneAreaReqOuterClass.GetSceneAreaReq; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; +import emu.grasscutter.server.packet.send.PacketGetSceneAreaRsp; + +@Opcodes(PacketOpcodes.GetSceneAreaReq) +public class HandlerGetSceneAreaReq extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + GetSceneAreaReq req = GetSceneAreaReq.parseFrom(payload); + + session.send(new PacketGetSceneAreaRsp(req.getSceneId())); + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerGetScenePointReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerGetScenePointReq.java new file mode 100644 index 00000000..f4352ba1 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerGetScenePointReq.java @@ -0,0 +1,20 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.GetScenePointReqOuterClass.GetScenePointReq; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; +import emu.grasscutter.server.packet.send.PacketGetScenePointRsp; + +@Opcodes(PacketOpcodes.GetScenePointReq) +public class HandlerGetScenePointReq extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + GetScenePointReq req = GetScenePointReq.parseFrom(payload); + + session.send(new PacketGetScenePointRsp(req.getSceneId())); + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerGetShopReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerGetShopReq.java new file mode 100644 index 00000000..9b7c6e96 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerGetShopReq.java @@ -0,0 +1,19 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.GetShopReqOuterClass.GetShopReq; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; +import emu.grasscutter.server.packet.send.PacketGetShopRsp; + +@Opcodes(PacketOpcodes.GetShopReq) +public class HandlerGetShopReq extends PacketHandler { + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + GetShopReq req = GetShopReq.parseFrom(payload); + + // TODO + session.send(new PacketGetShopRsp(req.getShopType())); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerGetShopmallDataReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerGetShopmallDataReq.java new file mode 100644 index 00000000..c9c98f04 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerGetShopmallDataReq.java @@ -0,0 +1,18 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; +import emu.grasscutter.server.packet.send.PacketGetShopmallDataRsp; + +@Opcodes(PacketOpcodes.GetShopmallDataReq) +public class HandlerGetShopmallDataReq extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + // TODO add the correct shops + session.send(new PacketGetShopmallDataRsp()); + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerGetWidgetSlotReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerGetWidgetSlotReq.java new file mode 100644 index 00000000..b41a6cc1 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerGetWidgetSlotReq.java @@ -0,0 +1,16 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; + +@Opcodes(PacketOpcodes.GetWidgetSlotReq) +public class HandlerGetWidgetSlotReq extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + // Unhandled + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerGetWorldMpInfoReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerGetWorldMpInfoReq.java new file mode 100644 index 00000000..e93ecfad --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerGetWorldMpInfoReq.java @@ -0,0 +1,17 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; +import emu.grasscutter.server.packet.send.PacketGetWorldMpInfoRsp; + +@Opcodes(PacketOpcodes.GetWorldMpInfoReq) +public class HandlerGetWorldMpInfoReq extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + session.send(new PacketGetWorldMpInfoRsp(session.getPlayer().getWorld())); + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerMarkMapReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerMarkMapReq.java new file mode 100644 index 00000000..3a651e4c --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerMarkMapReq.java @@ -0,0 +1,32 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.Grasscutter; +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.MarkMapReqOuterClass.MarkMapReq; +import emu.grasscutter.net.proto.OperationOuterClass.Operation; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; +import emu.grasscutter.server.packet.send.PacketSceneEntityAppearNotify; + +@Opcodes(PacketOpcodes.MarkMapReq) +public class HandlerMarkMapReq extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + MarkMapReq req = MarkMapReq.parseFrom(payload); + + if (req.getOp() != Operation.Add) { + return; + } + + session.getPlayer().getPos().setX(req.getMark().getPos().getX()); + session.getPlayer().getPos().setZ(req.getMark().getPos().getZ()); + session.getPlayer().getPos().setY(300); + + Grasscutter.getLogger().info("Player [" + session.getPlayer().getId() + ":" + session.getPlayer().getNickname() + "] tp to " + session.getPlayer().getPos()); + + session.getPlayer().getWorld().broadcastPacket(new PacketSceneEntityAppearNotify(session.getPlayer())); + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerMonsterAIConfigHashNotify.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerMonsterAIConfigHashNotify.java new file mode 100644 index 00000000..52149d46 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerMonsterAIConfigHashNotify.java @@ -0,0 +1,16 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; + +@Opcodes(PacketOpcodes.MonsterAIConfigHashNotify) +public class HandlerMonsterAIConfigHashNotify extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + // Auto template + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerObstacleModifyNotify.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerObstacleModifyNotify.java new file mode 100644 index 00000000..6c2bff83 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerObstacleModifyNotify.java @@ -0,0 +1,16 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; + +@Opcodes(PacketOpcodes.ObstacleModifyNotify) +public class HandlerObstacleModifyNotify extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + // Auto template + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerPathfindingEnterSceneReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerPathfindingEnterSceneReq.java new file mode 100644 index 00000000..2d69d07f --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerPathfindingEnterSceneReq.java @@ -0,0 +1,19 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.PacketHeadOuterClass.PacketHead; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; +import emu.grasscutter.server.packet.send.PacketPathfindingEnterSceneRsp; + +@Opcodes(PacketOpcodes.PathfindingEnterSceneReq) +public class HandlerPathfindingEnterSceneReq extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + PacketHead head = PacketHead.parseFrom(header); + session.send(new PacketPathfindingEnterSceneRsp(head.getClientSequenceId())); + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerPingReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerPingReq.java new file mode 100644 index 00000000..70d661eb --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerPingReq.java @@ -0,0 +1,24 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.PacketHeadOuterClass.PacketHead; +import emu.grasscutter.net.proto.PingReqOuterClass.PingReq; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; +import emu.grasscutter.server.packet.send.PacketPingRsp; + +@Opcodes(PacketOpcodes.PingReq) +public class HandlerPingReq extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + PacketHead head = PacketHead.parseFrom(header); + PingReq ping = PingReq.parseFrom(payload); + + session.updateLastPingTime(ping.getClientTime()); + + session.send(new PacketPingRsp(head.getClientSequenceId(), ping.getClientTime())); + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerPlayerApplyEnterMpReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerPlayerApplyEnterMpReq.java new file mode 100644 index 00000000..ed5591a1 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerPlayerApplyEnterMpReq.java @@ -0,0 +1,21 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.PlayerApplyEnterMpReqOuterClass.PlayerApplyEnterMpReq; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; +import emu.grasscutter.server.packet.send.PacketPlayerApplyEnterMpRsp; + +@Opcodes(PacketOpcodes.PlayerApplyEnterMpReq) +public class HandlerPlayerApplyEnterMpReq extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + PlayerApplyEnterMpReq req = PlayerApplyEnterMpReq.parseFrom(payload); + + session.getServer().getMultiplayerManager().applyEnterMp(session.getPlayer(), req.getTargetUid()); + session.send(new PacketPlayerApplyEnterMpRsp(req.getTargetUid())); + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerPlayerApplyEnterMpResultReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerPlayerApplyEnterMpResultReq.java new file mode 100644 index 00000000..7a9c41db --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerPlayerApplyEnterMpResultReq.java @@ -0,0 +1,21 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.PlayerApplyEnterMpResultReqOuterClass.PlayerApplyEnterMpResultReq; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; +import emu.grasscutter.server.packet.send.PacketPlayerApplyEnterMpResultRsp; + +@Opcodes(PacketOpcodes.PlayerApplyEnterMpResultReq) +public class HandlerPlayerApplyEnterMpResultReq extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + PlayerApplyEnterMpResultReq req = PlayerApplyEnterMpResultReq.parseFrom(payload); + + session.getServer().getMultiplayerManager().applyEnterMpReply(session.getPlayer(), req.getApplyUid(), req.getIsAgreed()); + session.send(new PacketPlayerApplyEnterMpResultRsp(req.getApplyUid(), req.getIsAgreed())); + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerPlayerChatReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerPlayerChatReq.java new file mode 100644 index 00000000..9a807e99 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerPlayerChatReq.java @@ -0,0 +1,28 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.ChatInfoOuterClass.ChatInfo; +import emu.grasscutter.net.proto.PlayerChatReqOuterClass.PlayerChatReq; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; +import emu.grasscutter.server.packet.send.PacketPlayerChatRsp; + +@Opcodes(PacketOpcodes.PlayerChatReq) +public class HandlerPlayerChatReq extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + PlayerChatReq req = PlayerChatReq.parseFrom(payload); + ChatInfo.ContentCase content = req.getChatInfo().getContentCase(); + + if (content == ChatInfo.ContentCase.TEXT) { + session.getServer().getChatManager().sendTeamChat(session.getPlayer(), req.getChannelId(), req.getChatInfo().getText()); + } else if (content == ChatInfo.ContentCase.ICON) { + session.getServer().getChatManager().sendTeamChat(session.getPlayer(), req.getChannelId(), req.getChatInfo().getIcon()); + } + + session.send(new PacketPlayerChatRsp()); + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerPlayerForceExitReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerPlayerForceExitReq.java new file mode 100644 index 00000000..1fe4c8d5 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerPlayerForceExitReq.java @@ -0,0 +1,14 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; + +@Opcodes(PacketOpcodes.PlayerForceExitReq) +public class HandlerPlayerForceExitReq extends PacketHandler { + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + // Client should auto disconnect right now + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerPlayerGetForceQuitBanInfoReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerPlayerGetForceQuitBanInfoReq.java new file mode 100644 index 00000000..b7afdb90 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerPlayerGetForceQuitBanInfoReq.java @@ -0,0 +1,24 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; +import emu.grasscutter.server.packet.send.PacketPlayerGetForceQuitBanInfoRsp; + +@Opcodes(PacketOpcodes.PlayerGetForceQuitBanInfoReq) +public class HandlerPlayerGetForceQuitBanInfoReq extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + + if (session.getServer().getMultiplayerManager().leaveCoop(session.getPlayer())) { + // Success + session.send(new PacketPlayerGetForceQuitBanInfoRsp(0)); + } else { + // Fail + session.send(new PacketPlayerGetForceQuitBanInfoRsp(1)); + } + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerPlayerLoginReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerPlayerLoginReq.java new file mode 100644 index 00000000..183ef746 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerPlayerLoginReq.java @@ -0,0 +1,52 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.database.DatabaseHelper; +import emu.grasscutter.game.GenshinPlayer; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.PlayerLoginReqOuterClass.PlayerLoginReq; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; +import emu.grasscutter.server.game.GameSession.SessionState; +import emu.grasscutter.server.packet.send.PacketPlayerLoginRsp; + +@Opcodes(PacketOpcodes.PlayerLoginReq) // Sends initial data packets +public class HandlerPlayerLoginReq extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + // Check + if (session.getAccount() == null) { + return; + } + + // Parse request + PlayerLoginReq req = PlayerLoginReq.parseFrom(payload); + + // Authenticate session + if (!req.getToken().equals(session.getAccount().getToken())) { + return; + } + + // Load character from db + GenshinPlayer player = DatabaseHelper.getPlayerById(session.getAccount().getPlayerId()); + + if (player == null) { + // Send packets + session.setState(SessionState.PICKING_CHARACTER); + session.send(new GenshinPacket(PacketOpcodes.DoSetPlayerBornDataNotify)); + } else { + // Set character + session.setPlayer(player); + + // Login done + session.getPlayer().onLogin(); + session.setState(SessionState.ACTIVE); + } + + // Final packet to tell client logging in is done + session.send(new PacketPlayerLoginRsp(session)); + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerPlayerSetPauseReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerPlayerSetPauseReq.java new file mode 100644 index 00000000..7c1680d2 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerPlayerSetPauseReq.java @@ -0,0 +1,23 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.PacketHeadOuterClass.PacketHead; +import emu.grasscutter.net.proto.PlayerSetPauseReqOuterClass.PlayerSetPauseReq; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; +import emu.grasscutter.server.packet.send.PacketPlayerSetPauseRsp; + +@Opcodes(PacketOpcodes.PlayerSetPauseReq) +public class HandlerPlayerSetPauseReq extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + PacketHead head = PacketHead.parseFrom(header); + PlayerSetPauseReq req = PlayerSetPauseReq.parseFrom(payload); + + session.send(new PacketPlayerSetPauseRsp(head.getClientSequenceId())); + session.getPlayer().setPaused(req.getIsPaused()); + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerPostEnterSceneReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerPostEnterSceneReq.java new file mode 100644 index 00000000..9c74946b --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerPostEnterSceneReq.java @@ -0,0 +1,17 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; +import emu.grasscutter.server.packet.send.PacketPostEnterSceneRsp; + +@Opcodes(PacketOpcodes.PostEnterSceneReq) +public class HandlerPostEnterSceneReq extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + session.send(new PacketPostEnterSceneRsp(session.getPlayer())); + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerPrivateChatReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerPrivateChatReq.java new file mode 100644 index 00000000..081c0883 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerPrivateChatReq.java @@ -0,0 +1,26 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.PrivateChatReqOuterClass.PrivateChatReq; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; + +@Opcodes(PacketOpcodes.PrivateChatReq) +public class HandlerPrivateChatReq extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + PrivateChatReq req = PrivateChatReq.parseFrom(payload); + PrivateChatReq.ContentCase content = req.getContentCase(); + + if (content == PrivateChatReq.ContentCase.TEXT) { + session.getServer().getChatManager().sendPrivChat(session.getPlayer(), req.getTargetUid(), req.getText()); + } else if (content == PrivateChatReq.ContentCase.ICON) { + session.getServer().getChatManager().sendPrivChat(session.getPlayer(), req.getTargetUid(), req.getIcon()); + } + + //session.send(new GenshinPacket(PacketOpcodes.PrivateChatRsp)); // Unused by server + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerPullPrivateChatReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerPullPrivateChatReq.java new file mode 100644 index 00000000..b00e7ad1 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerPullPrivateChatReq.java @@ -0,0 +1,20 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.PullPrivateChatReqOuterClass.PullPrivateChatReq; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; +import emu.grasscutter.server.packet.send.PacketPullPrivateChatRsp; + +@Opcodes(PacketOpcodes.PullPrivateChatReq) +public class HandlerPullPrivateChatReq extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + PullPrivateChatReq req = PullPrivateChatReq.parseFrom(payload); + + session.send(new PacketPullPrivateChatRsp()); + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerPullRecentChatReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerPullRecentChatReq.java new file mode 100644 index 00000000..3a7d8262 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerPullRecentChatReq.java @@ -0,0 +1,15 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; +import emu.grasscutter.server.packet.send.PacketPullRecentChatRsp; + +@Opcodes(PacketOpcodes.PullRecentChatReq) +public class HandlerPullRecentChatReq extends PacketHandler { + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + session.send(new PacketPullRecentChatRsp(session.getPlayer())); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerQueryPathReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerQueryPathReq.java new file mode 100644 index 00000000..aa8492b2 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerQueryPathReq.java @@ -0,0 +1,16 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; + +@Opcodes(PacketOpcodes.QueryPathReq) +public class HandlerQueryPathReq extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + // Auto template + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerReliquaryUpgradeReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerReliquaryUpgradeReq.java new file mode 100644 index 00000000..bd8ec9e5 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerReliquaryUpgradeReq.java @@ -0,0 +1,19 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.ReliquaryUpgradeReqOuterClass.ReliquaryUpgradeReq; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; + +@Opcodes(PacketOpcodes.ReliquaryUpgradeReq) +public class HandlerReliquaryUpgradeReq extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + ReliquaryUpgradeReq req = ReliquaryUpgradeReq.parseFrom(payload); + + session.getServer().getInventoryManager().upgradeRelic(session.getPlayer(), req.getTargetReliquaryGuid(), req.getFoodReliquaryGuidListList(), req.getItemParamListList()); + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerSceneInitFinishReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerSceneInitFinishReq.java new file mode 100644 index 00000000..19a5cf95 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerSceneInitFinishReq.java @@ -0,0 +1,51 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.game.GenshinPlayer.SceneLoadState; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; +import emu.grasscutter.server.packet.send.PacketHostPlayerNotify; +import emu.grasscutter.server.packet.send.PacketPlayerEnterSceneInfoNotify; +import emu.grasscutter.server.packet.send.PacketPlayerGameTimeNotify; +import emu.grasscutter.server.packet.send.PacketSceneAreaWeatherNotify; +import emu.grasscutter.server.packet.send.PacketSceneInitFinishRsp; +import emu.grasscutter.server.packet.send.PacketScenePlayerInfoNotify; +import emu.grasscutter.server.packet.send.PacketSceneTeamUpdateNotify; +import emu.grasscutter.server.packet.send.PacketSceneTimeNotify; +import emu.grasscutter.server.packet.send.PacketServerTimeNotify; +import emu.grasscutter.server.packet.send.PacketSyncScenePlayTeamEntityNotify; +import emu.grasscutter.server.packet.send.PacketSyncTeamEntityNotify; +import emu.grasscutter.server.packet.send.PacketWorldDataNotify; +import emu.grasscutter.server.packet.send.PacketWorldPlayerInfoNotify; + +@Opcodes(PacketOpcodes.SceneInitFinishReq) +public class HandlerSceneInitFinishReq extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + // Info packets + session.send(new PacketServerTimeNotify()); + session.send(new PacketWorldPlayerInfoNotify(session.getPlayer().getWorld())); + session.send(new PacketWorldDataNotify(session.getPlayer().getWorld())); + session.send(new GenshinPacket(PacketOpcodes.SceneForceUnlockNotify)); + session.send(new PacketHostPlayerNotify(session.getPlayer().getWorld())); + + session.send(new PacketSceneTimeNotify(session.getPlayer())); + session.send(new PacketPlayerGameTimeNotify(session.getPlayer().getWorld(), session.getPlayer())); + session.send(new PacketPlayerEnterSceneInfoNotify(session.getPlayer())); + session.send(new PacketSceneAreaWeatherNotify(session.getPlayer().getWorld(), session.getPlayer())); + session.send(new PacketScenePlayerInfoNotify(session.getPlayer().getWorld())); + session.send(new PacketSceneTeamUpdateNotify(session.getPlayer())); + + session.send(new PacketSyncTeamEntityNotify(session.getPlayer())); + session.send(new PacketSyncScenePlayTeamEntityNotify(session.getPlayer())); + + // Done Packet + session.send(new PacketSceneInitFinishRsp(session.getPlayer())); + + // Set state + session.getPlayer().setSceneLoadState(SceneLoadState.INIT); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerSceneKickPlayerReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerSceneKickPlayerReq.java new file mode 100644 index 00000000..73266448 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerSceneKickPlayerReq.java @@ -0,0 +1,26 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.SceneKickPlayerReqOuterClass.SceneKickPlayerReq; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; +import emu.grasscutter.server.packet.send.PacketSceneKickPlayerRsp; + +@Opcodes(PacketOpcodes.SceneKickPlayerReq) +public class HandlerSceneKickPlayerReq extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + SceneKickPlayerReq req = SceneKickPlayerReq.parseFrom(payload); + + if (session.getServer().getMultiplayerManager().kickPlayer(session.getPlayer(), req.getTargetUid())) { + // Success + session.send(new PacketSceneKickPlayerRsp(req.getTargetUid())); + } else { + // Fail + session.send(new PacketSceneKickPlayerRsp()); + } + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerSetEntityClientDataNotify.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerSetEntityClientDataNotify.java new file mode 100644 index 00000000..accbd253 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerSetEntityClientDataNotify.java @@ -0,0 +1,16 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; + +@Opcodes(PacketOpcodes.SetEntityClientDataNotify) +public class HandlerSetEntityClientDataNotify extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + // Auto template + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerSetEquipLockStateReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerSetEquipLockStateReq.java new file mode 100644 index 00000000..27bd8b1c --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerSetEquipLockStateReq.java @@ -0,0 +1,19 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.SetEquipLockStateReqOuterClass.SetEquipLockStateReq; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; + +@Opcodes(PacketOpcodes.SetEquipLockStateReq) +public class HandlerSetEquipLockStateReq extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + SetEquipLockStateReq req = SetEquipLockStateReq.parseFrom(payload); + + session.getServer().getInventoryManager().lockEquip(session.getPlayer(), req.getTargetEquipGuid(), req.getIsLocked()); + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerSetNameCardReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerSetNameCardReq.java new file mode 100644 index 00000000..158bfc92 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerSetNameCardReq.java @@ -0,0 +1,17 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.SetNameCardReqOuterClass.SetNameCardReq; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; + +@Opcodes(PacketOpcodes.SetNameCardReq) +public class HandlerSetNameCardReq extends PacketHandler { + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + SetNameCardReq req = SetNameCardReq.parseFrom(payload); + + session.getPlayer().setNameCard(req.getNameCardId()); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerSetPlayerBornDataReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerSetPlayerBornDataReq.java new file mode 100644 index 00000000..a45cca5b --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerSetPlayerBornDataReq.java @@ -0,0 +1,78 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.GenshinConstants; +import emu.grasscutter.Grasscutter; +import emu.grasscutter.data.GenshinData; +import emu.grasscutter.database.DatabaseHelper; +import emu.grasscutter.game.GenshinPlayer; +import emu.grasscutter.game.avatar.GenshinAvatar; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.SetPlayerBornDataReqOuterClass.SetPlayerBornDataReq; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; +import emu.grasscutter.server.game.GameSession.SessionState; + +@Opcodes(PacketOpcodes.SetPlayerBornDataReq) +public class HandlerSetPlayerBornDataReq extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + SetPlayerBornDataReq req = SetPlayerBornDataReq.parseFrom(payload); + + // Sanity checks + int avatarId = req.getAvatarId(); + int startingSkillDepot = 0; + if (avatarId == GenshinConstants.MAIN_CHARACTER_MALE) { + startingSkillDepot = 504; + } else if (avatarId == GenshinConstants.MAIN_CHARACTER_FEMALE) { + startingSkillDepot = 704; + } else { + return; + } + + String nickname = req.getNickName(); + if (nickname == null) { + nickname = "Traveler"; + } + + // Create character + GenshinPlayer player = new GenshinPlayer(session); + player.setNickname(nickname); + + try { + // Save to db + DatabaseHelper.createPlayer(player, session.getAccount().getPlayerId()); + + // Create avatar + if (player.getAvatars().getAvatarCount() == 0) { + GenshinAvatar mainCharacter = new GenshinAvatar(avatarId); + mainCharacter.setSkillDepot(GenshinData.getAvatarSkillDepotDataMap().get(startingSkillDepot)); + player.addAvatar(mainCharacter); + player.setMainCharacterId(avatarId); + player.setHeadImage(avatarId); + player.getTeamManager().getCurrentSinglePlayerTeamInfo().getAvatars().add(mainCharacter.getAvatarId()); + player.save(); // TODO save player team in different object + } + + // Save account + session.getAccount().setPlayerId(player.getId()); + session.getAccount().save(); + + // Set character + session.setPlayer(player); + + // Login done + session.getPlayer().onLogin(); + session.setState(SessionState.ACTIVE); + + // Born resp packet + session.send(new GenshinPacket(PacketOpcodes.SetPlayerBornDataRsp)); + } catch (Exception e) { + Grasscutter.getLogger().error("Error creating player object: ", e); + session.close(); + } + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerSetPlayerHeadImageReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerSetPlayerHeadImageReq.java new file mode 100644 index 00000000..d478dc28 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerSetPlayerHeadImageReq.java @@ -0,0 +1,23 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.SetPlayerHeadImageReqOuterClass.SetPlayerHeadImageReq; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; +import emu.grasscutter.server.packet.send.PacketSetPlayerHeadImageRsp; + +@Opcodes(PacketOpcodes.SetPlayerHeadImageReq) +public class HandlerSetPlayerHeadImageReq extends PacketHandler { + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + SetPlayerHeadImageReq req = SetPlayerHeadImageReq.parseFrom(payload); + + int id = req.getAvatarId(); + + if (session.getPlayer().getAvatars().hasAvatar(id)) { + session.getPlayer().setHeadImage(id); + session.send(new PacketSetPlayerHeadImageRsp(session.getPlayer())); + } + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerSetPlayerNameReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerSetPlayerNameReq.java new file mode 100644 index 00000000..d7babb6c --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerSetPlayerNameReq.java @@ -0,0 +1,24 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.SetPlayerNameReqOuterClass.SetPlayerNameReq; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; +import emu.grasscutter.server.packet.send.PacketSetPlayerNameRsp; + +@Opcodes(PacketOpcodes.SetPlayerNameReq) +public class HandlerSetPlayerNameReq extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + // Auto template + SetPlayerNameReq req = SetPlayerNameReq.parseFrom(payload); + + if (req.getNickName() != null && req.getNickName().length() > 0) { + session.getPlayer().setNickname(req.getNickName()); + session.send(new PacketSetPlayerNameRsp(session.getPlayer())); + } + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerSetPlayerSignatureReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerSetPlayerSignatureReq.java new file mode 100644 index 00000000..a20a78f8 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerSetPlayerSignatureReq.java @@ -0,0 +1,24 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.SetPlayerSignatureReqOuterClass.SetPlayerSignatureReq; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; +import emu.grasscutter.server.packet.send.PacketSetPlayerSignatureRsp; + +@Opcodes(PacketOpcodes.SetPlayerSignatureReq) +public class HandlerSetPlayerSignatureReq extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + // Auto template + SetPlayerSignatureReq req = SetPlayerSignatureReq.parseFrom(payload); + + if (req.getSignature() != null && req.getSignature().length() > 0) { + session.getPlayer().setSignature(req.getSignature()); + session.send(new PacketSetPlayerSignatureRsp(session.getPlayer())); + } + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerSetUpAvatarTeamReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerSetUpAvatarTeamReq.java new file mode 100644 index 00000000..eed605c6 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerSetUpAvatarTeamReq.java @@ -0,0 +1,19 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.SetUpAvatarTeamReqOuterClass.SetUpAvatarTeamReq; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; + +@Opcodes(PacketOpcodes.SetUpAvatarTeamReq) +public class HandlerSetUpAvatarTeamReq extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + SetUpAvatarTeamReq req = SetUpAvatarTeamReq.parseFrom(payload); + + session.getPlayer().getTeamManager().setupAvatarTeam(req.getTeamId(), req.getAvatarTeamGuidListList()); + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerTakeoffEquipReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerTakeoffEquipReq.java new file mode 100644 index 00000000..1160cbee --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerTakeoffEquipReq.java @@ -0,0 +1,22 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.TakeoffEquipReqOuterClass.TakeoffEquipReq; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; +import emu.grasscutter.server.packet.send.PacketTakeoffEquipRsp; + +@Opcodes(PacketOpcodes.TakeoffEquipReq) +public class HandlerTakeoffEquipReq extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + TakeoffEquipReq req = TakeoffEquipReq.parseFrom(payload); + + if (session.getPlayer().getInventory().unequipItem(req.getAvatarGuid(), req.getSlot())) { + session.send(new PacketTakeoffEquipRsp(req.getAvatarGuid(), req.getSlot())); + } + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerTowerAllDataReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerTowerAllDataReq.java new file mode 100644 index 00000000..2a9ef200 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerTowerAllDataReq.java @@ -0,0 +1,17 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; +import emu.grasscutter.server.packet.send.PacketTowerAllDataRsp; + +@Opcodes(PacketOpcodes.TowerAllDataReq) +public class HandlerTowerAllDataReq extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + session.send(new PacketTowerAllDataRsp()); + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerUnionCmdNotify.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerUnionCmdNotify.java new file mode 100644 index 00000000..1f4a9e7f --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerUnionCmdNotify.java @@ -0,0 +1,19 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.UnionCmdNotifyOuterClass.UnionCmdNotify; +import emu.grasscutter.net.proto.UnionCmdOuterClass.UnionCmd; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; + +@Opcodes(PacketOpcodes.UnionCmdNotify) +public class HandlerUnionCmdNotify extends PacketHandler { + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + UnionCmdNotify req = UnionCmdNotify.parseFrom(payload); + for (UnionCmd cmd : req.getCmdListList()) { + session.getServer().getPacketHandler().handle(session, cmd.getMessageId(), EMPTY_BYTE_ARRAY, cmd.getBody().toByteArray()); + } + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerUnlockAvatarTalentReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerUnlockAvatarTalentReq.java new file mode 100644 index 00000000..93cf1cad --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerUnlockAvatarTalentReq.java @@ -0,0 +1,20 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.UnlockAvatarTalentReqOuterClass.UnlockAvatarTalentReq; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; + +@Opcodes(PacketOpcodes.UnlockAvatarTalentReq) +public class HandlerUnlockAvatarTalentReq extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + UnlockAvatarTalentReq req = UnlockAvatarTalentReq.parseFrom(payload); + + // Unlock avatar const + session.getServer().getInventoryManager().unlockAvatarConstellation(session.getPlayer(), req.getAvatarGuid()); + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerUseItemReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerUseItemReq.java new file mode 100644 index 00000000..8a1f4a70 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerUseItemReq.java @@ -0,0 +1,26 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.game.inventory.GenshinItem; +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.UseItemReqOuterClass.UseItemReq; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; +import emu.grasscutter.server.packet.send.PacketUseItemRsp; + +@Opcodes(PacketOpcodes.UseItemReq) +public class HandlerUseItemReq extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + UseItemReq req = UseItemReq.parseFrom(payload); + + GenshinItem useItem = session.getServer().getInventoryManager().useItem(session.getPlayer(), req.getTargetGuid(), req.getGuid(), req.getCount()); + if (useItem != null) { + session.send(new PacketUseItemRsp(req.getTargetGuid(), useItem)); + } else { + session.send(new PacketUseItemRsp()); + } + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerWeaponAwakenReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerWeaponAwakenReq.java new file mode 100644 index 00000000..b33510ad --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerWeaponAwakenReq.java @@ -0,0 +1,20 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.WeaponAwakenReqOuterClass.WeaponAwakenReq; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; + +@Opcodes(PacketOpcodes.WeaponAwakenReq) +public class HandlerWeaponAwakenReq extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + WeaponAwakenReq req = WeaponAwakenReq.parseFrom(payload); + + // Weapon refinement + session.getServer().getInventoryManager().refineWeapon(session.getPlayer(), req.getTargetWeaponGuid(), req.getItemGuid()); + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerWeaponPromoteReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerWeaponPromoteReq.java new file mode 100644 index 00000000..0b3c23b4 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerWeaponPromoteReq.java @@ -0,0 +1,20 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.WeaponPromoteReqOuterClass.WeaponPromoteReq; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; + +@Opcodes(PacketOpcodes.WeaponPromoteReq) +public class HandlerWeaponPromoteReq extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + WeaponPromoteReq req = WeaponPromoteReq.parseFrom(payload); + + // Ascend weapon + session.getServer().getInventoryManager().promoteWeapon(session.getPlayer(), req.getTargetWeaponGuid()); + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerWeaponUpgradeReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerWeaponUpgradeReq.java new file mode 100644 index 00000000..f099c976 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerWeaponUpgradeReq.java @@ -0,0 +1,25 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.WeaponUpgradeReqOuterClass.WeaponUpgradeReq; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; + +@Opcodes(PacketOpcodes.WeaponUpgradeReq) +public class HandlerWeaponUpgradeReq extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + WeaponUpgradeReq req = WeaponUpgradeReq.parseFrom(payload); + + // Level up weapon + session.getServer().getInventoryManager().upgradeWeapon( + session.getPlayer(), + req.getTargetWeaponGuid(), + req.getFoodWeaponGuidListList(), + req.getItemParamListList() + ); + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerWearEquipReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerWearEquipReq.java new file mode 100644 index 00000000..3907aee8 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerWearEquipReq.java @@ -0,0 +1,22 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.WearEquipReqOuterClass.WearEquipReq; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; +import emu.grasscutter.server.packet.send.PacketWearEquipRsp; + +@Opcodes(PacketOpcodes.WearEquipReq) +public class HandlerWearEquipReq extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + WearEquipReq req = WearEquipReq.parseFrom(payload); + + if (session.getPlayer().getInventory().equipItem(req.getAvatarGuid(), req.getEquipGuid())) { + session.send(new PacketWearEquipRsp(req.getAvatarGuid(), req.getEquipGuid())); + } + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerWorldPlayerReviveReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerWorldPlayerReviveReq.java new file mode 100644 index 00000000..cbe95a32 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerWorldPlayerReviveReq.java @@ -0,0 +1,16 @@ +package emu.grasscutter.server.packet.recv; + +import emu.grasscutter.net.packet.Opcodes; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.packet.PacketHandler; +import emu.grasscutter.server.game.GameSession; + +@Opcodes(PacketOpcodes.WorldPlayerReviveReq) +public class HandlerWorldPlayerReviveReq extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { + session.getPlayer().getTeamManager().respawnTeam(); + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/Packet.java b/src/main/java/emu/grasscutter/server/packet/send/Packet.java new file mode 100644 index 00000000..70306892 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/Packet.java @@ -0,0 +1,12 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; + +public class Packet extends GenshinPacket { + + public Packet() { + super(PacketOpcodes.NONE); + + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketAbilityChangeNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketAbilityChangeNotify.java new file mode 100644 index 00000000..a6e1fb45 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketAbilityChangeNotify.java @@ -0,0 +1,20 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.entity.EntityAvatar; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.AbilityChangeNotifyOuterClass.AbilityChangeNotify; + +public class PacketAbilityChangeNotify extends GenshinPacket { + + public PacketAbilityChangeNotify(EntityAvatar entity) { + super(PacketOpcodes.AbilityChangeNotify); + + AbilityChangeNotify proto = AbilityChangeNotify.newBuilder() + .setEntityId(entity.getId()) + .setAbilityControlBlock(entity.getAbilityControlBlock()) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketAbilityInvocationsNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketAbilityInvocationsNotify.java new file mode 100644 index 00000000..5b1b19a4 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketAbilityInvocationsNotify.java @@ -0,0 +1,32 @@ +package emu.grasscutter.server.packet.send; + +import java.util.List; + +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.AbilityInvocationsNotifyOuterClass.AbilityInvocationsNotify; +import emu.grasscutter.net.proto.AbilityInvokeEntryOuterClass.AbilityInvokeEntry; + +public class PacketAbilityInvocationsNotify extends GenshinPacket { + + public PacketAbilityInvocationsNotify(AbilityInvokeEntry entry) { + super(PacketOpcodes.AbilityInvocationsNotify, true); + + AbilityInvocationsNotify proto = AbilityInvocationsNotify.newBuilder() + .addInvokes(entry) + .build(); + + this.setData(proto); + } + + public PacketAbilityInvocationsNotify(List entries) { + super(PacketOpcodes.AbilityInvocationsNotify, true); + + AbilityInvocationsNotify proto = AbilityInvocationsNotify.newBuilder() + .addAllInvokes(entries) + .build(); + + this.setData(proto); + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketAskAddFriendNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketAskAddFriendNotify.java new file mode 100644 index 00000000..a0f2e428 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketAskAddFriendNotify.java @@ -0,0 +1,20 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.friends.Friendship; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.AskAddFriendNotifyOuterClass.AskAddFriendNotify; + +public class PacketAskAddFriendNotify extends GenshinPacket { + + public PacketAskAddFriendNotify(Friendship friendship) { + super(PacketOpcodes.AskAddFriendNotify); + + AskAddFriendNotify proto = AskAddFriendNotify.newBuilder() + .setTargetUid(friendship.getFriendId()) + .setTargetFriendBrief(friendship.toProto()) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketAskAddFriendRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketAskAddFriendRsp.java new file mode 100644 index 00000000..df46ac29 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketAskAddFriendRsp.java @@ -0,0 +1,18 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.AskAddFriendRspOuterClass.AskAddFriendRsp; + +public class PacketAskAddFriendRsp extends GenshinPacket { + + public PacketAskAddFriendRsp(int targetUid) { + super(PacketOpcodes.AskAddFriendRsp); + + AskAddFriendRsp proto = AskAddFriendRsp.newBuilder() + .setTargetUid(targetUid) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketAvatarAddNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketAvatarAddNotify.java new file mode 100644 index 00000000..620165d5 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketAvatarAddNotify.java @@ -0,0 +1,20 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.avatar.GenshinAvatar; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.AvatarAddNotifyOuterClass.AvatarAddNotify; + +public class PacketAvatarAddNotify extends GenshinPacket { + + public PacketAvatarAddNotify(GenshinAvatar avatar, boolean addedToTeam) { + super(PacketOpcodes.AvatarAddNotify); + + AvatarAddNotify proto = AvatarAddNotify.newBuilder() + .setAvatar(avatar.toProto()) + .setIsInTeam(addedToTeam) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketAvatarChangeCostumeNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketAvatarChangeCostumeNotify.java new file mode 100644 index 00000000..0319fc4c --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketAvatarChangeCostumeNotify.java @@ -0,0 +1,19 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.entity.EntityAvatar; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.AvatarChangeCostumeNotifyOuterClass.AvatarChangeCostumeNotify; + +public class PacketAvatarChangeCostumeNotify extends GenshinPacket { + + public PacketAvatarChangeCostumeNotify(EntityAvatar entity) { + super(PacketOpcodes.AvatarChangeCostumeNotify); + + AvatarChangeCostumeNotify proto = AvatarChangeCostumeNotify.newBuilder() + .setEntity(entity.toProto()) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketAvatarChangeCostumeRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketAvatarChangeCostumeRsp.java new file mode 100644 index 00000000..66c1d505 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketAvatarChangeCostumeRsp.java @@ -0,0 +1,29 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.AvatarChangeCostumeRspOuterClass.AvatarChangeCostumeRsp; + +public class PacketAvatarChangeCostumeRsp extends GenshinPacket { + + public PacketAvatarChangeCostumeRsp(long avatarGuid, int costumeId) { + super(PacketOpcodes.AvatarChangeCostumeRsp); + + AvatarChangeCostumeRsp proto = AvatarChangeCostumeRsp.newBuilder() + .setAvatarGuid(avatarGuid) + .setCostumeId(costumeId) + .build(); + + this.setData(proto); + } + + public PacketAvatarChangeCostumeRsp() { + super(PacketOpcodes.AvatarChangeCostumeRsp); + + AvatarChangeCostumeRsp proto = AvatarChangeCostumeRsp.newBuilder() + .setRetcode(1) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketAvatarDataNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketAvatarDataNotify.java new file mode 100644 index 00000000..a05a2dab --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketAvatarDataNotify.java @@ -0,0 +1,44 @@ +package emu.grasscutter.server.packet.send; + +import java.util.Map.Entry; + +import emu.grasscutter.game.GenshinPlayer; +import emu.grasscutter.game.TeamInfo; +import emu.grasscutter.game.avatar.GenshinAvatar; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.AvatarDataNotifyOuterClass.AvatarDataNotify; +import emu.grasscutter.net.proto.AvatarTeamOuterClass.AvatarTeam; + +public class PacketAvatarDataNotify extends GenshinPacket { + + public PacketAvatarDataNotify(GenshinPlayer player) { + super(PacketOpcodes.AvatarDataNotify, 2); + + AvatarDataNotify.Builder proto = AvatarDataNotify.newBuilder() + .setCurAvatarTeamId(player.getTeamManager().getCurrentTeamId()) + .setChooseAvatarGuid(player.getTeamManager().getCurrentCharacterGuid()) + .addAllOwnedFlycloakList(player.getFlyCloakList()) + .addAllOwnedCostumeList(player.getCostumeList()); + + for (GenshinAvatar avatar : player.getAvatars()) { + proto.addAvatarList(avatar.toProto()); + } + + for (Entry entry : player.getTeamManager().getTeams().entrySet()) { + TeamInfo teamInfo = entry.getValue(); + AvatarTeam.Builder avatarTeam = AvatarTeam.newBuilder() + .setTeamName(teamInfo.getName()); + + for (int i = 0; i < teamInfo.getAvatars().size(); i++) { + GenshinAvatar avatar = player.getAvatars().getAvatarById(teamInfo.getAvatars().get(i)); + avatarTeam.addAvatarGuidList(avatar.getGuid()); + } + + proto.putAvatarTeamMap(entry.getKey(), avatarTeam.build()); + } + + this.setData(proto.build()); + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketAvatarDieAnimationEndRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketAvatarDieAnimationEndRsp.java new file mode 100644 index 00000000..3fa913a0 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketAvatarDieAnimationEndRsp.java @@ -0,0 +1,19 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.AvatarDieAnimationEndRspOuterClass.AvatarDieAnimationEndRsp; + +public class PacketAvatarDieAnimationEndRsp extends GenshinPacket { + + public PacketAvatarDieAnimationEndRsp(long dieGuid, int skillId) { + super(PacketOpcodes.AvatarDieAnimationEndRsp); + + AvatarDieAnimationEndRsp proto = AvatarDieAnimationEndRsp.newBuilder() + .setDieGuid(dieGuid) + .setSkillId(skillId) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketAvatarEquipChangeNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketAvatarEquipChangeNotify.java new file mode 100644 index 00000000..000c72d3 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketAvatarEquipChangeNotify.java @@ -0,0 +1,39 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.avatar.GenshinAvatar; +import emu.grasscutter.game.inventory.EquipType; +import emu.grasscutter.game.inventory.GenshinItem; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.AvatarEquipChangeNotifyOuterClass.AvatarEquipChangeNotify; + +public class PacketAvatarEquipChangeNotify extends GenshinPacket { + + public PacketAvatarEquipChangeNotify(GenshinAvatar avatar, GenshinItem item) { + super(PacketOpcodes.AvatarEquipChangeNotify); + + AvatarEquipChangeNotify.Builder proto = AvatarEquipChangeNotify.newBuilder() + .setAvatarGuid(avatar.getGuid()) + .setEquipType(item.getEquipSlot()) + .setItemId(item.getItemId()) + .setEquipGuid(item.getGuid()); + + if (item.getItemData().getEquipType() == EquipType.EQUIP_WEAPON) { + proto.setWeapon(item.createSceneWeaponInfo()); + } else { + proto.setReliquary(item.createSceneReliquaryInfo()); + } + + this.setData(proto); + } + + public PacketAvatarEquipChangeNotify(GenshinAvatar avatar, EquipType slot) { + super(PacketOpcodes.AvatarEquipChangeNotify); + + AvatarEquipChangeNotify.Builder proto = AvatarEquipChangeNotify.newBuilder() + .setAvatarGuid(avatar.getGuid()) + .setEquipType(slot.getValue()); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketAvatarFightPropNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketAvatarFightPropNotify.java new file mode 100644 index 00000000..bb68c5d1 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketAvatarFightPropNotify.java @@ -0,0 +1,20 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.avatar.GenshinAvatar; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.AvatarFightPropNotifyOuterClass.AvatarFightPropNotify; + +public class PacketAvatarFightPropNotify extends GenshinPacket { + + public PacketAvatarFightPropNotify(GenshinAvatar avatar) { + super(PacketOpcodes.AvatarFightPropNotify); + + AvatarFightPropNotify proto = AvatarFightPropNotify.newBuilder() + .setAvatarGuid(avatar.getGuid()) + .putAllFightPropMap(avatar.getFightProperties()) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketAvatarFightPropUpdateNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketAvatarFightPropUpdateNotify.java new file mode 100644 index 00000000..a939ba05 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketAvatarFightPropUpdateNotify.java @@ -0,0 +1,21 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.avatar.GenshinAvatar; +import emu.grasscutter.game.props.FightProperty; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.AvatarFightPropUpdateNotifyOuterClass.AvatarFightPropUpdateNotify; + +public class PacketAvatarFightPropUpdateNotify extends GenshinPacket { + + public PacketAvatarFightPropUpdateNotify(GenshinAvatar avatar, FightProperty prop) { + super(PacketOpcodes.AvatarFightPropUpdateNotify); + + AvatarFightPropUpdateNotify proto = AvatarFightPropUpdateNotify.newBuilder() + .setAvatarGuid(avatar.getGuid()) + .putFightPropMap(prop.getId(), avatar.getFightProperty(prop)) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketAvatarFlycloakChangeNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketAvatarFlycloakChangeNotify.java new file mode 100644 index 00000000..88efecfe --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketAvatarFlycloakChangeNotify.java @@ -0,0 +1,20 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.avatar.GenshinAvatar; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.AvatarFlycloakChangeNotifyOuterClass.AvatarFlycloakChangeNotify; + +public class PacketAvatarFlycloakChangeNotify extends GenshinPacket { + + public PacketAvatarFlycloakChangeNotify(GenshinAvatar avatar) { + super(PacketOpcodes.AvatarFlycloakChangeNotify); + + AvatarFlycloakChangeNotify proto = AvatarFlycloakChangeNotify.newBuilder() + .setAvatarGuid(avatar.getGuid()) + .setFlycloakId(avatar.getFlyCloak()) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketAvatarGainCostumeNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketAvatarGainCostumeNotify.java new file mode 100644 index 00000000..74946d95 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketAvatarGainCostumeNotify.java @@ -0,0 +1,18 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.AvatarGainCostumeNotifyOuterClass.AvatarGainCostumeNotify; + +public class PacketAvatarGainCostumeNotify extends GenshinPacket { + + public PacketAvatarGainCostumeNotify(int costumeId) { + super(PacketOpcodes.AvatarGainCostumeNotify); + + AvatarGainCostumeNotify proto = AvatarGainCostumeNotify.newBuilder() + .setCostumeId(costumeId) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketAvatarGainFlycloakNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketAvatarGainFlycloakNotify.java new file mode 100644 index 00000000..a3dfacc1 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketAvatarGainFlycloakNotify.java @@ -0,0 +1,18 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.AvatarGainFlycloakNotifyOuterClass.AvatarGainFlycloakNotify; + +public class PacketAvatarGainFlycloakNotify extends GenshinPacket { + + public PacketAvatarGainFlycloakNotify(int flycloak) { + super(PacketOpcodes.AvatarGainFlycloakNotify); + + AvatarGainFlycloakNotify proto = AvatarGainFlycloakNotify.newBuilder() + .setFlycloakId(flycloak) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketAvatarLifeStateChangeNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketAvatarLifeStateChangeNotify.java new file mode 100644 index 00000000..d9acb5d4 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketAvatarLifeStateChangeNotify.java @@ -0,0 +1,22 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.avatar.GenshinAvatar; +import emu.grasscutter.game.props.FightProperty; +import emu.grasscutter.game.props.LifeState; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.AvatarLifeStateChangeNotifyOuterClass.AvatarLifeStateChangeNotify; + +public class PacketAvatarLifeStateChangeNotify extends GenshinPacket { + + public PacketAvatarLifeStateChangeNotify(GenshinAvatar avatar) { + super(PacketOpcodes.AvatarLifeStateChangeNotify); + + AvatarLifeStateChangeNotify proto = AvatarLifeStateChangeNotify.newBuilder() + .setAvatarGuid(avatar.getGuid()) + .setLifeState(avatar.getFightProperty(FightProperty.FIGHT_PROP_CUR_HP) > 0 ? LifeState.LIFE_ALIVE.getValue() : LifeState.LIFE_DEAD.getValue()) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketAvatarPromoteRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketAvatarPromoteRsp.java new file mode 100644 index 00000000..feef149e --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketAvatarPromoteRsp.java @@ -0,0 +1,19 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.avatar.GenshinAvatar; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.AvatarPromoteRspOuterClass.AvatarPromoteRsp; + +public class PacketAvatarPromoteRsp extends GenshinPacket { + + public PacketAvatarPromoteRsp(GenshinAvatar avatar) { + super(PacketOpcodes.AvatarPromoteRsp); + + AvatarPromoteRsp proto = AvatarPromoteRsp.newBuilder() + .setGuid(avatar.getGuid()) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketAvatarPropNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketAvatarPropNotify.java new file mode 100644 index 00000000..d1c04d9d --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketAvatarPropNotify.java @@ -0,0 +1,35 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.avatar.GenshinAvatar; +import emu.grasscutter.game.props.PlayerProperty; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.AvatarPropNotifyOuterClass.AvatarPropNotify; + +public class PacketAvatarPropNotify extends GenshinPacket { + public PacketAvatarPropNotify(GenshinAvatar avatar) { + super(PacketOpcodes.AvatarPropNotify); + + AvatarPropNotify proto = AvatarPropNotify.newBuilder() + .setAvatarGuid(avatar.getGuid()) + .putPropMap(PlayerProperty.PROP_LEVEL.getId(), avatar.getLevel()) + .putPropMap(PlayerProperty.PROP_EXP.getId(), avatar.getExp()) + .putPropMap(PlayerProperty.PROP_BREAK_LEVEL.getId(), avatar.getPromoteLevel()) + .putPropMap(PlayerProperty.PROP_SATIATION_VAL.getId(), 0) + .putPropMap(PlayerProperty.PROP_SATIATION_PENALTY_TIME.getId(), 0) + .build(); + + this.setData(proto); + } + + public PacketAvatarPropNotify(GenshinAvatar avatar, PlayerProperty prop, int value) { + super(PacketOpcodes.AvatarPropNotify); + + AvatarPropNotify proto = AvatarPropNotify.newBuilder() + .setAvatarGuid(avatar.getGuid()) + .putPropMap(prop.getId(), value) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketAvatarSkillChangeNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketAvatarSkillChangeNotify.java new file mode 100644 index 00000000..ba787ee7 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketAvatarSkillChangeNotify.java @@ -0,0 +1,24 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.avatar.GenshinAvatar; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.AvatarSkillChangeNotifyOuterClass.AvatarSkillChangeNotify; + +public class PacketAvatarSkillChangeNotify extends GenshinPacket { + + public PacketAvatarSkillChangeNotify(GenshinAvatar avatar, int skillId, int oldLevel, int curLevel) { + super(PacketOpcodes.AvatarSkillChangeNotify); + + AvatarSkillChangeNotify proto = AvatarSkillChangeNotify.newBuilder() + .setAvatarGuid(avatar.getGuid()) + .setEntityId(avatar.getEntityId()) + .setSkillDepotId(avatar.getSkillDepotId()) + .setAvatarSkillId(skillId) + .setOldLevel(oldLevel) + .setCurLevel(curLevel) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketAvatarSkillUpgradeRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketAvatarSkillUpgradeRsp.java new file mode 100644 index 00000000..21163e90 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketAvatarSkillUpgradeRsp.java @@ -0,0 +1,22 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.avatar.GenshinAvatar; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.AvatarSkillUpgradeRspOuterClass.AvatarSkillUpgradeRsp; + +public class PacketAvatarSkillUpgradeRsp extends GenshinPacket { + + public PacketAvatarSkillUpgradeRsp(GenshinAvatar avatar, int skillId, int oldLevel, int newLevel) { + super(PacketOpcodes.AvatarSkillUpgradeRsp); + + AvatarSkillUpgradeRsp proto = AvatarSkillUpgradeRsp.newBuilder() + .setAvatarGuid(avatar.getGuid()) + .setAvatarSkillId(skillId) + .setOldLevel(oldLevel) + .setCurLevel(newLevel) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketAvatarTeamUpdateNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketAvatarTeamUpdateNotify.java new file mode 100644 index 00000000..519584cc --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketAvatarTeamUpdateNotify.java @@ -0,0 +1,35 @@ +package emu.grasscutter.server.packet.send; + +import java.util.Map.Entry; + +import emu.grasscutter.game.GenshinPlayer; +import emu.grasscutter.game.TeamInfo; +import emu.grasscutter.game.avatar.GenshinAvatar; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.AvatarTeamOuterClass.AvatarTeam; +import emu.grasscutter.net.proto.AvatarTeamUpdateNotifyOuterClass.AvatarTeamUpdateNotify; + +public class PacketAvatarTeamUpdateNotify extends GenshinPacket { + + public PacketAvatarTeamUpdateNotify(GenshinPlayer player) { + super(PacketOpcodes.AvatarTeamUpdateNotify); + + AvatarTeamUpdateNotify.Builder proto = AvatarTeamUpdateNotify.newBuilder(); + + for (Entry entry : player.getTeamManager().getTeams().entrySet()) { + TeamInfo teamInfo = entry.getValue(); + AvatarTeam.Builder avatarTeam = AvatarTeam.newBuilder() + .setTeamName(teamInfo.getName()); + + for (int i = 0; i < teamInfo.getAvatars().size(); i++) { + GenshinAvatar avatar = player.getAvatars().getAvatarById(teamInfo.getAvatars().get(i)); + avatarTeam.addAvatarGuidList(avatar.getGuid()); + } + + proto.putAvatarTeamMap(entry.getKey(), avatarTeam.build()); + } + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketAvatarUnlockTalentNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketAvatarUnlockTalentNotify.java new file mode 100644 index 00000000..4c0b11ae --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketAvatarUnlockTalentNotify.java @@ -0,0 +1,22 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.avatar.GenshinAvatar; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.AvatarUnlockTalentNotifyOuterClass.AvatarUnlockTalentNotify; + +public class PacketAvatarUnlockTalentNotify extends GenshinPacket { + + public PacketAvatarUnlockTalentNotify(GenshinAvatar avatar, int talentId) { + super(PacketOpcodes.AvatarUnlockTalentNotify); + + AvatarUnlockTalentNotify proto = AvatarUnlockTalentNotify.newBuilder() + .setAvatarGuid(avatar.getGuid()) + .setEntityId(avatar.getEntityId()) + .setTalentId(talentId) + .setSkillDepotId(avatar.getSkillDepotId()) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketAvatarUpgradeRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketAvatarUpgradeRsp.java new file mode 100644 index 00000000..031313ea --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketAvatarUpgradeRsp.java @@ -0,0 +1,27 @@ +package emu.grasscutter.server.packet.send; + +import java.util.Map; + +import emu.grasscutter.game.avatar.GenshinAvatar; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.AvatarUpgradeRspOuterClass.AvatarUpgradeRsp; + +public class PacketAvatarUpgradeRsp extends GenshinPacket { + + public PacketAvatarUpgradeRsp(GenshinAvatar avatar, int oldLevel, Map oldFightPropMap) { + super(PacketOpcodes.AvatarUpgradeRsp); + + this.buildHeader(0); + + AvatarUpgradeRsp proto = AvatarUpgradeRsp.newBuilder() + .setAvatarGuid(avatar.getGuid()) + .setOldLevel(oldLevel) + .setCurLevel(avatar.getLevel()) + .putAllOldFightPropMap(oldFightPropMap) + .putAllCurFightPropMap(avatar.getFightProperties()) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketAvatarWearFlycloakRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketAvatarWearFlycloakRsp.java new file mode 100644 index 00000000..b95cfafc --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketAvatarWearFlycloakRsp.java @@ -0,0 +1,28 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.AvatarWearFlycloakRspOuterClass.AvatarWearFlycloakRsp; + +public class PacketAvatarWearFlycloakRsp extends GenshinPacket { + public PacketAvatarWearFlycloakRsp(long avatarGuid, int costumeId) { + super(PacketOpcodes.AvatarWearFlycloakRsp); + + AvatarWearFlycloakRsp proto = AvatarWearFlycloakRsp.newBuilder() + .setAvatarGuid(avatarGuid) + .setFlycloakId(costumeId) + .build(); + + this.setData(proto); + } + + public PacketAvatarWearFlycloakRsp() { + super(PacketOpcodes.AvatarWearFlycloakRsp); + + AvatarWearFlycloakRsp proto = AvatarWearFlycloakRsp.newBuilder() + .setRetcode(1) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketCalcWeaponUpgradeReturnItemsRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketCalcWeaponUpgradeReturnItemsRsp.java new file mode 100644 index 00000000..d3a30a70 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketCalcWeaponUpgradeReturnItemsRsp.java @@ -0,0 +1,33 @@ +package emu.grasscutter.server.packet.send; + +import java.util.List; + +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.packet.Retcode; +import emu.grasscutter.net.proto.CalcWeaponUpgradeReturnItemsRspOuterClass.CalcWeaponUpgradeReturnItemsRsp; +import emu.grasscutter.net.proto.ItemParamOuterClass.ItemParam; + +public class PacketCalcWeaponUpgradeReturnItemsRsp extends GenshinPacket { + + public PacketCalcWeaponUpgradeReturnItemsRsp(long itemGuid, List returnItems) { + super(PacketOpcodes.CalcWeaponUpgradeReturnItemsRsp); + + CalcWeaponUpgradeReturnItemsRsp proto = CalcWeaponUpgradeReturnItemsRsp.newBuilder() + .setTargetWeaponGuid(itemGuid) + .addAllItemParamList(returnItems) + .build(); + + this.setData(proto); + } + + public PacketCalcWeaponUpgradeReturnItemsRsp() { + super(PacketOpcodes.CalcWeaponUpgradeReturnItemsRsp); + + CalcWeaponUpgradeReturnItemsRsp proto = CalcWeaponUpgradeReturnItemsRsp.newBuilder() + .setRetcode(Retcode.FAIL) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketChangeAvatarRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketChangeAvatarRsp.java new file mode 100644 index 00000000..ac222a43 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketChangeAvatarRsp.java @@ -0,0 +1,19 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.ChangeAvatarRspOuterClass.ChangeAvatarRsp; + +public class PacketChangeAvatarRsp extends GenshinPacket { + + public PacketChangeAvatarRsp(long guid) { + super(PacketOpcodes.ChangeAvatarRsp); + + ChangeAvatarRsp p = ChangeAvatarRsp.newBuilder() + .setRetcode(0) + .setCurrGuid(guid) + .build(); + + this.setData(p); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketChangeGameTimeRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketChangeGameTimeRsp.java new file mode 100644 index 00000000..5a97331f --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketChangeGameTimeRsp.java @@ -0,0 +1,19 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.World; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.ChangeGameTimeRspOuterClass.ChangeGameTimeRsp; + +public class PacketChangeGameTimeRsp extends GenshinPacket { + + public PacketChangeGameTimeRsp(World world) { + super(PacketOpcodes.ChangeGameTimeRsp); + + ChangeGameTimeRsp proto = ChangeGameTimeRsp.newBuilder() + .setCurGameTime(world.getTime()) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketChangeMpTeamAvatarRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketChangeMpTeamAvatarRsp.java new file mode 100644 index 00000000..36d2ed24 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketChangeMpTeamAvatarRsp.java @@ -0,0 +1,23 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.GenshinPlayer; +import emu.grasscutter.game.TeamInfo; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.ChangeMpTeamAvatarRspOuterClass.ChangeMpTeamAvatarRsp; + +public class PacketChangeMpTeamAvatarRsp extends GenshinPacket { + + public PacketChangeMpTeamAvatarRsp(GenshinPlayer player, TeamInfo teamInfo) { + super(PacketOpcodes.ChangeMpTeamAvatarRsp); + + ChangeMpTeamAvatarRsp.Builder proto = ChangeMpTeamAvatarRsp.newBuilder() + .setCurAvatarGuid(player.getTeamManager().getCurrentCharacterGuid()); + + for (int avatarId : teamInfo.getAvatars()) { + proto.addAvatarGuidList(player.getAvatars().getAvatarById(avatarId).getGuid()); + } + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketChangeTeamNameRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketChangeTeamNameRsp.java new file mode 100644 index 00000000..52c6bccb --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketChangeTeamNameRsp.java @@ -0,0 +1,19 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.ChangeTeamNameRspOuterClass.ChangeTeamNameRsp; + +public class PacketChangeTeamNameRsp extends GenshinPacket { + + public PacketChangeTeamNameRsp(int teamId, String teamName) { + super(PacketOpcodes.ChangeTeamNameRsp); + + ChangeTeamNameRsp proto = ChangeTeamNameRsp.newBuilder() + .setTeamId(teamId) + .setTeamName(teamName) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketChooseCurAvatarTeamRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketChooseCurAvatarTeamRsp.java new file mode 100644 index 00000000..2af34109 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketChooseCurAvatarTeamRsp.java @@ -0,0 +1,18 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.ChooseCurAvatarTeamRspOuterClass.ChooseCurAvatarTeamRsp; + +public class PacketChooseCurAvatarTeamRsp extends GenshinPacket { + + public PacketChooseCurAvatarTeamRsp(int teamId) { + super(PacketOpcodes.ChooseCurAvatarTeamRsp); + + ChooseCurAvatarTeamRsp proto = ChooseCurAvatarTeamRsp.newBuilder() + .setCurTeamId(teamId) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketCombatInvocationsNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketCombatInvocationsNotify.java new file mode 100644 index 00000000..c2031065 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketCombatInvocationsNotify.java @@ -0,0 +1,32 @@ +package emu.grasscutter.server.packet.send; + +import java.util.List; + +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.CombatInvocationsNotifyOuterClass.CombatInvocationsNotify; +import emu.grasscutter.net.proto.CombatInvokeEntryOuterClass.CombatInvokeEntry; + +public class PacketCombatInvocationsNotify extends GenshinPacket { + + public PacketCombatInvocationsNotify(CombatInvokeEntry entry) { + super(PacketOpcodes.CombatInvocationsNotify, true); + + CombatInvocationsNotify proto = CombatInvocationsNotify.newBuilder() + .addInvokeList(entry) + .build(); + + this.setData(proto); + } + + public PacketCombatInvocationsNotify(List entries) { + super(PacketOpcodes.CombatInvocationsNotify, true); + + CombatInvocationsNotify proto = CombatInvocationsNotify.newBuilder() + .addAllInvokeList(entries) + .build(); + + this.setData(proto); + } + +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketDealAddFriendRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketDealAddFriendRsp.java new file mode 100644 index 00000000..590506c1 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketDealAddFriendRsp.java @@ -0,0 +1,20 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.DealAddFriendResultTypeOuterClass.DealAddFriendResultType; +import emu.grasscutter.net.proto.DealAddFriendRspOuterClass.DealAddFriendRsp; + +public class PacketDealAddFriendRsp extends GenshinPacket { + + public PacketDealAddFriendRsp(int targetUid, DealAddFriendResultType result) { + super(PacketOpcodes.DealAddFriendRsp); + + DealAddFriendRsp proto = DealAddFriendRsp.newBuilder() + .setTargetUid(targetUid) + .setDealAddFriendResult(result) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketDelTeamEntityNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketDelTeamEntityNotify.java new file mode 100644 index 00000000..8e6bd10f --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketDelTeamEntityNotify.java @@ -0,0 +1,32 @@ +package emu.grasscutter.server.packet.send; + +import java.util.List; + +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.DelTeamEntityNotifyOuterClass.DelTeamEntityNotify; + +public class PacketDelTeamEntityNotify extends GenshinPacket { + + public PacketDelTeamEntityNotify(int sceneId, int teamEntityId) { + super(PacketOpcodes.DelTeamEntityNotify); + + DelTeamEntityNotify proto = DelTeamEntityNotify.newBuilder() + .setSceneId(sceneId) + .addDelEntityIdList(teamEntityId) + .build(); + + this.setData(proto); + } + + public PacketDelTeamEntityNotify(int sceneId, List list) { + super(PacketOpcodes.DelTeamEntityNotify); + + DelTeamEntityNotify proto = DelTeamEntityNotify.newBuilder() + .setSceneId(sceneId) + .addAllDelEntityIdList(list) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketDeleteFriendNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketDeleteFriendNotify.java new file mode 100644 index 00000000..7b41b14a --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketDeleteFriendNotify.java @@ -0,0 +1,18 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.DeleteFriendNotifyOuterClass.DeleteFriendNotify; + +public class PacketDeleteFriendNotify extends GenshinPacket { + + public PacketDeleteFriendNotify(int targetUid) { + super(PacketOpcodes.DeleteFriendNotify); + + DeleteFriendNotify proto = DeleteFriendNotify.newBuilder() + .setTargetUid(targetUid) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketDeleteFriendRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketDeleteFriendRsp.java new file mode 100644 index 00000000..bfe7c2ce --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketDeleteFriendRsp.java @@ -0,0 +1,18 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.DeleteFriendRspOuterClass.DeleteFriendRsp; + +public class PacketDeleteFriendRsp extends GenshinPacket { + + public PacketDeleteFriendRsp(int targetUid) { + super(PacketOpcodes.DeleteFriendRsp); + + DeleteFriendRsp proto = DeleteFriendRsp.newBuilder() + .setTargetUid(targetUid) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketDestroyMaterialRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketDestroyMaterialRsp.java new file mode 100644 index 00000000..76bc1ebb --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketDestroyMaterialRsp.java @@ -0,0 +1,23 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.DestroyMaterialRspOuterClass.DestroyMaterialRsp; +import it.unimi.dsi.fastutil.ints.Int2IntMap; +import it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap; + +public class PacketDestroyMaterialRsp extends GenshinPacket { + + public PacketDestroyMaterialRsp(Int2IntOpenHashMap returnMaterialMap) { + super(PacketOpcodes.DestroyMaterialRsp); + + DestroyMaterialRsp.Builder proto = DestroyMaterialRsp.newBuilder(); + + for (Int2IntMap.Entry e : returnMaterialMap.int2IntEntrySet()) { + proto.addItemIdList(e.getIntKey()); + proto.addItemCountList(e.getIntValue()); + } + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketDoGachaRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketDoGachaRsp.java new file mode 100644 index 00000000..090fcfc2 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketDoGachaRsp.java @@ -0,0 +1,41 @@ +package emu.grasscutter.server.packet.send; + +import java.util.List; + +import emu.grasscutter.game.gacha.GachaBanner; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.DoGachaRspOuterClass.DoGachaRsp; +import emu.grasscutter.net.proto.GachaItemOuterClass.GachaItem; + +public class PacketDoGachaRsp extends GenshinPacket { + + public PacketDoGachaRsp(GachaBanner banner, List list) { + super(PacketOpcodes.DoGachaRsp); + + DoGachaRsp p = DoGachaRsp.newBuilder() + .setGachaType(banner.getGachaType()) + .setGachaScheduleId(banner.getScheduleId()) + .setGachaTimes(list.size()) + .setNewGachaRandom(12345) + .setLeftGachaTimes(Integer.MAX_VALUE) + .setCostItemId(banner.getCostItem()) + .setCostItemNum(1) + .setTenCostItemId(banner.getCostItem()) + .setTenCostItemNum(10) + .addAllGachaItemList(list) + .build(); + + this.setData(p); + } + + public PacketDoGachaRsp() { + super(PacketOpcodes.DoGachaRsp); + + DoGachaRsp p = DoGachaRsp.newBuilder() + .setRetcode(1) + .build(); + + this.setData(p); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketEnterSceneDoneRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketEnterSceneDoneRsp.java new file mode 100644 index 00000000..6f1314a2 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketEnterSceneDoneRsp.java @@ -0,0 +1,19 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.GenshinPlayer; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.EnterSceneDoneRspOuterClass.EnterSceneDoneRsp; + +public class PacketEnterSceneDoneRsp extends GenshinPacket { + + public PacketEnterSceneDoneRsp(GenshinPlayer player) { + super(PacketOpcodes.EnterSceneDoneRsp); + + EnterSceneDoneRsp p = EnterSceneDoneRsp.newBuilder() + .setEnterSceneToken(player.getEnterSceneToken()) + .build(); + + this.setData(p); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketEnterScenePeerNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketEnterScenePeerNotify.java new file mode 100644 index 00000000..07c2bbf2 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketEnterScenePeerNotify.java @@ -0,0 +1,22 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.GenshinPlayer; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.EnterScenePeerNotifyOuterClass.EnterScenePeerNotify; + +public class PacketEnterScenePeerNotify extends GenshinPacket { + + public PacketEnterScenePeerNotify(GenshinPlayer player) { + super(PacketOpcodes.EnterScenePeerNotify); + + EnterScenePeerNotify proto = EnterScenePeerNotify.newBuilder() + .setDestSceneId(player.getSceneId()) + .setPeerId(player.getPeerId()) + .setHostPeerId(player.getWorld().getHost().getPeerId()) + .setEnterSceneToken(player.getEnterSceneToken()) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketEnterSceneReadyRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketEnterSceneReadyRsp.java new file mode 100644 index 00000000..c426bc72 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketEnterSceneReadyRsp.java @@ -0,0 +1,19 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.GenshinPlayer; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.EnterSceneReadyRspOuterClass.EnterSceneReadyRsp; + +public class PacketEnterSceneReadyRsp extends GenshinPacket { + + public PacketEnterSceneReadyRsp(GenshinPlayer player) { + super(PacketOpcodes.EnterSceneReadyRsp, 11); + + EnterSceneReadyRsp p = EnterSceneReadyRsp.newBuilder() + .setEnterSceneToken(player.getEnterSceneToken()) + .build(); + + this.setData(p.toByteArray()); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketEnterWorldAreaRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketEnterWorldAreaRsp.java new file mode 100644 index 00000000..0d907f31 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketEnterWorldAreaRsp.java @@ -0,0 +1,20 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.EnterWorldAreaReqOuterClass.EnterWorldAreaReq; +import emu.grasscutter.net.proto.EnterWorldAreaRspOuterClass.EnterWorldAreaRsp; + +public class PacketEnterWorldAreaRsp extends GenshinPacket { + + public PacketEnterWorldAreaRsp(int clientSequence, EnterWorldAreaReq enterWorld) { + super(PacketOpcodes.EnterWorldAreaRsp, clientSequence); + + EnterWorldAreaRsp p = EnterWorldAreaRsp.newBuilder() + .setAreaType(enterWorld.getAreaType()) + .setAreaId(enterWorld.getAreaId()) + .build(); + + this.setData(p.toByteArray()); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketEntityAiSyncNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketEntityAiSyncNotify.java new file mode 100644 index 00000000..36e4d813 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketEntityAiSyncNotify.java @@ -0,0 +1,21 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.AiSyncInfoOuterClass.AiSyncInfo; +import emu.grasscutter.net.proto.EntityAiSyncNotifyOuterClass.EntityAiSyncNotify; + +public class PacketEntityAiSyncNotify extends GenshinPacket { + + public PacketEntityAiSyncNotify(EntityAiSyncNotify notify) { + super(PacketOpcodes.EntityAiSyncNotify, true); + + EntityAiSyncNotify.Builder proto = EntityAiSyncNotify.newBuilder(); + + for (int monsterId : notify.getLocalAvatarAlertedMonsterListList()) { + proto.addInfoList(AiSyncInfo.newBuilder().setEntityId(monsterId)); + } + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketEntityFightPropUpdateNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketEntityFightPropUpdateNotify.java new file mode 100644 index 00000000..8d76891e --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketEntityFightPropUpdateNotify.java @@ -0,0 +1,21 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.entity.GenshinEntity; +import emu.grasscutter.game.props.FightProperty; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.EntityFightPropUpdateNotifyOuterClass.EntityFightPropUpdateNotify; + +public class PacketEntityFightPropUpdateNotify extends GenshinPacket { + + public PacketEntityFightPropUpdateNotify(GenshinEntity entity, FightProperty prop) { + super(PacketOpcodes.EntityFightPropUpdateNotify); + + EntityFightPropUpdateNotify proto = EntityFightPropUpdateNotify.newBuilder() + .setEntityId(entity.getId()) + .putFightPropMap(prop.getId(), entity.getFightProperty(prop)) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketGadgetInteractRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketGadgetInteractRsp.java new file mode 100644 index 00000000..3cb2661d --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketGadgetInteractRsp.java @@ -0,0 +1,31 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.entity.EntityGadget; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.GadgetInteractRspOuterClass.GadgetInteractRsp; +import emu.grasscutter.net.proto.InteractTypeOuterClass.InteractType; + +public class PacketGadgetInteractRsp extends GenshinPacket { + public PacketGadgetInteractRsp(EntityGadget gadget, InteractType interact) { + super(PacketOpcodes.GadgetInteractRsp); + + GadgetInteractRsp proto = GadgetInteractRsp.newBuilder() + .setGadgetEntityId(gadget.getId()) + .setInteractType(interact) + .setGadgetId(gadget.getGadgetId()) + .build(); + + this.setData(proto); + } + + public PacketGadgetInteractRsp() { + super(PacketOpcodes.GadgetInteractRsp); + + GadgetInteractRsp proto = GadgetInteractRsp.newBuilder() + .setRetcode(1) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketGetActivityInfoRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketGetActivityInfoRsp.java new file mode 100644 index 00000000..8b8a5cff --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketGetActivityInfoRsp.java @@ -0,0 +1,15 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.GetActivityInfoRspOuterClass.GetActivityInfoRsp; + +public class PacketGetActivityInfoRsp extends GenshinPacket { + public PacketGetActivityInfoRsp() { + super(PacketOpcodes.GetActivityInfoRsp); + + GetActivityInfoRsp proto = GetActivityInfoRsp.newBuilder().build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketGetAllUnlockNameCardRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketGetAllUnlockNameCardRsp.java new file mode 100644 index 00000000..0ac6516d --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketGetAllUnlockNameCardRsp.java @@ -0,0 +1,19 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.GenshinPlayer; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.GetAllUnlockNameCardRspOuterClass.GetAllUnlockNameCardRsp; + +public class PacketGetAllUnlockNameCardRsp extends GenshinPacket { + + public PacketGetAllUnlockNameCardRsp(GenshinPlayer player) { + super(PacketOpcodes.GetAllUnlockNameCardRsp); + + GetAllUnlockNameCardRsp proto = GetAllUnlockNameCardRsp.newBuilder() + .addAllNameCardList(player.getNameCardList()) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketGetAuthkeyRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketGetAuthkeyRsp.java new file mode 100644 index 00000000..da250fec --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketGetAuthkeyRsp.java @@ -0,0 +1,16 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.GetAuthkeyRspOuterClass.GetAuthkeyRsp; + +public class PacketGetAuthkeyRsp extends GenshinPacket { + + public PacketGetAuthkeyRsp() { + super(PacketOpcodes.GetAuthkeyRsp); + + GetAuthkeyRsp proto = GetAuthkeyRsp.newBuilder().setRetcode(1).build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketGetGachaInfoRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketGetGachaInfoRsp.java new file mode 100644 index 00000000..6772516a --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketGetGachaInfoRsp.java @@ -0,0 +1,14 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.gacha.GachaManager; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; + +public class PacketGetGachaInfoRsp extends GenshinPacket { + + public PacketGetGachaInfoRsp(GachaManager manager) { + super(PacketOpcodes.GetGachaInfoRsp); + + this.setData(manager.toProto()); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketGetPlayerAskFriendListRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketGetPlayerAskFriendListRsp.java new file mode 100644 index 00000000..14bd3432 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketGetPlayerAskFriendListRsp.java @@ -0,0 +1,25 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.GenshinPlayer; +import emu.grasscutter.game.friends.Friendship; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.GetPlayerAskFriendListRspOuterClass.GetPlayerAskFriendListRsp; + +public class PacketGetPlayerAskFriendListRsp extends GenshinPacket { + + public PacketGetPlayerAskFriendListRsp(GenshinPlayer player) { + super(PacketOpcodes.GetPlayerAskFriendListRsp); + + GetPlayerAskFriendListRsp.Builder proto = GetPlayerAskFriendListRsp.newBuilder(); + + for (Friendship friendship : player.getFriendsList().getPendingFriends().values()) { + if (friendship.getAskerId() == player.getId()) { + continue; + } + proto.addAskFriendList(friendship.toProto()); + } + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketGetPlayerFriendListRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketGetPlayerFriendListRsp.java new file mode 100644 index 00000000..bf0630ee --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketGetPlayerFriendListRsp.java @@ -0,0 +1,48 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.GenshinConstants; +import emu.grasscutter.game.GenshinPlayer; +import emu.grasscutter.game.friends.Friendship; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.FriendBriefOuterClass.FriendBrief; +import emu.grasscutter.net.proto.FriendOnlineStateOuterClass.FriendOnlineState; +import emu.grasscutter.net.proto.GetPlayerFriendListRspOuterClass.GetPlayerFriendListRsp; +import emu.grasscutter.net.proto.HeadImageOuterClass.HeadImage; + +public class PacketGetPlayerFriendListRsp extends GenshinPacket { + + public PacketGetPlayerFriendListRsp(GenshinPlayer player) { + super(PacketOpcodes.GetPlayerFriendListRsp); + + FriendBrief serverFriend = FriendBrief.newBuilder() + .setUid(GenshinConstants.SERVER_CONSOLE_UID) + .setNickname("Server") + .setLevel(1) + .setAvatar(HeadImage.newBuilder().setAvatarId(GenshinConstants.MAIN_CHARACTER_FEMALE)) + .setWorldLevel(0) + .setSignature("") + .setLastActiveTime((int) (System.currentTimeMillis() / 1000f)) + .setIsMpModeAvailable(true) + .setNameCardId(210001) + .setOnlineState(FriendOnlineState.FRIEND_ONLINE) + .setParam(1) + .setUnk1(1) + .setUnk2(3) + .build(); + + GetPlayerFriendListRsp.Builder proto = GetPlayerFriendListRsp.newBuilder().addFriendList(serverFriend); + + for (Friendship friendship : player.getFriendsList().getFriends().values()) { + proto.addFriendList(friendship.toProto()); + } + for (Friendship friendship : player.getFriendsList().getPendingFriends().values()) { + if (friendship.getAskerId() == player.getId()) { + continue; + } + proto.addAskFriendList(friendship.toProto()); + } + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketGetPlayerSocialDetailRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketGetPlayerSocialDetailRsp.java new file mode 100644 index 00000000..5529d722 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketGetPlayerSocialDetailRsp.java @@ -0,0 +1,23 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.GetPlayerSocialDetailRspOuterClass.GetPlayerSocialDetailRsp; +import emu.grasscutter.net.proto.SocialDetailOuterClass.SocialDetail; + +public class PacketGetPlayerSocialDetailRsp extends GenshinPacket { + + public PacketGetPlayerSocialDetailRsp(SocialDetail.Builder detail) { + super(PacketOpcodes.GetPlayerSocialDetailRsp); + + GetPlayerSocialDetailRsp.Builder proto = GetPlayerSocialDetailRsp.newBuilder(); + + if (detail != null) { + proto.setDetailData(detail); + } else { + proto.setRetcode(1); + } + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketGetPlayerTokenRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketGetPlayerTokenRsp.java new file mode 100644 index 00000000..2306aa0a --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketGetPlayerTokenRsp.java @@ -0,0 +1,35 @@ +package emu.grasscutter.server.packet.send; + +import com.google.protobuf.ByteString; + +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.GetPlayerTokenRspOuterClass.GetPlayerTokenRsp; +import emu.grasscutter.server.game.GameSession; +import emu.grasscutter.utils.Crypto; + +public class PacketGetPlayerTokenRsp extends GenshinPacket { + + public PacketGetPlayerTokenRsp(GameSession session, boolean doesPlayerExist) { + super(PacketOpcodes.GetPlayerTokenRsp, true); + + this.setUseDispatchKey(true); + + GetPlayerTokenRsp p = GetPlayerTokenRsp.newBuilder() + .setPlayerUid(session.getAccount().getPlayerId()) + .setAccountToken(session.getAccount().getToken()) + .setAccountType(1) + .setIsProficientPlayer(doesPlayerExist) // Not sure where this goes + .setSecretKey(Crypto.ENCRYPT_SEED) + .setSecretKeyBuffer(ByteString.copyFrom(Crypto.ENCRYPT_SEED_BUFFER)) + .setPlatformType(3) + .setChannelId(1) + .setCountryCode("US") + .setUnk1("c25-314dd05b0b5f") + .setUnk3(3) + .setClientIp(session.getAddress().getAddress().getHostAddress()) + .build(); + + this.setData(p.toByteArray()); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketGetSceneAreaRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketGetSceneAreaRsp.java new file mode 100644 index 00000000..8a8bdca3 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketGetSceneAreaRsp.java @@ -0,0 +1,28 @@ +package emu.grasscutter.server.packet.send; + +import java.util.Arrays; +import java.util.stream.Collectors; + +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.CityInfoOuterClass.CityInfo; +import emu.grasscutter.net.proto.GetSceneAreaRspOuterClass.GetSceneAreaRsp; + +public class PacketGetSceneAreaRsp extends GenshinPacket { + + public PacketGetSceneAreaRsp(int sceneId) { + super(PacketOpcodes.GetSceneAreaRsp); + + this.buildHeader(0); + + GetSceneAreaRsp p = GetSceneAreaRsp.newBuilder() + .setSceneId(3) + .addAllAreaIdList(Arrays.stream(new int[] {1,2,3,4,5,6,7,8,9,10,11,12,13,14,17,18,19}).boxed().collect(Collectors.toList())) + .addCityInfoList(CityInfo.newBuilder().setCityId(1).setLevel(1).build()) + .addCityInfoList(CityInfo.newBuilder().setCityId(2).setLevel(1).build()) + .addCityInfoList(CityInfo.newBuilder().setCityId(3).setLevel(1).build()) + .build(); + + this.setData(p); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketGetScenePointRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketGetScenePointRsp.java new file mode 100644 index 00000000..73807bed --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketGetScenePointRsp.java @@ -0,0 +1,25 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.GetScenePointRspOuterClass.GetScenePointRsp; + +public class PacketGetScenePointRsp extends GenshinPacket { + + public PacketGetScenePointRsp(int sceneId) { + super(PacketOpcodes.GetScenePointRsp); + + GetScenePointRsp.Builder p = GetScenePointRsp.newBuilder() + .setSceneId(sceneId); + + for (int i = 1; i < 1000; i++) { + p.addUnlockedPointList(i); + } + + for (int i = 1; i < 9; i++) { + p.addUnlockAreaList(i); + } + + this.setData(p); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketGetShopRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketGetShopRsp.java new file mode 100644 index 00000000..d80d445d --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketGetShopRsp.java @@ -0,0 +1,19 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.GetShopRspOuterClass.GetShopRsp; +import emu.grasscutter.net.proto.ShopOuterClass.Shop; + +public class PacketGetShopRsp extends GenshinPacket { + + public PacketGetShopRsp(int shopType) { + super(PacketOpcodes.GetShopRsp); + + GetShopRsp proto = GetShopRsp.newBuilder() + .setShop(Shop.newBuilder().setShopType(shopType)) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketGetShopmallDataRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketGetShopmallDataRsp.java new file mode 100644 index 00000000..38b44b5b --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketGetShopmallDataRsp.java @@ -0,0 +1,16 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.GetShopmallDataRspOuterClass.GetShopmallDataRsp; + +public class PacketGetShopmallDataRsp extends GenshinPacket { + + public PacketGetShopmallDataRsp() { + super(PacketOpcodes.GetShopmallDataRsp); + + GetShopmallDataRsp proto = GetShopmallDataRsp.newBuilder().build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketGetWorldMpInfoRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketGetWorldMpInfoRsp.java new file mode 100644 index 00000000..1b06c2cf --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketGetWorldMpInfoRsp.java @@ -0,0 +1,19 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.World; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.GetWorldMpInfoRspOuterClass.GetWorldMpInfoRsp; + +public class PacketGetWorldMpInfoRsp extends GenshinPacket { + + public PacketGetWorldMpInfoRsp(World world) { + super(PacketOpcodes.GetWorldMpInfoRsp); + + GetWorldMpInfoRsp proto = GetWorldMpInfoRsp.newBuilder() + .setIsInMpMode(world.isMultiplayer()) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketH5ActivityIdsNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketH5ActivityIdsNotify.java new file mode 100644 index 00000000..9ce59137 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketH5ActivityIdsNotify.java @@ -0,0 +1,17 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.H5ActivityIdsNotifyOuterClass.H5ActivityIdsNotify; + +public class PacketH5ActivityIdsNotify extends GenshinPacket { + + public PacketH5ActivityIdsNotify() { + super(PacketOpcodes.H5ActivityIdsNotify); + + H5ActivityIdsNotify proto = H5ActivityIdsNotify.newBuilder() + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketHostPlayerNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketHostPlayerNotify.java new file mode 100644 index 00000000..b291074d --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketHostPlayerNotify.java @@ -0,0 +1,20 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.World; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.HostPlayerNotifyOuterClass.HostPlayerNotify; + +public class PacketHostPlayerNotify extends GenshinPacket { + + public PacketHostPlayerNotify(World world) { + super(PacketOpcodes.HostPlayerNotify); + + HostPlayerNotify proto = HostPlayerNotify.newBuilder() + .setHostUid(world.getHost().getId()) + .setHostPeerId(world.getHost().getPeerId()) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketItemAddHintNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketItemAddHintNotify.java new file mode 100644 index 00000000..598b9a0f --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketItemAddHintNotify.java @@ -0,0 +1,36 @@ +package emu.grasscutter.server.packet.send; + +import java.util.List; + +import emu.grasscutter.game.inventory.GenshinItem; +import emu.grasscutter.game.props.ActionReason; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.ItemAddHintNotifyOuterClass.ItemAddHintNotify; + +public class PacketItemAddHintNotify extends GenshinPacket { + + public PacketItemAddHintNotify(GenshinItem item, ActionReason reason) { + super(PacketOpcodes.ItemAddHintNotify); + + ItemAddHintNotify proto = ItemAddHintNotify.newBuilder() + .addItemList(item.toItemHintProto()) + .setReason(reason.getValue()) + .build(); + + this.setData(proto); + } + + public PacketItemAddHintNotify(List items, ActionReason reason) { + super(PacketOpcodes.ItemAddHintNotify); + + ItemAddHintNotify.Builder proto = ItemAddHintNotify.newBuilder() + .setReason(reason.getValue()); + + for (GenshinItem item : items) { + proto.addItemList(item.toItemHintProto()); + } + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketLifeStateChangeNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketLifeStateChangeNotify.java new file mode 100644 index 00000000..1f26717a --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketLifeStateChangeNotify.java @@ -0,0 +1,32 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.entity.GenshinEntity; +import emu.grasscutter.game.props.LifeState; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.LifeStateChangeNotifyOuterClass.LifeStateChangeNotify; + +public class PacketLifeStateChangeNotify extends GenshinPacket { + public PacketLifeStateChangeNotify(GenshinEntity attacker, GenshinEntity target, LifeState lifeState) { + super(PacketOpcodes.LifeStateChangeNotify); + + LifeStateChangeNotify proto = LifeStateChangeNotify.newBuilder() + .setEntityId(target.getId()) + .setLifeState(lifeState.getValue()) + .setSourceEntityId(attacker.getId()) + .build(); + + this.setData(proto); + } + public PacketLifeStateChangeNotify(int attackerId, GenshinEntity target, LifeState lifeState) { + super(PacketOpcodes.LifeStateChangeNotify); + + LifeStateChangeNotify proto = LifeStateChangeNotify.newBuilder() + .setEntityId(target.getId()) + .setLifeState(lifeState.getValue()) + .setSourceEntityId(attackerId) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketOpenStateUpdateNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketOpenStateUpdateNotify.java new file mode 100644 index 00000000..c0b5fd38 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketOpenStateUpdateNotify.java @@ -0,0 +1,23 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.props.OpenState; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.OpenStateUpdateNotifyOuterClass.OpenStateUpdateNotify; + +public class PacketOpenStateUpdateNotify extends GenshinPacket { + + public PacketOpenStateUpdateNotify() { + super(PacketOpcodes.OpenStateUpdateNotify); + + OpenStateUpdateNotify.Builder proto = OpenStateUpdateNotify.newBuilder(); + + for (OpenState type : OpenState.values()) { + if (type.getValue() > 0) { + proto.putOpenStateMap(type.getValue(), 1); + } + } + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketPathfindingEnterSceneRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketPathfindingEnterSceneRsp.java new file mode 100644 index 00000000..029b0fc7 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketPathfindingEnterSceneRsp.java @@ -0,0 +1,13 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; + +public class PacketPathfindingEnterSceneRsp extends GenshinPacket { + + public PacketPathfindingEnterSceneRsp(int clientSequence) { + super(PacketOpcodes.PathfindingEnterSceneRsp); + + this.buildHeader(clientSequence); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketPingRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketPingRsp.java new file mode 100644 index 00000000..47151bf0 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketPingRsp.java @@ -0,0 +1,18 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.PingRspOuterClass.PingRsp; + +public class PacketPingRsp extends GenshinPacket { + + public PacketPingRsp(int clientSeq, int time) { + super(PacketOpcodes.PingRsp, clientSeq); + + PingRsp p = PingRsp.newBuilder() + .setClientTime(time) + .build(); + + this.setData(p.toByteArray()); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerApplyEnterMpNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerApplyEnterMpNotify.java new file mode 100644 index 00000000..7d064aa9 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerApplyEnterMpNotify.java @@ -0,0 +1,19 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.GenshinPlayer; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.PlayerApplyEnterMpNotifyOuterClass.PlayerApplyEnterMpNotify; + +public class PacketPlayerApplyEnterMpNotify extends GenshinPacket { + + public PacketPlayerApplyEnterMpNotify(GenshinPlayer srcPlayer) { + super(PacketOpcodes.PlayerApplyEnterMpNotify); + + PlayerApplyEnterMpNotify proto = PlayerApplyEnterMpNotify.newBuilder() + .setSrcPlayerInfo(srcPlayer.getOnlinePlayerInfo()) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerApplyEnterMpResultNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerApplyEnterMpResultNotify.java new file mode 100644 index 00000000..2e94cc4d --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerApplyEnterMpResultNotify.java @@ -0,0 +1,36 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.GenshinPlayer; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.PlayerApplyEnterMpReasonOuterClass.PlayerApplyEnterMpReason; +import emu.grasscutter.net.proto.PlayerApplyEnterMpResultNotifyOuterClass.PlayerApplyEnterMpResultNotify; + +public class PacketPlayerApplyEnterMpResultNotify extends GenshinPacket { + + public PacketPlayerApplyEnterMpResultNotify(GenshinPlayer target, boolean isAgreed, PlayerApplyEnterMpReason reason) { + super(PacketOpcodes.PlayerApplyEnterMpResultNotify); + + PlayerApplyEnterMpResultNotify proto = PlayerApplyEnterMpResultNotify.newBuilder() + .setTargetUid(target.getId()) + .setTargetNickname(target.getNickname()) + .setIsAgreed(isAgreed) + .setReason(reason) + .build(); + + this.setData(proto); + } + + public PacketPlayerApplyEnterMpResultNotify(int targetId, String targetName, boolean isAgreed, PlayerApplyEnterMpReason reason) { + super(PacketOpcodes.PlayerApplyEnterMpResultNotify); + + PlayerApplyEnterMpResultNotify proto = PlayerApplyEnterMpResultNotify.newBuilder() + .setTargetUid(targetId) + .setTargetNickname(targetName) + .setIsAgreed(isAgreed) + .setReason(reason) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerApplyEnterMpResultRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerApplyEnterMpResultRsp.java new file mode 100644 index 00000000..7fa4baa5 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerApplyEnterMpResultRsp.java @@ -0,0 +1,19 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.PlayerApplyEnterMpResultRspOuterClass.PlayerApplyEnterMpResultRsp; + +public class PacketPlayerApplyEnterMpResultRsp extends GenshinPacket { + + public PacketPlayerApplyEnterMpResultRsp(int applyUid, boolean isAgreed) { + super(PacketOpcodes.PlayerApplyEnterMpResultRsp); + + PlayerApplyEnterMpResultRsp proto = PlayerApplyEnterMpResultRsp.newBuilder() + .setApplyUid(applyUid) + .setIsAgreed(isAgreed) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerApplyEnterMpRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerApplyEnterMpRsp.java new file mode 100644 index 00000000..71174371 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerApplyEnterMpRsp.java @@ -0,0 +1,18 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.PlayerApplyEnterMpRspOuterClass.PlayerApplyEnterMpRsp; + +public class PacketPlayerApplyEnterMpRsp extends GenshinPacket { + + public PacketPlayerApplyEnterMpRsp(int targetUid) { + super(PacketOpcodes.PlayerApplyEnterMpRsp); + + PlayerApplyEnterMpRsp proto = PlayerApplyEnterMpRsp.newBuilder() + .setTargetUid(targetUid) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerChatNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerChatNotify.java new file mode 100644 index 00000000..482a00ae --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerChatNotify.java @@ -0,0 +1,62 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.GenshinPlayer; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.ChatInfoOuterClass.ChatInfo; +import emu.grasscutter.net.proto.PlayerChatNotifyOuterClass.PlayerChatNotify; +import emu.grasscutter.net.proto.SystemHintOuterClass.SystemHint; + +public class PacketPlayerChatNotify extends GenshinPacket { + + public PacketPlayerChatNotify(GenshinPlayer sender, int channelId, String message) { + super(PacketOpcodes.PlayerChatNotify); + + ChatInfo info = ChatInfo.newBuilder() + .setTime((int) (System.currentTimeMillis() / 1000)) + .setUid(sender.getId()) + .setText(message) + .build(); + + PlayerChatNotify proto = PlayerChatNotify.newBuilder() + .setChannelId(channelId) + .setChatInfo(info) + .build(); + + this.setData(proto); + } + + public PacketPlayerChatNotify(GenshinPlayer sender, int channelId, int emote) { + super(PacketOpcodes.PlayerChatNotify); + + ChatInfo info = ChatInfo.newBuilder() + .setTime((int) (System.currentTimeMillis() / 1000)) + .setUid(sender.getId()) + .setIcon(emote) + .build(); + + PlayerChatNotify proto = PlayerChatNotify.newBuilder() + .setChannelId(channelId) + .setChatInfo(info) + .build(); + + this.setData(proto); + } + + public PacketPlayerChatNotify(GenshinPlayer sender, int channelId, SystemHint systemHint) { + super(PacketOpcodes.PlayerChatNotify); + + ChatInfo info = ChatInfo.newBuilder() + .setTime((int) (System.currentTimeMillis() / 1000)) + .setUid(sender.getId()) + .setSystemHint(systemHint) + .build(); + + PlayerChatNotify proto = PlayerChatNotify.newBuilder() + .setChannelId(channelId) + .setChatInfo(info) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerChatRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerChatRsp.java new file mode 100644 index 00000000..83b51a2a --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerChatRsp.java @@ -0,0 +1,16 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.PlayerChatRspOuterClass.PlayerChatRsp; + +public class PacketPlayerChatRsp extends GenshinPacket { + + public PacketPlayerChatRsp() { + super(PacketOpcodes.PlayerChatRsp); + + PlayerChatRsp proto = PlayerChatRsp.newBuilder().build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerDataNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerDataNotify.java new file mode 100644 index 00000000..51b043ab --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerDataNotify.java @@ -0,0 +1,26 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.GenshinPlayer; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.PlayerDataNotifyOuterClass.PlayerDataNotify; +import emu.grasscutter.net.proto.PropValueOuterClass.PropValue; + +public class PacketPlayerDataNotify extends GenshinPacket { + + public PacketPlayerDataNotify(GenshinPlayer player) { + super(PacketOpcodes.PlayerDataNotify, 2); + + PlayerDataNotify.Builder p = PlayerDataNotify.newBuilder() + .setNickName(player.getNickname()) + .setClientTime(System.currentTimeMillis()) + .setIsFirstLoginToday(true) + .setRegionId(player.getRegionId()); + + player.getProperties().forEach((key, value) -> { + p.putPropMap(key, PropValue.newBuilder().setType(key).setIval(value).setVal(value).build()); + }); + + this.setData(p.build()); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerEnterSceneInfoNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerEnterSceneInfoNotify.java new file mode 100644 index 00000000..e47021a0 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerEnterSceneInfoNotify.java @@ -0,0 +1,56 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.GenshinPlayer; +import emu.grasscutter.game.entity.EntityAvatar; +import emu.grasscutter.game.inventory.GenshinItem; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.AbilitySyncStateInfoOuterClass.AbilitySyncStateInfo; +import emu.grasscutter.net.proto.AvatarEnterSceneInfoOuterClass.AvatarEnterSceneInfo; +import emu.grasscutter.net.proto.MPLevelEntityInfoOuterClass.MPLevelEntityInfo; +import emu.grasscutter.net.proto.PlayerEnterSceneInfoNotifyOuterClass.PlayerEnterSceneInfoNotify; +import emu.grasscutter.net.proto.TeamEnterSceneInfoOuterClass.TeamEnterSceneInfo; + +public class PacketPlayerEnterSceneInfoNotify extends GenshinPacket { + + public PacketPlayerEnterSceneInfoNotify(GenshinPlayer player) { + super(PacketOpcodes.PlayerEnterSceneInfoNotify); + + AbilitySyncStateInfo empty = AbilitySyncStateInfo.newBuilder().build(); + + PlayerEnterSceneInfoNotify.Builder proto = PlayerEnterSceneInfoNotify.newBuilder() + .setCurAvatarEntityId(player.getTeamManager().getCurrentAvatarEntity().getId()) + .setEnterSceneToken(player.getEnterSceneToken()); + + proto.setTeamEnterInfo( + TeamEnterSceneInfo.newBuilder() + .setTeamEntityId(player.getTeamManager().getEntityId()) // 150995833 + .setTeamAbilityInfo(empty) + .setUnk(empty) + ); + proto.setMpLevelEntityInfo( + MPLevelEntityInfo.newBuilder() + .setEntityId(player.getWorld().getLevelEntityId()) // 184550274 + .setAuthorityPeerId(player.getWorld().getHostPeerId()) + .setAbilityInfo(empty) + ); + + for (EntityAvatar avatarEntity : player.getTeamManager().getActiveTeam()) { + GenshinItem weapon = avatarEntity.getAvatar().getWeapon(); + long weaponGuid = weapon != null ? weapon.getGuid() : 0; + + AvatarEnterSceneInfo avatarInfo = AvatarEnterSceneInfo.newBuilder() + .setAvatarGuid(avatarEntity.getAvatar().getGuid()) + .setAvatarEntityId(avatarEntity.getId()) + .setWeaponGuid(weaponGuid) + .setWeaponEntityId(avatarEntity.getWeaponEntityId()) + .setAvatarAbilityInfo(empty) + .setWeaponAbilityInfo(empty) + .build(); + + proto.addAvatarEnterInfo(avatarInfo); + } + + this.setData(proto.build()); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerEnterSceneNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerEnterSceneNotify.java new file mode 100644 index 00000000..a40663b1 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerEnterSceneNotify.java @@ -0,0 +1,74 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.GenshinPlayer; +import emu.grasscutter.game.GenshinPlayer.SceneLoadState; +import emu.grasscutter.game.props.EnterReason; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.EnterTypeOuterClass.EnterType; +import emu.grasscutter.net.proto.PlayerEnterSceneNotifyOuterClass.PlayerEnterSceneNotify; +import emu.grasscutter.utils.Position; +import emu.grasscutter.utils.Utils; + +public class PacketPlayerEnterSceneNotify extends GenshinPacket { + + // Login + public PacketPlayerEnterSceneNotify(GenshinPlayer player) { + super(PacketOpcodes.PlayerEnterSceneNotify); + + player.setSceneLoadState(SceneLoadState.LOADING); + player.setEnterSceneToken(Utils.randomRange(1000, 99999)); + + PlayerEnterSceneNotify proto = PlayerEnterSceneNotify.newBuilder() + .setSceneId(player.getSceneId()) + .setPos(player.getPos().toProto()) + .setSceneBeginTime(System.currentTimeMillis()) + .setType(EnterType.EnterSelf) + .setTargetUid(player.getId()) + .setEnterSceneToken(player.getEnterSceneToken()) + .setWorldLevel(player.getWorldLevel()) + .setEnterReason(EnterReason.Login.getValue()) + .setIsFirstLoginEnterScene(player.isFirstLoginEnterScene()) + .addSceneTagIdList(102) + .addSceneTagIdList(107) + .addSceneTagIdList(113) + .addSceneTagIdList(117) + .setUnk1(1) + .setUnk2("3-" + player.getId() + "-" + (int) (System.currentTimeMillis() / 1000) + "-" + 18402) + .build(); + + this.setData(proto); + } + + public PacketPlayerEnterSceneNotify(GenshinPlayer player, EnterType type, EnterReason reason, int newScene, Position newPos) { + this(player, player, type, reason, newScene, newPos); + } + + // Teleport or go somewhere + public PacketPlayerEnterSceneNotify(GenshinPlayer player, GenshinPlayer target, EnterType type, EnterReason reason, int newScene, Position newPos) { + super(PacketOpcodes.PlayerEnterSceneNotify); + + player.setEnterSceneToken(Utils.randomRange(1000, 99999)); + + PlayerEnterSceneNotify proto = PlayerEnterSceneNotify.newBuilder() + .setPrevSceneId(player.getSceneId()) + .setPrevPos(player.getPos().toProto()) + .setSceneId(newScene) + .setPos(newPos.toProto()) + .setSceneBeginTime(System.currentTimeMillis()) + .setType(EnterType.EnterSelf) + .setTargetUid(target.getId()) + .setEnterSceneToken(player.getEnterSceneToken()) + .setWorldLevel(target.getWorld().getWorldLevel()) + .setEnterReason(reason.getValue()) + .addSceneTagIdList(102) + .addSceneTagIdList(107) + .addSceneTagIdList(113) + .addSceneTagIdList(117) + .setUnk1(1) + .setUnk2(newScene + "-" + target.getId() + "-" + (int) (System.currentTimeMillis() / 1000) + "-" + 18402) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerGameTimeNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerGameTimeNotify.java new file mode 100644 index 00000000..08502cdf --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerGameTimeNotify.java @@ -0,0 +1,21 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.GenshinPlayer; +import emu.grasscutter.game.World; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.PlayerGameTimeNotifyOuterClass.PlayerGameTimeNotify; + +public class PacketPlayerGameTimeNotify extends GenshinPacket { + + public PacketPlayerGameTimeNotify(World world, GenshinPlayer player) { + super(PacketOpcodes.PlayerGameTimeNotify); + + PlayerGameTimeNotify proto = PlayerGameTimeNotify.newBuilder() + .setGameTime(world.getTime()) + .setUid(player.getId()) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerGetForceQuitBanInfoRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerGetForceQuitBanInfoRsp.java new file mode 100644 index 00000000..acc03081 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerGetForceQuitBanInfoRsp.java @@ -0,0 +1,18 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.PlayerGetForceQuitBanInfoRspOuterClass.PlayerGetForceQuitBanInfoRsp; + +public class PacketPlayerGetForceQuitBanInfoRsp extends GenshinPacket { + + public PacketPlayerGetForceQuitBanInfoRsp(int retcode) { + super(PacketOpcodes.PlayerGetForceQuitBanInfoRsp); + + PlayerGetForceQuitBanInfoRsp proto = PlayerGetForceQuitBanInfoRsp.newBuilder() + .setRetcode(retcode) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerLoginRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerLoginRsp.java new file mode 100644 index 00000000..0d0871ca --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerLoginRsp.java @@ -0,0 +1,38 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.Grasscutter; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.PlayerLoginRspOuterClass.PlayerLoginRsp; +import emu.grasscutter.net.proto.RegionInfoOuterClass.RegionInfo; +import emu.grasscutter.server.game.GameSession; + +public class PacketPlayerLoginRsp extends GenshinPacket { + + public PacketPlayerLoginRsp(GameSession session) { + super(PacketOpcodes.PlayerLoginRsp, 1); + + this.setUseDispatchKey(true); + + RegionInfo info = Grasscutter.getDispatchServer().getCurrRegion().getRegionInfo(); + + PlayerLoginRsp p = PlayerLoginRsp.newBuilder() + .setIsUseAbilityHash(true) // true + .setAbilityHashCode(1844674) // 1844674 + .setGameBiz("hk4e_global") + .setClientDataVersion(info.getClientDataVersion()) + .setClientSilenceDataVersion(info.getClientSilenceDataVersion()) + .setClientMd5(info.getClientDataMd5()) + .setClientSilenceMd5(info.getClientSilenceDataMd5()) + .setResVersionConfig(info.getConfig()) + .setClientVersionSuffix(info.getClientVersionSuffix()) + .setClientSilenceVersionSuffix(info.getClientSilenceVersionSuffix()) + .setIsScOpen(false) + //.setScInfo(ByteString.copyFrom(new byte[] {})) + .setRegisterCps("mihoyo") + .setCountryCode("US") + .build(); + + this.setData(p.toByteArray()); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerPropNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerPropNotify.java new file mode 100644 index 00000000..2e2812eb --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerPropNotify.java @@ -0,0 +1,23 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.GenshinPlayer; +import emu.grasscutter.game.props.PlayerProperty; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.PlayerPropNotifyOuterClass.PlayerPropNotify; +import emu.grasscutter.utils.ProtoHelper; + +public class PacketPlayerPropNotify extends GenshinPacket { + + public PacketPlayerPropNotify(GenshinPlayer player, PlayerProperty prop) { + super(PacketOpcodes.PlayerPropNotify); + + this.buildHeader(0); + + PlayerPropNotify proto = PlayerPropNotify.newBuilder() + .putPropMap(prop.getId(), ProtoHelper.newPropValue(prop, player.getProperty(prop))) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerSetPauseRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerSetPauseRsp.java new file mode 100644 index 00000000..e199381f --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerSetPauseRsp.java @@ -0,0 +1,13 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; + +public class PacketPlayerSetPauseRsp extends GenshinPacket { + + public PacketPlayerSetPauseRsp(int clientSequence) { + super(PacketOpcodes.PlayerSetPauseRsp); + + this.buildHeader(clientSequence); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerStoreNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerStoreNotify.java new file mode 100644 index 00000000..45a13325 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerStoreNotify.java @@ -0,0 +1,30 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.GenshinConstants; +import emu.grasscutter.game.GenshinPlayer; +import emu.grasscutter.game.inventory.GenshinItem; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.ItemOuterClass.Item; +import emu.grasscutter.net.proto.PlayerStoreNotifyOuterClass.PlayerStoreNotify; +import emu.grasscutter.net.proto.StoreTypeOuterClass.StoreType; + +public class PacketPlayerStoreNotify extends GenshinPacket { + + public PacketPlayerStoreNotify(GenshinPlayer player) { + super(PacketOpcodes.PlayerStoreNotify); + + this.buildHeader(2); + + PlayerStoreNotify.Builder p = PlayerStoreNotify.newBuilder() + .setStoreType(StoreType.StorePack) + .setWeightLimit(GenshinConstants.LIMIT_ALL); + + for (GenshinItem item : player.getInventory()) { + Item itemProto = item.toProto(); + p.addItemList(itemProto); + } + + this.setData(p.build()); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerTimeNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerTimeNotify.java new file mode 100644 index 00000000..ad9a869c --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerTimeNotify.java @@ -0,0 +1,21 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.GenshinPlayer; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.PlayerTimeNotifyOuterClass.PlayerTimeNotify; + +public class PacketPlayerTimeNotify extends GenshinPacket { + + public PacketPlayerTimeNotify(GenshinPlayer player) { + super(PacketOpcodes.PlayerTimeNotify); + + PlayerTimeNotify proto = PlayerTimeNotify.newBuilder() + .setIsPaused(player.isPaused()) + .setPlayerTime(player.getClientTime()) + .setServerTime(System.currentTimeMillis()) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketPostEnterSceneRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketPostEnterSceneRsp.java new file mode 100644 index 00000000..be8dede9 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketPostEnterSceneRsp.java @@ -0,0 +1,19 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.GenshinPlayer; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.PostEnterSceneRspOuterClass.PostEnterSceneRsp; + +public class PacketPostEnterSceneRsp extends GenshinPacket { + + public PacketPostEnterSceneRsp(GenshinPlayer player) { + super(PacketOpcodes.PostEnterSceneRsp); + + PostEnterSceneRsp p = PostEnterSceneRsp.newBuilder() + .setEnterSceneToken(player.getEnterSceneToken()) + .build(); + + this.setData(p); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketPrivateChatNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketPrivateChatNotify.java new file mode 100644 index 00000000..60e08827 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketPrivateChatNotify.java @@ -0,0 +1,42 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.ChatInfoOuterClass.ChatInfo; +import emu.grasscutter.net.proto.PrivateChatNotifyOuterClass.PrivateChatNotify; + +public class PacketPrivateChatNotify extends GenshinPacket { + public PacketPrivateChatNotify(int senderId, int recvId, String message) { + super(PacketOpcodes.PrivateChatNotify); + + ChatInfo info = ChatInfo.newBuilder() + .setTime((int) (System.currentTimeMillis() / 1000)) + .setUid(senderId) + .setToUid(recvId) + .setText(message) + .build(); + + PrivateChatNotify proto = PrivateChatNotify.newBuilder() + .setChatInfo(info) + .build(); + + this.setData(proto); + } + + public PacketPrivateChatNotify(int senderId, int recvId, int emote) { + super(PacketOpcodes.PrivateChatNotify); + + ChatInfo info = ChatInfo.newBuilder() + .setTime((int) (System.currentTimeMillis() / 1000)) + .setUid(senderId) + .setToUid(recvId) + .setIcon(emote) + .build(); + + PrivateChatNotify proto = PrivateChatNotify.newBuilder() + .setChatInfo(info) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketProudSkillChangeNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketProudSkillChangeNotify.java new file mode 100644 index 00000000..b089e5c8 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketProudSkillChangeNotify.java @@ -0,0 +1,22 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.avatar.GenshinAvatar; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.ProudSkillChangeNotifyOuterClass.ProudSkillChangeNotify; + +public class PacketProudSkillChangeNotify extends GenshinPacket { + + public PacketProudSkillChangeNotify(GenshinAvatar avatar) { + super(PacketOpcodes.ProudSkillChangeNotify); + + ProudSkillChangeNotify proto = ProudSkillChangeNotify.newBuilder() + .setAvatarGuid(avatar.getGuid()) + .setEntityId(avatar.getEntityId()) + .setSkillDepotId(avatar.getSkillDepotId()) + .addAllProudSkillList(avatar.getProudSkillList()) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketProudSkillExtraLevelNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketProudSkillExtraLevelNotify.java new file mode 100644 index 00000000..127a0ec4 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketProudSkillExtraLevelNotify.java @@ -0,0 +1,22 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.avatar.GenshinAvatar; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.ProudSkillExtraLevelNotifyOuterClass.ProudSkillExtraLevelNotify; + +public class PacketProudSkillExtraLevelNotify extends GenshinPacket { + + public PacketProudSkillExtraLevelNotify(GenshinAvatar avatar, int talentIndex) { + super(PacketOpcodes.ProudSkillExtraLevelNotify); + + ProudSkillExtraLevelNotify proto = ProudSkillExtraLevelNotify.newBuilder() + .setAvatarGuid(avatar.getGuid()) + .setTalentType(3) // Talent type = 3 + .setTalentIndex(talentIndex) + .setExtraLevel(3) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketPullPrivateChatRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketPullPrivateChatRsp.java new file mode 100644 index 00000000..6d5e829c --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketPullPrivateChatRsp.java @@ -0,0 +1,16 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.PullPrivateChatRspOuterClass.PullPrivateChatRsp; + +public class PacketPullPrivateChatRsp extends GenshinPacket { + + public PacketPullPrivateChatRsp() { + super(PacketOpcodes.PullPrivateChatRsp); + + PullPrivateChatRsp proto = PullPrivateChatRsp.newBuilder().build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketPullRecentChatRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketPullRecentChatRsp.java new file mode 100644 index 00000000..34ca8b3b --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketPullRecentChatRsp.java @@ -0,0 +1,44 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.Config.ServerOptions; +import emu.grasscutter.GenshinConstants; +import emu.grasscutter.Grasscutter; +import emu.grasscutter.game.GenshinPlayer; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.ChatInfoOuterClass.ChatInfo; +import emu.grasscutter.net.proto.PullRecentChatRspOuterClass.PullRecentChatRsp; +import emu.grasscutter.utils.Utils; + +public class PacketPullRecentChatRsp extends GenshinPacket { + public PacketPullRecentChatRsp(GenshinPlayer player) { + super(PacketOpcodes.PullRecentChatRsp); + + ServerOptions serverOptions = Grasscutter.getConfig().getServerOptions(); + PullRecentChatRsp.Builder proto = PullRecentChatRsp.newBuilder(); + + if (serverOptions.WelcomeEmotes != null && serverOptions.WelcomeEmotes.length > 0) { + ChatInfo welcomeEmote = ChatInfo.newBuilder() + .setTime((int) (System.currentTimeMillis() / 1000)) + .setUid(GenshinConstants.SERVER_CONSOLE_UID) + .setToUid(player.getId()) + .setIcon(serverOptions.WelcomeEmotes[Utils.randomRange(0, serverOptions.WelcomeEmotes.length - 1)]) + .build(); + + proto.addChatInfo(welcomeEmote); + } + + if (serverOptions.WelcomeMotd != null && serverOptions.WelcomeMotd.length() > 0) { + ChatInfo welcomeMotd = ChatInfo.newBuilder() + .setTime((int) (System.currentTimeMillis() / 1000)) + .setUid(GenshinConstants.SERVER_CONSOLE_UID) + .setToUid(player.getId()) + .setText(Grasscutter.getConfig().getServerOptions().WelcomeMotd) + .build(); + + proto.addChatInfo(welcomeMotd); + } + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketReliquaryUpgradeRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketReliquaryUpgradeRsp.java new file mode 100644 index 00000000..34c9c3d8 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketReliquaryUpgradeRsp.java @@ -0,0 +1,26 @@ +package emu.grasscutter.server.packet.send; + +import java.util.List; + +import emu.grasscutter.game.inventory.GenshinItem; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.ReliquaryUpgradeRspOuterClass.ReliquaryUpgradeRsp; + +public class PacketReliquaryUpgradeRsp extends GenshinPacket { + + public PacketReliquaryUpgradeRsp(GenshinItem relic, int rate, int oldLevel, List oldAppendPropIdList) { + super(PacketOpcodes.ReliquaryUpgradeRsp); + + ReliquaryUpgradeRsp proto = ReliquaryUpgradeRsp.newBuilder() + .setTargetReliquaryGuid(relic.getGuid()) + .setOldLevel(oldLevel) + .setCurLevel(relic.getLevel()) + .setPowerUpRate(rate) + .addAllOldAppendPropList(oldAppendPropIdList) + .addAllCurAppendPropList(relic.getAppendPropIdList()) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketSceneAreaWeatherNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketSceneAreaWeatherNotify.java new file mode 100644 index 00000000..0cf62297 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketSceneAreaWeatherNotify.java @@ -0,0 +1,21 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.GenshinPlayer; +import emu.grasscutter.game.World; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.SceneAreaWeatherNotifyOuterClass.SceneAreaWeatherNotify; + +public class PacketSceneAreaWeatherNotify extends GenshinPacket { + + public PacketSceneAreaWeatherNotify(World world, GenshinPlayer player) { + super(PacketOpcodes.SceneAreaWeatherNotify); + + SceneAreaWeatherNotify proto = SceneAreaWeatherNotify.newBuilder() + .setWeatherAreaId(1) + .setClimateType(world.getClimate().getValue()) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketSceneEntityAppearNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketSceneEntityAppearNotify.java new file mode 100644 index 00000000..3b8a3902 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketSceneEntityAppearNotify.java @@ -0,0 +1,49 @@ +package emu.grasscutter.server.packet.send; + +import java.util.Collection; + +import emu.grasscutter.game.GenshinPlayer; +import emu.grasscutter.game.entity.GenshinEntity; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.SceneEntityAppearNotifyOuterClass.SceneEntityAppearNotify; +import emu.grasscutter.net.proto.VisionTypeOuterClass.VisionType; + +public class PacketSceneEntityAppearNotify extends GenshinPacket { + + public PacketSceneEntityAppearNotify(GenshinEntity entity) { + super(PacketOpcodes.SceneEntityAppearNotify, true); + + SceneEntityAppearNotify.Builder proto = SceneEntityAppearNotify.newBuilder() + .setAppearType(VisionType.VisionBorn) + .addEntityList(entity.toProto()); + + this.setData(proto.build()); + } + + public PacketSceneEntityAppearNotify(GenshinEntity entity, VisionType vision, int param) { + super(PacketOpcodes.SceneEntityAppearNotify, true); + + SceneEntityAppearNotify.Builder proto = SceneEntityAppearNotify.newBuilder() + .setAppearType(vision) + .setParam(param) + .addEntityList(entity.toProto()); + + this.setData(proto.build()); + } + + public PacketSceneEntityAppearNotify(GenshinPlayer player) { + this(player.getTeamManager().getCurrentAvatarEntity()); + } + + public PacketSceneEntityAppearNotify(Collection entities, VisionType visionType) { + super(PacketOpcodes.SceneEntityAppearNotify, true); + + SceneEntityAppearNotify.Builder proto = SceneEntityAppearNotify.newBuilder() + .setAppearType(visionType); + + entities.forEach(e -> proto.addEntityList(e.toProto())); + + this.setData(proto.build()); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketSceneEntityDisappearNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketSceneEntityDisappearNotify.java new file mode 100644 index 00000000..93d91063 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketSceneEntityDisappearNotify.java @@ -0,0 +1,21 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.entity.GenshinEntity; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.SceneEntityDisappearNotifyOuterClass.SceneEntityDisappearNotify; +import emu.grasscutter.net.proto.VisionTypeOuterClass.VisionType; + +public class PacketSceneEntityDisappearNotify extends GenshinPacket { + + public PacketSceneEntityDisappearNotify(GenshinEntity entity, VisionType disappearType) { + super(PacketOpcodes.SceneEntityDisappearNotify); + + SceneEntityDisappearNotify proto = SceneEntityDisappearNotify.newBuilder() + .setDisappearType(disappearType) + .addEntityList(entity.getId()) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketSceneEntityMoveNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketSceneEntityMoveNotify.java new file mode 100644 index 00000000..c3230f4d --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketSceneEntityMoveNotify.java @@ -0,0 +1,22 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.EntityMoveInfoOuterClass.EntityMoveInfo; +import emu.grasscutter.net.proto.SceneEntityMoveNotifyOuterClass.SceneEntityMoveNotify; + +public class PacketSceneEntityMoveNotify extends GenshinPacket { + + public PacketSceneEntityMoveNotify(EntityMoveInfo moveInfo) { + super(PacketOpcodes.SceneEntityMoveNotify, true); + + SceneEntityMoveNotify proto = SceneEntityMoveNotify.newBuilder() + .setMotionInfo(moveInfo.getMotionInfo()) + .setEntityId(moveInfo.getEntityId()) + .setSceneTime(moveInfo.getSceneTime()) + .setReliableSeq(moveInfo.getReliableSeq()) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketSceneInitFinishRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketSceneInitFinishRsp.java new file mode 100644 index 00000000..78661f01 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketSceneInitFinishRsp.java @@ -0,0 +1,17 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.GenshinPlayer; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.SceneInitFinishRspOuterClass.SceneInitFinishRsp; + +public class PacketSceneInitFinishRsp extends GenshinPacket { + + public PacketSceneInitFinishRsp(GenshinPlayer player) { + super(PacketOpcodes.SceneInitFinishRsp, 11); + + SceneInitFinishRsp p = SceneInitFinishRsp.newBuilder().setEnterSceneToken(player.getEnterSceneToken()).build(); + + this.setData(p.toByteArray()); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketSceneKickPlayerRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketSceneKickPlayerRsp.java new file mode 100644 index 00000000..7f0a6a12 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketSceneKickPlayerRsp.java @@ -0,0 +1,28 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.SceneKickPlayerRspOuterClass.SceneKickPlayerRsp; + +public class PacketSceneKickPlayerRsp extends GenshinPacket { + + public PacketSceneKickPlayerRsp(int targetUid) { + super(PacketOpcodes.SceneKickPlayerRsp); + + SceneKickPlayerRsp proto = SceneKickPlayerRsp.newBuilder() + .setTargetUid(targetUid) + .build(); + + this.setData(proto); + } + + public PacketSceneKickPlayerRsp() { + super(PacketOpcodes.SceneKickPlayerRsp); + + SceneKickPlayerRsp proto = SceneKickPlayerRsp.newBuilder() + .setRetcode(1) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketScenePlayerInfoNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketScenePlayerInfoNotify.java new file mode 100644 index 00000000..8e683016 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketScenePlayerInfoNotify.java @@ -0,0 +1,33 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.GenshinPlayer; +import emu.grasscutter.game.World; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.ScenePlayerInfoNotifyOuterClass.ScenePlayerInfoNotify; +import emu.grasscutter.net.proto.ScenePlayerInfoOuterClass.ScenePlayerInfo; + +public class PacketScenePlayerInfoNotify extends GenshinPacket { + + public PacketScenePlayerInfoNotify(World world) { + super(PacketOpcodes.ScenePlayerInfoNotify); + + ScenePlayerInfoNotify.Builder proto = ScenePlayerInfoNotify.newBuilder(); + + for (int i = 0; i < world.getPlayers().size(); i++) { + GenshinPlayer p = world.getPlayers().get(i); + + ScenePlayerInfo pInfo = ScenePlayerInfo.newBuilder() + .setUid(p.getId()) + .setPeerId(p.getPeerId()) + .setName(p.getNickname()) + .setSceneId(world.getSceneId()) + .setOnlinePlayerInfo(p.getOnlinePlayerInfo()) + .build(); + + proto.addPlayerInfoList(pInfo); + } + + this.setData(proto.build()); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketScenePlayerLocationNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketScenePlayerLocationNotify.java new file mode 100644 index 00000000..f6fa9b8f --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketScenePlayerLocationNotify.java @@ -0,0 +1,22 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.GenshinPlayer; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.ScenePlayerLocationNotifyOuterClass.ScenePlayerLocationNotify; + +public class PacketScenePlayerLocationNotify extends GenshinPacket { + + public PacketScenePlayerLocationNotify(GenshinPlayer player) { + super(PacketOpcodes.ScenePlayerLocationNotify); + + ScenePlayerLocationNotify.Builder proto = ScenePlayerLocationNotify.newBuilder() + .setSceneId(player.getSceneId()); + + for (GenshinPlayer p : player.getWorld().getPlayers()) { + proto.addPlayerLocList(p.getPlayerLocationInfo()); + } + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketSceneTeamUpdateNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketSceneTeamUpdateNotify.java new file mode 100644 index 00000000..1dac583c --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketSceneTeamUpdateNotify.java @@ -0,0 +1,46 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.GenshinPlayer; +import emu.grasscutter.game.entity.EntityAvatar; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.AbilitySyncStateInfoOuterClass.AbilitySyncStateInfo; +import emu.grasscutter.net.proto.SceneTeamAvatarOuterClass.SceneTeamAvatar; +import emu.grasscutter.net.proto.SceneTeamUpdateNotifyOuterClass.SceneTeamUpdateNotify; + +public class PacketSceneTeamUpdateNotify extends GenshinPacket { + + public PacketSceneTeamUpdateNotify(GenshinPlayer player) { + super(PacketOpcodes.SceneTeamUpdateNotify); + + SceneTeamUpdateNotify.Builder proto = SceneTeamUpdateNotify.newBuilder() + .setIsInMp(player.getWorld().isMultiplayer()); + + for (GenshinPlayer p : player.getWorld().getPlayers()) { + for (EntityAvatar entityAvatar : p.getTeamManager().getActiveTeam()) { + SceneTeamAvatar.Builder avatarProto = SceneTeamAvatar.newBuilder() + .setPlayerId(p.getId()) + .setAvatarGuid(entityAvatar.getAvatar().getGuid()) + .setSceneId(p.getSceneId()) + .setEntityId(entityAvatar.getId()) + .setSceneEntityInfo(entityAvatar.toProto()) + .setWeaponGuid(entityAvatar.getAvatar().getWeapon().getGuid()) + .setWeaponEntityId(entityAvatar.getWeaponEntityId()) + .setIsPlayerCurAvatar(p.getTeamManager().getCurrentAvatarEntity() == entityAvatar) + .setIsOnScene(p.getTeamManager().getCurrentAvatarEntity() == entityAvatar) + .setAvatarAbilityInfo(AbilitySyncStateInfo.newBuilder()) + .setWeaponAbilityInfo(AbilitySyncStateInfo.newBuilder()) + .setAbilityControlBlock(entityAvatar.getAbilityControlBlock()); + + if (player.getWorld().isMultiplayer()) { + avatarProto.setAvatarInfo(entityAvatar.getAvatar().toProto()); + avatarProto.setSceneAvatarInfo(entityAvatar.getSceneAvatarInfo()); // why mihoyo... + } + + proto.addSceneTeamAvatarList(avatarProto); + } + } + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketSceneTimeNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketSceneTimeNotify.java new file mode 100644 index 00000000..5af88cf2 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketSceneTimeNotify.java @@ -0,0 +1,20 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.GenshinPlayer; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.SceneTimeNotifyOuterClass.SceneTimeNotify; + +public class PacketSceneTimeNotify extends GenshinPacket { + + public PacketSceneTimeNotify(GenshinPlayer player) { + super(PacketOpcodes.SceneTimeNotify); + + SceneTimeNotify proto = SceneTimeNotify.newBuilder() + .setSceneId(player.getSceneId()) + .setSceneTime(0) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketServerTimeNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketServerTimeNotify.java new file mode 100644 index 00000000..a58b634f --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketServerTimeNotify.java @@ -0,0 +1,18 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.ServerTimeNotifyOuterClass.ServerTimeNotify; + +public class PacketServerTimeNotify extends GenshinPacket { + + public PacketServerTimeNotify() { + super(PacketOpcodes.ServerTimeNotify); + + ServerTimeNotify proto = ServerTimeNotify.newBuilder() + .setServerTime(System.currentTimeMillis()) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketSetEquipLockStateRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketSetEquipLockStateRsp.java new file mode 100644 index 00000000..7614c449 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketSetEquipLockStateRsp.java @@ -0,0 +1,22 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.inventory.GenshinItem; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.SetEquipLockStateRspOuterClass.SetEquipLockStateRsp; + +public class PacketSetEquipLockStateRsp extends GenshinPacket { + + public PacketSetEquipLockStateRsp(GenshinItem equip) { + super(PacketOpcodes.SetEquipLockStateRsp); + + this.buildHeader(0); + + SetEquipLockStateRsp proto = SetEquipLockStateRsp.newBuilder() + .setTargetEquipGuid(equip.getGuid()) + .setIsLocked(equip.isLocked()) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketSetNameCardRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketSetNameCardRsp.java new file mode 100644 index 00000000..b3c77c33 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketSetNameCardRsp.java @@ -0,0 +1,18 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.SetNameCardRspOuterClass.SetNameCardRsp; + +public class PacketSetNameCardRsp extends GenshinPacket { + + public PacketSetNameCardRsp(int nameCardId) { + super(PacketOpcodes.SetNameCardRsp); + + SetNameCardRsp proto = SetNameCardRsp.newBuilder() + .setNameCardId(nameCardId) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketSetPlayerHeadImageRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketSetPlayerHeadImageRsp.java new file mode 100644 index 00000000..148c536f --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketSetPlayerHeadImageRsp.java @@ -0,0 +1,20 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.GenshinPlayer; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.HeadImageOuterClass.HeadImage; +import emu.grasscutter.net.proto.SetPlayerHeadImageRspOuterClass.SetPlayerHeadImageRsp; + +public class PacketSetPlayerHeadImageRsp extends GenshinPacket { + + public PacketSetPlayerHeadImageRsp(GenshinPlayer player) { + super(PacketOpcodes.SetPlayerHeadImageRsp); + + SetPlayerHeadImageRsp proto = SetPlayerHeadImageRsp.newBuilder() + .setAvatar(HeadImage.newBuilder().setAvatarId(player.getHeadImage())) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketSetPlayerNameRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketSetPlayerNameRsp.java new file mode 100644 index 00000000..a40b5115 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketSetPlayerNameRsp.java @@ -0,0 +1,19 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.GenshinPlayer; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.SetPlayerNameRspOuterClass.SetPlayerNameRsp; + +public class PacketSetPlayerNameRsp extends GenshinPacket { + + public PacketSetPlayerNameRsp(GenshinPlayer player) { + super(PacketOpcodes.SetPlayerNameRsp); + + SetPlayerNameRsp proto = SetPlayerNameRsp.newBuilder() + .setNickName(player.getNickname()) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketSetPlayerSignatureRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketSetPlayerSignatureRsp.java new file mode 100644 index 00000000..98ee97b6 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketSetPlayerSignatureRsp.java @@ -0,0 +1,19 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.GenshinPlayer; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.SetPlayerSignatureRspOuterClass.SetPlayerSignatureRsp; + +public class PacketSetPlayerSignatureRsp extends GenshinPacket { + + public PacketSetPlayerSignatureRsp(GenshinPlayer player) { + super(PacketOpcodes.SetPlayerSignatureRsp); + + SetPlayerSignatureRsp proto = SetPlayerSignatureRsp.newBuilder() + .setSignature(player.getSignature()) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketSetUpAvatarTeamRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketSetUpAvatarTeamRsp.java new file mode 100644 index 00000000..55e53019 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketSetUpAvatarTeamRsp.java @@ -0,0 +1,24 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.GenshinPlayer; +import emu.grasscutter.game.TeamInfo; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.SetUpAvatarTeamRspOuterClass.SetUpAvatarTeamRsp; + +public class PacketSetUpAvatarTeamRsp extends GenshinPacket { + + public PacketSetUpAvatarTeamRsp(GenshinPlayer player, int teamId, TeamInfo teamInfo) { + super(PacketOpcodes.SetUpAvatarTeamRsp); + + SetUpAvatarTeamRsp.Builder proto = SetUpAvatarTeamRsp.newBuilder() + .setTeamId(teamId) + .setCurAvatarGuid(player.getTeamManager().getCurrentCharacterGuid()); + + for (int avatarId : teamInfo.getAvatars()) { + proto.addAvatarTeamGuidList(player.getAvatars().getAvatarById(avatarId).getGuid()); + } + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketStoreItemChangeNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketStoreItemChangeNotify.java new file mode 100644 index 00000000..70f86b78 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketStoreItemChangeNotify.java @@ -0,0 +1,37 @@ +package emu.grasscutter.server.packet.send; + +import java.util.Collection; + +import emu.grasscutter.game.inventory.GenshinItem; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.StoreItemChangeNotifyOuterClass.StoreItemChangeNotify; +import emu.grasscutter.net.proto.StoreTypeOuterClass.StoreType; + +public class PacketStoreItemChangeNotify extends GenshinPacket { + + private PacketStoreItemChangeNotify() { + super(PacketOpcodes.StoreItemChangeNotify); + } + + public PacketStoreItemChangeNotify(GenshinItem item) { + this(); + + StoreItemChangeNotify.Builder proto = StoreItemChangeNotify.newBuilder() + .setStoreType(StoreType.StorePack) + .addItemList(item.toProto()); + + this.setData(proto); + } + + public PacketStoreItemChangeNotify(Collection items) { + this(); + + StoreItemChangeNotify.Builder proto = StoreItemChangeNotify.newBuilder() + .setStoreType(StoreType.StorePack); + + items.stream().forEach(item -> proto.addItemList(item.toProto())); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketStoreItemDelNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketStoreItemDelNotify.java new file mode 100644 index 00000000..0bd58572 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketStoreItemDelNotify.java @@ -0,0 +1,37 @@ +package emu.grasscutter.server.packet.send; + +import java.util.Collection; + +import emu.grasscutter.game.inventory.GenshinItem; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.StoreItemDelNotifyOuterClass.StoreItemDelNotify; +import emu.grasscutter.net.proto.StoreTypeOuterClass.StoreType; + +public class PacketStoreItemDelNotify extends GenshinPacket { + + private PacketStoreItemDelNotify() { + super(PacketOpcodes.StoreItemDelNotify); + } + + public PacketStoreItemDelNotify(GenshinItem item) { + this(); + + StoreItemDelNotify.Builder proto = StoreItemDelNotify.newBuilder() + .setStoreType(StoreType.StorePack) + .addGuidList(item.getGuid()); + + this.setData(proto); + } + + public PacketStoreItemDelNotify(Collection items) { + this(); + + StoreItemDelNotify.Builder proto = StoreItemDelNotify.newBuilder() + .setStoreType(StoreType.StorePack); + + items.stream().forEach(item -> proto.addGuidList(item.getGuid())); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketStoreWeightLimitNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketStoreWeightLimitNotify.java new file mode 100644 index 00000000..ae4418cb --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketStoreWeightLimitNotify.java @@ -0,0 +1,25 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.GenshinConstants; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.StoreTypeOuterClass.StoreType; +import emu.grasscutter.net.proto.StoreWeightLimitNotifyOuterClass.StoreWeightLimitNotify; + +public class PacketStoreWeightLimitNotify extends GenshinPacket { + + public PacketStoreWeightLimitNotify() { + super(PacketOpcodes.StoreWeightLimitNotify); + + StoreWeightLimitNotify p = StoreWeightLimitNotify.newBuilder() + .setStoreType(StoreType.StorePack) + .setWeightLimit(GenshinConstants.LIMIT_ALL) + .setWeaponCountLimit(GenshinConstants.LIMIT_WEAPON) + .setReliquaryCountLimit(GenshinConstants.LIMIT_RELIC) + .setMaterialCountLimit(GenshinConstants.LIMIT_MATERIAL) + .setFurnitureCountLimit(GenshinConstants.LIMIT_FURNITURE) + .build(); + + this.setData(p); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketSyncScenePlayTeamEntityNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketSyncScenePlayTeamEntityNotify.java new file mode 100644 index 00000000..2983adbc --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketSyncScenePlayTeamEntityNotify.java @@ -0,0 +1,19 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.GenshinPlayer; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.SyncScenePlayTeamEntityNotifyOuterClass.SyncScenePlayTeamEntityNotify; + +public class PacketSyncScenePlayTeamEntityNotify extends GenshinPacket { + + public PacketSyncScenePlayTeamEntityNotify(GenshinPlayer player) { + super(PacketOpcodes.SyncScenePlayTeamEntityNotify); + + SyncScenePlayTeamEntityNotify proto = SyncScenePlayTeamEntityNotify.newBuilder() + .setSceneId(player.getSceneId()) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketSyncTeamEntityNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketSyncTeamEntityNotify.java new file mode 100644 index 00000000..2c0bae90 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketSyncTeamEntityNotify.java @@ -0,0 +1,38 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.GenshinPlayer; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.AbilitySyncStateInfoOuterClass.AbilitySyncStateInfo; +import emu.grasscutter.net.proto.SyncTeamEntityNotifyOuterClass.SyncTeamEntityNotify; +import emu.grasscutter.net.proto.TeamEntityInfoOuterClass.TeamEntityInfo; + +public class PacketSyncTeamEntityNotify extends GenshinPacket { + + public PacketSyncTeamEntityNotify(GenshinPlayer player) { + super(PacketOpcodes.SyncTeamEntityNotify); + + SyncTeamEntityNotify.Builder proto = SyncTeamEntityNotify.newBuilder() + .setSceneId(player.getSceneId()); + + if (player.getWorld().isMultiplayer()) { + for (GenshinPlayer p : player.getWorld().getPlayers()) { + // Skip if same player + if (player == p) { + continue; + } + + // Set info + TeamEntityInfo info = TeamEntityInfo.newBuilder() + .setTeamEntityId(p.getTeamManager().getEntityId()) + .setAuthorityPeerId(p.getPeerId()) + .setTeamAbilityInfo(AbilitySyncStateInfo.newBuilder()) + .build(); + + proto.addTeamEntityInfoList(info); + } + } + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketTakeoffEquipRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketTakeoffEquipRsp.java new file mode 100644 index 00000000..7250491e --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketTakeoffEquipRsp.java @@ -0,0 +1,19 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.TakeoffEquipRspOuterClass.TakeoffEquipRsp; + +public class PacketTakeoffEquipRsp extends GenshinPacket { + + public PacketTakeoffEquipRsp(long avatarGuid, int slot) { + super(PacketOpcodes.TakeoffEquipRsp); + + TakeoffEquipRsp proto = TakeoffEquipRsp.newBuilder() + .setAvatarGuid(avatarGuid) + .setSlot(slot) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketTowerAllDataRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketTowerAllDataRsp.java new file mode 100644 index 00000000..cb0d75ab --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketTowerAllDataRsp.java @@ -0,0 +1,28 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.TowerAllDataRspOuterClass.TowerAllDataRsp; +import emu.grasscutter.net.proto.TowerCurLevelRecordOuterClass.TowerCurLevelRecord; +import emu.grasscutter.net.proto.TowerFloorRecordOuterClass.TowerFloorRecord; + +public class PacketTowerAllDataRsp extends GenshinPacket { + + public PacketTowerAllDataRsp() { + super(PacketOpcodes.TowerAllDataRsp); + + TowerAllDataRsp proto = TowerAllDataRsp.newBuilder() + .setTowerScheduleId(29) + .addTowerFloorRecordList(TowerFloorRecord.newBuilder().setFloorId(1001)) + .setCurLevelRecord(TowerCurLevelRecord.newBuilder().setIsEmpty(true)) + .setNextScheduleChangeTime(Integer.MAX_VALUE) + .putFloorOpenTimeMap(1024, 1630486800) + .putFloorOpenTimeMap(1025, 1630486800) + .putFloorOpenTimeMap(1026, 1630486800) + .putFloorOpenTimeMap(1027, 1630486800) + .setScheduleStartTime(1630486800) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketUnlockAvatarTalentRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketUnlockAvatarTalentRsp.java new file mode 100644 index 00000000..7c87f14e --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketUnlockAvatarTalentRsp.java @@ -0,0 +1,20 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.avatar.GenshinAvatar; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.UnlockAvatarTalentRspOuterClass.UnlockAvatarTalentRsp; + +public class PacketUnlockAvatarTalentRsp extends GenshinPacket { + + public PacketUnlockAvatarTalentRsp(GenshinAvatar avatar, int talentId) { + super(PacketOpcodes.UnlockAvatarTalentRsp); + + UnlockAvatarTalentRsp proto = UnlockAvatarTalentRsp.newBuilder() + .setAvatarGuid(avatar.getGuid()) + .setTalentId(talentId) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketUnlockNameCardNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketUnlockNameCardNotify.java new file mode 100644 index 00000000..9bbd7d5c --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketUnlockNameCardNotify.java @@ -0,0 +1,18 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.UnlockNameCardNotifyOuterClass.UnlockNameCardNotify; + +public class PacketUnlockNameCardNotify extends GenshinPacket { + + public PacketUnlockNameCardNotify(int nameCard) { + super(PacketOpcodes.UnlockNameCardNotify); + + UnlockNameCardNotify proto = UnlockNameCardNotify.newBuilder() + .setNameCardId(nameCard) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketUseItemRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketUseItemRsp.java new file mode 100644 index 00000000..0069ee11 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketUseItemRsp.java @@ -0,0 +1,29 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.inventory.GenshinItem; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.UseItemRspOuterClass.UseItemRsp; + +public class PacketUseItemRsp extends GenshinPacket { + + public PacketUseItemRsp(long targetGuid, GenshinItem useItem) { + super(PacketOpcodes.UseItemRsp); + + UseItemRsp proto = UseItemRsp.newBuilder() + .setTargetGuid(targetGuid) + .setItemId(useItem.getItemId()) + .setGuid(useItem.getGuid()) + .build(); + + this.setData(proto); + } + + public PacketUseItemRsp() { + super(PacketOpcodes.UseItemRsp); + + UseItemRsp proto = UseItemRsp.newBuilder().setRetcode(1).build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketWeaponAwakenRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketWeaponAwakenRsp.java new file mode 100644 index 00000000..6ffba63f --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketWeaponAwakenRsp.java @@ -0,0 +1,29 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.avatar.GenshinAvatar; +import emu.grasscutter.game.inventory.GenshinItem; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.WeaponAwakenRspOuterClass.WeaponAwakenRsp; + +public class PacketWeaponAwakenRsp extends GenshinPacket { + + public PacketWeaponAwakenRsp(GenshinAvatar avatar, GenshinItem item, GenshinItem feedWeapon, int oldRefineLevel) { + super(PacketOpcodes.WeaponAwakenRsp); + + WeaponAwakenRsp.Builder proto = WeaponAwakenRsp.newBuilder() + .setTargetWeaponGuid(item.getGuid()) + .setTargetWeaponAwakenLevel(item.getRefinement()); + + for (int affixId : item.getAffixes()) { + proto.putOldAffixLevelMap(affixId, oldRefineLevel); + proto.putCurAffixLevelMap(affixId, item.getRefinement()); + } + + if (avatar != null) { + proto.setAvatarGuid(avatar.getGuid()); + } + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketWeaponPromoteRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketWeaponPromoteRsp.java new file mode 100644 index 00000000..f647bd1f --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketWeaponPromoteRsp.java @@ -0,0 +1,21 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.inventory.GenshinItem; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.WeaponPromoteRspOuterClass.WeaponPromoteRsp; + +public class PacketWeaponPromoteRsp extends GenshinPacket { + + public PacketWeaponPromoteRsp(GenshinItem item, int oldPromoteLevel) { + super(PacketOpcodes.WeaponPromoteRsp); + + WeaponPromoteRsp proto = WeaponPromoteRsp.newBuilder() + .setTargetWeaponGuid(item.getGuid()) + .setCurPromoteLevel(item.getPromoteLevel()) + .setOldPromoteLevel(oldPromoteLevel) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketWeaponUpgradeRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketWeaponUpgradeRsp.java new file mode 100644 index 00000000..b00accb6 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketWeaponUpgradeRsp.java @@ -0,0 +1,25 @@ +package emu.grasscutter.server.packet.send; + +import java.util.List; + +import emu.grasscutter.game.inventory.GenshinItem; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.ItemParamOuterClass.ItemParam; +import emu.grasscutter.net.proto.WeaponUpgradeRspOuterClass.WeaponUpgradeRsp; + +public class PacketWeaponUpgradeRsp extends GenshinPacket { + + public PacketWeaponUpgradeRsp(GenshinItem item, int oldLevel, List leftoverOres) { + super(PacketOpcodes.WeaponUpgradeRsp); + + WeaponUpgradeRsp proto = WeaponUpgradeRsp.newBuilder() + .setTargetWeaponGuid(item.getGuid()) + .setCurLevel(item.getLevel()) + .setOldLevel(oldLevel) + .addAllItemParamList(leftoverOres) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketWearEquipRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketWearEquipRsp.java new file mode 100644 index 00000000..26e48566 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketWearEquipRsp.java @@ -0,0 +1,19 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.WearEquipRspOuterClass.WearEquipRsp; + +public class PacketWearEquipRsp extends GenshinPacket { + + public PacketWearEquipRsp(long avatarGuid, long equipGuid) { + super(PacketOpcodes.WearEquipRsp); + + WearEquipRsp proto = WearEquipRsp.newBuilder() + .setAvatarGuid(avatarGuid) + .setEquipGuid(equipGuid) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketWorldDataNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketWorldDataNotify.java new file mode 100644 index 00000000..9a5aeb88 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketWorldDataNotify.java @@ -0,0 +1,24 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.World; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.PropValueOuterClass.PropValue; +import emu.grasscutter.net.proto.WorldDataNotifyOuterClass.WorldDataNotify; + +public class PacketWorldDataNotify extends GenshinPacket { + + public PacketWorldDataNotify(World world) { + super(PacketOpcodes.WorldDataNotify); + + int worldLevel = world.getWorldLevel(); + int isMp = world.isMultiplayer() ? 1 : 0; + + WorldDataNotify proto = WorldDataNotify.newBuilder() + .putWorldPropMap(1, PropValue.newBuilder().setType(1).setIval(worldLevel).setVal(worldLevel).build()) + .putWorldPropMap(2, PropValue.newBuilder().setType(2).setIval(isMp).setVal(isMp).build()) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketWorldPlayerDieNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketWorldPlayerDieNotify.java new file mode 100644 index 00000000..f67ff0d5 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketWorldPlayerDieNotify.java @@ -0,0 +1,20 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.PlayerDieTypeOuterClass.PlayerDieType; +import emu.grasscutter.net.proto.WorldPlayerDieNotifyOuterClass.WorldPlayerDieNotify; + +public class PacketWorldPlayerDieNotify extends GenshinPacket { + + public PacketWorldPlayerDieNotify(PlayerDieType playerDieType, int killerId) { + super(PacketOpcodes.WorldPlayerDieNotify); + + WorldPlayerDieNotify proto = WorldPlayerDieNotify.newBuilder() + .setDieType(playerDieType) + .setMonsterId(killerId) + .build(); + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketWorldPlayerInfoNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketWorldPlayerInfoNotify.java new file mode 100644 index 00000000..c14c7e43 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketWorldPlayerInfoNotify.java @@ -0,0 +1,25 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.GenshinPlayer; +import emu.grasscutter.game.World; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.WorldPlayerInfoNotifyOuterClass.WorldPlayerInfoNotify; + +public class PacketWorldPlayerInfoNotify extends GenshinPacket { + + public PacketWorldPlayerInfoNotify(World world) { + super(PacketOpcodes.WorldPlayerInfoNotify); + + WorldPlayerInfoNotify.Builder proto = WorldPlayerInfoNotify.newBuilder(); + + for (int i = 0; i < world.getPlayers().size(); i++) { + GenshinPlayer p = world.getPlayers().get(i); + + proto.addPlayerInfoList(p.getOnlinePlayerInfo()); + proto.addPlayerUidList(p.getId()); + } + + this.setData(proto.build()); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketWorldPlayerLocationNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketWorldPlayerLocationNotify.java new file mode 100644 index 00000000..cb546f0e --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketWorldPlayerLocationNotify.java @@ -0,0 +1,22 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.GenshinPlayer; +import emu.grasscutter.game.World; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.WorldPlayerLocationNotifyOuterClass.WorldPlayerLocationNotify; + +public class PacketWorldPlayerLocationNotify extends GenshinPacket { + + public PacketWorldPlayerLocationNotify(World world) { + super(PacketOpcodes.WorldPlayerLocationNotify); + + WorldPlayerLocationNotify.Builder proto = WorldPlayerLocationNotify.newBuilder(); + + for (GenshinPlayer p : world.getPlayers()) { + proto.addPlayerLocList(p.getPlayerLocationInfo()); + } + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketWorldPlayerRTTNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketWorldPlayerRTTNotify.java new file mode 100644 index 00000000..20b64e41 --- /dev/null +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketWorldPlayerRTTNotify.java @@ -0,0 +1,27 @@ +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.game.GenshinPlayer; +import emu.grasscutter.game.World; +import emu.grasscutter.net.packet.GenshinPacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.PlayerRTTInfoOuterClass.PlayerRTTInfo; +import emu.grasscutter.net.proto.WorldPlayerRTTNotifyOuterClass.WorldPlayerRTTNotify; + +public class PacketWorldPlayerRTTNotify extends GenshinPacket { + + public PacketWorldPlayerRTTNotify(World world) { + super(PacketOpcodes.WorldPlayerRTTNotify); + + WorldPlayerRTTNotify.Builder proto = WorldPlayerRTTNotify.newBuilder(); + + for (GenshinPlayer player : world.getPlayers()) { + proto.addPlayerRttList( + PlayerRTTInfo.newBuilder() + .setUid(player.getId()) + .setRtt(10) // TODO - put player ping here + ); + } + + this.setData(proto); + } +} diff --git a/src/main/java/emu/grasscutter/tools/Dumpers.java b/src/main/java/emu/grasscutter/tools/Dumpers.java new file mode 100644 index 00000000..e417009a --- /dev/null +++ b/src/main/java/emu/grasscutter/tools/Dumpers.java @@ -0,0 +1,35 @@ +package emu.grasscutter.tools; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +import emu.grasscutter.game.props.OpenState; +import emu.grasscutter.net.proto.GetGachaInfoRspOuterClass.GetGachaInfoRsp; +import emu.grasscutter.net.proto.GetShopRspOuterClass.GetShopRsp; +import emu.grasscutter.net.proto.OpenStateUpdateNotifyOuterClass.OpenStateUpdateNotify; +import emu.grasscutter.utils.FileUtils; + +public class Dumpers { + + public static void extractBanner(byte[] data) throws Exception { + GetGachaInfoRsp proto = GetGachaInfoRsp.parseFrom(data); + System.out.println(proto); + } + + public static void extractShop(byte[] data) throws Exception { + GetShopRsp proto = GetShopRsp.parseFrom(data); + System.out.println(proto); + } + + public static void dumpOpenStates(byte[] data) throws Exception { + OpenStateUpdateNotify proto = OpenStateUpdateNotify.parseFrom(data); + + List list = new ArrayList<>(proto.getOpenStateMap().keySet()); + Collections.sort(list); + + for (int key : list) { + System.out.println(OpenState.getTypeByValue(key) + " : " + key); + } + } +} diff --git a/src/main/java/emu/grasscutter/tools/Tools.java b/src/main/java/emu/grasscutter/tools/Tools.java new file mode 100644 index 00000000..fede4086 --- /dev/null +++ b/src/main/java/emu/grasscutter/tools/Tools.java @@ -0,0 +1,77 @@ +package emu.grasscutter.tools; + +import java.io.FileReader; +import java.io.FileWriter; +import java.io.PrintWriter; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +import com.google.gson.reflect.TypeToken; + +import emu.grasscutter.GenshinConstants; +import emu.grasscutter.Grasscutter; +import emu.grasscutter.data.GenshinData; +import emu.grasscutter.data.ResourceLoader; +import emu.grasscutter.data.def.AvatarData; +import emu.grasscutter.data.def.ItemData; +import emu.grasscutter.data.def.MonsterData; + +public class Tools { + + @SuppressWarnings("deprecation") + public static void createGmHandbook() throws Exception { + ResourceLoader.loadResources(); + + Map map; + try (FileReader fileReader = new FileReader(Grasscutter.getConfig().RESOURCE_FOLDER + "TextMapEN.json")) { + map = Grasscutter.getGsonFactory().fromJson(fileReader, new TypeToken>() {}.getType()); + } + + List list; + String fileName = "./GM Handbook.txt"; + try (FileWriter fileWriter = new FileWriter(fileName); PrintWriter writer = new PrintWriter(fileWriter)) { + DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss"); + LocalDateTime now = LocalDateTime.now(); + + writer.println("// Genshin Impact " + GenshinConstants.VERSION + " GM Handbook"); + writer.println("// Created " + dtf.format(now) + System.lineSeparator() + System.lineSeparator()); + + list = GenshinData.getAvatarDataMap().keySet().stream().collect(Collectors.toList()); + Collections.sort(list); + + writer.println("// Avatars"); + for (Integer id : list) { + AvatarData data = GenshinData.getAvatarDataMap().get(id); + writer.println(data.getId() + " : " + map.get(data.getNameTextMapHash())); + } + + writer.println(); + + list = GenshinData.getItemDataMap().keySet().stream().collect(Collectors.toList()); + Collections.sort(list); + + writer.println("// Items"); + for (Integer id : list) { + ItemData data = GenshinData.getItemDataMap().get(id); + writer.println(data.getId() + " : " + map.get(data.getNameTextMapHash())); + } + + writer.println(); + + writer.println("// Monsters"); + list = GenshinData.getMonsterDataMap().keySet().stream().collect(Collectors.toList()); + Collections.sort(list); + + for (Integer id : list) { + MonsterData data = GenshinData.getMonsterDataMap().get(id); + writer.println(data.getId() + " : " + map.get(data.getNameTextMapHash())); + } + } + + Grasscutter.getLogger().info("GM Handbook generated!"); + } +} diff --git a/src/main/java/emu/grasscutter/utils/Crypto.java b/src/main/java/emu/grasscutter/utils/Crypto.java new file mode 100644 index 00000000..a44cbfb9 --- /dev/null +++ b/src/main/java/emu/grasscutter/utils/Crypto.java @@ -0,0 +1,59 @@ +package emu.grasscutter.utils; + +import java.security.SecureRandom; +import java.util.Base64; + +import emu.grasscutter.Grasscutter; +import emu.grasscutter.net.proto.GetPlayerTokenRspOuterClass.GetPlayerTokenRsp; +import emu.grasscutter.net.proto.QueryCurrRegionHttpRspOuterClass.QueryCurrRegionHttpRsp; + +public class Crypto { + private static SecureRandom secureRandom = new SecureRandom(); + public static final long ENCRYPT_SEED = Long.parseUnsignedLong("11468049314633205968"); + public static byte[] ENCRYPT_SEED_BUFFER = new byte[0]; + + public static byte[] DISPATCH_KEY; + public static byte[] ENCRYPT_KEY; + + public static void loadKeys() { + DISPATCH_KEY = FileUtils.read(Grasscutter.getConfig().KEY_FOLDER + "dispatchKey.bin"); + ENCRYPT_KEY = FileUtils.read(Grasscutter.getConfig().KEY_FOLDER + "secretKey.bin"); + ENCRYPT_SEED_BUFFER = FileUtils.read(Grasscutter.getConfig().KEY_FOLDER + "secretKeyBuffer.bin"); + } + + public static void xor(byte[] packet, byte[] key) { + try { + for (int i = 0; i < packet.length; i++) { + packet[i] ^= key[i % key.length]; + } + } catch (Exception e) { + Grasscutter.getLogger().error("Crypto error.", e); + } + } + + public static void extractSecretKeyBuffer(byte[] data) { + try { + GetPlayerTokenRsp p = GetPlayerTokenRsp.parseFrom(data); + FileUtils.write(Grasscutter.getConfig().KEY_FOLDER + "secretKeyBuffer.bin", p.getSecretKeyBuffer().toByteArray()); + Grasscutter.getLogger().info("Secret Key: " + p.getSecretKey()); + } catch (Exception e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + + public static void extractDispatchSeed(String data) { + try { + QueryCurrRegionHttpRsp p = QueryCurrRegionHttpRsp.parseFrom(Base64.getDecoder().decode(data)); + FileUtils.write(Grasscutter.getConfig().KEY_FOLDER + "dispatchSeed.bin", p.getRegionInfo().getSecretKey().toByteArray()); + } catch (Exception e) { + e.printStackTrace(); + } + } + + public static byte[] createSessionKey(int length) { + byte[] bytes = new byte[length]; + secureRandom.nextBytes(bytes); + return bytes; + } +} diff --git a/src/main/java/emu/grasscutter/utils/FileUtils.java b/src/main/java/emu/grasscutter/utils/FileUtils.java new file mode 100644 index 00000000..5398ee65 --- /dev/null +++ b/src/main/java/emu/grasscutter/utils/FileUtils.java @@ -0,0 +1,48 @@ +package emu.grasscutter.utils; + +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; + +public class FileUtils { + + public static void write(String dest, byte[] bytes) { + Path path = Paths.get(dest); + + try { + Files.write(path, bytes); + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + + public static byte[] read(String dest) { + return read(Paths.get(dest)); + } + + public static byte[] read(Path path) { + try { + return Files.readAllBytes(path); + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + return new byte[0]; + } + + public static byte[] read(File file) { + return read(file.getPath()); + } + + public static String getFilenameWithoutPath(String fileName) { + if (fileName.indexOf(".") > 0) { + return fileName.substring(0, fileName.lastIndexOf(".")); + } else { + return fileName; + } + } +} diff --git a/src/main/java/emu/grasscutter/utils/Position.java b/src/main/java/emu/grasscutter/utils/Position.java new file mode 100644 index 00000000..6a02dacb --- /dev/null +++ b/src/main/java/emu/grasscutter/utils/Position.java @@ -0,0 +1,156 @@ +package emu.grasscutter.utils; + +import java.io.Serializable; + +import emu.grasscutter.net.proto.VectorOuterClass.Vector; + +public class Position implements Serializable { + private static final long serialVersionUID = -2001232313615923575L; + + private float x; + private float y; + private float z; + + public Position() { + + } + + public Position(float x, float y) { + set(x, y); + } + + public Position(float x, float y, float z) { + set(x, y, z); + } + + public Position(String p) { + String[] split = p.split(","); + if (split.length >= 2) { + this.x = Float.parseFloat(split[0]); + this.y = Float.parseFloat(split[1]); + } + if (split.length >= 3) { + this.z = Float.parseFloat(split[2]); + } + } + + public Position(Vector vector) { + this.set(vector); + } + + public Position(Position pos) { + this.set(pos); + } + + public float getX() { + return x; + } + + public void setX(float x) { + this.x = x; + } + + public float getZ() { + return z; + } + + public void setZ(float z) { + this.z = z; + } + + public float getY() { + return y; + } + + public void setY(float y) { + this.y = y; + } + + public Position set(float x, float y) { + this.x = x; + this.y = y; + return this; + } + + // Deep copy + public Position set(Position pos) { + return this.set(pos.getX(), pos.getY(), pos.getZ()); + } + + public Position set(Vector pos) { + return this.set(pos.getX(), pos.getY(), pos.getZ()); + } + + public Position set(float x, float y, float z) { + this.x = x; + this.y = y; + this.z = z; + return this; + } + + public Position add(Position add) { + this.x += add.getX(); + this.y += add.getY(); + this.z += add.getZ(); + return this; + } + + public Position addX(float d) { + this.x += d; + return this; + } + + public Position addY(float d) { + this.y += d; + return this; + } + + public Position addZ(float d) { + this.z += d; + return this; + } + + public Position subtract(Position sub) { + this.x -= sub.getX(); + this.y -= sub.getY(); + this.z -= sub.getZ(); + return this; + } + + /** In radians + * */ + public Position translate(float dist, float angle) { + this.x += dist * Math.sin(angle); + this.y += dist * Math.cos(angle); + return this; + } + + public boolean equal2d(Position other) { + return getX() == other.getX() && getY() == other.getY(); + } + + public Position translateWithDegrees(float dist, float angle) { + angle = (float) Math.toRadians(angle); + this.x += dist * Math.sin(angle); + this.y += -dist * Math.cos(angle); + return this; + } + + @Override + public Position clone() { + return new Position(x, y, z); + } + + @Override + public String toString() { + return "(" + this.getX() + ", " + this.getY() + ", " + this.getZ() + ")"; + } + + public Vector toProto() { + return Vector.newBuilder() + .setX(this.getX()) + .setY(this.getY()) + .setZ(this.getZ()) + .build(); + } +} diff --git a/src/main/java/emu/grasscutter/utils/ProtoHelper.java b/src/main/java/emu/grasscutter/utils/ProtoHelper.java new file mode 100644 index 00000000..70aba3e3 --- /dev/null +++ b/src/main/java/emu/grasscutter/utils/ProtoHelper.java @@ -0,0 +1,10 @@ +package emu.grasscutter.utils; + +import emu.grasscutter.game.props.PlayerProperty; +import emu.grasscutter.net.proto.PropValueOuterClass.PropValue; + +public class ProtoHelper { + public static PropValue newPropValue(PlayerProperty key, int value) { + return PropValue.newBuilder().setType(key.getId()).setIval(value).setVal(value).build(); + } +} diff --git a/src/main/java/emu/grasscutter/utils/Utils.java b/src/main/java/emu/grasscutter/utils/Utils.java new file mode 100644 index 00000000..cbfcb7ec --- /dev/null +++ b/src/main/java/emu/grasscutter/utils/Utils.java @@ -0,0 +1,79 @@ +package emu.grasscutter.utils; + +import java.io.BufferedInputStream; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.util.Random; + +import emu.grasscutter.Grasscutter; +import io.netty.buffer.ByteBuf; +import io.netty.buffer.ByteBufUtil; +import io.netty.buffer.Unpooled; + +public class Utils { + public static final Random random = new Random(); + + public static int randomRange(int min, int max) { + return random.nextInt(max - min + 1) + min; + } + + public static float randomFloatRange(float min, float max) { + return random.nextFloat() * (max - min) + min; + } + + public static int getCurrentSeconds() { + return (int) (System.currentTimeMillis() / 1000.0); + } + + public static String lowerCaseFirstChar(String s) { + StringBuilder sb = new StringBuilder(s); + sb.setCharAt(0, Character.toLowerCase(sb.charAt(0))); + return sb.toString(); + } + + public static String toString(InputStream inputStream) throws IOException { + BufferedInputStream bis = new BufferedInputStream(inputStream); + ByteArrayOutputStream buf = new ByteArrayOutputStream(); + for (int result = bis.read(); result != -1; result = bis.read()) { + buf.write((byte) result); + } + return buf.toString(); + } + + public static void logByteArray(byte[] array) { + ByteBuf b = Unpooled.wrappedBuffer(array); + Grasscutter.getLogger().info("\n" + ByteBufUtil.prettyHexDump(b)); + b.release(); + } + + private static final char[] HEX_ARRAY = "0123456789abcdef".toCharArray(); + public static String bytesToHex(byte[] bytes) { + char[] hexChars = new char[bytes.length * 2]; + for (int j = 0; j < bytes.length; j++) { + int v = bytes[j] & 0xFF; + hexChars[j * 2] = HEX_ARRAY[v >>> 4]; + hexChars[j * 2 + 1] = HEX_ARRAY[v & 0x0F]; + } + return new String(hexChars); + } + + public static String bytesToHex(ByteBuf buf) { + return bytesToHex(byteBufToArray(buf)); + } + + public static byte[] byteBufToArray(ByteBuf buf) { + byte[] bytes = new byte[buf.capacity()]; + buf.getBytes(0, bytes); + return bytes; + } + + public static int abilityHash(String str) { + int v7 = 0; + int v8 = 0; + while (v8 < str.length()) { + v7 = str.charAt(v8++) + 131 * v7; + } + return v7; + } +} diff --git a/src/main/java/emu/grasscutter/utils/WeightedList.java b/src/main/java/emu/grasscutter/utils/WeightedList.java new file mode 100644 index 00000000..6c3e3222 --- /dev/null +++ b/src/main/java/emu/grasscutter/utils/WeightedList.java @@ -0,0 +1,30 @@ +package emu.grasscutter.utils; + +import java.util.NavigableMap; +import java.util.TreeMap; +import java.util.concurrent.ThreadLocalRandom; + +public class WeightedList { + private final NavigableMap map = new TreeMap(); + private double total = 0; + + public WeightedList() { + + } + + public WeightedList add(double weight, E result) { + if (weight <= 0) return this; + total += weight; + map.put(total, result); + return this; + } + + public E next() { + double value = ThreadLocalRandom.current().nextDouble() * total; + return map.higherEntry(value).getValue(); + } + + public int size() { + return map.size(); + } +} \ No newline at end of file diff --git a/src/main/java/logback.xml b/src/main/java/logback.xml new file mode 100644 index 00000000..66d63019 --- /dev/null +++ b/src/main/java/logback.xml @@ -0,0 +1,11 @@ + + + + [%d{HH:mm:ss}] [%level] %msg%n + + + + + + + \ No newline at end of file

    ;d$LLhpxDmTcXEw{X_TmvTl63FCKIz+^+Ze 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 $|&`YtIE@N?0IL|1_ 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