§
    ~Štj?^  ã                   ó¸  — U d dl Z d dlZd dlZd dlZd dlmZmZ d dlmZm	Z	m
Z
 ddlmZ ddlmZmZmZmZmZmZ ddlmZ ddlmZ d	Z e
d
¦  «        Z G d„ de¦  «        Z G d„ de	e         ¦  «        Z G d„ d¦  «        Z G d„ d¦  «        Z G d„ de¦  «        Z e¦   «         Z ee         e!d<    G d„ de	e         ¦  «        Z" G d„ de"e         ¦  «        Z#dS )é    N)Ú	AwaitableÚCallable)ÚFinalÚGenericÚTypeVaré   )ÚBaseProtocol)Ú_EXC_SENTINELÚDEFAULT_CHUNK_SIZEÚBaseTimerContextÚ	TimerNoopÚset_exceptionÚ
set_result)ÚLineTooLong)Úinternal_logger)ÚEMPTY_PAYLOADÚ	EofStreamÚStreamReaderÚ	DataQueueÚ_Tc                   ó   — e Zd ZdZdS )r   zeof stream indication.N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__© ó    úM/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/aiohttp/streams.pyr   r      s   € € € € € Ø Ð Ð Ð r   r   c                   óR   — e Zd ZdZdeg ee         f         ddfd„Zd	d„Zdefd„Z	dS )
ÚAsyncStreamIterator©Ú	read_funcr"   ÚreturnNc                 ó   — || _         d S ©Nr!   )Úselfr"   s     r   Ú__init__zAsyncStreamIterator.__init__&   s   € Ø"ˆŒˆˆr   úAsyncStreamIterator[_T]c                 ó   — | S r%   r   ©r&   s    r   Ú	__aiter__zAsyncStreamIterator.__aiter__)   ó   € Øˆr   c              ƒ   ó†   K  — 	 |                       ¦   «         ƒ d {V —†}n# t          $ r t          ‚w xY w|dk    rt          ‚|S ©Nr   )r"   r   ÚStopAsyncIteration©r&   Úrvs     r   Ú	__anext__zAsyncStreamIterator.__anext__,   sc   è è € ð	%Ø—~’~Ñ'Ô'Ð'Ð'Ð'Ð'Ð'Ð'ˆBˆBøÝð 	%ð 	%ð 	%Ý$Ð$ð	%øøøà�Š9ˆ9Ý$Ð$Øˆ	s   „ Ÿ1)r#   r(   )
r   r   r   Ú	__slots__r   r   r   r'   r+   r2   r   r   r   r    r    "   sx   € € € € € à€Ið# (¨2¨y¸¬}Ð+<Ô"=ð #À$ð #ð #ð #ð #ðð ð ð ð ð ð ð ð ð ð r   r    c                   ó>   — e Zd ZdZd	d„Zd
d„Zdeeef         fd„Z	dS )ÚChunkTupleAsyncStreamIterator©Ú_streamÚstreamr   r#   Nc                 ó   — || _         d S r%   r6   )r&   r8   s     r   r'   z&ChunkTupleAsyncStreamIterator.__init__:   s   € ØˆŒˆˆr   c                 ó   — | S r%   r   r*   s    r   r+   z'ChunkTupleAsyncStreamIterator.__aiter__=   r,   r   c              ƒ   ób   K  — | j                              ¦   «         ƒ d {V —†}|dk    rt          ‚|S )N©r   F)r7   Ú	readchunkr/   r0   s     r   r2   z'ChunkTupleAsyncStreamIterator.__anext__@   sA   è è € Ø”<×)Ò)Ñ+Ô+Ð+Ð+Ð+Ð+Ð+Ð+ˆØ�ÒÐÝ$Ð$Øˆ	r   )r8   r   r#   N)r#   r5   )
r   r   r   r3   r'   r+   ÚtupleÚbytesÚboolr2   r   r   r   r5   r5   6   se   € € € € € à€Iðð ð ð ðð ð ð ð  u¨d {Ô!3ð ð ð ð ð ð r   r5   c                   óp  — e Zd ZdZdZdddœdedededz  dej	        dz  d	df
d
„Z
d	efd„Zd	ee         fd„Zded	ee         fd„Zd	ee         fd„Zd	efd„Zd	eeef         fd„Zded	dfd„Zd	edz  fd„Zefdeded	dfd„Zdeg df         d	dfd„Zd7d„Zd	efd„Zd	efd„Z d7d„Z!e"d	efd„¦   «         Z#ded	dfd„Z$d8ded!ed	efd"„Z%d7d#„Z&d7d$„Z'd%ed	dfd&„Z(dd'œd(edz  d	efd)„Z)	 d9dd+œd,ed-edz  d	efd.„Z*d:ded	efd0„Z+d	efd1„Z,d	eeef         fd2„Z-ded	efd3„Z.d:ded	efd4„Z/ded	efd5„Z0ded	efd6„Z1dS );r   a*  An enhancement of asyncio.StreamReader.

    Supports asynchronous iteration by line, chunk or as available::

        async for line in reader:
            ...
        async for chunk in reader.iter_chunked(1024):
            ...
        async for slice in reader.iter_any():
            ...

    )Ú	_protocolÚ
