o ?OgK@sn ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddlm Z ddl Z zddl Z Wn eyDdZ YnwgdZz ddlZddlZdZWneyldZddlZddlZddlZYn0wddlmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(e)gdGdd d e*Z+Gd d d e+Z,Gd d d e+Z-erGdddZ.Gddde/Z0ne1eddZ2e3edrej4Z5nej6Z5erdZ7ddZ8ngZ7ddZ8dZ9dZ:dZ;ddZd"d#Z?ddd$d%Z@Gd&d'd'eAZBddddd(d)d*ZCd+d,ZDd-d.ZEd/d0ZFd1d2ZGeGZHdZIGd3d4d4ZJdS)5N) monotonic)PopenPIPESTDOUTcall check_callgetstatusoutput getoutput check_outputrunCalledProcessErrorDEVNULLSubprocessErrorTimeoutExpiredCompletedProcessTF)CREATE_NEW_CONSOLECREATE_NEW_PROCESS_GROUPSTD_INPUT_HANDLESTD_OUTPUT_HANDLESTD_ERROR_HANDLESW_HIDESTARTF_USESTDHANDLESSTARTF_USESHOWWINDOWABOVE_NORMAL_PRIORITY_CLASSBELOW_NORMAL_PRIORITY_CLASSHIGH_PRIORITY_CLASSIDLE_PRIORITY_CLASSNORMAL_PRIORITY_CLASSREALTIME_PRIORITY_CLASSCREATE_NO_WINDOWDETACHED_PROCESSCREATE_DEFAULT_ERROR_MODECREATE_BREAKAWAY_FROM_JOB)rrrrrrrr STARTUPINFOrrrrrrrr r!r"c@s eZdZdS)rN)__name__ __module__ __qualname__r'r'1/opt/alt/python310/lib64/python3.10/subprocess.pyres rc@:eZdZ d ddZddZeddZejddZdS) r NcC||_||_||_||_dSN) returncodecmdoutputstderr)selfr,r-r.r/r'r'r(__init__o zCalledProcessError.__init__cCs`|jr(|jdkr(z d|jt|j fWSty'd|j|j fYSwd|j|jfS)NrzCommand '%s' died with %r.z)Command '%s' died with unknown signal %d.z.Command '%s' returned non-zero exit status %d.)r,r-signalZSignals ValueErrorr0r'r'r(__str__us   zCalledProcessError.__str__cCs |jSr+r.r5r'r'r(stdoutszCalledProcessError.stdoutcC ||_dSr+r7r0valuer'r'r(r8 NNr$r%r&r1r6propertyr8setterr'r'r'r(r hs  r c@r)) rNcCr*r+)r-timeoutr.r/)r0r-rAr.r/r'r'r(r1r2zTimeoutExpired.__init__cCsd|j|jfS)Nz'Command '%s' timed out after %s seconds)r-rAr5r'r'r(r6s zTimeoutExpired.__str__cC|jSr+r7r5r'r'r(r8szTimeoutExpired.stdoutcCr9r+r7r:r'r'r(r8r<r=r>r'r'r'r(rs  rc@s,eZdZdddddddddZddZdS)r#rNdwFlags hStdInput hStdOutput hStdError wShowWindowlpAttributeListcCs0||_||_||_||_||_|pdgi|_dS)N handle_listrC)r0rDrErFrGrHrIr'r'r(r1s zSTARTUPINFO.__init__cCs@|j}d|vrt|d|d<t|j|j|j|j|j|dS)NrJrC) rIcopylistr#rDrErFrGrH)r0Z attr_listr'r'r(rKs zSTARTUPINFO.copy)r$r%r&r1rKr'r'r'r(r#s  r#c@s2eZdZdZejfddZddZddZeZ dS) HandleFcCs|js d|_||dSdS)NT)closed)r0 CloseHandler'r'r(Closes z Handle.ClosecCs|js d|_t|Std)NTzalready closed)rNintr4r5r'r'r(Detachsz Handle.DetachcCsd|jjt|fS)Nz%s(%d)) __class__r$rQr5r'r'r(__repr__szHandle.__repr__N) r$r%r&rN_winapirOrPrRrT__del__r'r'r'r(rMs rMZPIPE_BUFi PollSelectorcCsdSr+r'r'r'r'r(_cleanuprXc CsZtdurdStddD]}|jtjd}|dur*zt|Wq ty)Yq wq dS)N _deadstate)_active_internal_pollsysmaxsizeremover4)instresr'r'r(rXs cCs, g}tjj}|dkr|dd||S)Nr-O)r^flagsoptimizeappend)argsr;r'r'r("_optim_args_from_interpreter_flags s rlc CsP ddddddd}t}|D]\}}ttj|}|dkr(|d ||qtjjr3|d ntjjr<|d tjjrE|d tj dd}tjj }ttd i}d|v}|dkrd| dn|rk| d|rr| d|D] }|d|qt|r| ddD]}||vr||} | dur|} nd|| f} | d| fq|S)NdBSvbq)debugdont_write_bytecodeno_siteverbose bytes_warningquietrrfz-Iz-Ez-s _xoptionsdevzerror::BytesWarningzdefault::BytesWarningdefaultz-W)-Xrz)Z faulthandler tracemallocZ importtimeZ showrefcountutf8Tz%s=%sr}) rlitemsgetattrr^rhrjisolatedignore_environment no_user_site warnoptionsrwr`extend) Z flag_opt_maprkflagoptrpZwarnoptsrwZxoptionsdev_moder;argr'r'r(_args_from_interpreter_flagssV           rrAcOsT t|i|}z|j|dWWdS|1s#wYdS)Nr)rwaitkill)rA popenargskwargspr'r'r(rQs rcOs< t|i|}|r|d}|dur|d}t||dS)Nrkr)rgetr )rrretcoder-r'r'r(rbs   rcOsx d|vr tdd|vr0|ddur0|ds'|ds'|ds'|dr*d}nd }||d<t|t|d d |jS) Nr8z3stdout argument not allowed, it will be overridden.inputuniversal_newlinestextencodingerrorsT)r8rAcheck)r4rr rr8)rArremptyr'r'r(r us"r c@s2eZdZ dddZddZeejZddZ dS) rNcCr*r+)rkr,r8r/)r0rkr,r8r/r'r'r(r1r2zCompletedProcess.__init__cCshd|jd|jg}|jdur|d|j|jdur(|d|jdt|jd|S)Nz args={!r}zreturncode={!r}z stdout={!r}z stderr={!r}z{}({})z, ) formatrkr,r8rjr/typer$join)r0rkr'r'r(rTs    zCompletedProcess.__repr__cCs" |jrt|j|j|j|jdSr+)r,r rkr8r/r5r'r'r(check_returncodes z!CompletedProcess.check_returncoder=) r$r%r&r1rT classmethodtypes GenericAlias__class_getitem__rr'r'r'r(rs   r)rcapture_outputrArc Os& |dur|ddurtdt|d<|r0|ddus$|ddur(tdt|d<t|d<t|i|L}z |j||d\}}Wn'tyc} z|trZ|\| _| _ | d} ~ w|| } |r|| r|t | |j ||dWdn1swYt|j | ||S)Nstdinz/stdin and input arguments may not both be used.r8r/z@stdout and stderr arguments may not be used with capture_output.rr.r/)rr4rr communicaterr _mswindowsr8r/rpollr rkr) rrrArrrZprocessr8r/excrr'r'r(r s@r cCs g}d}ttj|D]d}g}|r|dd|vp d|vp | }|r(|d|D]1}|dkr6||q*|dkrM|dt|dg}|dq*|rV||g}||q*|rc|||ro|||dq d|S) NF  "\z\"r)maposfsdecoderjlenrr)seqresultZ needquoterZbs_bufcr'r'r( list2cmdlines8          rc Csp z t|ddtd}d}Wnty%}z |j}|j}WYd}~nd}~ww|dddkr4|dd}||fS)NT)shellrr/rrc )r rr r.r,)r-dataZexitcodeZexr'r'r(r\s rcCs t|dSNr{)r)r-r'r'r(r {s r c Cs tsttds dStjdvrdSzd.Z!e.j/e.j0e.j1fd?d@Z2de.j3e.j4e5j6fdAd0Z&dBdCZ7dDd2Z'dEd6Z)dFdGZ8dHd8Z*dId:Z+dJdKZ,dS)PrFrcNTrr')usergroup extra_groupsrrrumaskpipesizec+Cs tt|_d|_d|_|durd}t|tstd|dur$d}t|ts-tdt r8|dur7t dn|rD|sDt dt d}| durLt d|d krTt d ||_d|_d|_d|_d|_d|_||_||_||_|dur| durt| t|krtd ||||\}}}}}}t r|dkrt|d }|dkrt|d }|dkrt|d }|p|p|p| |_|jr|durd |_}d |_d|_|jr|dkrd} d}nd} d}!|dur-t t!dst dt|t"rzd dl#}"Wn t$yt dw|"%|j&}!nt|tr|}!n td't(||!d kr-t d|!d}#|durt t!ds>t dt|t"rHt dg}#|D];}$t|$t"rrzd dl#}"Wn t$yft dw|#)|"%|$j&qLt|$tr|#)|$qLtd't(|$|#D]}%|%d krt d|%qd}&|durt t!dst dt|t"rzd dl*}'Wn t$yt dw|'+|j,}&n t|tr|}&ntd|&d krt d|&zp|dkrt-.|d||_|jrt-j/|jd| ||d|_|dkrt-.|d ||_|jrt-j/|j||d!|_|dkr8t-.|d ||_|jr8t-j/|j||d!|_|0|||||| | | || ||||||||!|#|&||WdSt1d|j|j|jfD]}(z|(2Wqct3ywYqcw|jsg})|t4kr|))||t4kr|))||t4kr|))|t |d"r|))|j5|)D]#}*zt rt|*t6r|*7nt!2|*Wqt3yYqw)#NFrczbufsize must be an integerzpipesize must be an integerz0preexec_fn is not supported on Windows platformszpass_fds overriding close_fds.Tz2startupinfo is only supported on Windows platformsrz4creationflags is only supported on Windows platformszlCannot disambiguate when both text and universal_newlines are supplied but different. Pass one or the other.localeg?r{setregidz>The 'group' parameter is not supported on the current platformzHThe group parameter cannot be a string on systems without the grp modulez,Group must be a string or an integer, not {}z!Group ID cannot be negative, got setgroupszEThe 'extra_groups' parameter is not supported on the current platformz#Groups must be a list, not a stringzIItems in extra_groups cannot be strings on systems without the grp modulez9Items in extra_groups must be a string or integer, not {}setreuidz=The 'user' parameter is not supported on the current platformzGThe user parameter cannot be a string on systems without the pwd modulez#User must be a string or an integerz User ID cannot be negative, got wb) write_throughline_bufferingrrrb)rr_devnull)8rX threadingZLock _waitpid_lock_input_communication_started isinstancerQ TypeErrorrr4warningswarnRuntimeWarningrkrr8r/pidr,rrrboolr _get_handlesmsvcrtZopen_osfhandlerR text_mode_sigint_wait_secs_closed_child_pipe_fdsrrstrgrp ImportErrorZgetgrnamZgr_gidrrrjpwdgetpwnamZpw_uidioopen TextIOWrapper_execute_childfiltercloserrrrMrP)+r0rkbufsize executablerr8r/ preexec_fn close_fdsrcwdenvr startupinfo creationflagsrestore_signalsstart_new_sessionpass_fdsrrrrrrrrp2creadp2cwritec2preadc2pwriteerrreaderrwritergidrgidsZ extra_groupZ gid_checkuidrfZto_closefdr'r'r(r1sX                                            zPopen.__init__cCs@d|jjd|jd|jd}t|dkr|ddd}|S)NPLz...>)rSr$r,rkr)r0Zobj_reprr'r'r(rTs  zPopen.__repr__cCrBr+)rr5r'r'r(rszPopen.universal_newlinescCst||_dSr+)rr)r0rr'r'r(rscCs |||}|ddddS)Nz r )decodereplace)r0rrrr'r'r(_translate_newliness zPopen._translate_newlinescCs|Sr+r'r5r'r'r( __enter__ rYzPopen.__enter__cCs|jr|j|jr|jz0|jr|jW|tkr;|jdkr6z |j|jdWn ty5Ynwd|_dS|dS|tkrf|jdkr]z |j|jdWn ty\Ynwd|_YdS|w)Nrr) r8rr/rKeyboardInterruptr_waitrr)r0exc_typer; tracebackr'r'r(__exit__ s8          zPopen.__exit__cCs\|jsdS|jdur|d|jt|d|j|d|jdur*tdur,t|dSdSdS)Nzsubprocess %s is still running)sourcerZ)_child_createdr,rResourceWarningr]r\rj)r0Z_maxsizeZ_warnr'r'r(rV)s   z Popen.__del__cCs"t|dsttjtj|_|jS)Nr)rrrdevnullO_RDWRrr5r'r'r( _get_devnull8s zPopen._get_devnullc Cs|r-z|j|Wn"tyYnty,}z|jtjkr!nWYd}~nd}~wwz|jWdSty?YdStyY}z|jtjkrMnWYd}~dSd}~wwr+)rwriteBrokenPipeErrorrerrnoZEINVALr)r0rrr'r'r( _stdin_write=s.      zPopen._stdin_writec CsT |jr |r td|durN|jsN|j|j|jgddkrNd}d}|jr+||n|jr9|j}|jn |jrF|j}|j| ||fS|durXt |}nd}z>z | |||\}}Wn-t y|dur{t |j||}n|j}d|_z|j|dWtyYwwWd|_nd|_w|j ||d}||fS)Nz.Cannot send input after starting communicationrrrT)rr4rr8r/countr#readrr_time _communicaterminr_remaining_timerr)r0rrAr8r/endtimesigint_timeoutstsr'r'r(rVsR         zPopen.communicatecCs |Sr+)r]r5r'r'r(rsz Popen.pollcCs |durdS|tSr+)r&)r0r*r'r'r(r)s zPopen._remaining_timecCsR |durdS|st|kr't|j||rd|nd|r#d|ddddS)Nrr)r&rrkr)r0r* orig_timeoutZ stdout_seqZ stderr_seqskip_check_and_raiser'r'r(_check_timeouts zPopen._check_timeoutc Cs~ |dur t|}z|j|dWSty>|dur&t|j||}n|j}d|_z|j|dWty=Yww)Nrr)r&rrr(rr)r)r0rAr*r+r'r'r(rs(   z Popen.waitc Cst|dd}tm}tr,|dkr||j|dkr!||j|dkr+||jn9|dkr?|dkr?||kr?|tj||dkrR|dkrR||krR|tj||dkre|dkre||kre|tj||durp|tj|Wdn1szwYd|_dS)NrrcT) r contextlib ExitStackrcallbackrPrrr) r0rrrrrrZ devnull_fdstackr'r'r(_close_pipe_fdss*      zPopen._close_pipe_fdsc Csr |dur|dur|durdSd\}}d\}}d\}} |dur;ttj}|dur:tdd\}} t|}t| n4|tkrQtdd\}}t|t|}}n|tkr]t | }nt |t rht |}nt | }||}|durttj}|durtdd\} }t|}t| n4|tkrtdd\}}t|t|}}n|tkrt | }nt |t rt |}nt | }||}|durttj} | durtdd\} } t| } t| n?|tkrtdd\}} t|t| }} n(|tkr |} n |tkrt | } nt |t r%t |} nt | } || } |||||| fS)N)rcrcrcrcrcrcrcrcr)rUZ GetStdHandlerZ CreatePiperMrOrr rZ get_osfhandlerrrQfileno_make_inheritablerrr) r0rr8r/rrrrrr_r'r'r(rsx                  zPopen._get_handlescCs( tt|tddtj}t|S)Nrr{)rUZDuplicateHandleZGetCurrentProcessZDUPLICATE_SAME_ACCESSrM)r0handlehr'r'r(r74s zPopen._make_inheritablecCs tdd|DS)NcSs,h|]}|d@dkst|tjkr|qS))rUZ GetFileTypeZFILE_TYPE_CHAR).0r9r'r'r( Ds z,Popen._filter_handle_list..)rL)r0rJr'r'r(_filter_handle_list=szPopen._filter_handle_listc!Csz t|trn't|tr| rtdt|g}nt|tjr*| r$tdt|g}nt|}|dur7t|}|dur?t}n| }d| ||fv}|r]|j t j O_ | |_ ||_||_|j}t|ojd|voj|d}|sr|r|r|dur{i}|_t|dg}|d<|r|t| t|t|g7}|||dd<|r|stdtd}| r|j t jO_ t j|_|stjd}|stjdd }tj|d d }tj|st d tj|r|}n|}d !||}|durt|}t"#d||||z t $||ddt| | ||| \}}}} W|%| | | |||n |%| | | |||wd|_&t'||_(||_)t *|dS)Nz$bytes args is not allowed on Windows0path-like args is not allowed when shell is truercrJz?startupinfo.lpAttributeList['handle_list'] overriding close_fdsFZComSpecZ SystemRootrZSystem32zcmd.exez:shell not found: neither %ComSpec% nor %SystemRoot% is setz {} /c "{}"subprocess.PopenT)+rrbytesrrrPathLikerr#rKrDrUrrErFrGrIrrLrrQr>rrrrrrHenvironpathrisabsFileNotFoundErrorrr^auditZ CreateProcessr4rrM_handlerrO)!r0rkrrrrrrrrrrrrrrrZunused_restore_signalsZ unused_gidZ unused_gidsZ unused_uidZ unused_umaskZunused_start_new_sessionZuse_std_handlesZattribute_listZhave_handle_listrJZcomspecZ system_rootZhpZhtrtidr'r'r(rJs               zPopen._execute_childcCs. |jdur||jd|kr||j|_|jSNr)r,rH)r0r[Z_WaitForSingleObjectZ_WAIT_OBJECT_0Z_GetExitCodeProcessr'r'r(r]s   zPopen._internal_pollcCs` |dur tj}nt|d}|jdur-t|j|}|tjkr&t|j|t |j|_|jS)Ni) rUZINFINITErQr,WaitForSingleObjectrHZ WAIT_TIMEOUTrrkGetExitCodeProcess)r0rAZtimeout_millisrr'r'r(rs    z Popen._waitcCs|||dSr+)rjr%r)r0Zfhbufferr'r'r( _readerthreads zPopen._readerthreadcCsT|jr!t|ds!g|_tj|j|j|jfd|_d|j_|j|j rBt|dsBg|_ tj|j|j |j fd|_ d|j _|j |j rJ| ||jdurc|j|||jrct|j||j dur||j |||j r|t|j|d}d}|jr|j}|j|j r|j }|j |r|dnd}|r|dnd}||fS)N _stdout_buff)targetrkT _stderr_buffr)r8rrOrZThreadrNZ stdout_threadZdaemonstartr/rQZ stderr_threadrr#rr)Zis_aliverrkr)r0rr*r-r8r/r'r'r(r'sJ             zPopen._communicatecCsp |jdurdS|tjkr|dS|tjkr"t|jtjdS|tjkr1t|jtjdSt d |)NzUnsupported signal: {}) r,r3SIGTERM terminateZ CTRL_C_EVENTrrrZCTRL_BREAK_EVENTr4rr0Zsigr'r'r( send_signal!s     zPopen.send_signalcCsX |jdurdSz t|jdWdSty+t|j}|tjkr%||_YdSwr)r,rUZTerminateProcessrHPermissionErrorrLZ STILL_ACTIVE)r0Zrcr'r'r(rT/s     zPopen.terminatec Cs d\}}d\}}d\}} |durn3|tkr0t\}}|jdkr/ttdr/t|tj|jn|tkr9|}n t |t rA|}n| }|durJn3|tkrht\}}|jdkrgttdrgt|tj|jn|tkrq|}n t |t ry|}n| }|durnD|tkrt\}} |jdkrttdrt| tj|jn&|t kr|dkr|} nt j } n|tkr|} n t |t r|} n| } |||||| fS)Nr5r F_SETPIPE_SZrc)rrpiperrfcntlrXr rrrQr6rr^ __stdout__) r0rr8r/rrrrrrr'r'r(rDs`          c Cs |durtj}i} |r&g} dD]} tt| d}|dur!| |q| | d<g}||| fD]}|dkr;|tj|fq-|df|df| dffD]\}}|dkrX|tj||fqG|r_|| d<tj|||fi| |_d|_ | ||||| | dS) N)SIGPIPEZSIGXFZSIGXFSZZ setsigdefrcrr{r file_actionsT) rrCrr3rjPOSIX_SPAWN_CLOSEPOSIX_SPAWN_DUP2rrrr4)r0rkrrrrrrrrrrZsigsetZsignameZsignumr^r Zfd2r'r'r( _posix_spawns@   zPopen._posix_spawnc-s t|ttfr |g}nt|tjr| rtd|g}nt|}| r7ttdr)dnd}|dg|}r7|d<dur?|dt d|||t rtj r|dur|s|s|dur| dksd| d kr|dksl|d kr|dkst|d kr|s|dur|dur|dur|dkr| |||| | | ||| dS}t\}}g}|d kr||t|}|d ks|D]}t|qzz||durg}|D]\}}t|}d |vrtd ||d t|qnd}ttj rf} ntfd dt|D} t|}!|!|t|| |tttt|!||| | | |||||||||||||_d|_Wt|nt|w| | | | |||t!}" t"|d}#|"|#7}"|#rbt#|"dkrcnqNWt|nt|w|"rzt$|jd\}$}%|$|jkr|%|%ntj&|_'Wn t(yYnwz|")dd \}&}'}(|(*}(Wntyd}&d}'d+t|"}(Ynwt,t-|&*dt.})t/|)t0r|'rt|'d}*|(dk}+|+rd}(|},n|},|*dkrt1|*}(|)|*|(|,|)|(dS)Nr?Zgetandroidapilevelz/system/bin/shz/bin/shz-crr@rcrr;=z!illegal environment variable namec3s$|] }tjt|VqdSr+)rrDrfsencode)r<dirrr'r( s  z'Popen._execute_child..TiP:sSubprocessError0z#Bad exception data from child: {!r}asciiZnoexecr)2rrrArrBrrLrr^rG_USE_POSIX_SPAWNrDdirnamerarYrjduprrrcr4r get_exec_pathsetadd_posixsubprocessZ fork_execsortedrrQrrr4 bytearrayr%rwaitpid_handle_exitstatusr_r,ChildProcessErrorrrrrbuiltinsr issubclassrstrerror)-r0rkrrrrrrrrrrrrrrrrrrr rrZ unix_shellZorig_executableZ errpipe_readZ errpipe_writeZlow_fds_to_closeZlow_fdZenv_listkrpZexecutable_listZ fds_to_keepZ errpipe_datapartrr,Zexception_nameZ hex_errnoerr_msgZchild_exception_typeZ errno_numZchild_exec_never_calledZ err_filenamer'rer(rs                          cCs( ||r || |_dS|||_dSr+)r,)r0r,waitstatus_to_exitcodeZ _WIFSTOPPEDZ _WSTOPSIGr'r'r(ruKszPopen._handle_exitstatusc Cs |jdurm|jdsdSzXz#|jdur|jWW|jS||j|\}}||jkr1||Wn"tyT}z|durB||_n|j|krJd|_WYd}~nd}~wwW|j|jSW|j|jS|jw|jS)NFr)r,racquirereleaserrurr")r0r[Z_waitpidZ_WNOHANGZ_ECHILDrr,er'r'r(r]Ws6          cCsB zt|j|\}}W||fSty |j}d}Y||fSwrJ)rrtrrv)r0Z wait_flagsrr,r'r'r( _try_waitzs zPopen._try_waitcCs^ |jdur |jS|durot|}d} |jdrRz0|jdur*W|j|jS|tj\}}||jkrE| |W|j|jSW|jn|jw| |}|dkrat |j |t |d|d}t|q|jdur|j(|jdur Wd|jS|d\}}||jkr| |Wdn1swY|jdust|jS)NgMb@?TFrrg?)r,r&rr~rrrWNOHANGrrur)rrkr(timesleep)r0rAr*Zdelayrr,Z remainingr'r'r(rsP                   c Cs$|jr*|js*z|jWn tyYnw|s*z|jWn ty)Ynwd}d}|jsFi|_|jr=g|j|j<|jrFg|j|j<|jrO|j|j}|jrX|j|j}|||j ret |j }t }|jrv|rv| |jt j|jr|jjs| |jt j|jr|jjs| |jt j|r=||}|dur|dkr|j||||ddtd||} |||||| D]u\} } | j|jur||j|jt} z|jt| j| 7_Wnty|| j| jYqw|jt|j kr|| j| jq| j|j|jfvr8t| jd} | s/|| j| j|j| j| q|sWdn 1sHwY|j ||d|dur`d!|}|durjd!|}|j"r|dur~|#||jj$|jj%}|dur|#||jj$|jj%}||fS)NrT)r.zN_check_timeout(..., skip_check_and_raise=True) failed to raise TimeoutExpired.irr)&rrflushr!rZ_fileobj2outputr8r/ _save_inputr memoryview_PopenSelectorregister selectorsZ EVENT_WRITErNZ EVENT_READZget_mapr)r/ RuntimeErrorselectZfileobj _input_offset _PIPE_BUFrr r  unregisterrr%rjrrrrrr)r0rr*r-r8r/Z input_viewZselectorrAZreadykeyZeventschunkrr'r'r(r's                    ,      cCsV|jr#|jdur%d|_||_|dur'|jr)|j|jj|jj|_dSdSdSdSdSrJ)rrrrencoderr)r0rr'r'r(rs  zPopen._save_inputcCsB ||jdur dSz t|j|WdSty YdSwr+)rr,rrrProcessLookupErrorrUr'r'r(rV"s  cC |tjdSr+)rVr3rSr5r'r'r(rTBcCrr+)rVr3SIGKILLr5r'r'r(rGrz Popen.kill)rcNNNNNTFNNNNrTFr'r=)Fr+)9r$r%r&rr1rTrrrrr?rr@rrrr^r_rrrVrr#rrr)r/rr4rrr7r>rrUrKZ WAIT_OBJECT_0rLr]rrNr'rVrTrrarr} WIFSTOPPEDWSTOPSIGrurtrr"ZECHILDrrr'r'r'r(rs5  |    D H   2<'&   # )f  r)Krwr"rrrr3r^rrr0rr&rrZr__all__rrUrModuleNotFoundErrorrqrrrrrrrrrrrrrrrrrr r!r"r Exceptionrr rr#rQrMrrrrWrZSelectSelectorr\rXrrr rlrrrr objectrr rrr rrkZ _USE_VFORKrr'r'r'r(s"     P  %     ;4% FI 2