§
    ;xÅjôú  ã                   ó   — d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl	m
Z
 d dlmZ d dlmZmZmZ d dlmZmZmZ d dlmZmZ d dlmZmZ d dlmZmZmZmZm Z m!Z! d dl"Z"d d	l#m$Z$m%Z%m&Z&m'Z' d d
l(m)Z) ddl*m+Z+m,Z,m-Z-m.Z.m/Z/ ddl0m1Z1m2Z2m3Z3 ddl4m5Z5 ddl6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z= ddl>m?Z?m@Z@ ddlAmBZB ddl,mCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJmKZKmLZLmMZM ddl-mNZNmOZOmPZPmQZQmRZR ddlSmTZT ddlUmVZVmWZWmXZXmYZYmZZZm[Z[ erd dl\Z\d dl\m]Z] n	 d dl\Z\d dl\m]Z] n# e^$ r dZ\e_Z]Y nw xY wdZ`erddlambZb ddlcmdZd ddlemfZf  e7d¦  «        Zg ejh        d¦  «        Zi ejh        d¦  «        Zj ejh        dejk        ¦  «        Zl ejh        dejm        ¦  «        Znd eofd!„Zp e"jq        d"d"d"¬#¦  «         G d$„ d%¦  «        ¦   «         Zr G d&„ d'e¦  «        Zs G d(„ d)es¦  «        Zt G d*„ d+¦  «        Zue\�e\j]        eveu ewd¦  «        fZxnev ewd¦  «        fZxd,e!d-eveuf         d.evdz  d/e d-         d0eydz  d e!d-eveuf         f
d1„Zz e{d2¦  «        Z| G d3„ d4e¦  «        Z}d5eod6eod evfd7„Z~dCd9e/j        d:e€d dfd;„Z�d<Z‚ G d=„ d>¦  «        Zƒ G d?„ d@eF¦  «        Z„ G dA„ dB¦  «        Z…dS )Dé    N)ÚBaseEventLoop)Údeque)ÚCallableÚIterableÚMapping)Úmd5Úsha1Úsha256)ÚMorselÚSimpleCookie)ÚMappingProxyTypeÚTracebackType)ÚTYPE_CHECKINGÚAnyÚLiteralÚ
NamedTupleÚOptionalÚUnion)ÚCIMultiDictÚCIMultiDictProxyÚ	MultiDictÚMultiDictProxy)ÚURLé   )ÚhdrsÚhelpersÚhttpÚ	multipartÚpayload)Úparse_cookie_headerÚparse_set_cookie_headersÚ preserve_morsel_with_coded_value)ÚAbstractStreamWriter)ÚClientConnectionErrorÚClientOSErrorÚClientResponseErrorÚContentTypeErrorÚ
InvalidURLÚServerFingerprintMismatchÚUploadAbortedError)Ú
HAS_BROTLIÚHAS_ZSTD)ÚFormData)Ú	_SENTINELÚBaseTimerContextÚ	BasicAuthÚHeadersMixinÚ	TimerNoopÚ_basic_auth_no_warnÚnoopÚreifyÚsentinelÚset_exceptionÚ
set_result)ÚSERVER_SOFTWAREÚHttpVersionÚHttpVersion10ÚHttpVersion11ÚStreamWriter)ÚStreamReader)ÚDEFAULT_JSON_DECODERÚJSONDecoderÚLooseCookiesÚLooseHeadersÚQueryÚ
RawHeaders)Ú
SSLContext)ÚClientRequestÚClientResponseÚRequestInfoÚFingerprint)ÚClientSession)Ú
Connection)ÚTraceúConnection closedz[^-!#$%&'*+.^_`|~0-9a-zA-Z]z!^application/(?:[\w.+-]+?\+)?jsonz\d+z*^([^\s=]+)\s*=\s*(?:(['\"])(.*?)\2|(\S*))$Úreturnc                  ó¤   — ddg} t           r|                      d¦  «         t          r|                      d¦  «         d                     | ¦  «        S )NÚgzipÚdeflateÚbrÚzstdú, )r+   Úappendr,   Újoin)Ú	encodingss    úFC:\Projects\Historical\venv\Lib\site-packages\aiohttp/client_reqrep.pyÚ_gen_default_accept_encodingrY   b   s[   € àØð€Iõ ð Ø×Ò˜ÑÔÐÝð !Ø×Ò˜Ñ Ô Ð Ø�9Š9�YÑÔÐó    T)Úauto_attribsÚfrozenÚslotsc                   ó:   — e Zd ZU edz  ed<   ded<   edz  ed<   dS )ÚContentDispositionNÚtypezMappingProxyType[str, str]Ú
parametersÚfilename)Ú__name__Ú
__module__Ú__qualname__ÚstrÚ__annotations__© rZ   rX   r_   r_   n   s>   € € € € € € à
�‰*ÐÐÑØ,Ð,Ð,Ñ,Ø�D‰jÐÐÑÐÐrZ   r_   c                   ó8   — e Zd ZU eed<   eed<   ded<   eed<   dS )Ú_RequestInfoÚurlÚmethodúCIMultiDictProxy[str]ÚheadersÚreal_urlN)rc   rd   re   r   rg   rf   rh   rZ   rX   rj   rj   u   s7   € € € € € € Ø	€H€H�HØ€K€K�KØ$Ð$Ð$Ñ$Ø€M€M�M€M€MrZ   rj   c                   ó4   — e Zd Zefdededddeez  dd f
d„ZdS )	rH   rk   rl   rn   rm   ro   rN   c                 óV   — t                                | ||||t          u r|n|f¦  «        S )zuCreate a new RequestInfo instance.

        For backwards compatibility, the real_url parameter is optional.
        )ÚtupleÚ__new__r6   )Úclsrk   rl   rn   ro   s        rX   rs   zRequestInfo.__new__~   s6   € õ �}Š}Ø�#�v˜w¨x½8Ð/CÐ/C¨¨ÈÐRñ
ô 
ð 	
rZ   N)rc   rd   re   r6   r   rf   r.   rs   rh   rZ   rX   rH   rH   |   sf   € € € € € ð %-ð
ð 
àð
ð ð
ð )ð	
ð
 ˜	‘/ð
