Viewing File: /opt/alt/python38/lib64/python3.8/site-packages/psutil/__pycache__/_pswindows.cpython-38.opt-1.pyc

U

xe_@s(dZddlZddlZddlZddlZddlZddlZddlZddlm	Z	ddl
mZddlmZddlm
Z
ddlmZdd	lmZdd
lmZddlmZddlmZdd
lmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlm Z ddlm!Z!ddlm"Z"ddlm#Z#ddlm$Z$ddlm%Z%zddl
mZ&Wnje'k
rZ(zJe)e(*+dre,dd krd!Z-e-d"7Z-e-d#7Z-e.e-nW5dZ([(XYnXej/d$krddl0Z0ndZ0d%d&d'd(d)d*d+d,d-d.d/d0d1d2gZ1d3Z2d4Z3d5ej4kZ5e0dkrLd6Z6ne07d7d2d6iZ8e8j6Z6e&j9ej:e&j;ej<e&j=ej>e&j?ej@e&jAejBe&jCejDe&jEejFe&jGejHe&jIejJe&jKejLe&jMejNe&jOe2e&jPejQi
ZRe0dk	rGd8d9d9e0j7ZSeTUeSjVe0dkrdZWdZXd:ZYd;ZZn Gd<d=d=e0j7Z[eTUe[jVe\ddd:d;d>d?d d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOZ]e	dPdQdRdSdTdUgZ^e	dVdWdXdYdZd[gZ_e	d\d]d^d_d`dadbdcdddedfdgdhgZ`e	die`jadjZbe	dkdld]gZce	dmdndodecjaZee	dpdqdrdsdtdudvgZfedwdxdydzZgd{d|Zhed}d~ZiddZjddZke&jlZlddZmddZnddZoddZpddZqddZrddZsddZtdauddZvdddZwddZxddZyddZzddZ{da|ddZ}ddZ~dd%Zdd&ZGdddeZe&jZe&jZe&jZddZdddZddZddZGdddeZdS)z Windows platform implementation.N)
namedtuple)_common)AccessDenied)	conn_tmap)conn_to_ntuple)debug)ENCODING)
ENCODING_ERRS)
isfile_strict)memoize)memoize_when_activated)
NoSuchProcess)parse_environ_block)TimeoutExpired)
usage_percent)long)	lru_cache)PY3range)unicode)ABOVE_NORMAL_PRIORITY_CLASS)BELOW_NORMAL_PRIORITY_CLASS)HIGH_PRIORITY_CLASS)IDLE_PRIORITY_CLASS)NORMAL_PRIORITY_CLASS)REALTIME_PRIORITY_CLASS)_psutil_windowszdll load failedz3this Windows version is too old (< Windows Vista); z:psutil 3.4.2 is the latest version which supports Windows z2000, XP and 2003 server)win_service_iterwin_service_getrrrrrrIOPRIO_VERYLOW
IOPRIO_LOW
IOPRIO_NORMALIOPRIO_HIGHCONN_DELETE_TCBAF_LINKZ
DELETE_TCBi+Z__pypy__
AddressFamilyc@s$eZdZeZeZeZeZeZeZdS)PriorityN)	__name__
__module____qualname__rrrrrrr0r0D/opt/alt/python38/lib64/python3.8/site-packages/psutil/_pswindows.pyr,msr,r c@seZdZdZdZdZdZdS)
IOPriorityrrr2r N)r-r.r/r$r%r&r'r0r0r0r1r3}sr3r!	

)num_handlesctx_switches	user_timekernel_timecreate_timenum_threads	io_rcount	io_wcount	io_rbytes	io_wbytesio_count_othersio_bytes_othersnum_page_faults	peak_wsetwsetpeak_paged_pool
paged_poolpeak_non_paged_poolnon_paged_poolpagefile
peak_pagefilemem_private	scputimesusersystemidle	interruptdpcsvmemtotalZ	availablepercentusedfreepmemrssvmsrPrQrRrSrTZpeak_nonpaged_poolZ
nonpaged_poolrWrXZprivatepfullmem)uss
pmmap_groupedpath	pmmap_extzaddr perms  pioZ
read_countZwrite_countZ
read_bytesZwrite_bytesother_countZother_bytesi)maxsizecCs@d|ddd}t|}|t|d}tj||S)zConvert paths using native DOS format like:
        "\Device\HarddiskVolume1\Windows\systemew\file.txt"
    into:
        "C:\Windows\systemew\file.txt"
    \Nr )joinsplitcextZwin32_QueryDosDevicelenosrk)sZrawdriveZdriveletterZ	remainderr0r0r1convert_dos_paths
rxcCs&tr|St|tr|S|ttSdS)zmEncode a unicode string to a byte string by using the default fs
    encoding + "replace" error handler.
    N)r
isinstancestrencoder	r
)rwr0r0r1
py2_strencodes

r|cCstSN)rtgetpagesizer0r0r0r1r~sr~cCsNt}|\}}}}}}|}|}|}	||}
t|||dd}t||||
|	S)z&System virtual memory as a namedtuple.rZround_)rtvirtual_memrr`)memZtotphysZ	availphysZtotpagefZ
availpagefZtotvirtZfreevirtraZavailrdrcrbr0r0r1virtual_memorysrcCsBt}|d}|d}||}t||dd}t||||ddS)z=Swap system memory as a (total, used, free, sin, sout) tuple.r2r rrr)rtrrrZsswap)rrardrcrbr0r0r1swap_memorysrcCsPtrt|tr|jtdd}t|\}}||}t||dd}t	||||S)z'Return disk usage associated with path.strict)errorsrr)
rrybytesdecoder	rt
disk_usagerrZ
sdiskusage)rkrardrcrbr0r0r1rsrcCst|}dd|DS)zReturn disk partitions.cSsg|]}tj|qSr0)rZ	sdiskpart.0xr0r0r1
<listcomp>sz#disk_partitions.<locals>.<listcomp>)rtdisk_partitions)allrawlistr0r0r1rs
rcCs<t\}}}tddttD}t||||j|jS)z)Return system CPU times as a named tuple.cSsg|]}t|qSr0)sum)rnr0r0r1r szcpu_times.<locals>.<listcomp>)rt	cpu_timesrZzip
per_cpu_timesr^r_)r[r\r]Z
percpu_summedr0r0r1rsrcCs:g}tD](\}}}}}t|||||}||q|S)z6Return system per-CPU times as a list of named tuples.)rtrrZappend)retr[r\r]r^r_itemr0r0r1r%s
rcCstS)z0Return the number of logical CPUs in the system.)rtcpu_count_logicalr0r0r0r1r.srcCstS)z6Return the number of physical CPU cores in the system.)rtZcpu_count_physr0r0r0r1cpu_count_physical3srcCs$t\}}}}d}t||||S)zReturn CPU statistics.r)rt	cpu_statsrZ	scpustats)rEZ
interruptsZdpcsZsyscallsZsoft_interruptsr0r0r1r8s