_low_waterÚ_high_waterÚ_low_water_chunksÚ_high_water_chunksÚ_loopÚ_sizeÚ_cursorÚ_http_chunk_splitsÚ_bufferÚ_buffer_offsetÚ_eofÚ_waiterÚ_eof_waiterÚ
_exceptionÚ_timerÚ_eof_callbacksÚ_eof_counterÚtotal_bytesÚtotal_compressed_bytesN)ÚtimerÚloopÚprotocolÚlimitrV   rW   r#   c                óÂ  — || _         || _        |dz  | _        |€t          j        ¦   «         }t          d|dz  ¦  «        | _        | j        dz  | _        || _        d| _	        d| _
        d | _        t          j        ¦   «         | _        d| _        d| _        d | _        d | _        d | _        |€t)          ¦   «         n|| _        g | _        d| _        d| _        d | _        d S )Né   é   é   r   F)rB   rC   rD   ÚasyncioÚget_event_loopÚmaxrF   rE   rG   rH   rI   rJ   ÚcollectionsÚdequerK   rL   rM   rN   rO   rP   r   rQ   rR   rS   rT   rU   )r&   rX   rY   rV   rW   s        r   r'   zStreamReader.__init__l   sä   € ð "ˆŒØˆŒØ  1™9ˆÔØˆ<ÝÔ)Ñ+Ô+ˆDõ #& a¨°"©Ñ"5Ô"5ˆÔØ!%Ô!8¸AÑ!=ˆÔØˆŒ
ØˆŒ
ØˆŒØAEˆÔÝ1<Ô1BÑ1DÔ1DˆŒØˆÔØˆŒ	Ø48ˆŒØ8<ˆÔØ04ˆŒØ%* ]•i‘k”k�k¸ˆŒØ8:ˆÔØˆÔØˆÔØ26ˆÔ#Ð#Ð#r   c                 óÄ  — | j         j        g}| j        r|                     d| j        z  ¦  «         | j        r|                     d¦  «         | j        t          k    r$|                     d| j        | j        fz  ¦  «         | j        r|                     d| j        z  ¦  «         | j	        r|                     d| j	        z  ¦  «         dd 
                    |¦  «        z  S )Nz%d bytesÚeofzlow=%d high=%dzw=%rze=%rú<%s>ú )Ú	__class__r   rH   ÚappendrM   rC   r   rD   rN   rP   Újoin)r&   Úinfos     r   Ú__repr__zStreamReader.__repr__Ž   sÙ   € Ø”Ô'Ð(ˆØŒ:ð 	1Ø�KŠK˜
 T¤ZÑ/Ñ0Ô0Ð0ØŒ9ð 	Ø�KŠK˜ÑÔÐØŒ?Õ0Ò0Ð0Ø�KŠKÐ(¨D¬O¸TÔ=MÐ+NÑNÑOÔOÐOØŒ<ð 	/Ø�KŠK˜ ¤Ñ-Ñ.Ô.Ð.ØŒ?ð 	2Ø�KŠK˜ ¤Ñ0Ñ1Ô1Ð1Ø˜Ÿš ™œÑ&Ð&r   c                 ó*   — t          | j        ¦  «        S r%   )r    Úreadliner*   s    r   r+   zStreamReader.__aiter__œ   s   € Ý" 4¤=Ñ1Ô1Ð1r   Únc                 óV   ‡ ‡— ‰                       ‰¦  «         t          ˆˆ fd„¦  «        S )z>Returns an asynchronous iterator that yields chunks of size n.c                  ó.   •— ‰                      ‰ ¦  «        S r%   )Úread)rn   r&   s   €€r   ú<lambda>z+StreamReader.iter_chunked.<locals>.<lambda>¢   s   ø€ ¨4¯9ª9°Q©<¬<€ r   )Úset_read_chunk_sizer    ©r&   rn   s   ``r   Úiter_chunkedzStreamReader.iter_chunkedŸ   s3   øø€ à× Ò  Ñ#Ô#Ð#Ý"Ð#7Ð#7Ð#7Ð#7Ð#7Ñ8Ô8Ð8r   c                 ó*   — t          | j        ¦  «        S )z3Yield all available data as soon as it is received.)r    Úreadanyr*   s    r   Úiter_anyzStreamReader.iter_any¤   s   € å" 4¤<Ñ0Ô0Ð0r   c                 ó    — t          | ¦  «        S )z´Yield chunks of data as they are received by the server.

        The yielded objects are tuples
        of (bytes, bool) as returned by the StreamReader.readchunk method.
        )r5   r*   s    r   Úiter_chunkszStreamReader.iter_chunks¨   s   € õ -¨TÑ2Ô2Ð2r   c                 ó   — | j         | j        fS r%   ©rC   rD   r*   s    r   Úget_read_buffer_limitsz#StreamReader.get_read_buffer_limits°   s   € Ø” Ô!1Ð2Ð2r   c                 óB   — || j         k    r|| _         |dz  | _        dS dS )z7Raise buffer limits to match the consumer's chunk size.r[   Nr|   rt   s     r   rs   z StreamReader.set_read_chunk_size³   s0   € àˆtŒÒÐØˆDŒOØ  1™uˆDÔÐÐð Ðr   c                 ó   — | j         S r%   ©rP   r*   s    r   Ú	exceptionzStreamReader.exception¹   ó
   € ØŒÐr   ÚexcÚ	exc_causec                 óÎ   — || _         | j                             ¦   «          | j        }|�d | _        t	          |||¦  «         | j        }|�d | _        t	          |||¦  «         d S d S r%   )rP   rR   ÚclearrN   r   rO   ©r&   rƒ   r„   Úwaiters       r   r   zStreamReader.set_exception¼   s|   € ð
 ˆŒØÔ×!Ò!Ñ#Ô#Ð#à”ˆØÐØˆDŒLÝ˜& # yÑ1Ô1Ð1àÔ!ˆØÐØ#ˆDÔÝ˜& # yÑ1Ô1Ð1Ð1Ð1ð Ðr   Úcallbackc                 ó¬   — | j         r2	  |¦   «          d S # t          $ r t          j        d¦  «         Y d S w xY w| j                             |¦  «         d S ©NúException in eof callback)rM   Ú	Exceptionr   r�   rR   rh   ©r&   r‰   s     r   Úon_eofzStreamReader.on_eofÎ   sz   € ØŒ9ð 	1ðGØ�‘
