
    _i*                    (   % S SK Jr  SrS SKrS SKrS SKJr  S SKJrJ	r	J
r
JrJrJr  S SKJr  S SKJr  S SK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  S
SKJrJ r   \RB                  S:  a  S SKJ"r"  OS SK#J"r"  \" S5      r$\" S5      r%\"" S5      r&\" S5      r'S\(S'    " S S5      r)\)" 5       r*S\(S'    " S S\5      r+ " S S\5      r, " S S\\$   5      r-\ " S S\\&\$4   5      5       r. " S S \\$   5      r/\    S/S! j5       r0\S0S" j5       r0    S1S# jr0\S$S$S$S%.       S2S& jj5       r1\    S/S' j5       r1\S0S( j5       r1 S3S)S*S*S%.         S4S+ jjjr1\        S5S, j5       r2\      S6S- j5       r2\*4       S7S. jjr2g)8    )annotations)AsyncCacheInfoAsyncCacheParametersAsyncLRUCacheWrappercache	lru_cachereduceN)OrderedDict)AsyncIterable	AwaitableCallable	CoroutineHashableIterable)update_wrapper)iscoroutinefunction)AnyGeneric
NamedTuple	TypedDictTypeVarcastfinaloverload)WeakKeyDictionary   )Lock)RunVar
checkpoint)      )	ParamSpecTSPlru_cache_itemszRunVar[WeakKeyDictionary[AsyncLRUCacheWrapper[Any, Any], OrderedDict[Hashable, tuple[_InitialMissingType, Lock] | tuple[Any, None]]]]c                      \ rS rSrSrg)_InitialMissingType8    N)__name__
__module____qualname____firstlineno____static_attributes__r*       K/var/www/html/land-ocr/venv/lib/python3.13/site-packages/anyio/functools.pyr(   r(   8   s    r0   r(   initial_missingc                  >    \ rS rSr% S\S'   S\S'   S\S'   S\S'   Srg	)
r   ?   inthitsmisses
int | Nonemaxsizecurrsizer*   Nr+   r,   r-   r.   __annotations__r/   r*   r0   r1   r   r   ?   s    
IKMr0   r   c                  4    \ rS rSr% S\S'   S\S'   S\S'   Srg)	r   F   r8   r9   booltypedalways_checkpointr*   Nr;   r*   r0   r1   r   r   F   s    Kr0   r   c                  F    \ rS rSrS	S jrS
S jrSS jrSS jrSS jrSr	g)_LRUMethodWrapperL   c                    Xl         X l        g N)_LRUMethodWrapper__wrapper_LRUMethodWrapper__instance)selfwrapperinstances      r1   __init___LRUMethodWrapper.__init__M   s     "r0   c                6    U R                   R                  5       $ rF   )rG   
cache_inforI   s    r1   rO   _LRUMethodWrapper.cache_infoQ   s    ~~((**r0   c                6    U R                   R                  5       $ rF   )rG   cache_parametersrP   s    r1   rS   "_LRUMethodWrapper.cache_parametersT   s    ~~..00r0   c                8    U R                   R                  5         g rF   )rG   cache_clearrP   s    r1   rV   _LRUMethodWrapper.cache_clearW   s    ""$r0   c                   #    U R                   c  U R                  " U0 UD6I S h  vN $ U R                  " U R                   /UQ70 UD6I S h  vN $  N, N7frF   )rH   rG   )rI   argskwargss      r1   __call___LRUMethodWrapper.__call__Z   sN     ??"8888^^DOOEdEfEEE 9Es!   #AA'AAAA)
__instance	__wrapperN)rJ   zAsyncLRUCacheWrapper[..., T]rK   objectreturnr   ra   r   ra   None)rY   r   rZ   r   ra   r#   )
r+   r,   r-   r.   rL   rO   rS   rV   r[   r/   r*   r0   r1   rC   rC   L   s    #+1%Fr0   rC   c                  p    \ rS rSr        S
S jrSS jrSS jrSS jrSS jr S     SS jjr	S	r
g)r   a   c                    Xl         SU l        SU l        Ub  [        US5      OS U l        SU l        X0l        X@l        [        X5        g Nr   )	__wrapped___hits_missesmax_maxsize	_currsize_typed_always_checkpointr   )rI   funcr9   r@   rA   s        r1   rL   AsyncLRUCacheWrapper.__init__c   sF      
+2+>GQD"3t"r0   c                n    [        U R                  U R                  U R                  U R                  5      $ rF   )r   rj   rk   rm   rn   rP   s    r1   rO   AsyncLRUCacheWrapper.cache_infos   s#    djj$,,t~~VVr0   c                J    U R                   U R                  U R                  S.$ )Nr9   r@   rA   rm   ro   rp   rP   s    r1   rS   %AsyncLRUCacheWrapper.cache_parametersv   s#    }}[[!%!8!8
 	