rcCs(t\}}d}tt||t|gS)zMReturn CPU frequency.
    On Windows per-cpu frequency is not supported.
    )rtcpu_freqrZscpufreqfloat)ZcurrZmax_Zmin_r0r0r1r@srFcCs*tstdat}tdd|DS)z~Return the number of processes in the system run queue averaged
    over the last 1, 5, and 15 minutes respectively as a tupleTcSsg|]}t|dqS)r2)round)rloadr0r0r1rWszgetloadavg.<locals>.<listcomp>)_loadavg_inititializedrtZinit_loadavg_counter
getloadavgtuple)Z	raw_loadsr0r0r1rLs
rcCs|tkr(td|dddtDft|\}}t|||}t}|D]D}|\}}}	}
}}}
t|||	|
||t|dkr~|
ndd}||qLt	|S)zReturn socket connections.  If pid == -1 return system-wide
    connections (as opposed to connections opened by one process only).
    z+invalid %r kind argument; choose between %sz, cSsg|]}t|qSr0)reprrr0r0r1resz#net_connections.<locals>.<listcomp>r*N)pid)
r
ValueErrorrrrtnet_connectionssetrTCP_STATUSESaddlist)kind_pidZfamiliestypesrrrfdZfamtypeZladdrZraddrstatusrntr0r0r1r_srcCsbi}t}|D]H\}}ts(t|}|\}}}}ttdrHt|}t||||||<q|S)z)Get NIC stats (isup, duplex, speed, mtu).	NicDuplex)	rtnet_if_statsitemsrr|hasattrrrZ	snicstats)rZrawdictnamerZisupZduplexZspeedZmtur0r0r1rqs

