
    "Kir\                     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       Q/var/www/html/dynamic-report/venv/lib/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#(2y}+<"= #$ # 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ud{!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	)
AsyncStreamReaderMixinM   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    499Q<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      $ )zYield 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9c 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
\4S j5       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%S0S$\S
\4S% jjr&S
\4S& jr'S
\\\4   4S' jr(S$\S
\4S( jr)S0S$\S
\4S) jjr*S$\S
\4S* jr+S$\S
\4S+ jr,S,r-g)1r   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_low_water_chunks_high_water_chunks_loop_size_cursor_http_chunk_splits_buffer_buffer_offset_eof_waiter_eof_waiter
_exception_timer_eof_callbacks_eof_countertotal_bytestotal_compressed_bytesN)timerloopprotocollimitry   rz   r)   c                   Xl         X l        US-  U l        Uc  [        R                  " 5       n[        SUS-  5      U l        [        SU R                  S-  5      U l        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        S U l        g )N         r   F)re   rf   rg   asyncioget_event_loopmaxri   rh   rj   rk   rl   rm   collectionsdequern   ro   rp   rq   rr   rs   r   rt   ru   rv   rw   rx   )r,   r{   r|   ry   rz   s        r#   r-   StreamReader.__init__   s     " 19<))+D"%a!"4 "%Q(?(?1(D!E

8<%0%6%6%8	7;;?37%*]ik8:59#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   rk   appendrp   rf   rg   rq   rs   join)r,   infos     r#   __repr__StreamReader.__repr__   s    ''(::KK
TZZ/099KK??e#KK(DOOT=M=M+NNO<<KK-.??KK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+   rs   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+   )rs   ru   clearrq   r   rr   r,   r   r   waiters       r#   r   StreamReader.set_exception   sc    
 !!#DL&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)rp   	Exceptionr   r   ru   r   r,   r   s     r#   on_eofStreamReader.on_eof   sL    99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   )rp   rq   r   rr   re   _reading_pausedresume_readingru   r   r   r   r   )r,   r   cbs      r#   feed_eofStreamReader.feed_eof   s    	DLvt$!!#Dvt$>>))NN))+%%BG & 	!!#  G))*EFGs   B77 CCc                     U R                   $ )z&Return True if  'feed_eof' was called.rp   r0   s    r#   is_eofStreamReader.is_eof   s    yyr"   c                 J    U R                   =(       a    U R                  (       + $ )z=Return True if the buffer is empty and 'feed_eof' was called.rp   rn   r0   s    r#   at_eofStreamReader.at_eof   s    yy---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+   )rp   rr   rj   create_futurer0   s    r#   wait_eofStreamReader.wait_eof   s`     99'''::335	$""""#D ##Ds0   AA.A" A A" A. A" "	A++A.c                 L    U R                   c  U R                  $ U R                   $ r+   )rx   rw   r0   s    r#   total_raw_bytesStreamReader.total_raw_bytes  s&    &&.###***r"   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DeprecationWarningro   rn   rk   lenrl   
appendleftrv   )r,   r   s     r#   unread_dataStreamReader.unread_data  s    =		
 "ll1od.A.A.CDDLL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)rp   r   rk   rn   r   rw   rq   r   rg   re   r   pause_reading)r,   r   r   data_lenr   s        r#   	feed_dataStreamReader.feed_data   s    99888}t9

h
D!H$DLvt$::(((1O1ONN((* 2P(r"   c                     U R                   c7  U R                  (       a  [        S5      e[        R                  " 5       U l         g g )Nz@Called begin_http_chunk_receiving when some data was already fed)rm   rw   RuntimeErrorr   r   r0   s    r#   begin_http_chunk_receiving'StreamReader.begin_http_chunk_receiving3  s?    ""*"V  '2&7&7&9D# +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                   5      U R
                  :  a5  U R                  R                  (       d  U R                  R                  5         U R                  nUb  S U l	        [        US 5        g g )NzFCalled end_chunk_receiving without calling begin_chunk_receiving firstr   )rm   r   rw   r   r   ri   re   r   r   rq   r   )r,   posr   s      r#   end_http_chunk_receiving%StreamReader.end_http_chunk_receiving;  s    ""*.  .2-D-Dd%%b)!s" &&t'7'78 ''(4+B+BBNN22NN((* DLvt$ 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   rq   rj   r   rt   )r,   r   r   s      r#   _waitStreamReader._waitb  s     ~~''344 <<#46?@ 
 !%

 8 8 ::	    DL    DLsH   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.readlinew  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   
ValueErrorrs   rn   ro   find_read_nowait_chunkrg   rp   r   )	r,   r   seplenchunk
chunk_size
not_enoughoffseticharr   s	            r#   r   StreamReader.readuntilz  s    YQ;KLL??&//!

,,:,,Q,,Y?!C..38ENV+a/b c$i'
!&J 0 00$_55 ,,:: yy
  jj---) 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)
