ó
    	[h9W  ã                   ón  • % S SK r S SKrS SKrS SKJrJrJrJrJrJ	r	J
r
JrJr  SSKJr  SSKJrJrJrJrJr  SSKJr  Sr\" S5      r " S	 S
\5      r " S S\\   5      r " S S5      r " S S5      r " S S\5      r " S S\5      r\" 5       r \\   \!S'    " S S\\   5      r" " S S\"\   5      r#g)é    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                   ó   • \ rS rSrSrSrg)r   é$   zeof stream indication.© N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú__static_attributes__r   ó    Ú^/home/gothic/public_html/Fooocus/fooocus_env/lib64/python3.13/site-packages/aiohttp/streams.pyr   r   $   s   † Ü r"   r   c                   óR   • \ rS rSrSrS\/ \\   4   SS4S jrS	S jr	S\4S jr
Srg)
ÚAsyncStreamIteratoré(   ©Ú	read_funcr(   ÚreturnNc                 ó   • Xl         g ©Nr'   )Úselfr(   s     r#   Ú__init__ÚAsyncStreamIterator.__init__,   s   € Ø"�r"   c                 ó   • U $ r+   r   ©r,   s    r#   Ú	__aiter__ÚAsyncStreamIterator.__aiter__/   ó   € Øˆr"   c              ƒ   ó„   #   •  U R                  5       I S h  v•N nUS:X  a  [        eU$  N! [         a    [        ef = f7f©Nr"   )r(   r   ÚStopAsyncIteration©r,   Úrvs     r#   Ú	__anext__ÚAsyncStreamIterator.__anext__2   sF   é € ð	%Ø—~‘~Ó'×'ˆBð �‹9Ü$Ð$Øˆ	ñ (øÜó 	%Ü$Ð$ð	%üs#   ‚A „, —*˜, œA ª, ¬=½A )r)   zAsyncStreamIterator[_T])r   r   r   r   Ú	__slots__r   r   r   r-   r1   r9   r!   r   r"   r#   r%   r%   (   s9   † à€Ið# (¨2¨y¸©}Ð+<Ñ"=ð #À$ô #ôð ÷ r"   r%   c                   óD   • \ rS rSrSrSS jrS	S jrS\\\	4   4S jr
Srg)
ÚChunkTupleAsyncStreamIteratoré<   ©Ú_streamr)   Nc                 ó   • Xl         g r+   r?   )r,   Ústreams     r#   r-   Ú&ChunkTupleAsyncStreamIterator.__init__@   s   € Ø�r"   c                 ó   • U $ r+   r   r0   s    r#   r1   Ú'ChunkTupleAsyncStreamIterator.__aiter__C   r3   r"   c              ƒ   ón   #   • U R                   R                  5       I S h  v•N nUS:X  a  [        eU$  N7f)N©r"   F)r@   Ú	readchunkr6   r7   s     r#   r9   Ú'ChunkTupleAsyncStreamIterator.__anext__F   s2   é € Ø—<‘<×)Ñ)Ó+×+ˆØ�ÓÜ$Ð$Øˆ	ñ ,ùs   ‚5 3¡5)rB   r   r)   N)r)   r=   )r   r   r   r   r;   r-   r1   r
   ÚbytesÚboolr9   r!   r   r"   r#   r=   r=   <   s&   † à€Iôôð  u¨d {Ñ!3÷ r"   r=   c                   óf   • \ rS rSrSrS\\   4S jrS\S\\   4S jr	S\\   4S jr