rcCst}tdd|DS)zsReturn network I/O statistics for every network interface
    installed on the system as a dict of raw tuples.
    cSsg|]\}}t||fqSr0r|)rkvr0r0r1rsz#net_io_counters.<locals>.<listcomp>)rtnet_io_countersdictrrr0r0r1rsrcCs8g}tD]&}t|}t|d|d<||q|S)z,Return the addresses associated to each NIC.r)rtnet_if_addrsrr|r)rrr0r0r1rsrcCsdt\}}}}|dk}t|d@}t|d@}|r8dS|s@|rHtj}n|dkrVtj}t|||S)zReturn battery information.rr6Nr*)rtsensors_batteryboolrZPOWER_TIME_UNLIMITEDZPOWER_TIME_UNKNOWNZsbattery)Z
acline_statusflagsrbZsecsleftZ
power_pluggedZ
no_batteryZchargingr0r0r1rsrcCs,tt}t|tdkr tS|a|SdS)z:The system boot time expressed in seconds since the epoch.rN)rrt	boot_timeabs_last_btimerr0r0r1rs
rcCsHg}t}|D]2}|\}}}t|}t|d||d}||q|S)z:Return currently connected users as a list of namedtuples.N)rtusersr|rZsuserr)retlistrrr[ZhostnameZtstamprr0r0r1rs
rccs*tD]\}}tt|t|VqdS)z*Yields a list of WindowsService instances.N)rtZwinservice_enumerateWindowsServicer|)rdisplay_namer0r0r1r"scCst|d}|d|_|S)zBOpen a Windows service and return it as a WindowsService instance.Nr)r
_query_config
_display_name)rZservicer0r0r1r#s
c@seZdZdZddZddZddZdd	Zd
dZdd
Z	ddZ
ejddZ
ddZddZddZddZddZddZddZd d!Zd"d#Zd$S)%rz(Represents an installed Windows service.cCs||_||_dSr})_namer)selfrrr0r0r1__init__szWindowsService.__init__cCs d|j|jf}d|jj|fS)Nz(name=%r, display_name=%r)z%s%s)rr	__class__r-)rZdetailsr0r0r1__str__s
zWindowsService.__str__cCsd|t|fS)Nz
<%s at %s>)ridrr0r0r1__repr__szWindowsService.__repr__cCst|tstS|j|jkSr})ryrNotImplementedrrotherr0r0r1__eq__s
zWindowsService.__eq__cCs
||kSr}r0rr0r0r1__ne__szWindowsService.__ne__c	CsH|t|j\}}}}W5QRXtt|t|t|t|dS)N)rbinpathusername
start_type)_wrap_exceptionsrtZwinservice_query_configrrr|)rrrrrr0r0r1rs

zWindowsService._query_configc	Cs<|t|j\}}W5QRX|dkr0d}t||dS)Nr)rr)rrtZwinservice_query_statusrr)rrrr0r0r1
_query_statuss

zWindowsService._query_statusc
cs~z
dVWnntk
rx}zPt|r<td|jd|jdn,|jtjtjfkrftd|jd|jdnW5d}~XYnXdS)z{Ctx manager which translates bare OSError and WindowsError
        exceptions into NoSuchProcess and AccessDenied.
        Nz2service %r is not querable (not enough privileges)rrmsgzservice %r does not exist))	OSErroris_permission_errrrwinerrorrtZERROR_INVALID_NAMEZERROR_SERVICE_DOES_NOT_EXISTrrerrr0r0r1r
s(
zWindowsService._wrap_exceptionscCs|jS)zThe service name. This string is how a service is referenced
        and can be passed to win_service_get() to get a new
        WindowsService instance.
        )rrr0r0r1r!szWindowsService.namecCs|jS)z_The service display name. The value is cached when this class
        is instantiated.
        )rrr0r0r1r(szWindowsService.display_namecCs|dS)zwThe fully qualified path to the service binary/exe file as
        a string, including command line arguments.
        rrrr0r0r1r.szWindowsService.binpathcCs|dS)z,The name of the user that owns this service.rrrr0r0r1r4szWindowsService.usernamecCs|dS)zRA string which can either be "automatic", "manual" or
        "disabled".
        rrrr0r0r1r8szWindowsService.start_typecCs|dS)zzThe process PID, if any, else None. This can be passed
        to Process class to control the service's process.
        rrrr0r0r1r@szWindowsService.pidcCs|dS)zService status as a string.rrrr0r0r1rFszWindowsService.statuscCstt|S)zService long description.)r|rtZwinservice_query_descrrrr0r0r1descriptionJszWindowsService.descriptioncCs>|}||||d<||d<||d<|S)zUUtility method retrieving all the information above as a
        dictionary.
        rrr)rupdaterrrr)rdr0r0r1as_dictPszWindowsService.as_dictN)r-r.r/__doc__rrrrrrr
