Viewing File: /opt/hc_python/lib/python3.12/site-packages/psutil/__pycache__/_common.cpython-312.pyc

�

`�*j�b�
���dZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddlm
Z
ddlmZddlmZ	ddlm
Z
	ddlmZeej"d��Ze�Zgd	�Zej,d
k(Zej,dk(Zej2j5d�Zej2j5d
�ZeZej2j5d�Zej2j5d�Zej2j5d�Z exsexse Z!ej2j5d�Z"ej2j5d�Z#dZ$dZ%dZ&dZ'dZ(dZ)dZ*dZ+dZ,dZ-dZ.dZ/dZ0d Z1d!Z2d"Z3d#Z4d$Z5d%Z6d&Z7d'Z8d(Z9d)Z:d*Z;d+Z<d,Z=Gd-�d.ej|�Z?e@�j�e?j��Gd/�d0ej|�ZCe@�j�eCj��ej��ZEej��ZGe
e
egeegfe
e
gegfe
gegfe
e
gegfe
gegfe
e
geegfe
geegfe
geegfd1�ZHe
�eHj�e
gegfe
gegfd2��e�e"seHj�d3egeegfi�Gd4�d5eI�ZJGd6�d7eJ�ZKGd8�d9eK�ZLGd:�d;eJ�ZMGd<�d=eJ�ZNdZd>�ZOd?�ZPd@�ZQdA�ZRdB�ZSdC�ZTdD�ZUdE�ZVdF�ZWdZdG�ZXdH�ZYdI�ZZGdJ�dK�Z[dL�Z\e[�Z]e]j�e\_^e]j�e\__dMZ`dN�ZadO�ZbeebfdP�ZcefdQ�Zdd[dR�ZedS�ZfdT�ZgePej�fdU��Zid\dW�ZjddVej�fdX�ZkdY�Zly#e$rdZ
Y��&wxYw#e$rdZY��-wxYw)]z�Common objects shared by __init__.py and _ps*.py modules.

Note: this module is imported by setup.py, so it should not import
psutil or third-party modules.
�N)�AF_INET)�
SOCK_DGRAM)�SOCK_STREAM)�AF_INET6)�AF_UNIX�PSUTIL_DEBUG)?�FREEBSD�BSD�LINUX�NETBSD�OPENBSD�MACOS�OSX�POSIX�SUNOS�WINDOWS�
CONN_CLOSE�CONN_CLOSE_WAIT�CONN_CLOSING�CONN_ESTABLISHED�CONN_FIN_WAIT1�CONN_FIN_WAIT2�
CONN_LAST_ACK�CONN_LISTEN�	CONN_NONE�
CONN_SYN_RECV�
CONN_SYN_SENT�CONN_TIME_WAIT�NIC_DUPLEX_FULL�NIC_DUPLEX_HALF�NIC_DUPLEX_UNKNOWN�STATUS_DEAD�STATUS_DISK_SLEEP�STATUS_IDLE�
STATUS_LOCKED�STATUS_RUNNING�STATUS_SLEEPING�STATUS_STOPPED�STATUS_SUSPENDED�STATUS_TRACING_STOP�STATUS_WAITING�STATUS_WAKE_KILL�
STATUS_WAKING�
STATUS_ZOMBIE�
STATUS_PARKED�ENCODING�
ENCODING_ERRSr�	conn_tmap�deprecated_method�
isfile_strict�memoize�parse_environ_block�path_exists_strict�
usage_percent�
supports_ipv6�sockfam_to_enum�socktype_to_enum�wrap_numbers�	open_text�open_binary�cat�bcat�bytes2human�conn_to_ntuple�debug�hilite�term_supports_colors�print_color�posix�nt�linux�darwin)�freebsd�midnightbsd�openbsd�netbsd)�sunos�solaris�aix�running�sleepingz
disk-sleep�stoppedztracing-stop�zombie�deadz	wake-kill�waking�idle�locked�waiting�	suspended�parked�ESTABLISHED�SYN_SENT�SYN_RECV�	FIN_WAIT1�	FIN_WAIT2�	TIME_WAIT�CLOSE�
CLOSE_WAIT�LAST_ACK�LISTEN�CLOSING�NONEc��eZdZdZdZdZy)�	NicDuplex��rN)�__name__�
__module__�__qualname__rr r!���?/opt/hc_python/lib64/python3.12/site-packages/psutil/_common.pyrjrjzs���O��O��rqrjc��eZdZdZdZy)�BatteryTime������N)rmrnro�POWER_TIME_UNKNOWN�POWER_TIME_UNLIMITEDrprqrrrtrt�s�����rqrt)�all�tcp�tcp4�udp�udp4�inet�inet4�inet6)�tcp6�udp6�unixc�&�eZdZdZdZd�Zd�Zd�Zy)�ErrorzQBase exception class. All other psutil exceptions inherit
    from this one.
    �psutilc�|�tj�}|D]"}t||d�}|s|dk(s�|dk(s�|||<�$|S)N�pidr)�collections�OrderedDict�getattr)�self�attrs�info�name�values     rr�	_infodictzError._infodict�sG���&�&�(���D��D�$��-�E�����5�A�:�"��T�
���rqc�.�|jd�}|rGdjdj|j�D��cgc]\}}|�d|����c}}��}nd}djt	|dd�|fD�cgc]}|s�|��	c}�Scc}}wcc}w)N)r��ppidr�z({})�, �=� �msg�)r��format�join�itemsr�)r�r��k�v�details�xs      rr�__str__z
Error.__str__�s����~�~�5�6����m�m��	�	�D�J�J�L�A�L�D�A�q�a�S��!��<�L�A�B��G��G��x�x�W�T�5�"�%=�w�$G�M�$G�q�1��$G�M�N�N��	B��Ns�B�9B�Bc	���|jd�}dj|j�D��cgc]\}}|�d|����c}}�}d|jj�d|�d�Scc}}w)N)r�r�r��secondsr�r�r�zpsutil.�(�))r�r�r��	__class__rm)r�r�r�r�r�s     rr�__repr__zError.__repr__�sh���~�~�G�H���)�)�d�j�j�l�C�l�d�a���s�!�A�5�\�l�C�D������0�0�1��7�)�1�=�=��Ds�A&
N)rmrnro�__doc__r�r�r�rprqrrr�r��s����J��	O�>rqr�c�"�eZdZdZdZdd�Zd�Zy)�
NoSuchProcesszXException raised when a process with a certain PID doesn't
    or no longer exists.
    r�Nc�`�tj|�||_||_|xsd|_y)Nzprocess no longer exists�r��__init__r�r�r��r�r�r�r�s    rrr�zNoSuchProcess.__init__�s)��
���t�������	��4�4��rqc�`�|j|j|j|jffS�N�r�r�r�r��r�s rr�
__reduce__zNoSuchProcess.__reduce__��$��������4�9�9�d�h�h� ?�@�@rq�NN�rmrnror�r�r�rprqrrr�r��s����J�5�Arqr�c�"�eZdZdZdZdd�Zd�Zy)�
ZombieProcessa1Exception raised when querying a zombie process. This is
    raised on macOS, BSD and Solaris only, and not always: depending
    on the query the OS may be able to succeed anyway.
    On Linux all zombie processes are querable (hence this is never
    raised). Windows doesn't have zombie processes.
    r�Nc�X�tj||||�||_|xsd|_y)Nz"PID still exists but it's a zombie)r�r�r�r�)r�r�r�r�r�s     rrr�zZombieProcess.__init__�s*�����t�S�$��4���	��>�>��rqc�v�|j|j|j|j|jffSr�)r�r�r�r�r�r�s rrr�zZombieProcess.__reduce__�s*��������4�9�9�d�i�i���� J�K�Krq�NNNr�rprqrrr�r��s����J�?�
Lrqr�c�"�eZdZdZdZdd�Zd�Zy)�AccessDeniedz@Exception raised when permission to perform an action is denied.r�Nc�`�tj|�||_||_|xsd|_y)Nr�r�r�s    rrr�zAccessDenied.__init__�s'��
���t�������	��9�"��rqc�`�|j|j|j|jffSr�r�r�s rrr�zAccessDenied.__reduce__r�rqr�r�rprqrrr�r��s��J��J��Arqr�c�"�eZdZdZdZdd�Zd�Zy)�TimeoutExpiredzWRaised on Process.wait(timeout) if timeout expires and process
    is still alive.
    r�Nc�n�tj|�||_||_||_d|�d�|_y)Nztimeout after z seconds)r�r�r�r�r�r�)r�r�r�r�s    rrr�zTimeoutExpired.__init__s3��
���t����������	�#�G�9�H�5��rqc�`�|j|j|j|jffSr�)r�r�r�r�r�s rrr�zTimeoutExpired.__reduce__s$��������t�x�x���� C�D�Drqr�r�rprqrrr�r�s����J�6�Erqr�c�d�	t|�|zdz}|�t||�}|S#t$rYywxYw)z5Calculate percentage usage of 'used' against 'total'.�dg)�float�round�ZeroDivisionError)�used�total�round_�rets    rrr8r8sG����T�{�U�"�c�)������V�$�C��
������s�#�	/�/c�b���tj����fd��}�fd�}i�||_|S)a�A simple memoize decorator for functions supporting (hashable)
    positional arguments.
    It also provides a cache_clear() function for clearing the cache:

    >>> @memoize
    ... def foo()
    ...     return 1
        ...
    >>> foo()
    1
    >>> foo.cache_clear()
    >>>

    It supports:
     - functions
     - classes (acts as a @singleton)
     - staticmethods
     - classmethods

    It does NOT support:
     - methods
    c���|tt|j���f}	�|S#t$r(	�|i|��x}�|<n#t$r}|d�d}~wwxYw|cYSwxYwr�)�	frozenset�sortedr��KeyError�	Exception)�args�kwargs�keyr��err�cache�funs     ��rr�wrapperzmemoize.<locals>.wrapper?su����Y�v�f�l�l�n�5�6�7��	���:����	�
$�#&��#7��#7�7��e�C�j���
$��t�#��
$���J�	�s2�,�	A�
A�A�	A�
A�A�A�Ac�&���j�y)zClear cache.N)�clear)r�s�rr�cache_clearzmemoize.<locals>.cache_clearKs���
���
rq)�	functools�wrapsr�)r�r�r�r�s`  @rrr5r5's9���0�_�_�S��	��	��
�E�%�G���Nrqc�j��tj���fd��}d�}d�}||_||_|S)a�A memoize decorator which is disabled by default. It can be
    activated and deactivated on request.
    For efficiency reasons it can be used only against class methods
    accepting no arguments.

    >>> class Foo:
    ...     @memoize
    ...     def foo()
    ...         print(1)
    ...
    >>> f = Foo()
    >>> # deactivated (default)
    >>> foo()
    1
    >>> foo()
    1
    >>>
    >>> # activated
    >>> foo.cache_activate(self)
    >>> foo()
    1
    >>> foo()
    >>> foo()
    >>>
    c���	|j�}|S#t$r 	�|�cYS#t$r}|d�d}~wwxYwt$rC	�|�}n#t$r}|d�d}~wwxYw	||j�<Y|S#t$rYY|SwxYwwxYwr�)�_cache�AttributeErrorr�r�)r�r�r�r�s   �rrr�z'memoize_when_activated.<locals>.wrapperos����	��+�+�c�"�C�(�
��'�	$�
$��4�y� ���
$��t�#��
$���	�
$��$�i����
$��t�#��
$��
�#&����C� �
�
��	"�
���
�	
��	�se��	B�(�B�	9�4�9�B�A�
B�	A�A�A�B�#A5�5	B�>B�B�Bc��i|_y)zsActivate cache. Expects a Process instance. Cache will be
        stored as a "_cache" instance attribute.
        N)r���procs rr�cache_activatez.memoize_when_activated.<locals>.cache_activate�s����rqc�(�	|`y#t$rYywxYw)zDeactivate and clear cache.N)r�r�r�s rr�cache_deactivatez0memoize_when_activated.<locals>.cache_deactivate�s��	�����	��	�s��	�)r�r�r�r�)r�r�r�r�s`   rr�memoize_when_activatedr�TsA���6�_�_�S�����2��,�G��/�G���Nrqc��	tj|�}tj|j�S#t$r�t
