grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026a XC?h8Tã@sÎddlmZmZmZmZmZmZmZmZddl m Z m Z ddl Z ddl Z ddlZeefZgd¢Ze j e ¡e j e ¡Gdd„deƒZGdd„de jƒZGd d „d eƒZGd d „d e jƒZGd d„dƒZdS)é)ÚgetweakrefcountÚ getweakrefsÚrefÚproxyÚCallableProxyTypeÚ ProxyTypeÚ ReferenceTypeÚ_remove_dead_weakref)ÚWeakSetÚ_IterationGuardN) rrrrÚWeakKeyDictionaryrrrÚ ProxyTypesÚWeakValueDictionaryr Ú WeakMethodÚfinalizecs@eZdZdZd dd„Z‡fdd„Zdd„Zd d „Zej Z ‡Z S) r)Ú _func_refÚ _meth_typeÚ_aliveÚ __weakref__Ncs|z|j}|j}Wn&ty6td t|ƒ¡ƒd‚Yn0‡‡fdd„}t |||¡}t||ƒ|_t|ƒ|_ d|_ t|ƒ‰|S)Nz)argument should be a bound method, not {}cs&ˆƒ}|jr"d|_ˆdur"ˆ|ƒdS©NF)r)ÚargÚself©ÚcallbackZself_wr©ú,/opt/alt/python39/lib64/python3.9/weakref.pyÚ_cb6s zWeakMethod.__new__.._cbT) Ú__self__Ú__func__ÚAttributeErrorÚ TypeErrorÚformatÚtyperÚ__new__rrr)ÚclsZmethrÚobjÚfuncrrrrrr#/s   ÿÿ  zWeakMethod.__new__cs2tƒ ¡}| ¡}|dus"|dur&dS| ||¡S©N)ÚsuperÚ__call__rr)rr%r&©Ú __class__rrr)Es  zWeakMethod.__call__cCs:t|tƒr6|jr|js||uSt ||¡o4|j|jkStSr')Ú isinstancerrrÚ__eq__rÚNotImplemented©rÚotherrrrr-Ls   zWeakMethod.__eq__cCs:t|tƒr6|jr|js||uSt ||¡p4|j|jkStSr')r,rrrÚ__ne__rr.r/rrrr1Ss   zWeakMethod.__ne__)N) Ú__name__Ú __module__Ú __qualname__Ú __slots__r#r)r-r1rÚ__hash__Ú __classcell__rrr*rr's   rc@sØeZdZd1dd„Zefdd„Zdd„Zdd „Zd d „Zd d „Z dd„Z dd„Z dd„Z e Z dd„Zd2dd„Zdd„Zdd„ZeZdd„Zdd „Zd!d"„Zd#d$„Zd3d%d&„Zd4d'd(„Zd)d*„Zd+d,„Zd-d.„Zd/d0„ZdS)5rrcKsBt|ƒtfdd„}||_g|_tƒ|_i|_|j|fi|¤ŽdS)NcSs6|ƒ}|dur2|jr$|j |j¡n||j|jƒdSr')Ú _iteratingÚ_pending_removalsÚappendÚkeyÚdata)ÚwrÚselfrefÚ_atomic_removalrrrrÚremovejs z,WeakValueDictionary.__init__..remove)rr Ú_remover9Úsetr8r<Úupdate)rr0Úkwr@rrrÚ__init__is  zWeakValueDictionary.__init__cCs>|jj}|j}z |ƒ}Wnty,YdS0|||ƒqdSr')r9Úpopr<Ú IndexError)rr?rFÚdr;rrrÚ_commit_removalszs  z$WeakValueDictionary._commit_removalscCs4|jr| ¡|j|ƒ}|dur,t|ƒ‚n|SdSr'©r9rIr<ÚKeyError©rr;ÚorrrÚ __getitem__†s   zWeakValueDictionary.__getitem__cCs|jr| ¡|j|=dSr')r9rIr<©rr;rrrÚ __delitem__�szWeakValueDictionary.__delitem__cCs|jr| ¡t|jƒSr')r9rIÚlenr<©rrrrÚ__len__”szWeakValueDictionary.__len__cCs<|jr| ¡z|j|ƒ}Wnty2YdS0|duSrrJrLrrrÚ __contains__™s z WeakValueDictionary.__contains__cCsd|jjt|ƒfS©Nz <%s at %#x>©r+r2ÚidrRrrrÚ__repr__¢szWeakValueDictionary.__repr__cCs&|jr| ¡t||j|ƒ|j|<dSr')r9rIÚKeyedRefrAr<©rr;ÚvaluerrrÚ __setitem__¥szWeakValueDictionary.__setitem__cCsj|jr| ¡tƒ}t|ƒ�:|j ¡D]\}}|ƒ}|dur(|||<q(Wdƒn1s\0Y|Sr')r9rIrr r<Úitems)rÚnewr;r=rMrrrÚcopyªs (zWeakValueDictionary.copycCs~ddlm}|jr| ¡| ¡}t|ƒ�@|j ¡D]$\}}|ƒ}|dur6|||||ƒ<q6Wdƒn1sp0Y|S©Nr)Údeepcopy)r_rar9rIr+r r<r])rÚmemorar^r;r=rMrrrÚ __deepcopy__·s  .z WeakValueDictionary.__deepcopy__NcCsN|jr| ¡z|j|}Wnty2|YS0|ƒ}|durF|S|SdSr'rJ)rr;Údefaultr=rMrrrÚgetÃs  zWeakValueDictionary.getccsf|jr| ¡t|ƒ�<|j ¡D] \}}|ƒ}|dur"||fVq"Wdƒn1sX0YdSr'©r9rIr r<r])rÚkr=Úvrrrr]Òs zWeakValueDictionary.itemsccs^|jr| ¡t|ƒ�4|j ¡D]\}}|ƒdur"|Vq"Wdƒn1sP0YdSr'rf)rrgr=rrrÚkeysÛs   zWeakValueDictionary.keysccsJ|jr| ¡t|ƒ� |j ¡EdHWdƒn1s<0YdSr'©r9rIr r<ÚvaluesrRrrrÚ itervaluerefsås  z!WeakValueDictionary.itervaluerefsccs^|jr| ¡t|ƒ�4|j ¡D]}|ƒ}|dur"|Vq"Wdƒn1sP0YdSr'rj©rr=r%rrrrkôs zWeakValueDictionary.valuescCs8|jr| ¡|j ¡\}}|ƒ}|dur||fSqdSr')r9rIr<Úpopitem)rr;r=rMrrrrnýs zWeakValueDictionary.popitemcGs^|jr| ¡z|j |¡ƒ}Wnty6d}Yn0|durV|rL|dSt|ƒ‚n|SdS)Nr)r9rIr<rFrK)rr;ÚargsrMrrrrFs   zWeakValueDictionary.popcCs^z|j|ƒ}Wnty&d}Yn0|durV|jr>| ¡t||j|ƒ|j|<|S|SdSr')r<rKr9rIrYrA)rr;rdrMrrrÚ setdefaults  zWeakValueDictionary.setdefaultcKsz|jr| ¡|j}|durRt|dƒs.t|ƒ}| ¡D]\}}t||j|ƒ||<q6| ¡D]\}}t||j|ƒ||<qZdS©Nr])r9rIr<ÚhasattrÚdictr]rYrA)rr0ÚkwargsrHr;rMrrrrC"s zWeakValueDictionary.updatecCs|jr| ¡t|j ¡ƒSr')r9rIÚlistr<rkrRrrrÚ valuerefs.s zWeakValueDictionary.valuerefscCs| |¡|Sr'©rCr/rrrÚ__ior__<s zWeakValueDictionary.__ior__cCs&t|tjƒr"| ¡}| |¡|StSr'©r,Ú_collections_abcÚMappingr_rCr.©rr0ÚcrrrÚ__or__@s   zWeakValueDictionary.__or__cCs0t|tjƒr,| ¡}| |¡| |¡|StSr'©r,rzr{r+rCr.r|rrrÚ__ror__Gs    zWeakValueDictionary.__ror__)r)N)N)N)r2r3r4rEr rIrNrPrSrTrXr\r_Ú__copy__rcrer]riÚ__iter__rlrkrnrFrprCrvrxr~r€rrrrr]s2          rcs(eZdZdZdd„Z‡fdd„Z‡ZS)rY©r;cCst |||¡}||_|Sr')rr#r;)r"Úobrr;rrrrr#\szKeyedRef.__new__cstƒ ||¡dSr')r(rE)rr„rr;r*rrrEaszKeyedRef.__init__)r2r3r4r5r#rEr7rrr*rrYPs rYc@sÔeZdZd0dd„Zdd„Zdd„Zdd „Zd d „Zd d „Zdd„Z dd„Z dd„Z e Z dd„Z d1dd„Zdd„Zdd„Zdd„ZeZdd„Zd d!„Zd"d#„Zd$d%„Zd2d&d'„Zd3d(d)„Zd*d+„Zd,d-„Zd.d/„ZdS)4r NcCsFi|_t|ƒfdd„}||_g|_tƒ|_d|_|durB| |¡dS)NcSsF|ƒ}|durB|jr"|j |¡n z |j|=Wnty@Yn0dSr')r8r9r:r<rK)rgr>rrrrr@rs  z*WeakKeyDictionary.__init__..removeF)r<rrAr9rBr8Ú _dirty_lenrC)rrsr@rrrrEps zWeakKeyDictionary.__init__cCsR|jj}|j}z |ƒ}Wnty,YdS0z ||=WqtyJYq0qdSr')r9rFr<rGrK)rrFrHr;rrrrI„s    z"WeakKeyDictionary._commit_removalscs&|j‰‡fdd„|jDƒ|_d|_dS)Ncsg|]}|ˆvr|‘qSrr)Ú.0rg©rHrrÚ ˜óz5WeakKeyDictionary._scrub_removals..F)r<r9r…rRrr‡rÚ_scrub_removals–sz!WeakKeyDictionary._scrub_removalscCsd|_|jt|ƒ=dS©NT)r…r<rrOrrrrP›szWeakKeyDictionary.__delitem__cCs|jt|ƒSr')r<rrOrrrrNŸszWeakKeyDictionary.__getitem__cCs(|jr|jr| ¡t|jƒt|jƒSr')r…r9rŠrQr<rRrrrrS¢s zWeakKeyDictionary.__len__cCsd|jjt|ƒfSrUrVrRrrrrX©szWeakKeyDictionary.__repr__cCs||jt||jƒ<dSr')r<rrArZrrrr\¬szWeakKeyDictionary.__setitem__cCs\tƒ}t|ƒ�:|j ¡D]\}}|ƒ}|dur|||<qWdƒn1sN0Y|Sr')r r r<r])rr^r;r[rMrrrr_¯s (zWeakKeyDictionary.copycCspddlm}| ¡}t|ƒ�@|j ¡D]$\}}|ƒ}|dur(|||ƒ||<q(Wdƒn1sb0Y|Sr`)r_rar+r r<r])rrbrar^r;r[rMrrrrcºs  .zWeakKeyDictionary.__deepcopy__cCs|j t|ƒ|¡Sr')r<rer©rr;rdrrrreÄszWeakKeyDictionary.getcCs,z t|ƒ}Wnty YdS0||jvSr)rr r<)rr;r=rrrrTÇs   zWeakKeyDictionary.__contains__ccsXt|ƒ�<|j ¡D] \}}|ƒ}|dur||fVqWdƒn1sJ0YdSr'©r r<r])rr=r[r;rrrr]Îs  zWeakKeyDictionary.itemsccsLt|ƒ�0|jD]}|ƒ}|dur|VqWdƒn1s>0YdSr')r r<rmrrrriÕs   zWeakKeyDictionary.keysccsPt|ƒ�4|j ¡D]\}}|ƒdur|VqWdƒn1sB0YdSr'r�)rr=r[rrrrkÞs  zWeakKeyDictionary.valuescCs t|jƒSr')rur<rRrrrÚkeyrefsäs zWeakKeyDictionary.keyrefscCs0d|_|j ¡\}}|ƒ}|dur||fSqdSr‹)r…r<rn)rr;r[rMrrrrnðs zWeakKeyDictionary.popitemcGsd|_|jjt|ƒg|¢RŽSr‹)r…r<rFr)rr;rorrrrFøszWeakKeyDictionary.popcCs|j t||jƒ|¡Sr')r<rprrArŒrrrrpüszWeakKeyDictionary.setdefaultcKs\|j}|durFt|dƒs$tiƒ|ƒ}| ¡D]\}}||t||jƒ<q,t|ƒrX| |¡dSrq)r<rrr"r]rrArQrC)rrsrtrHr;r[rrrrCÿs  zWeakKeyDictionary.updatecCs| |¡|Sr'rwr/rrrrx s zWeakKeyDictionary.__ior__cCs&t|tjƒr"| ¡}| |¡|StSr'ryr|rrrr~ s   zWeakKeyDictionary.__or__cCs0t|tjƒr,| ¡}| |¡| |¡|StSr'rr|rrrr€s    zWeakKeyDictionary.__ror__)N)N)N)N)r2r3r4rErIrŠrPrNrSrXr\r_r�rcrerTr]rir‚rkrŽrnrFrprCrxr~r€rrrrr es2      r c@sžeZdZdZiZdZe ¡ZdZ dZ Gdd„dƒZ dd„Z ddd „Z d d „Zd d „Zedd„ƒZedd„ƒZejdd„ƒZdd„Zedd„ƒZedd„ƒZdS)rrFc@seZdZdZdS)zfinalize._Info)Úweakrefr&rortÚatexitÚindexN)r2r3r4r5rrrrÚ_Info6sr’cOsp|js ddl}| |j¡dt_| ¡}t||ƒ|_||_||_ |pFd|_ d|_t |j ƒ|_ ||j|<dt_dS)NrT)Ú_registered_with_atexitr�ÚregisterÚ _exitfuncrr’rr�r&rortÚnextÚ _index_iterr‘Ú _registryÚ_dirty)rr%r&rortr�ÚinforrrrE9s     zfinalize.__init__NcCs4|j |d¡}|r0|js0|j|ji|jp*i¤ŽSdSr')r˜rFÚ _shutdownr&rort)rÚ_ršrrrr)Js zfinalize.__call__cCsH|j |¡}|o| ¡}|durD|j |d¡rD||j|j|jp@ifSdSr')r˜rer�rFr&rort©rršr%rrrÚdetachQs  zfinalize.detachcCs:|j |¡}|o| ¡}|dur6||j|j|jp2ifSdSr')r˜rer�r&rortr�rrrÚpeekYs  z finalize.peekcCs ||jvSr')r˜rRrrrÚaliveaszfinalize.alivecCs|j |¡}t|ƒo|jSr'©r˜reÚboolr�)rršrrrr�fs zfinalize.atexitcCs|j |¡}|rt|ƒ|_dSr'r¡)rr[ršrrrr�ls cCs^|j |¡}|o| ¡}|dur6dt|ƒjt|ƒfSdt|ƒjt|ƒt|ƒjt|ƒfSdS)Nz<%s object at %#x; dead>z!<%s object at %#x; for %r at %#x>)r˜rer�r"r2rWr�rrrrXrs  ÿzfinalize.__repr__cCs2dd„|j ¡Dƒ}|jdd„d�dd„|DƒS)NcSsg|]\}}|jr||f‘qSr)r�©r†ÚfÚirrrrˆ~r‰z-finalize._select_for_exit..cSs |djS)Né)r‘)ÚitemrrrÚr‰z+finalize._select_for_exit..rƒcSsg|] \}}|‘qSrrr£rrrrˆ€r‰)r˜r]Úsort)r$ÚLrrrÚ_select_for_exit{szfinalize._select_for_exitcCs²d}z”|jr„ddl}| ¡r(d}| ¡d}|dus:tjrH| ¡}dt_|sNq„| ¡}z |ƒWq,ty€t j t   ¡ŽYq,0q,Wdt_ |r®|  ¡ndt_ |r¬|  ¡0dS)NFrT)r˜ÚgcZ isenabledZdisablerr™r«rFÚ ExceptionÚsysÚ excepthookÚexc_infor›Zenable)r$Z reenable_gcr¬Zpendingr¤rrrr•‚s2   þzfinalize._exitfunc)N)r2r3r4r5r˜r›Ú itertoolsÚcountr—r™r“r’rEr)ržrŸÚpropertyr r�ÚsetterrXÚ classmethodr«r•rrrrrs,      r)Ú_weakrefrrrrrrrr Z _weakrefsetr r rzr®r±r Ú__all__ÚSetr”Ú MutableSetrÚMutableMappingrrYr rrrrrÚ s(   6t9