contextlibcontextmanagerrrrrrrrrrrr0r0r0r1rs&
rcCs*|jtjtjfkp(t|ddtjtjfkS)z*Return True if this is a permission error.rr*)errnoZEPERMZEACCESgetattrrtZERROR_ACCESS_DENIEDZERROR_PRIVILEGE_NOT_HELD)excr0r0r1rs
rcCs4t|rt||dS|jtjkr,t||dS|dS)z3Convert OSError into NoSuchProcess or AccessDenied.rrN)rrrZESRCHr)rrrr0r0r1convert_oserrors
rcstfdd}|S)zDDecorator which converts OSError into NoSuchProcess or AccessDenied.c
sLz|f||WStk
rF}zt||j|jdW5d}~XYnXdS)Nr)rrrr)rargskwargsrfunr0r1wrappersz wrap_exceptions.<locals>.wrapper	functoolswrapsrrr0rr1wrap_exceptionssrcstfdd}|S)zWorkaround for https://github.com/giampaolo/psutil/issues/875.
    See: https://stackoverflow.com/questions/4457745#4457745
    c	sd}d}t|D]p}z|f||WStk
r~}z6|}|jtkrlt|t|dd}WY
qnW5d}~XYqXqd||f}t|j|j	|ddS)N-C6?!r2{Gz?zI%s retried %s times, converted to AccessDenied as it's still returning %rr)
rWindowsErrorrERROR_PARTIAL_COPYtimesleepminrrr)	rrrdelaytimesr_rrrr0r1rs 


z)retry_error_partial_copy.<locals>.wrapperrrr0rr1retry_error_partial_copysrc@seZdZdZddddgZddZdd	Zd
dZedd
Z	ddZ
eeddZee
ddZee
ddZddZddZeddZeddZddZed d!Zed"d#ZedPd%d&Zed'd(Zed)d*Zed+d,Zed-d.Zed/d0Zed1d2Zed3d4Zee
d5d6Zed7d8Z edQd:d;Z!ed<d=Z"ed>d?Z#ed@dAZ$edBdCZ%edDdEZ&edFdGZ'edHdIZ(edJdKZ)edLdMZ*edNdOZ+d$S)RProcessz1Wrapper class around underlying C implementation.rr_ppid_cachecCs||_d|_d|_dSr})rrr	)rrr0r0r1rszProcess.__init__cCs|j||j|dSr})
_proc_infoZcache_activateexerr0r0r1
oneshot_enterszProcess.oneshot_entercCs|j||j|dSr})rZcache_deactivaterrr0r0r1oneshot_exitszProcess.oneshot_exitcCst|j}|S)zOReturn multiple information about this process as a
        raw tuple.
        )rtZ	proc_inforrrr0r0r1rszProcess._proc_infocCs,|jdkrdS|jdkrdStj|S)zbReturn process name, which on Windows is always the final
        part of the executable.
        rzSystem Idle Processr!ZSystem)rrvrkbasenamerrr0r0r1rs