ð 
ð
ð 
ð 
ð 
ð 
ð 
rZ   rH   c                   ó`   — e Zd ZeeedœZdeddfd„Ze	defd„¦   «         Z
dej        ddfd„ZdS )	rI   )é   é   é    ÚfingerprintrN   Nc                 óØ   — t          |¦  «        }| j                             |¦  «        }|st          d¦  «        ‚|t          u s	|t
          u rt          d¦  «        ‚|| _        || _        d S )Nzfingerprint has invalid lengthz8md5 and sha1 are insecure and not supported. Use sha256.)ÚlenÚHASHFUNC_BY_DIGESTLENÚgetÚ
ValueErrorr   r	   Ú	_hashfuncÚ_fingerprint)Úselfry   Ú	digestlenÚhashfuncs       rX   Ú__init__zFingerprint.__init__•   st   € Ý˜Ñ$Ô$ˆ	ØÔ-×1Ò1°)Ñ<Ô<ˆØð 	YÝÐ=Ñ>Ô>Ð>Ø�ˆ_ˆ_ ­DÐ 0Ð 0ÝÐWÑXÔXÐXØ!ˆŒØ'ˆÔÐÐrZ   c                 ó   — | j         S ©N)r€   ©r�   s    rX   ry   zFingerprint.fingerprintŸ   ó   € àÔ Ð rZ   Ú	transportc                 óL  — |                      d¦  «        sd S |                      d¦  «        }|                     d¬¦  «        }|                      |¦  «                             ¦   «         }|| j        k    r/|                      d¦  «        ^}}}t          | j        |||¦  «        ‚d S )NÚ
sslcontextÚ
ssl_objectT)Úbinary_formÚpeername)Úget_extra_infoÚgetpeercertr   Údigestr€   r)   )r�   r‰   ÚsslobjÚcertÚgotÚhostÚportÚ_s           rX   ÚcheckzFingerprint.check£   s©   € Ø×'Ò'¨Ñ5Ô5ð 	ØˆFØ×)Ò)¨,Ñ7Ô7ˆØ×!Ò!¨dÐ!Ñ3Ô3ˆØ�nŠn˜TÑ"Ô"×)Ò)Ñ+Ô+ˆØ�$Ô#Ò#Ð#Ø&×5Ò5°jÑAÔAˆNˆD�$˜Ý+¨DÔ,=¸sÀDÈ$ÑOÔOÐOð $Ð#rZ   )rc   rd   re   r   r	   r
   r|   Úbytesr„   Úpropertyry   ÚasyncioÚ	Transportr˜   rh   rZ   rX   rI   rI   Ž   s    € € € € € àØØðð Ðð( Eð (¨dð (ð (ð (ð (ð ð!˜Uð !ð !ð !ñ „Xð!ðP˜wÔ0ð P°Tð Pð Pð Pð Pð Pð PrZ   rI   ÚsslrE   Ú
verify_sslÚssl_contextry   c                 ó®  — | €d} |�3|s1t          j        dt          d¬¦  «         | durt          d¦  «        ‚d} |�1t          j        dt          d¬¦  «         | durt          d¦  «        ‚|} |�>t          j        dt          d¬¦  «         | durt          d¦  «        ‚t	          |¦  «        } t          | t          ¦  «        st          d	| ›d
�¦  «        ‚| S )NTz/verify_ssl is deprecated, use ssl=False insteadé   ©Ú
stacklevelzNverify_ssl, ssl_context, fingerprint and ssl parameters are mutually exclusiveFz2ssl_context is deprecated, use ssl=context insteadzCfingerprint is deprecated, use ssl=Fingerprint(fingerprint) insteadz9ssl should be SSLContext, bool, Fingerprint or None, got z	 instead.)ÚwarningsÚwarnÚDeprecationWarningr~   rI   Ú
isinstanceÚSSL_ALLOWED_TYPESÚ	TypeError)r�   rž   rŸ   ry   s       rX   Ú_merge_ssl_paramsrª   ´   sQ  € ð €{ØˆØÐ jÐÝŒØ=ÝØð	
ñ 	
ô 	
ð 	
ð
 �dˆ?ˆ?Ýð4ñô ð ð
 ˆCØÐÝŒØ@ÝØð	
ñ 	
ô 	
ð 	
ð
 �dˆ?ˆ?Ýð4ñô ð ð
 ˆCØÐÝŒØQÝØð	
ñ 	
ô 	
ð 	
ð
 �dˆ?ˆ?Ýð4ñô ð õ
 ˜kÑ*Ô*ˆCÝ�cÕ,Ñ-Ô-ð 
Ýð$Øð$ð $ð $ñ
ô 
ð 	
ð €JrZ   )ÚhttpsÚwssc                   óŽ   — e Zd ZU eed<   edz  ed<   eed<   eez  ez  ed<   e	dz  ed<   e
dz  ed<   edz  ed<   dZedz  ed	<   dS )
ÚConnectionKeyr•   Nr–   Úis_sslr�   ÚproxyÚ
proxy_authÚproxy_headers_hashÚserver_hostname)rc   rd   re   rf   rg   ÚintÚboolrE   rI   r   r0   r³   rh   rZ   rX   r®   r®   ñ   s‘   € € € € € € ð €I€I�IØ
�‰*ÐÐÑØ€L€L�LØ	�dÑ	˜[Ñ	(Ð(Ð(Ñ(Ø�‰:ÐÐÑØ˜DÑ Ð Ð Ñ Ø˜d™
Ð"Ð"Ñ"Ø"&€O�S˜4‘ZÐ&Ð&Ñ&Ð&Ð&rZ   r®   Úresponse_content_typeÚexpected_content_typec                 óN   — |dk    rt                                | ¦  «        d uS || v S )Núapplication/json)Újson_reÚmatch)r¶   r·   s     rX   Ú_is_expected_content_typer¼   þ   s4   € ð Ð 2Ò2Ð2Ý�}Š}Ð2Ñ3Ô3¸4Ð?Ð?Ø Ð$9Ð9Ð9rZ   é   r   r£   c                 ób   — | j         s%| j        s t          j        dt          |¬¦  «         dS dS dS )zöWarn if the payload is not closed.

    Callers must check that the body is a Payload before calling this method.

    Args:
        payload: The payload to check
        stacklevel: Stack level for the warning (default 2 for direct callers)
    z¬The previous request body contains unclosed resources. Use await request.update_body() instead of setting request.body directly to properly close resources and avoid leaks.r¢   N)Ú	autocloseÚconsumedr¤   r¥   ÚResourceWarning)r   r£   s     rX   Ú_warn_if_unclosed_payloadrÂ     s^   € ð Ôð 
 WÔ%5ð 
ÝŒðDõ Ø!ð	
ñ 	
ô 	
ð 	
ð 	
ð 	
ð
ð 
ð 
ð 
rZ   é   c                   ó¸   — e Zd ZdZdd„Zedefd„¦   «         Zdd„Zdd„Z	defd„Z
d	ed
eddfd„Zd	edededdfd„Zd	eddfd„Zd	ededz  ddfd„Zdd„Zdd„ZdS )ÚUploadTrackeraz  Tracks upload progress of a single client request.

    Pass a fresh instance via the request's ``upload_tracker`` argument and
    read ``bytes_written``, ``attempts`` and ``upload_complete`` while the
    request runs.

    Must be created inside a running event loop. A tracker observes exactly
    one request: passing it to a second request raises :exc:`RuntimeError`.
    rN   Nc                 óð   — d| _         t          j        ¦   «                              ¦   «         | _        d| _        d| _        d | _        d| _        d | _	        d| _
        d| _        t          ¦   «         | _        d S )Nr   F)Úattemptsr›   Úget_running_loopÚcreate_futureÚupload_completeÚ_boundÚ	_finishedÚ_excÚ_finalÚ_writerÚ	_acceptedÚ_flushedr   Ú_checkpointsr‡   s    rX   r„   zUploadTracker.__init__(  st   € ØˆŒåÔ$Ñ&Ô&×4Ò4Ñ6Ô6ð 	Ôð ˆŒð ˆŒØ*.ˆŒ	ð ˆŒà48ˆŒàˆŒàˆŒõ 5:±G´GˆÔÐÐrZ   c                 ó8   — |                       ¦   «          | j        S )züPayload bytes of the current attempt sent to the kernel.

        Computed from the transport's unsent buffer on access, so it
        excludes bytes still queued in the event loop; it cannot see past
        the kernel's own socket buffering.
        )Ú_refresh_flushedrÑ   r‡   s    rX   Úbytes_writtenzUploadTracker.bytes_written?  s   € ð 	×ÒÑÔÐØŒ}ÐrZ   c                 óð  — | j         }|€d S |j        }|�|                     ¦   «         rd S |j        |                     ¦   «         z
  }| j        }t          |¦  «        dk    rK|d         d         |k    r9|                     ¦   «          t          |¦  «        dk    r|d         d         |k    °9|d         \  }}t          |¦  «        dk    r%||k    r|d         \  }}|||z
  ||z
  z  ||z
  z  z  }|| _        d S )Nr   r   )	rÏ   r‰   Ú
is_closingÚoutput_sizeÚget_write_buffer_sizerÒ   r{   ÚpopleftrÑ   )	r�   Úwriterr‰   Ú	wire_sentÚcheckpointsÚflushedÚwireÚpayload_cumÚwire_cums	            rX   rÔ   zUploadTracker._refresh_flushedJ  s$  € Ø”ˆØˆ>ØˆFØÔ$ˆ	ØÐ 	× 4Ò 4Ñ 6Ô 6Ðð ˆFØÔ&¨×)HÒ)HÑ)JÔ)JÑJˆ	ØÔ'ˆÝ�+ÑÔ Ò"Ð" {°1¤~°aÔ'8¸IÒ'EÐ'EØ×ÒÑ!Ô!Ð!õ �+ÑÔ Ò"Ð" {°1¤~°aÔ'8¸IÒ'EÐ'Eð $ Aœ‰ˆ�Ýˆ{ÑÔ˜aÒÐ I°Ò$4Ð$4ð %0°¤NÑ!ˆK˜Ø˜ gÑ-°)¸dÑ2BÑCÈÐSWÉÑXÑXˆGØˆŒˆˆrZ   c                 ó@   — | j         rt          d¦  «        ‚d| _         d S )Nz+UploadTracker is already bound to a requestT)rË   ÚRuntimeErrorr‡   s    rX   Ú_bindzUploadTracker._bindb  s'   € ØŒ;ð 	NÝÐLÑMÔMÐMØˆŒˆˆrZ   c                 ó¨   — | xj         dz  c_         d| _        d| _        d| _        | j                             ¦   «          d| _        d| _        | j         S )zÙA new upload attempt is dispatched; returns its generation token.

        Called before connecting, so a resend failing early settles as
        aborted instead of reporting the superseded attempt's outcome.
        r   Nr   F)rÇ   rÏ   rÐ   rÑ   rÒ   ÚclearrÌ   rÍ   r‡   s    rX   Ú_attempt_startedzUploadTracker._attempt_startedg  sT   € ð 	ˆŒ˜ÑˆŒØˆŒØˆŒØˆŒØÔ×ÒÑ!Ô!Ð!ØˆŒØˆŒ	ØŒ}ÐrZ   ÚgenrÛ   c                 óp   — || j         k    r*|| _        | j                             d|j        f¦  «         dS dS )z>The attempt's body write has begun; settling now defers to it.r   N)rÇ   rÏ   rÒ   rU   rØ   )r�   rè   rÛ   s      rX   Ú_attempt_writingzUploadTracker._attempt_writingv  sE   € à�$”-ÒÐØ!ˆDŒLð Ô×$Ò$ a¨Ô);Ð%<Ñ=Ô=Ð=Ð=Ð=ð	  ÐrZ   ÚsizeÚwire_positionc                 ó  — || j         k    rz| j        �u| xj        |z  c_        | j        }||d         d         k    rN|                     | j        |f¦  «         t          |¦  «        t          k    r|                      ¦   «          d S d S d S d S d S )Néÿÿÿÿr   )rÇ   rÏ   rÐ   rÒ   rU   r{   Ú_MAX_UPLOAD_CHECKPOINTSrÔ   )r�   rè   rë   rì   rÝ   s        rX   Ú
_add_byteszUploadTracker._add_bytes~  s­   € ð �$”-ÒÐ D¤LÐ$<ØˆNŒN˜dÑ"ˆNŒNØÔ+ˆKð ˜{¨2œ¨qÔ1Ò1Ð1Ø×"Ò" D¤N°MÐ#BÑCÔCÐCõ �{Ñ#Ô#Õ&=Ò=Ð=Ø×)Ò)Ñ+Ô+Ð+Ð+Ð+ð  ÐÐ$<Ð$<ð
 2Ð1ð >Ð=rZ   c                 óÀ   — || j         k    rPd| _        | j        | _        | j                             ¦   «          d | _        | j        r|                      ¦   «          d S d S d S ©NT)	rÇ   rÌ   rÐ   rÑ   rÒ   ræ   rÏ   rÎ   Ú_settle)r�   rè   s     rX   Ú_attempt_finishedzUploadTracker._attempt_finished�  sj   € Ø�$”-ÒÐØ!ˆDŒNð !œNˆDŒMØÔ×#Ò#Ñ%Ô%Ð%ØˆDŒLØŒ{ð Ø—’‘”���ð  Ððð rZ   Úexcc                 óÐ   — || j         k    rX|| _        |                      ¦   «          | j                             ¦   «          d| _        | j        r|                      ¦   «          dS dS dS )z¬The attempt did not send the body in full.

        ``exc`` is the upload error, or ``None`` when the attempt was cut
        short (cancelled) rather than failed.
        N)rÇ   rÍ   rÔ   rÒ   ræ   rÏ   rÎ   ró   )r�   rè   rõ   s      rX   Ú_attempt_failedzUploadTracker._attempt_failed˜  ss   € ð �$”-ÒÐØˆDŒIà×!Ò!Ñ#Ô#Ð#ØÔ×#Ò#Ñ%Ô%Ð%ØˆDŒLØŒ{ð Ø—’‘”���ð  Ððð rZ   c                 óN   — d| _         | j        €|                      ¦   «          dS dS )zÒMark the request terminal: no further attempts will start.

        Settles upload_complete unless the final attempt is still writing,
        in which case the attempt's own terminal event settles it.
        TN)rÎ   rÏ   ró   r‡   s    rX   Ú	_finalizezUploadTracker._finalize§  s,   € ð ˆŒØŒ<ÐØ�LŠL‰NŒNˆNˆNˆNð  ÐrZ   c                 ó,  — | j         }|                     ¦   «         rd S | j        r|                     d ¦  «         d S | j        �|                     | j        ¦  «         n"|                     t          d¦  «        ¦  «         |                     ¦   «          d S )Nz#The request body was not fully sent)rÊ   ÚdonerÌ   r8   rÍ   r7   r*   Ú	exception)r�   Úfuts     rX   ró   zUploadTracker._settle±  s�   € ØÔ"ˆØ�8Š8‰:Œ:ð 	ØˆFØŒ>ð 	Ø�NŠN˜4Ñ Ô Ð ØˆFØŒ9Ð Ø×Ò˜dœiÑ(Ô(Ð(Ð(à×ÒÕ0Ð1VÑWÔWÑXÔXÐXà�Š‰ŒˆˆˆrZ   ©rN   N)rc   rd   re   Ú__doc__r„   rš   r´   rÕ   rÔ   rä   rç   r#   rê   rð   rô   ÚBaseExceptionr÷   rù   ró   rh   rZ   rX   rÅ   rÅ     sn  € € € € € ðð ð<ð <ð <ð <ð. ð˜sð ð ð ñ „Xðð ð  ð  ð  ð0ð ð ð ð
 #ð ð ð ð ð> Cð >Ð1Eð >È$ð >ð >ð >ð >ð,˜cð ,¨ð ,¸Sð ,ÀTð ,ð ,ð ,ð ,ð	 Sð 	¨Tð 	ð 	ð 	ð 	ð 3ð ¨]¸TÑ-Að Àdð ð ð ð ðð ð ð ðð ð ð ð ð rZ   rÅ   c                   óÆ  — e Zd ZU dZedz  ed<   dZeed<   dZe	dz  ed<   dZ
eed<   dZedz  ed<   dZee	         ed<   dZed	         ed
<   dZeed<   dZed         ed<   dZedz  ed<   dZee	df         dz  ed<   dZed         ed<   dZej        dz  ed<   dZed         ed<   dZdZdZ d„ Z!e"d ege	f         ed<   dZ#ed         ed<   dZ$ee%         ed<   dZ&eed<   dZ'ee(j)        d                  ed<   d e	d!e*d"d#d$ed         d%e+d&e,d'e-d(         d)e(j.        d*dd+e%d,dfd-„Z/ded.e0d,dfd/„Z1e2d,ed         fd0„¦   «         Z3e3j4        d"ed         d,dfd1„¦   «         Z3e2d,efd2„¦   «         Z5e2dfd4„¦   «         Z6e2d,efd5„¦   «         Z7e7j4        d6ed,dfd7„¦   «         Z7e8d,e*fd8„¦   «         Z9e8d,e*fd9„¦   «         Z:e8d,e*fd:„¦   «         Z;e8d,e	fd;„¦   «         Z<e8dgd=„¦   «         Z=e8d,efd>„¦   «         Z>e8d,e,fd?„¦   «         Z?e8d,e@dz  fd@„¦   «         ZAeBfdAeCd,dfdB„ZDd,e	fdC„ZEe2d,ed         fdD„¦   «         ZFe8d,ed	         fdE„¦   «         ZGe8dhdG„¦   «         ZHdidI„ZIdjdJ„ZJe2d,eKfdK„¦   «         ZLdjdL„ZMd,eCfdM„ZNe2d,eKfdN„¦   «         ZOdjdO„ZPdjdP„ZQdjdQ„ZRdjdR„ZSdjdS„ZTdjdT„ZUd,efdU„ZVd,e	fdV„ZWdkdXe	dz  dYe	d,e	fdZ„ZXdeYd[d\œdXe	dz  d]eZd^e	dz  d,eCfd_„Z[dld`„Z\dae]e^         dz  dbe^dz  dce_dz  d,dfdd„Z`dS )mrG   NÚversionÚstatusÚreasonÚcontentÚ_bodyÚ_headersrh   )rG   .Ú_historyÚ_raw_headersrK   Ú_connectionÚ_cookies.Ú_raw_cookie_headerszasyncio.Future[bool]Ú	_continueÚ_source_tracebackrJ   Ú_sessionTFc                  ó   — dS )Núutf-8rh   )r—   s    rX   ú<lambda>zClientResponse.<lambda>Ü  s   € ÈG€ rZ   Ú_resolve_charsetúasyncio.Task[None]Ú_ClientResponse__writerÚ_stream_writerr   Ú_output_sizeÚ_upload_completerl   rk   rÛ   zasyncio.Task[None] | NoneÚcontinue100ÚtimerÚrequest_infoÚtracesrL   ÚloopÚsessionÚstream_writerrN   c                óö  — t          |¦  «        t          u sJ ‚|| _        || _        |j        r|                     d ¦  «        n|| _        |€|
j        | _        n|
| _	        || _
        |�|| _        || _        |�|nt          ¦   «         | _        i | _        || _        || _        |	�|	| _        |	j        | _        |                     ¦   «         r-t+          j        t/          j        d¦  «        ¦  «        | _        d S d S )Nr   )r`   r   rl   Ú	_real_urlÚraw_fragmentÚwith_fragmentÚ_urlrØ   r  r  rÏ   r  Ú_request_infor2   Ú_timerÚ_cacheÚ_tracesÚ_loopr  r  Ú	get_debugÚ	tracebackÚextract_stackÚsysÚ	_getframer  )r�   rl   rk   rÛ   r  r  r  r  r  r  r  s              rX   r„   zClientResponse.__init__ã  s  € õ �C‰yŒy�CÐÐÐÐàˆŒàˆŒØ/2Ô/?ÐH�C×%Ò% dÑ+Ô+Ð+ÀSˆŒ	Øˆ>Ø -Ô 9ˆDÔÐà"/ˆDÔØ!ˆDŒLØÐ"Ø(ˆDŒNØ)ˆÔØ$Ð0�e�eµi±k´kˆŒØ&(ˆŒØˆŒØˆŒ
ð Ðà#ˆDŒMØ$+Ô$<ˆDÔ!Ø�>Š>ÑÔð 	OÝ%.Ô%<½S¼]È1Ñ=MÔ=MÑ%NÔ%NˆDÔ"Ð"Ð"ð	Oð 	OrZ   r—   c                 óÎ   — d | _         | j        �| j        j        | _        d | _        | j        �5| j                             ¦   «         s| j                             d ¦  «         d S d S d S r†   )r  r  rØ   r  r  rû   r8   ©r�   r—   s     rX   Ú__reset_writerzClientResponse.__reset_writer  sp   € ØˆŒØÔÐ*Ø $Ô 3Ô ?ˆDÔØ"&ˆDÔØÔ Ð,°TÔ5J×5OÒ5OÑ5QÔ5QÐ,ØÔ!×,Ò,¨TÑ2Ô2Ð2Ð2Ð2ð -Ð,Ð,Ð,rZ   c                 ó   — | j         S )z�The writer task for streaming data.

        _writer is only provided for backwards compatibility
        for subclasses that may need to access it.
        )r  r‡   s    rX   rÏ   zClientResponse._writer  s   € ð Œ}ÐrZ   c                 óð   — | j         �| j                              | j        ¦  «         || _         |€dS |                     ¦   «         r|                      ¦   «          dS |                     | j        ¦  «         dS )z'Set the writer task for streaming data.N)r  Úremove_done_callbackÚ_ClientResponse__reset_writerrû   Úadd_done_callback©r�   rÛ   s     rX   rÏ   zClientResponse._writer  s{   € ð Œ=Ð$ØŒM×.Ò.¨tÔ/BÑCÔCÐCØˆŒØˆ>ØˆFØ�;Š;‰=Œ=ð 	:à×ÒÑ!Ô!Ð!Ð!Ð!à×$Ò$ TÔ%8Ñ9Ô9Ð9Ð9Ð9rZ   c                 ón   — t          j        dt          d¬¦  «         | j        �| j        j        S | j        S )z~Number of bytes sent for this request.

        .. deprecated:: 3.14.4
           Use :class:`UploadTracker` instead.
        zKClientResponse.output_size is deprecated, use aiohttp.UploadTracker insteadr½   r¢   )r¤   r¥   r¦   r  rØ   r  r‡   s    rX   rØ   zClientResponse.output_size-  sH   € õ 	Œð0åØð		
