!      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Role data structures.(c) Henry J. Wylde, 2015BSD3public@hjwylde.comNone     Player data structures.(c) Henry J. Wylde, 2015BSD3public@hjwylde.comNone !"#$%&'()*+,-. !"#$%&'()*+,-. !"#$%&'()*+,-. !"#$%&'()*+,-.Game and turn data structures.(c) Henry J. Wylde, 2015BSD3public@hjwylde.comNone/0123456789:;<=>?@ABCDE/0123456789:;<=>?@ABCDE456789<:;=>?@ABC/0123DE/0123456789:;<=>?@ABCDE%Response and message data structures.(c) Henry J. Wylde, 2015BSD3public@hjwylde.comNone03FGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqr-FGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqr-JKLMNOPQRFGHISTUVWXYZ[\]^_`abcedfghijklmnopqr-FGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrEngine functions.(c) Henry J. Wylde, 2015BSD3public@hjwylde.comNone4stuvwxyz{|}~stuvwxyz{|}~stuvwxyz{|}~stuvwxyz{|}~Command data structures.(c) Henry J. Wylde, 2015BSD3public@hjwylde.comNone4IN         !"#$%&'()*+,-./01 233456789:;<=>?@ABCDDEFGGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopq=>?@Arstuvwxy'z{|}~werew_92y9x1Sg2CKJD0GL9RaQb5Game.Werewolf.RoleGame.Werewolf.PlayerGame.Werewolf.GameGame.Werewolf.ResponseGame.Werewolf.EngineGame.Werewolf.Command Allegiance Villagers WerewolvesRole_name _allegiance _description_adviceallRolesseerRole villagerRole werewolfRole scapegoatRole findByName findByName_advice allegiance descriptionnameStateAliveDeadPlayer_role_staterolestate newPlayer filterSeersfilterVillagersfilterWerewolvesfilterScapegoatsdoesPlayerExistisSeer isVillager isWerewolf isScapegoatisAliveisDead filterAlive filterDeadTurnSeersNoOneGame_turn_players_sees_votesplayersseesturnvotesnewGame killPlayer isSeersTurnisVillagersTurnisWerewolvesTurn isGameOver turnRotation turnAvailableMessagetomessageResponseokmessagessuccessfailureexitWith exitSuccess exitFailure publicMessageprivateMessagenewGameMessages turnMessagesnightFallsMessagegameOverMessageplayerQuitMessagecurrentTurnMessagerolesInGameMessageplayersInGameMessagewaitingOnMessageseersTurnMessagesplayerSeenMessagevillagersTurnMessageplayerMadeLynchVoteMessageplayerLynchedMessagenoPlayerLynchedMessagewerewolvesTurnMessagesscapegoatLynchedMessageplayerMadeDevourVoteMessageplayerDevouredMessagenoPlayerDevouredMessagegameIsOverMessageplayerDoesNotExistMessageplayerCannotDoThatMessage!playerCannotDoThatRightNowMessageplayerIsDeadMessageroleDoesNotExistMessageplayerHasAlreadySeenMessageplayerHasAlreadyVotedMessagetargetIsDeadMessage!playerCannotDevourAnotherWerewolf checkTurn checkGameOver startGame getPlayerSee getPlayerVotedefaultFilePathreadGame writeGame deleteGame doesGameExist createPlayers isPlayerSeerisPlayerVillagerisPlayerWerewolf isPlayerAlive isPlayerDeadrandomiseRolesCommandapplydevourVoteCommandlynchVoteCommand noopCommand quitCommand seeCommand statusCommandnewPlayersInGameMessagenewPlayerMessage$fToJSONMessage$fFromJSONMessage$fToJSONResponse$fFromJSONResponse checkTurn'only advanceTurndefaultFileNamevalidatePlayer