CasperSecurity

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

�

0�iKu���dZdZdZdZdZdZdZdZdZdd	l	Z	dd	l
Z
dd	lZdd	lZdd
l�gd�Z
d�Z	dd
lmZmZmZd�Zd�Zd�Zd�Zd�Zd�Zd�Zej<je_d�Zd�Z e!e	jDd�rd�Z#nd�Z#d�Z$	ddl%m&Z&d�Z'd�Z(dZ)d	a*d	a+d �Z,	dd!l%m-Z-d"�Z.d$�Z/	dd%l%m0Z0d&�Z1	dd'l%m2Z2m3Z4e5fd(�Z6e5fd)�Z7d*d+�d,�Z8d.Z9d8d/�Z:d0�Z;	dd1l%m<Z=dd2l%m>Z?dd3l%m@ZAdd4l%mBZC	dd5l%mDZDd6�ZEy	#e$rd�ZY��wxYw#e$rd	Z&Y��wxYw#e$rd#�Z.Y�xwxYw#e$re/Z1Y�xwxYw#e$r	d*d+�d-�Z8Y�pwxYw#e$rY�YwxYw#e$rd7�ZEYy	wxYw)9z�Common pathname manipulations, WindowsNT/95 version.

Instead of importing this module directly, import os and refer to this
module as os.path.
�.�..�\�;�/z.;C:\bin�nul�N)�*))�normcase�isabs�join�
splitdrive�	splitroot�split�splitext�basename�dirname�commonprefix�getsize�getmtime�getatime�getctime�islink�exists�lexists�isdir�isfile�ismount�
expanduser�
expandvars�normpath�abspath�curdir�pardir�sep�pathsep�defpath�altsep�extsep�devnull�realpath�supports_unicode_filenames�relpath�samefile�sameopenfile�samestat�
commonpath�
isjunction�
ALLOW_MISSINGc�&�t|t�ryy)N�\/�\/)�
isinstance�bytes��paths �/usr/lib/python3.12/ntpath.py�
_get_bothsepsr;$s���$�����)�
LCMapStringEx�LOCALE_NAME_INVARIANT�LCMAP_LOWERCASEc�X�tj|�}|s|St|t�r]t	j
�}|j
|d�jdd�}ttt|�}|j|d�Sttt|jdd��S)�nNormalize case of pathname.

        Makes all characters lowercase and all slashes into backslashes.
        �surrogateescaperr)�os�fspathr6r7�sys�getfilesystemencoding�decode�replace�_LCMapStringEx�_LOCALE_NAME_INVARIANT�_LCMAP_LOWERCASE�encode)�s�encodings  r:r
r
4s���

�I�I�a�L����H��a����0�0�2�H�����#4�5�=�=�c�4�H�A��5�/��4�A��8�8�H�&7�8�8�!�"8�"2�"#�)�)�C��"6�8�
8r<c��tj|�}t|t�rFtjtj
|�j
dd�j��S|j
dd�j�S)rArr)rCrDr6r7�fsencode�fsdecoderH�lower)rMs r:r
r
Gsb��

�I�I�a�L���a����;�;�r�{�{�1�~�5�5�c�4�@�F�F�H�I�I��y�y��d�#�)�)�+�+r<c���tj|�}t|t�rd}d}d}nd}d}d}|ddj	||�}|j|�s|j|d	�ry
y)zTest whether a path is absolute�\�/s:\rrz:\N��TF)rCrDr6r7rH�
startswith)rMr$r'�	colon_seps    r:rrXsn��
�	�	�!��A��!�U�������	������	�	�"�1��
�
�f�c�"�A�	�|�|�C��A�L�L��A�6��r<c�8�tj|�}t|t�rd}d}d}nd}d}d}	|s|dd|zt	|�\}}}ttj|�D]b}t	|�\}	}
}|
r|	s|s|	}|
}|}�|	r/|	|k7r*|	j
�|j
�k7r|	}|
}|}�N|	}|r|d|vr||z}||z}�d|r|s|r|dd||zvr||z|zS||z|zS#tttf$rtjd	|g|����wxYw)
NrTr4�:rr5�:r���r)rCrDr6r7r�maprR�	TypeError�AttributeError�BytesWarning�genericpath�_check_arg_types)r9�pathsr$�seps�colon�result_drive�result_root�result_path�p�p_drive�p_root�p_paths            r:rrlsd��
�9�9�T�?�D��$���������������!����!�H�s�N�1:�4��.��k�;��R�Y�Y��&�	/�A�&/��l�#�G�V�V���,�#*�L�$��$����W��4��=�=�?�l�&8�&8�&:�:�#*�L�"(�K�"(�K��&���{�2��d�:�)�C�/��%��.�K�+	/�.
���\�"�#�.�e�d�l�B��#�%��3�3��k�)�K�7�7���~�|�4���$�$�V�T�:�E�:�
��s�B/C,�$C,�,-Dc�.�t|�\}}}|||zfS)a�Split a pathname into drive/UNC sharepoint and relative path specifiers.
    Returns a 2-tuple (drive_or_unc, path); either part may be empty.

    If you assign
        result = splitdrive(p)
    It is always true that:
        result[0] + result[1] == p

    If the path contained a drive letter, drive_or_unc will contain everything
    up to and including the colon.  e.g. splitdrive("c:/dir") returns ("c:", "/dir")

    If the path contained a UNC path, the drive_or_unc will contain the host name
    and share up to but not including the fourth directory separator character.
    e.g. splitdrive("//host/computer/dir") returns ("//host/computer", "/dir")

    Paths cannot contain both a drive letter and a UNC path.

    )r)rj�drive�root�tails    r:r
r
�s#��&"�!���E�4���$��+��r<c��tj|�}t|t�rd}d}d}d}d}n
d}d}d}d	}d
}|j	||�}|dd|k(r||dd
|k(ri|ddj�|k(rdnd
}|j
||�}|dk(r|||fS|j
||dz�}	|	dk(r|||fS|d|	||	|	dz||	dzdfS||dd|ddfS|dd
|k(r!|d
d|k(r|dd
|d
d|ddfS|dd
||d
dfS|||fS)a�Split a pathname into drive, root and tail. The drive is defined
    exactly as in splitdrive(). On Windows, the root may be a single path
    separator or an empty string. The tail contains anything after the root.
    For example:

        splitroot('//server/share/') == ('//server/share', '/', '')
        splitroot('C:/Users/Barney') == ('C:', '/', 'Users/Barney')
        splitroot('C:///spam///ham') == ('C:', '/', '//spam///ham')
        splitroot('Windows/notepad') == ('', '', 'Windows/notepad')
    rTrUr[�\\?\UNC\r<rrr\�\\?\UNC\�NrW��r]rV)rCrDr6r7rH�upper�find)
rjr$r'rf�
unc_prefix�empty�normp�start�index�index2s
          r:rr�s���	�	�	�!��A��!�U��������$�
���������#�
���
�I�I�f�c�"�E��R�a�y�C����1�:����r�����*�j�8�A�a�E��J�J�s�E�*�E���{��%���&��Z�Z��U�Q�Y�/�F���|��%���&��W�f�:�q����
�3�Q�v��z�{�^�C�C��!�B�Q�%��1�2��&�&�	�q���u�	���1�:����R�a�5�!�A�a�&�!�A�B�%�'�'��R�a�5�%��1�2��&�&��e�Q��r<c��tj|�}t|�}t|�\}}}t	|�}|r||dz
|vr|dz}|r||dz
|vr�|d|||d}}||z|j|�z|fS)z~Split a pathname.

    Return tuple (head, tail) where tail is everything after the final slash.
    Either part may be empty.rWN)rCrDr;r�len�rstrip)rjre�d�r�i�headrqs       r:rr�s���
	�	�	�!��A����D���l�G�A�q�!��A��A�
��!�A�#��d�"�	�Q�����!�A�#��d�"��2�A���!�"��$�D��q�5�4�;�;�t�$�$�d�*�*r<c��tj|�}t|t�rt	j
|ddd�St	j
|ddd�S)NrTrU�.rrr)rCrDr6r7rb�	_splitext�rjs r:rrsG��
�	�	�!��A��!�U���$�$�Q��t�T�:�:��$�$�Q��c�3�7�7r<c��t|�dS)z)Returns the final component of a pathnamerW�rr�s r:rr
�����8�A�;�r<c��t|�dS)z-Returns the directory component of a pathnamerr�r�s r:rrr�r<�st_reparse_tagc��	tj|�}t|jtjk(�S#tttf$rYywxYw�z!Test whether a path is a junctionF)	rC�lstat�OSError�
ValueErrorr`�boolr��stat�IO_REPARSE_TAG_MOUNT_POINT�r9�sts  r:r1r1sM��	����$��B��B�%�%��)H�)H�H�I�I����^�4�	��	�s�=�A�Ac�.�tj|�yr�)rCrDr8s r:r1r1$s��
�	�	�$��r<c�Z�	tj|�}y#ttf$rYywxYw)zCTest whether a path exists.  Returns True for broken symbolic linksFT)rCr�r�r�r�s  r:rr,s2���
�X�X�d�^����
�Z� ����s��*�*)�_getvolumepathnamec�>�tj|�}t|�}t|�}t	|�\}}}|r
|d|vr|S|r|syt
rL|j
|�}t|�j
|�}|j�|j�k(Sy)zaTest whether a path is a mount point (a drive root, the root of a
    share, or a mounted volume)rTF)rCrDr;r!rr�r��casefold)r9rerorp�rest�x�ys       r:rrBs����9�9�T�?�D����D��4�=�D�!�$���E�4����q��T�!��x���D����K�K�����d�#�*�*�4�0���z�z�|�q�z�z�|�+�+�r<c�8�tj|�}t|t�rd}nd}|j	|�s|Sdt|�}}||kr+||t
|�vr|dz
}||kr||t
|�vr�dtjvrtjd}nEdtjvr|S	tjd}t|tjd�}|dk7rs|d|}t|t�rtj|�}tjjd�}||k7r%|t|�k7r|Stt|�|�}t|t�rtj|�}|||d	zS#t$rd}Y��wxYw)
zLExpand ~ and ~user constructs.

    If user or $HOME is unknown, do nothing.�~�~rW�USERPROFILE�HOMEPATH�	HOMEDRIVEru�USERNAMEN)rCrDr6r7rXr�r;�environ�KeyErrorrrQ�getrrrP)r9�tilder��n�userhomero�target_user�current_users        r:rr_s{���9�9�T�?�D��$��������?�?�5�!����c�$�i�q�A�
�a�%�D��G�=��#6�6�	�Q����a�%�D��G�=��#6�6���
�
�"��:�:�m�,��
�2�:�:�
%���	��J�J�{�+�E���r�z�z�*�5�6���A�v��1�Q�i���k�5�)��+�+�k�2�K��z�z�~�~�j�1���,�&��x��1�1����G�H�-�{�;�H��$����;�;�x�(���d�1�2�h����/�	��E�	�s�6F�F�Fz.'[^']*'?|%(%|[^%]*%?)|\$(\$|[-\w]+|\{[^}]*\}?)c�
������tj|�}t|t�rld|vrd|vr|Sts<ddl}|j
tj�|j�jat}d�d�d�d�ttdd��n\d|vrd	|vr|Sts.ddl}|j
t|j�jat}d	�d
�d�d�tj������fd�}|||�S)
zfExpand shell variables of the forms $var, ${var} and %var%.

    Unknown variables are left unchanged.�$�%rN�{�}�environb�$�%�{�}c���|j}|�|dS||}|dk(r#|�k(r|S|j��s|dS|dd}n3|�k(r|S|j��r|j��s|dS|dd}	��9tjtj
tj|��S�|S#t$r|dcYSwxYw)NrrWr])�	lastindex�endswithrXrCrPr�rQr�)�mr��name�brace�dollarr��percent�rbraces   �����r:�replzexpandvars.<locals>.repl�s�����K�K�	����Q�4�K���|����>��w�����=�=��)���t�����9�D��v�~������u�%��}�}�V�,��Q�4�K��A�b�z��	����{�{�2�:�:�b�k�k�$�.?�#@�A�A��t�}�$���	��Q�4�K�	�s�6:B6�1B6�6C�C)rCrDr6r7�_varsubb�re�compile�_varpatternrL�ASCII�sub�getattr�_varsubr�)	r9r�r�r�r�r�r�r�r�s	    @@@@@r:rr�s�����9�9�T�?�D��$����t���D� 0��K����z�z�+�"4�"4�"6����A�E�E�H������������"�j�$�/���d�?�s�$���K����j�j��b�h�h�7�;�;�G������������*�*����6�t�T�?�r<)�_path_normpathc���tj|�}t|t�r5tjttj|���xsdSt|�xsdS)�0Normalize path, eliminating double slashes, etc.r�r)rCrDr6r7rPr�rQr8s r:r r 	sK���y�y�����d�E�"��;�;�~�b�k�k�$�.?�@�A�I�T�I��d�#�*�s�*r<c��tj|�}t|t�r	d}d}d}d}nd}d}d}d}|j	||�}t|�\}}}||z}|j
|�}d	}	|	t|�kr_||	r||	|k(r||	=n?||	|k(r2|	d	kDr||	d
z
|k7r||	d
z
|	d
z�=|	d
z}	n|	d	k(r|r||	=n|	d
z
}	n|	d
z
}	|	t|�kr�_|s|s|j|�||j|�zS)r�rTrUr��..rrrrrrW)
rCrDr6r7rHrrr��appendr)
r9r$r'r"r#rorp�prefix�compsr�s
          r:r r �s3���y�y�����d�E�"��C��F��F��F��C��F��F��F��|�|�F�C�(��%�d�O���t�T������
�
�3���
���#�e�*�n���8�u�Q�x�6�1��!�H��q��V�#��q�5�U�1�Q�3�Z�6�1��a��c�!�A�#�g����F�A��!�V���a����F�A��Q����#�e�*�n��e��L�L�� �������'�'r<c���tj|�}t|�sEt|t�rtj
�}ntj�}t||�}t|�S)z�Return the absolute version of a path as a fallback function in case
    `nt._getfullpathname` is not available or raises OSError. See bpo-31047 for
    more.

    )	rCrDrr6r7�getcwdb�getcwdrr )r9�cwds  r:�_abspath_fallbackr�sM���9�9�T�?�D���;��d�E�"��*�*�,�C��)�)�+�C��C�����D�>�r<)�_getfullpathnamec�l�	tt|��S#ttf$rt	|�cYSwxYw)z&Return the absolute version of a path.)r�r r�r�r�r8s r:r!r!)s5��	+�#�H�T�N�3�3����$�	+�$�T�*�*�	+�s��3�3)�_getfinalpathname�readlinkc�p�d}t�}t|�|vro|jt|��	|}t|�}t	|�s.t|�s|}	|St
tt|�|��}t|�|vr�o|S#|$r}|j|vrYd}~|S�d}~wt$rY|SwxYw)N)rWrvrV��� �2�C�Wi&i(i))�setr
�add�_nt_readlinkrrr rr�winerrorr�)r9�
ignored_error�allowed_winerror�seen�old_path�exs      r:�_readlink_deepr�7s���L���u���t�n�D�(��H�H�X�d�^�$�
���#�D�)���T�{�"�(�+�'�����$�D���):�D�$A�B�D��t�n�D�(�,���!�
��;�;�"2�2��
��	���
����
�s)�%B�B�B5�B%�$B%�%B5�4B5c�Z�d}|dd}|r	t|�}|rt||�S|S|S#|$ry}|j|vr�	t||��}||k7r|rt||�n|cYd}~Sn#|$rYnwxYwt	|�\}}|r|s
||zcYd}~S|rt||�n|}Yd}~nd}~wwxYw|r����)N)rWrvrVr�r�r�r��5�Ar�r��{�i�i�r�r�)r�rr�r�r)r9r�r�rqr��new_pathr�s       r:�_getfinalpathname_nonstrictr�as���$X���B�Q�x���
:�(��.��+/�t�D�$�'�9�T�9�,���+!�
:��;�;�&6�6��
� .�d�<I� K�H��4�'�7;�t�H�d�3��I�(��$�����#�4�[�
��d����$�;�&�+/�t�D�$�'�T���)
:��	�sM�(�(�B&�B!�!A%�B&�$B!�%A-�*B!�,A-�-B!�B&�B!�!B&F)�strictc��t|�}t|t�rId}d}d}tj�}t|�ttjt��k(r7yd}d}d}tj�}t|�tt�k(ry|j|�}|tur	t}d	}n|rd
}nt}|st|�st||�}	t|�}d}|sU|j|�rD|j|�r||t)|�dz}
n|t)|�d}
	t|
�|k(r|
}|S|S#t $r,}	|rtt#|	��d�t|�}Yd}	~	��d}	~	w|$r#}	|	j$}t'||��}Yd}	~	��d}	~	wwxYw#t $r}	Yd}	~	|Sd}	~	wt$r}	|	j$k(r|
}Yd}	~	|Sd}	~	wwxYw)
Ns\\?\rss\\s\\.\NULz\\?\rtz\\z\\.\NULT�rr�)r r6r7rCr�r
rPr)r�rXr2�FileNotFoundErrorr�rrr�r��strr�r�r�)r9r�r�rz�new_unc_prefixr��
had_prefixr��initial_winerrorr��spaths           r:r*r*�s�����~���d�E�"��F�(�J�$�N��*�*�,�C���~��"�+�+�g�*>�!?�?�$��F�'�J�#�N��)�)�+�C���~��'�!2�2�#��_�_�V�,�
��]�"�-�M��F�
��M�#�M��%��+���T�?�D�	L�$�T�*�D� �� �d�o�o�f�5����z�*�&��c�*�o�.>�)?�?���S��[�\�*��
!�$�U�+�t�3� �D���t���G�	"�
��c�"�g�&�D�0��D�>�D���	L�!�{�{��.�t�=J�L�D��	L��$�
������
!��;�;�"2�2� �D�����
!�sB�"
E�4F&�	F#�"E8�8F#�F�F#�&	G�5G�G�Gc��t|�S�N)r!)r9r�s  r:r*r*4s���t�}�r<Tc�L�tj|�}t|t�rd}d}d}nd}d}d}|�|}|st	d��tj|�}	tt
|��}tt
|��}t|�\}}}	t|�\}
}}t|�t|
�k7rt	d	|
�d
|����|	j|�D�cgc]}|s�|��	}
}|j|�D�cgc]}|s�|��	}}d}t|
|�D]#\}}t|�t|�k7rn|dz
}�%|gt|
�|z
z||dz}|s|St|�Scc}wcc}w#ttttt f$rt#j$d
||��wxYw)z#Return a relative version of a pathrTr�r�rrrNzno path specifiedzpath is on mount z, start on mount rrWr,)rCrDr6r7r�r!r rr
r�zipr�rr_r`ra�DeprecationWarningrbrc)r9r}r$r"r#�	start_abs�path_abs�start_drive�_�
start_rest�
path_drive�	path_restr��
start_list�	path_listr��e1�e2�rel_lists                   r:r,r,�s���
�9�9�T�?�D��$����������������}�����,�-�-��I�I�e��E���H�U�O�,�	��8�D�>�*��%.�y�%9�"��Q�
�#,�X�#6� �
�A�y��K� �H�Z�$8�8���K�)�*�
*�",�!1�!1�#�!6�<�A�!�a�<�
�<� )���� 4�:�1��Q�:�	�:�
���*�i�0�	�F�B����|�x��|�+��
��F�A�	�
�8�s�:��q�0�1�I�a�b�M�A����M��X����=��:��
�z�>�<�AS�T���$�$�Y��e�<�
��s>�BE,�E"�#E"�'E,�<E'�E'�AE,�E,�"
E,�,7F#c
�`�|std��tttj|��}t|dt�rd}d}d}nd}d}d}	|D�cgc]+}t|j||�j����-}}|D���cgc]\}}}|j|���}}}}t|D���chc]\}}}|��
c}}}�d	k7rtd
��t|D���chc]\}}}|��
c}}}�d	k7rtd��t|dj||��\}	}
}|j|�}|D�
cgc]
}
|
s�|
|k7s�|
��}}
|D��
cgc]}|D�
cgc]
}
|
s�|
|k7s�|
��c}
��}}}
t|�}t|�}t|�D]\}}
|
||k7s�|d|}n|dt|�}|	|
z|j|�zScc}wcc}}}wcc}}}wcc}}}wcc}
wcc}
wcc}
}w#t t"f$rt%j&d
g|����wxYw)zDGiven a sequence of path names, returns the longest common sub-path.z%commonpath() arg is an empty sequencerrTrUr�rrrrWz%Can't mix absolute and relative pathszPaths don't have the same driveNr0)r��tupler^rCrDr6r7rrHrRrr��min�max�	enumeraterr_r`rbrc)rdr$r'r"rj�drivesplitsr�r��split_pathsrorpr9�common�crM�s1�s2r�s                  r:r0r0s+����@�A�A��#�b�i�i��'�(�E��%��(�E�"��������������JO�P�Q�y����6�3�!7�!=�!=�!?�@�P��P�3>�?�?���1�a�q�w�w�s�|�?��?���-�-�g�a��A��-�.�!�3��D�E�E�
��-�-�g�a��A��-�.�!�3��>�?�?�%�e�A�h�&6�&6�v�s�&C�D���t�T����C���#�9��q�Q�&�[�!�9��9�DO�P�q�1�:�a��a�6�k��:�P��P�
��
��
��
���b�M�	&�D�A�q��B�q�E�z�������	&�
�H�S��W�%�F��t�|�c�h�h�v�.�.�.��5Q��?��-��.��
:��:��P��
�~�&���$�$�\�:�E�:�
��s��H�0G�H�G!�*H�9
G(�"H�(
G/�5AH�G6�G6�G6�H�	H�%G;�-G;�3G;�7H�<2H�/,H�H�;H�H�'H-)�_path_isdir)�_path_isfile)�_path_islink)�_path_exists)�_path_isdevdrivec�J�	tt|��S#t$rYywxYw�z@Determines whether the specified path is on a Windows Dev Drive.F)r r!r�r8s r:�
isdevdriver#[s(��	�#�G�D�M�2�2���	��	�s��	"�"c��yr"r�r8s r:r#r#Vs��r<r)F�__doc__r"r#r(r$r%r'r&r)rCrEr�rb�__all__r;�_winapir=rIr>rJr?rKr
�ImportErrorrrr
rrrr�rr�hasattr�stat_resultr1r�ntr�rrr�r�r�rr�r r�r�r!r�r�r�r�r�r�r*r+r,r0rrrrrrrrr r#r�r<r:�<module>r,s���

��	
��	��
��

��	��
��
��	�
�������!,�-�-�
8�H�(+�b�.1�r
+�*8��(�(�0�0���
���2�>�>�+�,�J���$�%��:-�z@��
����:�@.+�!�P+��"+�#�+�g�>�,3�(�T9@�0�d"'�D�P"��+�p.�b
	�(�)�)�)�
�#���k�	,�,�	,��t������F�#(�"(�#(��D� ��G� ����!&����x�	��	������s}�
D�D�$D�1D)�;D6�E�6E�D�
D�D�D�D&�%D&�)D3�2D3�6E�E�E�E�E�E
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