ñ 	
ô 	
ð 	
ð ÔÐ*ØÔ&Ô2Ð2ØÔ Ð rZ   úasyncio.Future[None]c                 óÔ   — t          j        dt          d¬¦  «         | j        €?| j                             ¦   «         | _        | j        €| j                             d¦  «         | j        S )z�Future set when the request body has been fully sent.

        .. deprecated:: 3.14.4
           Use :class:`UploadTracker` instead.
        zOClientResponse.upload_complete is deprecated, use aiohttp.UploadTracker insteadr½   r¢   N)r¤   r¥   r¦   r  r)  rÉ   r  r8   r‡   s    rX   rÊ   zClientResponse.upload_complete>  sr   € õ 	Œð0åØð		
ñ 	
ô 	
ð 	
ð Ô Ð(Ø$(¤J×$<Ò$<Ñ$>Ô$>ˆDÔ!ØÔ"Ð*ØÔ%×0Ò0°Ñ6Ô6Ð6ØÔ$Ð$rZ   c                 óÌ   — | j         €W| j        �=t          ¦   «         }|                     t	          | j        ¦  «        ¦  «         || _         nt          ¦   «         | _         | j         S r†   )r  r  r   Úupdater!   ©r�   Úcookiess     rX   r>  zClientResponse.cookiesQ  sX   € àŒ=Ð ØÔ'Ð3å&™.œ.�ð —’Õ7¸Ô8PÑQÔQÑRÔRÐRØ '�”�å ,¡¤�”ØŒ}ÐrZ   r>  c                 óŠ   — || _         |r2t          d„ |                     ¦   «         D ¦   «         ¦  «        | _        d S d | _        d S )Nc              3   ó>   K  — | ]}|                      ¦   «         V — Œd S r†   )ÚOutputString)Ú.0Úmorsels     rX   ú	<genexpr>z)ClientResponse.cookies.<locals>.<genexpr>d  s?   è è € ð -ð -Ø*0�×#Ò#Ñ%Ô%ð-ð -ð -ð -ð -ð -rZ   )r  rr   Úvaluesr  r=  s     rX   r>  zClientResponse.cookies_  s_   € àˆŒàð 	,Ý',ð -ð -Ø4;·N²NÑ4DÔ4Dð-ñ -ô -ñ (ô (ˆDÔ$Ð$Ð$ð (,ˆDÔ$Ð$Ð$rZ   c                 ó   — | j         S r†   )r$  r‡   s    rX   rk   zClientResponse.urlj  ó
   € àŒyÐrZ   c                 óH   — t          j        dt          d¬¦  «         | j        S )NzDeprecated, use .url #1654r½   r¢   )r¤   r¥   r¦   r$  r‡   s    rX   Úurl_objzClientResponse.url_objn  s$   € åŒÐ2Õ4FÐSTÐUÑUÔUÐUØŒyÐrZ   c                 ó   — | j         S r†   )r!  r‡   s    rX   ro   zClientResponse.real_urls  s
   € àŒ~ÐrZ   c                 ó6   — | j         j        €J ‚| j         j        S r†   )r$  r•   r‡   s    rX   r•   zClientResponse.hostw  s   € àŒyŒ~Ð)Ð)Ð)ØŒyŒ~ÐrZ   rm   c                 ó   — | j         S r†   )r  r‡   s    rX   rn   zClientResponse.headers|  ó
   € àŒ}ÐrZ   c                 ó   — | j         S r†   )r	  r‡   s    rX   Úraw_headerszClientResponse.raw_headers€  rˆ   rZ   c                 ó   — | j         S r†   )r%  r‡   s    rX   r  zClientResponse.request_info„  s   € àÔ!Ð!rZ   c                 óè   — | j                              t          j        ¦  «        }|€d S t	          j        |¦  «        \  }}t          |¦  «        }t	          j        |¦  «        }t          |||¦  «        S r†   )	r  r}   r   ÚCONTENT_DISPOSITIONr   Úparse_content_dispositionr   Úcontent_disposition_filenamer_   )r�   ÚrawÚdisposition_typeÚ
params_dctÚparamsrb   s         rX   Úcontent_dispositionz"ClientResponse.content_dispositionˆ  sj   € àŒm×Ò¥Ô 8Ñ9Ô9ˆØˆ;Ø�4Ý'0Ô'JÈ3Ñ'OÔ'OÑ$Ð˜*Ý! *Ñ-Ô-ˆÝÔ9¸&ÑAÔAˆÝ!Ð"2°F¸HÑEÔEÐErZ   Ú	_warningsc                 óP  — | j         rd S | j        �“| j                             ¦   «          |                      ¦   «          | j                             ¦   «         rOd| i} |j        d| ›�t          fi |¤Ž | ddœ}| j        r
| j        |d<   | j         	                    |¦  «         d S d S d S )NÚsourcezUnclosed response zUnclosed response)Úclient_responseÚmessageÚsource_traceback)
Ú_closedr
  ÚreleaseÚ_cleanup_writerr)  r*  r¥   rÁ   r  Úcall_exception_handler)r�   rZ  ÚkwargsÚcontexts       rX   Ú__del__zClientResponse.__del__’  sÝ   € ØŒ<ð 	ØˆFàÔÐ'ØÔ×$Ò$Ñ&Ô&Ð&Ø× Ò Ñ"Ô"Ð"àŒz×#Ò#Ñ%Ô%ð ;Ø" DÐ)�Ø�	”Ð<°DÐ<Ð<½oÐXÐXÐQWÐXÐXÐXØ.2Ð?RÐSÐS�ØÔ)ð IØ26Ô2H�GÐ.Ñ/Ø”
×1Ò1°'Ñ:Ô:Ð:Ð:Ð:ð (Ð'ð;ð ;rZ   c           	      óT  — t          j        ¦   «         }t          | j        ¦  «        }| j        r/| j                             dd¦  «                             d¦  «        }nd}t          d|› d| j        › d|› d�|¬¦  «         t          | j	        |¬¦  «         | 
                    ¦   «         S )	NÚasciiÚbackslashreplaceÚNonez<ClientResponse(z) [ú z]>)Úfile)ÚioÚStringIOrf   rk   r  ÚencodeÚdecodeÚprintr  rn   Úgetvalue)r�   ÚoutÚascii_encodable_urlÚascii_encodable_reasons       rX   Ú__repr__zClientResponse.__repr__¢  s¼   € ÝŒk‰mŒmˆÝ! $¤(™mœmÐØŒ;ð 	,Ø%)¤[×%7Ò%7ØÐ+ñ&ô &çŠf�W‰oŒoð #Ð"ð &,Ð"ÝØ_Ð2Ð_Ð_°t´{Ð_Ð_ÐE[Ð_Ð_Ð_Øð	
ñ 	
ô 	
ð 	
õ 	ˆdŒl Ð%Ñ%Ô%Ð%Ø�|Š|‰~Œ~ÐrZ   c                 ó   — | j         S r†   )r
  r‡   s    rX   Ú
connectionzClientResponse.connection²  s   € àÔÐrZ   c                 ó   — | j         S )z2A sequence of of responses, if redirects occurred.)r  r‡   s    rX   ÚhistoryzClientResponse.history¶  s   € ð Œ}ÐrZ   ú)MultiDictProxy[MultiDictProxy[str | URL]]c           	      óŠ  — d                      | j                             dg ¦  «        ¦  «        }|st          t	          ¦   «         ¦  «        S t	          ¦   «         }t          j        d|¦  «        D �]E}t          j        d|¦  «        }|€Œ|                     ¦   «         \  }}|                     d¦  «        dd …         }t	          ¦   «         }|D ]d}	t                               |	 
                    ¦   «         ¦  «        }|€Œ1|                     ¦   «         \  }
}}}|                     |
|€|n|¦  «         Œe|                     d|¦  «        }
|                     d| j                              t          |¦  «        ¦  «        ¦  «         |                     t          |
¦  «        t          |¦  «        ¦  «         �ŒGt          |¦  «        S )	NrT   Úlinkz	,(?=\s*<)z\s*<(.*)>(.*)ú;r   Úrelrk   )rV   rn   Úgetallr   r   ÚreÚsplitr»   ÚgroupsÚ_LINK_PARAM_REÚstripÚaddr}   rk   r   rf   )r�   Ú	links_strÚlinksÚvalr»   rk   Ú
params_strrX  r}  ÚparamÚkeyr—   Úvalue_quotedÚvalue_unquoteds                 rX   rˆ  zClientResponse.links»  s‹  € à—I’I˜dœl×1Ò1°&¸"Ñ=Ô=Ñ>Ô>ˆ	àð 	/Ý!¥)¡+¤+Ñ.Ô.Ð.å6?±k´kˆå”8˜L¨)Ñ4Ô4ð 	6ñ 	6ˆCÝ”HÐ-¨sÑ3Ô3ˆEØˆ}àØ#Ÿlšl™nœn‰OˆC�Ø×%Ò% cÑ*Ô*¨1¨2¨2Ô.ˆFå)2©¬ˆDàð Xð X�Ý&×,Ò,¨U¯[ª[©]¬]Ñ;Ô;�Ø�=ØØ7<·|²|±~´~Ñ4��Q˜ nà—’˜°Ð0D˜n˜nÈ,ÑWÔWÐWÐWà—(’(˜5 #Ñ&Ô&ˆCà�HŠH�U˜DœHŸMšM­#¨c©(¬(Ñ3Ô3Ñ4Ô4Ð4à�IŠI•c˜#‘h”h¥¨tÑ 4Ô 4Ñ5Ô5Ð5Ñ5å˜eÑ$Ô$Ð$rZ   rx  c           	   ƒ   ó  K  — d| _         |j        | _        || _        | j        5  	 	 | j        }|                     ¦   «         ƒ d{V —†\  }}nE# t          j        $ r3}t          | j	        | j
        |j        |j        |j        ¬¦  «        |‚d}~ww xY w|j        dk     s|j        dk    s|j        dk    rn$| j        �t          | j        d¦  «         d| _        Œ±	 ddd¦  «         n# 1 swxY w Y    |j        | j        ¦  «         |j        | _        |j        | _        |j        | _        |j        | _        |j        | _        || _        | j                             t4          j        d¦  «        x}rt9          |¦  «        | _        | S )	zStart response processing.FTN©r  r^  rn   éd   éÇ   ée   rh   )r`  ÚprotocolÚ	_protocolr
  r&  Úreadr   ÚHttpProcessingErrorr&   r  rz  Úcoder^  rn   r  r8   Úon_eofÚ_response_eofr  r  r  r  rO  r	  r  r€  r   Ú