”
�
�
�
øÝð Gð Gð GÝÔ)Ð*EÑFÔFÐFÐFÐFÐFðGøøøð Ô×&Ò& xÑ0Ô0Ð0Ð0Ð0s   ‰
 •7¶7c                 ón  — d| _         | j        }|�d | _        t          |d ¦  «         | j        }|�d | _        t          |d ¦  «         | j                             d¬¦  «         | j        D ]1}	  |¦   «          Œ# t          $ r t          j	        d¦  «         Y Œ.w xY w| j         
                    ¦   «          d S )NTF)Úresume_parserrŒ   )rM   rN   r   rO   rB   Úresume_readingrR   r�   r   r�   r†   )r&   rˆ   Úcbs      r   Úfeed_eofzStreamReader.feed_eof×   sé   € ØˆŒ	à”ˆØÐØˆDŒLÝ�v˜tÑ$Ô$Ð$àÔ!ˆØÐØ#ˆDÔÝ�v˜tÑ$Ô$Ð$ð 	Œ×%Ò%°EÐ%Ñ:Ô:Ð:àÔ%ð 	Gð 	GˆBðGØ�‘”��øÝð Gð Gð GÝÔ)Ð*EÑFÔFÐFÐFÐFðGøøøð 	Ô×!Ò!Ñ#Ô#Ð#Ð#Ð#s   Á-
A8Á8BÂBc                 ó   — | j         S )z&Return True if  'feed_eof' was called.©rM   r*   s    r   Úis_eofzStreamReader.is_eofï   s
   € àŒyÐr   c                 ó    — | j         o| j         S )z=Return True if the buffer is empty and 'feed_eof' was called.©rM   rK   r*   s    r   Úat_eofzStreamReader.at_eofó   s   € àŒyÐ- ¤Ð-Ð-r   c              ƒ   ó¬   K  — | j         rd S | j        �J ‚| j                             ¦   «         | _        	 | j        ƒ d {V —† d | _        d S # d | _        w xY wr%   )rM   rO   rG   Úcreate_futurer*   s    r   Úwait_eofzStreamReader.wait_eof÷   s|   è è € ØŒ9ð 	ØˆFàÔÐ'Ð'Ð'Øœ:×3Ò3Ñ5Ô5ˆÔð	$ØÔ"Ð"Ð"Ð"Ð"Ð"Ð"Ð"à#ˆDÔÐÐø˜tˆDÔÐ#Ð#Ð#Ð#s   ´A
 Á
	Ac                 ó,   — | j         €| j        S | j         S r%   )rU   rT   r*   s    r   Útotal_raw_byteszStreamReader.total_raw_bytes  s   € àÔ&Ð.ØÔ#Ð#ØÔ*Ð*r   Údatac                 ó\  — t          j        dt          d¬¦  «         |sdS | j        r)| j        d         | j        d…         | j        d<   d| _        | xj        t          |¦  «        z  c_        | xj        t          |¦  «        z  c_        | j                             |¦  «         d| _	        dS )zDrollback reading some data from stream, inserting it to buffer head.zJunread_data() is deprecated and will be removed in future releases (#3260)r[   )Ú
stacklevelNr   )
ÚwarningsÚwarnÚDeprecationWarningrL   rK   rH   ÚlenrI   Ú
appendleftrS   )r&   r    s     r   Úunread_datazStreamReader.unread_data  s·   € åŒð=åØð		
ñ 	
ô 	
ð 	
ð ð 	ØˆFàÔð 	$Ø"œl¨1œo¨dÔ.AÐ.CÐ.CÔDˆDŒL˜‰OØ"#ˆDÔØˆ
Œ
•c˜$‘i”iÑˆ
Œ
ØˆŒ�˜D™	œ	Ñ!ˆŒØŒ×Ò Ñ%Ô%Ð%ØˆÔÐÐr   r   Úsizec                 óT  — | j         r
J d¦   «         ‚|sdS t          |¦  «        }| xj        |z  c_        | j                             |¦  «         | xj        |z  c_        | j        }|�d | _        t          |d ¦  «         | j        | j        k    r| j	         
                    ¦   «          dS )Nzfeed_data after feed_eofF)rM   r¦   rH   rK   rh   rT   rN   r   rD   rB   Úpause_reading)r&   r    r©   Údata_lenrˆ   s        r   Ú	feed_datazStreamReader.feed_data  s·   € Ø”9Ð8Ð8Ð8Ñ8Ô8ˆ}àð 	Ø�5å�t‘9”9ˆØˆ
