CasperSecurity

Current Path : /snap/core24/current/usr/lib/python3.12/__pycache__/
Upload File :
Current File : //snap/core24/current/usr/lib/python3.12/__pycache__/tracemalloc.cpython-312.pyc

�

0�iF��\�ddlmZmZddlmZddlZddlZddlZddl	Z	ddl
�ddl
mZmZd�Z
Gd�d�ZGd	�d
�Zd�ZeGd�d
��ZeGd�de��Zd�ZGd�d�ZGd�de�Zd�ZGd�d�ZGd�de�ZGd�de�ZGd�d�Zd�Zy)�)�Sequence�Iterable)�total_orderingN)�*)�_get_object_traceback�_get_tracesc��dD]U}t|�dkr|dk7r|r	d||fzcSd||fzcSt|�dks|dk(r|r	d||fzcSd	||fzcS|d
z}�Wy)N)�B�KiB�MiB�GiB�TiB�dr
z%+.1f %sz%.1f %si(rz%+.0f %sz%.0f %si)�abs)�size�sign�units   �"/usr/lib/python3.12/tracemalloc.py�_format_sizer
s��1�
���t�9�s�?�t�s�{��!�T�4�L�0�0� �D�$�<�/�/��t�9�y� �D�E�M��!�T�4�L�0�0� �D�$�<�/�/�����
�c�8�eZdZdZdZd�Zd�Zd�Zd�Zd�Z	d�Z
y	)
�	StatisticzS
    Statistic difference on memory allocations between two Snapshot instance.
    ��	tracebackr�countc�.�||_||_||_y�Nr)�selfrrrs    r�__init__zStatistic.__init__%s��"�����	���
rc�Z�t|j|j|jf�Sr)�hashrrr�rs r�__hash__zStatistic.__hash__*s ���T�^�^�T�Y�Y��
�
�;�<�<rc���t|t�stS|j|jk(xr4|j|jk(xr|j
|j
k(Sr)�
isinstancer�NotImplementedrrr�r�others  r�__eq__zStatistic.__eq__-sQ���%��+�!�!����%�/�/�1�.��I�I����+�.��J�J�%�+�+�-�	/rc���d|jt|jd�|jfz}|jr+|j|jz}|dt|d�zz
}|S)Nz%s: size=%s, count=%iF�, average=%s)rrrr�r�text�averages   r�__str__zStatistic.__str__4sc��'��N�N� ����E�2��J�J� � ���:�:��i�i�$�*�*�,�G��N�\�'�5�%A�A�A�D��rc�N�d|j|j|jfzS)Nz)<Statistic traceback=%r size=%i count=%i>rr"s r�__repr__zStatistic.__repr__>s%��;��>�>�4�9�9�d�j�j�9�:�	;rc�H�|j|j|jfSr)rrrr"s r�	_sort_keyzStatistic._sort_keyBs���	�	�4�:�:�t�~�~�6�6rN��__name__�
__module__�__qualname__�__doc__�	__slots__rr#r)r/r1r3�rrrrs,���/�I��
=�/��;�7rrc�8�eZdZdZdZd�Zd�Zd�Zd�Zd�Z	d�Z
y	)
�
StatisticDiffzd
    Statistic difference on memory allocations between an old and a new
    Snapshot instance.
    �rr�	size_diffr�
count_diffc�J�||_||_||_||_||_yrr=)rrrr>rr?s      rrzStatisticDiff.__init__Ms%��"�����	�"�����
�$��rc��t|j|j|j|j|j
f�Sr)r!rrr>rr?r"s rr#zStatisticDiff.__hash__Ts3���T�^�^�T�Y�Y�����Z�Z����2�3�	3rc�8�t|t�stS|j|jk(xrj|j|jk(xrO|j
|j
k(xr4|j|jk(xr|j|jk(Sr)r%r<r&rrr>rr?r's  rr)zStatisticDiff.__eq__Xs����%��/�!�!����%�/�/�1�8��I�I����+�8��N�N�e�o�o�5�8��J�J�%�+�+�-�8��O�O�u�'7�'7�7�		9rc��d|jt|jd�t|jd�|j|j
fz}|jr+|j|jz}|dt|d�zz
}|S)Nz %s: size=%s (%s), count=%i (%+i)FTr+)rrrr>rr?r,s   rr/zStatisticDiff.__str__asx��2��>�>���	�	�5�1������5��:�:��?�?�	$�$���:�:��i�i�$�*�*�,�G��N�\�'�5�%A�A�A�D��rc�z�d|j|j|j|j|jfzS)Nz9<StatisticDiff traceback=%r size=%i (%+i) count=%i (%+i)>r=r"s rr1zStatisticDiff.__repr__ms4��K��>�>�4�9�9�d�n�n��:�:�t���0�0�	1rc��t|j�|jt|j�|j|j
fSr)rr>rr?rrr"s rr3zStatisticDiff._sort_keyrs7���D�N�N�#�T�Y�Y��D�O�O�$�d�j�j���� �	 rNr4r:rrr<r<Fs-���J�I�%�3�9�
�1�
 rr<c	�2�g}|j�D]�\}}|j|d�}|�Rt||j|j|jz
