Xj.UddlmZdZddlZddlmZddlmZmZm Z m Z m Z m Z ddlm Z ddlmZddlmZmZmZmZmZmZmZmZmZdd lmZd d lmZd d lmZd d l m!Z!m"Z"edZ#edZ$edZ%e!dZ&de'd<GddZ(e(Z)de'd<GddeZ*GddeZ+Gddee#Z,eGddee%e#fZ-GddZ.e d.d Z/ed/d!Z/d0d"Z/ed#d#d#d#d$ d1d%Z0e d.d&Z0ed/d'Z0 d2d(d)d)dd$ d3d*Z0e d4d+Z1e d5d,Z1e)f d6d-Z1y)7) annotations)AsyncCacheInfoAsyncCacheParametersAsyncLRUCacheWrappercache lru_cachereduceN) OrderedDict) AsyncIterable AwaitableCallable CoroutineHashableIterable)update_wrapper)iscoroutinefunction) AnyGeneric NamedTuple ParamSpec TypedDictTypeVarcastfinaloverload)WeakKeyDictionary) current_time)Lock)RunVar checkpointTSPlru_cache_itemszRunVar[WeakKeyDictionary[AsyncLRUCacheWrapper[Any, Any], OrderedDict[Hashable, tuple[_InitialMissingType, Lock, float | None] | tuple[Any, None, float | None]]]]c eZdZy)_InitialMissingTypeN)__name__ __module__ __qualname__c/mnt/ssd/data/Dropbox/adrian/vault-secondbrain/venv/lib/python3.12/site-packages/anyio/functools.pyr'r'8sr,r'initial_missingc@eZdZUded<ded<ded<ded<ded<y) rinthitsmisses int | NonemaxsizecurrsizettlNr(r)r*__annotations__r+r,r-rr?s I K M Or,rc6eZdZUded<ded<ded<ded<y)rr3r4booltypedalways_checkpointr6Nr7r+r,r-rrGs  K Or,rc4eZdZddZddZd dZd dZd dZy) _LRUMethodWrapperc ||_||_yN)_LRUMethodWrapper__wrapper_LRUMethodWrapper__instance)selfwrapperinstances r-__init__z_LRUMethodWrapper.__init__Os "r,c6|jjSr@)rA cache_inforCs r-rHz_LRUMethodWrapper.cache_infoSs~~((**r,c6|jjSr@)rAcache_parametersrIs r-rKz"_LRUMethodWrapper.cache_parametersVs~~..00r,c8|jjyr@)rA cache_clearrIs r-rMz_LRUMethodWrapper.cache_clearYs ""$r,cK|j|j|i|d{S|j|jg|i|d{S7,7wr@)rBrA)rCargskwargss r-__call__z_LRUMethodWrapper.__call__\sT ?? "'888 8#T^^DOOEdEfEEE9Es!"AA'A A AAN)rDzAsyncLRUCacheWrapper[..., T]rEobjectreturnrrTrrTNone)rOrrPrrTr")r(r)r*rFrHrKrMrQr+r,r-r>r>Ns#+1%Fr,r>c^eZdZ ddZd dZd dZd dZd dZ d ddZy)rc||_d|_d|_| t|dnd|_d|_||_||_||_t||yNr) __wrapped___hits_missesmax_maxsize _currsize_typed_always_checkpoint_ttlr)rCfuncr4r;r<r6s r-rFzAsyncLRUCacheWrapper.__init__esU   +2+>GQD  "3 tT"r,ct|j|j|j|j|j Sr@)rr\r]r_r`rcrIs r-rHzAsyncLRUCacheWrapper.cache_infows. JJ dmmT^^TYY  r,c`|j|j|j|jdS)Nr4r;r<r6r_rarbrcrIs r-rKz%AsyncLRUCacheWrapper.cache_parameters|s*}}[[!%!8!899   r,ctjdx}r(|j|ddx|_x|_|_yyrZ)r%getpopr\r]r`)rCrs r-rMz AsyncLRUCacheWrapper.cache_clears@#''- -5 - IIdD !9: :DJ : .r,crK|jdk(r1|j|i|d{}|xjdz c_|S|}|r%|tft |j dzz }|j rB|td|Dz }|r+|tftd|jDzz } tj} ||} ||\}}} || Jt%| k\r=|xj&dzc_tt!|j" d} }}||| f||<nT|xj(dz c_|j+||j"rt-d{t/t0|S|4d{||dx}tur|xjdz c_|j,|j&|jk\r|j3dn|xj&dz c_|j|i|d{}|j4t%|j4znd} |d| f||<n6|xj(dz c_|j+|t/t0|}dddd{|S7g#t$r#t}tj|YwxYw#t$rtx}||<YwxYw#t$r+tt!|j" d} }}||| f||<Y3wxYw777 7#1d{7swYSxYww) Nrrr+c32K|]}t|ywr@type).0args r- z0AsyncLRUCacheWrapper.__call__..s3sc3c32K|]}t|ywr@rn)rpvals r-rrz0AsyncLRUCacheWrapper.__call__..s1W$s)1Wrs) fast_acquireF)last)r_r[r]r.sumitemsratuplevaluesr%rj LookupErrorrsetKeyErrorr rrbrr`r\ move_to_endr!rr"popitemrc) rCrOrPvaluekeyr cache_entry cached_valuelock expires_ats r-rQzAsyncLRUCacheWrapper.__call__s& ==A *$**D;F;;E LLA LL $  O%FLLNB(?? ?C ;; 53d33 3C)E1Wv}}1W,WWW '#'')E  6+K >-8-= *L$  <%,.J*F!##$*A*A&AB%/d $0z#A C  a '',**$,&&A|,, . . +C 0 33 G ! ==,4==1P''U'3NNa'N.d..???26))2GLNTYY.T$)$ #: C  a '',Q -% . .( Y<" '%'E    & '  6(3 5K%+ 6  > d&=&="=>!+$L ,T:=K  >.' .@ . . . .( s%L7JBL7;JK KB L7,L-L7LL7 BL!LA(L!< L7LL7(J=9L7<J==L7KL7KL70LL7LL7L7L!L7!L4'L* (L4/L7NcJt||}t||j|Sr@)r>rr[)rCrEownerrDs r-__get__zAsyncLRUCacheWrapper.__get__s%$D(3w 0 01r,) rdzCallable[P, Awaitable[T]]r4r3r;r:r<r:r6r3rSrUrV)rOzP.argsrPzP.kwargsrTr"r@)rErRrz type | NonerTz_LRUMethodWrapper[T]) r(r)r*rFrHrKrMrQrr+r,r-rrcso#'## #  #  #$  ; Od6:'2 r,rcheZdZ ddZe ddZe ddZ d dZy) _LRUCacheWrapperc<||_||_||_||_yr@rh)rCr4r;r<r6s r-rFz_LRUCacheWrapper.__init__s!   "3 r,cyr@r+rCrds r-rQz_LRUCacheWrapper.__call__s&)r,cyr@r+rs r-rQz_LRUCacheWrapper.__call__s+.r,ct|r7t||j|j|j|j St j|j|j|S)N)r4r;)rrr_rarbrc functoolsr)rCfs r-rQz_LRUCacheWrapper.__call__s[ q !'4==$++t/F/F  My""4== LQOOr,N)r4r3r;r:r<r:r6r3rdz#Callable[P, Coroutine[Any, Any, T]]rTzAsyncLRUCacheWrapper[P, T]rdzCallable[..., T]rTzfunctools._lru_cache_wrapper[T])rz6Callable[P, Coroutine[Any, Any, T]] | Callable[..., T]rTz=>> C GU,=s CD IIr,c Kywr@r+)functioniterableinitials r-r r Gs c Kywr@r+)rrs r-r r Ps rcKd}t|tro|j}|tur( t t |j d{}nt t |}|23d{}|||d{}d}t|trYt|}|tur t t t|}nt t |}|D]}|||d{}d}n td|std{|S7#t$r tddwxYw7767#t$r tddwxYw7d7Bw)at 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__r.rr" __anext__StopAsyncIterationrriternext StopIterationr!)rrrfunction_calledasync_itrelementits r-r r Xse"O(M*%%' o % Qh&8&8&: :; G$E% # #'"5'22E"O Hh ' (^ o % QR) G$E #G"5'22E"O #STT l LE!;% F  #2&! F 3 s+E D D DE 'D-+D),D-/ E <D+=*E (D/"E #E$#E E E DD&&E )D-+E -E /EE  E rr)rdz:Callable[..., Any] | Callable[P, Coroutine[Any, Any, Any]]rTr) r4r3r;r:r<r:r6r3rTrr@) rdzCCallable[..., Coroutine[Any, Any, Any]] | Callable[..., Any] | Noner4r3r;r:r<r:r6r3rTr)rr"rzCallable[[T, S], Awaitable[T]]rzIterable[S] | AsyncIterable[S]rTr")rzCallable[[T, T], Awaitable[T]]rzIterable[T] | AsyncIterable[T]rTr")rzT | _InitialMissingTyperz?Callable[[T, T], Awaitable[T]] | Callable[[T, S], Awaitable[T]]rz?Iterable[T] | Iterable[S] | AsyncIterable[T] | AsyncIterable[S]rTr")2 __future__r__all__r collectionsr collections.abcr r r rrrrinspectrtypingrrrrrrrrrweakrefr_core._eventloopr_core._synchronizationrlowlevelr r!r"r#r$r%r8r'r.rrr>rrrrr r+r,r-rs" #%'   &*(( CL CL cN     (;'<$<Z9F F*{71a4={{|PP< % -%% %  L L) !          % -%% %  P PQUJ#J MJ J  J  J J J>    , ,       , ,     (7 8% 8M8M8  8r,