Ë
    CØïidQ  ã                   ój  — 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 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"y)é    N)	Ú	AwaitableÚCallableÚDequeÚFinalÚGenericÚListÚOptionalÚTupleÚTypeVaré   )ÚBaseProtocol)ÚBaseTimerContextÚ	TimerNoopÚset_exceptionÚ
set_result)Úinternal_logger)ÚEMPTY_PAYLOADÚ	EofStreamÚStreamReaderÚ	DataQueueÚFlowControlDataQueueÚ_Tc                   ó   — e Zd ZdZy)r   zeof stream indication.N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__© ó    úI/var/www/html/aiagents/fe/lib/python3.12/site-packages/aiohttp/streams.pyr   r      s   „ Ú r   r   c                   ó@   — e Zd Zdeg ee   f   ddfd„Zdd„Zdefd„Zy)ÚAsyncStreamIteratorÚ	read_funcÚreturnNc                 ó   — || _         y ©N)r#   )Úselfr#   s     r    Ú__init__zAsyncStreamIterator.__init__$   s	   € Ø"ˆ�r   c                 ó   — | S r&   r   ©r'   s    r    Ú	__aiter__zAsyncStreamIterator.__aiter__'   ó   € Øˆr   c              ƒ   ó€   K  — 	 | j                  «       ƒ d {  –—† }|dk(  rt        ‚|S 7 Œ# t        $ r t        ‚w xY w­w©Nr   )r#   r   ÚStopAsyncIteration©r'   Úrvs     r    Ú	__anext__zAsyncStreamIterator.__anext__*   sG   è ø€ ð	%Ø—~‘~Ó'×'ˆBð �Š9Ü$Ð$Øˆ	ð (ùÜò 	%Ü$Ð$ð	%üs    ‚>„+ —)˜+ œ>©+ «;»>)r$   zAsyncStreamIterator[_T])	r   r   r   r   r   r   r(   r+   r2   r   r   r    r"   r"   #   s4   „ ð# (¨2¨y¸©}Ð+<Ñ"=ð #À$ó #óð ô r   r"   c                   ó2   — e Zd Zdd„Zdd„Zdeeef   fd„Zy)ÚChunkTupleAsyncStreamIteratorr$   Nc                 ó   — || _         y r&   )Ú_stream)r'   Ústreams     r    r(   z&ChunkTupleAsyncStreamIterator.__init__5   s	   € Øˆ�r   c                 ó   — | S r&   r   r*   s    r    r+   z'ChunkTupleAsyncStreamIterator.__aiter__8   r,   r   c              ƒ   ól   K  — | j                   j                  «       ƒ d {  –—† }|dk(  rt        ‚|S 7 Œ­w)N©r   F)r6   Ú	readchunkr/   r0   s     r    r2   z'ChunkTupleAsyncStreamIterator.__anext__;   s3   è ø€ Ø—<‘<×)Ñ)Ó+×+ˆØ�ÒÜ$Ð$Øˆ	ð ,ús   ‚4 2¡4)r7   r   r$   N)r$   r4   )	r   r   r   r(   r+   r
   ÚbytesÚboolr2   r   r   r    r4   r4   4   s!   „ óóð  u¨d {Ñ!3ô r   r4   c                   óR   — e 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
y)ÚAsyncStreamReaderMixinr$   c                 ó,   — t        | j                  «      S r&   )r"   Úreadliner*   s    r    r+   z AsyncStreamReaderMixin.__aiter__C   s   € Ü" 4§=¡=Ó1Ð1r   Únc                 ó$   ‡ ‡— t        ˆˆ fd„«      S )z>Returns an asynchronous iterator that yields chunks of size n.c                  ó&   •— ‰j                  ‰ «      S r&   )Úread)rB   r'   s   €€r    ú<lambda>z5AsyncStreamReaderMixin.iter_chunked.<locals>.<lambda>H   s   ø€ ¨4¯9©9°Q«<€ r   )r"   ©r'   rB   s   ``r    Úiter_chunkedz#AsyncStreamReaderMixin.iter_chunkedF   s   ù€ ä"Ô#7Ó8Ð8r   c                 ó,   — t        | j                  «      S )z3Yield all available data as soon as it is received.)r"   Úreadanyr*   s    r    Úiter_anyzAsyncStreamReaderMixin.iter_anyJ   s   € ä" 4§<¡<Ó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.
        )r4   r*   s    r    Úiter_chunksz"AsyncStreamReaderMixin.iter_chunksN   s   € ô -¨TÓ2Ð2r   N)r   r   r   r"   r<   r+   ÚintrH   rK   r4   rM   r   r   r    r?   r?   B   sL   „ ð2Ð.¨uÑ5ó 2ð9˜cð 9Ð&9¸%Ñ&@ó 9ð1Ð-¨eÑ4ó 1ð3Ð:ô 3r   r?   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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!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!ed	efd'„Z'd!ed	efd(„Z(y)-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():
            ...

    r   N)ÚtimerÚloopÚprotocolÚlimitrP   rQ   r$   c                óD  — || _         || _        |dz  | _        |€t        j                  «       }|| _        d| _        d| _        d | _        t        j                  «       | _        d| _        d| _        d | _        d | _        d | _        |€