SET_COOKIErr   r  )r�   rx  r”  r^  r   rõ   Úcookie_hdrss          rX   ÚstartzClientResponse.startÞ  së  è è € àˆŒØ#Ô,ˆŒØ%ˆÔàŒ[ð 	*ð 	*ð*ð
Ø#œ~�HØ-5¯]ª]©_¬_Ð'<Ð'<Ð'<Ð'<Ð'<Ð'<Ñ$�G˜W˜WøÝÔ/ð ð ð Ý-ØÔ)ØœØ"œxØ #¤Ø #¤ðñ ô ð ðøøøøðøøøð ”< #Ò%Ð%¨¬¸Ò);Ð);¸w¼|ÈsÒ?RÐ?RØà”>Ð-Ý˜tœ~¨tÑ4Ô4Ð4Ø%)�D”Nð'*ð ð!	*ð 	*ð 	*ñ 	*ô 	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*øøøð 	*ð 	*ð 	*ð 	*ð. 	ˆŒ�tÔ)Ñ*Ô*Ð*ð ”ˆŒØ”lˆŒØ”nˆŒð  œˆŒØ#Ô/ˆÔð ˆŒð œ,×-Ò-­d¬o¸rÑBÔBÐBˆ;ð 	:å',¨[Ñ'9Ô'9ˆDÔ$Øˆs5   ¤C$§$AÁC$ÁBÁ.B	Â	BÂA	C$Ã$C(Ã+C(c                 ó²   — | j         rd S | j        o| j        j        }|�	|j        rd S d| _         |                      ¦   «          |                      ¦   «          d S rò   )r`  r
  r”  Úupgradedrb  Ú_release_connection)r�   r”  s     rX   rš  zClientResponse._response_eof  sj   € ØŒ<ð 	ØˆFð Ô#ÐA¨Ô(8Ô(AˆØÐ HÔ$5ÐØˆFàˆŒØ×ÒÑÔÐØ× Ò Ñ"Ô"Ð"Ð"Ð"rZ   c                 ó   — | j         S r†   )r`  r‡   s    rX   ÚclosedzClientResponse.closed  s
   € àŒ|ÐrZ   c                 ó  — | j         s|                      ¦   «          d| _        | j        �| j                             ¦   «         rd S |                      ¦   «          | j        �"| j                             ¦   «          d | _        d S d S rò   )Ú	_releasedÚ_notify_contentr`  r)  Ú	is_closedrb  r
  Úcloser‡   s    rX   r§  zClientResponse.close   s‹   € ØŒ~ð 	#Ø× Ò Ñ"Ô"Ð"àˆŒØŒ:Ð ¤×!5Ò!5Ñ!7Ô!7ÐØˆFà×ÒÑÔÐØÔÐ'ØÔ×"Ò"Ñ$Ô$Ð$Ø#ˆDÔÐÐð (Ð'rZ   c                 ó²   — | j         s|                      ¦   «          d| _        |                      ¦   «          |                      ¦   «          t          ¦   «         S rò   )r¤  r¥  r`  rb  r   r4   r‡   s    rX   ra  zClientResponse.release-  sR   € ØŒ~ð 	#Ø× Ò Ñ"Ô"Ð"àˆŒà×ÒÑÔÐØ× Ò Ñ"Ô"Ð"Ý‰vŒvˆrZ   c                 ó   — d| j         k    S )zºReturns ``True`` if ``status`` is less than ``400``, ``False`` if not.

        This is **not** a check for ``200 OK`` but a check that the response
        status is under 400.
        i�  )r  r‡   s    rX   ÚokzClientResponse.ok7  s   € ð �T”[Ò Ð rZ   c                 ó¶   — | j         sQ| j        €J ‚| j        s|                      ¦   «          t	          | j        | j        | j        | j        | j        ¬¦  «        ‚d S )Nr�  )	rª  r  Ú_in_contextra  r&   r  rz  r  rn   r‡   s    rX   Úraise_for_statuszClientResponse.raise_for_status@  so   € ØŒwð 	à”;Ð*Ð*Ð*ð Ô#ð Ø—’‘”�å%ØÔ!Ø”Ø”{ØœØœðñ ô ð ð	ð 	rZ   c                 ó¦   ‡ — ‰ j         �H‰ j        €"‰ j                              ¦   «          d ‰ _         d S ‰ j                             ˆ fd„¦  «         d S d S )Nc                 ó,   •— ‰                      ¦   «         S r†   )r   )Úfr�   s    €rX   r  z4ClientResponse._release_connection.<locals>.<lambda>X  s   ø€ ¸$×:RÒ:RÑ:TÔ:T€ rZ   )r
  r  ra  r6  r‡   s   `rX   r   z"ClientResponse._release_connectionR  se   ø€ ØÔÐ'ØŒ}Ð$ØÔ ×(Ò(Ñ*Ô*Ð*Ø#'�Ô Ð Ð à”×/Ò/Ð0TÐ0TÐ0TÐ0TÑUÔUÐUÐUÐUð (Ð'rZ   c              ƒ   óü   K  — | j         �^	 | j         ƒ d {V —† nO# t          j        $ r= t          j        dk    r*t          j        ¦   «         x}r|                     ¦   «         r‚ Y nw xY w|                      ¦   «          d S ©N)r¡   é   )r  r›   ÚCancelledErrorr-  Úversion_infoÚcurrent_taskÚ
cancellingr   ©r�   Útasks     rX   Ú_wait_releasedzClientResponse._wait_releasedZ  s¥   è è € ØŒ=Ð$ðØ”mÐ#Ð#Ð#Ð#Ð#Ð#Ð#Ð#øÝÔ)ð ð ð åÔ$¨Ò/Ð/Ý!(Ô!5Ñ!7Ô!7Ð7˜ð 0àŸšÑ)Ô)ð 0ð øøðøøøð 	× Ò Ñ"Ô"Ð"Ð"Ð"ó   ‹ ™A	A%Á$A%c                 ó’   — | j         �| j                              ¦   «          | j        �| j        j        | _        d | _        d | _        d S r†   )r  Úcancelr  rØ   r  r  r‡   s    rX   rb  zClientResponse._cleanup_writerg  sH   € ØŒ=Ð$ØŒM× Ò Ñ"Ô"Ð"ØÔÐ*Ø $Ô 3Ô ?ˆDÔØ"&ˆDÔØˆŒˆˆrZ   c                 óx   — | j         }|r)|                     ¦   «         €t          |t          ¦  «         d| _        d S rò   )r  rü   r7   Ú_CONNECTION_CLOSED_EXCEPTIONr¤  )r�   r  s     rX   r¥  zClientResponse._notify_contento  s?   € Ø”,ˆØð 	A�w×(Ò(Ñ*Ô*Ð2Ý˜'Õ#?Ñ@Ô@Ð@ØˆŒˆˆrZ   c              ƒ   óü   K  — | j         �^	 | j         ƒ d {V —† nO# t          j        $ r= t          j        dk    r*t          j        ¦   «         x}r|                     ¦   «         r‚ Y nw xY w|                      ¦   «          d S r²  )r  r›   r´  r-  rµ  r¶  r·  ra  r¸  s     rX   Úwait_for_closezClientResponse.wait_for_closeu  sž   è è € ØŒ=Ð$ðØ”mÐ#Ð#Ð#Ð#Ð#Ð#Ð#Ð#øÝÔ)ð ð ð åÔ$¨Ò/Ð/Ý!(Ô!5Ñ!7Ô!7Ð7˜ð 0àŸšÑ)Ô)ð 0ð øøðøøøð 	�Š‰Œˆˆˆr»  c              ƒ   ó¸  K  — | j         €	 | j                             ¦   «         ƒ d{V —†| _         | j        D ].}|                     | j        | j        | j         ¦  «        ƒ d{V —† Œ/n9# t          $ r |                      ¦   «          ‚ w xY w| j	        rt          d¦  «        ‚| j        o| j        j        }|�|j        s|                      ¦   «         ƒ d{V —† | j         S )zRead response payload.NrM   )r  r  r–  r(  Úsend_response_chunk_receivedrl   rk   r   r§  r¤  r$   r
  r”  rŸ  rº  )r�   Útracer”  s      rX   r–  zClientResponse.read‚  s-  è è € àŒ:ÐðØ#'¤<×#4Ò#4Ñ#6Ô#6Ð6Ð6Ð6Ð6Ð6Ð6�”
Ø!œ\ð ð �EØ×<Ò<Øœ T¤X¨t¬zñô ð ð ð ð ð ð ð ð ðøõ !ð ð ð Ø—
’
‘”�Øðøøøð Œ^ð 	=Ý'Ð(;Ñ<Ô<Ð<àÔ#ÐA¨Ô(8Ô(AˆØÐ 8Ô#4ÐØ×%Ò%Ñ'Ô'Ð'Ð'Ð'Ð'Ð'Ð'Ð'ØŒzÐs   ‹AA& Á& Bc                 ó  — | j                              t          j        d¦  «                             ¦   «         }t          j        |¦  «        }|j                             d¦  «        }|rPt          j	        t          t          ¦  «        5  t          j        |¦  «        j        cd d d ¦  «         S # 1 swxY w Y   |j        dk    r|j        dk    s|j        dk    rdS | j        €t%          d¦  «        ‚|                      | | j        ¦  «        S )NÚ ÚcharsetÚapplicationÚjsonÚrdapr  z7Cannot compute fallback encoding of a not yet read body)rn   r}   r   ÚCONTENT_TYPEÚlowerr   Úparse_mimetypera   Ú
contextlibÚsuppressÚLookupErrorr~   ÚcodecsÚlookupÚnamer`   Úsubtyper  rã   r  )r�   ÚctypeÚmimetypeÚencodings       rX   Úget_encodingzClientResponse.get_encoding–  s;  € Ø”× Ò ¥Ô!2°BÑ7Ô7×=Ò=Ñ?Ô?ˆÝÔ)¨%Ñ0Ô0ˆàÔ&×*Ò*¨9Ñ5Ô5ˆØð 	4ÝÔ$¥[µ*Ñ=Ô=ð 4ð 4Ý”} XÑ.Ô.Ô3ð4ð 4ð 4ð 4ñ 4ô 4ð 4ð 4ð 4ð 4ð 4ð 4øøøð 4ð 4ð 4ð 4ð Œ=˜MÒ)Ð)ØÔ Ò&Ð&¨(Ô*:¸fÒ*DÐ*Dð �7àŒ:ÐÝØIñô ð ð ×$Ò$ T¨4¬:Ñ6Ô6Ð6s   ÂB-Â-B1Â4B1Ústrictr×  Úerrorsc              ƒ   ó¬   K  — | j         €|                      ¦   «         ƒ d{V —† |€|                      ¦   «         }| j                              ||¬¦  «        S )z!Read response payload and decode.N)rÚ  )r  r–  rØ  rp  )r�   r×  rÚ  s      rX   ÚtextzClientResponse.text­  s`   è è € àŒ:ÐØ—)’)‘+”+ÐÐÐÐÐÐÐàÐØ×(Ò(Ñ*Ô*ˆHàŒz× Ò  °&Ð Ñ9Ô9Ð9rZ   r¹   )r×  ÚloadsÚcontent_typerÝ  rÞ  c             ƒ   óÒ  K  — | j         €|                      ¦   «         ƒ d{V —† |rr| j                             t          j        d¦  «                             ¦   «         }t          ||¦  «        s+t          | j	        | j
        | j        d|z  | j        ¬¦  «        ‚| j                              ¦   «         }|sdS |€|                      ¦   «         } ||                     |¦  «        ¦  «        S )zRead and decodes JSON response.NrÆ  z3Attempt to decode JSON with unexpected mimetype: %sr�  )r  r–  rn   r}   r   rË  rÌ  r¼   r'   r  rz  r  r…  rØ  rp  )r�   r×  rÝ  rÞ  rÕ  Ústrippeds         rX   rÉ  zClientResponse.json·  sú   è è € ð Œ:ÐØ—)’)‘+”+ÐÐÐÐÐÐÐàð 	Ø”L×$Ò$¥TÔ%6¸Ñ;Ô;×AÒAÑCÔCˆEÝ,¨U°LÑAÔAð 	Ý&ØÔ%Ø”LØœ;àMÐPUÑUà œLðñ ô ð ð ”:×#Ò#Ñ%Ô%ˆØð 	Ø�4àÐØ×(Ò(Ñ*Ô*ˆHàˆu�X—_’_ XÑ.Ô.Ñ/Ô/Ð/rZ   c              ƒ   ó   K  — d| _         | S rò   )r¬  r‡   s    rX   Ú
__aenter__zClientResponse.__aenter__Ø  s   è è € ØˆÔØˆrZ   Úexc_typeÚexc_valÚexc_tbc              ƒ   ót   K  — d| _         |                      ¦   «          |                      ¦   «         ƒ d {V —† d S )NF)r¬  ra  rÁ  )r�   rã  rä  rå  s       rX   Ú	__aexit__zClientResponse.__aexit__Ü  sI   è è € ð !ˆÔð 	�Š‰ŒˆØ×!Ò!Ñ#Ô#Ð#Ð#Ð#Ð#Ð#Ð#Ð#Ð#Ð#rZ   r†   )rN   r9  )rN   rm   )rN   r{  )rx  rK   rN   rG   rþ   )NrÙ  )rN   rG   )arc   rd   re   r  r:   rg   r  r´   r  rf   r  r>   r  r™   r  r   r  rr   r	  rD   r
  r   r  r   r  r  r  r+  ÚStackSummaryr  r`  r¤  r¬  r  r   r  r  r#   r  r  r›   ÚFuturer   r/   rH   ÚlistÚAbstractEventLoopr„   Úobjectr5  rš   rÏ   ÚsetterrØ   rÊ   r>  r5   rk   rI  ro   r•   rn   rO  r  r_   rY  r¤   r   rf  rv  rx  rz  rˆ  r�  rš  rµ   r¢  r§  ra  rª  r­  r   rº  rb  r¥  rÁ  r–  rØ  rÜ  r?   r@   rÉ  râ  r`   r   r   rç  rh   rZ   rX   rG   rG   À  sÔ  € € € € € € ð #'€Gˆ[˜4ÑÐ&Ð&Ñ&Ø€FˆCÐÐÑØ€FˆC�$‰JÐÐÑà €Gˆ\Ð Ð Ñ Ø€Eˆ5�4‰<ÐÐÑØ&*€HÐ˜sÔ#Ð*Ð*Ñ*Ø-/€HˆeÐ)Ô*Ð/Ð/Ñ/Ø#€L�*Ð#Ð#Ñ#à*.€K�˜,Ô'Ð.Ð.Ñ.Ø$(€Hˆl˜TÑ!Ð(Ð(Ñ(Ø26Ð˜˜s C˜xœ¨4Ñ/Ð6Ð6Ñ6Ø26€IˆxÐ.Ô/Ð6Ð6Ñ6Ø7;Ð�yÔ-°Ñ4Ð;Ð;Ñ;Ø*.€Hˆh�Ô'Ð.Ð.Ñ.ð €GØ€IØ€KàASÐASÐ�hÐ 0°%Ð8¸#Ð=Ô>ÐSÐSÑSà/3€HˆhÐ+Ô,Ð3Ð3Ñ3Ø59€N�HÐ1Ô2Ð9Ð9Ñ9Ø€L�#ÐÐÑØ7;Ð�h˜wœ~¨dÔ3Ô4Ð;Ð;Ñ;ð)Oàð)Oð ð)Oð
 ,ð)Oð Ð4Ô5ð)Oð  ð)Oð "ð)Oð �W”ð)Oð Ô'ð)Oð !ð)Oð ,ð)Oð 