|j|j|jz
�}n7t||j|j|j|j�}|j|���|j�D];\}}t|d|jd|j�}|j|��=|S�Nr)�items�popr<rr�append)�	old_group�	new_group�
statisticsr�stat�previouss      r�_compare_grouped_statsrPxs����J�$�?�?�,�
 ��	�4��=�=��D�1���� ��!%���D�I�I��
�
�,E�!%���T�Z�Z�(�.�.�-H�J�D�!��!%���D�I�I�!%���T�Z�Z�9�D�	���$��
 �%�?�?�,� ��	�4��Y��D�I�I�:�q�4�:�:�+�F�����$�� ��rc�X�eZdZdZdZd�Zed��Zed��Zd�Z	d�Z
d�Zd	�Zd
�Z
y)�Framez
    Frame of a traceback.
    ��_framec��||_yrrS�r�frames  rrzFrame.__init__�s	����rc� �|jdSrGrSr"s r�filenamezFrame.filename�����{�{�1�~�rc� �|jdS�N�rSr"s r�linenozFrame.lineno�rZrc�`�t|t�stS|j|jk(Sr�r%rRr&rTr's  rr)zFrame.__eq__��%���%��'�!�!����u�|�|�+�,rc�`�t|t�stS|j|jkSrr`r's  r�__lt__zFrame.__lt__�s%���%��'�!�!����e�l�l�*�+rc�,�t|j�Sr)r!rTr"s rr#zFrame.__hash__�����D�K�K� � rc�8�|j�d|j��S)N�:�rYr^r"s rr/z
Frame.__str__�s���-�-����5�5rc�<�d|j�d|j�d�S)Nz<Frame filename=z lineno=�>rhr"s rr1zFrame.__repr__�s��26�-�-����M�MrN)r5r6r7r8r9r�propertyrYr^r)rcr#r/r1r:rrrRrR�sU����I����������-�
,�
!�6�NrrRc�d�eZdZdZdZdd�Zed��Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zdd�Zy)�	Tracebackz`
    Sequence of Frame instances sorted from the oldest frame
    to the most recent frame.
    )�_frames�
_total_nframeNc�n�tj|�tt|��|_||_yr)rr�tuple�reversedrnro)r�frames�total_nframes   rrzTraceback.__init__�s+�����$��
�X�f�-�.���)��rc��|jSr)ror"s rrtzTraceback.total_nframe�s���!�!�!rc�,�t|j�Sr)�lenrnr"s r�__len__zTraceback.__len__�����4�<�<� � rc��t|t�rtd�|j|D��St	|j|�S)Nc3�2K�|]}t|����y�wr)rR��.0�traces  r�	<genexpr>z(Traceback.__getitem__.<locals>.<genexpr>������G�%��u��G���)r%�slicerqrnrR�r�indexs  r�__getitem__zTraceback.__getitem__��:���e�U�#��G�4�<�<��3F�G�G�G�����e�,�-�-rc�2�|j|jvSr)rTrnrVs  r�__contains__zTraceback.__contains__�����|�|�t�|�|�+�+rc�,�t|j�Sr)r!rnr"s rr#zTraceback.__hash__�s���D�L�L�!�!rc�`�t|t�stS|j|jk(Sr�r%rmr&rnr's  rr)zTraceback.__eq__�s%���%��+�!�!�����
�
�-�.rc�`�t|t�stS|j|jkSrr�r's  rrczTraceback.__lt__�s%���%��+�!�!����u�}�}�,�-rc��t|d�SrG)�strr"s rr/zTraceback.__str__�s���4��7�|�rc�n�dt|���}|j�|dz
}|S|d|j�d�z
}|S)Nz<Traceback rjz total_nframe=)rqrort)r�ss  rr1zTraceback.__repr__�sO���%��+��'�����%�
��H�A���
�>�$�"3�"3�!4�A�6�6�A��rc�R�g}|�|dkDr||d}n|d|}n|}|rt|�}|D]|}|jd|j�d|j���t	j
|j|j�j
�}|s�i|jd|z��~|S)Nrz  File "z", line z    %s)rrrJrYr^�	linecache�getline�strip)r�limit�most_recent_first�lines�frame_slicerW�lines       r�formatzTraceback.format�s��������q�y�"�E�6�7�m��"�6�E�l���K��"�;�/�K� �	.�E��L�L�!�N�N�E�L�L�:�
;��$�$�U�^�^�U�\�\�B�H�H�J�D�����X��_�-�	.��rr)NF)r5r6r7r8r9rrkrtrxr�r�r#r)rcr/r1r�r:rrrmrm�sT���-�I�*��"��"�!�.�,�"�/�
.�
��rrmc�4�t|�}|�t|�Sy)z�
    Get the traceback where the Python object *obj* was allocated.
    Return a Traceback instance.

    Return None if the tracemalloc module is not tracing memory allocations or
    did not trace the allocation of the object.
    N)rrm)�objrss  r�get_object_tracebackr�s"��#�3�
'�F�
���� � �rc�b�eZdZdZdZd�Zed��Zed��Zed��Z	d�Z
d�Zd	�Zd
�Z
y)�Tracez"
    Trace of a memory block.
    ��_tracec��||_yrr��rr~s  rrzTrace.__init__s����rc� �|jdSrGr�r"s r�domainzTrace.domainrZrc� �|jdSr\r�r"s rrz
Trace.sizerZrc�,�t|jdd�S)N�)rmr�r"s rrzTrace.traceback#s���$�+�+�a�b�/�*�*rc�`�t|t�stS|j|jk(Sr)r%r�r&r�r's  rr)zTrace.__eq__'rarc�,�t|j�Sr)r!r�r"s rr#zTrace.__hash__,rerc�L�|j�dt|jd���S)Nz: F)rrrr"s rr/z
Trace.__str__/s���>�>�<��	�	�5�+I�J�Jrc�j�d|j�dt|jd��d|j�d�S)Nz<Trace domain=z size=Fz, traceback=rj)r�rrrr"s rr1zTrace.__repr__2s(���;�;��T�Y�Y�� >����P�	QrN)r5r6r7r8r9rrkr�rrr)r#r/r1r:rrr�r�se����I��
���������+��+�-�
!�K�Qrr�c�0�eZdZd�Zd�Zd�Zd�Zd�Zd�Zy)�_Tracesc�<�tj|�||_yr)rr�_traces)r�tracess  rrz_Traces.__init__8s�����$����rc�,�t|j�Sr)rwr�r"s rrxz_Traces.__len__=ryrc��t|t�rtd�|j|D��St	|j|�S)Nc3�2K�|]}t|����y�wr)r�r|s  rrz&_Traces.__getitem__.<locals>.<genexpr>Br�r�)r%r�rqr�r�r�s  rr�z_Traces.__getitem__@r�rc�2�|j|jvSr)r�r�r�s  rr�z_Traces.__contains__Fr�rc�`�t|t�stS|j|jk(Sr)r%r�r&r�r's  rr)z_Traces.__eq__Is%���%��)�!�!�����
�
�-�.rc��dt|�zS)Nz<Traces len=%s>)rwr"s rr1z_Traces.__repr__Ns�� �3�t�9�,�,rN)	r5r6r7rrxr�r�r)r1r:rrr�r�7s ���
!�.�,�/�
-rr�c�p�tjj|�}|jd�r|dd}|S)Nz.pyc���)�os�path�normcase�endswith)rYs r�_normalize_filenamer�Rs4���w�w����)�H����� ��C�R�=���Orc��eZdZd�Zd�Zy)�
BaseFilterc��||_yr)�	inclusive)rr�s  rrzBaseFilter.__init__Zs	��"��rc��t�r)�NotImplementedErrorr�s  r�_matchzBaseFilter._match]s��!�!rN)r5r6r7rr�r:rrr�r�Ys��#�"rr�c�J��eZdZ	d�fd�	Zed��Zd�Zd�Zd�Zd�Z	�xZ
S)�Filterc�|��t�|�|�||_t|�|_||_||_||_yr)�superrr�r��_filename_patternr^�
all_framesr�)rr��filename_patternr^r�r��	__class__s      �rrzFilter.__init__bs:���
����#�"���!4�5E�!F������$�����rc��|jSr)r�r"s rr�zFilter.filename_patternks���%�%�%rc��t|�}tj||j�sy|j�y||jk(S)NFT)r��fnmatchr�r^�rrYr^s   r�_match_frame_implzFilter._match_frame_implos?��&�x�0�����x��)?�)?�@���;�;����d�k�k�)�*rc�B�|j||�|jzSr)r�r�r�s   r�_match_framezFilter._match_framexs!���%�%�h��7�t�~�~�;M�N�Nrc����jr-t�fd�|D��r�jS�jS|d\}}�j||�S)Nc3�H�K�|]\}}�j||����y�wr)r�)r}rYr^rs   �rrz*Filter._match_traceback.<locals>.<genexpr>}s*�����6�'�x���)�)�(�F�;�6�s�"r)r��anyr�r�)rrrYr^s`   r�_match_tracebackzFilter._match_traceback{sW����?�?��6�+4�6�6��~�~�%� �N�N�*�+�(��|��H�f��$�$�X�v�6�6rc��|\}}}}|j|�}|j�2|jr|xr||jk(S|xs||jk7S|Sr)r�r�r�)rr~r�rrrt�ress       rr�z
Filter._match�s^��05�-���i���#�#�I�.���;�;�"��~�~��6��$�+�+� 5�6��5�v����4�5��
r)NFN)r5r6r7rrkr�r�r�r�r��
__classcell__�r�s@rr�r�as4���7;���&��&�+�O�	7�rr�c�4��eZdZ�fd�Zed��Zd�Z�xZS)�DomainFilterc�2��t�|�|�||_yr)r�r�_domain)rr�r�r�s   �rrzDomainFilter.__init__�s���
����#���rc��|jSr)r�r"s rr�zDomainFilter.domain�s���|�|�rc�J�|\}}}}||jk(|jzSr)r�r�)rr~r�rrrts      rr�zDomainFilter._match�s+��05�-���i���$�+�+�%�d�n�n�*<�=�=r)r5r6r7rrkr�r�r�r�s@rr�r��s!��������>rr�c�N�eZdZdZd�Zd�Zed��Zd�Zd�Z	d�Z
dd�Zdd	�Zy
)�SnapshotzB
    Snapshot of traces of memory blocks allocated by Python.
    c�2�t|�|_||_yr)r�r��traceback_limit)rr�r�s   rrzSnapshot.__init__�s���f�o���.��rc��t|d�5}tj||tj�ddd�y#1swYyxYw)z1
        Write the snapshot into a file.
        �wbN)�open�pickle�dump�HIGHEST_PROTOCOL)rrY�fps   rr�z