t#        «       n|| _        g | _        y )Né   r   F)Ú	_protocolÚ
_low_waterÚ_high_waterÚasyncioÚget_event_loopÚ_loopÚ_sizeÚ_cursorÚ_http_chunk_splitsÚcollectionsÚdequeÚ_bufferÚ_buffer_offsetÚ_eofÚ_waiterÚ_eof_waiterÚ
_exceptionr   Ú_timerÚ_eof_callbacks)r'   rR   rS   rP   rQ   s        r    r(   zStreamReader.__init__g   sš   € ð "ˆŒØˆŒØ  1™9ˆÔØˆ<Ü×)Ñ)Ó+ˆDØˆŒ
ØˆŒ
ØˆŒØ7;ˆÔÜ%0×%6Ñ%6Ó%8ˆŒØˆÔØˆŒ	Ø7;ˆŒØ;?ˆÔØ37ˆŒØ%* ]”i”k¸ˆŒØ8:ˆÕr   c                 ó   — | j                   j                  g}| j                  r|j                  d| j                  z  «       | j                  r|j                  d«       | j
                  dk7  r*|j                  d| j
                  | j                  fz  «       | j                  r|j                  d| j                  z  «       | j                  r|j                  d| j                  z  «       ddj                  |«      z  S )	Nz%d bytesÚeofi   zlow=%d high=%dzw=%rze=%rú<%s>ú )
Ú	__class__r   r\   Úappendrc   rW   rX   rd   rf   Újoin)r'   Úinfos     r    Ú__repr__zStreamReader.__repr__�   s»   € Ø—‘×'Ñ'Ð(ˆØ�:Š:Ø�K‰K˜
 T§Z¡ZÑ/Ô0Ø�9Š9Ø�K‰K˜ÔØ�?‰?˜eÒ#Ø�K‰KÐ(¨D¯O©O¸T×=MÑ=MÐ+NÑNÔOØ�<Š<Ø�K‰K˜ §¡Ñ-Ô.Ø�?Š?Ø�K‰K˜ §¡Ñ0Ô1Ø˜Ÿ™ ›Ñ&Ð&r   c                 ó2   — | j                   | j                  fS r&   )rW   rX   r*   s    r    Úget_read_buffer_limitsz#StreamReader.get_read_buffer_limits�   s   € Ø—‘ ×!1Ñ!1Ð2Ð2r   c                 ó   — | j                   S r&   ©rf   r*   s    r    Ú	exceptionzStreamReader.exception’   ó   € Ø�‰Ðr   Úexcc                 óÌ   — || _         | j                  j                  «        | j                  }|�d | _        t	        ||«       | j
                  }|�d | _        t	        ||«       y y r&   )rf   rh   Úclearrd   r   re   ©r'   rx   Úwaiters      r    r   zStreamReader.set_exception•   sc   € ØˆŒØ×Ñ×!Ñ!Ô#à—‘ˆØÐØˆDŒLÜ˜& #Ô&à×!Ñ!ˆØÐØ#ˆDÔÜ˜& #Õ&ð r   Úcallbackc                 ó¬   — | j                   r		  |«        y | j                  j                  |«       y # t        $ r t        j                  d«       Y y w xY w©NúException in eof callback)rc   Ú	Exceptionr   rv   rh   rn   ©r'   r}   s     r    Úon_eofzStreamReader.on_eof£   sL   € Ø�9Š9ðGÙ•
