V =      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     Safe-InferredHMh  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefg^  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]hVZYXWHUTSRQPONMLKJIFGDEBC9A@?>=<;:387654/210&'()*+,-.[gf%$#"!   \]edcba`_^   %$#"! &'()*+,-./2103876549A@?>=<;:BCDEFGH UTSRQPONMLKJIVZYXW[\]^_`abcdefgNone#hijklmnopqrstuvwxyz{|}~!hijklmnopqrstuvwxyz{|}~#uyxwvotsrqpinmlkjhz{|}~hinmlkjotsrqpuyxwvz{|}~None&2346HMlDirects Log messages through the underlying MonadPrinter, and server communication through the passed handleW8b4None &23468HM/     %/     !     None &2346HM4 !"#$%&'()*+,-./0123456789:;<=>?@ABCD. !"#$%&'()*+,-./0123456789:;<=>4 !"#$%&'()*+,-./0123456789:DC;BA@<=?>- !"#$%&'()*+,-./0123456789:;<=>?@ABCDNone &36=HKME6Phantom type. Just to make sure. If a function gets a E0 passed, we're already sure it is contained in Z and don't need to handle the , case any more, as it is already handled in e.q7Tries to match a predicate on any of the player's rolesr;Runs a function on the most important of the player's rolessALike %&, but makes sure the observation reveals an oblique resultt!Like %&, but takes another player,That's Fisher-Yates, if I remember correctlyLEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~IEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~LWXYZ[\]^_`abcdVOQPRSTULNMHKJIEFGefghijklmnopqrstuvwxyz{|}~2EFGHKJILNMOQPRSTUVW XYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None&3EHMNone&236HM' None&3HM None&3HM    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNONPQRSTUUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~    xy{    anticiv-0.1.0.5"Network.Anticiv.Modules.Mafia.DataNetwork.Anticiv.ConfigNetwork.Anticiv.MonadNetwork.Anticiv.MasksNetwork.Anticiv.Convenience"Network.Anticiv.Modules.Mafia.CoreNetwork.Anticiv.Modules.Mafia!Network.Anticiv.Modules.IronforgeNetwork.Anticiv.Modules.Base!Network.Anticiv.Modules.BarkeeperTriadFTriJudgeTriSpyRot TerroristF Pyromanian TerroristJustinFJustinVampireFVampireDraculaChurchFMonkPopeCoupleFInLoveMafiaF MaffJudgeSpyRomCivicF OilTankerNPSOwnerTreeCitJudgeDoctorStoiberCupidHunter SoulSaver BusDriverGardener ZeroDivisor Inspector DetectiveDimitriRopFaction factionKeywinsWith shareFactiongetFactionCards getRoleCards proposeCards rolePriority observation Observation TransparentEnemyFriendPriorityLowestLowMediumHighHighestRoleTriadK TerroristKJustinKVampireKChurchKCoupleKMafiaKCivicK RoleProposalProposeRoleCard:->Card CardValueAceKingQueenJackTenNineEightSevenSixFiveFourThreeTwoCardSuitDiamondHeartSpadeClubproxyproposebogus$fFactionTriadF$fFactionTerroristF$fFactionJustinF$fFactionVampireF$fFactionChurchF$fFactionCoupleF$fFactionMafiaF$fFactionCivicF $fFactionRole $fShowRoleConfigKeyVocabModuleGroupTempLeafRefLeaf ValueTempCtpl0TCtplTStrListTIntValTStrValTValueRefCtpl0StrListIntValStrVal parseConfoneOfidentparseKey parseLeaf parseGroup parseModule parseVocabreadConftmapatomifygetKeymgetKey getFirstKey mgetFirstKey $fFunctorTST$fShowValueRefOutPlexTOutPlex runOutPlexTargetRawAddressNoticeLogHandlerAHandlerMonadBotbgetbputAnticivAPackcivAnticiv runAnticiv MonadAnticivBotState channelUsers orphanedUserspriorityChanmsgemergencyChanmsgpriorityQuerymsgemergencyQuerymsgtickRecipients botConfig moduleStack localizations botLingualinguaOverride moduleStereo moduleListerlastMsg lastReportUserAUseruserNickuserNameuserHostreauthIdBotTrunBotTbmodifybgetssleepbkIntbkStrbkStrLbmodulebstereo$fMonadBotInRedirT$fMonadBotOutRedirT$fMonadBotOutPlexT $fChChannelPrinterTargetOutPlexT$fChPrinterOutPlexT$fMonadIOOutPlexT$fMonadTransOutPlexT$fMonadOutPlexT$fApplicativeOutPlexT$fFunctorOutPlexT$fMonadBotBotT$fFunctorPackciv$fMonadPackciv$fTuplifyAtomAtom$fTuplifyUserUser $fShowUser $fMonadIOBotT$fMonadTransBotT $fMonadBotT$fApplicativeBotT $fFunctorBotT$fChPrinterBotT$fMonadBotPackciv$fChRandomPackciv$fChCounterPackciv$fChAtomsPackciv$fChChannelPrinterTargetPackciv$fChClockPackciv$fChScannerPackciv$fChPrinterPackciv$fChScannerOutPlexTWhichOptionalTokenCIStringCITokenCatchInt CatchUserUserMask ChannelUser CatchString ServerHost QuotString RemString Remaining MatchMask matchmask verbosemask takeUntilnickfirstchars nicknextcharsnamefirstchars namenextcharshostfirstchars hostnextcharsstrEqsimulfirstSeqtrymask#->#->>#||.||&$fMatchMaskConsrx$fMatchMaskNilNil$fMatchMaskWhichar$fMatchMaskOptionalam$fMatchMaskCatchUserCons$fMatchMaskCatchStringCons$fMatchMaskCatchIntCons$fMatchMaskTokenNil$fMatchMask[]Nil$fTuplifyTokenToken LocalTokenLocalTLookupLookupf PrintlArgshowl PrintlTypeemitl PrintlArgW runPrintlArgWSpeakerregPriorityChanmsgunregPriorityChanmsgregEmergencyChanmsgunregEmergencyChanmsgregPriorityQuerymsgunregPriorityQuerymsgregEmergencyQuerymsgunregEmergencyQuerymsgregTickRecipientunregTickRecipientbchanbnickbprefixswitchToblStrblStrLblIntblFunbvStrprivateaddresslogactionnotice privatefl addressflactionflnoticeflglobalfl printlargwulangrepll bsetStereo$fMatchMaskLocalTokenNil$fPrintlArgLookup$fPrintlArgInt $fPrintlArg[]$fPrintlType(->) $fPrintlTypemPlayerIdUnsafePlayerIdfromPIDSubject TriadKill MafiaKill Execution FinishReason JustinWon Deathmatch PlayerState NopeNotYet playerAlive playerCards playerRoles playerSaved MafiaStateA MafiaStatemafiaInitiator mafiaPlayers voteScore votedAlready mafiaDone triadDonepartyDay actionsDone safeTonight lostHandlersisNightcoupledPlayerstoPIDwithPID withAlivePID withInitiatorforAllPlayers_ forAllPlayers forAllMafiosiforAllMafiosi_forAllTriadistsforAllTriadists_ forAllPred forAllPred_%|%&%|&%&&seekRoleseekUnusedRoleseekCardseekUnusedCard isMafioso isTriadistpgetpgetspputpmodify joinParty#>#<<>#<>&&>&< selectRoleschooseNshuffle assignRoleshasVoted playerVote partyFinished actionDone$fIndexableCardCardCard#$fIndexablePlayerIdPlayerIdPlayerId$fIndexableAtomAtomAtom initMafia listMafia initIronforge listIronforgeinitBaselistBase initBarkeeper listBarkeeperbase Data.MaybeNothingListerAListerchanmsgidlemsgcollmsgnightnightmsg tryevalnight evalnightdaymaffmsg mafftalkmsg nightchanmsgdaymsg tryevaldayevaldaydeathImplications inferDeathsusersDieobduct evalpartyjudgemsg DPlayerId MonoPrinterT MonoPrinterrunMonoPrinter PartyStateNoPartytickerlastTickReport partySession PartySessionModState runningGamescleanupmsgimsgtickprompt withSession startSessionrotrunScheduledTasks runSession$fChExpandMonoPrinterT$fChExtendedPrinterMonoPrinterT$fChPrinterMonoPrinterT$fMonadTransMonoPrinterT$fFunctorMonoPrinterT$fMonadMonoPrinterT$fChScannerMonoPrinterT$fMonadBotJoinerT$fMonadBotRecorderT#$fChChannelPrinterTargetHereStringT translatereauth