§
    ­˜ºh9W  ã                   óÄ  — U d dl Z d dlZd dlZd dlmZmZmZmZmZ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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 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ÚDequeÚFinalÚGenericÚListÚOptionalÚTupleÚTypeVaré   )ÚBaseProtocol)Ú_EXC_SENTINELÚBaseTimerContextÚ	TimerNoopÚset_exceptionÚ
set_result)Ú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__© ó    úW/var/www/html/services/rag-service/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__2   sc   è è € ð	%Ø—~’~Ñ'Ô'Ð'Ð'Ð'Ð'Ð'Ð'ˆBˆBøÝð 	%ð 	%ð 	%Ý$Ð$ð	%øøøà�Š9ˆ9Ý$Ð$Øˆ	s   „ Ÿ1)r%   r*   )
r   r   r   Ú	__slots__r   r   r   r)   r-   r4   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'   r8   )r(   r:   s     r    r)   z&ChunkTupleAsyncStreamIterator.__init__@   s   € ØˆŒˆˆr   c                 ó   — | S r'   r   r,   s    r    r-   z'ChunkTupleAsyncStreamIterator.__aiter__C   r.   r   c              ƒ   ób   K  — | j                              ¦   «         ƒ d {V —†}|dk    rt          ‚|S )N©r   F)r9   Ú	readchunkr1   r2   s     r    r4   z'ChunkTupleAsyncStreamIterator.__anext__F   sA   è è € Ø”<×)Ò)Ñ+Ô+Ð+Ð+Ð+Ð+Ð+Ð+ˆØ�ÒÐÝ$Ð$Øˆ	r   )r:   r   r%   N)r%   r7   )
r   r   r   r5   r)   r-   r
   ÚbytesÚboolr4   r   r   r    r7   r7   <   se   € € € € € à€Iðð ð ð ðð ð ð ð  u¨d {Ô!3ð ð ð ð ð ð r   r7   c                   ój   — e Zd Z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S )	ÚAsyncStreamReaderMixinr   r%   c                 ó*   — t          | j        ¦  «        S r'   )r"   Úreadliner,   s    r    r-   z AsyncStreamReaderMixin.__aiter__Q   s   € Ý" 4¤=Ñ1Ô1Ð1r   Únc                 ó,   ‡ ‡— t          ˆˆ fd„¦  «        S )z>Returns an asynchronous iterator that yields chunks of size n.c                  ó.   •— ‰                      ‰ ¦  «        S r'   )Úread)rF   r(   s   €€r    ú<lambda>z5AsyncStreamReaderMixin.iter_chunked.<locals>.<lambda>V   s   ø€ ¨4¯9ª9°Q©<¬<€ r   )r"   ©r(   rF   s   ``r    Úiter_chunkedz#AsyncStreamReaderMixin.iter_chunkedT   s   øø€ å"Ð#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AsyncStreamReaderMixin.iter_anyX   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.
        )r7   r,   s    r    Úiter_chunksz"AsyncStreamReaderMixin.iter_chunks\   s   € õ -¨TÑ2Ô2Ð2r   N)r   r   r   r5   r"   r@   r-   ÚintrL   rO   r7   rQ   r   r   r    rC   rC   M   sŸ   € € € € € à€Ið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ð 3r   rC   c                   óÜ  — e Zd ZdZdZdddœdededee         dee	j
                 d	df