Œ
�hÑˆ
Œ
ØŒ×Ò˜DÑ!Ô!Ð!ØÐÔ˜HÑ$ÐÔà”ˆØÐØˆDŒLÝ�v˜tÑ$Ô$Ð$àŒ:˜Ô(Ò(Ð(ØŒN×(Ò(Ñ*Ô*Ð*Øˆur   c                 ót   — | j         €0| j        rt          d¦  «        ‚t          j        ¦   «         | _         d S d S )Nz@Called begin_http_chunk_receiving when some data was already fed)rJ   rT   ÚRuntimeErrorra   rb   r*   s    r   Úbegin_http_chunk_receivingz'StreamReader.begin_http_chunk_receiving0  sL   € ØÔ"Ð*ØÔð Ý"ØVñô ð õ '2Ô&7Ñ&9Ô&9ˆDÔ#Ð#Ð#ð +Ð*r   c                 óf  — | j         €t          d¦  «        ‚| j         r| j         d         nd}| j        |k    rd S | j                              | j        ¦  «         t	          | j         ¦  «        | j        k    r| j                             ¦   «          | j        }|�d | _        t          |d ¦  «         d S d S )NzFCalled end_chunk_receiving without calling begin_chunk_receiving firstéÿÿÿÿr   )
rJ   r¯   rT   rh   r¦   rF   rB   r«   rN   r   )r&   Úposrˆ   s      r   Úend_http_chunk_receivingz%StreamReader.end_http_chunk_receiving8  sÐ   € ØÔ"Ð*Ýð.ñô ð ð .2Ô-DÐKˆdÔ% bÔ)Ð)È!ˆàÔ˜sÒ"Ð"ð ˆFàÔ×&Ò& tÔ'7Ñ8Ô8Ð8õ
 ˆtÔ&Ñ'Ô'¨$Ô*AÒAÐAØŒN×(Ò(Ñ*Ô*Ð*ð ”ˆØÐØˆDŒLÝ�v˜tÑ$Ô$Ð$Ð$Ð$ð Ðr   Ú	func_namec              ƒ   ó(  K  — | j         j        st          d¦  «        ‚| j        �t          d|z  ¦  «        ‚| j                             ¦   «         x}| _        	 | j        5  |ƒ d {V —† d d d ¦  «         n# 1 swxY w Y   d | _        d S # d | _        w xY w)NzConnection closed.zH%s() called while another coroutine is already waiting for incoming data)rB   Ú	connectedr¯   rN   rG   rœ   rQ   )r&   rµ   rˆ   s      r   Ú_waitzStreamReader._wait\  sû   è è € ØŒ~Ô'ð 	5ÝÐ3Ñ4Ô4Ð4ð Œ<Ð#Ýð4Ø6?ñ@ñô ð ð
 !%¤
× 8Ò 8Ñ :Ô :Ð:ˆ�”ð	 Ø”ð ð Ø�������ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð  ˆDŒLˆLˆLø˜4ˆDŒLÐÐÐÐs0   ÁB Á	A4Á(B Á4A8Á8B Á;A8Á<B Â	B©Úmax_line_lengthrº   c             ƒ   ó>   K  — |                       |¬¦  «        ƒ d {V —†S )N©Úmax_size)Ú	readuntil©r&   rº   s     r   rm   zStreamReader.readlineq  s,   è è € Ø—^’^¨_�^Ñ=Ô=Ð=Ð=Ð=Ð=Ð=Ð=Ð=r   ó   
r¼   Ú	separatorr½   c             ƒ   ó  K  — t          |¦  «        }|dk    rt          d¦  «        ‚| j        �| j        ‚d}d}d}|p| j        }|rÂ| j        r”|r’| j        }| j        d                              ||¦  «        dz   }|                      |r||z
  |z   dz
  nd¦  «        }	||	z  }|t          |	¦  «        z  }|rd}||k    rt          |d d…         d	z   |¦  «        ‚| j        r|°’| j	        rn|r|  
                    d
¦  «        ƒ d {V —† |°Â|S )Nr   z,Separator should be at least one-byte stringr   Tr   r²   Féd   s   ...r¾   )r¦   Ú
ValueErrorrP   rD   rK   rL   ÚfindÚ_read_nowait_chunkr   rM   r¸   )
r&   rÁ   r½   ÚseplenÚchunkÚ
chunk_sizeÚ
not_enoughÚoffsetÚicharr    s
             r   r¾   zStreamReader.readuntilt  s{  è è € õ �Y‘”ˆØ�QŠ;ˆ;ÝÐKÑLÔLÐLàŒ?Ð&Ø”/Ð!àˆØˆ
Øˆ
ØÐ/˜tÔ/ˆàð 	.Ø”,ð F :ð FØÔ,�Øœ Qœ×,Ò,¨Y¸Ñ?Ô?À!ÑC�à×.Ò.Ø38Ð@�E˜F‘N VÑ+¨aÑ/Ð/¸bñô �ð ˜‘�Ø�c $™iœiÑ'�
Øð 'Ø!&�Jà Ò(Ð(Ý% e¨D¨S¨D¤k°FÑ&:¸HÑEÔEÐEð ”,ð F :ð Fð Œyð Øàð .Ø—j’j Ñ-Ô-Ð-Ð-Ð-Ð-Ð-Ð-Ð-ð) ð 	.ð, ˆr   r²   c              ƒ   ó^  K  — | j         �| j         ‚	 | j        rA| j        s:t          | dd¦  «        dz   | _        | j        dk    rt          j        dd¬¦  «         |sdS |dk     rj|                      t          j	        ¦  «         g }	 |  
                    ¦   «         ƒ d {V —†}|sn|                     |¦  «         Œ3d                     |¦  «        S |                      |¦  «         | j        s0| j        s)|                      d	¦  «        ƒ d {V —† | j        s| j        ¯)|                      |¦  «        S )
