Ë
    >²XjÂ  ã                   ól   — d Z ddlmZmZ ddlmZmZ ddlmZ ej                  dd„«       Z
d„ Zd	„ Zd
„ Zy)z½
oauthlib.parameters
~~~~~~~~~~~~~~~~~~~

This module contains methods related to `section 3.5`_ of the OAuth 1.0a spec.

.. _`section 3.5`: https://tools.ietf.org/html/rfc5849#section-3.5
é    )ÚurlparseÚ
urlunparse)Úextract_paramsÚ	urlencodeé   )ÚutilsNc                 ó4  — |xs i }g }| D ]R  \  }}t        j                  |«      }t        j                  |«      }dj                  ||«      }|j                  |«       ŒT dj	                  |«      }	|rd|z  |	z   }	d|	z  }
i }|j                  |«       |
|d<   |S )a  **Prepare the Authorization header.**
    Per `section 3.5.1`_ of the spec.

    Protocol parameters can be transmitted using the HTTP "Authorization"
    header field as defined by `RFC2617`_ with the auth-scheme name set to
    "OAuth" (case insensitive).

    For example::

        Authorization: OAuth realm="Example",
            oauth_consumer_key="0685bd9184jfhq22",
            oauth_token="ad180jjd733klru7",
            oauth_signature_method="HMAC-SHA1",
            oauth_signature="wOJIO9A2W5mFwDgiDvZbTSMK%2FPY%3D",
            oauth_timestamp="137131200",
            oauth_nonce="4572616e48616d6d65724c61686176",
            oauth_version="1.0"


    .. _`section 3.5.1`: https://tools.ietf.org/html/rfc5849#section-3.5.1
    .. _`RFC2617`: https://tools.ietf.org/html/rfc2617
    z{}="{}"z, zrealm="%s", zOAuth %sÚAuthorization)r   ÚescapeÚformatÚappendÚjoinÚupdate)Úoauth_paramsÚheadersÚrealmÚ%authorization_header_parameters_partsÚoauth_parameter_nameÚvalueÚescaped_nameÚescaped_valueÚpartÚauthorization_header_parametersÚauthorization_headerÚfull_headerss               úh/var/www/html/content_generation/venv/lib/python3.12/site-packages/oauthlib/oauth1/rfc5849/parameters.pyÚprepare_headersr      sÆ   € ð0 Šm˜€Gð -/Ð)Û'3Ñ#Ð˜eô
 —|‘|Ð$8Ó9ˆÜŸ™ UÓ+ˆð
 ×Ñ ¨mÓ<ˆà-×4Ñ4°TÕ:ð (4ð& '+§i¡iØ-ó'/Ð#ñ à+9¸EÑ+AØ+Jñ,KÐ'ð &Ð(GÑGÐð €LØ×Ñ˜Ô Ø$8€L�Ñ!ØÐó    c                 ód   — t        |«      }|j                  | «       |j                  d„ ¬«       |S )a>  Append OAuth params to an existing set of parameters.

    Both params and oauth_params is must be lists of 2-tuples.

    Per `section 3.5.2`_ and `3.5.3`_ of the spec.

    .. _`section 3.5.2`: https://tools.ietf.org/html/rfc5849#section-3.5.2
    .. _`3.5.3`: https://tools.ietf.org/html/rfc5849#section-3.5.3

    c                 ó*   — | d   j                  d«      S )Nr   Úoauth_)Ú
startswith)Úis    r   Ú<lambda>z _append_params.<locals>.<lambda>i   s   € ˜a ™dŸo™o¨hÔ7r   )Úkey)ÚlistÚextendÚsort)r   ÚparamsÚmergeds      r   Ú_append_paramsr+   X   s/   € ô �&‹\€FØ
‡M�M�,Ôð
 ‡K�KÑ7€KÔ8Ø€Mr   c                 ó   — t        | |«      S )z—Prepare the Form-Encoded Body.

    Per `section 3.5.2`_ of the spec.

    .. _`section 3.5.2`: https://tools.ietf.org/html/rfc5849#section-3.5.2

    )r+   )r   Úbodys     r   Úprepare_form_encoded_bodyr.   m   s   € ô ˜,¨Ó-Ð-r   c                 óŒ   — t        |«      \  }}}}}}t        t        | t        |«      xs g «      «      }t	        ||||||f«      S )z—Prepare the Request URI Query.

    Per `section 3.5.3`_ of the spec.

    .. _`section 3.5.3`: https://tools.ietf.org/html/rfc5849#section-3.5.3

    )r   r   r+   r   r   )r   ÚuriÚschÚnetÚpathÚparÚqueryÚfras           r   Úprepare_request_uri_queryr7   y   sQ   € ô '/¨s£mÑ#€Cˆˆd�C˜ ÜÜ�|¤^°EÓ%:Ò%@¸bÓAóC€Eä�s˜C  s¨E°3Ð7Ó8Ð8r   )NN)Ú__doc__Úurllib.parser   r   Úoauthlib.commonr   r   Ú r   Úfilter_paramsr   r+   r.   r7   © r   r   Ú<module>r>      sA   ðñ÷ .ç 5å ð
 ×ÑòBó ðBòJò*	.ó9r   