§
    ¯õiÛ   ã                  óè  — U d dl mZ d dlZd dlZd dlmZ d dlmZ ddlm	Z	 ddl
mZ ej        rd d	lmZ d
Z eg d¢¦  «        ZdZ	 	 d dlZn# e$ r d dlZY nw xY wedz  Zn# e$ r Y nw xY w	 d dlmZ edz  Zn!# e$ r 	 d dlZedz  Zn# e$ r Y nw xY wY nw xY w G d„ de¦  «        Zej        Zded<   ej        eef         Z h d£Z!	 	 	 	 	 	 d3d4d „Z"d5d%„Z#d6d*„Z$ G d+„ d,ej%        ¦  «        Z&d7d2„Z'dS )8é    )ÚannotationsN)Ú	b64encode)ÚEnumé   )ÚUnrewindableBodyErroré   )Úto_bytes)ÚFinalz@@@SKIP_HEADER@@@)úaccept-encodingÚhostú
user-agentzgzip,deflatez,br)Úzstdz,zstdc                  ó   — e Zd ZdZdS )Ú_TYPE_FAILEDTELLr   N)Ú__name__Ú
__module__Ú__qualname__Útoken© ó    ú`/var/www/html/nodeJS/PythonScripts/venv3.11/lib/python3.11/site-packages/urllib3/util/request.pyr   r   /   s   € € € € € Ø€E€E€Er   r   zFinal[_TYPE_FAILEDTELL]Ú_FAILEDTELL>   ÚGETÚHEADÚTRACEÚDELETEÚCONNECTÚOPTIONSÚ
keep_aliveúbool | NoneÚaccept_encodingúbool | list[str] | str | NoneÚ
user_agentú
str | NoneÚ
basic_authÚproxy_basic_authÚdisable_cacheÚreturnúdict[str, str]c                óÂ  — i }|rMt          |t          ¦  «        rn2t          |t          ¦  «        rd                     |¦  «        }nt          }||d<   |r||d<   | rd|d<   |r:dt          |                     d¦  «        ¦  «                             ¦   «         › �|d<   |r:dt          |                     d¦  «        ¦  «                             ¦   «         › �|d	<   |rd
|d<   |S )ad  
    Shortcuts for generating request headers.

    :param keep_alive:
        If ``True``, adds 'connection: keep-alive' header.

    :param accept_encoding:
        Can be a boolean, list, or string.
        ``True`` translates to 'gzip,deflate'.  If the dependencies for
        Brotli (either the ``brotli`` or ``brotlicffi`` package) and/or Zstandard
        (the ``zstandard`` package) algorithms are installed, then their encodings are
        included in the string ('br' and 'zstd', respectively).
        List will get joined by comma.
        String will be used as provided.

    :param user_agent:
        String representing the user-agent you want, such as
        "python-urllib3/0.6"

    :param basic_auth:
        Colon-separated username:password string for 'authorization: basic ...'
        auth header.

    :param proxy_basic_auth:
        Colon-separated username:password string for 'proxy-authorization: basic ...'
        auth header.

    :param disable_cache:
        If ``True``, adds 'cache-control: no-cache' header.

    Example:

    .. code-block:: python

        import urllib3

        print(urllib3.util.make_headers(keep_alive=True, user_agent="Batman/1.0"))
        # {'connection': 'keep-alive', 'user-agent': 'Batman/1.0'}
        print(urllib3.util.make_headers(accept_encoding=True))
        # {'accept-encoding': 'gzip,deflate'}
    ú,r   r   z
keep-aliveÚ
connectionzBasic zlatin-1Úauthorizationzproxy-authorizationzno-cachezcache-control)Ú
isinstanceÚstrÚlistÚjoinÚACCEPT_ENCODINGr   ÚencodeÚdecode)r   r!   r#   r%   r&   r'   Úheaderss          r   Úmake_headersr6   ?   s  € ðb !€GØð 5Ý�o¥sÑ+Ô+ð 	.ØÝ˜­Ñ.Ô.ð 	.Ø!Ÿhšh Ñ7Ô7ˆOˆOå-ˆOØ%4ˆÐ!Ñ"àð +Ø *ˆ�Ñàð -Ø ,ˆ�Ñàð 
àG•Y˜z×0Ò0°Ñ;Ô;Ñ<Ô<×CÒCÑEÔEÐGÐGð 	�Ñ ð ð 
àM•YÐ/×6Ò6°yÑAÔAÑBÔB×IÒIÑKÔKÐMÐMð 	Ð%Ñ&ð ð .Ø#-ˆ�Ñ à€Nr   Úbodyú
typing.AnyÚposú_TYPE_BODY_POSITION | Nonec                ó¨   — |�t          | |¦  «         n>t          | dd¦  «        �-	 |                      ¦   «         }n# t          $ r
 t          }Y nw xY w|S )z
    If a position is provided, move file to that point.
    Otherwise, we'll attempt to record a position for future use.
    NÚtell)Úrewind_bodyÚgetattrr<   ÚOSErrorr   )r7   r9   s     r   Úset_file_positionr@   �   so   € ð €Ý�D˜#ÑÔÐÐÝ	��v˜tÑ	$Ô	$Ð	0ð	Ø—)’)‘+”+ˆCˆCøÝð 	ð 	ð 	õ ˆCˆCˆCð	øøøð
 €Js   ¦; »AÁAútyping.IO[typing.AnyStr]Úbody_posÚ_TYPE_BODY_POSITIONÚNonec                ó"  — t          | dd¦  «        }|�Et          |t          ¦  «        r0	  ||¦  «         dS # t          $ r}t	          d¦  «        |‚d}~ww xY w|t
          u rt	          d¦  «        ‚t          dt          |¦  «        › d�¦  «        ‚)zæ
    Attempt to rewind body to a certain position.
    Primarily used for request redirects and retries.

    :param body:
        File-like object that supports seek.

    :param int pos:
        Position to seek to in file.
    ÚseekNzAAn error occurred when rewinding request body for redirect/retry.zRUnable to record file position for rewinding request body during a redirect/retry.z1body_pos must be of type integer, instead it was ú.)r>   r.   Úintr?   r   r   Ú
ValueErrorÚtype)r7   rB   Ú	body_seekÚes       r   r=   r=   ¤   sÈ   € õ ˜˜f dÑ+Ô+€IØÐ¥¨HµcÑ!:Ô!:Ðð	ØˆI�hÑÔÐÐÐøÝð 	ð 	ð 	Ý'ØSñô àðøøøøð	øøøð 
•[Ð	 Ð	 Ý#ð4ñ
ô 
ð 	
õ
 ØQÅÀXÁÄÐQÐQÐQñ
ô 
ð 	
s   ª7 ·
AÁAÁAc                  ó$   — e Zd ZU ded<   ded<   dS )ÚChunksAndContentLengthztyping.Iterable[bytes] | NoneÚchunksz
int | NoneÚcontent_lengthN)r   r   r   Ú__annotations__r   r   r   rN   rN   Â   s*   € € € € € € Ø)Ð)Ð)Ñ)ØÐÐÑÐÐr   rN   útyping.Any | NoneÚmethodr/   Ú	blocksizerH   c                óü  ‡ ‡— ‰ €#d}|                      ¦   «         t          vrd}nÈd}nÅt          ‰ t          t          f¦  «        r&t          ‰ ¦  «        f}t          |d         ¦  «        }nƒt          ‰ d¦  «        rd	ˆˆ fd„} |¦   «         }d}n_	 t          ‰ ¦  «        }‰ f}|j	        }nD# t          $ r7 	 t          ‰ ¦  «        }d}n!# t          $ r t          d‰ ›�¦  «        d‚w xY wY nw xY wt          ||¬¦  «        S )
aR  Takes the HTTP request method, body, and blocksize and
    transforms them into an iterable of chunks to pass to
    socket.sendall() and an optional 'Content-Length' header.

    A 'Content-Length' of 'None' indicates the length of the body
    can't be determined so should use 'Transfer-Encoding: chunked'
    for framing instead.
    Nr   Úreadr(   útyping.Iterable[bytes]c               3  ó¨   •K  — t          ‰t          j        ¦  «        } 	 ‰                     ‰¦  «        }|sd S | r|                     d¦  «        }|V — Œ5)NTzutf-8)r.   ÚioÚ
TextIOBaserV   r3   )r3   Ú	datablockrT   r7   s     €€r   Úchunk_readablez&body_to_chunks.<locals>.chunk_readableè   sd   øè è € å ¥b¤mÑ4Ô4ˆFð Ø ŸIšI iÑ0Ô0�	Ø ð Ø�EØð :Ø )× 0Ò 0°Ñ 9Ô 9�IØ���ð r   zO'body' must be a bytes-like object, file-like object, or iterable. Instead was )rO   rP   )r(   rW   )ÚupperÚ_METHODS_NOT_EXPECTING_BODYr.   r/   Úbytesr	   ÚlenÚhasattrÚ
memoryviewÚnbytesÚ	TypeErrorÚiterrN   )r7   rS   rT   rO   rP   r\   Úmvs   ` `    r   Úbody_to_chunksrg   Ç   sq  øø€ ð$ €|ØˆØ�<Š<‰>Œ>Õ!<Ð<Ð<ØˆNˆNà!ˆNˆNõ 
�D�3¥˜,Ñ	'Ô	'ð ''Ý˜4‘.”.Ð"ˆÝ˜V AœY™œˆˆõ 
��vÑ	Ô	ð "'ð		 ð 		 ð 		 ð 		 ð 		 ð 		 ð 		 ð  �Ñ!Ô!ˆØˆˆð	'å˜DÑ!Ô!ˆBð �WˆFØœYˆNˆNøõ ð 		ð 		ð 		ðå˜d™œ�Ø!%��øÝð ð ð ÝðAØ8<ðAð Añô ð ððøøøð �ð			øøøõ "¨ÀÐOÑOÔOÐOs*   ÂB) Â)
C*Â4CÃC*ÃC$Ã$C*Ã)C*)NNNNNN)r   r    r!   r"   r#   r$   r%   r$   r&   r$   r'   r    r(   r)   )r7   r8   r9   r:   r(   r:   )r7   rA   rB   rC   r(   rD   )r7   rR   rS   r/   rT   rH   r(   rN   )(Ú
__future__r   rY   ÚtypingÚbase64r   Úenumr   Ú
exceptionsr   Úutilr	   ÚTYPE_CHECKINGr
   ÚSKIP_HEADERÚ	frozensetÚSKIPPABLE_HEADERSr2   Ú
brotlicffiÚ_unused_module_brotliÚImportErrorÚbrotliÚcompressionr   Ú_unused_module_zstdÚ	zstandardr   r   r   rQ   ÚUnionrH   rC   r^   r6   r@   r=   Ú
NamedTuplerN   rg   r   r   r   ú<module>r{      sÉ  ðØ "Ð "Ð "Ð "Ð "Ð "Ð "à 	€	€	€	Ø €€€Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à .Ð .Ð .Ð .Ð .Ð .Ø Ð Ð Ð Ð Ð à	Ôð ØÐÐÐÐÐð "€Ø�IÐGÐGÐGÑHÔHÐ à €ðð/Ø2Ð2Ð2Ð2Ð2øØð /ð /ð /Ø.Ð.Ð.Ð.Ð.Ð.ð/øøøð
 �uÑ€O€Oøð ð 	ð 	ð 	Ø€Dð	øøøð
ðð ð ð ð ð ð �wÑ€O€OøØð ð ð ðØ/Ð/Ð/Ð/à˜7Ñ"ˆˆøØð ð ð Øˆðøøøøøðøøøðð ð ð ð �tñ ô ð ð (8Ô'=€Ð =Ð =Ð =Ñ =à”l 3Ð(8Ð#8Ô9Ð ð WÐVÐVÐ ð #Ø59Ø!Ø!Ø#'Ø!%ðNð Nð Nð Nð Nðbð ð ð ð(
ð 
ð 
ð 
ð<ð ð ð ð ˜VÔ.ñ ô ð ð
CPð CPð CPð CPð CPð CPsf   ÁA ÁA" Á	AÁA" ÁAÁA" Á"A*Á)A*Á.A: Á:BÂ 	B
Â	BÂ
BÂBÂBÂBÂB