ð ×Ñ×&Ñ& xÕ0øô ò GÜ×)Ñ)Ð*EÖFðGús   Ž2 ²AÁAc                 óD  — d| _         | j                  }|�d | _        t        |d «       | j                  }|�d | _        t        |d «       | j                  D ]
  }	  |«        Œ | j                  j                  «        y # t
        $ r t        j                  d«       Y ŒHw xY w)NTr€   )	rc   rd   r   re   rh   r�   r   rv   rz   )r'   r|   Úcbs      r    Úfeed_eofzStreamReader.feed_eof¬   s¤   € ØˆŒ	à—‘ˆØÐØˆDŒLÜ�v˜tÔ$à×!Ñ!ˆØÐØ#ˆDÔÜ�v˜tÔ$à×%Ñ%ò 	GˆBðGÙ•ð	Gð 	×Ñ×!Ñ!Õ#øô ò GÜ×)Ñ)Ð*EÖFðGús   ÁA>Á>BÂBc                 ó   — | j                   S )z&Return True if  'feed_eof' was called.©rc   r*   s    r    Úis_eofzStreamReader.is_eofÁ   s   € à�y‰yÐr   c                 ó8   — | j                   xr | j                   S )z=Return True if the buffer is empty and 'feed_eof' was called.©rc   ra   r*   s    r    Úat_eofzStreamReader.at_eofÅ   s   € à�y‰yÒ- §¡Ð-Ð-r   c              ƒ   óÔ   K  — | j                   ry | j                  �J ‚| j                  j                  «       | _        	 | j                  ƒ d {  –—†  d | _        y 7 Œ# d | _        w xY w­wr&   )rc   re   r[   Úcreate_futurer*   s    r    Úwait_eofzStreamReader.wait_eofÉ   sa   è ø€ Ø�9Š9Øà×ÑÐ'Ð'Ð'ØŸ:™:×3Ñ3Ó5ˆÔð	$Ø×"Ñ"×"Ð"à#ˆDÕð #ùà#ˆDÕüs.   ‚;A(¾A ÁAÁA ÁA(ÁA Á	A%Á%A(Údatac                 óv  — t        j                  dt        d¬«       |sy| j                  r0| j                  d   | j                  d | j                  d<   d| _        | xj
                  t        |«      z  c_        | xj                  t        |«      z  c_        | j                  j                  |«       d| _	        y)zDrollback reading some data from stream, inserting it to buffer head.zJunread_data() is deprecated and will be removed in future releases (#3260)rU   )Ú
stacklevelNr   )
ÚwarningsÚwarnÚDeprecationWarningrb   ra   r\   Úlenr]   Ú
appendleftÚ_eof_counter)r'   r�   s     r    Úunread_datazStreamReader.unread_dataÔ   s“   € ä�‰ð=äØõ		
ñ Øà×ÒØ"Ÿl™l¨1™o¨d×.AÑ.AÐ.CÐDˆD�L‰L˜‰OØ"#ˆDÔØ�
Š
”c˜$“iÑ�
Ø�Šœ˜D›	Ñ!�Ø�‰×Ñ Ô%ØˆÕr   Úsizec                 ó¶  — | j                   rJ d«       ‚|sy | xj                  t        |«      z  c_        | j                  j	                  |«       | xj
                  t        |«      z  c_        | j                  }|�d | _        t        |d «       | j                  | j                  kD  r2| j                  j                  s| j                  j                  «        y y y )Nzfeed_data after feed_eof)rc   r\   r–   ra   rn   Útotal_bytesrd   r   rX   rV   Ú_reading_pausedÚpause_reading©r'   r�   rš   r|   s       r    Ú	feed_datazStreamReader.feed_dataè   sª   € Ø—9’9Ð8Ð8Ó8ˆ}áØà�
Š
”c˜$“iÑ�
Ø�‰×Ñ˜DÔ!Ø×ÒœC ›IÑ%Õà—‘ˆØÐØˆDŒLÜ�v˜tÔ$à�:‰:˜×(Ñ(Ò(°·±×1OÒ1OØ�N‰N×(Ñ(Õ*ð 2PÐ(r   c                 óZ   — | j                   €| j                  rt        d«      ‚g | _         y y )Nz?Called begin_http_chunk_receiving whensome data was already fed)r^   rœ   ÚRuntimeErrorr*   s    r    Úbegin_http_chunk_receivingz'StreamReader.begin_http_chunk_receivingú   s6   € Ø×"Ñ"Ð*Ø×ÒÜ"ØXóð ð ')ˆDÕ#ð +r   c                 ó  — | j                   €t        d«      ‚| j                   r| j                   d   nd}| j                  |k(  ry | j                   j                  | j                  «       | j                  }|�d | _        t        |d «       y y )NzFCalled end_chunk_receiving without calling begin_chunk_receiving firstéÿÿÿÿr   )r^   r¢   rœ   rn   rd   r   )r'   Úposr|   s      r    Úend_http_chunk_receivingz%StreamReader.end_http_chunk_receiving  s�   € Ø×"Ñ"Ð*Üð.óð ð .2×-DÒ-Dˆd×%Ñ% bÒ)È!ˆà×Ñ˜sÒ"ð à×Ñ×&Ñ& t×'7Ñ'7Ô8ð —‘ˆØÐØˆDŒLÜ�v˜tÕ$ð r   Ú	func_namec              ƒ   ó  K  — | j                   �t        d|z  «      ‚| j                  j                  «       x}| _         	 | j                  5  |ƒ d {  –—†  d d d «       d | _         y 7 Œ# 1 sw Y   ŒxY w# d | _         w xY w­w)NzH%s() called while another coroutine is already waiting for incoming data)rd   r¢   r[   rŽ   rg   )r'   r¨   r|   s      r    Ú_waitzStreamReader._wait   sˆ   è ø€ ð
 �<‰<Ð#Üð4Ø6?ñ@óð ð
 !%§
¡
× 8Ñ 8Ó :Ð:ˆ�”ð	 Ø—‘ñ Ø—�÷ð  ˆD�Lð ø÷ð ûð  ˆD�LüsF   ‚<B ¿A4 ÁA(ÁA&ÁA(ÁA4 ÁB Á&A(Á(A1Á-A4 Á4	A=Á=B c              ƒ   ó>   K  — | j                  «       ƒ d {  –—† S 7 Œ­wr&   )Ú	readuntilr*   s    r    rA   zStreamReader.readline2  s   è ø€ Ø—^‘^Ó%×%Ð%Ð%ús   ‚–—Ú	separatorc              ƒ   ó  K  — t        |«      }|dk(  rt        d«      ‚| j                  �| j                  ‚d}d}d}|rÇ| j                  rŽ|rŒ| j                  }| j                  d   j                  ||«      dz   }| j                  |r||z
  |z   dz
  nd«      }||z  }|t        |«      z  }|rd}|| j                  kD  rt        d«      ‚| j                  r|rŒŒ| j                  r	 |S |r| j                  d	«      ƒ d {  –—†  |rŒÇ|S 7 Œ	­w)
Nr   z,Separator should be at least one-byte stringr   Tr   r¥   FzChunk too bigr¬   )
r–   Ú
ValueErrorrf   ra   rb   ÚfindÚ_read_nowait_chunkrX   rc   rª   )	r'   r­   ÚseplenÚchunkÚ
chunk_sizeÚ
not_enoughÚoffsetÚicharr�   s	            r    r¬   zStreamReader.readuntil5  s   è ø€ Ü�Y“ˆØ�QŠ;ÜÐKÓLÐLà�?‰?Ð&Ø—/‘/Ð!àˆØˆ
Øˆ
áØ—,’,¡:Ø×,Ñ,�ØŸ™ Q™×,Ñ,¨Y¸Ó?À!ÑC�à×.Ñ.Ù38�E˜F‘N VÑ+¨aÒ/¸bó�ð ˜‘�Øœc $›iÑ'�
ÙØ!&�Jà × 0Ñ 0Ò0Ü$ _Ó5Ð5ð —,’,¢:ð �yŠyØð
 ˆñ Ø—j‘j Ó-×-Ð-ò) ð, ˆð .ús   ‚CD	Ã%D	Ã=DÃ>D	ÄD	rB   c              ƒ   ó2  K  — | j                   �| j                   ‚	 | j                  rG| j                  s;t        | dd«      dz   | _        | j                  dkD  rt        j                  dd¬«       |sy|dk  rAg }	 | j                  «       ƒ d {  –—† }|sn|j                  |«       Œ-dj                  |«      S | j                  s>| j                  s2| j                  d	«      ƒ d {  –—†  | j                  s| j                  sŒ2| j                  |«      S 7 Œ…7 Œ0­w)
