
    ;^hLG                        S r SSKrSSKrSSKrSSKrSSKrSSKrSSKJr  SSK	J
r
  SSK	Jr  SSK	Jr  SSK	Jr  SS	K
Jr  SS
K
Jr  SSK
Jr  SSK
Jr  SSK
Jr  SSK
Jr  SSK
Jr  SSK
Jr  SSK
Jr  SSK
Jr  S/r\" \S5      r\" \S5      r\" \S5      r\R>                  " 5       r \RB                  r!\RD                  \
RF                  \RH                  \
RJ                  \RL                  \
RN                  \RP                  \
RN                  \RR                  \
RT                  0r+\RX                  \
RZ                  \R\                  \
R^                  \R`                  \
Rb                  \Rd                  \
Rf                  \Rh                  \
Rj                  \Rl                  \
Rn                  \Rp                  \
Rr                  \Rt                  \
Rv                  \Rx                  \
Rz                  \R|                  \
R~                  \R                  \
R                  \R                  \
R                  0rD\E" SSSSSSSSS9rF\" SSS /5      rG\GrH\" S!/ S"Q5      rI\" S#/ S$Q5      rJS% rKS& rLS' rMS( rNS) rOS* rPS+ rQ\R                  rR\R                  rSS6S, jrT\R                  rU\(       a  \R                  rVS7S- jrWS. rXS/ rYS0 rZS1 r[S2 r\S3 r] " S4 S55      r^g)8zAIX platform implementation.    N)
namedtuple   )_common)_psposix)_psutil_aix)_psutil_posix)NIC_DUPLEX_FULL)NIC_DUPLEX_HALF)NIC_DUPLEX_UNKNOWN)AccessDenied)NoSuchProcess)ZombieProcess)conn_to_ntuple)get_procfs_path)memoize_when_activated)usage_percentPROCFS_PATHproc_threadsnet_io_countersproc_io_counters                  )ppidrssvmscreate_timenicenum_threadsstatusttynrpmemr   r   	scputimes)usersystemidleiowaitsvmem)total	availablepercentusedfreec                  h    [         R                  " 5       u  pp#n[        X-
  U SS9n[        XXTU5      $ )Nr   round_)cextvirtual_memr   r+   )r,   availr0   _pinnedinuser.   s         ?/var/www/html/env/lib/python3.13/site-packages/psutil/_psaix.pyvirtual_memoryr:   g   s6    )-)9)9);&E$U]U1=Gwt44    c                  ~    [         R                  " 5       u  pp#X-
  n[        X@SS9n[        R                  " XXX#5      $ )z=Swap system memory as a (total, used, free, sin, sout) tuple.r   r2   )r4   swap_memr   r   sswap)r,   r0   sinsoutr/   r.   s         r9   swap_memoryrA   m   s8    !]]_E<DD2G==dS??r;   c                      [         R                  " 5       n [        [        U 6  Vs/ s H  n[	        U5      PM     sn6 $ s  snf )z.Return system-wide CPU times as a named tuple.)r4   per_cpu_timesr&   zipsumretxs     r9   	cpu_timesrI   z   s5    



CsCy1y!s1vy1221s   >c                  h    [         R                  " 5       n U  Vs/ s H  n[        U6 PM     sn$ s  snf )z6Return system per-CPU times as a list of named tuples.)r4   rC   r&   rF   s     r9   rC   rC      s,    



C#&'3aIqM3'''s   /c                  P     [         R                  " S5      $ ! [         a     gf = f)z0Return the number of logical CPUs in the system.SC_NPROCESSORS_ONLNN)ossysconf
ValueError r;   r9   cpu_count_logicalrQ      s)    zz/00 s    
%%c                  T   / SQn [         R                  " U [         R                  [         R                  S9nUR                  5       u  p#S X#4 5       u  p#UR                  S:w  a  U < SU 3n[        U5      eUR                  5       R                  5       n[        U5      =(       d    S $ )N)lsdevz-Cc	processorstdoutstderrc              3   r   #    U  H-  oR                  [        R                  R                  5      v   M/     g 7fNdecodesysrV   encoding.0rH   s     r9   	<genexpr>"cpu_count_cores.<locals>.<genexpr>   s&     N=Mhhszz2233=M   57r   z command error
)	
subprocessPopenPIPEcommunicate
returncodeRuntimeErrorstrip
splitlineslen)cmdprV   rW   msg
processorss         r9   cpu_count_coresrp      s    
'CZ__Z__MA]]_NFNf=MNNF||q'x03**,Jz?"d"r;   c                  `    [         R                  " 5       u  pp#[        R                  " XX#5      $ )z*Return various CPU stats as a named tuple.)r4   	cpu_statsr   	scpustats)ctx_switches
interruptssoft_interruptssyscallss       r9   rr   rr      s+    :>..:J7Lo/ r;   c                     / n[         R                  " 5       nU H[  nUu  pEpgUS:X  a  SnU (       d  [        U5      R                  (       d  M3  [        R
                  " XEXg5      nUR                  U5        M]     U$ )zReturn system disk partitions.none )r4   disk_partitions
disk_usager,   r   	sdiskpartappend)	allretlist
partitions	partitiondevice
mountpointfstypeoptsntuples	            r9   r{   r{      ss     G%%'J	+4(FVF j)//""6vDv   Nr;   c                     [         R                  U    u  p#[        R                  " U5      n/ nU HE  nUu  pxppnX;  a  M  X;  a  M  [	        UUU	U
UU[
        US:X  a  UOSS9nUR                  U5        MG     U$ )zReturn socket connections.  If pid == -1 return system-wide
connections (as opposed to connections opened by one process only).
Npid)r   	conn_tmapr4   net_connectionsr   TCP_STATUSESr~   )kind_pidfamiliestypesrawlistrG   itemfdfamtype_laddrraddrr#   r   nts                  r9   r   r      s     ''-OH""4(G
C481ucrzt	
 	

2! " Jr;   c                     [         [        S.n [        5        Vs1 s H  oS   iM	     nn0 nU GH"  n[        R                  " U5      n[        R
                  " U5      nSnSn[        R                  " SSU/[        R                  [        R                  S9n	U	R                  5       u  pS X4 5       u  pU	R                  S:X  aE  [        R                  " SU
5      nUb+  [        UR                  S	5      5      nUR                  S
5      nSR                  U5      nSU;   nU R!                  U["        5      n[$        R&                  " XXU5      X4'   GM%     U$ s  snf )z)Get NIC stats (isup, duplex, speed, mtu).)FullHalfr   rz   z/usr/bin/entstatz-drU   c              3   r   #    U  H-  oR                  [        R                  R                  5      v   M/     g 7frY   rZ   r^   s     r9   r`   net_if_stats.<locals>.<genexpr>   (      
3CaHHSZZ(())3Crb   z"Running: (\d+) Mbps.*?(\w+) Duplexr   r   ,running)r	   r
   net_if_addrs
cext_posix
net_if_mtunet_if_flagsrc   rd   re   rf   rg   researchintgroupjoingetr   r   	snicstats)
duplex_maprH   namesrG   namemtuflagsduplexspeedrm   rV   rW   	re_resultoutput_flagsisups                  r9   net_if_statsr      s?   )?CJ'>*>aqT>E*
C##D)''-
 t,????

 
4:3C
 <<1		5vI $IOOA./"+xxE!(:;%%dEM	; < JA +s   Ec                  ,    [         R                  " 5       $ )z:The system boot time expressed in seconds since the epoch.)r4   	boot_timerP   r;   r9   r   r     s    >>r;   c                      / n [         R                  " 5       nSnU HB  nUu  pEpgpU(       d  M  Xb;   a  Sn[        R                  " XEXgU	5      n
U R	                  U
5        MD     U $ )z:Return currently connected users as a list of namedtuples.)z:0.0z:0	localhost)r4   usersr   suserr~   )r   r   r   r   r'   ttyhostnametstampuser_processr   r   s              r9   r   r     se    GjjlGI9=68\  "H]]4h<r  Nr;   c                      [         R                  " [        5       5       V s/ s H$  o R                  5       (       d  M  [	        U 5      PM&     sn $ s  sn f )z7Returns a list of PIDs currently running on the system.)rM   listdirr   isdigitr   )rH   s    r9   pidsr   /  s4    JJ'89I9qYY[FCF9IIIs
   AAc                     [         R                  R                  [         R                  R                  [	        5       [        U 5      S5      5      $ )z&Check for the existence of a unix pid.psinfo)rM   pathexistsr   r   strr   s    r9   
pid_existsr   4  s-    77>>"'',,'8#c(HMNNr;   c                 F   ^  [         R                  " T 5      U 4S j5       nU$ )z{Call callable into a try/except clause and translate ENOENT,
EACCES and EPERM in NoSuchProcess or AccessDenied exceptions.
c                   > U R                   U R                  U R                  pTn T" U /UQ70 UD6$ ! [        [        4 a.  n[        U5      (       d  [        X55      Ue[        X5U5      UeS nAf[         a  n[        X55      UeS nAff = frY   )
r   _ppid_nameFileNotFoundErrorProcessLookupErrorr   r   r   PermissionErrorr   )selfargskwargsr   r   r   errfuns          r9   wrapper wrap_exceptions.<locals>.wrapper>  s    ((DJJ

4
	3t-d-f--!#56 	: c??#C.C740c9 	3s)s2	3s!   2 B	)A++B	8BB	)	functoolswraps)r   r   s   ` r9   wrap_exceptionsr   9  s'    
 __S3 3 Nr;   c                      \ rS rSrSr/ SQrS rS rS r\	\
S 5       5       r\	\
S 5       5       r\	S	 5       r\	S
 5       r\	S 5       r\	S 5       r\	S 5       r\	S 5       r\(       a  \	S 5       r\	S"S j5       r\	S 5       r\	S 5       r\	S 5       r\	S 5       r\	S 5       r\	S 5       r\	S 5       r\	S 5       r\	S 5       r\r\	S 5       r S r!\	S 5       r"\	S 5       r#\	S#S j5       r$\%(       a  \	S  5       r&S!r'gS!r'g)$ProcessiP  z1Wrapper class around underlying C implementation.)_cacher   r   _procfs_pathr   c                 J    Xl         S U l        S U l        [        5       U l        g rY   )r   r   r   r   r   )r   r   s     r9   __init__Process.__init__U  s     

+-r;   c                 p    U R                   R                  U 5        U R                  R                  U 5        g rY   )_proc_basic_infocache_activate
_proc_credr   s    r9   oneshot_enterProcess.oneshot_enter[  s(    ,,T2&&t,r;   c                 p    U R                   R                  U 5        U R                  R                  U 5        g rY   )r   cache_deactivater   r   s    r9   oneshot_exitProcess.oneshot_exit_  s(    ..t4((.r;   c                 X    [         R                  " U R                  U R                  5      $ rY   )r4   proc_basic_infor   r   r   s    r9   r   Process._proc_basic_infoc  s!     ##DHHd.?.?@@r;   c                 X    [         R                  " U R                  U R                  5      $ rY   )r4   	proc_credr   r   r   s    r9   r   Process._proc_credh  s     ~~dhh(9(9::r;   c                     U R                   S:X  a  g[        R                  " U R                   U R                  5      R	                  S5      $ )Nr   swapper )r   r4   	proc_namer   rstripr   s    r9   r   Process.namem  s6    88q=~~dhh(9(9:AA&IIr;   c                    U R                  5       nU(       d  gUS   n[        R                  R                  U;   Ga  [        R                  R	                  U5      (       dK  [        R                  R                  [        R                  R                  U R                  5       U5      5      n[        R                  R	                  U5      (       aP  [        R                  R                  U5      (       a,  [        R                  " U[        R                  5      (       a  U$ [        R                  R                  U5      n[        R                  S   R                  S5       H  n[        R                  R                  [        R                  R                  X25      5      n[        R                  R                  U5      (       d  Me  [        R                  " U[        R                  5      (       d  M  Us  $    g)Nrz   r   PATH:)cmdlinerM   r   sepisabsabspathr   cwdisfileaccessX_OKbasenameenvironsplit)r   r   exer   possible_exes        r9   r
  Process.exet  s2    ,,.aj77;;#77==%%ggoobggll488:s&CDc""GGNN3''IIc277++
''""3'CJJv&,,S1D77??277<<+BCLww~~l++		bgg1 1 $# 2 r;   c                 B    [         R                  " U R                  5      $ rY   )r4   	proc_argsr   r   s    r9   r   Process.cmdline  s    ~~dhh''r;   c                 B    [         R                  " U R                  5      $ rY   )r4   proc_environr   r   s    r9   r  Process.environ  s      **r;   c                 6    U R                  5       [        S      $ )Nr    r   proc_info_mapr   s    r9   r    Process.create_time      $$&}]'CDDr;   c                 6    U R                  5       [        S      $ )Nr"   r  r   s    r9   r"   Process.num_threads  r  r;   c                    [         R                  " U R                  5      n/ nU H.  u  p4n[        R                  " X4U5      nUR                  U5        M0     U(       d/  [        R                  " U R                   SU R                   35        U$ )N/)	r4   r   r   r   pthreadr~   rM   statr   )r   r   r   	thread_idutimestimer   s          r9   threadsProcess.threads  sr    ''1GG+2'	% 5Av& ,3 4,,-Qtxxj9:Nr;   c                     [        XR                  S9nU(       d/  [        R                  " U R                   SU R                   35        U$ )N)r   r  )r   r   rM   r  r   )r   r   rG   s      r9   r   Process.net_connections  s<    d2 GGt(()488*56
r;   c                 B    [         R                  " U R                  5      $ rY   )r   getpriorityr   r   s    r9   nice_getProcess.nice_get  s    %%dhh//r;   c                 D    [         R                  " U R                  U5      $ rY   )r   setpriorityr   )r   values     r9   nice_setProcess.nice_set  s    %%dhh66r;   c                 X    U R                  5       [        S      U l        U R                  $ )Nr   )r   r  r   r   s    r9   r   Process.ppid  s&    **,]6-BC
zzr;   c                 \    U R                  5       u  pn    n[        R                  " XU5      $ rY   r   r   puids)r   real	effectivesaved_s        r9   uidsProcess.uids  s*    *.//*;'1a}}Te44r;   c                 Z    U R                  5       u      pp4[        R                  " X#U5      $ rY   r1  )r   r6  r3  r4  r5  s        r9   gidsProcess.gids  s(    *.//*;'1ay}}Te44r;   c                 ~    [         R                  " U R                  U R                  5      n[        R
                  " U6 $ rY   )r4   proc_cpu_timesr   r   r   	pcputimes)r   ts     r9   rI   Process.cpu_times  s/    $*;*;<  !$$r;   c                     U R                  5       [        S      nUS-  S-	  US-  -  n[        R                  " S5       H+  n[        R                  " U5      R
                  U:X  d  M)  Us  $    g )Nr$   l           i  z	/dev/**/*)r   r  globrM   r  st_rdev)r   ttydevdevs      r9   terminalProcess.terminal  sf    &&(w)?@..25&6/J99[)Cwws|##v-
 * r;   c                     U R                   n [        R                  " U SU R                   S35      nUR	                  S5      $ ! [
         a(    [        R                  " U SU R                   35         gf = f)Nr  z/cwdrz   )r   rM   readlinkr   r   r   r  )r   procfs_pathresults      r9   r  Process.cwd  sm    ''	[[K=$((4!@AF==%%  	GG{m1TXXJ/0	s   6A /A76A7c                 t    U R                  5       nU[        S      S-  nU[        S      S-  n[        X#5      $ )Nr   i   r   )r   r  r%   )r   rG   r   r   s       r9   memory_infoProcess.memory_info  sB    ##%-&'$.-&'$.C~r;   c                 b    U R                  5       [        S      n[        R                  US5      $ )Nr#   ?)r   r  PROC_STATUSESr   )r   codes     r9   r#   Process.status  s-    $$&}X'>?  s++r;   c           	      b   [         R                  " SS[        U R                  5      /[         R                  [         R                  S9nUR                  5       u  p#S X#4 5       u  p#SUR                  5       ;   a   [        U R                  U R                  5      e[        R                  " SU5      n/ nU Hu  u  pgUR                  5       nUR                  S5      (       a  USS  nUR                  5       S	:X  a  MF  UR                  [        R                  " U[!        U5      5      5        Mw     U$ )
Nz/usr/bin/procfilesz-nrU   c              3   r   #    U  H-  oR                  [        R                  R                  5      v   M/     g 7frY   rZ   r^   s     r9   r`   %Process.open_files.<locals>.<genexpr>  r   rb   zno such processz(\d+): S_IFREG.*name:(.*)\nz//r   zcannot be retrieved)rc   rd   r   r   re   rf   lowerr   r   r   findallri   
startswithr~   r   	popenfiler   )r   rm   rV   rW   	procfilesr   r   r   s           r9   
open_filesProcess.open_files  s     !4TXX7????

 
4:3C
 .$**55JJ=vF	!HB::<Dt$$ABxzz|44NN7,,T3r7;< " r;   c                     U R                   S:X  a  g[        [        R                  " U R                   SU R                    S35      5      $ )Nr   r  z/fd)r   rk   rM   r   r   r   s    r9   num_fdsProcess.num_fds  s<    88q=2::!2!2 31TXXJcBCDDr;   c                 d    [         R                  " [        R                  " U R                  5      6 $ rY   )r   pctxswr4   proc_num_ctx_switchesr   r   s    r9   num_ctx_switchesProcess.num_ctx_switches!  s     ~~t99$((CDDr;   Nc                 X    [         R                  " U R                  XR                  5      $ rY   )r   wait_pidr   r   )r   timeouts     r9   waitProcess.wait%  s      7JJ??r;   c                     [         R                  " U R                  5      u  pp4[        R                  " XX45      $ ! [         aA  n[	        U R                  5      (       d!  [        U R                  U R                  5      Uee S nAff = frY   )	r4   r   r   OSErrorr   r   r   r   pio)r   rcwcrbwbr   s         r9   io_countersProcess.io_counters+  so    !%!6!6txx!@ ;;rr..   "$((++'$**=3Fs   #< 
B<BB)r   r   r   r   )inetrY   )(__name__
__module____qualname____firstlineno____doc__	__slots__r   r   r   r   r   r   r   r   r
  r   r  r    r"   HAS_THREADSr!  r   r'  r,  r   r7  r:  rI   rG  r  rO  memory_full_infor#   r^  ra  rf  rk  HAS_PROC_IO_COUNTERSrt  __static_attributes__rP   r;   r9   r   r   P  s-   ;CI.-/ A  A ;  ; J J  : ( ( + + E E E E 		 
	  
 
 0 0 7 7   5 5 5 5 % %       #, ,
2 E E
 E E @ @ 			/ 
		/ r;   r   )F)r   )_r{  r   rC  rM   r   rc   r\   collectionsr   rz   r   r   r   r4   r   r   r	   r
   r   r   r   r   r   r   r   r   __extra__all__hasattrr}  HAS_NET_IO_COUNTERSr  getpagesize	PAGE_SIZEAF_LINKSIDLSTATUS_IDLESZOMBSTATUS_ZOMBIESACTIVESTATUS_RUNNINGSSWAPSSTOPSTATUS_STOPPEDrS  TCPS_ESTABLISHEDCONN_ESTABLISHEDTCPS_SYN_SENTCONN_SYN_SENTTCPS_SYN_RCVDCONN_SYN_RECVTCPS_FIN_WAIT_1CONN_FIN_WAIT1TCPS_FIN_WAIT_2CONN_FIN_WAIT2TCPS_TIME_WAITCONN_TIME_WAITTCPS_CLOSED
CONN_CLOSETCPS_CLOSE_WAITCONN_CLOSE_WAITTCPS_LAST_ACKCONN_LAST_ACKTCPS_LISTENCONN_LISTENTCPS_CLOSINGCONN_CLOSINGPSUTIL_CONN_NONE	CONN_NONEr   dictr  r%   pfullmemr&   r+   r:   rA   rI   rC   rQ   rp   rr   disk_io_countersr|   r{   r   r   r   r   r   r   r   r   r   r   rP   r;   r9   <module>r     s   #   	 	  
 "   ! ) $ $ ' ! " " # $ + "   dN+d$56 t%78 ""$	


 	IIw""JJ%%LL'((JJ&&JJ&& 	733----'00'00//g(('11--g))w++7,, 	
			

	$ &5%.){$HI	7MN5@3(	# ((   
4 &&**O6#V
0J
O
.e/ e/r;   