r0   c                    [         R                  S 5      =n(       a(  UR                  U S 5        S=U l        =U l        U l        g g rh   )r&   getpoprj   rk   rn   )rI   r   s     r1   rV    AsyncLRUCacheWrapper.cache_clear}   s@    #''--5-IIdD!9::DJ: .r0   c                  #    U R                   S:X  a1  U R                  " U0 UD6I S h  vN nU =R                  S-  sl        U$ UnU(       a%  U[        4[	        UR                  5       S5      -   -  nU R                  (       aG  U[        S U 5       5      -  nU(       a+  U[        4[        S UR                  5        5       5      -   -  n [        R                  5       n XP   n Xd   u  pxUcY  U =R$                  S-  sl        UR'                  U5        U R"                  (       a  [)        5       I S h  vN   [+        [,        U5      $ U IS h  vN   Xd   S   =n[        L a  U =R                  S-  sl        U R                   b*  U R.                  U R                   :  a  UR1                  SS9  OU =R.                  S-  sl        U R                  " U0 UD6I S h  vN nUS 4Xd'   O6U =R$                  S-  sl        UR'                  U5        [+        [,        U5      nS S S 5      IS h  vN   U$  GN! [         a#    [        5       n[        R                  U5         GN|f = f! [         a    [        5       =oeU '    GNf = f! [         a&    [        [!        U R"                  (       + S9pXx4Xd'    GNf = f GN GNg N N! , IS h  vN  (       d  f       W$ = f7f)	Nr   r   r*   c              3  8   #    U  H  n[        U5      v   M     g 7frF   type).0args     r1   	<genexpr>0AsyncLRUCacheWrapper.__call__.<locals>.<genexpr>   s     3dscd   c              3  8   #    U  H  n[        U5      v   M     g 7frF   r   )r   vals     r1   r   r      s     1W$s))r   )fast_acquireF)last)rm   ri   rk   r2   sumitemsro   tuplevaluesr&   rz   LookupErrorr   setKeyErrorr
   r   rp   rj   move_to_endr   r   r#   rn   popitem)	rI   rY   rZ   valuekeyr   cache_entrycached_valuelocks	            r1   r[   AsyncLRUCacheWrapper.__call__   sw    ==A**D;F;;ELLALL  $O%FLLNB(???C;;53d333C)E1Wv}}1W,WWW	'#'')E
	6+K
	2!,!1L <JJ!OJ##C(&& l""<((4 + 0 33G!==,4==1P''U'3NNa'N"..???#($;  

a
'',Q- 4"  <"  	'%'E&	'  	6(35K+	6  	2  d&=&="=>   ,1K	2 #  @ 44" s   &KH,B!KH/  I %I> +AK2J13KJ4KBJ;J7AJ;K%J9&K/)IKIKI;7K:I;;K>,J.*K-J..K4K7J;9K;KKKKNc                F    [        X5      n[        X0R                  5        U$ rF   )rC   r   ri   )rI   rK   ownerrJ   s       r1   __get__AsyncLRUCacheWrapper.__get__   s!     $D3w 0 01r0   )ri   rp   rn   rj   rm   rk   ro   )rq   zCallable[P, Awaitable[T]]r9   r8   r@   r?   rA   r?   r`   rb   rc   )rY   zP.argsrZ   zP.kwargsra   r#   rF   )rK   r_   r   ztype | Nonera   z_LRUMethodWrapper[T])r+   r,   r-   r.   rL   rO   rS   rV   r[   r   r/   r*   r0   r1   r   r   a   sk    #'# # 	#
  # W
;
BJ 6:'2	 r0   r   c                  h    \ rS rSrSS jr\    S	S j5       r\    S
S j5       r    SS jrSrg)_LRUCacheWrapper   c                (    Xl         X l        X0l        g rF   rw   )rI   r9   r@   rA   s       r1   rL   _LRUCacheWrapper.__init__   s    "3r0   c                   g rF   r*   rI   rq   s     r1   r[   _LRUCacheWrapper.__call__   s     &)r0   c                   g rF   r*   r   s     r1   r[   r      s     +.r0   c                   [        U5      (       a+  [        XR                  U R                  U R                  5      $ [
        R                  " U R                  U R                  S9" U5      $ )N)r9   r@   )r   r   rm   ro   rp   	functoolsr   )rI   fs     r1   r[   r      sS     q!!'==$++t/F/F  ""4==LQOOr0   )rp   rm   ro   N)r9   r8   r@   r?   rA   r?   rq   z#Callable[P, Coroutine[Any, Any, T]]ra   zAsyncLRUCacheWrapper[P, T]rq   zCallable[..., T]ra   zfunctools._lru_cache_wrapper[T])r   z6Callable[P, Coroutine[Any, Any, T]] | Callable[..., T]ra   <AsyncLRUCacheWrapper[P, T] | functools._lru_cache_wrapper[T])r+   r,   r-   r.   rL   r   r[   r/   r*   r0   r1   r   r      sg    4
 )7)	#) ) .$.	(. .PGP	EPr0   r   c                   g rF   r*   rq   s    r1   r   r           "%r0   c                   g rF   r*   r   s    r1   r   r      s    ILr0   c                    [        SS9" U 5      $ )z