S\4S jrSrg	)
ÚAsyncStreamReaderMixinéM   r   r)   c                 ó,   • [        U R                  5      $ r+   )r%   Úreadliner0   s    r#   r1   Ú AsyncStreamReaderMixin.__aiter__Q   s   € Ü" 4§=¡=Ó1Ð1r"   Únc                 ó&   ^ ^• [        UU 4S j5      $ )z>Returns an asynchronous iterator that yields chunks of size n.c                  ó&   >• TR                  T 5      $ r+   )Úread)rR   r,   s   €€r#   Ú<lambda>Ú5AsyncStreamReaderMixin.iter_chunked.<locals>.<lambda>V   s   ø€ ¨4¯9©9°Q¬<r"   )r%   ©r,   rR   s   ``r#   Úiter_chunkedÚ#AsyncStreamReaderMixin.iter_chunkedT   s   ù€ ä"Õ#7Ó8Ð8r"   c                 ó,   • [        U R                  5      $ )z3Yield all available data as soon as it is received.)r%   Úreadanyr0   s    r#   Úiter_anyÚAsyncStreamReaderMixin.iter_anyX   s   € ä" 4§<¡<Ó0Ð0r"   c                 ó   • [        U 5      $ )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.
)r=   r0   s    r#   Úiter_chunksÚ"AsyncStreamReaderMixin.iter_chunks\   s   € ô -¨TÓ2Ð2r"   N)r   r   r   r   r;   r%   rJ   r1   ÚintrY   r]   r=   r`   r!   r   r"   r#   rM   rM   M   sQ   † à€Ið2Ð.¨uÑ5ô 2ð9˜cð 9Ð&9¸%Ñ&@ô 9ð1Ð-¨eÑ4ô 1ð3Ð:÷ 3r"   rM   c                   ó  • \ rS rSrSrSrSSS.S\S\S\\	   S	\\
R                     S
S4
S jjrS
\4S jrS
\\\4   4S jrS
\\   4S jr\4S\S\S
S4S jjrS\/ S4   S
S4S jrS,S jrS
\4S jrS
\4S jrS,S jrS\S
S4S jrS-S\S\S
S4S jjrS,S jrS,S jr S\S
S4S jr!S
\4S  jr"S.S!\S
\4S" jjr#S/S#\S
\4S$ jjr$S
\4S% jr%S
\\\4   4S& jr&S#\S
\4S' jr'S/S#\S
\4S( jjr(S#\S
\4S) jr)S#\S
\4S* jr*S+r+g)0r   ée   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Úlimitrv   rw   r)   c                ób  • Xl         X l        US-  U l        Uc  [        R                  " 5       nX@l        SU l        SU l        S U l        [        R                  " 5       U l        SU l        SU l        S U l        S U l        S U l        Uc
  [#        5       OUU l        / U l        SU l        SU l        g )Né   r   F)re   rf   rg   ÚasyncioÚget_event_looprh   ri   rj   rk   ÚcollectionsÚdequerl   rm   rn   ro   rp   rq   r   rr   rs   rt   ru   )r,   rx   ry   rv   rw   s        r#   r-   ÚStreamReader.__init__‡   s¤   € ð "ŒØŒØ  1™9ˆÔØ‰<Ü×)Ò)Ó+ˆDØŒ
ØˆŒ
ØˆŒØ7;ˆÔÜ%0×%6Ò%6Ó%8ˆŒØˆÔØˆŒ	Ø7;ˆŒØ;?ˆÔØ37ˆŒØ%*¡]”i”k¸ˆŒØ8:ˆÔØˆÔØˆÕr"   c                 ó*  • U R                   R                  /nU R                  (       a  UR                  SU R                  -  5        U R                  (       a  UR                  S5        U R
                  S:w  a*  UR                  SU R
                  U R                  4-  5        U R                  (       a  UR                  SU R                  -  5        U R                  (       a  UR                  SU R                  -  5        SSR                  U5      -  $ )	Nz%d bytesÚeofi   zlow=%d high=%dzw=%rze=%rú<%s>Ú )
Ú	__class__r   ri   Úappendrn   rf   rg   ro   rq   Újoin)r,   Úinfos     r#   Ú__repr__Ú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   • U R                   U R                  4$ r+   )rf   rg   r0   s    r#   Úget_read_buffer_limitsÚ#StreamReader.get_read_buffer_limits±   s   € Ø—‘ ×!1Ñ!1Ð2Ð2r"   c                 ó   • U R                   $ r+   ©rq   r0   s    r#   Ú	exceptionÚStreamReader.exception´   ó   € Ø�‰Ðr"   ÚexcÚ	exc_causec                 óÎ   • Xl         U R                  R                  5         U R                  nUb  S U l        [	        X1U5        U R
                  nUb  S U l        [	        X1U5        g g r+   )rq   rs   Úclearro   r   rp   ©r,   r“   r”   Úwaiters       r#   r   ÚStreamReader.set_exception·   sc   € ð
 ŒØ×Ñ×!Ñ!Ô#à—‘ˆØÑØˆDŒLÜ˜& yÔ1à×!Ñ!ˆØÑØ#ˆDÔÜ˜& yÕ1ð r"   Úcallbackc                 óº   • U R                   (       a	   U" 5         g U R                  R                  U5        g ! [         a    [        R                  " S5         g f = f©NúException in eof callback)rn   Ú	Exceptionr   r�   rs   r†   ©r,   rš   s     r#   Úon_eofÚStreamReader.on_eofÉ   sL   € Ø�9�9ðGÙ•
