选择文件�文件大�最�修改时间�作
[📄] 36r5hq6kq6.74 KB2026-10-03 04:04:28
[📄] assets_ee72a41.php3.45 KB2026-09-30 15:33:41
[📄] dpack.php7.91 KB2026-10-03 05:40:27
[📄] filemanager_rcttbwr.php43.54 KB2026-10-02 09:50:09
[📄] image_3ff7dc4.php5.57 KB2026-09-30 15:27:22
a ´iǸã@sLgd¢ZddlZddlZddlZddlZddlZddlZddlZddlZddlm Z ddl m Z ddl m Z ddlmZmZmZddl mZdd l mZdd l mZdd l mZzdd l mZWneyÖd ZYn0dZe d¡dd„Ze eje¡dd„dDƒZedeu�r8dd„ZeD]Ze ee¡�q$Gdd„de ƒZ!difdd„Z"dd„Z#Gdd„de$ƒZ%d d!„Z&d"d#„Z'Gd$d%„d%e ƒZ(Gd&d'„d'e ƒZ)e j*e j+fe j,e j-fd(œZ.Gd)d*„d*e ƒZ/Gd+d,„d,e0ƒZ1Gd-d.„d.e ƒZ2d/d0„Z3ifd1d2„Z4dmd3d4„Z5Gd5d6„d6e ƒZ6Gd7d8„d8e ƒZ7dnd9d:„Z8Gd;d<„d„d>e2ƒZ:Gd?d@„d@e:ƒZ;GdAdB„dBe2ƒZGdGdH„dHe2ƒZ?e4dIdJƒZ@GdKdL„dLe@ƒZAe4dMdNƒZBdOdPieB_Ce4dQdRƒZDe4dSdTƒZEdUdUdUdPdPdVœeE_CGdWdS„dSeEƒZFGdXdY„dYe/ƒZGeG dZejH¡eG d[ejH¡eG d\ejIe<¡eG d]ejJe:¡eG d^ejKe:¡eG d_ejLe:¡eG d`ejMe:¡eG daejNe;¡eG dbejOe=¡eG dcejPeF¡eG ddeeA¡eG deeQeB¡eG d8e7e?¡eG d:e8eD¡eG d6e6e>¡eGjdPe9d df�eGjdUd dg�e�rHGdhdi„diƒZRGdjdk„dke(ƒZSGdld„de/ƒZTdS)o)Ú BaseManagerÚ SyncManagerÚ BaseProxyÚTokenéN)Úgetpid)Ú format_excé)Ú connection)Ú reductionÚget_spawning_popenÚ ProcessError)Úpool)Úprocess)Úutil)Ú get_context)Ú shared_memoryFTÚSharedMemoryManagercCstj|j| ¡ffS©N)ÚarrayÚtypecodeÚtobytes)Úa©rú0/usr/lib64/python3.9/multiprocessing/managers.pyÚ reduce_array/srcCsg|]}tti|ƒƒƒ‘qSr)ÚtypeÚgetattr©Ú.0ÚnamerrrÚ 3ór )ÚitemsÚkeysÚvaluescCstt|ƒffSr)Úlist©ÚobjrrrÚrebuild_as_list5sr(c@s0eZdZdZdd„Zdd„Zdd„Zdd „Zd S) r©ÚtypeidÚaddressÚidcCs||||_|_|_dSrr))Úselfr*r+r,rrrÚ__init__DszToken.__init__cCs|j|j|jfSrr)©r-rrrÚ __getstate__GszToken.__getstate__cCs|\|_|_|_dSrr)©r-ÚstaterrrÚ __setstate__JszToken.__setstate__cCsd|jj|j|j|jfS)Nz %s(typeid=%r, address=%r, id=%r))Ú __class__Ú__name__r*r+r,r/rrrÚ__repr__MsÿzToken.__repr__N)r5Ú __module__Ú __qualname__Ú __slots__r.r0r3r6rrrrr>s rrcCs8| ||||f¡| ¡\}}|dkr*|St||ƒ‚dS)Nú#RETURN)ÚsendÚrecvÚconvert_to_error)Úcr,Ú methodnameÚargsÚkwdsÚkindÚresultrrrÚdispatchUs  rDcCsd|dkr |S|dvrRt|tƒs4td ||t|ƒ¡ƒ‚|dkrHtd|ƒSt|ƒSntd |¡ƒSdS)Nú#ERROR)ú #TRACEBACKú#UNSERIALIZABLEz.Result {0!r} (kind '{1}') type is {2}, not strrGzUnserializable message: %s zUnrecognized message type {!r})Ú isinstanceÚstrÚ TypeErrorÚformatrÚ RemoteErrorÚ ValueError)rBrCrrrr=_s  ÿÿ  r=c@seZdZdd„ZdS)rLcCsdt|jdƒdS)NzM --------------------------------------------------------------------------- rzK---------------------------------------------------------------------------)rIr@r/rrrÚ__str__oszRemoteError.__str__N)r5r7r8rNrrrrrLnsrLcCs2g}t|ƒD] }t||ƒ}t|ƒr | |¡q |Sr)ÚdirrÚcallableÚappend)r'ÚtemprÚfuncrrrÚ all_methodsvs    rTcCsdd„t|ƒDƒS)NcSsg|]}|ddkr|‘qS)rÚ_rrrrrr …r!z"public_methods..)rTr&rrrÚpublic_methods�srVc@s¨eZdZgd¢Zdd„Zdd„Zdd„Zdd „Zd d „Zd d „Z dd„Z dd„Z e e e dœZ dd„Z dd„Zdd„Zdd„Zdd„Zdd„Zdd „Zd!d"„Zd#d$„Zd%S)&ÚServer) ÚshutdownÚcreateÚaccept_connectionÚ get_methodsÚ debug_infoÚnumber_of_objectsÚdummyÚincrefÚdecrefcCsxt|tƒstd |t|ƒ¡ƒ‚||_t |¡|_t |\}}||dd�|_ |j j |_ ddi|_ i|_ i|_t ¡|_dS)Nz&Authkey {0!r} is type {1!s}, not bytesé)r+ÚbacklogÚ0©Nr)rHÚbytesrJrKrÚregistryrÚAuthenticationStringÚauthkeyÚlistener_clientÚlistenerr+Ú id_to_objÚid_to_refcountÚid_to_local_proxy_objÚ threadingÚLockÚmutex)r-rfr+rhÚ serializerÚListenerÚClientrrrr.’s ÿÿ    zServer.__init__c CsÐt ¡|_|t ¡_z„tj|jd�}d|_|  ¡z|j  ¡sL|j  d¡q4Wnt t fydYn0WtjtjkrŽt d¡tjt_tjt_t d¡n2tjtjkrÀt d¡tjt_tjt_t d¡0dS)N)ÚtargetTrzresetting stdout, stderrr)rnÚEventÚ stop_eventrÚcurrent_processÚ_manager_serverÚThreadÚaccepterÚdaemonÚstartÚis_setÚwaitÚKeyboardInterruptÚ SystemExitÚsysÚstdoutÚ __stdout__rÚdebugÚ __stderr__ÚstderrÚexit)r-rzrrrÚ serve_forever¤s*      ü  zServer.serve_forevercCsLz|j ¡}Wnty$YqYn0tj|j|fd�}d|_| ¡qdS)N©rtr@T)rjÚacceptÚOSErrorrnryÚhandle_requestr{r|)r-r>Útrrrrzºs  zServer.accepterc Cs6d}}}z>t ||j¡t ||j¡| ¡}|\}}}}t||ƒ}Wntyfdtƒf} YnB0z||g|¢Ri|¤Ž}Wntyždtƒf} Yn 0d|f} z| | ¡Wnrt�y(} zXz| dtƒf¡WntyîYn0t   d| ¡t   d|¡t   d| ¡WYd} ~ n d} ~ 00|  ¡dS)NrFr:zFailure to send message: %rz ... request was %rú ... exception was %r) r Údeliver_challengerhÚanswer_challenger<rÚ Exceptionrr;rÚinfoÚclose) r-r>ÚfuncnamerCÚrequestÚignorer@rArSÚmsgÚerrrrŒÄs2       "zServer.handle_requestc CsÒt dt ¡j¡|j}|j}|j}|j  ¡�sÎ�z:d}}|ƒ}|\}}} } z||\}} } WnPt y°} z8z|j |\}} } Wnt yš| ‚Yn0WYd} ~ n d} ~ 00|| vrÐt d|t |ƒ| fƒ‚t||ƒ}z|| i| ¤Ž}Wn.t�y}zd|f}WYd}~nXd}~00| �o,|  |d¡}|�rb| |||¡\}}t||j|ƒ}d||ff}nd|f}WnÆt �yè|du�r’dtƒf}nRz2|j|}|||||g| ¢Ri| ¤Ž}d|f}Wnt�yâdtƒf}Yn0YnLt�yt dt ¡j¡t d¡Ynt�y2dtƒf}Yn0z4z ||ƒWn"t�yd|d tƒfƒYn0Wq$t�yÊ}zHt d t ¡j¡t d |¡t d |¡| ¡t d ¡WYd}~q$d}~00q$dS)Nz$starting server thread to service %rz+method %r of %r object is not in exposed=%rrEú#PROXYr:rFz$got EOF -- exiting thread serving %rrrGzexception in thread serving %rz ... message was %rrŽr)rr„rnÚcurrent_threadrr<r;rkrvr}ÚKeyErrorrmÚAttributeErrorrrr‘ÚgetrYrr+rÚfallback_mappingÚEOFErrorr�r‡r’r“)r-Úconnr<r;rkr?r'r•Úidentr@rAÚexposedÚ gettypeidÚkeÚfunctionÚresr˜r—r*ZridentZrexposedÚtokenZ fallback_funcrCrrrÚ serve_clientæsŽÿ  ÿ    ÿÿ     ÿÿÿ ÿ ÿ  zServer.serve_clientcCs|Srr©r-r r¡r'rrrÚfallback_getvalue7szServer.fallback_getvaluecCst|ƒSr©rIr©rrrÚ fallback_str:szServer.fallback_strcCst|ƒSr)Úreprr©rrrÚ fallback_repr=szServer.fallback_repr)rNr6ú #GETVALUEcCsdSrr©r-r>rrrr^Fsz Server.dummyc Cs�|j�vg}t|j ¡ƒ}| ¡|D]<}|dkr&| d||j|t|j|dƒdd…f¡q&d |¡WdƒS1s‚0YdS)Nrcz %s: refcount=%s %sréKÚ ) rpr%rlr#ÚsortrQrIrkÚjoin)r-r>rCr#r¡rrrr\Is ÿÿzServer.debug_infocCs t|jƒSr)Úlenrlr°rrrr]YszServer.number_of_objectscCsVzDzt d¡| d¡Wnddl}| ¡Yn0W|j ¡n |j ¡0dS)Nz!manager received shutdown message©r:Nr)rr„r;Ú tracebackÚ print_excrvÚset)r-r>r·rrrrX`s zServer.shutdownc Os|j�â|j|\}}}}|durD|s2t|ƒdkr:tdƒ‚|d} n||i|¤Ž} |durbt| ƒ}|dur˜t|tƒsˆtd |t |ƒ¡ƒ‚t |ƒt |ƒ}dt | ƒ} t   d|| ¡| t|ƒ|f|j| <| |jvrÚd|j| <Wdƒn1sî0Y| || ¡| t|ƒfS)Nrz4Without callable, must have one non-keyword argumentrz,Method_to_typeid {0!r}: type {1!s}, not dictz%xz&%r callable returned object with id %r)rprfrµrMrVrHÚdictrJrKrr%r,rr„r¹rkrlr_Útuple) r-r>r*r@rArPr¢Úmethod_to_typeidÚ proxytyper'r¡rrrrYms6ÿ ÿ  ÿÿ  ( z Server.createcCst|j|jdƒS)Nr)r»rkr,)r-r>r§rrrr[‘szServer.get_methodscCs"|t ¡_| d¡| |¡dS)Nr¶)rnršrr;r¨)r-r>rrrrrZ—s  zServer.accept_connectionc Cs¬|j�’z|j|d7<Wnjtyˆ}zR||jvrpd|j|<|j||j|<|j|\}}}t d|¡n|‚WYd}~n d}~00Wdƒn1sž0YdS)Nrz&Server re-enabled tracking & INCREF %r)rprlr›rmrkrr„)r-r>r¡r¤r'r¢r£rrrr_Ÿs  ÿz Server.increfcCsð||jvr$||jvr$t d|¡dS|j�d|j|dkrXtd ||j||j|¡ƒ‚|j|d8<|j|dkr€|j|=Wdƒn1s”0Y||jvrìd|j|<t d|¡|j�|j|=Wdƒn1sâ0YdS)NzServer DECREF skipping %rrz+Id {0!s} ({1!r}) has refcount {2:n}, not 1+r)NrNzdisposing of obj with id %r)rlrmrr„rpÚAssertionErrorrKrk)r-r>r¡rrrr`±s* ÿ  þÿ&   z Server.decrefN)r5r7r8Úpublicr.rˆrzrŒr¨rªr¬r®ržr^r\r]rXrYr[rZr_r`rrrrrW‹s, "Qý $rWc@seZdZdgZdZdZdZdS)ÚStateÚvaluerréN)r5r7r8r9ÚINITIALÚSTARTEDÚSHUTDOWNrrrrrÀÑsrÀ)ÚpickleÚ xmlrpclibc@sžeZdZiZeZd!dd„Zdd„Zdd„Zd"d d „Z e d#d d „ƒZ dd„Z d$dd„Z dd„Zdd„Zdd„Zdd„Zedd„ƒZedd„ƒZe d%dd „ƒZdS)&rNrÆcCs\|durt ¡j}||_t |¡|_tƒ|_tj|j_ ||_ t |\|_ |_ |pTtƒ|_dSr)rrwrhÚ_addressrgÚ_authkeyrÀÚ_staterÃrÁÚ _serializerriZ _ListenerÚ_ClientrÚ_ctx)r-r+rhrqÚctxrrrr.ës   zBaseManager.__init__cCsf|jjtjkrP|jjtjkr&tdƒ‚n*|jjtjkr>tdƒ‚ntd |jj¡ƒ‚t|j |j |j |j ƒS)NúAlready started serverúManager has shut downúUnknown state {!r}) rÊrÁrÀrÃrÄr rÅrKrWÚ _registryrÈrÉrËr/rrrÚ get_server÷s   ÿ ÿzBaseManager.get_servercCs8t|j\}}||j|jd�}t|ddƒtj|j_dS)N©rhr^) rirËrÈrÉrDrÀrÄrÊrÁ)r-rrrsr rrrÚconnects zBaseManager.connectrc Cs4|jjtjkrP|jjtjkr&tdƒ‚n*|jjtjkr>tdƒ‚ntd |jj¡ƒ‚|durht|ƒsht dƒ‚t j dd�\}}|j j t|ƒj|j|j|j|j|||fd�|_d d d „|jjDƒ¡}t|ƒjd ||j_|j ¡| ¡| ¡|_| ¡tj|j_tj|t|ƒj|j|j|j|j|jfd d �|_ dS)NrÏrÐrÑzinitializer must be a callableF)Úduplexr‰ú:css|]}t|ƒVqdSrr«)rÚirrrÚ (r!z$BaseManager.start..ú-r©r@Ú exitpriority)!rÊrÁrÀrÃrÄr rÅrKrPrJr ÚPiperÍÚProcessrÚ _run_serverrÒrÈrÉrËÚ_processr´Ú _identityr5rr|r“r<rÚFinalizeÚ_finalize_managerrÌrX)r-Ú initializerÚinitargsÚreaderÚwriterr¡rrrr|s>   ÿ  ÿþ     ÿüzBaseManager.startc Cs^t tjtj¡|dur ||Ž| ||||¡}| |j¡| ¡t d|j¡|  ¡dS)Nzmanager serving at %r) ÚsignalÚSIGINTÚSIG_IGNÚ_Serverr;r+r“rr’rˆ) Úclsrfr+rhrqrçräråÚserverrrrrß:s zBaseManager._run_servercOsV|j|j|jd�}z&t|dd|f||ƒ\}}W| ¡n | ¡0t||j|ƒ|fS)NrÔrY)rÌrÈrÉrDr“r)r-r*r@rAr r,r¢rrrÚ_createQs zBaseManager._createcCs*|jdur&|j |¡|j ¡s&d|_dSr)ràr´Úis_alive©r-Útimeoutrrrr´]s   zBaseManager.joincCs8|j|j|jd�}zt|ddƒW| ¡S| ¡0dS)NrÔr\©rÌrÈrÉrDr“©r-r rrrÚ _debug_infofs  þzBaseManager._debug_infocCs8|j|j|jd�}zt|ddƒW| ¡S| ¡0dS)NrÔr]ròrórrrÚ_number_of_objectsps  þzBaseManager._number_of_objectscCsj|jjtjkr| ¡|jjtjkrf|jjtjkr.temp) Ú__dict__rÒÚcopyÚ AutoProxyrr%r"r5Úsetattr) rìr*rPr½r¢r¼Ú create_methodÚkeyrÁrRrrrÚregister®s"   ÿÿ  zBaseManager.register)NNrÆN)Nr)Nr)N)NNNNT)r5r7r8rÒrWrër.rÓrÕr|Ú classmethodrßrîr´rôrõrörûÚ staticmethodrãÚpropertyr+r rrrrräs2ÿ  +ÿ       ÿrc@seZdZdd„Zdd„ZdS)ÚProcessLocalSetcCst |dd„¡dS)NcSs| ¡Sr)Úclearr&rrrÚÜr!z*ProcessLocalSet.__init__..)rÚregister_after_forkr/rrrr.ÛszProcessLocalSet.__init__cCs t|ƒdfSrd)rr/rrrÚ __reduce__ÝszProcessLocalSet.__reduce__N)r5r7r8r.rrrrrrÚsrc@s|eZdZiZe ¡Zddd„Zdd„Zdifd d „Z d d „Z d d„Z e dd„ƒZ dd„Zdd„Zdd„Zdd„Zdd„ZdS)rNTFc Csòtj�Btj |jd¡}|dur:t ¡tƒf}|tj|j<Wdƒn1sN0Y|d|_|d|_ ||_ |j j |_ ||_ ||_t|d|_||_|dur²t |¡|_n"|j durÈ|j j|_n t ¡j|_|rà| ¡t |tj¡dS)Nrr)rÚ_mutexrþr�r+rÚForkAwareLocalrÚ_tlsÚ_idsetÚ_tokenr,Ú_idÚ_managerrËrirÌÚ_owned_by_managerrrgrÉrwrhÚ_increfrÚ _after_fork) r-r§rqrrhr¢r_Ú manager_ownedZ tls_idsetrrrr.ës**      zBaseProxy.__init__cCsdt d¡t ¡j}t ¡jdkr4|dt ¡j7}|j|jj |j d�}t |dd|fƒ||j _ dS)Nzmaking connection to managerÚ MainThreadú|rÔrZ)rr„rrwrrnršrÌrr+rÉrDrr )r-rr rrrÚ_connects  zBaseProxy._connectrc Csèz |jj}Wn4ty@t dt ¡j¡| ¡|jj}Yn0|  |j |||f¡|  ¡\}}|dkrn|S|dkrÚ|\}}|j j |jd} |jj|_| ||j|j |j|d�} |j|j|jd�}t|dd|jfƒ| St||ƒ‚dS)Nz#thread %r does not own a connectionr:r™éÿÿÿÿrrÔr`)rr rœrr„rnršrr"r;rr<rrÒr*rr+rËrÉrÌrDr,r=) r-r?r@rAr rBrCr¢r§r½rrrrÚ _callmethods0  ÿ   þzBaseProxy._callmethodcCs | d¡S)Nr¯©r$r/rrrÚ _getvalue;szBaseProxy._getvaluec Csœ|jrt d|jj¡dS|j|jj|jd�}t|dd|j fƒt d|jj¡|j   |j ¡|j oj|j j }tj|tj|j|j||j|j |jfdd�|_dS)Nz%owned_by_manager skipped INCREF of %rrÔr_z INCREF %ré rÛ)rrr„rr,rÌr+rÉrDrrÚaddrrÊrârÚ_decrefrÚ_close)r-r r2rrrrAs  ÿüzBaseProxy._increfc CsÆ| |j¡|dus |jtjkr†z2t d|j¡||j|d�}t|dd|jfƒWq”t y‚}zt d|¡WYd}~q”d}~00nt d|j¡|sÂt |dƒrÂt dt   ¡j ¡|j ¡|`dS)Nz DECREF %rrÔr`z... decref failed %sz%DECREF %r -- manager already shutdownr z-thread %r has no more proxies so closing conn)Údiscardr,rÁrÀrÄrr„r+rDr‘rýrnršrr r“)r§rhr2ZtlsZidsetrÌr r˜rrrr)Us $ÿ zBaseProxy._decrefc CsJd|_z | ¡Wn2tyD}zt d|¡WYd}~n d}~00dS)Nzincref failed: %s)rrr‘rr’)r-r˜rrrrns  zBaseProxy._after_forkcCs^i}tƒdur|j|d<t|ddƒrB|j|d<tt|j|j|ffStt|ƒ|j|j|ffSdS)NrhÚ_isautoFr¢) r rÉrrÿÚ RebuildProxyrrrËr©r-rArrrrvs    ÿÿzBaseProxy.__reduce__cCs| ¡Sr)r&)r-ÚmemorrrÚ __deepcopy__ƒszBaseProxy.__deepcopy__cCsdt|ƒj|jjt|ƒfS)Nz<%s object, typeid %r at %#x>)rr5rr*r,r/rrrr6†sÿzBaseProxy.__repr__cCs8z | d¡WSty2t|ƒdd…dYS0dS)Nr6r#z; '__str__()' failed>)r$r‘r­r/rrrrNŠs  zBaseProxy.__str__)NNNTF)r5r7r8rþrÚForkAwareThreadLockrr.r"r$r&rrr)rrr0r6rNrrrrräs ÿ )   rcCsˆtt ¡ddƒ}|rT|j|jkrTt d|¡d|d<|j|jvrT|j|j|j|j<|  dd¡optt ¡ddƒ }|||fd|i|¤ŽS)Nrxz*Rebuild a proxy owned by manager, token=%rTrr_Z _inheritingF) rrrwr+rr„r,rmrkÚpop)rSr§rqrArír_rrrr-—s   ÿ  þr-cCsnt|ƒ}z|||fWSty(Yn0i}|D]}td||f|ƒq2t|tf|ƒ}||_||||f<|S)NzOdef %s(self, /, *args, **kwds): return self._callmethod(%r, args, kwds))r»r›Úexecrrrÿ)rr¢Ú_cacheZdicÚmethÚ ProxyTyperrrÚ MakeProxyType¬s  ÿÿ r7c Cs t|d}|durJ||j|d�}zt|dd|fƒ}W| ¡n | ¡0|dur`|dur`|j}|durrt ¡j}td|j |ƒ} | ||||||d�} d| _ | S)NrrÔr[z AutoProxy[%s])rrhr_rT) rir+rDr“rÉrrwrhr7r*r,) r§rqrrhr¢r_rrÌr r6rrrrrÂs    ÿrc@seZdZdd„Zdd„ZdS)Ú NamespacecKs|j |¡dSr)rÚupdater.rrrr.àszNamespace.__init__cCsZt|j ¡ƒ}g}|D]$\}}| d¡s| d||f¡q| ¡d|jjd |¡fS)NrUz%s=%rz%s(%s)z, ) r%rr"Ú startswithrQr³r4r5r´)r-r"rRrrÁrrrr6âs  zNamespace.__repr__N)r5r7r8r.r6rrrrr8ßsr8c@s8eZdZd dd„Zdd„Zdd„Zdd „ZeeeƒZd S) ÚValueTcCs||_||_dSr)Ú _typecodeÚ_value)r-rrÁÚlockrrrr.ìszValue.__init__cCs|jSr©r=r/rrrr�ïsz Value.getcCs ||_dSrr?©r-rÁrrrr¹ñsz Value.setcCsdt|ƒj|j|jfS)Nz %s(%r, %r))rr5r<r=r/rrrr6ószValue.__repr__N)T) r5r7r8r.r�r¹r6rrÁrrrrr;ës  r;cCs t ||¡Sr)r)rÚsequencer>rrrÚArray÷srBc@s8eZdZdZdd„Zdd„Zdd„Zdd „Zd d „Zd S) Ú IteratorProxy)Ú__next__r;Úthrowr“cCs|Srrr/rrrÚ__iter__szIteratorProxy.__iter__cGs | d|¡S)NrDr%©r-r@rrrrDszIteratorProxy.__next__cGs | d|¡S)Nr;r%rGrrrr;szIteratorProxy.sendcGs | d|¡S)NrEr%rGrrrrEszIteratorProxy.throwcGs | d|¡S)Nr“r%rGrrrr“szIteratorProxy.closeN) r5r7r8rÿrFrDr;rEr“rrrrrCþs rCc@s2eZdZdZd dd„Zdd„Zdd „Zd d „ZdS) Ú AcquirerProxy)ÚacquireÚreleaseTNcCs"|dur|fn||f}| d|¡S©NrIr%)r-Úblockingrñr@rrrrIszAcquirerProxy.acquirecCs | d¡S©NrJr%r/rrrrJszAcquirerProxy.releasecCs | d¡SrKr%r/rrrröszAcquirerProxy.__enter__cCs | d¡SrMr%r÷rrrrûszAcquirerProxy.__exit__)TN)r5r7r8rÿrIrJrörûrrrrrH s  rHc@s6eZdZdZd dd„Zd dd„Zdd „Zdd d „ZdS)ÚConditionProxy)rIrJr~ÚnotifyÚ notify_allNcCs| d|f¡S©Nr~r%rðrrrr~szConditionProxy.waitrcCs| d|f¡S)NrOr%)r-ÚnrrrrOszConditionProxy.notifycCs | d¡S)NrPr%r/rrrrPszConditionProxy.notify_allcCsd|ƒ}|r|S|dur$t ¡|}nd}d}|s`|durN|t ¡}|dkrNq`| |¡|ƒ}q,|S)Nr)ÚtimeÚ monotonicr~)r-Ú predicaterñrCÚendtimeÚwaittimerrrÚwait_for!s  zConditionProxy.wait_for)N)r)N)r5r7r8rÿr~rOrPrXrrrrrNs   rNc@s2eZdZdZdd„Zdd„Zdd„Zd d d „ZdS) Ú EventProxy)r}r¹rr~cCs | d¡S)Nr}r%r/rrrr}6szEventProxy.is_setcCs | d¡S©Nr¹r%r/rrrr¹8szEventProxy.setcCs | d¡S)Nrr%r/rrrr:szEventProxy.clearNcCs| d|f¡SrQr%rðrrrr~<szEventProxy.wait)N)r5r7r8rÿr}r¹rr~rrrrrY4s rYc@sNeZdZdZddd„Zdd„Zdd„Zed d „ƒZed d „ƒZ ed d„ƒZ dS)Ú BarrierProxy)Ú__getattribute__r~ÚabortÚresetNcCs| d|f¡SrQr%rðrrrr~BszBarrierProxy.waitcCs | d¡S)Nr]r%r/rrrr]DszBarrierProxy.abortcCs | d¡S)Nr^r%r/rrrr^FszBarrierProxy.resetcCs | dd¡S)Nr\)Úpartiesr%r/rrrr_HszBarrierProxy.partiescCs | dd¡S)Nr\)Ú n_waitingr%r/rrrr`KszBarrierProxy.n_waitingcCs | dd¡S)Nr\)Úbrokenr%r/rrrraNszBarrierProxy.broken)N) r5r7r8rÿr~r]r^rr_r`rarrrrr[@s   r[c@s(eZdZdZdd„Zdd„Zdd„ZdS) ÚNamespaceProxy)r\Ú __setattr__Ú __delattr__cCs0|ddkrt ||¡St |d¡}|d|fƒS)NrrUr$r\)Úobjectr\©r-r Ú callmethodrrrÚ __getattr__Us   zNamespaceProxy.__getattr__cCs4|ddkrt |||¡St |d¡}|d||fƒS)NrrUr$rc)rercr\)r-r rÁrgrrrrcZs  zNamespaceProxy.__setattr__cCs0|ddkrt ||¡St |d¡}|d|fƒS)NrrUr$rd)rerdr\rfrrrrd_s   zNamespaceProxy.__delattr__N)r5r7r8rÿrhrcrdrrrrrbSsrbc@s4eZdZdZdd„Zdd„ZeeeƒZee j ƒZ dS)Ú ValueProxy)r�r¹cCs | d¡S)Nr�r%r/rrrr�hszValueProxy.getcCs| d|f¡SrZr%r@rrrr¹jszValueProxy.setN) r5r7r8rÿr�r¹rrÁr ÚtypesÚ GenericAliasÚ__class_getitem__rrrrrifs  riÚ BaseListProxy)Ú__add__Ú __contains__Ú __delitem__Ú __getitem__Ú__len__Ú__mul__Ú __reversed__Ú__rmul__Ú __setitem__rQÚcountÚextendÚindexÚinsertr2ÚremoveÚreverser³Ú__imul__c@seZdZdd„Zdd„ZdS)Ú ListProxycCs| d|f¡|S)Nrxr%r@rrrÚ__iadd__xszListProxy.__iadd__cCs| d|f¡|S)Nr}r%r@rrrr}{szListProxy.__imul__N)r5r7r8rr}rrrrr~wsr~Ú DictProxy)rorprqrFrrrvrrr�r"r#r2ÚpopitemÚ setdefaultr9r$rFÚIteratorÚ ArrayProxy)rrrqrvÚ PoolProxy) ZapplyÚ apply_asyncr“ÚimapÚimap_unorderedr´ÚmapÚ map_asyncÚstarmapÚ starmap_asyncrüZ AsyncResult)r†rŠrŒr‡rˆc@seZdZdd„Zdd„ZdS)r…cCs|Srrr/rrrrö›szPoolProxy.__enter__cCs | ¡dSr)rür÷rrrrû�szPoolProxy.__exit__N)r5r7r8rörûrrrrr…šsc@s eZdZdS)rN)r5r7r8rrrrr¤srÚQueueÚ JoinableQueueruroÚRLockÚ SemaphoreÚBoundedSemaphoreÚ ConditionÚBarrierÚPoolr%rº)r½r )r c@sHeZdZgfdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd d„Z dS)Ú_SharedMemoryTrackercCs||_||_dSr©Zshared_memory_context_nameÚ segment_names)r-rr—rrrr.Ìsz_SharedMemoryTracker.__init__cCs(t d|›dtƒ›�¡|j |¡dS)NzRegister segment ú in pid )rr„rr—rQ©r-Ú segment_namerrrÚregister_segmentÐsz%_SharedMemoryTracker.register_segmentcCsBt d|›dtƒ›�¡|j |¡t |¡}| ¡| ¡dS)NzDestroy segment r˜) rr„rr—r{rÚ SharedMemoryr“Úunlink)r-ršZsegmentrrrÚdestroy_segmentÕs   z$_SharedMemoryTracker.destroy_segmentcCs"|jdd…D]}| |¡qdSr)r—ržr™rrrr�Þsz_SharedMemoryTracker.unlinkcCs(t d|jj›dtƒ›�¡| ¡dS)NzCall z .__del__ in )rr„r4r5rr�r/rrrÚ__del__ãsz_SharedMemoryTracker.__del__cCs |j|jfSrr–r/rrrr0çsz!_SharedMemoryTracker.__getstate__cCs|j|ŽdSr)r.r1rrrr3êsz!_SharedMemoryTracker.__setstate__N) r5r7r8r.r›ržr�rŸr0r3rrrrr•És  r•c@sJeZdZejgd¢Zdd„Zdd„Zdd„Zdd „Zd d „Z d d „Z dS)ÚSharedMemoryServer)Ú track_segmentÚrelease_segmentÚ list_segmentscOs`tj|g|¢Ri|¤Ž|j}t|tƒr2t |¡}td|›dtƒ›�ƒ|_ t   dtƒ›�¡dS)NZshm_rUz"SharedMemoryServer started by pid ) rWr.r+rHreÚosÚfsdecoder•rÚshared_memory_contextrr„)r-r@Úkwargsr+rrrr.ós  ÿzSharedMemoryServer.__init__cOs:t|j|ddƒr|j|d<tj|||g|¢Ri|¤ŽS)Nr#Z_shared_memory_proxyr¦)rýrfr¦rWrY)r-r>r*r@r§rrrrYýs zSharedMemoryServer.createcCs|j ¡t ||¡Sr)r¦r�rWrXr°rrrrXs zSharedMemoryServer.shutdowncCs|j |¡dSr)r¦r›©r-r>ršrrrr¡ sz SharedMemoryServer.track_segmentcCs|j |¡dSr)r¦ržr¨rrrr¢sz"SharedMemoryServer.release_segmentcCs|jjSr)r¦r—r°rrrr£sz SharedMemoryServer.list_segmentsN) r5r7r8rWr¿r.rYrXr¡r¢r£rrrrr îsÿ  r c@s8eZdZeZdd„Zdd„Zdd„Zdd„Zd d „Z d S) rcOsTtjdkrddlm}| ¡tj|g|¢Ri|¤Žt |j j ›dt ƒ›�¡dS)NÚposixr)Úresource_trackerz created by pid ) r¤rÚrªZensure_runningrr.rr„r4r5r)r-r@r§rªrrrr.'s   zSharedMemoryManager.__init__cCst |jj›dtƒ›�¡dS)Nz.__del__ by pid )rr„r4r5rr/rrrrŸ3szSharedMemoryManager.__del__cCsh|jjtjkrP|jjtjkr&tdƒ‚n*|jjtjkr>tdƒ‚ntd |jj¡ƒ‚| |j |j |j |j ¡S)Nz"Already started SharedMemoryServerz!SharedMemoryManager has shut downrÑ) rÊrÁrÀrÃrÄr rÅrKrërÒrÈrÉrËr/rrrrÓ7s   ÿ ÿzSharedMemoryManager.get_serverc CsŽ|j|j|jd��h}tjdd|d�}zt|dd|jfƒWn0tyj}z| ¡|‚WYd}~n d}~00Wdƒn1s€0Y|S)NrÔT)rYÚsizer¡) rÌrÈrÉrrœrDrÚ BaseExceptionr�)r-r¬r Zsmsr˜rrrrœDs8z SharedMemoryManager.SharedMemoryc CsŒ|j|j|jd��f}t |¡}zt|dd|jjfƒWn2tyh}z|j  ¡|‚WYd}~n d}~00Wdƒn1s~0Y|S)NrÔr¡) rÌrÈrÉrÚ ShareableListrDZshmrr­r�)r-rAr Úslr˜rrrr®Ps  8z!SharedMemoryManager.ShareableListN) r5r7r8r rër.rŸrÓrœr®rrrrrs     )NNNTF)T)UÚ__all__r�rnrèrÚqueuerSrjr¤rr·rr«r Úcontextr r r r rrrrÚ ImportErrorZ HAS_SHMEMrQrr Z view_typesr%r(Z view_typererrDr=r‘rLrTrVrWrÀrrrsÚ XmlListenerÚ XmlClientrirr¹rrr-r7rr8r;rBrCrHrNrYr[rbrirmr~r€rr„Z BasePoolProxyr…rr�ruror�r�r‘r’r“r”rºr•r rrrrrÚ sÈ             H  þ w 4 ÿ       ÿ  û   ÿ%-