
    69j(?                       U d dl mZ dZ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 d dlmZmZ d dlmZmZmZmZmZ ddlmZ dd	lmZ dd
lmZmZmZ  ed      Z ed      Z  e!       Z" ed       G d de	e                Z#d7dZ$ ed       G d dee                Z% ed       G d dee                Z& G d de	e         Z'd8dZ(e(fdd	 	 	 	 	 	 	 d9dZ)dd	 	 	 	 	 	 	 d:dZ* G d d      Z+ e+       Z,de-d<   	 	 	 	 	 	 d;d Z.	 	 	 	 	 	 d;d!Z/	 	 	 	 	 	 d<d"Z0d=d>d#Z1	 	 	 	 d?d$Z2	 	 	 	 	 	 d@d%Z3	 	 	 	 	 	 d@d&Z4e	 	 	 	 dAd'       Z5e	 	 	 	 	 	 dBd(       Z5	 dC	 	 	 	 	 dDd)Z5e	 	 	 	 	 	 dEd*       Z6e	 dF	 	 	 	 	 	 	 	 	 dGd+       Z6	 	 	 	 	 	 dHd,Z6	 	 	 	 dId-Z7	 dC	 	 	 	 	 dJd.Z8dd/	 	 	 	 	 dKd0Z9dCdLd1Z:	 	 	 	 	 	 dMd2Z;	 dN	 	 	 	 	 dOd3Z<	 	 	 	 	 	 d@d4Z=dd5	 	 	 	 	 dPd6Z>y)Q    )annotations)
accumulatebatchedChaincombinationscombinations_with_replacementcompresscountcycle	dropwhilefilterfalsegroupbyislicepairwisepermutationsproductrepeatstarmaptee	takewhilezip_longestN)AsyncGeneratorAsyncIterableAsyncIterator	AwaitableCallableIterableIterator)	dataclassfield)AnyGenericTypeVarcastoverload   )Lock)CancelScope)cancel_shielded_checkpoint
checkpointcheckpoint_if_cancelledTRF)eqc                       e Zd ZU ded<   ddZy)_IterableAsyncIteratorzIterator[T]iteratorc                   K   t                d {    	 t        | j                        }t	                d {    |S 7 .# t        $ r t	                d {  7   t
        d w xY w7 /wN)r+   nextr1   StopIterationr)   StopAsyncIteration)selfresults     O/media/conek/DATA/Code/OCR/venv/lib/python3.12/site-packages/anyio/itertools.py	__anext__z _IterableAsyncIterator.__anext__6   sg     %'''	/$--(F
 )*** 	(  	/,...$$.	/ 	+s:   A*?A*A A*A(A*A%AA%%A*Nreturnr,   )__name__
__module____qualname____annotations__r:        r9   r0   r0   2   s    	rB   r0   c                    t        | t              r| S t        | t              r| j                         S t	        t        |             S r3   )
isinstancer   r   	__aiter__r0   iteriterables    r9   _iteraterI   B   s9    (M*(M*!!##!$x.11rB   c                  8    e Zd ZU dZded<   dZded<   dZded<   y)	_TeeLinkNzobject | Nonevaluez_TeeLink[T] | Noner4   Fboolfilled)r=   r>   r?   rL   r@   r4   rN   rA   rB   r9   rK   rK   L   s!    E=#D
#FDrB   rK   c                  <    e Zd ZU ded<    ee      Zded<   ddZy)		_TeeStateAsyncIterator[T]r1   )default_factoryr'   lockc                  K   |j                   ry| j                  4 d {    |j                   r	 d d d       d {    yt        | j                  t               d {   |_        |j
                  t        urt               |_        d|_         	 d d d       d {    y7 7 h7 G7 # 1 d {  7  sw Y   y xY wwNFT)rN   rS   anextr1   _tee_endrL   rK   r4   )r7   links     r9   fillz_TeeState.fillX   s     ;;99 		 		{{		 		 		  %T]]H==DJzz)$J	DK		 		 		 		 >			 		 		 		sq   CB$CB,CB&CB, B(!2B,CB*C&C(B,*C,B>2B53B>:CN)rX   _TeeLink[T]r<   rM   )r=   r>   r?   r@   r    r'   rS   rY   rA   rB   r9   rP   rP   S   s    t,D$,rB   rP   c                  D    e Zd ZU ded<   ded<   ded<   	 	 	 	 d
dZddZy	)_TeeAsyncIteratorz_TeeState[T]_staterZ   _linkrM   _element_yieldedc                    t        |t              r*|j                  | _        |j                  | _        d| _        y t	        t        |            | _        t               | _        d| _        y )NF)rD   r\   r]   r^   rP   rI   rK   r_   )r7   rH   s     r9   __init__z_TeeAsyncIterator.__init__m   sS     h 12"//DK!DJ
 !& $HX$67DK!DJ %rB   c                  K   | j                   j                  | j                         d {   }| j                  j                  t        u r$| j
                  st                d {    t        |st                d {    d| _        t        t        | j                  j                        }| j                  j                  }|J || _        |st                d {    |S 7 7 7 j7 w)NT)r]   rY   r^   rL   rW   r_   r*   r6   r+   r$   r,   r4   r)   )r7   had_yieldpointrL   	next_links       r9   r:   z_TeeAsyncIterator.__anext__y   s     #{{//

;;::x'(( l""$$)+++ $Q

(()JJOO	$$$
,...% < #
 , /sF   )C.C&9C.%C(&C.?C* AC.C, C.(C.*C.,C.N)rH   z5Iterable[T] | AsyncIterable[T] | _TeeAsyncIterator[T]r<   Noner;   )r=   r>   r?   r@   ra   r:   rA   rB   r9   r\   r\   h   s.    
&M
&	
&rB   r\   c                6   K   t        j                  | |      S wr3   )operatoradd)xys     r9   _operator_addrk      s     <<1s   )initialc              D  K   t        |       }|	 t        |       d {   }n&t	                d {    |}t                d {    | |2 3 d {   } |||       d {   }|  7 R# t        $ r t                d {  7   Y y w xY w7 c7 Q7 C7 46 y wr3   )rI   rV   r6   r*   r+   r)   )rH   functionrl   r1   totalelements         r9   r   r      s      !H	/)E
 &'''(***
K!  gug.. *! 	,	 	(*. "s   B A4 A2A4 B BB BB BBBB 'B(
B 2A4 4B
BBB BB B BB B )strictc              V  K   |dk  rt        d      t        |       }	 g }t        |      D ]%  }	 |j                  t	        |       d {          ' t        |       D7 # t
        $ r8 |st                d {  7   Y  y |rt        d      d t        |       Y  y w xY ww)Nr&   zn must be at least onezbatched(): incomplete batch)