d
„Zd	efd„Zd	eeef         fd„Zd	ee         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ed	dfd„Zd.deded	dfd„Zd-d„Zd-d„Zded	dfd„Z d	efd „Z!d/d"ed	efd#„Z"d0d%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&d0d%ed	efd*„Z'd%ed	efd+„Z(d%ed	efd,„Z)dS )1r   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Ú_loopÚ_sizeÚ_cursorÚ_http_chunk_splitsÚ_bufferÚ_buffer_offsetÚ_eofÚ_waiterÚ_eof_waiterÚ
_exceptionÚ_timerÚ_eof_callbacksÚ_eof_counterÚtotal_bytesN)ÚtimerÚloopÚprotocolÚlimitre   rf   r%   c                óf  — || _         || _        |dz  | _        |€t          j        ¦   «         }|| _        d| _        d| _        d | _        t          j
        ¦   «         | _        d| _        d| _        d | _        d | _        d | _        |€t#          ¦   «         n|| _        g | _        d| _        d| _        d S )Né   r   F)rT   rU   rV   ÚasyncioÚget_event_looprW   rX   rY   rZ   ÚcollectionsÚdequer[   r\   r]   r^   r_   r`   r   ra   rb   rc   rd   )r(   rg   rh   re   rf   s        r    r)   zStreamReader.__init__‡   s´   € ð "ˆŒØˆŒØ  1™9ˆÔØˆ<ÝÔ)Ñ+Ô+ˆDØˆŒ
ØˆŒ
ØˆŒØ7;ˆÔÝ%0Ô%6Ñ%8Ô%8ˆŒØˆÔØˆŒ	Ø7;ˆŒØ;?ˆÔØ37ˆŒØ%* ]•i‘k”k�k¸ˆŒØ8:ˆÔØˆÔØˆÔÐÐr   c                 óº  — | j         j        g}| j        r|                     d| j        z  ¦  «         | j        r|                     d¦  «         | j        dk    r$|                     d| j        | j        fz  ¦  «         | j        r|                     d| j        z  ¦  «         | j        r|                     d| j        z  ¦  «         dd 	                    |¦  «        z  S )	Nz%d bytesÚeofi   zlow=%d high=%dzw=%rze=%rú<%s>ú )
Ú	__class__r   rX   Úappendr]   rU   rV   r^   r`   Újoin)r(   Úinfos     r    Ú__repr__zStreamReader.__repr__£   sØ   € Ø”Ô'Ð(ˆØŒ:ð 	1Ø�KŠK˜
 T¤ZÑ/Ñ0Ô0Ð0ØŒ9ð 	Ø�KŠK˜ÑÔÐØŒ?˜eÒ#Ð#Ø�KŠKÐ(¨D¬O¸TÔ=MÐ+NÑNÑOÔOÐOØŒ<ð 	/Ø�KŠK˜ ¤Ñ-Ñ.Ô.Ð.ØŒ?ð 	2Ø�KŠK˜ ¤Ñ0Ñ1Ô1Ð1Ø˜Ÿš ™œÑ&Ð&r   c                 ó   — | j         | j        fS r'   )rU   rV   r,   s    r    Úget_read_buffer_limitsz#StreamReader.get_read_buffer_limits±   s   € Ø” Ô!1Ð2Ð2r   c                 ó   — | j         S r'   ©r`   r,   s    r    Ú	exceptionzStreamReader.exception´   ó
   € ØŒÐr   ÚexcÚ	exc_causec                 óÎ   — || _         | j                             ¦   «          | j        }|�d | _        t	          |||¦  «         | j        }|�d | _        t	          |||¦  «         d S d S r'   )r`   rb   Úclearr^   r   r_   ©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)r]   Ú	Exceptionr   r|   rb   rt   ©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                 ó‚  — d| _         | j        }|�d | _        t          |d ¦  «         | j        }|�d | _        t          |d ¦  «         | j        j        r| j                             ¦   «          | j        D ]1}	  |¦   «          Œ# t          $ r t          j
        d¦  «         Y Œ.w xY w| j                             ¦   «          d S )NTr‡   )r]   r^   r   r_   rT   Ú_reading_pausedÚresume_readingrb   rˆ   r   r|   r�   )r(   rƒ   Úcbs      r    Úfeed_eofzStreamReader.feed_eofÒ   sï   € ØˆŒ	à”ˆØÐØˆDŒLÝ�v˜tÑ$Ô$Ð$àÔ!ˆØÐØ#ˆDÔÝ�v˜tÑ$Ô$Ð$àŒ>Ô)ð 	,ØŒN×)Ò)Ñ+Ô+Ð+àÔ%ð 	Gð 	GˆBðGØ�‘”��øÝð Gð Gð GÝÔ)Ð*EÑFÔFÐFÐFÐFðGøøøð 	Ô×!Ò!Ñ#Ô#Ð#Ð#Ð#s   Á7
BÂB#Â"B#c                 ó   — | j         S )z&Return True if  'feed_eof' was called.©r]   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.©r]   r[   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'   )r]   r_   rW   Úcreate_futurer,   s    r    Úwait_eofzStreamReader.wait_eofò   s|   è è € ØŒ9ð 	ØˆFàÔÐ'Ð'Ð'Øœ:×3Ò3Ñ5Ô5ˆÔð	$ØÔ"Ð"Ð"Ð"Ð"Ð"Ð"Ð"à#ˆDÔÐÐø˜tˆDÔÐ#Ð#Ð#Ð#s   ´A
 Á
	AÚ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)rj   )Ú
