$      !"#$%&'()*+,-./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 stage data structures.(c) Henry J. Wylde, 2015BSD3public@hjwylde.comNone"0123456789:;<=>?@ABCDEFGHIJKLMNOPQ"0123456789:;<=>?@ABCDEFGHIJKLMNOPQ"9:;<=>?CA@BDEFGHIJKLMNO2345678PQ010123456789:;<=>?@ABCDEFGHIJKLMNOPQ%Response and message data structures.(c) Henry J. Wylde, 2015BSD3public@hjwylde.comNone09RSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|},RSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|},VWXYZ[\RSTU]^_`abcdefghijklmnopqrstuvwxyz{|}3RSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}Engine functions.(c) Henry J. Wylde, 2015BSD3public@hjwylde.comNone47~~~~Command data structures.(c) Henry J. Wylde, 2015BSD3public@hjwylde.comNone47IN         !"#$%&'()*+,-./0123456789:;;<=>?@ABCDEFGHIJKLMNOPQRSSTUVVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~GILMHNOP)werew_Cdk7vEBJHjQA15dFzt4XoVGame.Werewolf.RoleGame.Werewolf.PlayerGame.Werewolf.GameGame.Werewolf.ResponseGame.Werewolf.EngineGame.Werewolf.Command Allegiance Villagers WerewolvesRole_name _allegiance _description_adviceallRoles diurnalRolesnocturnalRoles scapegoatRoleseerRole villagerRole werewolfRole findByNameadvice allegiance descriptionnameStateAliveDeadPlayer_role_staterolestate newPlayer findByName_filterScapegoats filterSeersfilterVillagersfilterWerewolvesdoesPlayerExist isScapegoatisSeer isVillager isWerewolfisAliveisDead filterAlive filterDeadEventDevourStageGameOver SeersTurnSunriseSunset VillagesTurnWerewolvesTurnGame_stage_players_events_see_voteseventsplayersseestagevotesnewGame killPlayer isGameOver isSeersTurn isSunriseisSunsetisVillagesTurnisWerewolvesTurn getPlayerVotegetPendingVoters getVoteResult stageCyclestageAvailableMessagetomessageResponseokmessagessuccessfailureexitWith publicMessageprivateMessage groupMessagesnoGameRunningMessagegameAlreadyRunningMessagenewGameMessages stageMessagesgameOverMessagesplayerQuitMessagepingPlayerMessagepingSeerMessagepingWerewolvesMessagecurrentStageMessagesrolesInGameMessageplayersInGameMessagewaitingOnMessageplayerSeenMessageplayerMadeLynchVoteMessageplayerLynchedMessagenoPlayerLynchedMessagescapegoatLynchedMessageplayerMadeDevourVoteMessageplayerDevouredMessagenoPlayerDevouredMessagegameIsOverMessageplayerDoesNotExistMessageplayerCannotDoThatMessage!playerCannotDoThatRightNowMessageplayerIsDeadMessageroleDoesNotExistMessageplayerHasAlreadyVotedMessagetargetIsDeadMessage!playerCannotDevourAnotherWerewolf checkStage checkGameOver startGamedefaultFilePathreadGame writeGame deleteGame doesGameExist createPlayers isPlayerSeerisPlayerWerewolf isPlayerDeadrandomiseRolesCommandapplydevourVoteCommandlynchVoteCommand noopCommand pingCommand quitCommand seeCommand statusCommandnewPlayersInGameMessagenewPlayerMessageseersTurnMessagessunriseMessagenightFallsMessagevillagesTurnMessageswerewolvesTurnMessagesplayerWonMessageplayerLostMessage$fToJSONMessage$fFromJSONMessage$fToJSONResponse$fFromJSONResponse checkStage' advanceStage checkEventseventAvailable applyEventdefaultFileNamevalidatePlayer