zProcess.namec
Cstr`zt|j}Wqltk
r\}z*|jdkrJtd|t|j|jW5d}~XYqlXnt|j}t	sxt
|}|drt|S|S)Nz%r forced into AccessDeniedrq)
PYPYrtZproc_exerrrrrrrr|
startswithrx)rrrr0r0r1rs

zProcess.exec
Cstjtjkrbztj|jdd}Wqrtk
r^}z t|rLtj|jdd}nW5d}~XYqrXntj|jdd}trz|Sdd|DSdS)NT)Zuse_pebFcSsg|]}t|qSr0r)rrwr0r0r1rsz#Process.cmdline.<locals>.<listcomp>)rtZWINVERZWINDOWS_8_1Zproc_cmdlinerrrr)rrrr0r0r1cmdlineszProcess.cmdlinecCs t|j}|rtstt|Sr})rtZproc_environrrrr|)rZustrr0r0r1environszProcess.environcCs6zt|jWStk
r0t|j|jYnXdSr})ppid_maprKeyErrorrrrr0r0r1ppid!szProcess.ppidcCszt|jWStk
r}zt|r|}|td|td|td|td|td|td|td|td|td	|td
f
WYSW5d}~XYnXdS)NrPrQrRrSrTrUrVrWrXrY)rtZproc_memory_inforrrr	pinfo_map)rrinfor0r0r1_get_raw_meminfo's"









zProcess._get_raw_meminfocCs(|}|d}|d}t||f|S)Nr2r5)rre)rtrfrgr0r0r1memory_info=szProcess.memory_infocCs,|}t|j}|t9}t||fSr})rrtZproc_memory_ussrr~rh)rZ	basic_memrir0r0r1memory_full_infoGs
zProcess.memory_full_infoc
cszt|j}Wn2tk
rB}zt||j|jW5d}~XYn>X|D]6\}}}}t|}tsht|}t	|}||||fVqHdSr})
rtZproc_memory_mapsrrrrrxrr|hex)rrawrZaddrZpermrkrfr0r0r1memory_mapsNs"zProcess.memory_mapscCst|jSr})rt	proc_killrrr0r0r1kill]szProcess.killcCsT|tjkrt|jn8|ttdtttdtfkrHt|j|nt	ddS)NZCTRL_C_EVENTZCTRL_BREAK_EVENTzPonly SIGTERM, CTRL_C_EVENT and CTRL_BREAK_EVENT signals are supported on Windows)
signalSIGTERMrtr"rrobjectrvr#r)rZsigr0r0r1send_signalas
zProcess.send_signalNcCs|dkrtj}nt|d}ttdtj}|dk	r<||nd}zt|j|}Wn>tjk
rxt||j|jYntj	k
rd}YnXd}t
|js|S|r||krt||j|jdt|t|dd}qdS)Ni	monotonicrrr2r)
rtZINFINITEintrrZ	proc_waitrrrZTimeoutAbandoned
pid_existsrr)rZtimeoutZcext_timeoutZtimerZstop_atZ	exit_coderr0r0r1waitns$	


zProcess.waitcCs2|jdkrdSt|j\}}t|dt|S)Nrr!zNT AUTHORITY\SYSTEMrq)rrtZ
proc_usernamer|)rZdomainr[r0r0r1rs
zProcess.usernamec
Csbzt|j\}}}|WStk
r\}z&t|rJ|tdWYSW5d}~XYnXdS)NrH)rt
proc_timesrrrrr)rr[r\createdrr0r0r1rHszProcess.create_timecCs|tdS)NrI)rrrr0r0r1rIszProcess.num_threadscCs<t|j}g}|D]"\}}}t|||}||q|Sr})rtZproc_threadsrrZpthreadr)rrrZ	thread_idutimeZstimentupler0r0r1threadsszProcess.threadsc
Cstzt|j\}}}WnLtk
rb}z.t|s2|}|td}|td}W5d}~XYnXt||ddS)NrFrGr)	rtr-rrrrrrZ	pcputimes)rr[r\r.rrr0r0r1rszProcess.cpu_timescCst|jddS)NTrtZproc_suspend_or_resumerrr0r0r1suspendszProcess.suspendcCst|jddS)NFr2rr0r0r1resumeszProcess.resumecCs4|jdkrt|j|jt|j}ttj|S)Nr,)	rrrrtZproc_cwdr|rvrknormpath)rrkr0r0r1cwds
zProcess.cwdcCsd|jdkrgSt}t|j}|D]6}t|}t|r$tsDt|}t	|d}|
|q$t|S)Nr,r*)rrrtZproc_open_filesrxrrr|rZ	popenfilerr)rrZraw_file_namesZ_filer0r0r0r1
open_filess
zProcess.open_filesinetcCst||jdS)N)r)rr)rrr0r0r1connectionsszProcess.connectionscCs t|j}tdk	rt|}|Sr})rtZproc_priority_getrenumr,rvaluer0r0r1nice_getszProcess.nice_getcCst|j|Sr})rtZproc_priority_setrr;r0r0r1nice_setszProcess.nice_setcCs t|j}tdk	rt|}|Sr})rtZproc_io_priority_getrr:r3rr0r0r1
ionice_getszProcess.ionice_getcCs:|rtd|ttttfkr(td|t|j|dS)Nz&value argument not accepted on Windowsz%s is not a valid priority)		TypeErrorr$r%r&r'rrtZproc_io_priority_setr)rZioclassr<r0r0r1
ionice_setszProcess.ionice_setcCszt|j}Wnttk
r}zVt|s,|}|td|td|td|td|td|tdf}W5d}~XYnXt|S)NrJrKrLrMrNrO)rtZproc_io_countersrrrrrrn)rrrrr0r0r1io_counters
s





zProcess.io_counterscCs t|j}|rtjStjSdSr})rtZproc_is_suspendedrrZSTATUS_STOPPEDZSTATUS_RUNNING)rZ	suspendedr0r0r1rszProcess.statuscCsdd}t|j}||S)NcsfddtdDS)Ncsg|]}d|>@r|qS)rr0)rirr0r1r'szBProcess.cpu_affinity_get.<locals>.from_bitmask.<locals>.<listcomp>@rrDr0rDr1from_bitmask&sz.Process.cpu_affinity_get.<locals>.from_bitmask)rtZproc_cpu_affinity_getr)rrFbitmaskr0r0r1cpu_affinity_get$szProcess.cpu_affinity_getcCsndd}tttt}|D]4}||krt|ttfsFtd|qtd|q||}t	
|j|dS)NcSs.|std|d}|D]}|d|O}q|S)Nzinvalid argument %rrr2)r)Zlsoutbr0r0r1
to_bitmask-sz,Process.cpu_affinity_set.<locals>.to_bitmaskz&invalid CPU %r; an integer is requiredzinvalid CPU %r)rrrurryr)rr@rrtZproc_cpu_affinity_setr)rr<rKZallcpusZcpurGr0r0r1cpu_affinity_set+szProcess.cpu_affinity_setc
CsXzt|jWStk
rR}z&t|r@|tdWYSW5d}~XYnXdS)NrD)rtZproc_num_handlesrrrrrrr0r0r1rDDszProcess.num_handlescCs|td}t|dS)NrEr)rrrZpctxsw)rrEr0r0r1num_ctx_switchesMszProcess.num_ctx_switches)N)r8),r-r.r/r	__slots__rr
rr
rrrrrrrrrrrr!r#r'r+rrHrIr1rr3r4r6r7r9r=r>r?rArBrrHrLrDrMr0r0r0r1rs

	


*
















r)r*)NN)rrrrrvr$sysrcollectionsrrrrrrr	r
rrr
rrrrZ_compatrrrrrrrrrrrrrtImportErrorrrzlowerrZgetwindowsversionrRuntimeErrorversion_infor:Z__extra__all__r(rbuiltin_module_namesrr)IntEnumr+ZMIB_TCP_STATE_ESTABZCONN_ESTABLISHEDZMIB_TCP_STATE_SYN_SENTZ
CONN_SYN_SENTZMIB_TCP_STATE_SYN_RCVDZ
CONN_SYN_RECVZMIB_TCP_STATE_FIN_WAIT1ZCONN_FIN_WAIT1ZMIB_TCP_STATE_FIN_WAIT2ZCONN_FIN_WAIT2ZMIB_TCP_STATE_TIME_WAITZCONN_TIME_WAITZMIB_TCP_STATE_CLOSEDZ
CONN_CLOSEZMIB_TCP_STATE_CLOSE_WAITZCONN_CLOSE_WAITZMIB_TCP_STATE_LAST_ACKZ
CONN_LAST_ACKZMIB_TCP_STATE_LISTENZCONN_LISTENZMIB_TCP_STATE_CLOSINGZCONN_CLOSINGZMIB_TCP_STATE_DELETE_TCBZPSUTIL_CONN_NONEZ	CONN_NONErr,globalsr__members__r$r%r&r'r3rrrZr`re_fieldsrhrjrrrlrnrxr|r~rrZdisk_io_countersrrrrrrrrrrrrrrrrrrr"r#r&rZpidsr*rrrrrrr0r0r0r1<module>s





 



	
		
*


Back to Directory File Manager