ð)Oð )Oð )Oð )OðV3ð 3 ð 3°$ð 3ð 3ð 3ð 3ð ð˜Ð"6Ô7ð ð ð ñ „Xðð „^ð:˜hÐ';Ô<ð :Àð :ð :ð :ñ „^ð:ð ð!˜Sð !ð !ð !ñ „Xð!ð  ð%ð %ð %ñ „Xð%ð$ ð˜ð ð ð ñ „Xðð „^ð,˜|ð ,°ð ,ð ,ð ,ñ „^ð,ð ð�Sð ð ð ñ „Uðð ð˜ð ð ð ñ „Uðð ð˜#ð ð ð ñ „Uðð ð�cð ð ð ñ „Uðð ðð ð ñ „Uðð ð!˜Zð !ð !ð !ñ „Uð!ð ð"˜kð "ð "ð "ñ „Uð"ð ðFÐ%7¸$Ñ%>ð Fð Fð Fñ „UðFð (0ð ;ð ; ð ;°Dð ;ð ;ð ;ð ;ð ˜#ð ð ð ð ð  ð ˜H \Ô2ð  ð  ð  ñ „Xð ð ð˜Ð4Ô5ð ð ð ñ „Uðð ð %ð  %ð  %ñ „Uð %ðD/ð /ð /ð /ðb#ð #ð #ð #ð ð˜ð ð ð ñ „Xðð$ð $ð $ð $ð˜ð ð ð ð ð ð!�Dð !ð !ð !ñ „Xð!ðð ð ð ð$Vð Vð Vð Vð#ð #ð #ð #ðð ð ð ðð ð ð ðð ð ð ð˜Eð ð ð ð ð(7˜cð 7ð 7ð 7ð 7ð.:ð : 3¨¡:ð :¸cð :ÐQTð :ð :ð :ð :ð  $Ø1Ø#5ð0ð 0ð 0ð ˜‘*ð0ð ð	0ð
 ˜D‘jð0ð 
ð0ð 0ð 0ð 0ðBð ð ð ð$à�}Ô%¨Ñ,ð$ð  Ñ%ð$ð  Ñ$ð	$ð
 
ð$ð $ð $ð $ð $ð $rZ   rG   c            0       ó  — e Zd ZU ej        ej        ej        ej        hZej	        ej
        ej        hZe                     e¦  «                             ej        h¦  «        Zej        dej         e¦   «         iZdZdej        z  ed<   dZdZdZed         ed<    e¦   «         ZdZdZdZ e!dz  ed<   dZ"dZ#d	ed
<   dddddde$j%        dddddddddddddddœde&dede'de(dz  de)e&         dz  de*de+dz  de,dz  de$j-        de&e.z  dz  de.dz  de.de/j0        dz  de1d         dz  dedz  de,dz  de2dz  d ed!         d"e3e.z  e4z  d#e(dz  d$e5d%         dz  d&e.d'e&dz  f.d(„Z6dYd)e7d*dfd+„Z8d*e9dz  fd,„Z:e;d*e<d         fd-„¦   «         Z=e;d*ed         fd.„¦   «         Z>e>j?        dZd0„¦   «         Z>d*e.fd1„Z@e;d*eAd2e.e4f         fd3„¦   «         ZBe;d*eCfd4„¦   «         ZDe;d*e&fd5„¦   «         ZEe;d*e9dz  fd6„¦   «         ZFe;d*ej        eGd7         z  fd8„¦   «         ZHeHj?        d9e*d*dfd:„¦   «         ZHe;d*eIfd;„¦   «         ZJe;d[d<„¦   «         ZKded*dfd=„ZLde$j-        e&z  d*dfd>„ZMde(dz  d*dfd?„ZNde)e&         dz  d*dfd@„ZOde+dz  d*dfdA„ZPde*d*dfdB„ZQd\dC„ZRd]de,dz  d&e.d*dfdD„ZSd^dFe*dGe9d*dfdH„ZTdFe*d*dfdI„ZUdFe*d*dfdJ„ZVd]dKe.d*dfdL„ZWdedz  de,dz  d#e(dz  d*dfdM„ZX	 dYd/eYdNdOdPe9dz  d*dfdQ„ZZd_dR„Z[d\dS„Z\d\dT„Z]de&dedUe^d*dfdV„Z_de&deddWd*dfdX„Z`dS )`rF   z*/*Nr  r  Ú_ClientRequest__writerÚGETÚ_upload_trackerr   zCIMultiDict[None] | NoneÚ_skip_auto_headersFT)rX  rn   Úskip_auto_headersÚdatar>  Úauthr  ÚcompressÚchunkedÚ	expect100r  Úresponse_classr°   r±   r  r  r�   Úproxy_headersr  Ú	trust_envr³   rl   rk   rX  rn   ró  rô  r>  rõ  r  rö  r÷  rø  r  rù  rG   r°   r±   r  r  rJ   r�   rú  r  rL   rû  r³   c                óJ  — |€t          j        ¦   «         }t                               |¦  «        x}r(t	          d|›d|                     ¦   «         ›d�¦  «        ‚t          |¦  «        t          u s
J |¦   «         ‚|� t          |¦  «        t          u s
J |¦   «         ‚t          r|€J ‚|| _	        |r| 
                    |¦  «        }|| _        |j        r|                     d ¦  «        n|| _        |                     ¦   «         | _        || _        |
| _        || _        d | _        |€t*          }n|}|| _        |�|nt/          ¦   «         | _        |�|nd| _        || _        |                     ¦   «         r+t9          j        t=          j        d¦  «        ¦  «        | _         |  !                    |	¦  «         |  "                    |¦  «         |  #                    |¦  «         |  $                    |¦  «         |  %                    |¦  «         |  &                    |¦  «         |  '                    ||¦  «         |  (                    |||¦  «         |  )                    |¦  «         |€| j        | j*        vr|  +                    ¦   «          |  ,                    |¦  «         |€g n|| _-        d S )Nz+Method cannot contain non-token characters z (found at least ú)Tr   ).r›   Úget_event_loopÚ_CONTAINS_CONTROL_CHAR_REÚsearchr~   Úgroupr`   r   r   r  Úextend_queryÚoriginal_urlr"  r#  rk   Úupperrl   r÷  rö  r  ÚlengthrG   rù  r2   r&  Ú_sslr³   r*  r+  r,  r-  r.  r  Úupdate_versionÚupdate_hostÚupdate_headersÚupdate_auto_headersÚupdate_cookiesÚupdate_content_encodingÚupdate_authÚupdate_proxyÚupdate_body_from_dataÚGET_METHODSÚupdate_transfer_encodingÚupdate_expect_continuer(  )r�   rl   rk   rX  rn   ró  rô  r>  rõ  r  rö  r÷  rø  r  rù  r°   r±   r  r  r�   rú  r  rû  r³   r»   Úreal_response_classs                             rX   r„   zClientRequest.__init__  sÃ  € ð6 ˆ<ÝÔ)Ñ+Ô+ˆDÝ-×4Ò4°VÑ<Ô<Ð<ˆ5ð 	Ýð6¸fð 6ð 6Ø#(§;¢;¡=¤=ð6ð 6ð 6ñô ð õ
 �C‰yŒy�CÐÐÐ ÑÔÐØÐÝ˜‘;”;¥#Ð%Ð%Ð% uÑ%Ô%Ð%õ ð 	'ØÐ&Ð&Ð&ØˆŒØð 	+Ø×"Ò" 6Ñ*Ô*ˆCØˆÔØ.1Ô.>ÐG�3×$Ò$ TÑ*Ô*Ð*ÀCˆŒØ—l’l‘n”nˆŒØˆŒØ ˆŒØˆŒ	ØˆŒØÐ!Ý"0ÐÐà"0ÐØ4GˆÔØ$Ð0�e�eµi±k´kˆŒØ˜?�C�C°ˆŒ	Ø.ˆÔà�>Š>ÑÔð 	OÝ%.Ô%<½S¼]È1Ñ=MÔ=MÑ%NÔ%NˆDÔ"à×Ò˜GÑ$Ô$Ð$Ø×Ò˜ÑÔÐØ×Ò˜GÑ$Ô$Ð$Ø× Ò Ð!2Ñ3Ô3Ð3Ø×Ò˜GÑ$Ô$Ð$Ø×$Ò$ TÑ*Ô*Ð*Ø×Ò˜˜yÑ)Ô)Ð)Ø×Ò˜% ¨]Ñ;Ô;Ð;à×"Ò" 4Ñ(Ô(Ð(ØÐ˜tœ{°$Ô2BÐBÐBØ×)Ò)Ñ+Ô+Ð+Ø×#Ò# IÑ.Ô.Ð.Ø#˜^�r�r°ˆŒˆˆrZ   r—   rN   c                 ó   — d | _         d S r†   ©rï  r0  s     rX   r1  zClientRequest.__reset_writer`  s   € ØˆŒˆˆrZ   c                 óÐ   — t           j        | j        vrdS | j        t           j                 }t                               |¦  «        st          d|›�¦  «        ‚t          |¦  «        S )zÊExtract and validate Content-Length header value.

        Returns parsed Content-Length value or None if not set.
        Raises ValueError if header exists but cannot be parsed as an integer.
        NzInvalid Content-Length header: )r   ÚCONTENT_LENGTHrn   Ú
