úÎ!`ÛZp      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnoNone7ëhoauth2)Authorization Code Grant Error Responses  3https://tools.ietf.org/html/rfc6749#section-4.1.2.1! Implicit Grant Error Responses 3https://tools.ietf.org/html/rfc6749#section-4.2.2.1None7MPÐ hoauth2!type synonym of post body contenthoauth2 Is either p containing an error or q containg a resulthoauth2The gained Access Token. Use Data.Aeson.decode to decode string to  AccessToken. The  refreshToken" is special in some cases, e.g. 2https://developers.google.com/accounts/docs/OAuth2(hoauth2Query Parameter Representation2hoauth2aPrepare the authorization URL. Redirect to this URL asking for user interactive authentication.3hoauth2HPrepare the URL and the request body query for fetching an access token.4hoauth2cPrepare the URL and the request body query for fetching an access token, with optional grant type.5hoauth2jUsing a Refresh Token. Obtain a new access token by sending a refresh token to the Authorization server.6hoauth2For GET method API.7hoauth2Create   with given access token value.>hoauth2Parse JSON data into 3hoauth2(access code gained via authorization URLhoauth2/access token request URL plus the request body.4hoauth2(access code gained via authorization URLhoauth2 Grant Typehoauth2/access token request URL plus the request body.5hoauth2*refresh token gained via authorization URLhoauth20refresh token request URL plus the request body.6hoauth2Base URIhoauth2Authorized Access Tokenhoauth2Combined Result0  !"#$%&'().-,+*/0123456789:;<0().-,+*%&'"#$ !/01 23456789:;<None7 ÌXhoauth2Token Error Responses /https://tools.ietf.org/html/rfc6749#section-5.2X][Z^\YX][Z^\YNone>XVØdhoauth27Fetch OAuth2 Token with authenticate in request header.OAuth2 spec allows  client_id and  client_secretÿ] to either be sent in the header (as basic authentication) OR as form/url params. The OAuth server can choose to implement only one, or both. Unfortunately, there is no way for the OAuth client (i.e. this library) to know which method to use. Please take a look at the documentation of the service that you are integrating with and either use d or eehoauth2Please read the docs of d.fhoauth2jFetch a new AccessToken with the Refresh Token with authentication in request header. OAuth2 spec allows  client_id and  client_secretÿ] to either be sent in the header (as basic authentication) OR as form/url params. The OAuth server can choose to implement only one, or both. Unfortunately, there is no way for the OAuth client (i.e. this library) to know which method to use. Please take a look at the documentation of the service that you are integrating with and either use f or gghoauth2Please read the docs of f.rhoauth21Conduct post request and return response as JSON.shoauth2Conduct post request.thoauth2 Parses a Response to to  OAuth2Resultuhoauth2Try v, if failed then parses the OAuth2Result BSL.ByteString+ that contains not JSON but a Query String.whoauth2 Parses a OAuth2Result BSL.ByteString* that contains not JSON but a Query Stringhhoauth2>Conduct an authorized GET request and return response as JSON.ihoauth2"Conduct an authorized GET request.jhoauth2same to i; but set access token to query parameter rather than headerkhoauth21Conduct POST request and return response as JSON.lhoauth2Conduct POST request.mhoauth2HConduct POST request with access token in the request body rather headernhoauth2EConduct POST request with access token in the header and null in bodyohoauth2ZSend an HTTP request including the Authorization header with the specified access token.xhoauth2 Parses a Response to to  OAuth2Resultyhoauth20Set several header values: + userAgennt : hoauth2 + accept : `application/json` + authorization : Bearer xxxxx if % provided.zhoauth2Set the HTTP method to use.dhoauth2HTTP connection managerhoauth2 OAuth Datahoauth2 OAuth2 Codehoauth2 Access Tokenehoauth2HTTP connection managerhoauth2 OAuth Datahoauth2OAuth 2 Tokenshoauth2 Access Tokenfhoauth2HTTP connection manager.hoauth2 OAuth contexthoauth2(refresh token gained after authorizationghoauth2HTTP connection manager.hoauth2 OAuth contexthoauth2(refresh token gained after authorizationrhoauth2HTTP connection manager.hoauth2 OAuth optionshoauth2The URLhoauth2 request bodyhoauth2Response as JSONshoauth2HTTP connection manager.hoauth2 OAuth optionshoauth2URLhoauth2 Request body.hoauth2Response as ByteStringhhoauth2HTTP connection manager.hoauth2Response as JSONihoauth2HTTP connection manager.hoauth2Response as ByteStringjhoauth2HTTP connection manager.hoauth2Response as ByteStringkhoauth2HTTP connection manager.hoauth2Response as JSONlhoauth2HTTP connection manager.hoauth2Response as ByteStringmhoauth2HTTP connection manager.hoauth2Response as ByteStringnhoauth2HTTP connection manager.hoauth2Response as ByteStringohoauth2Request to performhoauth2Modify request before sendinghoauth2HTTP connection manager. defghijklmno defghijklmno OAuth2 client(c) 2012 Haisheng Wu BSD-style (see the file LICENSE)Haisheng Wu <freizl@gmail.com>alphaportableNoneY%<  !"#$%&'()*+,-./0123456789:;<defghijklmno{       !""#$$%&&'(()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXY Z[\]^_`abcdefghfgijklmnopqrs%hoauth2-1.10.1-LU0xI7qmoWm19W3mi2r7Xd)Network.OAuth.OAuth2.AuthorizationRequestNetwork.OAuth.OAuth2.Internal!Network.OAuth.OAuth2.TokenRequestNetwork.OAuth.OAuth2.HttpClientNetwork.OAuth.OAuth2ErrorsInvalidRequestUnauthorizedClient AccessDeniedUnsupportedResponseType InvalidScope ServerErrorTemporarilyUnavailable$fToJSONErrors$fFromJSONErrors $fShowErrors $fEqErrors$fGenericErrors QueryParamsPostBody OAuth2Result OAuth2ErrorerrorerrorDescriptionerrorUri OAuth2Token accessToken refreshToken expiresIn tokenTypeidToken ExchangeTokenextokenIdTokenidtoken RefreshTokenrtoken AccessTokenatokenOAuth2 oauthClientIdoauthClientSecretoauthOAuthorizeEndpointoauthAccessTokenEndpoint oauthCallbackparseIntFlexibleparseOAuth2ErrormkDecodeOAuth2ErrorauthorizationUrlaccessTokenUrlaccessTokenUrl'refreshAccessTokenUrlappendAccessTokenaccessTokenToParamappendQueryParams uriToRequest requestToUrihostLensportLens$fToJSONOAuth2Token$fFromJSONOAuth2Token$fBinaryOAuth2Token$fToJSONOAuth2Error$fFromJSONOAuth2Error $fShowOAuth2 $fEqOAuth2$fBinaryAccessToken$fShowAccessToken$fFromJSONAccessToken$fToJSONAccessToken$fBinaryRefreshToken$fShowRefreshToken$fFromJSONRefreshToken$fToJSONRefreshToken$fBinaryIdToken $fShowIdToken$fFromJSONIdToken$fToJSONIdToken$fShowExchangeToken$fFromJSONExchangeToken$fToJSONExchangeToken$fShowOAuth2Token$fGenericOAuth2Token$fShowOAuth2Error$fEqOAuth2Error$fGenericOAuth2Error InvalidClient InvalidGrantUnsupportedGrantTypefetchAccessTokenfetchAccessToken2refreshAccessTokenrefreshAccessToken2 authGetJSON authGetBS authGetBS2 authPostJSON authPostBS authPostBS2 authPostBS3 authRequestbase Data.EitherLeftRightdoJSONPostRequestdoSimplePostRequesthandleOAuth2TokenResponseparseResponseFlexibleparseResponseJSONparseResponseStringhandleResponseupdateRequestHeaders setMethod