NTr˜   r   r   é   zEMultiple access to StreamReader in eof state, might be infinite loop.)Ú
stack_infor   rE   )rf   rc   ra   Úgetattrr˜   r   ÚwarningrJ   rn   ro   rª   Ú_read_nowait)r'   rB   ÚblocksÚblocks       r    rE   zStreamReader.readY  s  è ø€ Ø�?‰?Ð&Ø—/‘/Ð!ð Ø�yŠy §¢Ü$+¨D°.À!Ó$DÀqÑ$H�Ô!Ø×$Ñ$ qÒ(Ü#×+Ñ+ð2à#'õñ ØàˆqŠ5ð
 ˆFØØ"Ÿl™l›n×,�ÙØØ—‘˜eÔ$ð	 ð
 —8‘8˜FÓ#Ð#ð
 —,’, t§y¢yØ—*‘*˜VÓ$×$Ð$ð —,’, t§y£yð × Ñ  Ó#Ð#ð -øð %ús+   ‚BDÂDÂADÃ$DÃ%DÄDÄDc              ƒ   óô   K  — | j                   �| j                   ‚| j                  s>| j                  s2| j                  d«      ƒ d {  –—†  | j                  s| j                  sŒ2| j	                  d«      S 7 Œ.­w)NrJ   r¥   )rf   ra   rc   rª   r½   r*   s    r    rJ   zStreamReader.readanyƒ  sb   è ø€ Ø�?‰?Ð&Ø—/‘/Ð!ð
 —,’, t§y¢yØ—*‘*˜YÓ'×'Ð'ð —,’, t§y£yð × Ñ  Ó$Ð$ð (ús   ‚AA8ÁA6ÁA8Á%A8c              ƒ   óÜ  K  — 	 | j                   �| j                   ‚| j                  r|| j                  j                  d«      }|| j                  k(  ry|| j                  kD  r | j	                  || j                  z
  «      dfS t        j                  d«       | j                  rŒ|| j                  r| j                  d«      dfS | j                  ry| j                  d	«      ƒ d{  –—†  Œæ7 Œ­w)
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;   )rf   r^   Úpopr]   r½   r   r¼   ra   r±   rc   rª   )r'   r¦   s     r    r;   zStreamReader.readchunk�  sß   è ø€ ð Ø�‰Ð*Ø—o‘oÐ%à×)Ò)Ø×-Ñ-×1Ñ1°!Ó4�Ø˜$Ÿ,™,Ò&Ø&Ø˜Ÿ™Ò%Ø ×-Ñ-¨c°D·L±LÑ.@ÓAÀ4ÐHÐHÜ×'Ñ'ð8ôð ×)Ó)ð �|Š|Ø×/Ñ/°Ó3°UÐ;Ð;ð �yŠyð $à—*‘*˜[Ó)×)Ð)ð1 ð0 *ús   ‚B!C,Â$A C,Ã$C*Ã%C,c              ƒ   óT  K  — | j                   �| j                   ‚g }|dkD  rs| j                  |«      ƒ d {  –—† }|s3dj                  |«      }t        j                  |t        |«      |z   «      ‚|j                  |«       |t        |«      z  }|dkD  rŒsdj                  |«      S 7 Œo­w)Nr   r   )rf   rE   ro   rY   ÚIncompleteReadErrorr–   rn   )r'   rB   r¾   r¿   Úpartials        r    ÚreadexactlyzStreamReader.readexactly±  s›   è ø€ Ø�?‰?Ð&Ø—/‘/Ð!à ˆØ�!ŠeØŸ)™) A›,×&ˆEÙØŸ(™( 6Ó*�Ü×1Ñ1°'¼3¸w»<È!Ñ;KÓLÐLØ�M‰M˜%Ô Ø”�U“‰OˆAð �!‹eð �x‰x˜ÓÐð 'ús   ‚4B(¶B&·AB(ÂB(c                 ó¶   — | j                   �| j                   ‚| j                  r%| j                  j                  «       st        d«      ‚| j	                  |«      S )Nz9Called while some coroutine is waiting for incoming data.)rf   rd   Údoner¢   r½   rG   s     r    Úread_nowaitzStreamReader.read_nowaitÀ  sQ   € ð
 �?‰?Ð&Ø—/‘/Ð!à�<Š< §¡× 1Ñ 1Ô 3ÜØKóð ð × Ñ  Ó#Ð#r   c                 óÀ  — | j                   d   }| j                  }|dk7  r/t        |«      |z
  |kD  r||||z    }| xj                  |z  c_        nC|r'| j                   j                  «        ||d  }d| _        n| j                   j                  «       }| xj                  t        |«      z  c_        | xj
                  t        |«      z  c_        | j                  }|r8|d   | j
                  k  r&|j                  d«       |r|d   | j
                  k  rŒ&| j                  | j                  k  r0| j                  j                  r| j                  j                  «        |S )Nr   r¥   )ra   rb   r–   Úpopleftr\   r]   r^   rÃ   rW   rV   r�   Úresume_reading)r'   rB   Úfirst_bufferr¶   r�   Úchunk_splitss         r    r±   zStreamReader._read_nowait_chunkÏ  s$  € Ø—|‘| A‘ˆØ×$Ñ$ˆØ�Š7”s˜<Ó(¨6Ñ1°AÒ5Ø ¨°!©Ð4ˆDØ×Ò 1Ñ$ÖáØ�L‰L× Ñ Ô"Ø  Ð(ˆDØ"#ˆDÕð —<‘<×'Ñ'Ó)ˆDà�
Š
”c˜$“iÑ�
Ø�Šœ˜D›	Ñ!�à×.Ñ.ˆá˜|¨A™°·±Ò=Ø×Ñ˜QÔñ ˜|¨A™°·±Ó=ð �:‰:˜Ÿ™Ò'¨D¯N©N×,JÒ,JØ�N‰N×)Ñ)Ô+Øˆr   c                 ó  — | j                   j                  «        g }| j                  rH| j                  |«      }|j	                  |«       |dk7  r|t        |«      z  }|dk(  rn| j                  rŒH|rdj                  |«      S dS )z6Read not more than n bytes, or whole buffer if n == -1r¥   r   r   )rg   Úassert_timeoutra   r±   rn   r–   ro   )r'   rB   Úchunksr³   s       r    r½   zStreamReader._read_nowaitê  sy   € à�‰×"Ñ"Ô$àˆØ�lŠlØ×+Ñ+¨AÓ.ˆEØ�M‰M˜%Ô Ø�BŠwØ”S˜“Z‘�Ø˜’6Øð �l‹lñ $*ˆs�x‰x˜ÓÐ2¨sÐ2r   ©r$   N©r   )ó   
©r¥   ))r   r   r   r   rœ   r   rN   r	   r   rY   ÚAbstractEventLoopr(   Ústrrq   r
   rs   ÚBaseExceptionrv   r   r   rƒ   r†   r=   r‰   rŒ   r�   r<   r™   r    r£   r§   rª   rA   r¬   rE   rJ   r;   rÇ   rÊ   r±   r½   r   r   r    r   r   W   sÊ  „ ñð €Kð -1Ø48ò;àð;ð ð;ð
 Ð(Ñ)ð;ð �w×0Ñ0Ñ1ð;ð 
ó;ð4'˜#ó 'ð3¨¨c°3¨h©ó 3ð˜8 MÑ2ó ð' ð '°4ó 'ð1˜x¨¨D¨Ñ1ð 1°dó 1ó$ð*˜ó ð.˜ó .ó	$ð ð ¨$ó ñ(+˜eð +¨3ð +°tó +ó$)ó%ð<  Sð  ¨Tó  ð$& ó &ñ"¨ð "¸5ó "ñH($˜Cð ($¨ó ($ðT
%˜uó 
%ð *  u¨d {Ñ!3ó  *ðD  3ð  ¨5ó  ñ$˜Sð $¨%ó $ð Cð ¨Eó ð63˜cð 3 eô 3r   r   c                   óü   — e Zd Zdd„Zdefd„Zdee   fd„Z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y)ÚEmptyStreamReaderr$   Nc                 ó   — d| _         y )NF©Ú_read_eof_chunkr*   s    r    r(   zEmptyStreamReader.__init__û  s
   € Ø$ˆÕr   c                 ó4   — d| j                   j                  z  S )Nrk   )rm   r   r*   s    r    rq   zEmptyStreamReader.__repr__þ  s   € Ø˜Ÿ™×/Ñ/Ñ/Ð/r   c                  ó   — y r&   r   r*   s    r    rv   zEmptyStreamReader.exception  ó   € Ør   rx   c                  ó   — y r&   r   )r'   rx   s     r    r   zEmptyStreamReader.set_exception  ó   € Ør   r}   c                 ó\   — 	  |«        y # t         $ r t        j                  d«       Y y w xY wr   )r�   r   rv   r‚   s     r    rƒ   zEmptyStreamReader.on_eof  s-   € ð	CÙ�JøÜò 	CÜ×%Ñ%Ð&AÖBð	Cús   ‚
 Š+ª+c                  ó   — y r&   r   r*   s    r    r†   zEmptyStreamReader.feed_eof  rã   r   c                  ó   — y©NTr   r*   s    r    r‰   zEmptyStreamReader.is_eof  rá   r   c                  ó   — yrç   r   r*   s    r    rŒ   zEmptyStreamReader.at_eof  rá   r   c              ƒ   ó   K  — y ­wr&   r   r*   s    r    r�   zEmptyStreamReader.wait_eof  s	   è ø€ Øùó   ‚r�   rB   c                  ó   — y r&   r   )r'   r�   rB   s      r    r    zEmptyStreamReader.feed_data  rã   r   c              ƒ   ó   K  — y­wr.   r   r*   s    r    rA   zEmptyStreamReader.readline  ó	   è ø€ Øùrê   c              ƒ   ó   K  — y­wr.   r   rG   s     r    rE   zEmptyStreamReader.read  rí   rê   c              ƒ   ó   K  — y­wr.   r   r*   s    r    rJ   zEmptyStreamReader.readany$  rí   rê   c              ƒ   ó4   K  — | j                   sd| _         yy­w)NTr:   rÂ   rÝ   r*   s    r    r;   zEmptyStreamReader.readchunk'  s   è ø€ Ø×#Ò#Ø#'ˆDÔ Øàùs   ‚c              ƒ   ó6   K  — t        j                  d|«      ‚­wr.   )rY   rÅ   rG   s     r    rÇ   zEmptyStreamReader.readexactly.  s   è ø€ Ü×)Ñ)¨#¨qÓ1Ð1ùs   ‚c                  ó   — yr.   r   rG   s     r    rÊ   zEmptyStreamReader.read_nowait1  s   € Ør   rÓ   rÔ   rÖ   )r   r   r   r(   rØ   rq   r	   rÙ   rv   r   r   rƒ   r†   r=   r‰   rŒ   r�   r<   rN   r    rA   rE   rJ   r
   r;   rÇ   rÊ   r   r   r    rÛ   rÛ   ú  sø   „ ó%ð0˜#ó 0ð˜8 MÑ2ó ð ð °4ó ðC˜x¨¨D¨Ñ1ð C°dó Cóð˜ó ð˜ó óñ˜eð ¨ð °Dó ð ó ñ˜Cð ¨ó ð