_DIGITS_REÚ	fullmatchr~   r´   )r�   Úcontent_length_hdrs     rX   Ú_get_content_lengthz!ClientRequest._get_content_lengthc  sh   € õ Ô d¤lÐ2Ð2Ø�4à!œ\­$Ô*=Ô>ÐÝ×#Ò#Ð$6Ñ7Ô7ð 	WÝÐUÐ?QÐUÐUÑVÔVÐVÝÐ%Ñ&Ô&Ð&rZ   c                 ó,   — | j         pt          ¦   «         S r†   )rò  r   r‡   s    rX   ró  zClientRequest.skip_auto_headersq  s   € àÔ&Ð7­+©-¬-Ð7rZ   c                 ó   — | j         S r†   r  r‡   s    rX   rÏ   zClientRequest._writeru  rM  rZ   rÛ   c                 ó”   — | j         �| j                              | j        ¦  «         || _         |                     | j        ¦  «         d S r†   )rï  r4  Ú_ClientRequest__reset_writerr6  r7  s     rX   rÏ   zClientRequest._writery  sG   € àŒ=Ð$ØŒM×.Ò.¨tÔ/BÑCÔCÐCØˆŒØ× Ò  Ô!4Ñ5Ô5Ð5Ð5Ð5rZ   c                 ó(   — | j         j        t          v S r†   )rk   ÚschemeÚ_SSL_SCHEMESr‡   s    rX   r¯   zClientRequest.is_ssl€  s   € ØŒxŒ¥,Ð.Ð.rZ   rE   c                 ó   — | j         S r†   )r  r‡   s    rX   r�   zClientRequest.sslƒ  rG  rZ   c                 ó,  — | j         x}r/t          t          |                     ¦   «         ¦  «        ¦  «        }nd }| j        }t                               t          |j        pd|j        |j	        t          v | j        | j        | j        || j        f¦  «        S )NrÆ  )rú  Úhashrr   Úitemsrk   rs   r®   Úraw_hostr–   r!  r"  r  r°   r±   r³   )r�   rú  Úhrk   s       rX   Úconnection_keyzClientRequest.connection_key‡  s�   € à Ô.Ð.ˆ=ð 	Ý ¥ }×':Ò':Ñ'<Ô'<Ñ!=Ô!=Ñ>Ô>ˆAˆAàˆAØŒhˆÝ�}Š}Ýà”Ð" Ø”Ø”
�lÐ*Ø”	Ø”
Ø”ØØÔ$ð	ñ
ô 
ð 	
rZ   c                 ó&   — | j         j        }|€J ‚|S r†   )rk   r'  )r�   Úrets     rX   r•   zClientRequest.hostœ  s   € àŒhÔˆØˆˆˆØˆ
rZ   c                 ó   — | j         j        S r†   )rk   r–   r‡   s    rX   r–   zClientRequest.port¢  s   € àŒxŒ}ÐrZ   rZ   c                 ó   — | j         pdS )zRequest body.rZ   )r  r‡   s    rX   ÚbodyzClientRequest.body¦  s   € ð ŒzÐ ˜SÐ rZ   Úvaluec                 óœ   — | j         �/t          | j         d¬¦  «         | j                              ¦   «          |                      |¦  «         dS )aÆ  Set request body with warning for non-autoclose payloads.

        WARNING: This setter must be called from within an event loop and is not
        thread-safe. Setting body outside of an event loop may raise RuntimeError
        when closing file-based payloads.

        DEPRECATED: Direct assignment to body is deprecated and will be removed
        in a future version. Use await update_body() instead for proper resource
        management.
        Nr¡   r¢   )r  rÂ   Ú_closeÚ_update_body)r�   r/  s     rX   r.  zClientRequest.body¬  sS   € ð Œ:Ð!õ & d¤j¸QÐ?Ñ?Ô?Ð?ð
 ŒJ×ÒÑÔÐØ×Ò˜%Ñ Ô Ð Ð Ð rZ   c                 ó�   — t          | j        ¦  «        }t                               t          | j        | j        || j        f¦  «        S r†   )r   rn   rr   rs   rH   rk   rl   r  )r�   rn   s     rX   r  zClientRequest.request_infoÄ  s>   € å)9¸$¼,Ñ)GÔ)Gˆõ
 �}Š}Ý˜$œ( D¤K°¸$Ô:KÐLñ
ô 
ð 	
rZ   c                 ó   — | j         S )zÜReturn the ClientSession instance.

        This property provides access to the ClientSession that initiated
        this request, allowing middleware to make additional requests
        using the same session.
        )r  r‡   s    rX   r  zClientRequest.sessionÏ  s   € ð Œ}ÐrZ   c                 ó˜   — |j         st          |¦  «        ‚|j        s|j        r%t	          |j        pd|j        pd¦  «        | _        dS dS )z8Update destination host, port and connection type (ssl).rÆ  N)r'  r(   Úraw_userÚraw_passwordr3   ÚuserÚpasswordrõ  )r�   rk   s     rX   r  zClientRequest.update_hostÙ  s`   € ð Œ|ð 	"Ý˜S‘/”/Ð!ð Œ<ð 	P˜3Ô+ð 	PÝ+¨C¬H¨N¸¸C¼LÐ<NÈBÑOÔOˆDŒIˆIˆIð	Pð 	PrZ   c                 ó:  — t          |t          ¦  «        r~d„ |                     dd¦  «        D ¦   «         }	 t          j        t          |d         ¦  «        t          |d         ¦  «        ¦  «        }n!# t          $ r t          d|› �¦  «        d‚w xY w|| _        dS )zdConvert request version to two elements tuple.

        parser HTTP version '1.1' => (1, 1)
        c                 ó6   — g | ]}|                      ¦   «         ‘ŒS rh   )r…  )rB  Úparts     rX   ú
<listcomp>z0ClientRequest.update_version.<locals>.<listcomp>é  s    € Ð@Ð@Ð@ $�—’‘”Ð@Ð@Ð@rZ   ú.r   r   z#Can not parse http version number: N)r§   rf   r‚  r   r:   r´   r~   r  )r�   r  Úvs      rX   r  zClientRequest.update_versionã  s¬   € õ
 �g�sÑ#Ô#ð 	Ø@Ð@¨'¯-ª-¸¸QÑ*?Ô*?Ð@Ñ@Ô@ˆAðÝÔ*­3¨q°¬t©9¬9µc¸!¸A¼$±i´iÑ@Ô@��øÝð ð ð Ý ØC¸'ÐCÐCñô àððøøøð ˆŒˆˆs   ·;A3 Á3Bc                 ó`  — t          ¦   «         | _        | j        j        }|€J ‚|| j        t          j        <   |sdS t          |t          t          t          f¦  «        r| 
                    ¦   «         }|D ]9\  }}|t          j        v r|| j        |<   Œ| j                             ||¦  «         Œ:dS )zUpdate request headers.N)r   rn   rk   Úhost_port_subcomponentr   ÚHOSTr§   Údictr   r   r&  ÚHOST_ALLr†  )r�   rn   r•   rŒ  r/  s        rX   r	  zClientRequest.update_headersò  s¼   € å)4©¬ˆŒð ŒxÔ.ˆð ÐÐÐØ"&ˆŒ•T”YÑàð 	ØˆFå�g¥¥nµiÐ@ÑAÔAð 	&Ø—m’m‘o”oˆGà!ð 	-ð 	-‰JˆC�à•d”mÐ#Ð#Ø$)�”˜SÑ!Ð!à”× Ò   eÑ,Ô,Ð,Ð,ð	-ð 	-rZ   c                 ó‚  — |�_t          d„ t          |¦  «        D ¦   «         ¦  «        | _        | j                             ¦   «         }|                     | j        ¦  «         n| j        }| j                             ¦   «         D ]\  }}||vr
|| j        |<   Œt          j	        |vrt          | j        t          j	        <   d S d S )Nc              3   ó   K  — | ]}|d fV — Œ	d S r†   rh   )rB  Úhdrs     rX   rD  z4ClientRequest.update_auto_headers.<locals>.<genexpr>  s7   è è € ð 2ð 2Ø #��d�ð2ð 2ð 2ð 2ð 2ð 2rZ   )r   Úsortedrò  rn   ÚcopyÚextendÚDEFAULT_HEADERSr&  r   Ú
USER_AGENTr9   )r�   ró  Úused_headersrG  r‰  s        rX   r
  z!ClientRequest.update_auto_headers  sÚ   € ØÐ(Ý&1ð 2ð 2Ý'-Ð.?Ñ'@Ô'@ð2ñ 2ô 2ñ 'ô 'ˆDÔ#ð  œ<×,Ò,Ñ.Ô.ˆLØ×Ò Ô 7Ñ8Ô8Ð8Ð8ð  œ<ˆLàÔ,×2Ò2Ñ4Ô4ð 	(ð 	(‰HˆC�Ø˜,Ð&Ð&Ø$'�”˜SÑ!øåŒ? ,Ð.Ð.Ý,;ˆDŒL�œÑ)Ð)Ð)ð /Ð.rZ   c                 ó6  — |sdS t          ¦   «         }t          j        | j        v rW|                     t          | j                             t          j        d¦  «        ¦  «        ¦  «         | j        t          j        = t          |t          ¦  «        r| 	                    ¦   «         }n|}|D ]2\  }}t          |t          ¦  «        rt          |¦  «        ||<   Œ-|||<   Œ3|                     dd¬¦  «                             ¦   «         | j        t          j        <   dS )zUpdate request cookies header.NrÆ  r~  )ÚheaderÚsep)r   r   ÚCOOKIErn   r<  r    r}   r§   r   r&  r   r"   Úoutputr…  )r�   r>  ÚcÚiter_cookiesrÓ  r/  s         rX   r  zClientRequest.update_cookies  sû   € àð 	ØˆFå‰NŒNˆÝŒ;˜$œ,Ð&Ð&à�HŠHÕ(¨¬×)9Ò)9½$¼+ÀrÑ)JÔ)JÑKÔKÑLÔLÐLØ”�Tœ[Ð)å�g�wÑ'Ô'ð 	#Ø"Ÿ=š=™?œ?ˆLˆLà"ˆLØ'ð 	 ð 	 ‰KˆD�%Ý˜%¥Ñ(Ô(ð  å:¸5ÑAÔA��$‘�à��$‘�à$%§H¢H°B¸C HÑ$@Ô$@×$FÒ$FÑ$HÔ$HˆŒ•T”[Ñ!Ð!Ð!rZ   c                 ó(  — |s	d| _         dS | j                             t          j        ¦  «        r| j         rt          d¦  «        ‚dS | j         rCt          | j         t          ¦  «        sd| _         | j         | j        t          j        <   d| _        dS dS )zSet request content encoding.Nz9compress can not be set if Content-Encoding header is setrQ   T)	rö  rn   r}   r   ÚCONTENT_ENCODINGr~   r§   rf   r÷  )r�   rô  s     rX   r  z%ClientRequest.update_content_encoding6  s§   € àð 	à ˆDŒMØˆFàŒ<×Ò�DÔ1Ñ2Ô2ð 		 ØŒ}ð Ý ØOñô ð ðð ð Œ]ð 	 Ý˜dœm­SÑ1Ô1ð *Ø )�”Ø26´-ˆDŒL�Ô.Ñ/ØˆDŒLˆLˆLð		 ð 	 rZ   c                 ó*  — | j                              t          j        d¦  «                             ¦   «         }d|v r| j        rt          d¦  «        ‚dS | j        r8t          j        | j         v rt          d¦  «        ‚d| j         t          j        <   dS dS )z!Analyze transfer-encoding header.rÆ  r÷  zDchunked can not be set if "Transfer-Encoding: chunked" header is setz6chunked can not be set if Content-Length header is setN)rn   r}   r   ÚTRANSFER_ENCODINGrÌ  r÷  r~   r  )r�   Útes     rX   r  z&ClientRequest.update_transfer_encodingH  s¯   € àŒ\×Ò�dÔ4°bÑ9Ô9×?Ò?ÑAÔAˆà˜ˆ?ˆ?ØŒ|ð Ý ðDñô ð ðð ð Œ\ð 	=ÝÔ" d¤lÐ2Ð2Ý ØLñô ð ð 4=ˆDŒL�Ô/Ñ0Ð0Ð0ð	=ð 	=rZ   c                 ó¾   — |€| j         }|€dS t          |t          j        ¦  «        st	          d¦  «        ‚|                     ¦   «         | j        t          j        <   dS )zSet basic auth.Nz%BasicAuth() tuple is required instead)	rõ  r§   r   r0   r©   ro  rn   r   ÚAUTHORIZATION)r�   rõ  rû  s      rX   r  zClientRequest.update_auth[  sZ   € àˆ<Ø”9ˆDØˆ<ØˆFå˜$¥Ô 1Ñ2Ô2ð 	EÝÐCÑDÔDÐDà+/¯;ª;©=¬=ˆŒ•TÔ'Ñ(Ð(Ð(rZ   r¡   r.  Ú_stacklevelc                 óà  — | j         �t          | j         |¬¦  «         |€Ed| _         | j        | j        vr.| j        s't
          j        | j        vrd| j        t
          j        <   dS t          |t          ¦  «        r
 |¦   «         n|}	 t          j                             |d¬¦  «        }n,# t          j        $ r  t          |¦  «        ¦   «         }Y nw xY w|| _         | j        sEt
          j        | j        vr2|j        x}�"t          |¦  «        | j        t
          j        <   nd| _        |j        sJ ‚| j        }| j        }|j                             ¦   «         D ]\  }}	||v s|�||v rŒ|	||<   ŒdS )zUpdate request body from data.Nr¢   Ú0)ÚdispositionT)r  rÂ   rl   r  r÷  r   r  rn   r§   r-   r   ÚPAYLOAD_REGISTRYr}   rÐ  rë   rf   rò  r&  )
r�   r.  r\  Úmaybe_payloadÚbody_payloadrë   rn   Úskip_headersrŒ  r/  s
             rX   r  z#ClientRequest.update_body_from_datag  s¦  € àŒ:Ð!Ý% d¤j¸[ÐIÑIÔIÐIàˆ<ØˆDŒJð ” 4Ô#3Ð3Ð3Øœð 4åÔ'¨t¬|Ð;Ð;à47�”�TÔ0Ñ1ØˆFõ #-¨Tµ8Ñ"<Ô"<ÐF˜˜™œ˜À$ˆð	5Ý"Ô3×7Ò7¸ÐSWÐ7ÑXÔXˆLˆLøÝÔ"ð 	5ð 	5ð 	5Ø2�8 MÑ2Ô2Ñ4Ô4ˆLˆLˆLð	5øøøð "ˆŒ