NTrS   r   r   é   zEMultiple access to StreamReader in eof state, might be infinite loop.)Ú
stack_infor   rq   )rP   rM   rK   ÚgetattrrS   r   Úwarningrs   ÚsysÚmaxsizerw   rh   ri   r¸   Ú_read_nowait)r&   rn   ÚblocksÚblocks       r   rq   zStreamReader.read›  s|  è è € ØŒ?Ð&Ø”/Ð!ð	ØŒyð  ¤ð Ý$+¨D°.À!Ñ$DÔ$DÀqÑ$H�Ô!ØÔ$ qÒ(Ð(Ý#Ô+ð2à#'ðñ ô ð ð ð 	Ø�3àˆqŠ5ˆ5à×$Ò$¥S¤[Ñ1Ô1Ð1ØˆFð%Ø"Ÿlšl™nœnÐ,Ð,Ð,Ð,Ð,Ð,�Øð ØØ—’˜eÑ$Ô$Ð$ð	%ð
 —8’8˜FÑ#Ô#Ð#à× Ò  Ñ#Ô#Ð#ð ”,ð 	% t¤yð 	%Ø—*’*˜VÑ$Ô$Ð$Ð$Ð$Ð$Ð$Ð$Ð$ð ”,ð 	% t¤yð 	%ð × Ò  Ñ#Ô#Ð#r   c              ƒ   óº   K  — | j         �| j         ‚| j        s0| j        s)|                      d¦  «        ƒ d {V —† | j        s| j        ¯)|                      d¦  «        S )Nrw   r²   )rP   rK   rM   r¸   rÔ   r*   s    r   rw   zStreamReader.readanyÄ  sz   è è € ØŒ?Ð&Ø”/Ð!ð
 ”,ð 	( t¤yð 	(Ø—*’*˜YÑ'Ô'Ð'Ð'Ð'Ð'Ð'Ð'Ð'ð ”,ð 	( t¤yð 	(ð × Ò  Ñ$Ô$Ð$r   c              ƒ   óŽ  K  — 	 | j         �| j         ‚| j        rk| j                             ¦   «         }|| j        k    rdS || j        k    r|                      || j        z
  ¦  «        dfS t          j        d¦  «         | j        °k| j        r|                      d¦  «        dfS | j	        rdS |  
                    d¦  «        ƒ d{V —† ŒÃ)	a  Returns a tuple of (data, end_of_http_chunk).

        When chunked transfer
        encoding is used, end_of_http_chunk is a boolean indicating if the end
        of the data corresponds to the end of a HTTP chunk , otherwise it is
        always False.
        TN©r   TzESkipping HTTP chunk end due to data consumption beyond chunk boundaryr²   Fr<   r=   )rP   rJ   ÚpopleftrI   rÔ   r   rÑ   rK   rÆ   rM   r¸   )r&   r³   s     r   r=   zStreamReader.readchunkÐ  s  è è € ð	*ØŒÐ*Ø”oÐ%àÔ)ð 	ØÔ-×5Ò5Ñ7Ô7�Ø˜$œ,Ò&Ð&Ø&˜;Ø˜œÒ%Ð%Ø ×-Ò-¨c°D´LÑ.@ÑAÔAÀ4ÐHÐHÝÔ'ð8ñô ð ð Ô)ð 	ð Œ|ð <Ø×/Ò/°Ñ3Ô3°UÐ;Ð;ð Œyð $ð $�|à—*’*˜[Ñ)Ô)Ð)Ð)Ð)Ð)Ð)Ð)Ð)ð1	*r   c              ƒ   ód  K  — | j         �| j         ‚g }|dk    r„|                      |¦  «        ƒ d {V —†}|s:d                     |¦  «        }t          j        |t          |¦  «        |z   ¦  «        ‚|                     |¦  «         |t          |¦  «        z  }|dk    °„d                     |¦  «        S )Nr   r   )rP   rq   ri   r^   ÚIncompleteReadErrorr¦   rh   )r&   rn   rÕ   rÖ   Úpartials        r   ÚreadexactlyzStreamReader.readexactlyò  s½   è è € ØŒ?Ð&Ø”/Ð!à ˆØ�!ŠeˆeØŸ)š) A™,œ,Ð&Ð&Ð&Ð&Ð&Ð&ˆEØð MØŸ(š( 6Ñ*Ô*�ÝÔ1°'½3¸w¹<¼<È!Ñ;KÑLÔLÐLØ�MŠM˜%Ñ Ô Ð Ø•�U‘”‰OˆAð �!Šeˆeð �xŠx˜ÑÔÐr   c                 ó¦   — | j         �| j         ‚| j        r(| j                             ¦   «         st          d¦  «        ‚|                      |¦  «        S )Nz9Called while some coroutine is waiting for incoming data.)rP   rN   Údoner¯   rÔ   rt   s     r   Úread_nowaitzStreamReader.read_nowait  s^   € ð
 Œ?Ð&Ø”/Ð!àŒ<ð 	 ¤× 1Ò 1Ñ 3Ô 3ð 	ÝØKñô ð ð × Ò  Ñ#Ô#Ð#r   c                 ó¨  — | j         d         }| j        }|dk    r4t          |¦  «        |z
  |k    r||||z   …         }| xj        |z  c_        nF|r+| j                              ¦   «          ||d …         }d| _        n| j                              ¦   «         }t          |¦  «        }| xj        |z  c_        | xj        |z  c_        | j        }|r8|d         | j        k     r'|                     ¦   «          |r|d         | j        k     °'| j        | j        k     r=| j        �t          | j        ¦  «        | j        k     r| j	         
                    ¦   «          |S )Nr   r²   )rK   rL   r¦   rÚ   rH   rI   rJ   rC   rE   rB   r’   )r&   rn   Úfirst_bufferrË   r    r¬   Úchunk_splitss          r   rÆ   zStreamReader._read_nowait_chunk  sl  € Ø”| A”ˆØÔ$ˆØ�Š7ˆ7•s˜<Ñ(Ô(¨6Ñ1°AÒ5Ð5Ø ¨°!©Ð 3Ô4ˆDØÐÔ 1Ñ$ÐÔÐàð 	*ØŒL× Ò Ñ"Ô"Ð"Ø   Ô(ˆDØ"#ˆDÔÐð ”<×'Ò'Ñ)Ô)ˆDå�t‘9”9ˆØˆ
Œ
�hÑˆ
Œ
ØˆŒ˜Ñ ˆŒàÔ.ˆàð 	#˜|¨Aœ°´Ò=Ð=Ø× Ò Ñ"Ô"Ð"ð ð 	#˜|¨Aœ°´Ò=Ð=ð Œ:˜œÒ'Ð'ØÔ#Ð+Ý�4Ô*Ñ+Ô+¨dÔ.DÒDÐDàŒN×)Ò)Ñ+Ô+Ð+Øˆr   c                 óÔ  ‡ — ‰ j                              ¦   «          |dk    r]t          ‰ j        ¦  «        }|dk    r‰                      d¦  «        S d                     ˆ fd„t          |¦  «        D ¦   «         ¦  «        S g }‰ j        rJ‰                      |¦  «        }|                     |¦  «         |t          |¦  «        z  }|dk    rn‰ j        °J|rd                     |¦  «        ndS )z6Read not more than n bytes, or whole buffer if n == -1r²   r   r   c                 ó:   •— g | ]}‰                      d ¦  «        ‘ŒS ©r²   )rÆ   )Ú.0Ú_r&   s     €r   ú
<listcomp>z-StreamReader._read_nowait.<locals>.<listcomp>9  s'   ø€ ÐOÐOÐO¸Q˜T×4Ò4°RÑ8Ô8ÐOÐOÐOr   r   )rQ   Úassert_timeoutr¦   rK   rÆ   ri   Úrangerh   )r&   rn   ÚcountÚchunksrÈ   s   `    r   rÔ   zStreamReader._read_nowait/  sô   ø€ àŒ×"Ò"Ñ$Ô$Ð$à�Š7ˆ7õ ˜œÑ%Ô%ˆEØ˜ŠzˆzØ×.Ò.¨rÑ2Ô2Ð2Ø—8’8ÐOÐOÐOÐOÅ%ÈÁ,Ä,ÐOÑOÔOÑPÔPÐPà ˆØŒlð 	Ø×+Ò+¨AÑ.Ô.ˆEØ�MŠM˜%Ñ Ô Ð Ø•�U‘”‰OˆAØ�AŠvˆvØð Œlð 	ð $*Ð2ˆs�xŠx˜ÑÔÐ¨sÐ2r   ©r#   N©r   )rÀ   rç   )2r   r   r   r   r3   r	   Úintr   r^   ÚAbstractEventLoopr'   Ústrrk   r    r?   r+   ru   rx   r5   rz   r>   r}   rs   ÚBaseExceptionr�   r
   r   r   r�   r”   r@   r—   rš   r�   ÚpropertyrŸ   r¨   r­   r°   r´   r¸   rm   r¾   rq   rw   r=   rÞ   rá   rÆ   rÔ   r   r   r   r   r   G   s‡  € € € € € ðð ð€Ið8 *.Ø15ð 7ð  7ð  7àð 7ð ð 7ð
   $Ñ&ð 7ð Ô'¨$Ñ.ð 7ð 
ð 7ð  7ð  7ð  7ðD'˜#ð 'ð 'ð 'ð 'ð2Ð.¨uÔ5ð 2ð 2ð 2ð 2ð9˜cð 9Ð&9¸%Ô&@ð 9ð 9ð 9ð 9ð
1Ð-¨eÔ4ð 1ð 1ð 1ð 1ð3Ð:ð 3ð 3ð 3ð 3ð3¨¨c°3¨h¬ð 3ð 3ð 3ð 3ð% Sð %¨Tð %ð %ð %ð %ð˜=¨4Ñ/ð ð ð ð ð $1ð2ð 2àð2ð !ð2ð 
ð	2ð 2ð 2ð 2ð$1˜x¨¨D¨Ô1ð 1°dð 1ð 1ð 1ð 1ð$ð $ð $ð $ð0˜ð ð ð ð ð.˜ð .ð .ð .ð .ð	$ð 	$ð 	$ð 	$ð ð+ ð +ð +ð +ñ „Xð+ð
 ð ¨$ð ð ð ð ð(ð ˜eð ¨3ð °tð ð ð ð ð(:ð :ð :ð :ð"%ð "%ð "%ð "%ðH  Sð  ¨Tð  ð  ð  ð  ð* ?Cð >ð >ð >°°t±ð >Àuð >ð >ð >ð >ð "'ð%ØBFð%ð %ð %Øð%Ø58¸4±Zð%à	ð%ð %ð %ð %ðN'$ð '$˜Cð '$¨ð '$ð '$ð '$ð '$ðR
%˜uð 
%ð 
%ð 
%ð 
%ð *  u¨d {Ô!3ð  *ð  *ð  *ð  *ðD  3ð  ¨5ð  ð  ð  ð  ð$ð $˜Sð $¨%ð $ð $ð $ð $ð Cð ¨Eð ð ð ð ð>3˜cð 3 eð 3ð 3ð 3ð 3ð 3ð 3r   r   c                   ó6  — e Zd ZdZdd„Zdefd„Zdedz  fd„Ze	fdededdfd	„Z
d
eg df         ddfd„Zdd„Zdefd„Zdefd„Zdd„Zddededefd„Zdeddfd„Zddœdedz  defd„Zd dedefd„Zdefd„Zdeeef         fd„Zdedefd„Zd dedefd„ZdS )!ÚEmptyStreamReader©Ú_read_eof_chunkr#   Nc                 ó"   — d| _         d| _        d S )NFr   )rù   rT   r*   s    r   r'   zEmptyStreamReader.__init__J  s   € Ø$ˆÔØˆÔÐÐr   c                 ó    — d| j         j        z  S )Nre   )rg   r   r*   s    r   rk   zEmptyStreamReader.__repr__N  s   € Ø˜œÔ/Ñ/Ð/r   c                 ó   — d S r%   r   r*   s    r   r�   zEmptyStreamReader.exceptionQ  ó   € Øˆtr   rƒ   r„   c                 ó   — d S r%   r   )r&   rƒ   r„   s      r   r   zEmptyStreamReader.set_exceptionT  s	   € ð
 	ˆr   r‰   c                 óf   — 	  |¦   «          d S # t           $ r t          j        d¦  «         Y d S w xY wr‹   )r�   r   r�   rŽ   s     r   r�   zEmptyStreamReader.on_eof[  sQ   € ð	CØˆH‰JŒJˆJˆJˆJøÝð 	Cð 	Cð 	CÝÔ%Ð&AÑBÔBÐBÐBÐBÐBð	Cøøøs   ‚
 Ž0¯0c                 ó   — d S r%   r   r*   s    r   r”   zEmptyStreamReader.feed_eofa  s   € Øˆr   c                 ó   — dS ©NTr   r*   s    r   r—   zEmptyStreamReader.is_eofd  rý   r   c                 ó   — dS r  r   r*   s    r   rš   zEmptyStreamReader.at_eofg  rý   r   c              ƒ   ó
   K  — d S r%   r   r*   s    r   r�   zEmptyStreamReader.wait_eofj  s   è è € Øˆr   r   r    rn   c                 ó   — dS ©NFr   )r&   r    rn   s      r   r­   zEmptyStreamReader.feed_datam  s   € Øˆur   c                 ó   — d S r%   r   rt   s     r   rs   z%EmptyStreamReader.set_read_chunk_sizep  s   € Øˆr   r¹   rº   c             ƒ   ó
   K  — dS r.   r   r¿   s     r   rm   zEmptyStreamReader.readlines  ó   è è € Øˆsr   r²   c              ƒ   ó
   K  — dS r.   r   rt   s     r   rq   zEmptyStreamReader.readv  r	  r   c              ƒ   ó
   K  — dS r.   r   r*   s    r   rw   zEmptyStreamReader.readany{  r	  r   c              ƒ   ó*   K  — | j         s	d| _         dS dS )NTr<   rÙ   rø   r*   s    r   r=   zEmptyStreamReader.readchunk~  s#   è è € ØÔ#ð 	 Ø#'ˆDÔ Ø�<àˆ{r   c              ƒ   ó0   K  — t          j        d|¦  «        ‚r.   )r^   rÜ   rt   s     r   rÞ   zEmptyStreamReader.readexactly…  s   è è € ÝÔ)¨#¨qÑ1Ô1Ð1r   c                 ó   — dS r.   r   rt   s     r   rá   zEmptyStreamReader.read_nowaitˆ  s   € Øˆsr   rï   rð   rç   )r   r   r   r3   r'   ró   rk   rô   r�   r
   r   r   r�   r”   r@   r—   rš   r�   r?   rñ   r­   rs   rm   rq   rw   r>   r=   rÞ   rá   r   r   r   r÷   r÷   F  sf  € € € € € à$€Iðð ð ð ð0˜#ð 0ð 0ð 0ð 0ð˜=¨4Ñ/ð ð ð ð ð $1ðð àðð !ðð 
ð	ð ð ð ðC˜x¨¨D¨Ô1ð C°dð Cð Cð Cð Cðð ð ð ð˜ð ð ð ð ð˜ð ð ð ð ðð ð ð ðð ˜eð ¨ð °Dð ð ð ð ð Sð ¨Tð ð ð ð ð ?Cð ð ð °°t±ð Àuð ð ð ð ðð ˜Cð ¨ð ð ð ð ð
˜uð ð ð ð ð  u¨d {Ô!3ð ð ð ð ð2 3ð 2¨5ð 2ð 2ð 2ð 2ðð ˜Sð ¨%ð ð ð ð ð ð r   r÷   r   c                   ó¼   — e Zd ZdZdej        ddfd„Zdefd„Zde	fd„Z
de	fd„Zdedz  fd	„Zefd
ededdfd„Zddededdfd„Zdd„Zdefd„Zdee         fd„ZdS )r   z>DataQueue is a general-purpose blocking queue with one reader.rW   r#   Nc                 ón   — || _         d| _        d | _        d | _        t	          j        ¦   «         | _        d S r  )rG   rM   rN   rP   ra   rb   rK   )r&   rW   s     r   r'   zDataQueue.__init__’  s2   € ØˆŒ
ØˆŒ	Ø48ˆŒØ04ˆŒÝ:EÔ:KÑ:MÔ:MˆŒˆˆr   c                 ó*   — t          | j        ¦  «        S r%   )r¦   rK   r*   s    r   Ú__len__zDataQueue.__len__™  s   € Ý�4”<Ñ Ô Ð r   c                 ó   — | j         S r%   r–   r*   s    r   r—   zDataQueue.is_eofœ  s
   € ØŒyÐr   c                 ó    — | j         o| j         S r%   r™   r*   s    r   rš   zDataQueue.at_eofŸ  s   € ØŒyÐ- ¤Ð-Ð-r   c                 ó   — | j         S r%   r€   r*   s    r   r�   zDataQueue.exception¢  r‚   r   rƒ   r„   c                 óh   — d| _         || _        | j        x}�d | _        t          |||¦  «         d S d S r  )rM   rP   rN   r   r‡   s       r   r   zDataQueue.set_exception¥  sF   € ð
 ˆŒ	ØˆŒØ”lÐ"ˆFÐ/ØˆDŒLÝ˜& # yÑ1Ô1Ð1Ð1Ð1ð 0Ð/r   r   r    r©   c                 ó‚   — | j                              ||f¦  «         | j        x}�d | _        t          |d ¦  «         d S d S r%   )rK   rh   rN   r   )r&   r    r©   rˆ   s       r   r­   zDataQueue.feed_data°  sN   € ØŒ×Ò˜T 4˜LÑ)Ô)Ð)Ø”lÐ"ˆFÐ/ØˆDŒLÝ�v˜tÑ$Ô$Ð$Ð$Ð$ð 0Ð/r   c                 óX   — d| _         | j        x}�d | _        t          |d ¦  «         d S d S r  )rM   rN   r   )r&   rˆ   s     r   r”   zDataQueue.feed_eof¶  s;   € ØˆŒ	Ø”lÐ"ˆFÐ/ØˆDŒLÝ�v˜tÑ$Ô$Ð$Ð$Ð$ð 0Ð/r   c              ƒ   óP  K  — | j         sd| j        s]| j        rJ ‚| j                             ¦   «         | _        	 | j        ƒ d {V —† n'# t
          j        t
          j        f$ r	 d | _        ‚ w xY w| j         r| j                              ¦   «         \  }}|S | j	        �| j	        ‚t          ‚r%   )rK   rM   rN   rG   rœ   r^   ÚCancelledErrorÚTimeoutErrorrÚ   rP   r   )r&   r    ré   s      r   rq   zDataQueue.read¼  sË   è è € ØŒ|ð 	 D¤Ið 	Ø”|Ð#Ð#Ð#Øœ:×3Ò3Ñ5Ô5ˆDŒLðØ”lÐ"Ð"Ð"Ð"Ð"Ð"Ð"Ð"øÝÔ*­GÔ,@ÐAð ð ð Ø#�”Øðøøøð Œ<ð 	Ø”l×*Ò*Ñ,Ô,‰GˆD�!ØˆKØŒ?Ð&Ø”/Ð!Ýˆó   ¹A Á$A+c                 ó*   — t          | j        ¦  «        S r%   )r    rq   r*   s    r   r+   zDataQueue.__aiter__Ì  s   € Ý" 4¤9Ñ-Ô-Ð-r   rð   rï   )r   r   r   r   r^   rò   r'   rñ   r  r@   r—   rš   rô   r�   r
   r   r   r­   r”   rq   r    r+   r   r   r   r   r   �  sn  € € € € € ØHÐHðN˜WÔ6ð N¸4ð Nð Nð Nð Nð!˜ð !ð !ð !ð !ð˜ð ð ð ð ð.˜ð .ð .ð .ð .ð˜=¨4Ñ/ð ð ð ð ð $1ð	2ð 	2àð	2ð !ð	2ð 
