ÿØÿàJFIFÿþ ÿÛC       ÿÛC ÿÀÿÄÿÄ"#QrÿÄÿÄ&1!A"2qQaáÿÚ ?Øy,æ/3JæÝ¹È߲؋5êXw²±ÉyˆR”¾I0ó2—PI¾IÌÚiMö¯–þrìN&"KgX:Šíµ•nTJnLK„…@!‰-ý ùúmë;ºgµŒ&ó±hw’¯Õ@”Ü— 9ñ-ë.²1<yà‚¹ïQÐU„ہ?.’¦èûbß±©Ö«Âw*VŒ) `$‰bØÔŸ’ëXÖ-ËTÜíGÚ3ð«g Ÿ§¯—Jx„–’U/ÂÅv_s(Hÿ@TñJÑãõçn­‚!ÈgfbÓc­:él[ðQe 9ÀPLbÃãCµm[5¿ç'ªjglå‡Ûí_§Úõl-;"PkÞÞÁQâ¼_Ñ^¢SŸx?"¸¦ùY騐ÒOÈ q’`~~ÚtËU¹CڒêV  I1Áß_ÿÙ Rc@ sdZddlmZddlZddlZddlZddlZddlZddlm Z m Z m Z ddZ defdYZdZd efd YZdd Zd Zed dZeddZeddZeddZeddZeddZeddZeddZeddZedd Zed!d"Zed#d$Z ddl!Z!dd%l!m"Z"m#Z#m$Z$e%e!d&dZ&e%e!d'dZ'ie"e&e'ge#e$gfd(6e"e&ge#gfd)6e"ge#gfd*6e"e&ge$gfd+6e"ge$gfd,6e"e&ge#e$gfd-6e"ge#e$gfd.6e&ge#e$gfd/6Z(e&dk re(j)ie&ge#gfd06e&ge$gfd16ne'dk re(j)ie'ge#e$gfd26n["[&['[#[$[!e d3d4Z*e d5d6Z+e d3d4Z,e d7d8Z-e d9d:Z.e d9d;Z/e d<d=Z0e d>d?Z1e d@dAZ2e dBdCZ3e dDdEZ4e dFdGZ5e d<dHZ6e dIdHZ7e dJdKZ8e dLdMZ9e dNdOZ:dS(Ps*Common objects shared by all _ps* modules.i(tdivisionN(t namedtupletlongtwrapscC sMy||d}Wntk r+d}nX|dk rEt||S|SdS(s5Calculate percentage usage of 'used' against 'total'.idiN(tZeroDivisionErrortNonetround(tusedttotalt_roundtret((sA/opt/alt/python27/lib64/python2.7/site-packages/psutil/_common.pyt usage_percents    tconstantcB s5eZdZddZdZdZdZRS(sFA constant type; overrides base int to provide a useful name on str().cC s@tt|j||}||_|dk r<||_n|S(N(tsuperR t__new__t_nameRt__doc__(tclstvaluetnametdoctinst((sA/opt/alt/python27/lib64/python2.7/site-packages/psutil/_common.pyR!s    cC s|jS(N(R(tself((sA/opt/alt/python27/lib64/python2.7/site-packages/psutil/_common.pyt__str__(scC s^t|trt||kSt|tr>t||kSt|trZ|j|kStS(N(t isinstancetintRtstrRtFalse(Rtother((sA/opt/alt/python27/lib64/python2.7/site-packages/psutil/_common.pyt__eq__+s cC s|j| S(N(R(RR((sA/opt/alt/python27/lib64/python2.7/site-packages/psutil/_common.pyt__ne__;sN(t__name__t __module__RRRRRR(((sA/opt/alt/python27/lib64/python2.7/site-packages/psutil/_common.pyR s    c sifd}|S(s)A simple memoize decorator for functions.c s'|kr||stcached_propertycB s&eZdZeZdZdZRS(s)A memoize decorator for class properties.cC s ||_dS(N(tfunc(RR'((sA/opt/alt/python27/lib64/python2.7/site-packages/psutil/_common.pyt__init__KscC s2|j|}|jr.||j|jjA decorator which can be used to mark functions as deprecated.c sgdjdk r*d7njdkrE_ntfd}|S(Nspsutil.%s is deprecateds; use %s insteadc s&tjdtdd||S(Ntcategoryt stackleveli(twarningstwarntDeprecationWarning(targstkwargs(tfuntmsg(sA/opt/alt/python27/lib64/python2.7/site-packages/psutil/_common.pytinner^s(RRRR(R6R8(t replacement(R6R7sA/opt/alt/python27/lib64/python2.7/site-packages/psutil/_common.pytouterWs   ((R9R:((R9sA/opt/alt/python27/lib64/python2.7/site-packages/psutil/_common.pyt deprecatedUs cC smytj|}WnCtk rXtjd}|jtjtjfkrTntSXtj |j SdS(sSame as os.path.isfile() but does not swallow EACCES / EPERM exceptions, see: http://mail.python.org/pipermail/python-dev/2012-June/120787.html iN( toststattOSErrortsystexc_infoterrnotEPERMtEACCESRtS_ISREGtst_mode(tpathtstterr((sA/opt/alt/python27/lib64/python2.7/site-packages/psutil/_common.pyt isfile_strictgs itrunningitsleepingis disk sleepitstoppedis tracing stopitzombieitdeadis wake killitwakingi tidlei tlockedi twaiting(tAF_INETt SOCK_STREAMt SOCK_DGRAMtAF_INET6tAF_UNIXtallttcpttcp4tudptudp4tinettinet4tinet6ttcp6tudp6tunixtusagestotal used free percenttswaps total used free percent sin soutt partitionsdevice mountpoint fstype optstiostatsKbytes_sent bytes_recv packets_sent packets_recv errin errout dropin dropoutsBread_count write_count read_bytes write_bytes read_time write_timetusersname terminal host startedtmeminfosrss vmstcputimess user systemtopenfilespath fdt connections2fd family type local_address remote_address statustthreadsid user_time system_timesreal effective savedtgrouptios-read_count write_count read_bytes write_bytestionices ioclass valuetamountsvoluntary involuntary(;Rt __future__RR?R<R=RAR1tpsutil._compatRRRRR RR R%tobjectR&R;RItSTATUS_RUNNINGtSTATUS_SLEEPINGtSTATUS_DISK_SLEEPtSTATUS_STOPPEDtSTATUS_TRACING_STOPt STATUS_ZOMBIEt STATUS_DEADtSTATUS_WAKE_KILLt STATUS_WAKINGt STATUS_IDLEt STATUS_LOCKEDtSTATUS_WAITINGtsocketRSRTRUtgetattrRVRWt conn_tmaptupdatet nt_sysmeminfotnt_swapmeminfot nt_diskinfot nt_partitiont nt_net_iostattnt_disk_iostattnt_usert nt_meminfot nt_cputimest nt_openfilet nt_connectiont nt_threadtnt_uidstnt_gidstnt_iot nt_ionicetnt_ctxsw(((sA/opt/alt/python27/lib64/python2.7/site-packages/psutil/_common.pyts