Snapshot.dump�s;���(�D�
!�	;�R��K�K��b�&�"9�"9�:�	;�	;�	;�s	�&<�Ac�p�t|d�5}tj|�cddd�S#1swYyxYw)z.
        Load a snapshot from a file.
        �rbN)r�r��load)rYr�s  rr�z
Snapshot.load�s0��
�(�D�
!�	#�R��;�;�r�?�	#�	#�	#�s�,�5c�b��|rt�fd�|D��sy|rt�fd�|D��ryy)Nc3�@�K�|]}|j�����y�wr�r��r}�trace_filterr~s  �rrz)Snapshot._filter_trace.<locals>.<genexpr>�s$�����<�'�$�*�*�5�1�<�s�Fc3�B�K�|]}|j�����y�wrr�r�s  �rrz)Snapshot._filter_trace.<locals>.<genexpr>�s'�����8�#�$�*�*�5�1�1�8�s�T)r�)r�include_filters�exclude_filtersr~s   `r�
_filter_tracezSnapshot._filter_trace�s<�����<�+:�<�<����8�'6�8�8��rc���t|t�s!tdt|�jz��|rqg}g}|D]1}|j
r|j
|��!|j
|��3|jjD�cgc]}|j|||�r|��}}n$|jjj�}t||j�Scc}w)z�
        Create a new Snapshot instance with a filtered traces sequence, filters
        is a list of Filter or DomainFilter instances.  If filters is an empty
        list, return a new Snapshot instance with a copy of the traces.
        z)filters must be a list of filters, not %s)