stacklevelNr   )
ÚwarningsÚwarnÚDeprecationWarningr\   r[   rX   ÚlenrY   Ú
appendleftrc   )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	        j
        s| j	                             ¦   «          d S d S d S )Nzfeed_data after feed_eof)r]   rŸ   rX   r[   rt   rd   r^   r   rV   rT   rŒ   Úpause_reading)r(   r™   r¢   Údata_lenrƒ   s        r    Ú	feed_datazStreamReader.feed_data  sÑ   € Ø”9Ð8Ð8Ð8Ñ8Ô8Ð8àð 	ØˆFå�t‘9”9ˆØˆ
Œ
�hÑˆ
Œ
ØŒ×Ò˜DÑ!Ô!Ð!ØÐÔ˜HÑ$ÐÔà”ˆØÐØˆDŒLÝ�v˜tÑ$Ô$Ð$àŒ:˜Ô(Ò(Ð(°´Ô1OÐ(ØŒN×(Ò(Ñ*Ô*Ð*Ð*Ð*ð )Ð(Ð(Ð(r   c                 óR   — | j         €| j        rt          d¦  «        ‚g | _         d S d S )Nz@Called begin_http_chunk_receiving when some data was already fed)rZ   rd   ÚRuntimeErrorr,   s    r    Úbegin_http_chunk_receivingz'StreamReader.begin_http_chunk_receiving$  sC   € ØÔ"Ð*ØÔð Ý"ØVñô ð ð ')ˆDÔ#Ð#Ð#ð +Ð*r   c                 óú   — | j         €t          d¦  «        ‚| j         r| j         d         nd}| j        |k    rd S | j                              | j        ¦  «         | j        }|�d | _        t          |d ¦  «         d S d S )NzFCalled end_chunk_receiving without calling begin_chunk_receiving firstéÿÿÿÿr   )rZ   r¨   rd   rt   r^   r   )r(   Úposrƒ   s      r    Úend_http_chunk_receivingz%StreamReader.end_http_chunk_receiving,  s¡   € ØÔ"Ð*Ýð.ñô ð ð .2Ô-DÐKˆdÔ% bÔ)Ð)È!ˆàÔ˜sÒ"Ð"ð ˆFàÔ×&Ò& tÔ'7Ñ8Ô8Ð8ð ”ˆØÐØˆ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)rT   Ú	connectedr¨   r^   rW   r—   ra   )r(   r®   rƒ   s      r    Ú_waitzStreamReader._waitJ  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c              ƒ   ó:   K  — |                       ¦   «         ƒ d {V —†S r'   )Ú	readuntilr,   s    r    rE   zStreamReader.readline_  s(   è è € Ø—^’^Ñ%Ô%Ð%Ð%Ð%Ð%Ð%Ð%Ð%r   ó   
Ú	separatorc              ƒ   óô  K  — t          |¦  «        }|dk    rt          d¦  «        ‚| j        �| j        ‚d}d}d}|r»| j        r�|r‹| j        }| j        d                              ||¦  «        dz   }|                      |r||z
  |z   dz
  nd¦  «        }||z  }|t          |¦  «        z  }|rd}|| j        k    rt          d¦  «        ‚| j        r|°‹| j        rn|r|  	                    d	¦  «        ƒ d {V —† |°»|S )
