CasperSecurity

Current Path : /snap/core20/current/usr/lib/python3.8/__pycache__/
Upload File :
Current File : //snap/core20/current/usr/lib/python3.8/__pycache__/ntpath.cpython-38.pyc

U

�@i�d�&@s4dZdZdZdZdZdZdZdZdZdd	l	Z	dd	l
Z
dd	lZdd	lZdd
lTddd
ddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0g&Z
d1d2�Zd3d�Zd4d�Zd5d
�Zd6d�Zd7d�Zd8d�Zejje_d9d�Zd:d�Zd;d�Zd<d�Zzdd=lmZWnek
�r(d	ZYnXd>d�Zd?d�Zd@Zd	a d	a!dAd�Z"dBd �Z#dCdD�Z$zddElm%Z%Wnek
�r�e$Z&Yn
XdFd!�Z&zddGlm'Z'm(Z)Wnek
�r�e&Z*YnXdHdI�Z+dJdK�Z,dLd*�Z*e-e
dM��o�e
�.�dNdOkZ/dSdPd,�Z0dQd0�Z1zddRlm2Z3Wnek
�r.YnXd	S)Tz�Common pathname manipulations, WindowsNT/95 version.

Instead of importing this module directly, import os and refer to this
module as os.path.
�.�..�\�;�/z.;C:\binZnul�N)�*�normcase�isabs�join�
splitdrive�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�
commonpathcCst|t�rdSdSdS)N�\/�\/)�
isinstance�bytes��path�r4�/usr/lib/python3.8/ntpath.py�
_get_bothseps"s
r6cCs8t�|�}t|t�r$|�dd���S|�dd���SdS)zaNormalize case of pathname.

    Makes all characters lowercase and all slashes into backslashes.�/�\rrN)�os�fspathr0r1�replace�lower��sr4r4r5r,s

cCsjt�|�}t|t�r,|�dd��d�rBdSn|�dd��d�rBdSt|�d}t|�d	koh|d	t|�kS)
zTest whether a path is absoluter7r8�\\?\Trr�\\?\�r)	r9r:r0r1r;�
startswithr�lenr6r=r4r4r5r	=s

c

GsTt�|�}t|t�r"d}d}d}nd}d}d}z�|sD|dd�|t|�\}}ttj|�D]~}t|�\}}	|	r�|	d|kr�|s�|s�|}|	}q\n*|r�||kr�|��|��kr�|}|	}q\|}|r�|d|kr�||}||	}q\|�r|d|k�r|�r|dd�|k�r|||WS||WSttt	fk
�rNt
jd	|f|���YnXdS)
Nr8r.�:rr/�:r���r
)r9r:r0r1r�mapr<�	TypeError�AttributeError�BytesWarning�genericpath�_check_arg_types)
r3�pathsr!�seps�colonZresult_driveZresult_path�pZp_driveZp_pathr4r4r5r
MsL


��
cCst�|�}t|�dk�rt|t�r0d}d}d}nd}d}d}|�||�}|dd�|dkr�|dd	�|kr�|�|d�}|d
kr�|dd�|fS|�||d�}||dkr�|dd�|fS|d
kr�t|�}|d|�||d�fS|dd�|k�r|dd�|dd�fS|dd�|fS)
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.

    �r8r7rDrrrEr�rFNrA)r9r:rCr0r1r;�find)rPr!r$rOZnormp�indexZindex2r4r4r5r|s.

$cCsxt�|�}t|�}t|�\}}t|�}|rD||d|krD|d8}q&|d|�||d�}}|�|�pj|}|||fS)z~Split a pathname.

    Return tuple (head, tail) where tail is everything after the final slash.
    Either part may be empty.rAN)r9r:r6rrC�rstrip)rPrN�d�i�head�tailr4r4r5r�s

cCs8t�|�}t|t�r$t�|ddd�St�|ddd�SdS)Nr8r7�.rrr)r9r:r0r1rK�	_splitext�rPr4r4r5r
�s

cCst|�dS)z)Returns the final component of a pathnamerA�rr\r4r4r5r�scCst|�dS)z-Returns the directory component of a pathnamerr]r\r4r4r5r�sc
Cs8zt�|�}Wntttfk
r*YdSXt�|j�S)zhTest whether a path is a symbolic link.
    This will always return false for Windows prior to 6.0.
    F)r9�lstat�OSError�
ValueErrorrI�stat�S_ISLNK�st_mode�r3�str4r4r5r�s
c	Cs.zt�|�}Wnttfk
r(YdSXdS)zCTest whether a path exists.  Returns True for broken symbolic linksFT)r9r^r_r`rdr4r4r5r�s
)�_getvolumepathnamecCstt�|�}t|�}t|�}t|�\}}|rD|d|krD|pB||kS||krPdStrl|�|�t|��|�kSdSdS)zaTest whether a path is a mount point (a drive root, the root of a
    share, or a mounted volume)rTFN)r9r:r6rrrfrU)r3rN�root�restr4r4r5rs
cCs�t�|�}t|t�rd}nd}|�|�s,|Sdt|�}}||kr\||t|�kr\|d7}q:dtjkrrtjd}nFdtjkr�|Sztjd}Wntk
r�d}YnXt	|tjd�}t|t�r�t�
|�}|dkr�t	t|�|d|��}|||d�S)	zLExpand ~ and ~user constructs.

    If user or $HOME is unknown, do nothing.�~�~rAZUSERPROFILEZHOMEPATHZ	HOMEDRIVE�N)r9r:r0r1rBrCr6�environ�KeyErrorr
�fsencoder)r3�tilderW�n�userhome�driver4r4r5r!s.








z.'[^']*'?|%(%|[^%]*%?)|\$(\$|[-\w]+|\{[^}]*\}?)cs�t�|�}t|t�rjd|kr(d|kr(|StsHddl}|�t��|j	�j
at}d�d�d�d�ttdd��nJd|kr~d	|kr~|Sts�ddl}|�t|j	�j
at}d	�d
�d�d�tj
������fdd
�}|||�S)zfExpand shell variables of the forms $var, ${var} and %var%.

    Unknown variables are left unchanged.�$�%rN�{�}�environb�$�%�{�}cs�|j}|dkr|dS||}|dkrR|�kr2|S|���sD|dS|dd�}n4|�kr^|S|���r�|���sz|dS|dd�}z.�dkr�t�tjt�|��WS�|WSWntk
r�|dYSXdS)NrrArF)�	lastindex�endswithrBr9rnrl�fsdecoderm)�mr|�name�ZbraceZdollarrlZpercentZrbracer4r5�replts,


zexpandvars.<locals>.repl)r9r:r0r1�_varsubb�re�compile�_varpattern�encode�ASCII�sub�getattr�_varsubrl)r3r�r�r�r4r�r5rUs4

c	CsPt�|�}t|t�r*d}d}d}d}d}nd}d}d}d	}d
}|�|�rL|S|�||�}t|�\}}|�|�r�||7}|�|�}|�|�}d}|t	|�k�r,||r�|||kr�||=q�|||k�r"|dkr�||d|kr�||d|d�=|d8}n&|dk�r|�
|��r||=n|d7}q�|d7}q�|�sB|�sB|�|�||�|�S)
z0Normalize path, eliminating double slashes, etc.r8r7rZ�..)s\\.\r?rrrr)z\\.\r@rrA)
r9r:r0r1rBr;r�lstriprrCr}�appendr
)	r3r!r$rr Zspecial_prefixes�prefix�compsrWr4r4r5r�sF









cCs@t�|�}t|�s8t|t�r&t��}nt��}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.

    )	r9r:r	r0r1�getcwdb�getcwdr
r)r3�cwdr4r4r5�_abspath_fallback�s



r�)�_getfullpathnamec	Cs4ztt|��WSttfk
r.t|�YSXdS)z&Return the absolute version of a path.N)rr�r_r`r�r2r4r4r5r�s)�_getfinalpathname�readlinkc
Cs�d}t�}t|�|kr�|�t|��z:|}t|�}t|�s\t|�sJ|}Wq�ttt|�|��}Wq
t	k
r�}z|j
|kr�WY�q��W5d}~XYq
tk
r�Yq�Yq
Xq
|S)N)rArQrR��� �2�C�Wi&i(i))�setr�add�_nt_readlinkr	rrr
rr_�winerrorr`)r3�allowed_winerror�seenZold_path�exr4r4r5�_readlink_deep�s&
r�cCs�d}d}|r�zt|�}|r$t||�n|WStk
r�}z�|j|krF�z0t|�}||krt|rft||�n|WWY�TSWntk
r�YnXt|�\}}|r�|s�||WY�S|r�t||�n|}W5d}~XYqXq|S)N)rArQrRr�r�r�r�r�r��{i�i�rk)r�r
r_r�r�r)r3r�rYr��new_pathr�r4r4r5�_getfinalpathname_nonstricts(
 &r�c	
Cs^t|�}t|t�rBd}d}d}t��}t|�tt�t��krjdSn(d}d}d}t��}t|�tt�krjdS|�	|�}|s�t
|�s�t||�}zt|�}d	}Wn0t
k
r�}z|j}t|�}W5d}~XYnX|�sZ|�	|��rZ|�	|�r�||t|�d�}n|t|�d�}zt|�|k�r"|}Wn4t
k
�rX}z|j|k�rH|}W5d}~XYnX|S)
Nr?s\\?\UNC\s\\s\\.\NULr@z\\?\UNC\z\\z\\.\NULr)rr0r1r9r�rrnr&r�rBr	r
r�r_r�r�rC)	r3r�Z
unc_prefixZnew_unc_prefixr�Z
had_prefixZinitial_winerrorr�Zspathr4r4r5r'EsD



�getwindowsversionrRrQcCsft�|�}t|t�r"d}d}d}nd}d}d}|dkr:|}|sFtd��t�|�}z�tt|��}tt|��}t|�\}}t|�\}	}
t|�t|	�kr�td	|	|f��d
d�|�	|�D�}dd�|
�	|�D�}d
}
t
||�D]$\}}t|�t|�kr�q�|
d7}
q�|gt|�|
||
d�}|�s(|WSt|�WSt
ttttfk
�r`t�d||��YnXdS)z#Return a relative version of a pathr8rZr�rrrNzno path specifiedz&path is on mount %r, start on mount %rcSsg|]}|r|�qSr4r4��.0�xr4r4r5�
<listcomp>�szrelpath.<locals>.<listcomp>cSsg|]}|r|�qSr4r4r�r4r4r5r��srrAr))r9r:r0r1r`rrrrr�ziprCr
rHrIrJ�DeprecationWarningrKrL)r3�startr!rr Z	start_absZpath_absZstart_driveZ
start_restZ
path_driveZ	path_rest�
start_list�	path_listrWZe1Ze2�rel_listr4r4r5r)zsJ


�

c	s�|std��tttj|��}t|dt�r8d�d�d�nd�d�d��z@��fd	d
�|D�}�fdd
�|D�}zt�fdd
�|D��\}Wntk
r�td�d�YnXttdd
�|D���dkr�td��t	|d�
����\}}|���}�fdd
�|D�}�fdd
�|D�}t|�}t
|�}t|�D]*\}	}
|
||	k�r*|d|	�}�qf�q*|dt|��}|�rt|�n|}|��|�WSttfk
�r�tjd|���YnXdS)zDGiven a sequence of path names, returns the longest common sub-path.z%commonpath() arg is an empty sequencerr8r7rZrrrcs g|]}t|��������qSr4)rr;r<)r�rP)r$r!r4r5r��szcommonpath.<locals>.<listcomp>csg|]\}}|����qSr4r]�r�rVrP�r!r4r5r��sc3s"|]\}}|dd��kVqdS)NrAr4r�r�r4r5�	<genexpr>�szcommonpath.<locals>.<genexpr>z%Can't mix absolute and relative pathsNcss|]\}}|VqdS)Nr4r�r4r4r5r��srAzPaths don't have the same drivecsg|]}|r|�kr|�qSr4r4�r��c�rr4r5r��scsg|]}�fdd�|D��qS)csg|]}|r|�kr|�qSr4r4r�r�r4r5r��sz)commonpath.<locals>.<listcomp>.<listcomp>r4)r�r>r�r4r5r��sr-)r-)r`�tuplerGr9r:r0r1r�rCrr;r�min�max�	enumerater
rHrIrKrL)rMZdrivesplits�split_pathsr	rrr3�common�s1�s2rWr�r�r4)r$rr!r5r-�sF

)�_isdir)N)4�__doc__rr r%r!r"r$r#r&r9�sysrarK�__all__r6rr	r
rrr
r[rrrr�ntrf�ImportErrorrrr�r�r�rrr�r�rr�r�r�r'r�r��hasattrr�r(r)r-r�rr4r4r4r5�<module>s�	�
/8

0A2

*.2�
84
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