úÎ!†kp      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnoSafeúpqrstuvwNone"#$X_|ç=wordpress-authAn auth scheme's _SALT5 constant, usually defined in your Wordpress site's  wp-config.php. E.g., LOGGED_IN_SALTwordpress-authAn auth scheme's _KEY5 constant, usually defined in your Wordpress site's  wp-config.php. E.g.,  LOGGED_IN_KEYwordpress-authThis represents one of the $schemeDs that Wordpress's cookie/nonce functions use to salt their hashes.#The built-in Wordpress schemes are auth/auth_sec for HTTP/HTTPS requests to wp-admin,  logged_in* for authenticated front-end requests, & nonce% for form submissions & API requests.4The secret keys & salts are constants found in your  wp-config.php file, defined as LOGGED_IN_SALT,  LOGGED_IN_KEY, etc.wordpress-authFThe tick number of a Wordpress site - required for Nonce verification. wordpress-auth2A User Session's Token. These can be found in the usermeta! Wordpress table for rows where meta_key="session_token".You'll probably want to use J to parse the tables's  meta_value' instead of constructing them yourself. wordpress-auth"Potential validation errors for a .wordpress-authThe  # time of the cookie is in the past.wordpress-authThe "6 hash in the cookie doesn't match the calculated hash.wordpress-authThe !' in the cookie is not valid or expired.wordpress-authThe  user_pass field from the users table of a Wordpress site.wordpress-authThe ID field from the users table of a Wordpress site.wordpress-auth2Potential errors we may encounter while parsing a .wordpress-auth.The cookie did not have 4 fields separated by `|` characters.wordpress-authThe  ' field of the cookie is not an Integer.wordpress-auth5A User's Wordpress Session Token from an auth cookie.wordpress-authDThis represents a Cookie set by a Wordpress authentication scheme (auth, auth_sec, &  logged_in).wordpress-authThe  user_login column for the Wordpress User. wordpress-auth"The expiration time of the Cookie.!wordpress-auth#The Wordpress User's session token."wordpress-auth1A SHA256 HMAC hash of the token & some user data.#wordpress-authOPotential errors while searching for a specific cookie in the request headers.$wordpress-authThe Request has no Cookie header.%wordpress-authNo Cookie matched the expected &.&wordpress-authJThe name of a Wordpress authentication cookie. Wordpress's frontend uses :CookieNameWithMD5 "wordpress_logged_in_" "<your-site-url>" by default.'wordpress-authA constant name for the cookie.(wordpress-authBA cookie name with some text to hash & append. E.g., Wordpress's  logged_in auth scheme uses wordpress_logged_in_$ suffixed with the MD5 hash of the siteurl option.)wordpress-auth'Potential errors during authentication.*wordpress-auth Header Error.+wordpress-authParsing Error.,wordpress-authValidation Error.-wordpress-authThe < function returned x..wordpress-authThe Request has no  X-WP-Nonce header./wordpress-auth The nonce couldn't be validated.0wordpress-auth`The data needed for authentication, along with some arbitrary data that is returned on success.2wordpress-auth_Arbitrary data that the validation should return. E.g., if you query your users table for the ID &  user_passh, you can return your whole User type so you don't have to make another database call in your handler.3wordpress-authThe ID field of the User.4wordpress-authThe  user_pass field of the User.5wordpress-authThe session_tokens% usermeta for the User. You can use J to parse the raw meta value.6wordpress-authJConfiguration data specific to your Wordpress site & Haskell application.8wordpress-auth"A monadic action that generates a &m. You can simply return a constant value, or do something more complex like querying your database for the siteurl option.9wordpress-authThe  LOGGED_IN_KEY & LOGGED_IN_SALT from your  wp-config.php.:wordpress-authThe  NONCE_KEY &  NONCE_SALT from your  wp-config.php.;wordpress-authHThe nonce lifetime of your Wordpress site. Wordpress defaults to 1 day.<wordpress-authXA function to pull your custom data & the user data needed for authentication. See the 0 type.=wordpress-authzHow to handle authentication failures. You might want to throw an HTTP error or simply treat the user as unauthenticated.>wordpress-authThe result of the AU function can be an authorized user with some additional data, or an anonymous user.Awordpress-authWThe is a generalized authentication verification scheme that authorizes a user if the  logged_in* cookie is set and valid, & verifies the wp_rest4 nonce action for both authorized & anonymous users.The 6e failure handler will be used if a Cookie is present but invalid or if the nonce is missing/invalid.Bwordpress-auth2Build the name of an authentication cookie from a &!, hashing the suffix if present.Cwordpress-authATry to find & decode a Cookie in the headers with the given name.Dwordpress-auth+Try to find & decode a Nonce in either the  X-WP-Nonce header or the _wpnonce query parameter.Ewordpress-authParse a  from the body text of an auth, auth_sec, or  logged_in cookie.Fwordpress-authDetermine if a ,'s hash matches the hashed password & token.°A secret is generated by hashing the user, password, expiration, & token. This secret is then used to hash the user, expiration, & token. The resulting hash should match the " hash in the .Gwordpress-auth‘Validate a Wordpress Authentication Cookie by verifying that the hash & token in the cookie are valid and the expiration time is in the future.Hwordpress-authA port of the wp_hash function. This performs an yb hash on some text using a secret derived from the authentication scheme's key & salt constants.Iwordpress-authA port of the wp_saltZ function. Builds a secret key for a hashing function using the auth scheme's key & salt.Jwordpress-authcDecode a serialized PHP array containing a User's Session Tokens. These are usually stored as the session_tokens usermeta.oIt may be an associative array of tokens to expiration times, or tokens to an associative array of sub-fields: …array( 'some-random-hex-text' => 192836504, // ... ); array( 'deadbeef ' => array( 'expiration' => 9001, // ... ), );Kwordpress-authWDetermine if the SHA256 hash of the token matches one of the unexpired session tokens.Lwordpress-authA port of the  wp_nonce_tick[ function. Calculates the nonce tick number, where each nonce has a lifetime of two ticks.Mwordpress-auth,Determine if the tick-dependent hash of the 3 matches the hash of the current or previous tick.Nwordpress-auth Build the _KEY# value for an authentiation scheme.Owordpress-auth Build the _SALT# value for an authentiation scheme.Gwordpress-authThey _KEY & _SALT constants for a WP auth scheme.wordpress-authThe current time.wordpress-authThe cookie to validate.wordpress-authThe  user_pass field for the cookie's user.wordpress-authThe session_tokens meta for the cookie's user.Kwordpress-authThe current timewordpress-authThe session token from a wordpress-auth#A list of the User's session tokensLwordpress-auth1The nonce lifetime. Wordpress's default is 1 day.wordpress-authThe current time.Mwordpress-authThe Wordpress site's nonce scheme constants -  NONCE_KEY &  NONCE_SALT.wordpress-authA token from the  logged_in cookie.wordpress-authThe current tick number.wordpress-auth'The ID of the currently logged in User.wordpress-authThe action of the nonce (e.g.,  "wp_rest" for API requests).wordpress-authThe nonce to verify.P "! #$%&'()+-,./*01234567=8<9;:>@?ABCDEFGHIJKLMNOPA67=8<9;:012345>@?)+-,./*&'(BC#$%D"! EG F JKLMHINOz       !"#$%&'()*+,,-./01123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvw-wordpress-auth-1.0.0.0-9cDwsltUZ1k101ih676kCpWordpress.AuthPaths_wordpress_auth WordpressSalt WordpressKey AuthScheme schemeKey schemeSalt NonceTick tickCount SessionToken sessionTokentokenExpirationCookieValidationError CookieExpired InvalidHash InvalidTokenWordpressUserPasswordpressUserPassWordpressUserIdwordpressUserIdCookieParseErrorMalformedCookieInvalidExpiration CookieToken cookieTokenWPCookieusername expirationtokenhmacCookieHeaderErrorNoCookieHeaderNoCookieMatches CookieNameCustomCookieNameCookieNameWithMD5 WPAuthErrorEHeaderEParseEValidUserDataNotFoundNoNonce InvalidNonce UserAuthDatauserDatawpUserwpPasswpTokens WPAuthConfig getCookieNameloggedInScheme nonceScheme nonceLifetime getUserDataonAuthenticationFailureWPAuthorizationWPAuthorizedUserWPAnonymousUserauthorizeWordpressRequest cookieName findCookie findNonceparseWordpressCookievalidateCookieHashvalidateCookie wordpressHash wordpressSaltdecodeSessionTokensvalidateSessionTokenwordpressNonceTick validateNonce wpConfigKey wpConfigSalt$fShowWPAuthorization$fEqWPAuthorization$fShowCookieName$fEqCookieName$fShowCookieHeaderError$fEqCookieHeaderError$fShowCookieToken$fEqCookieToken$fShowWPCookie $fEqWPCookie$fShowCookieParseError$fEqCookieParseError$fShowWordpressUserId$fEqWordpressUserId$fShowWordpressUserPass$fEqWordpressUserPass$fShowCookieValidationError$fEqCookieValidationError$fShowWPAuthError$fEqWPAuthError$fShowSessionToken$fEqSessionToken$fShowUserAuthData$fEqUserAuthData$fShowNonceTick $fEqNonceTick$fShowWordpressKey$fEqWordpressKey$fShowWordpressSalt$fEqWordpressSalt$fShowAuthScheme$fEqAuthSchemeversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileNamebase GHC.MaybeNothing0cryptohash-md5-0.11.100.1-4xpVEo8eyQi2XbS8mfTUTaCrypto.Hash.MD5