àŒ|ð 	$¥Ô 3¸4¼<Ð GÐ GØ$Ô)Ð)�Ð6Ý47¸±I´I�”�TÔ0Ñ1Ð1à#�”ð Ô#Ð#Ð#Ð#Ø”,ˆØÔ.ˆØ&Ô.×4Ò4Ñ6Ô6ð 	!ð 	!‰JˆC�Ø�gˆ~ˆ~ ,Ð":¸sÀlÐ?RÐ?RØØ ˆG�C‰LˆLð	!ð 	!s   Â!B) Â)&CÃCc                 ó"  — t           j        | j        v r| j        t           j        = | j        r%t           j        | j        v r| j        t           j        = |                      |d¬¦  «         |€| j        | j        vr|                      ¦   «          dS dS )z/Update request body after its already been set.é   )r\  N)	r   r  rn   r÷  rX  r  rl   r  r  ©r�   r.  s     rX   r2  zClientRequest._update_body�  sœ   € õ Ô $¤,Ð.Ð.Ø”�TÔ0Ð1ð Œ<ð 	5�DÔ2°d´lÐBÐBØ”�TÔ3Ð4ð 	×"Ò" 4°QÐ"Ñ7Ô7Ð7ð Ð˜tœ{°$Ô2BÐBÐBØ×)Ò)Ñ+Ô+Ð+Ð+Ð+ð  CÐBrZ   c              ƒ   ó€   K  — | j         �| j                              ¦   «         ƒ d{V —† |                      |¦  «         dS )ac	  
        Update request body and close previous payload if needed.

        This method safely updates the request body by first closing any existing
        payload to prevent resource leaks, then setting the new body.

        IMPORTANT: Always use this method instead of setting request.body directly.
        Direct assignment to request.body will leak resources if the previous body
        contains file handles, streams, or other resources that need cleanup.

        Args:
            body: The new body content. Can be:
                - bytes/bytearray: Raw binary data
                - str: Text data (will be encoded using charset from Content-Type)
                - FormData: Form data that will be encoded as multipart/form-data
                - Payload: A pre-configured payload object
                - AsyncIterable: An async iterable of bytes chunks
                - File-like object: Will be read and sent as binary data
                - None: Clears the body

        Usage:
            # CORRECT: Use update_body
            await request.update_body(b"new request data")

            # WRONG: Don't set body directly
            # request.body = b"new request data"  # This will leak resources!

            # Update with form data
            form_data = FormData()
            form_data.add_field('field', 'value')
            await request.update_body(form_data)

            # Clear body
            await request.update_body(None)

        Note:
            This method is async because it may need to close file handles or
            other resources associated with the previous payload. Always await
            this method to ensure proper cleanup.

        Warning:
            Setting request.body directly is highly discouraged and can lead to:
            - Resource leaks (unclosed file handles, streams)
            - Memory leaks (unreleased buffers)
            - Unexpected behavior with streaming payloads

            It is not recommended to change the payload type in middleware. If the
            body was already set (e.g., as bytes), it's best to keep the same type
            rather than converting it (e.g., to str) as this may result in unexpected
            behavior.

        See Also:
            - update_body_from_data: Synchronous body update without cleanup
            - body property: Direct body access (STRONGLY DISCOURAGED)

        N)r  r§  r2  rf  s     rX   Úupdate_bodyzClientRequest.update_body¢  sQ   è è € ðt Œ:Ð!Ø”*×"Ò"Ñ$Ô$Ð$Ð$Ð$Ð$Ð$Ð$Ð$Ø×Ò˜$ÑÔÐÐÐrZ   Úexpectc                 óü   — |rd| j         t          j        <   nBt          j        | j         v r/| j         t          j                                      ¦   «         dk    rd}|r | j                             ¦   «         | _        d S d S )Nz100-continueT)rn   r   ÚEXPECTrÌ  r  rÉ   r  )r�   ri  s     rX   r  z$ClientRequest.update_expect_continueà  sz   € Øð 	Ø(6ˆDŒL�œÑ%Ð%åŒK˜4œ<Ð'Ð'Ø”�Tœ[Ô)×/Ò/Ñ1Ô1°^ÒCÐCàˆFàð 	7Ø!œY×4Ò4Ñ6Ô6ˆDŒNˆNˆNð	7ð 	7rZ   c                 ó  — || _         |€d | _        d | _        d S |r)t          |t          j        ¦  «        st          d¦  «        ‚|| _        |�+t          |t          t          f¦  «        st          |¦  «        }|| _        d S )Nz,proxy_auth must be None or BasicAuth() tuple)
r°   r±   rú  r§   r   r0   r~   r   r   r   )r�   r°   r±   rú  s       rX   r  zClientRequest.update_proxyì  s”   € ð ˆŒ
Øˆ=Ø"ˆDŒOØ!%ˆDÔØˆFàð 	M�j¨µWÔ5FÑGÔGð 	MÝÐKÑLÔLÐLØ$ˆŒàÐ$­ZØ�I¥~Ð6ñ.
ô .
Ð$õ (¨Ñ6Ô6ˆMØ*ˆÔÐÐrZ   ÚconnrK   Úcontent_lengthc              ƒ   óˆ  K  — | j         }| j        }|�5t          j        |j        |¦  «        |_        |                     ||¦  «         	 | j        �;|                     ¦   «          | 	                    ¦   «         ƒ d{V —† | j        ƒ d{V —† |j
        }|€J ‚	 | j        �!| j                             ||¦  «        ƒ d{V —† |                     ¦   «         ƒ d{V —† |�|                     |¦  «         |                     ¦   «          dS # t           $ r}|}|j        dupt%          |t&          j        ¦  «         }	|	rt+          |j        d| j        ›�¦  «        }t/          |||¦  «         |�|                     ||¦  «         Y d}~dS Y d}~dS d}~wt2          $ rO}t5          d|›d|›�¦  «        }
t/          ||
|¦  «         |�|                     ||
¦  «         Y d}~dS Y d}~dS d}~ww xY w# t6          $ rN}|�2|                     |t%          |t&          j        ¦  «        rdn|¦  «         |                     ¦   «          ‚ d}~ww xY w)a}  
        Write the request body to the connection stream.

        This method handles writing different types of request bodies:
        1. Payload objects (using their specialized write_with_length method)
        2. Bytes/bytearray objects
        3. Iterable body content

        Args:
            writer: The stream writer to write the body to
            conn: The connection being used for this request
            content_length: Optional maximum number of bytes to write from the body
                            (None means write the entire body)

        The method properly handles:
        - Waiting for 100-Continue responses if required
        - Content length constraints for chunked encoding
        - Error handling for network issues, cancellation, and other exceptions
        - Signaling EOF and timeout management
        - Upload progress reporting to the request's UploadTracker

        Raises:
            ClientOSError: When there's an OS-level error writing the body
            ClientConnectionError: When there's a general connection error
            asyncio.CancelledError: When the operation is cancelled

        NzCan not write request body for z4Failed to send bytes into the underlying connection z: )rñ  Ú_upload_genÚ	functoolsÚpartialrð   Úon_body_writerê   r  Úsend_headersÚdrainr”  r  Úwrite_with_lengthÚ	write_eofrô   Ústart_timeoutÚOSErrorÚerrnor§   r›   ÚTimeoutErrorr%   rk   r7   r÷   Ú	Exceptionr$   r   r´  r§  )r�   rÛ   rm  rn  Útrackerrè   r”  Úunderlying_excÚreraised_excÚexc_is_not_timeoutÚwrapped_excs              rX   Úwrite_byteszClientRequest.write_bytes  s2  è è € ðB Ô&ˆØÔˆØÐÝ#,Ô#4°WÔ5GÈÑ#MÔ#MˆFÔ Ø×$Ò$ S¨&Ñ1Ô1Ð1ðA	àŒ~Ð)à×#Ò#Ñ%Ô%Ð%Ø—l’l‘n”nÐ$Ð$Ð$Ð$Ð$Ð$Ð$Ø”nÐ$Ð$Ð$Ð$Ð$Ð$Ð$à”}ˆHØÐ'Ð'Ð'ð&)ð ”:Ð)Øœ*×6Ò6°v¸~ÑNÔNÐNÐNÐNÐNÐNÐNÐNð6 ×&Ò&Ñ(Ô(Ð(Ð(Ð(Ð(Ð(Ð(Ð(ØÐ&Ø×-Ò-¨cÑ2Ô2Ð2Ø×&Ò&Ñ(Ô(Ð(Ð(Ð(øõ; ð ?ð ?ð ?Ø-�ð &4Ô%9ÀÐ%Eð &ÍZØ"¥GÔ$8ñNô Nð JÐ"ð &ð Ý#0Ø&Ô,ØG¸$¼(ÐGÐGñ$ô $�Lõ
 ˜h¨°nÑEÔEÐEØÐ&Ø×+Ò+¨C°Ñ>Ô>Ð>Ð>Ð>Ð>Ð>Ð>Ð>ð 'Ð&Ð&Ð&Ð&Ð&øøøøåð >ð >ð >Ý3ð5Øð5ð 5Ø"0ð5ð 5ñô �õ ˜h¨°^ÑDÔDÐDØÐ&Ø×+Ò+¨C°Ñ=Ô=Ð=Ð=Ð=Ð=Ð=Ð=Ð=ð 'Ð&Ð&Ð&Ð&Ð&øøøøð>øøøøõ ð 	ð 	ð 	ð Ð"Ø×'Ò'Øõ & nµgÔ6LÑMÔMð,˜˜à+ñô ð ð �JŠJ‰LŒLˆLØøøøøð!	øøøsd   Á	AG) Â(D Â?AG) Ä
G&ÄA.F
Å>G) ÆG) Æ
G&Æ>G!ÇG) ÇG) Ç!G&Ç&G) Ç)
IÇ3A	H<È<Ic              ƒ   ó   K  — | j         t          j        k    r"| j        j        }|€J ‚|› d| j        j        › �}n<| j        r)|                      ¦   «         st          | j        ¦  «        }n| j        j	        }|j
        }|€J ‚t          || j        | j        r%t          j        | j        | j         | j        ¦  «        nd | j        r%t          j        | j        | j         | j        ¦  «        nd ¬¦  «        }| j        r|                     | j        ¦  «         | j        �|                     ¦   «          | j         | j        v rA| j        �t          j        | j        vr't          j        | j        vrd| j        t          j        <   | j        }t          j        | j        vrK|j        j        r |t<          k    rd| j        t          j        <   n|t>          k    rd| j        t          j        <   | j         › d|› d|j         › d|j!        › �}| "                    || j        ¦  «        ƒ d {V —† | j#        s| j$        €|j%        rü|  &                    |||  '                    ¦   «         ¦  «        }tP          j)        d	k    rWtU          j+        ¦   «         }	tY          |	tZ          ¦  «        rtU          j.        |d
¬¦  «        }
netU          j/        ||	d
¬¦  «        }
nMtP          j)        dk    r)tU          j/        |tU          j+        ¦   «         d
¬¦  «        }
ntU          j.        |¦  «        }
|
 0                    ¦   «         rd }
nU|
| _1        nM| 2                    ¦   «          | 3                    ¦   «          d }
| j4        x}�| 5                    | j6        ¦  «         | j7        }|€J ‚ || j         | j8        |
| j$        | j9        | j:        | j        | j        | j;        |¬¦
  «
        | _<        | j<        S )Nú:)Úon_chunk_sentÚon_headers_sentzapplication/octet-streamr§  z
