))      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Role data structures.(c) Henry J. Wylde, 2015BSD3public@hjwylde.comNone     Player data structures.(c) Henry J. Wylde, 2015BSD3public@hjwylde.comNone !"#$%&'()*+,-./01 !"#$%&'()*+,-./01 !"#$%&'()*+,-./01 !"#$%&'()*+,-./01Game and stage data structures.(c) Henry J. Wylde, 2015BSD3public@hjwylde.comNone123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ab123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ab1=>?@ABCDEFGHQMILJKNOPRSTUVWXYZ[\]^_56789:;<`a234b23456789:;<= >?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ab%Response and message data structures.(c) Henry J. Wylde, 2015BSD3public@hjwylde.comNone0@cdefghijklmnopqrstuvwxyz{|}~1cdefghijklmnopqrstuvwxyz{|}~1ghijklmcdefnopqrstuvwxyz{|}~:cdefghijklmnopqrstuvwxyz{|}~Engine functions.(c) Henry J. Wylde, 2015BSD3public@hjwylde.comNone47!!Command data structures.(c) Henry J. Wylde, 2015BSD3public@hjwylde.comNone47IN         !"#$%&'()*+,-./0123456789:;<=>?@@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdeefghhijklmnopqrstuvwxyz{|}~VX[\]W_`ad+^werew_DI1MpznZLwK2Jw1wjRUiBFGame.Werewolf.RoleGame.Werewolf.PlayerGame.Werewolf.GameGame.Werewolf.ResponseGame.Werewolf.EngineGame.Werewolf.Command Allegiance Villagers WerewolvesRole_name _allegiance _description_adviceallRoles scapegoatRoleseerRole villagerRolevillagerVillagerRole werewolfRole witchRoleadvice allegiance descriptionnameStateAliveDeadPlayer_role_staterolestate newPlayer findByName findByName_filterScapegoats filterSeersfilterVillagersfilterVillagerVillagersfilterWerewolves filterWitchesdoesPlayerExist isScapegoatisSeer isVillager isWerewolfisWitchisAliveisDead filterAlive filterDeadEvent DevourEvent PoisonEventStageGameOver SeersTurnSunriseSunset VillagesTurnWerewolvesTurn WitchsTurnGame_stage_players_events_passes_heal _healUsed_poison _poisonUsed_see_voteseventshealhealUsedpassesplayerspoison poisonUsedseestagevotesnewGame killPlayer isGameOver isSeersTurn isSunriseisSunsetisVillagesTurnisWerewolvesTurn isWitchsTurn getPassers getPlayerVotegetPendingVoters getVoteResult stageCyclestageAvailablegetDevourEventMessagetomessageResponseokmessagessuccessfailureexitWith publicMessageprivateMessage groupMessagesnoGameRunningMessagegameAlreadyRunningMessagenewGameMessages stageMessagesgameOverMessagesplayerQuitMessagepingPlayerMessagepingSeerMessagepingWerewolvesMessagepingWitchMessagecurrentStageMessagesrolesInGameMessageplayersInGameMessagewaitingOnMessageplayerSeenMessageplayerMadeLynchVoteMessageplayerLynchedMessagenoPlayerLynchedMessagescapegoatLynchedMessageplayerMadeDevourVoteMessageplayerDevouredMessagenoPlayerDevouredMessageplayerHealedMessageplayerPoisonedMessagegameIsOverMessageplayerDoesNotExistMessageplayerCannotDoThatMessage!playerCannotDoThatRightNowMessageplayerIsDeadMessageroleDoesNotExistMessageplayerHasAlreadyVotedMessagetargetIsDeadMessage(playerCannotDevourAnotherWerewolfMessageplayerHasAlreadyHealedMessageplayerHasAlreadyPoisonedMessage checkStage checkGameOver startGamedefaultFilePathreadGame writeGame deleteGame doesGameExist createPlayers isPlayerSeerisPlayerWerewolf isPlayerWitch isPlayerAlive isPlayerDeadrandomiseRolesCommandapplydevourVoteCommand healCommandlynchVoteCommand noopCommand passCommand pingCommand poisonCommand quitCommand seeCommand statusCommandisVillagerVillagernewPlayersInGameMessagenewPlayerMessagevillagerVillagerMessageseersTurnMessagessunriseMessagenightFallsMessagevillagesTurnMessageswerewolvesTurnMessageswitchsTurnMessagesplayerWonMessageplayerLostMessage$fToJSONMessage$fFromJSONMessage$fToJSONResponse$fFromJSONResponse checkStage' advanceStage checkEventseventAvailable applyEventdefaultFileNamevalidatePlayer