NTrv   r   r      zEMultiple access to StreamReader in eof state, might be infinite loop.)
stack_infor"   rU   )rs   rp   rn   getattrrv   r   warningr\   r   r   r   _read_nowait)r,   rR   blocksblocks       r#   rU   StreamReader.read  s    ??&//! yy$+D.!$Dq$H!$$q(#++2#' q5
 F"lln,e$	 
 88F##
 ,,tyy**V$$$ ,,tyyy   ## - %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   )rs   rn   rp   r   r   r0   s    r#   r\   StreamReader.readany  sc     ??&//!
 ,,tyy**Y''' ,,tyyy   $$ (s   ABB&B;Bc                   #     U R                   b  U R                   eU R                  (       a  U R                  R                  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)	zReturns a tuple of (data, end_of_http_chunk).

When chunked transfer
encoding is used, end_of_http_chunk is a boolean indicating if the end
of the data corresponds to the end of a HTTP chunk , otherwise it is
always False.
TNr"   TzESkipping HTTP chunk end due to data consumption beyond chunk boundaryr   FrG   rH   )rs   rm   popleftrl   r   r   r   rn   r   rp   r   )r,   r   s     r#   rH   StreamReader.readchunk  s      *oo%))--557,,&&% --cLL.@A4HH''8 ))) ||//3U;; yy $**[)))1 0 *s   B+D/A
D9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"   )rs   rU   r   r   IncompleteReadErrorr   r   )r,   rR   r   r   partials        r#   readexactlyStreamReader.readexactly  s     ??&//! !e))A,&E((6*11'3w<!;KLLMM% UOA !e xx '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.)rs   rq   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                  5         U(       a  US   U R
                  :  a  M,  U R                  R                  (       ad  U R                  U R                  :  aJ  U R                  b#  [        U R                  5      U R                  :  a  U R                  R                  5         U$ )Nr   r   )rn   ro   r   r   rk   rl   rm   re   r   rf   rh   r   )r,   rR   first_bufferr   r   r   chunk_splitss          r#   r   StreamReader._read_nowait_chunk  sE   ||A$$7s<(61A54D1$LL  "(D"#D <<'')Dt9

h
 ..|A=  " |A= NN**

T__,''/t../$2H2HH NN))+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"   )rt   assert_timeoutrn   r   r   r   r   )r,   rR   chunksr   s       r#   r   StreamReader._read_nowait7  s{    ""$ll++A.EMM% BwSZ6 lll $*sxx2s2r"   )rn   ro   rl   rp   ru   rv   rr   rs   rg   ri   rm   rj   rf   rh   re   rk   rt   rq   rw   rx   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   propertyr   rJ   r   r   r   r   r   rP   r   rU   r\   rH   r   r   r   r   r!   r   r"   r#   r   r   e   s   I8 -148 : :  :
 () : w001 : 
 :D'# '3c3h 38M2  $122 !2 
	2$1xD1 1d 1$0 . .	$ + + +
 $ (+e +3 +t +&:%%N S  T  *& &" "5 "H($C ($ ($T
%u 
% *ud{!3  *D 3  5  $S $% $!C !E !F3c 3e 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)EmptyStreamReaderiG  _read_eof_chunkr)   Nc                      SU l         SU l        g )NFr   r  rw   r0   s    r#   r-   EmptyStreamReader.__init__K  s    $r"   c                 4    SU R                   R                  -  $ )Nr   )r   r   r0   s    r#   r   EmptyStreamReader.__repr__O  s    ////r"   c                     g r+   r   r0   s    r#   r   EmptyStreamReader.exceptionR      r"   r   r   c                     g r+   r   )r,   r   r   s      r#   r   EmptyStreamReader.set_exceptionU  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_eofb      r"   c                     gNTr   r0   s    r#   r   EmptyStreamReader.is_eofe  r  r"   c                     gr&  r   r0   s    r#   r   EmptyStreamReader.at_eofh  r  r"   c                    #    g 7fr+   r   r0   s    r#   r   EmptyStreamReader.wait_eofk  s        r   rR   c                     g r+   r   )r,   r   rR   s      r#   r   EmptyStreamReader.feed_datan  r$  r"   c                    #    g7fr5   r   r0   s    r#   rP   EmptyStreamReader.readlineq       r,  c                    #    g7fr5   r   rX   s     r#   rU   EmptyStreamReader.readt  r1  r,  c                    #    g7fr5   r   r0   s    r#   r\   EmptyStreamReader.readanyy  r1  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.readexactly  s     ))#q11s   c                     gr5   r   rX   s     r#   r   EmptyStreamReader.read_nowait  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  G  s   $I0# 08M2  $1 ! 
	CxD1 Cd C  e  D  C  
u ud{!3 23 25 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   i  z>DataQueue is a general-purpose blocking queue with one reader.rz   r)   Nc                 n    Xl         SU l        S U l        S U l        [        R
                  " 5       U l        g )NF)rj   rp   rq   rs   r   r   rn   )r,   rz   s     r#   r-   DataQueue.__init__  s,    
	7;37.9.?.?.Ar"   c                 ,    [        U R                  5      $ r+   )r   rn   r0   s    r#   __len__DataQueue.__len__  s    4<<  r"   c                     U R                   $ r+   r   r0   s    r#   r   DataQueue.is_eof  s    yyr"   c                 J    U R                   =(       a    U R                  (       + $ r+   r   r0   s    r#   r   DataQueue.at_eof  s    yy---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&  )rp   rs   rq   r   r   s       r#   r   DataQueue.set_exception  s5    
 	ll"F/DL&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+   )rn   r   rq   r   )r,   r   r   r   s       r#   r   DataQueue.feed_data  s;    TL)ll"F/DLvt$ 0r"   c                 X    SU l         U R                  =nb  S U l        [        US 5        g g r&  )rp   rq   r   )r,   r   s     r#   r   DataQueue.feed_eof  s.    	ll"F/DLvt$ 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+   )rn   rp   rq   rj   r   r   CancelledErrorTimeoutErrorr   rs   r   )r,   r   _s      r#   rU   DataQueue.read  s     ||DII||##::335DLll"" <<ll**,GD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    "499--r"   )rn   rp   rs   rj   rq   r  r
  )r   r   r   r   r    r   r  r-   rb   r@  rK   r   r   r	   r  r   r   r   r   r   r   rU   r%   r1   r!   r   r"   r#   r   r     s    HBW66 B4 B! ! . .8M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  zFlowControlDataQueue 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.
r{   r|   rz   r)   Nc                N   > [         TU ]  US9  SU l        Xl        US-  U l        g )N)rz   r   r~   )superr-   rk   re   _limit)r,   r{   r|   rz   r   s       r#   r-   FlowControlDataQueue.__init__  s,     	d#
!ai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+   )rX  r   rk   rY  re   r   r   )r,   r   r   r   s      r#   r   FlowControlDataQueue.feed_data  sS    $%

d
::#DNN,J,JNN((* -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+   )rn   rp   rq   rj   r   r   rO  rP  r   rk   rY  re   r   r   rs   r   )r,   r   r   s      r#   rU   FlowControlDataQueue.read  s     ||DII||##::335DLll"" <<--/JDJJ$JzzDKK'DNN,J,J--/K??&//! #**G,@,@A #s1   AED  'D(D  ,B2ED   -EE)rY  re   rk   rq   r  )r   r   r   r   r    r   rb   r   r  r-   r   r   rU   r!   __classcell__)r   s   @r#   rV  rV    sc     $ -0 ;B;T;T 	 +b + +D + +B  r"   rV  )$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   rV  r   r"   r#   <module>rf     s      
 
 
 (  ! T]!	 !'"+ ( "3 30_3) _3D@ @F &7%8u\" 8>. >.B(9R= (r"   