ValueErrorrI   rangeappendrV   r6   r*   tuple)rH   nrq   r1   batch_s         r9   r   r      s      	1u122!H
q 	A
5?23	 El  3% $,&&$%BCMEl"sR   -B)A%	A#

A%B)#A%%B&=B >B&B)B&"B)%B&&B)c                  ,    e Zd Z	 	 	 	 ddZ	 	 	 	 ddZy)r   c                $    | j                  |      S r3   )from_iterable)r7   	iterabless     r9   __call__zChain.__call__   s     !!),,rB   c                 K   d}t        |      }	 |2 3 d {   }t        |      2 3 d {   }d}| 7  7 6 +6 	 t        |dd       }|xt        d      5   |        d {  7   d d d        nR# 1 sw Y   nIxY w# t        |dd       }|2t        d      5   |        d {  7   d d d        w # 1 sw Y   w xY ww xY w|st                d {  7   y y w)NFTaclose)shield)rI   getattrr(   r*   )r7   r}   element_yielded
outer_iterrH   rp   r   s          r9   r|   zChain.from_iterable   s       i(
		#", " "h%-h%7 " "'&*O!M""%7 #-
 Z48F! - # (NN# # # Z48F! - # (NN# # # " , s   CB >8>B <:<	B ><B  CA5&A)'A5,	C5A>:CCB7(B+
)B7.	C7C <CCCCN)r}   Iterable[T] | AsyncIterable[T]r<   AsyncGenerator[T, None])r}   zXIterable[Iterable[T] | AsyncIterable[T]] | AsyncIterable[Iterable[T] | AsyncIterable[T]]r<   r   )r=   r>   r?   r~   r|   rA   rB   r9   r   r      s0    -8-	 -
< 
!rB   r   chainc                  K   t        |       2 cg c3 d {   }|7 6 nc c}w }}t        t        j                  ||            2 3 d {  7  }| 6 y wr3   )rI   	itertoolsr   rH   rrp   poolcombinations        r9   r   r      sW      3;82DEEwWEEEDE%i&<&<T1&EF  k G>   A" 
 " "'AAAA	Ac                  K   t        |       2 cg c3 d {   }|7 6 nc c}w }}t        t        j                  ||            2 3 d {  7  }| 6 y wr3   )rI   r   r   r   s        r9   r   r      sX      3;82DEEwWEEEDE%i&M&MdTU&VW  k Xr   c                  K   t        |       }t        |      }d}	 	 t        |       d {   }t        |       d {   }|rd}| 17 !7 # t        $ r |st                d {  7   Y y w xY wwrU   rI   rV   r6   r*   )data	selectorsdata_iteratorselector_iteratorr   datumselectors          r9   r	   r	      s~      TNM +O
	..E"#455H "OK .5! 	" l""		sT   A5A AA AA 