˜uó ð  u¨d {Ñ!3ó ð2 3ð 2¨5ó 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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y)r   z>DataQueue is a general-purpose blocking queue with one reader.rQ   r$   Nc                 ó|   — || _         d| _        d | _        d | _        d| _        t        j                  «       | _        y )NFr   )r[   rc   rd   rf   r\   r_   r`   ra   )r'   rQ   s     r    r(   zDataQueue.__init__;  s5   € ØˆŒ
ØˆŒ	Ø7;ˆŒØ37ˆŒØˆŒ
Ü.9×.?Ñ.?Ó.Aˆ�r   c                 ó,   — t        | j                  «      S r&   )r–   ra   r*   s    r    Ú__len__zDataQueue.__len__C  s   € Ü�4—<‘<Ó Ð r   c                 ó   — | j                   S r&   rˆ   r*   s    r    r‰   zDataQueue.is_eofF  s   € Ø�y‰yÐr   c                 ó8   — | j                   xr | j                   S r&   r‹   r*   s    r    rŒ   zDataQueue.at_eofI  s   € Ø�y‰yÒ- §¡Ð-Ð-r   c                 ó   — | j                   S r&   ru   r*   s    r    rv   zDataQueue.exceptionL  rw   r   rx   c                 ód   — d| _         || _        | j                  }|�d | _        t        ||«       y y rç   )rc   rf   rd   r   r{   s      r    r   zDataQueue.set_exceptionO  s5   € ØˆŒ	ØˆŒà—‘ˆØÐØˆDŒLÜ˜& #Õ&ð r   r�   rš   c                 ó¬   — | xj                   |z  c_         | j                  j                  ||f«       | j                  }|�d | _        t	        |d «       y y r&   )r\   ra   rn   rd   r   rŸ   s       r    r    zDataQueue.feed_dataX  sK   € Ø�
Š
�dÑ�
Ø�‰×Ñ˜T 4˜LÔ)à—‘ˆØÐØˆDŒLÜ�v˜tÕ$ð r   c                 óV   — d| _         | j                  }|�d | _        t        |d «       y y rç   )rc   rd   r   )r'   r|   s     r    r†   zDataQueue.feed_eofa  s.   € ØˆŒ	à—‘ˆØÐØˆDŒLÜ�v˜tÕ$ð r   c              ƒ   óÜ  K  — | j                   sN| j                  sB| j                  rJ ‚| j                  j	                  «       | _        	 | j                  ƒ d {  –—†  | j                   r4| j                   j                  «       \  }}| xj                  |z  c_	        |S | j                  �| j                  ‚t        ‚7 Œb# t
        j                  t
        j                  f$ r	 d | _        ‚ w xY w­wr&   )ra   rc   rd   r[   rŽ   rY   ÚCancelledErrorÚTimeoutErrorrÌ   r\   rf   r   )r'   r�   rš   s      r    rE   zDataQueue.readi  s¿   è ø€ Ø�|Š| D§I¢IØ—|’|Ð#Ð#ØŸ:™:×3Ñ3Ó5ˆDŒLðØ—l‘l×"Ð"ð
 �<Š<ØŸ™×-Ñ-Ó/‰JˆD�$Ø�JŠJ˜$Ñ�JØˆKà�‰Ð*Ø—o‘oÐ%ä�ð #ùÜ×*Ñ*¬G×,@Ñ,@ÐAò Ø#�”Øðüs1   ‚AC,Á	B= ÁB;ÁB= ÁAC,Â;B= Â=,C)Ã)C,c                 ó,   — t        | j                  «      S r&   )r"   rE   r*   s    r    r+   zDataQueue.__aiter__}  s   € Ü" 4§9¡9Ó-Ð-r   rÔ   rÓ   )r   r   r   r   rY   r×   r(   rN   rö   r=   r‰   rŒ   r	   rÙ   rv   r   r   r    r†   rE   r"   r+   r   r   r    r   r   8  s¦   „ ÙHðB˜W×6Ñ6ð B¸4ó Bð!˜ó !ð˜ó ð.˜ó .ð˜8 MÑ2ó ð' ð '°4ó 'ñ%˜bð %¨ð %°Dó %ó%ð ˜Bó  ð(.Ð.¨rÑ2ô .r   r   c                   ór   ‡ — 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ˆ fd„Zˆ xZS )r   zlFlowControlDataQueue resumes and pauses an underlying stream.

    It is a destination for parsed data.
    rR   rS   rQ   r$   Nc                óH   •— t         ‰| �  |¬«       || _        |dz  | _        y )N)rQ   rU   )Úsuperr(   rV   Ú_limit)r'   rR   rS   rQ   rm   s       €r    r(   zFlowControlDataQueue.__init__‡  s'   ø€ ô 	‰Ñ˜dÐÔ#à!ˆŒØ˜a‘iˆ�r   r�   rš   c                 ó¼   •— t         ‰| �  ||«       | j                  | j                  kD  r2| j                  j
                  s| j                  j                  «        y y y r&   )r  r    r\   r  rV   r�   rž   )r'   r�   rš   rm   s      €r    r    zFlowControlDataQueue.feed_data�  sG   ø€ Ü‰Ñ˜$ Ô%à�:‰:˜Ÿ™Ò#¨D¯N©N×,JÒ,JØ�N‰N×(Ñ(Õ*ð -KÐ#r   c              ƒ   ót  •K  — 	 t         ‰| �  «       ƒ d {  –—† | j                  | j                  k  r2| j                  j
                  r| j                  j                  «        S S S 7 ŒO# | j                  | j                  k  r2| j                  j
                  r| j                  j                  «        w w w xY w­wr&   )r  rE   r\   r  rV   r�   rÍ   )r'   rm   s    €r    rE   zFlowControlDataQueue.read•  sˆ   øè ø€ ð	0Ü™™›×'à�z‰z˜DŸK™KÒ'¨D¯N©N×,JÒ,JØ—‘×-Ñ-Õ/ð -KÐ'ð (ùà�z‰z˜DŸK™KÒ'¨D¯N©N×,JÒ,JØ—‘×-Ñ-Õ/ð -KÐ'üs-   ƒB8…A( –A&—A( šAB8Á&A( Á(AB5Â5B8rÔ   )r   r   r   r   r   rN   rY   r×   r(   r   r    rE   Ú__classcell__)rm   s   @r    r   r   �  s^   ø„ ñð
 Ø$ð Ø-0ð Ø;B×;TÑ;Tð à	õ ñ+˜bð +¨ð +°Dõ +ð0˜B÷ 0ñ 0r   r   )#rY   r_   r“   Útypingr   r   r   r   r   r   r	   r
   r   Úbase_protocolr   Úhelpersr   r   r   r   Úlogr   Ú__all__r   r�   r   r"   r4   r?   r   rÛ   r   Ú__annotations__r   r   r   r   r    ú<module>r     sÁ   ðÜ Û Û ÷
÷ 
õ 
õ (ß KÓ KÝ  ð€ñ ˆTƒ]€ô!�	ô !ô˜' "™+ô ÷"ñ ÷3ñ 3ô*`3Ð)ô `3ôF8˜ô 8ñv &7Ó%8€ˆu�\Ñ"Ó 8ôF.�˜‘ô F.ôR0˜9 R™=õ 0r   