keep-aliverk  z HTTP/r>  )r¡   é   T)Úeager_start)r  rˆ  )r¡   é   )rÛ   r  r  r  r  r  r  r  )=rl   r   ÚMETH_CONNECTrk   Úhost_subcomponentr–   r°   r¯   rf   Úraw_path_qsr”  r=   r  r(  rq  rr  Ú_on_chunk_request_sentÚ_on_headers_request_sentrö  Úenable_compressionr÷  Úenable_chunkingÚPOST_METHODSrò  rË  rn   r  Ú
CONNECTIONÚ
_connectorÚforce_closer<   r;   ÚmajorÚminorÚwrite_headersr  r  Úwriting_pausedr‚  r  r-  rµ  r›   rÈ   r§   r   Úcreate_taskÚTaskrû   rÏ   rx  Úset_eofrñ  rô   rp  rù  r  r&  r  r  Úresponse)r�   rm  Úconnect_hostÚpathr”  rÛ   r?  Ústatus_lineÚcoror  r¹  r}  rù  s                rX   ÚsendzClientRequest.sendk  sì  è è € ð
 Œ;�$Ô+Ò+Ð+Øœ8Ô5ˆLØÐ+Ð+Ð+Ø"Ð4Ð4 T¤X¤]Ð4Ð4ˆDˆDØŒZð 	( §¢¡¤ð 	(Ý�t”x‘=”=ˆDˆDà”8Ô'ˆDà”=ˆØÐ#Ð#Ð#ÝØØŒIð ”<ð•	Ô! $Ô"=¸t¼{ÈDÌHÑUÔUÐUàð ”<ð•	Ô! $Ô"?ÀÄÈdÌhÑWÔWÐWàð
ñ 
ô 
ˆð Œ=ð 	5Ø×%Ò% d¤mÑ4Ô4Ð4àŒ<Ð#Ø×"Ò"Ñ$Ô$Ð$ð ŒK˜4Ô,Ð,Ð,àÔ'Ð/ÝÔ$¨DÔ,CÐCÐCåÔ!¨¬Ð5Ð5à.HˆDŒL�Ô*Ñ+àŒLˆÝŒ? $¤,Ð.Ð.ØŒÔ*ð =Ø�Ò%Ð%Ø4;�D”L¥¤Ñ1øØ•mÒ#Ð#Ø0<�”�Tœ_Ñ-ð œÐFÐF tÐFÐF°1´7ÐFÐF¸Q¼WÐFÐFˆð ×"Ò" ;°´Ñ=Ô=Ð=Ð=Ð=Ð=Ð=Ð=Ð=ð Œ:ð 	<˜œÐ3°xÔ7NÐ3Ø×#Ò# F¨D°$×2JÒ2JÑ2LÔ2LÑMÔMˆDÝÔ 7Ò*Ð*õ Ô/Ñ1Ô1�Ý˜d¥MÑ2Ô2ð KÝ"Ô.¨tÀÐFÑFÔF�D�Då"œ<¨°4ÀTÐJÑJÔJ�D�DÝÔ! WÒ,Ð,Ý”|Ø�wÔ7Ñ9Ô9Àtðñ ô ��õ Ô*¨4Ñ0Ô0�Ø�yŠy‰{Œ{ð $Ø��à#�”�ð ×"Ò"Ñ$Ô$Ð$Ø�NŠNÑÔÐØˆDØÔ/Ð/�Ð<ð ×)Ò)¨$Ô*:Ñ;Ô;Ð;ØÔ,ˆØÐ)Ð)Ð)Ø&˜ØŒKØÔØØœØ”+ØÔ*Ø”<Ø”Ø”MØ ð
ñ 
ô 
ˆŒð Œ}ÐrZ   c              ƒ   óä   K  — | j         �f	 | j         ƒ d {V —† d S # t          j        $ rD t          j        dk    r*t          j        ¦   «         x}r|                     ¦   «         r‚ Y d S Y d S Y d S w xY wd S r²  )rï  r›   r´  r-  rµ  r¶  r·  r¸  s     rX   r§  zClientRequest.closeÚ  s±   è è € ØŒ=Ð$ðØ”mÐ#Ð#Ð#Ð#Ð#Ð#Ð#Ð#Ð#øÝÔ)ð ð ð åÔ$¨Ò/Ð/Ý!(Ô!5Ñ!7Ô!7Ð7˜ð 0àŸšÑ)Ô)ð 0ð ð	 0Ð/Ð/Ð/Ð/Ð/Ð/Ð/Ð/ðøøøð %Ð$s   ‹ šA	A-Á,A-c                 óÈ   — | j         �Z| j                             ¦   «         s| j                              ¦   «          | j                              | j        ¦  «         d | _         d S d S r†   )rï  r  r¦  r½  r4  r  r‡   s    rX   Ú	terminatezClientRequest.terminateæ  s`   € ØŒ=Ð$Ø”9×&Ò&Ñ(Ô(ð 'Ø”×$Ò$Ñ&Ô&Ð&ØŒM×.Ò.¨tÔ/BÑCÔCÐCØ ˆDŒMˆMˆMð	 %Ð$rZ   Úchunkc              ƒ   óX   K  — | j         D ]}|                     |||¦  «        ƒ d {V —† Œ d S r†   )r(  Úsend_request_chunk_sent)r�   rl   rk   r¥  rÄ  s        rX   r�  z$ClientRequest._on_chunk_request_sentí  sR   è è € Ø”\ð 	Dð 	DˆEØ×/Ò/°¸¸UÑCÔCÐCÐCÐCÐCÐCÐCÐCÐCð	Dð 	DrZ   zCIMultiDict[str]c              ƒ   óX   K  — | j         D ]}|                     |||¦  «        ƒ d {V —† Œ d S r†   )r(  Úsend_request_headers)r�   rl   rk   rn   rÄ  s        rX   rŽ  z&ClientRequest._on_headers_request_sentñ  sT   è è € ð ”\ð 	Cð 	CˆEØ×,Ò,¨V°S¸'ÑBÔBÐBÐBÐBÐBÐBÐBÐBÐBð	Cð 	CrZ   r†   )rÛ   r  rN   N)rN   rJ   rþ   )F)r¡   )rm  rK   rN   rG   )arc   rd   re   r   ÚMETH_GETÚ	METH_HEADÚMETH_OPTIONSÚ
METH_TRACEr  Ú
METH_PATCHÚ	METH_POSTÚMETH_PUTr‘  ÚunionÚMETH_DELETEÚALL_METHODSÚACCEPTÚACCEPT_ENCODINGrY   rK  r  r   ÚPayloadrg   rõ  rœ  rï  r   r   rk   rl   r  rñ  rÅ   rp  rò  r   r<   rf   rC   rB   r   r   rA   r0   r:   rµ   r›   rë  r`   r/   rE   rI   rê  r„   rì  r  r´   r  rš   r   ró  rÏ   rí  r¯   r   r�   r®   r)  r•   r–   r   r.  rH   r  r  r  r  r	  r
  r  r  r  r  r  r2  rh  r  r  r#   r‚  r¡  r§  r¤  r™   r�  rŽ  rh   rZ   rX   rF   rF   ê  s1  € € € € € € àŒØŒØÔØŒð	€Kð ”O T¤^°T´]ÐC€LØ×#Ò# LÑ1Ô1×7Ò7¸Ô9IÐ8JÑKÔK€Kð 	Œ�UØÔÐ:Ð:Ñ<Ô<ð€Oð %)€Eˆ4�'”/Ñ!Ð(Ð(Ñ(Ø€DØ€Hà/3€HˆhÐ+Ô,Ð3Ð3Ñ3ð ˆ#‰%Œ%€CØ€Fà€Ià,0€O�] TÑ)Ð0Ð0Ñ0Ø€Kà59ÐÐ2Ð9Ð9Ñ9ð Ø'+Ø26ØØ'+Ø!%Ø$(Ô$6Ø&*Ø#ØØ15Ø8<Ø Ø'+Ø)-Ø-1Ø/3Ø-1Ø'+ØØ&*ð3M8ð M8ð M8àðM8ð ðM8ð
 ðM8ð  Ñ$ðM8ð $ Cœ=¨4Ñ/ðM8ð ðM8ð  Ñ$ðM8ð ˜$ÑðM8ð Ô!ðM8ð ˜‘*˜tÑ#ðM8ð ˜‘ðM8ð ðM8ð Ô'¨$Ñ.ðM8ð  Ð-Ô.°Ñ5ð!M8ð" �T‰zð#M8ð$  Ñ$ð%M8ð&   $Ñ&ð'M8ð( ˜/Ô*ð)M8ð* ˜$Ñ Ñ,ð+M8ð, $ dÑ*ð-M8ð. �W” Ñ$ð/M8ð0 ð1M8ð2 ˜t™ð3M8ð M8ð M8ð M8ð^ð  ð °$ð ð ð ð ð' S¨4¡Zð 'ð 'ð 'ð 'ð ð8 ;¨tÔ#4ð 8ð 8ð 8ñ „Xð8ð ð˜Ð"6Ô7ð ð ð ñ „Xðð „^ð6ð 6ð 6ñ „^ð6ð/˜ð /ð /ð /ð /ð ð�U˜<¨¨{Ð:Ô;ð ð ð ñ „Xðð ð
 ð 
ð 
ð 
ñ „Xð
ð( ð�cð ð ð ñ „Xðð
 ð�c˜D‘jð ð ð ñ „Xðð ð!�g”o¨°¬Ñ4ð !ð !ð !ñ „Xð!ð
 
„[ð!˜#ð ! $ð !ð !ð !ñ „[ð!ð. ð
˜kð 
ð 
ð 
ñ „Xð
ð ðð ð ñ „XððP˜sð P tð Pð Pð Pð Pð dÔ&6¸Ñ&<ð Àð ð ð ð ð- l°TÑ&9ð -¸dð -ð -ð -ð -ð2<°X¸c´]ÀTÑ5Ið <Èdð <ð <ð <ð <ð&I l°TÑ&9ð I¸dð Ið Ið Ið Ið0 ¨Cð  °Dð  ð  ð  ð  ð$=ð =ð =ð =ð&
9ð 
9 	¨DÑ 0ð 
9¸Tð 
9Èdð 
9ð 
9ð 
9ð 
9ð'!ð '!¨#ð '!¸Cð '!Èð '!ð '!ð '!ð '!ðR, ð ,¨ð ,ð ,ð ,ð ,ð$<  cð < ¨dð < ð < ð < ð < ð|
7ð 
7¨Tð 
7¸dð 
7ð 
7ð 
7ð 
7ð+à�T‰zð+ð  Ñ$ð+ð $ dÑ*ð	+ð
 
ð+ð +ð +ð +ð4 &*ð	gð gà$ðgð ðgð ˜d™
ð	gð
 
ðgð gð gð gðRmð mð mð mð^
ð 
ð 
ð 
ð!ð !ð !ð !ðD°3ð D¸Sð DÈð DÐSWð Dð Dð Dð DðCØðCØ #ðCØ.@ðCà	ðCð Cð Cð Cð Cð CrZ   rF   )r½   )†r›   rÑ  rÎ  rq  rm  r�  r-  r+  r¤   Úasyncio.base_eventsr   Úcollectionsr   Úcollections.abcr   r   r   Úhashlibr   r	   r
   Úhttp.cookiesr   r   Útypesr   r   Útypingr   r   r   r   r   r   ÚattrÚ	multidictr   r   r   r   Úyarlr   rÆ  r   r   r   r   r   Ú_cookie_helpersr    r!   r"   Úabcr#   Úclient_exceptionsr$   r%   r&   r'   r(   r)   r*   Úcompression_utilsr+   r,   Úformdatar-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   Ústreamsr>   Útypedefsr?   r@   rA   rB   rC   rD   r�   rE   ÚImportErrorrì  Ú__all__ÚclientrJ   Ú	connectorrK   ÚtracingrL   r¿  Úcompilerÿ  rº   ÚASCIIr  ÚMr„  rf   rY   Úsr_   rj   rH   rI   rµ   r`   r¨   r™   rª   Ú	frozensetr"  r®   r¼   r¶  r´   rÂ   rï   rÅ   rG   rF   rh   rZ   rX   ú<module>rÒ     sq  ðØ €€€Ø €€€Ø Ð Ð Ð Ø Ð Ð Ð Ø 	€	€	€	Ø 	€	€	€	Ø 
€
€
€
Ø Ð Ð Ð Ø €€€Ø -Ð -Ð -Ð -Ð -Ð -Ø Ð Ð Ð Ð Ð Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ø %Ð %Ð %Ð %Ð %Ð %Ð %Ð %Ð %Ð %Ø -Ð -Ð -Ð -Ð -Ð -Ð -Ð -Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø KÐ KÐ KÐ KÐ KÐ KÐ KÐ KÐ KÐ KÐ KÐ KÐ KÐ KÐ KÐ Kà €€€Ø NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NØ Ð Ð Ð Ð Ð à 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5ðð ð ð ð ð ð ð ð ð ð
 &Ð %Ð %Ð %Ð %Ð %ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð 4Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð "Ð !Ð !Ð !Ð !Ð !ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð 	Ø€J€J€JØÐÐÐÐÐÐðØˆ
ˆ
ˆ
Ø"Ð"Ð"Ð"Ð"Ð"Ð"øØð ð ð ØˆØˆ
ˆ
ˆ
ðøøøð
 L€ð ð Ø%Ð%Ð%Ð%Ð%Ð%Ø%Ð%Ð%Ð%Ð%Ð%ØÐÐÐÐÐð  5Ð4Ð5HÑIÔIÐ Ø&˜BœJÐ'EÑFÔFÐ Ø
ˆ"Œ*Ð9Ñ
:Ô
:€ØˆRŒZ˜ ¤Ñ)Ô)€
Ø�”ÐIÈ2Ì4ÑPÔP€ð	  cð 	 ð 	 ð 	 ð 	 ð €„�T $¨dÐ3Ñ3Ô3ðð ð ð ð ñ ô ñ 4Ô3ððð ð ð ð �:ñ ô ð ð
ð 
ð 
ð 
ð 
�,ñ 
ô 
ð 
ð$Pð Pð Pð Pð Pñ Pô Pð Pð@ €?Øœ¨¨{¸D¸DÀ¹J¼JÐGÐÐà˜t˜t D™zœzÐ*Ðð4Ø	ˆ|˜T ;Ð.Ô	/ð4à�t‘ð4ð ˜,Ô'ð4ð ˜‘ð	4ð
 ˆ<˜˜{Ð*Ô+ð4ð 4ð 4ð 4ðn ˆyÐ)Ñ*Ô*€ð
'ð 
'ð 
'ð 
'ð 
'�Jñ 
'ô 
'ð 
'ð:Øð:Ø7:ð:à	ð:ð :ð :ð :ð
ð 
 w¤ð 
ÀCð 
ÐPTð 
ð 
ð 
ð 
ð( Ð ð`ð `ð `ð `ð `ñ `ô `ð `ðFg$ð g$ð g$ð g$ð g$�\ñ g$ô g$ð g$ðTKCð KCð KCð KCð KCñ KCô KCð KCð KCð KCs   Ä
D Ä	DÄD