A convenient shortcut for :func:`lru_cache` with ``maxsize=None``.

This is the asynchronous equivalent to :func:`functools.cache`.

N)r9   )r   r   s    r1   r   r      s     T"4((r0   .rv   c                    g rF   r*   rv   s      r1   r   r      s      r0   c                   g rF   r*   r   s    r1   r   r     r   r0   c                   g rF   r*   r   s    r1   r   r     s    MPr0      Fc                  U c  [         [           " XU5      $ [        U 5      (       d  [        S5      e[         [           " XU5      " U 5      $ )az  
An asynchronous version of :func:`functools.lru_cache`.

If a synchronous function is passed, the standard library
:func:`functools.lru_cache` is applied instead.

:param always_checkpoint: if ``True``, every call to the cached function will be
    guaranteed to yield control to the event loop at least once

.. note:: Caches and locks are managed on a per-event loop basis.

z#the first argument must be callable)r   r   callable	TypeErrorr#   )rq   r9   r@   rA   s       r1   r   r     sI    , |$W5FGGD>>=>>Aw/@A$GGr0   c                  #    g 7frF   r*   )functioniterableinitials      r1   r	   r	   .  s
      	   c                  #    g 7frF   r*   )r   r   s     r1   r	   r	   7  s
     
 	r   c                 #    Sn[        U[        5      (       ap  UR                  5       nU[        L a(   [	        [
        UR                  5       I Sh  vN 5      nO[	        [
        U5      nU  Sh  vN nU " XV5      I Sh  vN nSnM  [        U[        5      (       a[  [        U5      nU[        L a   [	        [
        [        U5      5      nO[	        [
        U5      nU H  nU " XV5      I Sh  vN nSnM     O[        S5      eU(       d  [        5       I Sh  vN   U$  N! [         a    [        S5      Sef = f N N
 N=! [         a    [        S5      Sef = f Nm ND7f)aX  
Asynchronous version of :func:`functools.reduce`.

:param function: a coroutine function that takes two arguments: the accumulated
    value and the next element from the iterable
:param iterable: an iterable or async iterable
:param initial: the initial value (if missing, the first element of the iterable is
    used as the initial value)

FNz0reduce() of empty sequence with no initial valueTz9reduce() argument 2 must be an iterable or async iterable)
isinstancer   	__aiter__r2   r   r#   	__anext__StopAsyncIterationr   r   iternextStopIterationr   )r   r   r   function_calledasync_itr   elementits           r1   r	   r	   ?  sY    " O(M**%%'o%Qh&8&8&: :; G$E% 	#'"522E"O	Hh	'	'(^o%QR) G$EG"522E"O  STT lLE !;% F	#2 & ! F 3 	s   1E D" D 
D" E -E 1D<2E 5E D>1E 4E !E .E/*E EE  D" "D99E <E >E  E EE E r   r   )rq   z6Callable[..., T] | Callable[P, Coroutine[Any, Any, T]]ra   r   )r9   r8   r@   r?   rA   r?   ra   z_LRUCacheWrapper[Any]rF   )
rq   z=Callable[P, Coroutine[Any, Any, T]] | Callable[..., T] | Noner9   r8   r@   r?   rA   r?   ra   zTAsyncLRUCacheWrapper[P, T] | functools._lru_cache_wrapper[T] | _LRUCacheWrapper[Any])r   r#   r   zCallable[[T, S], Awaitable[T]]r   zIterable[S] | AsyncIterable[S]ra   r#   )r   zCallable[[T, T], Awaitable[T]]r   zIterable[T] | AsyncIterable[T]ra   r#   )r   zT | _InitialMissingTyper   z?Callable[[T, T], Awaitable[T]] | Callable[[T, S], Awaitable[T]]r   z?Iterable[T] | Iterable[S] | AsyncIterable[T] | AsyncIterable[S]ra   r#   )3
__future__r   __all__r   syscollectionsr
   collections.abcr   r   r   r   r   r   r   inspectr   typingr   r   r   r   r   r   r   r   weakrefr   _core._synchronizationr   lowlevelr   r   version_infor"   typing_extensionsr#   r$   r%   r&   r<   r(   r2   r   r   rC   r   r   r   r   r	   r*   r0   r1   <module>r      s   "  
 #  % '	 	 	 & ( (w +CLCLcN    	 	 (;'<$ <Z 9 F
 F* i71a4= i iXPwqz P6 
%
-%% 
%
 
 L 
 L	)
@	)A	) 
 s  )- HL   
 
 
%
-%% 
%
 
 P 
 P KOH #H
GH 	H
 H H YH> 
 	,,
  
 
,, 	 
 (7	8 %	8M8M8
 8r0   