Nr   z,Separator should be at least one-byte stringr   Tr   r«   FzChunk too bigr³   )
rŸ   Ú
ValueErrorr`   r[   r\   ÚfindÚ_read_nowait_chunkrV   r]   r±   )	r(   rµ   ÚseplenÚchunkÚ
chunk_sizeÚ
not_enoughÚoffsetÚicharr™   s	            r    r³   zStreamReader.readuntilb  s\  è è € Ý�Y‘”ˆØ�QŠ;ˆ;ÝÐKÑLÔLÐLàŒ?Ð&Ø”/Ð!àˆØˆ
Øˆ
àð 	.Ø”,ð 6 :ð 6ØÔ,�Øœ Qœ×,Ò,¨Y¸Ñ?Ô?À!ÑC�à×.Ò.Ø38Ð@�E˜F‘N VÑ+¨aÑ/Ð/¸bñô �ð ˜‘�Ø�c $™iœiÑ'�
Øð 'Ø!&�Jà Ô 0Ò0Ð0Ý$ _Ñ5Ô5Ð5ð ”,ð 6 :ð 6ð Œyð Øàð .Ø—j’j Ñ-Ô-Ð-Ð-Ð-Ð-Ð-Ð-Ð-ð) ð 	.ð, ˆr   r«   rF   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     rKg }	 |                      ¦   «         ƒ d {V —†}|sn|                     |¦  «         Œ3d 	                    |¦  «        S | j        s0| j        s)|  
                    d	¦  «        ƒ d {V —† | j        s| j        ¯)|                      |¦  «        S )
NTrc   r   r   é   zEMultiple access to StreamReader in eof state, might be infinite loop.)Ú
stack_infor   rI   )r`   r]   r[   Úgetattrrc   r   ÚwarningrN   rt   ru   r±   Ú_read_nowait)r(   rF   ÚblocksÚblocks       r    rI   zStreamReader.read†  sT  è è € ØŒ?Ð&Ø”/Ð!ð	ØŒyð  ¤ð Ý$+¨D°.À!Ñ$DÔ$DÀqÑ$H�Ô!ØÔ$ qÒ(Ð(Ý#Ô+ð2à#'ðñ ô ð ð ð 	Ø�3àˆqŠ5ˆ5ð
 ˆ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 )NrN   r«   )r`   r[   r]   r±   rÅ   r,   s    r    rN   zStreamReader.readany°  sz   è è € ØŒ?Ð&Ø”/Ð!ð
 ”,ð 	( t¤yð 	(Ø—*’*˜YÑ'Ô'Ð'Ð'Ð'Ð'Ð'Ð'Ð'ð ”,ð 	( t¤yð 	(ð × Ò  Ñ$Ô$Ð$r   c              ƒ   ó�  K  — 	 | j         �| j         ‚| j        rl| j                             d¦  «        }|| j        k    rdS || j        k    r|                      || j        z
  ¦  «        dfS t          j        d¦  «         | j        °l| 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.
        TNr   ©r   TzESkipping HTTP chunk end due to data consumption beyond chunk boundaryr«   Fr>   r?   )r`   rZ   ÚpoprY   rÅ   r   rÄ   r[   r¹   r]   r±   )r(   r¬   s     r    r?   zStreamReader.readchunk¼  s  è è € ð	*ØŒÐ*Ø”oÐ%àÔ)ð 	ØÔ-×1Ò1°!Ñ4Ô4�Ø˜$œ,Ò&Ð&Ø&˜;Ø˜œÒ%Ð%Ø ×-Ò-¨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   )r`   rI   ru   rk   ÚIncompleteReadErrorrŸ   rt   )r(   rF   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.)r`   r^   Údoner¨   rÅ   rK   s     r    Úread_nowaitzStreamReader.read_nowaití  s^   € ð
 Œ?Ð&Ø”/Ð!àŒ<ð 	 ¤× 1Ò 1Ñ 3Ô 3ð 	ÝØKñô ð ð × Ò  Ñ#Ô#Ð#r   c                 óz  — | 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        }|r9|d         | j        k     r(|                     d¦  «         |r|d         | j        k     °(| j        | j        k     r%| j	        j
        r| j	                             ¦   «          |S )Nr   r«   )r[   r\   rŸ   ÚpopleftrX   rY   rZ   rË   rU   rT   rŒ   r�   )r(   rF   Úfirst_bufferr¾   r™   r¥   Úchunk_splitss          r    r¹   zStreamReader._read_nowait_chunkü  sV  € Ø”| A”ˆØÔ$ˆØ�Š7ˆ7•s˜<Ñ(Ô(¨6Ñ1°AÒ5Ð5Ø ¨°!©Ð 3Ô4ˆDØÐÔ 1Ñ$ÐÔÐàð 	*ØŒL× Ò Ñ"Ô"Ð"Ø   Ô(ˆDØ"#ˆDÔÐð ”<×'Ò'Ñ)Ô)ˆDå�t‘9”9ˆØˆ
Œ
�hÑˆ
Œ
ØˆŒ˜Ñ ˆŒàÔ.ˆàð 	 ˜|¨Aœ°´Ò=Ð=Ø×Ò˜QÑÔÐð ð 	 ˜|¨Aœ°´Ò=Ð=ð Œ:˜œÒ'Ð'¨D¬NÔ,JÐ'ØŒN×)Ò)Ñ+Ô+Ð+Øˆr   c                 ó  — | j                              ¦   «          g }| j        rP|                      |¦  «        }|                     |¦  «         |dk    r|t          |¦  «        z  }|dk    rn| j        °P|rd                     |¦  «        ndS )z6Read not more than n bytes, or whole buffer if n == -1r«   r   r   )ra   Úassert_timeoutr[   r¹   rt   rŸ   ru   )r(   rF   Úchunksr»   s       r    rÅ   zStreamReader._read_nowait  s˜   € àŒ×"Ò"Ñ$Ô$Ð$àˆØŒlð 	Ø×+Ò+¨AÑ.Ô.ˆEØ�MŠM˜%Ñ Ô Ð Ø�BŠwˆwØ•S˜‘Z”Z‘�Ø˜’6�6Øð Œlð 	ð $*Ð2ˆs�xŠx˜ÑÔÐ¨sÐ2r   ©r%   N©r   )r´   ©r«   )*r   r   r   r   r5   r   rR   r	   r   rk   ÚAbstractEventLoopr)   Ústrrw   r
   ry   ÚBaseExceptionr|   r   r   r   rŠ   r�   rA   r’   r•   r˜   r@   r¡   r¦   r©   r­   r±   rE   r³   rI   rN   r?   rÏ   rÒ   r¹   rÅ   r   r   r    r   r   e   s|  € € € € € ðð ð€Ið2 -1Ø48ðð ð àðð ðð
 Ð(Ô)ðð �wÔ0Ô1ðð 
ðð ð ð ð8'˜#ð 'ð 'ð 'ð 'ð3¨¨c°3¨h¬ð 3ð 3ð 3ð 3ð˜8 MÔ2ð ð ð ð ð $1ð2ð 2àð2ð !ð2ð 
ð	2ð 2ð 2ð 2ð$1˜x¨¨D¨Ô1ð 1°dð 1ð 1ð 1ð 1ð$ð $ð $ð $ð0˜ð ð ð ð ð.˜ð .ð .ð .ð .ð	$ð 	$ð 	$ð 	$ð ð ¨$ð ð ð ð ð(+ð +˜eð +¨3ð +°tð +ð +ð +ð +ð&)ð )ð )ð )ð%ð %ð %ð %ð<  Sð  ¨Tð  ð  ð  ð  ð*& ð &ð &ð &ð &ð"ð "¨ð "¸5ð "ð "ð "ð "ðH($ð ($˜Cð ($¨ð ($ð ($ð ($ð ($ðT
%˜uð 
%ð 
%ð 
%ð 
%ð *  u¨d {Ô!3ð  *ð  *ð  *ð  *ðD  3ð  ¨5ð  ð  ð  ð  ð$ð $˜Sð $¨%ð $ð $ð $ð $ð Cð ¨Eð ð ð ð ð83˜cð 3 eð 3ð 3ð 3ð 3ð 3ð 3r   r   c                   ó  — e Zd ZdZdd„Zdefd„Zdee         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df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ã   rd   r,   s    r    r)   zEmptyStreamReader.__init__,  s   € Ø$ˆÔØˆÔÐÐr   c                 ó    — d| j         j        z  S )Nrq   )rs   r   r,   s    r    rw   zEmptyStreamReader.__repr__0  s   € Ø˜œÔ/Ñ/Ð/r   c                 ó   — d S r'   r   r,   s    r    r|   zEmptyStreamReader.exception3  ó   € Øˆtr   r~   r   c                 ó   — d S r'   r   )r(   r~   r   s      r    r   zEmptyStreamReader.set_exception6  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_eofC  ó   € Øˆr   c                 ó   — dS ©NTr   r,   s    r    r’   zEmptyStreamReader.is_eofF  rç   r   c                 ó   — dS rí   r   r,   s    r    r•   zEmptyStreamReader.at_eofI  rç   r   c              ƒ   ó
   K  — d S r'   r   r,   s    r    r˜   zEmptyStreamReader.wait_eofL  s   è è € Øˆr   r   r™   rF   c                 ó   — d S r'   r   )r(   r™   rF   s      r    r¦   zEmptyStreamReader.feed_dataO  rë   r   c              ƒ   ó
   K  — dS r0   r   r,   s    r    rE   zEmptyStreamReader.readlineR  ó   è è € Øˆsr   r«   c              ƒ   ó
   K  — dS r0   r   rK   s     r    rI   zEmptyStreamReader.readU  rò   r   c              ƒ   ó
   K  — dS r0   r   r,   s    r    rN   zEmptyStreamReader.readanyZ  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|¦  «        ‚r0   )rk   rÍ   rK   s     r    rÏ   zEmptyStreamReader.readexactlyd  s   è è € ÝÔ)¨#¨qÑ1Ô1Ð1r   c                 ó   — dS r0   r   rK   s     r    rÒ   zEmptyStreamReader.read_nowaitg  s   € Øˆsr   rÚ   rÛ   rÜ   )r   r   r   r5   r)   rÞ   rw   r	   rß   r|   r   r   r   rŠ   r�   rA   r’   r•   r˜   r@   rR   r¦   rE   rI   rN   r
   r?   rÏ   rÒ   r   r   r    rá   rá   (  s)  € € € € € à$€Iðð ð ð ð0˜#ð 0ð 0ð 0ð 0ð˜8 MÔ2ð ð ð ð ð $1ðð àðð !ðð 