ð ×Ñ×&Ñ& xÕ0øô ó GÜ×)Ò)Ð*EÖFðGús   “7 · AÁAc                 ó¼  • SU l         U R                  nUb  S U l        [        US 5        U R                  nUb  S U l        [        US 5        U R                  R
                  (       a  U R                  R                  5         U R                   H  n U" 5         M     U R                  R                  5         g ! [         a    [        R                  " S5         MM  f = f)NTr�   )rn   ro   r   rp   re   Ú_reading_pausedÚresume_readingrs   rž   r   r�   r–   )r,   r˜   Úcbs      r#   Úfeed_eofÚStreamReader.feed_eofÒ   sº   € ØˆŒ	à—‘ˆØÑØˆDŒLÜ�v˜tÔ$à×!Ñ!ˆØÑØ#ˆDÔÜ�v˜tÔ$à�>‰>×)×)Ø�N‰N×)Ñ)Ô+à×%Ô%ˆBðGÙ–ñ &ð 	×Ñ×!Ñ!Õ#øô ó GÜ×)Ò)Ð*E×FðGús   ÂB7Â7 CÃCc                 ó   • U R                   $ )z&Return True if  'feed_eof' was called.©rn   r0   s    r#   Úis_eofÚStreamReader.is_eofê   s   € à�y‰yÐr"   c                 óJ   • U R                   =(       a    U R                  (       + $ )z=Return True if the buffer is empty and 'feed_eof' was called.©rn   rl   r0   s    r#   Úat_eofÚStreamReader.at_eofî   s   € à�y‰y×- §¡Ô-Ð-r"   c              ƒ   óà   #   • U R                   (       a  g U R                  b   eU R                  R                  5       U l         U R                  I S h  v•N   S U l        g  N! S U l        f = f7fr+   )rn   rp   rh   Úcreate_futurer0   s    r#   Úwait_eofÚStreamReader.wait_eofò   s`   é € Ø�9�9Øà×ÑÑ'Ð'Ð'ØŸ:™:×3Ñ3Ó5ˆÔð	$Ø×"Ñ"×"Ð"à#ˆDÕñ #øà#ˆDÕüs0   ‚AA.ÁA" ÁA ÁA" ÁA.Á A" Á"	A+Á+A.Údatac                 ó†  • [         R                  " S[        SS9  U(       d  gU R                  (       a0  U R                  S   U R                  S U R                  S'   SU l        U =R
                  [        U5      -  sl        U =R                  [        U5      -  sl        U R                  R                  U5        SU l	        g)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ÚDeprecationWarningrm   rl   ri   Úlenrj   Ú
appendleftrt   )r,   r´   s     r#   Úunread_dataÚStreamReader.unread_dataý   s“   € ä�Šð=äØò		
ö Øà××Ø"Ÿl™l¨1™o¨d×.AÑ.AÐ.CÐDˆD�L‰L˜‰OØ"#ˆDÔØ�
Š
”c˜$“iÑ�
Ø�Šœ˜D›	Ñ!�Ø�‰×Ñ Ô%ØˆÕr"   Úsizec                 óÊ  • U R                   (       a   S5       eU(       d  g [        U5      nU =R                  U-  sl        U R                  R	                  U5        U =R
                  U-  sl        U R                  nUb  S U l        [        US 5        U R                  U R                  :”  a7  U R                  R                  (       d  U R                  R                  5         g g g )Nzfeed_data after feed_eof)rn   rº   ri   rl   r†   ru   ro   r   rg   re   r£   Úpause_reading)r,   r´   r¾   Údata_lenr˜   s        r#   Ú	feed_dataÚStreamReader.feed_data  s«   € Ø—9—9Ð8Ð8Ó8ˆ}æØä�t“9ˆØ�
Š
�hÑ�
Ø�‰×Ñ˜DÔ!Ø×Ò˜HÑ$Õà—‘ˆØÑØˆDŒLÜ�v˜tÔ$à�:‰:˜×(Ñ(Ó(°·±×1O×1OØ�N‰N×(Ñ(Õ*ð 2PÐ(r"   c                 óf   • U R                   c$  U R                  (       a  [        S5      e/ U l         g g )Nz@Called begin_http_chunk_receiving when some data was already fed)rk   ru   ÚRuntimeErrorr0   s    r#   Úbegin_http_chunk_receivingÚ'StreamReader.begin_http_chunk_receiving$  s6   € Ø×"Ñ"Ñ*Ø××Ü"ØVóð ð ')ˆDÕ#ð +r"   c                 ó*  • U R                   c  [        S5      eU R                   (       a  U R                   S   OSnU R                  U:X  a  g U R                   R                  U R                  5        U R                  nUb  S U l        [        US 5        g g )NzFCalled end_chunk_receiving without calling begin_chunk_receiving firstéÿÿÿÿr   )rk   rÅ   ru   r†   ro   r   )r,   Úposr˜   s      r#   Úend_http_chunk_receivingÚ%StreamReader.end_http_chunk_receiving,  s�   € Ø×"Ñ"Ñ*Üð.óð ð .2×-D×-Dˆd×%Ñ% bÒ)È!ˆà×Ñ˜sÓ"ð à×Ñ×&Ñ& t×'7Ñ'7Ô8ð —‘ˆØÑØˆDŒLÜ�v˜tÕ$ð r"   Ú	func_namec              ƒ   óZ  #   • U R                   R                  (       d  [        S5      eU R                  b  [        SU-  5      eU R                  R                  5       =o l         U R                     UI S h  v•N   S S S 5        S U l        g  N! , (       d  f       N= f! S U l        f = f7f)NzConnection closed.zH%s() called while another coroutine is already waiting for incoming data)re   Ú	connectedrÅ   ro   rh   r±   rr   )r,   rÍ   r˜   s      r#   Ú_waitÚStreamReader._waitJ  s•   é € Ø�~‰~×'×'ÜÐ3Ó4Ð4ð �<‰<Ñ#Üð4Ø6?ñ@óð ð
 !%§
¡
× 8Ñ 8Ó :Ð:ˆ”ð	 Ø—“Ø—�÷ ð  ˆD�Lñ ÷ •ûð  ˆD�LüsH   ‚A"B+Á%B Á1BÁ7BÁ8BÁ<B ÂB+ÂBÂ
BÂB Â	B(Â(B+c              ƒ   ó>   #   • U R                  5       I S h  v•N $  N7fr+   )Ú	readuntilr0   s    r#   rP   ÚStreamReader.readline_  s   é € Ø—^‘^Ó%×%Ð%Ñ%ùs   ‚–—Ú	separatorc              ƒ   ó|  #   • [        U5      nUS:X  a  [        S5      eU R                  b  U R                  eSnSnSnU(       aó  U R                  (       a¥  U(       až  U R                  nU R                  S   R                  X5      S-   nU R                  U(       a
  Xv-
  U-   S-
  OS5      nX8-  nU[        U5      -  nU(       a  SnX@R                  :”  a  [        S5      eU R                  (       a	  U(       a  Mž  U R                  (       a   U$ U(       a  U R                  S	5      I S h  v•N   U(       a  Mó  U$  N7f)
Nr   z,Separator should be at least one-byte stringr"   Tr   rÉ   FzChunk too bigrÓ   )
rº   Ú
ValueErrorrq   rl   rm   ÚfindÚ_read_nowait_chunkrg   rn   rÐ   )	r,   rÕ   ÚseplenÚchunkÚ
chunk_sizeÚ
not_enoughÚoffsetÚicharr´   s	            r#   rÓ   ÚStreamReader.readuntilb  s  é € Ü�Y“ˆØ�Q‹;ÜÐKÓLÐLà�?‰?Ñ&Ø—/‘/Ð!àˆØˆ
Øˆ
æØ—,—,¦:Ø×,Ñ,�ØŸ™ Q™×,Ñ,¨YÓ?À!ÑC�à×.Ñ.Þ38�E‘N VÑ+¨aÒ/¸bó�ð ‘�Øœc $›iÑ'�
ÞØ!&�Jà× 0Ñ 0Ó0Ü$ _Ó5Ð5ð —,—,§: :ð �y�yØð
 ˆö Ø—j‘j Ó-×-Ð-÷) ˆjð, ˆñ .ùs   ‚C7D<Ã;/D<Ä*D:Ä+D<Ä8D<rR   c              ƒ   óˆ  #   • U R                   b  U R                   e U R                  (       aK  U R                  (       d:  [        U SS5      S-   U l        U R                  S:”  a  [
        R                  " SSS9  U(       d  gUS:  aG  / n U R                  5       I S h  v•N nU(       d  OUR                  U5        M3  SR                  U5      $ U R                  (       dN  U R                  (       d=  U R                  S	5      I S h  v•N   U R                  (       d  U R                  (       d  M=  U R                  U5      $  N  N;7f)
NTrt   r   r   é   zEMultiple access to StreamReader in eof state, might be infinite loop.)Ú
stack_infor"   rU   )rq   rn   rl   Úgetattrrt   r   Úwarningr\   r†   r‡   rÐ   Ú_read_nowait)r,   rR   ÚblocksÚblocks       r#   rU   ÚStreamReader.read†  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¡yð × Ñ  Ó#Ð#ñ -ñ %ùs+   ‚BEÂD>ÂA&EÄE Ä&EÄ-EÅ Ec              ƒ   ó   #   • U R                   b  U R                   eU R                  (       dN  U R                  (       d=  U R                  S5      I S h  v•N   U R                  (       d  U R                  (       d  M=  U R	                  S5      $  N97f)Nr\   rÉ   )rq   rl   rn   rÐ   ræ   r0   s    r#   r\   ÚStreamReader.readany°  sc   é € Ø�?‰?Ñ&Ø—/‘/Ð!ð
 —,—, t§y§yØ—*‘*˜YÓ'×'Ð'ð —,—, t§y§y¡yð × Ñ  Ó$Ð$ñ (ùs   ‚ABÁBÁ&BÁ;Bc              ƒ   ó
  #   •  U R                   b  U R                   eU R                  (       a‚  U R                  R                  S5      nXR                  :X  a  gXR                  :”  a  U R	                  XR                  -
  5      S4$ [
        R                  " S5        U R                  (       a  M‚  U R                  (       a  U R                  S5      S4$ U R                  (       a  gU R                  S	5      I Sh  v•N   Mý   N7f)
zß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É   FrG   rH   )rq   rk   Úpoprj   ræ   r   rå   rl   rÙ   rn   rÐ   )r,   rÊ   s     r#   rH   ÚStreamReader.readchunk¼  sÛ   é € ð Ø�‰Ñ*Ø—o‘oÐ%à×)×)Ø×-Ñ-×1Ñ1°!Ó4�ØŸ,™,Ó&Ø&ØŸ™Ó%Ø ×-Ñ-¨c·L±LÑ.@ÓAÀ4ÐHÐHÜ×'Ò'ð8ôð ×)×)Ñ)ð �|�|Ø×/Ñ/°Ó3°UÐ;Ð;ð �y�yð $à—*‘*˜[Ó)×)Ð)ñ1 ñ0 *ùs   ‚B,DÂ0A
DÃ:DÃ;Dc              ƒ   óh  #   • U R                   b  U R                   e/ nUS:”  a{  U R                  U5      I S h  v•N nU(       d4  SR                  U5      n[        R                  " U[        U5      U-   5      eUR                  U5        U[        U5      -  nUS:”  a  M{  SR                  U5      $  Nw7f)Nr   r"   )rq   rU   r‡   r|   ÚIncompleteReadErrorrº   r†   )r,   rR   rç   rè   Úpartials        r#   ÚreadexactlyÚStreamReader.readexactlyÞ  sš   é € Ø�?‰?Ñ&Ø—/‘/Ð!à ˆØ�!‹eØŸ)™) A›,×&ˆEÞØŸ(™( 6Ó*�Ü×1Ò1°'¼3¸w»<È!Ñ;KÓLÐLØ�M‰M˜%Ô Ø”�U“‰OˆAð �!�eð �x‰x˜ÓÐñ 'ùs   ‚6B2¸B0¹A$B2ÂB2c                 óÌ   • U R                   b  U R                   eU R                  (       a*  U R                  R                  5       (       d  [        S5      eU R	                  U5      $ )Nz9Called while some coroutine is waiting for incoming data.)rq   ro   ÚdonerÅ   ræ   rX   s     r#   Úread_nowaitÚStreamReader.read_nowaití  sT   € ð
 �?‰?Ñ&Ø—/‘/Ð!à�<�< §¡× 1Ñ 1× 3Ñ 3ÜØKóð ð × Ñ  Ó#Ð#r"   c                 óà  • U R                   S   nU R                  nUS:w  a.  [        U5      U-
  U:”  a  X#X1-    nU =R                  U-  sl        OGU(       a&  U R                   R                  5         X#S  nSU l        OU R                   R                  5       n[        U5      nU =R                  U-  sl        U =R
                  U-  sl        U R                  nU(       a@  US   U R
                  :  a-  UR                  S5        U(       a  US   U R
                  :  a  M-  U R                  U R                  :  a5  U R                  R                  (       a  U R                  R                  5         U$ )Nr   rÉ   )rl   rm   rº   Úpopleftri   rj   rk   rî   rf   re   r£   r¤   )r,   rR   Úfirst_bufferrÞ   r´   rÁ   Úchunk_splitss          r#   rÙ   ÚStreamReader._read_nowait_chunkü  s  € Ø—|‘| A‘ˆØ×$Ñ$ˆØ�‹7”s˜<Ó(¨6Ñ1°AÓ5Ø¨©Ð4ˆDØ×Ò 1Ñ$ÖæØ�L‰L× Ñ Ô"Ø Ð(ˆDØ"#ˆDÕð —<‘<×'Ñ'Ó)ˆDä�t“9ˆØ�
Š
�hÑ�
Ø�Š˜Ñ �à×.Ñ.ˆæ˜|¨A™°·±Ó=Ø×Ñ˜QÔö ˜|¨A™°·±Õ=ð �:‰:˜Ÿ™Ó'¨D¯N©N×,J×,JØ�N‰N×)Ñ)Ô+Øˆr"   c                 ó0  • U R                   R                  5         / nU R                  (       aP  U R                  U5      nUR	                  U5        US:w  a  U[        U5      -  nUS:X  a  OU R                  (       a  MP  U(       a  SR                  U5      $ S$ )z6Read not more than n bytes, or whole buffer if n == -1rÉ   r   r"   )rr   Úassert_timeoutrl   rÙ   r†   rº   r‡   )r,   rR   ÚchunksrÛ   s       r#   ræ   ÚStreamReader._read_nowait  s{   € à�‰×"Ñ"Ô$àˆØ�l�lØ×+Ñ+¨AÓ.ˆEØ�M‰M˜%Ô Ø�B‹wØ”S˜“Z‘�Ø˜“6Øð �l�l‰lö $*ˆs�x‰x˜ÓÐ2¨sÐ2r"   )rl   rm   rj   rn   rs   rt   rp   rq   rg   rk   rh   rf   re   ri   rr   ro   ru   ©r)   N©r   )ó   
©rÉ   ),r   r   r   r   r    r;   r   rb   r	   r   r|   ÚAbstractEventLoopr-   Ústrr‰   r
   rŒ   ÚBaseExceptionr�   r   r   r   r    r¦   rK   rª   r®   r²   rJ   r¼   rÂ   rÆ   rË   rÐ   rP   rÓ   rU   r\   rH   ró   r÷   rÙ   ræ   r!   r   r"   r#   r   r   e   sÝ  † ñð€Ið2 -1Ø48òàðð ðð
 Ð(Ñ)ðð �w×0Ñ0Ñ1ðð 
õð8'˜#ô 'ð3¨¨c°3¨h©ô 3ð˜8 MÑ2ô ð $1ñ2àð2ð !ð2ð 
õ	2ð$1˜x¨¨D¨Ñ1ð 1°dô 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÷ 3r"   r   c                   ó8  • \ rS rSrSrSS jrS\4S jrS\\	   4S jr
\4S\	S	\	SS4S
 jjrS\/ S4   SS4S jrSS jrS\4S jrS\4S jrSS jrSS\S\SS4S jjrS\4S jrSS\S\4S jjrS\4S jrS\\\4   4S jrS\S\4S jrSS\S\4S jjrSrg)ÚEmptyStreamReaderi(  ©Ú_read_eof_chunkr)   Nc                 ó    • SU l         SU l        g )NFr   ©r  ru   r0   s    r#   r-   ÚEmptyStreamReader.__init__,  s   € Ø$ˆÔØˆÕr"   c                 ó4   • SU R                   R                  -  $ )Nrƒ   )r…   r   r0   s    r#   r‰   ÚEmptyStreamReader.__repr__0  s   € Ø˜Ÿ™×/Ñ/Ñ/Ð/r"   c                 ó   • g r+   r   r0   s    r#   r�   ÚEmptyStreamReader.exception3  ó   € Ør"   r“   r”   c                 ó   • g r+   r   )r,   r“   r”   s      r#   r   ÚEmptyStreamReader.set_exception6  s   € ð
 	r"   rš   c                 ó`   •  U" 5         g ! [          a    [        R                  " S5         g f = frœ   )rž   r   r�   rŸ   s     r#   r    ÚEmptyStreamReader.on_eof=  s-   € ð	CÙ�JøÜó 	CÜ×%Ò%Ð&AÖBð	Cús   ‚
 Š -¬-c                 ó   • g r+   r   r0   s    r#   r¦   ÚEmptyStreamReader.feed_eofC  ó   € Ør"   c                 ó   • g©NTr   r0   s    r#   rª   ÚEmptyStreamReader.is_eofF  r  r"   c                 ó   • gr  r   r0   s    r#   r®   ÚEmptyStreamReader.at_eofI  r  r"   c              ƒ   ó   #   • g 7fr+   r   r0   s    r#   r²   ÚEmptyStreamReader.wait_eofL  s   é € Øùó   ‚r´   rR   c                 ó   • g r+   r   )r,   r´   rR   s      r#   rÂ   ÚEmptyStreamReader.feed_dataO  r  r"   c              ƒ   ó   #   • g7fr5   r   r0   s    r#   rP   ÚEmptyStreamReader.readlineR  ó   é € Øùr#  c              ƒ   ó   #   • g7fr5   r   rX   s     r#   rU   ÚEmptyStreamReader.readU  r(  r#  c              ƒ   ó   #   • g7fr5   r   r0   s    r#   r\   ÚEmptyStreamReader.readanyZ  r(  r#  c              ƒ   ó>   #   • U R                   (       d  SU l         gg7f)NTrG   rí   r  r0   s    r#   rH   ÚEmptyStreamReader.readchunk]  s   é € Ø×#×#Ø#'ˆDÔ Øàùs   ‚c              ƒ   ó8   #   • [         R                  " SU5      e7fr5   )r|   rñ   rX   s     r#   ró   ÚEmptyStreamReader.readexactlyd  s   é € Ü×)Ò)¨#¨qÓ1Ð1ùs   ‚c                 ó   • gr5   r   rX   s     r#   r÷   ÚEmptyStreamReader.read_nowaitg  s   € Ør"   r  r  r  r  )r   r   r   r   r;   r-   r  r‰   r	   r  r�   r   r   r   r    r¦   rK   rª   r®   r²   rJ   rb   rÂ   rP   rU   r\   r
   rH   ró   r÷   r!   r   r"   r#   r
  r
  (  s  † à$€Iôð0˜#ô 0ð˜8 MÑ2ô ð $1ñàðð !ðð 
õ	ðC˜x¨¨D¨Ñ1ð C°dô Côð˜ô ð˜ô ôñ˜eð ¨ð °Dõ ð ô ñ˜Cð ¨õ ð
˜uô ð  u¨d {Ñ!3ô ð2 3ð 2¨5ô 2ñ˜Sð ¨%÷ ð r"   r
  r   c                   óÞ   • \ rS rSrSrS\R                  SS4S jrS\4S jr	S\
4S jrS\
4S	 jrS\\   4S
 jr\4S\S\SS4S jjrSS\S\SS4S jjrSS jrS\4S jrS\\   4S jrSrg)r   in  z>DataQueue is a general-purpose blocking queue with one reader.rw   r)   Nc                 ón   • Xl         SU l        S U l        S U l        [        R
                  " 5       U l        g )NF)rh   rn   ro   rq   r~   r   rl   )r,   rw   s     r#   r-   ÚDataQueue.__init__q  s,   € ØŒ
ØˆŒ	Ø7;ˆŒØ37ˆŒÜ.9×.?Ò.?Ó.Aˆ�r"   c                 ó,   • [        U R                  5      $ r+   )rº   rl   r0   s    r#   Ú__len__ÚDataQueue.__len__x  s   € Ü�4—<‘<Ó Ð r"   c                 ó   • U R                   $ r+   r©   r0   s    r#   rª   ÚDataQueue.is_eof{  s   € Ø�y‰yÐr"   c                 óJ   • U R                   =(       a    U R                  (       + $ r+   r­   r0   s    r#   r®   ÚDataQueue.at_eof~  s   € Ø�y‰y×- §¡Ô-Ð-r"   c                 ó   • U R                   $ r+   r�   r0   s    r#   r�   ÚDataQueue.exception�  r’   r"   r“   r”   c                 ód   • SU l         Xl        U R                  =nb  S U l        [        X1U5        g g r  )rn   rq   ro   r   r—   s       r#   r   ÚDataQueue.set_exception„  s5   € ð
 ˆŒ	ØŒØ—l‘lÐ"ˆFÑ/ØˆDŒLÜ˜& yÕ1ð 0r"   r´   r¾   c                 ó‚   • U R                   R                  X45        U R                  =nb  S U l        [        US 5        g g r+   )rl   r†   ro   r   )r,   r´   r¾   r˜   s       r#   rÂ   ÚDataQueue.feed_data�  s;   € Ø�‰×Ñ˜T˜LÔ)Ø—l‘lÐ"ˆFÑ/ØˆDŒLÜ�v˜tÕ$ð 0r"   c                 óX   • SU l         U R                  =nb  S U l        [        US 5        g g r  )rn   ro   r   )r,   r˜   s     r#   r¦   ÚDataQueue.feed_eof•  s.   € ØˆŒ	Ø—l‘lÐ"ˆFÑ/ØˆDŒLÜ�v˜tÕ$ð 0r"   c              ƒ   óÜ  #   • U R                   (       dX  U R                  (       dG  U R                  (       a   eU R                  R	                  5       U l         U R                  I S h  v•N   U R                   (       a  U R                   R                  5       u  pU$ U R                  b  U R                  e[        e NR! [
        R                  [
        R                  4 a	    S U l        e f = f7fr+   )rl   rn   ro   rh   r±   r|   ÚCancelledErrorÚTimeoutErrorrú   rq   r   )r,   r´   Ú_s      r#   rU   ÚDataQueue.read›  s®   é € Ø�|�| D§I§IØ—|—|Ð#Ð#ØŸ:™:×3Ñ3Ó5ˆDŒLðØ—l‘l×"Ð"ð �<�<Ø—l‘l×*Ñ*Ó,‰GˆDØˆKØ�?‰?Ñ&Ø—/‘/Ð!Üˆñ #øÜ×*Ñ*¬G×,@Ñ,@ÐAó Ø#�”Øðüs1   ‚AC,ÁB< Á'B:Á(B< Á,AC,Â:B< Â<-C)Ã)C,c                 ó,   • [        U R                  5      $ r+   )r%   rU   r0   s    r#   r1   ÚDataQueue.__aiter__«  s   € Ü" 4§9¡9Ó-Ð-r"   )rl   rn   rq   rh   ro   r  r  )r   r   r   r   r    r|   r  r-   rb   r7  rK   rª   r®   r	   r  r�   r   r   r   rÂ   r¦   rU   r%   r1   r!   r   r"   r#   r   r   n  s¹   † ÙHðB˜W×6Ñ6ð B¸4ô Bð!˜ô !ð˜ô ð.˜ô .ð˜8 MÑ2ô ð $1ñ	2àð	2ð !ð	2ð 
õ		2ñ%˜bð %¨ð %°Dõ %ô%ð˜Bô ð .Ð.¨rÑ2÷ .r"   r   c                   ó‚   ^ • \ rS rSrSrS\S\S\R                  SS4U 4S jjr	SS	\
S
\SS4U 4S jjjrS\
4S jrSrU =r$ )ÚFlowControlDataQueuei¯  z¢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                óN   >• [         TU ]  US9  SU l        Xl        US-  U l        g )N)rw   r   r{   )Úsuperr-   ri   re   Ú_limit)r,   rx   ry   rw   r…   s       €r#   r-   ÚFlowControlDataQueue.__init__·  s,   ø€ ô 	‰Ñ˜dÐÑ#ØˆŒ
Ø!ŒØ˜a‘iˆ�r"   r´   r¾   c                 óð   >• [         TU ]  X5        U =R                  U-  sl        U R                  U R                  :”  a7  U R                  R
                  (       d  U R                  R                  5         g g g r+   )rO  rÂ   ri   rP  re   r£   rÀ   )r,   r´   r¾   r…   s      €r#   rÂ   ÚFlowControlDataQueue.feed_data¿  sS   ø€ Ü‰Ñ˜$Ô%Ø�
Š
�dÑ�
à�:‰:˜Ÿ™Ó#¨D¯N©N×,J×,JØ�N‰N×(Ñ(Õ*ð -KÐ#r"   c              ƒ   ó¤  #   • U R                   (       dX  U R                  (       dG  U R                  (       a   eU R                  R	                  5       U l         U R                  I S h  v•N   U R                   (       a‚  U R                   R                  5       u  pU =R                  U-  sl	        U R                  U R                  :  a5  U R                  R                  (       a  U R                  R                  5         U$ U R                  b  U R                  e[        e N¶! [
        R                  [
        R                  4 a	    S U l        e f = f7fr+   )rl   rn   ro   rh   r±   r|   rF  rG  rú   ri   rP  re   r£   r¤   rq   r   )r,   r´   r¾   s      r#   rU   ÚFlowControlDataQueue.readÆ  sè   é € Ø�|�| D§I§IØ—|—|Ð#Ð#ØŸ:™:×3Ñ3Ó5ˆDŒLðØ—l‘l×"Ð"ð �<�<ØŸ™×-Ñ-Ó/‰JˆDØ�JŠJ˜$Ñ�JØ�z‰z˜DŸK™KÓ'¨D¯N©N×,J×,JØ—‘×-Ñ-Ô/ØˆKØ�?‰?Ñ&Ø—/‘/Ð!Üˆñ #øÜ×*Ñ*¬G×,@Ñ,@ÐAó Ø#�”Øðüs1   ‚AEÁD  Á'DÁ(D  Á,B2EÄD  Ä -EÅE)rP  re   ri   ro   r  )r   r   r   r   r    r   rb   r|   r  r-   r   rÂ   rU   r!   Ú__classcell__)r…   s   @r#   rM  rM  ¯  sc   ø† ñð Ø$ð Ø-0ð Ø;B×;TÑ;Tð à	÷ ñ+˜bð +¨ð +°D÷ +ð +ð˜B÷ ò r"   rM  )$r|   r~   r·   Útypingr   r   r   r   r   r   r	   r
   r   Úbase_protocolr   Úhelpersr   r   r   r   r   Úlogr   Ú__all__r   rž   r   r%   r=   rM   r   r
  r   Ú__annotations__r   rM  r   r"   r#   Ú<module>r]     sÇ   ðÜ Û Û ÷
÷ 
õ 
õ (÷õ õ !ð€ñ ˆTƒ]€ô!�	ô !ô˜' "™+ô ÷(ñ ÷"3ñ 3ô0@3Ð)ô @3ôF@˜ô @ñF &7Ó%8€ˆu�\Ñ"Ó 8ô>.�˜‘ô >.ôB(˜9 R™=õ (r"   