A5A A A2)A,*A2/A51A22A5c               z   K   | }	 t                d {    |}||z  }t                d {    | 17 #7 wr3   )r+   r)   )startsteprw   rL   s       r9   r
   r
     sG     A
%'''	T	(*** ' 	+s   ;7;9;;c                  K   g }t        |       2 3 d {   }|j                  |       |  7 6 |st                d {  7   y 	 |D ]  }t                d {  7   |   wr3   )rI   ru   r*   )rH   savedrp   s      r9   r   r     su      E!(+  gW+ l
 	G,M	 s7   A*202A*2A*AA*AA*c                  K   d}d}t        |      2 3 d {   }|r | |       d {   rd}d}| &7 !7 6 |st                d {  7   y y wrU   rI   r*   )	predicaterH   r   droppingrp   s        r9   r   r   +  sl      OH!(+  gi0000 , l s9   A<8<A:A<AAAAc                  K   d}t        |      2 3 d {   } | |       d {   rd}| "7 7 6 |st                d {  7   y y wrU   r   r   rH   r   rp   s       r9   r   r   >  s]      O!(+  gw'''"OM' ,
 l s>   A626A4AA6AAA	Ac                     y r3   rA   rG   s    r9   r   r   M  s     /2rB   c                     y r3   rA   )rH   keys     r9   r   r   S  s     /2rB   c               f  K   t        |       }	 t        |       d {   }||n ||       d {   }|g}|2 3 d {   }||n ||       d {   }||k7  r||f}|}|g}| 1|j	                  |       C7 `# t        $ r t                d {  7   Y y w xY w7 p7 d7 R6 ||f y wr3   )rI   rV   r6   r*   ru   )rH   r   r1   rp   	group_keyvaluesnext_keycompleted_groups           r9   r   r   Z  s      !Hh'
 ;#g,,>IYF! # #g!k7S\/Ay '/O IYF!!MM'"! ( l -?#/A " V
s   B1B  A>B  B1B"	B1B(B$ B(B1B&*B1>B   BBBB1BB1$B(&B1(	B1c                    y r3   rA   )rH   stops     r9   r   r   u  s    
 "rB   c                    y r3   rA   )rH   r   r   r   s       r9   r   r   }  s     "rB   c                 K   |st        d      t        |      dkD  rt        dt        |      dz          t        | }d}d}d}dd}|j                  d	n ||j                  |      }|j                  d n ||j                  |      }|j
                  dn ||j
                  |      }	|	d	k  rt        |      |d	k(  s||k(  rt                d {    y t        |       }
d	}d
}|||k  r?	 t        |
       d {   }||k\  r||z
  |	z  d	k(  r|dz  }d}| n|dz  }|9||k  r?|st                d {    y y 7 p7 G# t        $ r |st                d {  7   Y y w xY w7 .w)Nz+islice expected at least 2 arguments, got 1   z)islice expected at most 4 arguments, got r&   zGIndices for islice() must be None or an integer: 0 <= x <= sys.maxsize.zMStop argument for islice() must be None or an integer: 0 <= x <= sys.maxsize.z5Step for islice() must be a positive integer or None.c                    	 t        j                  t        t        |             }|dk  s|t        j                  kD  rt        |      |S # t        $ r t        |      d w xY w)Nr   )rg   indexr$   r!   	TypeErrorrs   sysmaxsize)rL   messager   s      r9   normalize_indexzislice.<locals>.normalize_index  s^    	0NN4U#34E 19+W%%  	0W%4/	0s   #A
 
A r   FT)rL   objectr   strr<   int)r   lenslicer   r   r   rs   r*   rI   rV   r6   )rH   args
slice_argsstart_messagestop_messagestep_messager   r   r   r   r1   r   r   rp   s                 r9   r   r     s     EFF
4y1}CCIPQM?STTJ 	R  	X  KL	 # 	
Z--}= 
 ??" 	Z__l; 	 __$/*//<*X 	 qy&&qyETMl!HEO
,%$,	!(O+G E>uu}49QJE"OMQJE ,%$,  l / 	 ,! 	" l""		 	sl   CE/EE/1E	 ?E E	 $E/)E//E/>E-?E/E	 	E*!E$"E*'E/)E**E/c                  K   t        |       }	 t        |       d {   }d}|2 3 d {   }d}||f}|}| 7 # t        $ r t                d {  7   Y y w xY w7 66 |st                d {  7   y y wrU   r   )rH   r1   previousr   rp   pairs         r9   r   r     s      !Hx(
 O!  g'"
 ) l
 l si   A;? =? A;A#A!A#A;? AAAA;AA;!A##A;3A64A;c               .  K   t        |       2 cg c3 d {   }|7 6 nc c}w }}t        |      }||}n+t        |t              st	        d      |dk  rt        d      t        t        j                  ||            2 3 d {  7  }| 6 y w)NzExpected int as rr   zr must be non-negative)rI   r   rD   r   r   rs   r   r   )rH   r   rp   r   rw   permutations         r9   r   r     s      3;82DEEwWEEEDED	Ay3+,,	
Q122%i&<&<T1&EF  k Gs?   B" 
 " "A"BBB
B	B)r   c               H  K   t        j                  |       } | dk  rt        d      g }|D ]  }t        |      2 cg c3 d {   }| t        t        j                  |d| i      2 3 d {   }| 7 56 nc c}w }}|j	                  t        |             r7 06 y w)Nr   z"repeat argument cannot be negativer   )rg   r   rs   rI   ru   rv   r   r   )r   r}   poolsrH   rp   r   rL   s          r9   r   r     s      ^^F#Fz=>>!#E "6>x6HII7"  	 1 15 H HI  e	 JIIIU4[!Is]   :B"A<A:A8A:A<
B")B -B.B 1B"8A::A<;#B"B  B"c               <  K   |	 t                d {    |  t        j                  t        t        |            }|dk  rt                d {    y |dkD  r5t                d {    |dz  }t                d {    |  |dkD  r4y y 7 7 B7 ,7 w)Nr   r&   )r*   rg   r   r$   r!   r+   r)   )rp   times	remainings      r9   r   r     s     },M  tC/0IA~l
a-%'''Q	(***	 a- 
 	 	(*sK   BB?BBB+B,BBBBBBBc                  K   d}t        |      2 3 d {   }t        |      2 cg c3 d {   }|7 7 	6 nc c}w }}d} | |  d {  7   E6 |st                d {  7   y y wrU   r   )rn   rH   result_yieldedargs_iterablerp   r   s         r9   r   r     sx      N'1 $ $m-5m-DEE'$EEEEdO###  2
 l sV   A-A4AA-:868:A8:A-AA-%A(&A-c                    t        j                  t        t        |            }|dk  rt	        d      |dk(  ryt        |       g}|j                  fdt        |dz
        D               t        |      S )Nr   zn must be >= 0rA   c              3  4   K   | ]  }t                y wr3   )r\   ).0ry   r1   s     r9   	<genexpr>ztee.<locals>.<genexpr>6  s     GQ&x0Gs   r&   )	rg   r   r$   r!   rs   r\   extendrt   rv   )rH   rw   	iteratorsr1   s      @r9   r   r   +  sn     	tC|$A1u)**Av *H)1
IG%A,GGrB   c                  K   d}t        |      2 3 d {   } | |       d {   s|st                d {     y d}| 77 27 $7 6 |st                d {  7   y y wrU   r   r   s       r9   r   r   :  sr      O!(+  gw'''" l""'" , l sQ   A%AAAA%A	A%AA%A	A%A%A%A A%)	fillvaluec                 K   |D cg c]  }t        |       }}t        |      }|st                d {    y dg|z  }d}	 g }t        |      D ]A  \  }}	||   s|j	                  |        	 t        |	       d {   }
|j	                  |
       C d}t        |       bc c}w 7 u7 /# t        $ r) d||<   |dz  }|s|st                d {  7   Y  y | }
Y ^w xY ww)NTFr&   )rI   r   r*   	enumerateru   rV   r6   rv   )r   r}   rH   r   
num_activeactivetuple_yieldedr   r   r1   rL   s              r9   r   r   N  s      5>>(#>I>YJlVj FM
!(3 	!OE8%=i("#Ho- MM% %	!( Fm/  ? 	 .% 	" %ua
!((l**!	"sg   C$B&C$B+8C$/B/=B->B/*C$-B//$C!CC!C$C!C$ C!!C$)rH   r   r<   rQ   )ri   r,   rj   r,   r<   r,   )rH   r   rn   zCallable[[T, T], Awaitable[T]]rl   zT | Noner<   r   )rH   r   rw   r   rq   rM   r<   #AsyncGenerator[tuple[T, ...], None])rH   r   r   r   r<   r   )r   r   r   (Iterable[object] | AsyncIterable[object]r<   r   )r   r&   )r   r   r   r   r<   zAsyncGenerator[int, None])rH   r   r<   r   )r   z Callable[[T], Awaitable[object]]rH   r   r<   r   )rH   r   r<   z'AsyncGenerator[tuple[T, list[T]], None])rH   r   r   zCallable[[T], Awaitable[R]]r<   z'AsyncGenerator[tuple[R, list[T]], None]r3   )rH   r   r   z'Callable[[T], Awaitable[object]] | Noner<   z,AsyncGenerator[tuple[object, list[T]], None])rH   r   r   
int | Noner<   r   )r&   )
rH   r   r   r   r   r   r   r   r<   r   )rH   r   r   r   r<   r   )rH   r   r<   z!AsyncGenerator[tuple[T, T], None])rH   r   r   r   r<   r   )r}   r   r   r   r<   r   )rp   r,   r   r   r<   r   )rn   zCallable[..., Awaitable[R]]rH   zlIterable[Iterable[object] | AsyncIterable[object]] | AsyncIterable[Iterable[object] | AsyncIterable[object]]r<   zAsyncGenerator[R, None])   )rH   r   rw   r   r<   ztuple[AsyncIterator[T], ...])r}   r   r   r   r<   z(AsyncGenerator[tuple[object, ...], None])?
__future__r   __all__r   rg   r   collections.abcr   r   r   r   r   r   r   dataclassesr   r    typingr!   r"   r#   r$   r%   _core._synchronizationr'   _core._tasksr(   lowlevelr)   r*   r+   r,   r-   r   rW   r0   rI   rK   rP   r\   rk   r   r   r   r   r@   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   rA   rB   r9   <module>r      s   ".   
   ) 8 8 ( % U UCLCL8 e]1-  2 ewqz   e
  ($a( $N 0= 	,, 	
 4 IN,14AE(4 > wu ,14(,14(
(7 .,$/, &/,  
2,2,2 
2
 
2,2	$2 -2 
2 48,	0 26 
","
" 	" 
" 

 	","" " 	" " 
"H,HH HV,&, ?C,1;(" ?@.8;( $)	B & 89,14!/, , $8$$ .$rB   