$rYywxYw)z�Same as os.path.isfile() but does not swallow EACCES / EPERM
    exceptions, see:
    http://mail.python.org/pipermail/python-dev/2012-June/120787.html.
    F)�os�stat�S_ISREG�st_mode�PermissionError�OSError)�path�sts  rrr4r4�sH��
(�
�W�W�T�]���|�|�B�J�J�'�'����
�����s�6�A�
Ac�`�	tj|�y#t$r�t$rYywxYw)z�Same as os.path.exists() but does not swallow EACCES / EPERM
    exceptions. See:
    http://mail.python.org/pipermail/python-dev/2012-June/120787.html.
    TF)r�r�r�r�)r�s rrr7r7�s6��
�
����
�����
�����s��-�-c���tjrt�y	tjttj�5}|j	d�ddd�y#1swYyxYw#t
$rYywxYw)z2Return True if IPv6 is supported on this platform.NF)z::1rT)�socket�has_ipv6rr�bindr�)�socks rrr9r9�sZ���?�?�h�.���
�]�]�8�V�%7�%7�
8�D��I�I�j�!�9��9�������s/�(A(�A�A(�A%�!A(�%A(�(	A4�3A4c���i}d}t}	|jd|�}||kr	|S|jd||�}||kDr$|||}||dz|}|r|j�}|||<|dz}�\)zCParse a C environ block of environment variables into a dictionary.r�r�rl)r�find�upper)�datar��pos�WINDOWS_�next_pos�	equal_posr�r�s        rrr6r6�s���
�C�
�C��H�
��9�9�T�3�'���s�?���J��I�I�c�3��1�	��s�?��s�9�%�C���Q���2�E���i�i�k���C��H���l��rqc�P�	tj|�S#t$r|cYSwxYw)z�Convert a numeric socket family value to an IntEnum member.
    If it's not a known member, return the numeric value itself.
    )r��
AddressFamily�
ValueError��nums rrr:r:�s,����#�#�C�(�(�����
�����%�%c�P�	tj|�S#t$r|cYSwxYw)zConvert a numeric socket type value to an IntEnum member.
    If it's not a known member, return the numeric value itself.
    )r��
SocketKindrrs rrr;r;�s,���� � ��%�%�����
��rc	��ddlm}|tjthvr"|r|j
|�}|r|j
|�}|tjk(r%|tthvr|j|t�}nt}t|�}t|�}|�|j||||||�S|j|||||||�S)z2Convert a raw connection tuple to a proper ntuple.rl)�_ntuples)
r�r
r�rr�addrr�getrr:r;�pconn�sconn)	�fd�fam�type_�laddr�raddr�status�
status_mapr��ntps	         rrrBrB�s���!�
�v�~�~�x�(�(���C�H�H�e�$�E���C�H�H�e�$�E���"�"�"�s�w��.A�'A�����	�2����
�#�
�C��U�#�E�
�{��y�y��S�%���v�>�>��y�y��S�%���v�s�C�Crqc��ddl}|jr|jsy|jtj
k(r?t
|j|j�d|j��d��j�S|jtjk(r?t
|j|j�d|j��d��j�Sy)zbGiven the address ntuple returned by ``net_if_addrs()``
    calculates the broadcast address.
    rN�/F)�strict)�	ipaddress�address�netmask�familyr�r�str�IPv4Network�broadcast_addressr�IPv6Network)rrs  rr�broadcast_addrr"
s�����<�<�t�|�|���{�{�f�n�n�$���!�!��<�<�.��$�,�,��0��
"�
���
�	
�
�{�{�f�o�o�%���!�!��<�<�.��$�,�,��0��
"�
���
�	
�&rqc����fd�}|S)z�A decorator which can be used to mark a method as deprecated
    'replcement' is the method name which will be called instead.
    c����|j�d��d��|j��|_tj|���fd��}|S)Nz*() is deprecated and will be removed; use z
() insteadc�`��tj�td��t|��|i|��S)Nrk)�category�
stacklevel)�warnings�warn�DeprecationWarningr�)r�r�r�r��replacements   ��rr�innerz/deprecated_method.<locals>.outer.<locals>.inner-s-����M�M�#�(:�q�I�-�7�4��-�t�>�v�>�>rq)rmr�r�r�)r�r,r�r+s  @�rr�outerz deprecated_method.<locals>.outer%sW����|�|�n���}�J�
(�	��;�;���C�K�	����	�	?�
�	?��rqrp)r+r-s` rrr3r3 s���

��Lrqc�6�eZdZdZd�Zd�Zd�Zd�Zd	d�Zd�Z	y)
�_WrapNumberszNWatches numbers so that they don't overflow and wrap
    (reset to zero).
    c�`�tj�|_i|_i|_i|_yr�)�	threading�Lock�lockr��	reminders�
reminder_keysr�s rrr�z_WrapNumbers.__init__<s&���N�N�$��	���
������rqc��||jvsJ�||jvsJ�||jvsJ�||j|<tjt
�|j|<tjt�|j|<yr�)r�r4r5r��defaultdict�int�set)r��
input_dictr�s   rr�	_add_dictz_WrapNumbers._add_dictBs|���4�:�:�%�%�%��4�>�>�)�)�)��4�-�-�-�-�-�%��
�
�4��*�6�6�s�;����t��#.�#:�#:�3�#?����4� rqc��|j|}t|j��t|j��z
}|D]9}|j||D]}|j||=�|j||=�;y)z�In case the number of keys changed between calls (e.g. a
        disk disappears) this removes the entry from self.reminders.
        N)r�r9�keysr5r4)r�r:r��old_dict�	gone_keys�gone_key�remkeys       rr�_remove_dead_remindersz#_WrapNumbers._remove_dead_remindersJs{���:�:�d�#����
�
��(�3�z���/@�+A�A�	�!�H��,�,�T�2�8�<���N�N�4�(��0�=��"�"�4�(��2�"rqc�0�||jvr|j||�|S|j||�|j|}i}|D]�}||}	||}g}t	t|��D]t}	||	}
||	}||	f}|
|kr;|j||xx|z
cc<|j||j|�|j|
|j||z��vt|�||<��||j|<|S#t$r|||<Y��wxYw)zlCache dict and sum numbers which overflow and wrap.
        Return an updated copy of `input_dict`.
        )r�r;rBr��range�lenr4r5�add�append�tuple)
r�r:r�r>�new_dictr��input_tuple�	old_tuple�bits�i�input_value�	old_valuerAs
             rr�runz_WrapNumbers.runUs?���t�z�z�!��N�N�:�t�,����#�#�J��5��:�:�d�#�����C�$�S�/�K�
�$�S�M�	��D��3�{�+�,��)�!�n��%�a�L�	��q�����*��N�N�4�(��0�I�=�0��&�&�t�,�S�1�5�5�f�=����K�$�.�.��*>�v�*F�F�G�-�"�$�K�H�S�M�+�.&��
�
�4�����)�
�!,���
��	
�s�D�D�DNc��|j5|�O|jj�|jj�|jj�nT|jj|d�|jj|d�|jj|d�ddd�y#1swYyxYw)z>Clear the internal cache, optionally only for function 'name'.N)r3r�r�r4r5�pop)r�r�s  rrr�z_WrapNumbers.cache_clear|s���
�Y�Y��|��
�
� � �"����$�$�&��"�"�(�(�*��
�
���t�T�*����"�"�4��.��"�"�&�&�t�T�2��Y�Y�s�B&B<�<Cc��|j5|j|j|jfcddd�S#1swYyxYw)z5Return internal cache dicts as a tuple of 3 elements.N)r3r�r4r5r�s rr�
cache_infoz_WrapNumbers.cache_info�s+��
�Y�Y��J�J�����0B�0B�C��Y�Y�s	�#:�Ar�)
rmrnror�r�r;rBrPr�rTrprqrrr/r/7s(��� �@�	3�%�N
3�Drqr/c�z�tj5tj||�cddd�S#1swYyxYw)z�Given an `input_dict` and a function `name`, adjust the numbers
    which "wrap" (restart from zero) across different calls by adding
    "old value" to "new value" and return an updated dict.
    N)�_wnr3rP)r:r�s  rrr<r<�s#��


����w�w�z�4�(�
���s�1�:i�c�&�t|dt��S)N�rb)�	buffering)�open�FILE_READ_BUFFER_SIZE)�fnames rrr>r>�s����t�'<�=�=rqc��t|ttt��}	t|_|S#t
$rY|St$r|j��wxYw)zaOpen a file in text mode by using the proper FS encoding and
    en/decoding error handlers.
    )rY�encoding�errors)rZr[r0r1�_CHUNK_SIZEr�r��close)r\�fobjs  rrr=r=�sa���
�'���	�D��1����K��
�
��
�K�	���
�
��
��s�*�	A�Ac���|tur"||�5}|j�cddd�S	||�5}|j�cddd�S#1swYyxYw#1swYyxYw#t$r|cYSwxYw)z�Read entire file content and return it as a string. File is
    opened in text mode. If specified, `fallback` is the value
    returned in case of error, either if the file does not exist or
    it can't be read().
    N)�_DEFAULT�readr�)r\�fallback�_open�fs    rrr?r?�sf���8��
�5�\�Q��6�6�8��\�	��u����v�v�x���	�\������	��O�	�s9�A�A&�A�	A&�A�A#�A&�#A&�&A4�3A4c�&�t||t��S)z,Same as above but opens file in binary mode.)rfrg)r?r>)r\rfs  rrr@r@�s���u�x�{�;�;rqc��d}i}t|dd�D]\}}d|dzdzz||<�t|dd�D]3}t|�||k\s�t|�||z}|t	�zcS|t|d|��zS)z�Used by various scripts. See: https://code.activestate.com/recipes/578019-bytes-to-human-human-to-bytes-converter/?in=user-4178764.

    >>> bytes2human(10000)
    '9.8K'
    >>> bytes2human(100001221)
    '95.4M'
    )	�B�K�M�G�T�P�E�Z�YrlN�
r)�symbolr�)�	enumerate�reversed�absr��locals�dict)�nr��symbols�prefixrM�srur�s        rrrArA�s���<�G�
�F��'�!�"�+�&���1��!�a�%�2��%��q�	�'��7�1�2�;�'���q�6�V�F�^�#��!�H�v�f�~�-�E��F�H�$�$�(��D���
�!�4�4�4rqc�<�tjdjS)z+Return updated psutil.PROCFS_PATH constant.r�)�sys�modules�PROCFS_PATHrprqrr�get_procfs_pathr��s���;�;�x� �,�,�,rqc�8�|jtt��S)N)r^r_)�decoder0r1)r~s rrr�r��s���8�8�X�m�8�<�<rqc�~�t|d�r|j�sy	|j�y#t$rYywxYw)N�isattyFT)�hasattrr��filenor���files rrrErE�s>���4��"�$�+�+�-������
�������s�0�	<�<Fc�D�t�s|Sg}tddddddddd	�
�	}d|d<	||}|j
|�|r|j
d�ddj|��d|�d�S#t$r,d
|�dt|j	����}t|�d�wxYw)z*Return an highlighted version of 'string'.�34�33�30�32�37�36�91�35�93)	�blue�brown�darkgrey�green�grey�	lightblue�red�violet�yellow�29N�invalid color z; choose amongst �1z[�;�mz)rErzr��listr=rrGr�)r~�color�bold�attr�colorsr�s      rrrDrD	s����!���
�D�
�
����
�����
�F��F�4�L�(��u�
��	�K�K�������C��
�3�8�8�D�>�"�!�A�3�g�.�.��
�(��u�i�'8��f�k�k�m�9L�8M�N����o�4�'�(�s�A*�*5Bc�t�t�st||��ytrtt|||�|��yddl}d}|j
jj}|j
jj}tdddd��}||d<	||}|r
|dkr|dz
}|tjurdnd
}
|j |_||
�}|||�	t||��|||�y#t$r,d	|�d
t|j����}	t|	�d�wxYw#|||�wxYw)z$Print a colorized version of string.r�rN�rk��)r�r�r�r�r�z; choose between �i�i����)rE�printrrD�ctypes�windll�Kernel32�GetStdHandle�SetConsoleTextAttributerzr�r�r=rr��stderr�c_ulong�restype)r~r�r�r�r��
DEFAULT_COLORr�r�r�r��	handle_id�handles            rrrFrF%s:�� �!�
�a�d��	�
�f�Q��t�$�4�0���
��}�}�-�-�:�:���M�M�"�"�:�:�	 ��A�1�A�a�8��$��t��	,��5�M�E��E�Q�J��Q�J�E��3�:�:�-�C�3�	�%�~�~����i�(�����.�	;��!�$��#�F�M�:��!�	,� ��	�*������'�*�,�
��S�/�t�+�	,�� 
$�F�M�:�s�C4�
D,�45D)�,D7c��tr�ddl}|j|j�j�\}}}}}t|t�rt|t�rd|��}nd|��}td|�d|�d|��tj��yy)z@If PSUTIL_DEBUG env var is set, print a debug message to stderr.rNz	ignoring zpsutil-debug [�:z]> r�)r�inspect�getframeinfo�currentframe�f_back�
isinstancer�r�r�r�r�)r�r�r\�lineno�_�_lines�_indexs       rrrCrCMs�����+2�+?�+?�� � �"�)�)�,
�(��v�q�&�&��c�9�%��#�w�'�!�#��'��!�#��)��
��U�G�1�V�H�C��u�5�C�J�J�	
�rqr�)z%(value).1f%(symbol)s)NF)mr�r��enumr�r�r�r�r�r1r(rrrr�ImportErrorr�bool�getenvr�objectrd�__all__r�rr�platform�
startswithrrrr	r
rr
r�AIXr&r'r#r(r*r.r"r,r-r$r%r+r)r/rrrrrrrrrrrr�IntEnumrj�globals�update�__members__rt�getfilesystemencodingr0�getfilesystemencodeerrorsr1r2r�r�r�r�r�r�r8r5r�r4r7r9r6r:r;rBr"r3r/r<rVr�rTr[r>r=r?r@rAr�r��stdoutrErDrFrCrprqrr�<module>r�sV��
����	�
��
����������
�I�B�I�I�n�-�.���8����D	���7���
�'�'�T�/��������(��������)����

�,�,�
!�
!�"<�
=��

�,�,�
!�
!�)�
,��	���	 �	 ��	*��
�"��"�F������� 4�5��	�l�l���e�$������ ����$���
������
����
������
�!���
��
�������
�
����
������	�������	����&�&�'��$�,�,��
�	����(�(�)�%�3�$�$�&��-��-�-�/�
��h��(�;�
�*C�D�
�h��+��/��Y��
�&�
�h��*��.��Y���%��x�
 �;�
�";�<��i�+�z�2�
3��j�;�
�3�
4�	
�	���
�����k�]�+���j�\�*���
��u�
���f��y�;�
�*C�D�E�F�>�I�>�BA�E�A�"L�M�L�&A�5�A�E�U�E�.	�*�ZD�N(��	��8��D�*
�,�.TD�TD�n)��n���?�?����.�.���"��>��4!�	��""�<�
5�&-�
=�	�!�j�j��	��/�:��C�J�J�%;�P
��g���H������G��s#�M�M*�M'�&M'�*M5�4M5
Back to Directory File Manager