r%r�	TypeError�typer5r�rJr�r�r��copyr�r�)r�filtersr�r�r�r~�
new_tracess       r�
filter_traceszSnapshot.filter_traces�s����'�8�,��G�"�7�m�4�4�5�6�
6�� �O� �O� '�
9���)�)�#�*�*�<�8�#�*�*�<�8�	
9�
.2�[�[�-@�-@�8�E�!�/�/��0?�05�7� �8�J�8�
���,�,�1�1�3�J��
�D�$8�$8�9�9��
8s�Cc�&�|dvrtd|����|r|dvrtd|z��i}i}|sZ|jjD]?}|\}}}}		||}
	||
}|xj
|z
c_|xjdz
c_�A|S|jjD]F}|\}}}}	|D]8}
	||
}
	||
}|xj
|z
c_|xjdz
c_�:�H|S#t$r1|dk(r|}n|dk(r|dd}n|dddff}t	|�}
|
||<Y��wxYw#t$rt|
|d�||
<Y��wxYw#t$r$|dk(r|
f}n|
ddff}t	|�}
|
||
<Y��wxYw#t$rt|
|d�||
<Y��wxYw)	N)rrYr^zunknown key_type: )r^rYz/cumulative mode cannot by used with key type %rrr^r]r)�
ValueErrorr�r��KeyErrorrmrrr)r�key_type�
cumulative�stats�
tracebacksr~r�r�trace_tracebackrtrrsrNrWs              r�	_group_byzSnapshot._group_by�s ���>�>��x�A�B�B��(�*@�@��0�2:�;�<�
<����
�����,�,�
E��>C�;���o�|�
<� *�?� ;�I�E� ��+�D��I�I��%�I��J�J�!�O�J�!
E�N��%���,�,�
I��>C�;���o�|�,�I�E�6�$.�u�$5�	�I�$�Y�/���	�	�T�)�	��
�
�a��
�I�
I�$���G �<��;�.�!0��!�X�-�!0��!�!4��#2�1�#5�a�#8�!�"<�!>�� )�&� 1�I�2;�J��/�<�� �E�'0��D�!�'D�E�)�$�E��$�6�#�x�/�&+�X�F�',�Q�x��m�%5�F�$-�f�$5�	�,5�
�5�)�
6��$�I�+4�Y��a�+H��i�(�I�sH�C(�/D%�-E�3/E4�(7D"�!D"�%E�E�*E1�0E1�4F�Fc��|j||�}t|j��}|jdtj
��|S)zd
        Group statistics by key_type. Return a sorted list of Statistic
        instances.
        T��reverse�key)r
�list�values�sortrr3)rrr�groupedrMs     rrMzSnapshot.statisticssA��
�.�.��:�6���'�.�.�*�+�
�����)�*=�*=��>��rc��|j||�}|j||�}t||�}|jdtj��|S)z�
        Compute the differences with an old snapshot old_snapshot. Get
        statistics as a sorted list of StatisticDiff instances, grouped by
        group_by.
        Tr)r
rPrr<r3)r�old_snapshotrrrLrKrMs       r�
compare_tozSnapshot.compare_tosN���N�N�8�Z�8�	� �*�*�8�Z�@�	�+�I�y�A�
�����-�*A�*A��B��rN)F)
r5r6r7r8rr��staticmethodr�r�rr
rMrr:rrr�r��s?���/�;��#��#�	�:�21�f�
rr�c�l�t�std��t�}t�}t	||�S)zI
    Take a snapshot of traces of memory blocks allocated by Python.
    zLthe tracemalloc module must be tracing memory allocations to take a snapshot)�
is_tracing�RuntimeErrorr�get_traceback_limitr�)r�r�s  r�
take_snapshotr's7���<��<�=�	=�
�]�F�)�+�O��F�O�,�,r)�collections.abcrr�	functoolsrr�r��os.pathr�r��_tracemallocrrrrr<rPrRrmr�r�r�r�r�r�r�r�rr:rr�<module>r s���.�$����
��;��"%7�%7�P/ �/ �d�(�#N�#N��#N�L�J��J��J�Z�$Q�$Q�N-�h�-�6�"�"�-�Z�-�`>�:�>�E�E�P	-r
Hacker Blog, Shell İndir, Sql İnjection, XSS Attacks, LFI Attacks, Social Hacking, Exploit Bot, Proxy Tools, Web Shell, PHP Shell, Alfa Shell İndir, Hacking Training Set, DDoS Script, Denial Of Service, Botnet, RFI Attacks, Encryption
Telegram @BIBIL_0DAY