ggdZddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl Z ddl m Z ddl m Z mZddlmZej"Z ddlZddlmZmZmZmZd Zd Ze j8Zd Zd gZe ed rd Zed gz Zej2dk(rd Zed gz ZefdZ!dZ"dZ#dZ$dZ%GddZ&er Gdde&Z'Gdde&Z(Gdde)Z*dEdZ+ej2dk7rdFdZ,ndFdZ,Gdde)Z-d Z.ej2dk(rGd!d"e)Z/d#Z0d$Z1d%Z2d&Z3d'Z4e5hd(Z6e7d)e6DZ8d*Z9d+Z:e9e:fZ;d,ed/Z?d0Z@dGd1eZLej2dk(r3d?ZQd@ZReje(eQdAZTdBZUeje'eTydCZQdDZReje(eQy#e$rej2dk(rdZYwxYw)I)ClientListenerPipewaitN)util)AuthenticationErrorBufferTooShort) reduction) WAIT_OBJECT_0WAIT_ABANDONED_0 WAIT_TIMEOUTINFINITEwin32i g4@AF_INETAF_UNIXAF_PIPEc0tj|zSNtime monotonic)timeouts A/opt/alt/python312/lib64/python3.12/multiprocessing/connection.py _init_timeoutr<s >> g %%c0tj|kDSrr)ts r_check_timeoutr?s >> a rc |dk(ry|dk(r)tjdtjS|dk(r;tjdt j t tfzdStd ) Nr) localhostrrz listener-)prefixdirrz\\.\pipe\pyc-%d-%d-zunrecognized family) tempfilemktempr get_temp_dirosgetpidnext _mmap_counter ValueErrorfamilys rarbitrary_addressr/Fs~ 9 kt7H7H7JKK 9 &< " T--@A'BGIK K.//rc tjdk7r|dk(rtd|ztjdk(r%|dk(rtt|std|zyyy)NrrzFamily %s is not recognized.r)sysplatformr,hasattrsocketr-s r_validate_familyr5Tsh ||w6Y#67&@AA ||w6Y#6vv&;fDE E'$7rc t|tk(ryt|tur|jdryt|tust j |ryt d|z)Nrz\\rrzaddress type of %r unrecognized)typetuplestr startswithris_abstract_socket_namespacer,)addresss r address_typer=`sa  G} g# '"4"4V"< g# !B!B7!K:WDEErceZdZdZddZdZdZdZdZdZ e dZ e d Z e d Z d Zd Zdd ZdZddZddZdZddZdZdZy)_ConnectionBaseNc|j}|dkr td|s |s td||_||_||_y)Nrzinvalid handlez6at least one of `readable` and `writable` must be True) __index__r,_handle _readable _writable)selfhandlereadablewritables r__init__z_ConnectionBase.__init__vsO!!# A:-. .HJ J !!rc>|j|jyyrrB_closerEs r__del__z_ConnectionBase.__del__s << # KKM $rc2|j tdy)Nhandle is closed)rBOSErrorrMs r _check_closedz_ConnectionBase._check_closeds << ,- - rc2|js tdy)Nzconnection is write-only)rCrQrMs r_check_readablez_ConnectionBase._check_readables~~45 5rc2|js tdy)Nzconnection is read-only)rDrQrMs r_check_writablez_ConnectionBase._check_writables~~34 4rct|jrd|_td|jtd)NFzbad message length)rDrCcloserQrMs r_bad_message_lengthz#_ConnectionBase._bad_message_lengths5 >>"DN*++ JJL*++rc |jduSrrBrMs rclosedz_ConnectionBase.closeds.||t##rc |jSr)rCrMs rrGz_ConnectionBase.readable0~~rc |jSr)rDrMs rrHz_ConnectionBase.writabler^rc< |j|jSr)rRrBrMs rfilenoz_ConnectionBase.filenos9 ||rch |j |jd|_yy#d|_wxYwrrKrMs rrXz_ConnectionBase.closes4" << # $ # $ $ s( 1cx |j|jt|}|jdkDr|j d}|j }|dkr t d||kr t d|||z }n#|dkr t d||z|kDr t d|j||||zy)NrBrzoffset is negativezbuffer length < offsetzsize is negativezbuffer length < offset + size)rRrV memoryviewitemsizecastnbytesr, _send_bytes)rEbufoffsetsizemns r send_bytesz_ConnectionBase.send_bytess:   sO ::>s A HH A:12 2 v:56 6 <v:D AX/0 0 d]Q <= = 6&4-01rc |j|j|jtj |yr)rRrVri_ForkingPicklerdumpsrEobjs rsendz_ConnectionBase.sends6'   ..s34rc |j|j||dkr td|j|}||j |j S)Nrznegative maxlength)rRrTr, _recv_bytesrYgetvalue)rE maxlengthrjs r recv_bytesz_ConnectionBase.recv_bytessf     Y]12 2y) ;  $ $ &||~rc |j|jt|5}|j}|t |z}|dkr t d||kDr t d|j }|j}|||zkrt|j|jd|j|||z||z|z|cdddS#1swYyxYw)Nrznegative offsetzoffset too large) rRrTrerflenr,rwtellr rxseekreadinto)rErjrkrmrfbytesizeresultrls rrecv_bytes_intoz_ConnectionBase.recv_bytes_intos    _zzH#a&(Hz !233(" !344%%'F;;=D&4-'$V__%677 KKN OOAf0%}9; <!__s B+C""C+c |j|j|j}tj |j Sr)rRrTrwrqloads getbuffer)rErjs rrecvz_ConnectionBase.recvsB*   $$S]]_55rcf |j|j|j|Sr)rRrT_pollrErs rpollz_ConnectionBase.polls,=  zz'""rc|SrrMs r __enter__z_ConnectionBase.__enter__ rc$|jyrrXrEexc_type exc_valueexc_tbs r__exit__z_ConnectionBase.__exit__  r)TT)rNr)r)g)__name__ __module__ __qualname__rBrIrNrRrTrVrYpropertyr\rGrHrarXrorurzrrrrrrrrr?r?ssG ".65,$$ $2(5 26# rr?cNeZdZ dZdZej fdZdZddZ dZ dZ y) PipeConnectionFNcd|j}||j||jyr)_send_ovcancelrB)rE _CloseHandleovs rrLzPipeConnection._closes%B~  &rc|j tdtj|j|d\}}||_ |tj k(r&tj |jgdt}d|_|jd\}}|tjk(rttjdy#|jxYw#d|_|jd\}}wxYw)Nz/concurrent send_bytes() calls are not supportedT overlappedFrP)rr,_winapi WriteFilerBERROR_IO_PENDINGWaitForMultipleObjectseventrrGetOverlappedResultERROR_OPERATION_ABORTEDrQerrnoEPIPE)rErjrerrwaitresnwrittens rrizPipeConnection._send_bytess}}( "566'' cdKGBDM ='222%<< E85G!% " 6 6t < #g555ekk+=>> 6    $ " 6 6t < #s9CCCC:c|jrd|_tjS|dn t|d} t j |j |d\}} |tjk(r&t j|jgdt}|jd\}}|dk(r5tj}|j|j|S|tjk(r|j!||S t+d#|jxYw#|jd\}}|dk(r9tj}|j|j|ccYS|tjk(r|j!||ccYSwxYw#t"$r)}|j$tj&k(rt(d}~wwxYw)NFTrrz.shouldn't get here; expected KeyboardInterrupt)_got_empty_messageioBytesIOminrReadFilerBrrrrrrwriterERROR_MORE_DATA_get_more_datarQwinerrorERROR_BROKEN_PIPEEOFError RuntimeError) rEmaxsizebsizerrrnreadfes rrwzPipeConnection._recv_bytes6s&&*/'zz|#&C4E%..t||U;?AGBD'":"::&-&D&D!# E8'=G&(%;%;D%A s!8 " AGGBLLN3#$H G$;$;;#'#6#6r7#CC<OP P! %'%;%;D%A s!8 " AGGBLLN3#$H G$;$;;#'#6#6r7#CC<zzW%>%>>& s[%F-9DA F-&$F-D**D--AF*>F-'F*'F-)F**F-- G6$GGc|js%tj|jddk7ryt t |g|S)NrT)rr PeekNamedPiperBboolrrs rrzPipeConnection._pollVs>''--dll;A>!CdVW-. .rc|j}tj}|j|t j |j d}|!t||z|kDr|jt j|j |d\}}|jd\}}|j|j|S)NrTr) rrrrrrrBr|rYrr)rErrrjrleftrrbytess rrzPipeConnection._get_more_data\s,,.C A GGCL((6q9D"s3x$'@((*&&t||TdKGB006KFC GGBLLN #Hrr) rrrrrr CloseHandlerLrirwrrrrrrr s8 #&-&9&9 ' (4 Q@ / rrceZdZ er(ej fdZejZejZ n'e jfdZe jZe jZ efdZe fdZdZd dZdZy) Connectionc(||jyrr[rErLs rrLzConnection._closes 4<< rc(||jyrr[rs rrLzConnection._closexrrcbt|} ||j|}||z}|dk(ry||d}$Nr)r|rB)rErjr remainingrns r_sendzConnection._send}sAH dllC(A NIA~ab'C rctj}|j}|}|dkDrK|||}t|}|dk(r||k(rtt d|j |||z}|dkDrK|S)Nrzgot end of file during message)rrrBr|rrQr)rErlreadrjrFrchunkrns r_recvzConnection._recvs|jjl !m+EE AAv$"N!"BCC IIe  NI!m rct|}|dkDr`tjdd}tjd|}|j||j||j|ytjd|}|dkDr#|j||j|y|j||zy)Ni!i!Qi@)r|structpackr)rErjrn pre_headerheaders rrizConnection._send_bytess H z>T2.J[[q)F JJz " JJv  JJsO[[q)F5y 6" 3  6C<(rNc|jd}tjd|j\}|dk(r7|jd}tjd|j\}|||kDry|j|S)Nrrr)rrunpackrx)rErrjrls rrwzConnection._recv_bytessqjjm dCLLN3 2:**Q-CMM$ 7ED  4'>zz$rc2t|g|}t|Sr)rr)rErrs rrzConnection._polls $ !Awrr)rrrr_multiprocessing closesocketrLru_writer_readr(rXrrrrrirwrrrrrrlso  0 < < !!&& %% " !% % ). rrcNeZdZ d dZdZdZedZedZdZ dZ y) rNc|xs|xr t|xst}|xs t|}t||dk(rt |||_nt ||||_|t|ts td||_ yNrzauthkey should be a byte string) r=default_familyr/r5 PipeListener _listenerSocketListener isinstancebytes TypeError_authkey)rEr<r.backlogauthkeys rrIzListener.__init__s#G= W(=#" 6.v6 Y )'7;DN+GVWEDN  z'5'A=> > rc |j td|jj}|j,t ||jt ||j|S)Nzlistener is closed)rrQacceptrdeliver_challengeanswer_challenge)rEcs rrzListener.accepts\ >> !./ / NN ! ! # == $ a / Q .rcR |j}|d|_|jyyr)rrX)rElisteners rrXzListener.closes. >>  !DN NN  rc.|jjSr)r_addressrMs rr<zListener.addresss~~&&&rc.|jjSr)r_last_acceptedrMs r last_acceptedzListener.last_accepteds~~,,,rc|SrrrMs rrzListener.__enter__rrc$|jyrrrs rrzListener.__exit__rr)NNrN) rrrrIrrXrr<rrrrrrrrsH  ''--rrc |xs t|}t||dk(r t|}n t|}|t |t s t d|t||t|||Sr) r=r5 PipeClient SocketClientrrrrr)r<r.rrs rrrsv ,|G,FV  w   !:gu#=9::G$!W% HrcP |rotj\}}|jd|jdt|j }t|j }||fSt j \}}t|d}t|d}||fS)NTFrHrG)r4 socketpair setblockingrdetachr(pipe)duplexs1s2c1c2fd1fd2s rrrs  &&(FB NN4 NN4 BIIK(BBIIK(B 2v wwyHCC%0BC%0B2v rc  td}|r>tj}tjtjz}t t }}n(tj }tj}dt }}tj||tjztjztjtjztjzd||tjtj}tj||dtjtj tjtj}tj"|tjddtj$|d}|j'd\} } t)||} t)||} | | fS)NrrrTrr r )r/rPIPE_ACCESS_DUPLEX GENERIC_READ GENERIC_WRITEBUFSIZEPIPE_ACCESS_INBOUNDCreateNamedPipeFILE_FLAG_OVERLAPPEDFILE_FLAG_FIRST_PIPE_INSTANCEPIPE_TYPE_MESSAGEPIPE_READMODE_MESSAGE PIPE_WAITNMPWAIT_WAIT_FOREVERNULL CreateFile OPEN_EXISTINGSetNamedPipeHandleStateConnectNamedPiperr) rr<openmodeaccessobsizeibsizeh1h2r_rrrs rrr(se $I. 11H))G,A,AAF$gFF22H**FFF  $ $ X < <<  1 12  % %(E(E E     vvw;; LL   VQ g.C.C  ( (',, '' --tT --bTB //53B 0 B 02v rc"eZdZ ddZdZdZy)rctjtt||_ tjdk(r9|jj tj tjd|jjd|jj||jj||jj|_ ||_d|_|dk(rCt#j$|s.t#j&|tj(|fd|_yd|_y#t$r|jjwxYw)NposixrTrrargs exitpriority)r4getattr_socketr(name setsockopt SOL_SOCKET SO_REUSEADDRr bindlisten getsocknamerrQrX_familyrrr;Finalizeunlink_unlink)rEr<r.rs rrIzSocketListener.__init__Xs }}WVV%<=  ww'! ''(9(9(.(;(;Q@ LL $ $T * LL  g & LL   ( LL446DM " Y t'H'H'Q==biiwjqDL DL  LL    s Bc4eZdZ ddZddZdZedZy)rNc||_|jdg|_d|_t j d|jt j |tj|j|jfd|_ y)NT)firstz listener created with address=%rrr3) r _new_handle _handle_queuerr sub_debugr@r_finalize_pipe_listenerrX)rEr<rs rrIzPipeListener.__init__sl#DM"&"2"2"2">!?D "&D  NN=t}} Ml::(($--8qDJrc ~tjtjz}|r|tjz}tj|j |tj tjztjztjtttjtjSr) rrrrrrr r!r"PIPE_UNLIMITED_INSTANCESrr#r$)rErLflagss rrMzPipeListener._new_handles..1M1MME>>>** u))G,I,II!!"00'7,,gll  rcL|jj|j|jjd} t j |d} t j |jgdt} |jd\}}t|S#|jt j|xYw#|jd\}}wxYw#t$r2}|jtjk7rYd}~t|Sd}~wwxYw)NrTrF)rNappendrMpoprr(rrrrrrrQr ERROR_NO_DATAr)rErFrresr/rrs rrzPipeListener.accepts    % %d&6&6&8 9''++A.F $--fF $!88 E85C 33D9FAs!&) )IIK''/33D9FAs ::!6!667"&) )! s0C(&B$$(C  CC%( D#1DD#chtjd||D]}tj|y)Nz closing listener with address=%r)rrOrr)queuer<rFs rrPz$PipeListener._finalize_pipe_listeners) NN=w G##F+ rr)F)rrrrIrMr staticmethodrPrrrrrs*    *.  ,  ,rrc 0 t} tj|dtj|tjtj zdtj tjtjtj } tj|tjddt!|S#t$rB}|jtjtjfvs t|rYd}~nd}~wwxYw )Nr)rr WaitNamedPiper%rrr$r&rrQrERROR_SEM_TIMEOUTERROR_PIPE_BUSYrr'r!r)r<rhrs rrrs  O %%gt4&&W11G4I4IIw||W%:%:00',, '' w,,dD a   ::g&?&?&-&=&=&??BPQRBSCT sBC D8DD(s #CHALLENGE#s #WELCOME#s #FAILURE#>md5sha256sha384sha3_256sha3_384c#2K|]}t|ywr)r|).0r/s r rjFs7&6c!f&6smessagereturnc t|tvrd|fS|jdrG|jddtdzx}dkDr(|d|}|t vr||dzd}|j d|fStd|) Nr${}rrasciizRunsupported message length, missing digest prefix, or unsupported digest: message=)r|_LEGACY_LENGTHSr:find_MAX_DIGEST_LEN_ALLOWED_DIGESTSdecoder )rmcurlydigestpayloads r_get_digest_name_and_payloadr|Qs 7|& 7{4 ,,tQ(9: :a?5! % %eAgh'G==)72 2  /&-Z 1 22rc ddl}t|d}|s" |j||djS|j|||j}d|j d|fzS#t$rd}YDwxYw)Nrmd5sha256{%s}%srs)hmacr|newrzr,encode)rrmr digest_nameresponses r_create_responserks.w7:K  #88GWe4;;= =xx+6==?H  **73X> >> ##K  #s A// A=<A=c f ddl}t|\}}|xsd} |j|||j}t |t |k7r&t d|dt |dt ||j||s t dy#t$rt d|dwxYw) Nrr~zresponse_digest=z unsupportedz expected z of length z got zdigest received was wrong)rr|rrzr,r r|compare_digest)rrmrrresponse_digest response_macexpecteds r_verify_challengers$@$J!O\%.OE88GWo>EEG 8}L))!O.k#h-I<()+, ,   x 6!"=>> 7 E!%5_$6l"CDDEs !BB0rct|ts#tdjt |t j t}d|jd|fz}|jt|z|jd} t||||jty#t$r|jtwxYw)N Authkey must be bytes, not {0!s}rrs)rrr,formatr7r(urandomMESSAGE_LENGTHrro _CHALLENGErzr_WELCOMEr _FAILURE) connectionrrrmrs rrrs gu % . 5 5d7m DF Fjj(G;--g6@@G*w./$$S)H('7H5 h' h' s B00 Cct|ts#tdjt ||j d}|j tstd||ttd}t|tkrtdt|dt||}|j||j d}|tk7r tdy)Nrrz,Protocol error, expected challenge: message=zchallenge too short: z byteszdigest sent was rejected)rrr,rr7rzr:rr r|_MD5ONLY_MESSAGE_LENGTHrror)rrrmrzrs rrrs gu % . 5 5d7m DF F##C(G   j )!?wjAC Cc*o&'G 7|--!$9#g,v"NOO gw /F&!$$S)H8!"<==rceZdZdZdZdZy)ConnectionWrappercn||_||_||_dD]}t||}t |||y)N)rarXrrzro)_conn_dumps_loadsr6setattr)rEconnrrrattrrts rrIzConnectionWrapper.__init__s:   KD$%C D$ $Lrc\|j|}|jj|yr)rrro)rErtrFs rruzConnectionWrapper.sends" KK  a rcX|jj}|j|Sr)rrzrrEs rrzConnectionWrapper.recvs" JJ ! ! #{{1~rN)rrrrIrurrrrrrs%!rrcTtj|fddddjdS)Nrutf-8) xmlrpclibrrr)rts r _xml_dumpsrs& ??C64tQ 7 > >w GGrcXtj|jd\\}}|S)Nr)rrrx)rFrtmethods r _xml_loadsrs$__QXXg%67NFSF JrceZdZdZy) XmlListenercbddlmatj |}t |t tSr) xmlrpc.clientclientrrrrrrrss rrzXmlListener.accepts")ood# j*==rN)rrrrrrrrrs>rrcJddlmatt |i|t t Sr)rrrrrrr)r4kwdss r XmlClientrs% VT2T2J KKrct|}g}|rtj|d|}|tk(r |St|cxkrtt |zkr nn |tz}nAt |cxkrt t |zkrn td|t z}n td|j||||dzd}d}|r|S)NFzShould not get hererr) listrrrr r|r rrU)handlesrLreadyrXs r_exhaustive_waitrs M00E7CCl" #> A(>>}$!SD+;c!f+DD##899''"#899 LL3 #a%& AG rcX |t}n|dkrd}nt|dzdz}t|}i g}t}t} |D]} t |d} t j |dd\}}|t jk(r!|j|| |j<d|rDtjdddk\r* |jd\} }|st!|d rd|_|j%|d}t+ j-|}|D]}|j/|D]e} |jd\} }|t j0k7s, |j}|j%||dk(sRt!|d s_d|_g |j3 fd |D|Dcgc] }||vs| c}S#t$r"} d| j}}|tvrYd} ~ d} ~ wwxYw#t$r} | j}Yd} ~ >d} ~ wwxYw#t&$r| |j)<YwxYw#t$r } | j}|tvrYd} ~ d} ~ wwxYw#|D]}|j/|D]} |jd\} }n+#t$r} | j}|tvrYd} ~ nd} ~ wwxYw|t j0k7sX |j}|j%||dk(s~t!|d sd|_wxYwcc}w) Nrr]g?raTrr)rrFrc3(K|] }| ywrr)rirawaithandle_to_objs rrjzwait..SsI=a.q1=s)rintrsetr6rrrQr _ready_errorsrrUrr1getwindowsversionrr3raddAttributeErrorrArkeysrrupdate) object_listrov_list ready_objects ready_handlesorarrrr/rs @rrrs2 ?G q[G'D.3./G;'   6 8 $$Q1F "")"2"268Q"EC g666r*67)"((3 #"7"7"9"1"="G1)+)?)?)F3$'716J+K7; 4%))!,"#=!@-->-C-C-EwOM 33D9FAs '999)"((3A!%%a(ax#1&:;37A0 I=II&=;a!}*<;==_#""& Cm3!4" $+1&'jj1-&978%akkm49N**C-/0 33D9FAs**C-/0'999)"((3A!%%a(ax#1&:;37A0">s I5 H&G;AI5 H AI5I  L'L' HG;5I5;HI5 H# HI5H##I5&II5II5 I2I--I25L$J('L$( K 1K L$ K L$'%L$ L$ L$ PollSelectorc t5}|D]"}|j|tj$|t j |z} |j |}|r(|Dcgc]\}}|jc}}cdddS|'t j z }|dkr |cdddSecc}}w#1swYyxYwr) _WaitSelectorregister selectors EVENT_READrrselectfileobj)rrselectorrtdeadlinerkeyeventss rrrbs _"!!#y';';<#">>+g5 0=BCUMS&CKKUC_*"*T^^-="="Q;#(_D_s$AB9&B3<B9 B92B99Cc |j}tj|tjtj5}ddlm}|j|}t||j|jffcdddS#1swYyxYw)Nr)resource_sharer) rar4fromfdr SOCK_STREAMr$r DupSocketrebuild_connectionrGrH)rrFrFrdss rreduce_connectionr~s` ]]66>>63E3E F! ) **1-B%DMM4=='IIG F Fs 6BB cX|j}t|j||Srrr)rrGrHsocks rrrs"yy{$++-8<rs 3 1**OO  !  ; 69N  H<<7N  H-&  0 F F&TTn ]]@MMh;v;| *<<7&&X)V)X&<<76,v6,p!>   r@B7&677 *O<2%2S%L24?8?2(5(*>%>*  H>(>L<<7(..0M0MNML>` y.)!.. !00 )6<<7J =Iz#45K :I~'=>F2Iz#45s# ||w GsH??II