ð	ð ð ð ðC˜x¨¨D¨Ô1ð C°dð Cð Cð Cð Cðð ð ð ð˜ð ð ð ð ð˜ð ð ð ð ðð ð ð ðð ˜eð ¨ð °Dð ð ð ð ð ð ð ð ð ðð ˜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e         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.rf   r%   Nc                 ón   — || _         d| _        d | _        d | _        t	          j        ¦   «         | _        d S )NF)rW   r]   r^   r`   rm   rn   r[   )r(   rf   s     r    r)   zDataQueue.__init__q  s2   € ØˆŒ
ØˆŒ	Ø7;ˆŒØ37ˆŒÝ.9Ô.?Ñ.AÔ.AˆŒˆˆr   c                 ó*   — t          | j        ¦  «        S r'   )rŸ   r[   r,   s    r    Ú__len__zDataQueue.__len__x  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í   )r]   r`   r^   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'   )r[   rt   r^   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í   )r]   r^   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'   )r[   r]   r^   rW   r—   rk   ÚCancelledErrorÚTimeoutErrorrÔ   r`   r   )r(   r™   Ú_s      r    rI   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"   rI   r,   s    r    r-   zDataQueue.__aiter__«  s   € Ý" 4¤9Ñ-Ô-Ð-r   rÛ   rÚ   )r   r   r   r   rk   rÝ   r)   rR   rû   rA   r’   r•   r	   rß   r|   r   r   r   r¦   r�   rI   r"   r-   r   r   r    r   r   n  sn  € € € € € ØHÐHðB˜WÔ6ð B¸4ð Bð Bð Bð Bð!˜ð !ð !ð !ð !ð˜ð ð ð ð ð.˜ð .ð .ð .ð .ð˜8 MÔ2ð ð ð ð ð $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.
    rg   rh   rf   r%   Nc                ó|   •— t          ¦   «                              |¬¦  «         d| _        || _        |dz  | _        d S )N)rf   r   rj   )Úsuperr)   rX   rT   Ú_limit)r(   rg   rh   rf   rs   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¦   rX   r  rT   rŒ   r¤   )r(   r™   r¢   rs   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'   )r[   r]   r^   rW   r—   rk   r  r  rÔ   rX   r  rT   rŒ   r�   r`   r   )r(   r™   r¢   s      r    rI   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   rR   rk   rÝ   r)   r   r¦   rI   Ú__classcell__)rs   s   @r    r	  r	  ¯  s½   ø€ € € € € ðð ð Ø$ð Ø-0ð Ø;BÔ;Tð à	ð ð  ð  ð  ð  ð  ð+ð +˜bð +¨ð +°Dð +ð +ð +ð +ð +ð +ð˜Bð ð ð ð ð ð ð ð r   r	  )$rk   rm   rœ   Útypingr   r   r   r   r   r   r	   r
   r   Úbase_protocolr   Úhelpersr   r   r   r   r   Úlogr   Ú__all__r   rˆ   r   r"   r7   rC   r   rá   r   Ú__annotations__r   r	  r   r   r    ú<module>r     s­  ðØ €€€€Ø Ð Ð Ð Ø €€€ð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð (Ð 'Ð 'Ð 'Ð 'Ð 'ðð ð ð ð ð ð ð ð ð ð ð ð ð ð !Ð  Ð  Ð  Ð  Ð  ð€ð €WˆT�]„]€ð!ð !ð !ð !ð !�	ñ !ô !ð !ðð ð ð ð ˜' "œ+ñ ô ð ð(ð ð ð ð ñ ô ð ð"3ð 3ð 3ð 3ð 3ñ 3ô 3ð 3ð0@3ð @3ð @3ð @3ð @3Ð)ñ @3ô @3ð @3ðF@ð @ð @ð @ð @˜ñ @ô @ð @ðF &7Ð%6Ñ%8Ô%8€ˆu�\Ô"Ð 8Ð 8Ñ 8ð>.ð >.ð >.ð >.ð >.�˜”ñ >.ô >.ð >.ðB(ð (ð (ð (ð (˜9 Rœ=ñ (ô (ð (ð (ð (r   