ð		2ð 	2ð 	2ð 	2ð%ð %˜bð %¨ð %°Dð %ð %ð %ð %ð%ð %ð %ð %ð˜Bð ð ð ð ð .Ð.¨rÔ2ð .ð .ð .ð .ð .ð .r   r   c                   ód   ‡ — e Zd ZdZdededej        ddfˆ fd„Zdd	e	d
eddfˆ fd„Z
de	fd„Zˆ xZS )ÚFlowControlDataQueuez®FlowControlDataQueue resumes and pauses an underlying stream.

    It is a destination for parsed data.

    This class is deprecated and will be removed in version 4.0.
    rX   rY   rW   r#   Nc                ó|   •— t          ¦   «                              |¬¦  «         d| _        || _        |dz  | _        d S )N)rW   r   r[   )Úsuperr'   rH   rB   Ú_limit)r&   rX   rY   rW   rg   s       €r   r'   zFlowControlDataQueue.__init__Ø  s=   ø€ õ 	‰Œ×Ò˜dÐÑ#Ô#Ð#ØˆŒ
Ø!ˆŒØ˜a‘iˆŒˆˆr   r   r    r©   c                 óÞ   •— t          ¦   «                              ||¦  «         | xj        |z  c_        | j        | j        k    r'| j        j        s| j                             ¦   «          d S d S d S r%   )r!  r­   rH   r"  rB   Ú_reading_pausedr«   )r&   r    r©   rg   s      €r   r­   zFlowControlDataQueue.feed_dataà  sn   ø€ Ý‰Œ×Ò˜$ Ñ%Ô%Ð%Øˆ
Œ
�dÑˆ
Œ
àŒ:˜œÒ#Ð#¨D¬NÔ,JÐ#ØŒN×(Ò(Ñ*Ô*Ð*Ð*Ð*ð $Ð#Ð#Ð#r   c              ƒ   óÚ  K  — | j         sd| j        s]| j        rJ ‚| j                             ¦   «         | _        	 | j        ƒ d {V —† n'# t
          j        t
          j        f$ r	 d | _        ‚ w xY w| j         rc| j                              ¦   «         \  }}| xj	        |z  c_	        | j	        | j
        k     r%| j        j        r| j                             ¦   «          |S | j        �| j        ‚t          ‚r%   )rK   rM   rN   rG   rœ   r^   r  r  rÚ   rH   r"  rB   r$  r’   rP   r   )r&   r    r©   s      r   rq   zFlowControlDataQueue.readç  s  è è € ØŒ|ð 	 D¤Ið 	Ø”|Ð#Ð#Ð#Øœ:×3Ò3Ñ5Ô5ˆDŒLðØ”lÐ"Ð"Ð"Ð"Ð"Ð"Ð"Ð"øÝÔ*­GÔ,@ÐAð ð ð Ø#�”Øðøøøð Œ<ð 	Øœ×-Ò-Ñ/Ô/‰JˆD�$ØˆJŒJ˜$ÑˆJŒJØŒz˜DœKÒ'Ð'¨D¬NÔ,JÐ'Ø”×-Ò-Ñ/Ô/Ð/ØˆKØŒ?Ð&Ø”/Ð!Ýˆr  rð   )r   r   r   r   r	   rñ   r^   rò   r'   r   r­   rq   Ú__classcell__)rg   s   @r   r  r  Ð  s½   ø€ € € € € ðð ð Ø$ð Ø-0ð Ø;BÔ;Tð à	ð ð  ð  ð  ð  ð  ð+ð +˜bð +¨ð +°Dð +ð +ð +ð +ð +ð +ð˜Bð ð ð ð ð ð ð ð r   r  )$r^   ra   rÒ   r£   Úcollections.abcr   r   Útypingr   r   r   Úbase_protocolr	   Úhelpersr
   r   r   r   r   r   Úhttp_exceptionsr   Úlogr   Ú__all__r   r�   r   r    r5   r   r÷   r   Ú__annotations__r   r  r   r   r   ú<module>r/     sm  ðØ €€€€Ø Ð Ð Ð Ø 
€
€
€
Ø €€€Ø /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ø *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ð *à 'Ð 'Ð 'Ð 'Ð 'Ð 'ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð )Ð (Ð (Ð (Ð (Ð (Ø  Ð  Ð  Ð  Ð  Ð  ð€ð €WˆT�]„]€ð!ð !ð !ð !ð !�	ñ !ô !ð !ðð ð ð ð ˜' "œ+ñ ô ð ð(ð ð ð ð ñ ô ð ð"|3ð |3ð |3ð |3ð |3ñ |3ô |3ð |3ð~Cð Cð Cð Cð C˜ñ Cô Cð CðL &7Ð%6Ñ%8Ô%8€ˆu�\Ô"Ð 8Ð 8Ñ 8ð>.ð >.ð >.ð >.ð >.�˜”ñ >.ô >.ð >.ðB(ð (ð (ð (ð (˜9 Rœ=ñ (ô (ð (ð (ð (r   