Îõ³h$%À!Ú·      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ²³´µ¶ None '(-./56789>?ÀÁÂÄÉÑÔÖ×ÙÁservant-auth-serverfor servant >=0.11servant-auth-serverfor  servant <0.11  None '(-/56789>?ÀÁÂÄÉÔÖ×Ù Ò$servant-auth-server>The policies to use when generating and verifying XSRF cookies&servant-auth-server9What name to use for the cookie used for XSRF protection.'servant-auth-serverÂWhat path to use for the cookie used for XSRF protection. Default Just "/".(servant-auth-server9What name to use for the header used for XSRF protection.)servant-auth-server0Exclude GET request method from XSRF protection.*servant-auth-server,The policies to use when generating cookies. If *both* - and . are Nothingë, browsers will treat the cookie as a *session cookie*. These will be deleted when the browser is closed.Note that having the setting Secure? may cause testing failures if you are not testing over HTTPS.,servant-auth-server= means browsers will only send cookies over HTTPS. Default: Secure.-servant-auth-server5How long from now until the cookie expires. Default: Nothing..servant-auth-server*At what time the cookie expires. Default: Nothing./servant-auth-serverÃThe URL path and sub-paths for which this cookie is used. Default: Just "/".0servant-auth-server?@ABCDEFG'$%)(&'*+3210/.,-459867:=;<>?@ABCDEFG  Safe-Inferred '(-/56789>?ÀÁÂÄÉÔÖ×Ù gNone '(-/56789>?ÀÁÂÄÉÔÖ×Ù ãaservant-auth-serveraÄ is a convenience function to throw errors across an entire sub-API õthrowAll err400 :: Handler a :<|> Handler b :<|> Handler c == throwError err400 :<|> throwError err400 :<|> err400bservant-auth-serverfor servant >=0.11cservant-auth-serverfor  servant <0.11`a`aNone '(-/56789>?ÀÁÂÄÉÔÖ×Ùægservant-auth-serverAn  AuthCheckÀ is the function used to decide the authentication status (the j) of a request. Different  AuthCheckÞs may be combined as a Monoid or Alternative; the semantics of this is that the *first* non-n< result from left to right is used and the rest are ignored.jservant-auth-server(The result of an authentication attempt.mservant-auth-serverAuthentication succeeded.nservant-auth-serverIf an authentication procedure cannot be carried out - if for example it expects a password and username in a header that is not present -  IndefiniteÐ is returned. This indicates that other authentication methods should be tried.ghijnmlkjnmlkghiNone '(-/56789>?ÀÁÂÄÉÔÖ×Ù‡‰servant-auth-serverA JWT  AuthCheckÊ. You likely won't need to use this directly unless you are protecting a Raw endpoint.Šservant-auth-serverÈCreates a JWT containing the specified data. The data is stored in the datÔ claim. The 'Maybe UTCTime' argument indicates the time at which the token expires.‰Š‹‰Š‹None '(-/56789>?ÀÁÂÄÉÔÖ×Ù§servant-auth-server#Makes a cookie to be used for XSRF.servant-auth-server Alias for .‘servant-auth-server(Makes a cookie with session information.–servant-auth-serverÊFor a JWT-serializable session, returns a function that decorates a provided response object with XSRF and session cookies. This should be used when a user successfully authenticates with credentials.—servant-auth-serverÂArbitrary cookie expiry time set back in history after unix time 0˜servant-auth-serverêAdds headers to a response that clears all session cookies | using max-age and expires cookie attributes.šservant-auth-server Alias for ‘.›servant-auth-server Alias for ™.ŒŽ‘’“”•–—˜™š›ŒŽ‘’“”•–—˜™š›None '(-/56789>?ÀÁÂÄÉÔÖ×Ù{servant-auth-serverÛWhether the username exists and the password is correct. Note that, rather than passing a Pass5 to the function, we pass a function that checks an  EncryptedPassæ. This is to make sure you don't accidentally do something untoward with the password, like store it.žservant-auth-serverÊA type holding the configuration for Basic Authentication. It is defined as a type family with no arguments, so that it can be instantiated to whatever type you need to authenticate your users (use  type instance BasicAuthCfg = ...).•Note that the instantiation is application-wide, i.e. there can be only one instance. As a consequence, it should not be instantiated in a library.0Basic Authentication expects an element of type ž to be in the ContextÀ; that element is then passed automatically to the instance of œÁ together with the authentication data obtained from the client.ÏIf you do not need a configuration for Basic Authentication, you can use just BasicAuthCfg = (), and recall to also add () to the Context6. A basic but more interesting example is to take as ž0 a list of authorised username/password pairs: Âderiving instance Eq BasicAuthData type instance BasicAuthCfg = [BasicAuthData] instance FromBasicAuthData User where fromBasicAuthData authData authCfg = if elem authData authCfg then ...Ÿservant-auth-serverA ·– that asks the client to authenticate via Basic Authentication, should be invoked by an application whenever appropriate. The argument is the realm.œžŸ Ÿžœ  None '(-/56789>?ÀÁÂÄÉÔÖ×Ù9¡servant-auth-serverAppCtx applies the function res to the arguments in ls1 by taking the values from the Context provided.§servant-auth-serverIsAuth a ctx v indicates that a/ is an auth type that expects all elements of ctxÅ to be the in the Context and whose authentication check returns an  AuthCheck v. ¡¢£¤¥¦§©¨ §©¨¥¦¤£¡¢ None '(-/56789>?ÀÁÂÄÉÔÖ×ÙNone '(-/56789>?ÀÁÂÄÉÔÖ×Ù »²servant-auth-server%Generate a key suitable for use with  defaultConfig.³servant-auth-server,Generate a bytestring suitable for use with ´.´servant-auth-server!Restores a key from a bytestring.µservant-auth-server§Writes a secret to a file. Can for instance be used from the REPL to persist a key to a file, which can then be included with the application. Restore the key using ¶.¶servant-auth-serverReads a key from a file.Ô  $%&'()*+,-./0123456789:;<=>?@ABCDEF`aghijklmn‰Š‹‘–˜™š›œžŸ¥²³´µ¶Ôjklmnghi ABC456789D‰*+,-./0123$%&'()EF‘™š›–˜:;<=¥œž >?@Ÿ`a²³´µ¶Š‹  Safe-Inferred '(-/56789>?ÀÁÂÄÉÔÖ×Ù!Ö¸  !"#$#%#&#'()*+,-./0123456789::;<=>??@ABCDEFGHHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyzz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á  ÃÄÅÆÇÈÉÊËÌ2servant-auth-server-0.4.7.0-DURpbxwj2hEG9mkaDDq3VVServant.Auth.Server(Servant.Auth.Server.Internal.ConfigTypes)Servant.Auth.Server.Internal.AddSetCookie%Servant.Auth.Server.Internal.ThrowAll"Servant.Auth.Server.Internal.Types Servant.Auth.Server.Internal.JWT#Servant.Auth.Server.Internal.Cookie&Servant.Auth.Server.Internal.BasicAuth"Servant.Auth.Server.Internal.ClassServant.Auth.Server.Internal&Servant.Auth.Server.Internal.FormLogin#Servant.Auth.Server.SetCookieOrphan#cookie-0.4.5-JoyqOkJeahAEddz6P9VUaR Web.Cookie SetCookie1data-default-class-0.1.2.0-IIN1s3V8yfYEDHe5yjxXHVData.Default.ClassdefDefault#servant-0.19-KR5MGMkCgzD3mkDu6Wi5UgServant.API.IsSecure NotSecureSecureIsSecureServant.API.BasicAuthbasicAuthPasswordbasicAuthUsername BasicAuthData+servant-auth-0.4.1.0-AWUyfy3PI7G1Jn7ETztiVyServant.Auth.JWT decodeJWTFromJWT encodeJWTToJWT Servant.AuthAuthJWTCookie BasicAuth AddSetCookies addSetCookies SetCookieList SetCookieNil SetCookieConsAddSetCookieApiAddSetCookieApiVerbAddSetCookiesApiNatZS mkHeaders$fAddSetCookiesSTaggedTagged$fAddSetCookiesS->->$fAddSetCookiesS:<|>:<|>$fAddSetCookiesSmm$fAddSetCookiesZorigorig$fAddSetCookiesS->->0XsrfCookieSettingsxsrfCookieNamexsrfCookiePathxsrfHeaderNamexsrfExcludeGetCookieSettingscookieIsSecure cookieMaxAge cookieExpires cookiePath cookieDomaincookieSameSitesessionCookieNamecookieXsrfSetting JWTSettings signingKeyjwtAlgvalidationKeysaudienceMatchesSameSiteAnySiteSameSiteStrict SameSiteLaxIsPasswordCorrectPasswordCorrectPasswordIncorrectIsMatchMatches DoesNotMatchdefaultJWTSettingsdefaultCookieSettingsdefaultXsrfCookieSettings"jwtSettingsToJwtValidationSettings$fDefaultXsrfCookieSettings$fDefaultCookieSettings$fEqCookieSettings$fShowCookieSettings$fGenericCookieSettings$fEqXsrfCookieSettings$fShowXsrfCookieSettings$fGenericXsrfCookieSettings$fGenericJWTSettings $fEqSameSite$fShowSameSite$fReadSameSite$fGenericSameSite $fOrdSameSite$fEqIsPasswordCorrect$fShowIsPasswordCorrect$fReadIsPasswordCorrect$fGenericIsPasswordCorrect$fOrdIsPasswordCorrect $fEqIsMatch $fShowIsMatch $fReadIsMatch$fGenericIsMatch $fOrdIsMatchThrowAllthrowAll$fThrowAllTagged $fThrowAll-> $fThrowAllm $fThrowAll->0$fThrowAll:<|> AuthCheck runAuthCheck AuthResult BadPassword NoSuchUser Authenticated Indefinite$fMonadPlusAuthResult$fAlternativeAuthResult$fMonadAuthResult$fApplicativeAuthResult$fMonoidAuthResult$fSemigroupAuthResult$fMonadPlusAuthCheck$fAlternativeAuthCheck$fMonadTimeAuthCheck$fMonadIOAuthCheck$fMonadReaderRequestAuthCheck$fMonadFailAuthCheck$fMonadAuthCheck$fApplicativeAuthCheck$fMonoidAuthCheck$fSemigroupAuthCheck$fGenericAuthCheck$fFunctorAuthCheck$fEqAuthResult$fShowAuthResult$fReadAuthResult$fGenericAuthResult$fOrdAuthResult$fFunctorAuthResult$fTraversableAuthResult$fFoldableAuthResult jwtAuthCheckmakeJWT verifyJWTcookieAuthCheckxsrfCheckRequiredxsrfCookieAuthCheckmakeXsrfCookiemakeCsrfCookiemakeSessionCookienoXsrfTokenCookieapplyCookieSettingsapplyXsrfCookieSettingsapplySessionCookieSettings acceptLogin expireTime clearSessionmakeSessionCookieBS makeCookie makeCookieBSFromBasicAuthDatafromBasicAuthData BasicAuthCfgwwwAuthenticatedErrbasicAuthCheckAppCtxappCtxAppUnappAreAuthsrunAuthsIsAuthAuthArgsrunAuth$fAreAuths[]ctxsv$fIsAuthBasicAuthusr$fIsAuthJWTusr$fIsAuthCookieusr$fAppCtxctx[]res$fAppCtxctxs:->$fAreAuths:ctxsv$fHasServerTYPE:>ctxs generateKeygenerateSecret fromSecretwriteKeyreadKey*servant-server-0.19-EpVxDawKAnB4tdXNIgAOIH#Servant.Server.Internal.ServerError ServerError