OwlCyberSecurity - MANAGER
Edit File: ntpath.cpython-310.pyc
o ����S�g)s����������������������@���s ��d�Z�dZdZdZdZdZdZdZdZdd l Z dd l Z dd lZdd lZdd lT�g�d�Z dd ��ZzddlmZmZmZ�dd��ZW�n �eyK���dd��ZY�nw�dd��Zdd��Zdd��Zdd��Zdd��Zejj�e_�dd��Zdd��Zd d!��Z d"d#��Z!zdd$l"m#Z#�W�n�ey����d Z#Y�nw�d%d&��Z$d'd(��Z%d)d*��Z&d+d,��Z'd-d.��Z(zdd/l"m)Z)�W�n�ey����e(Z*Y�nw�d0d1��Z*z dd2l"m+Z+m,Z-�W�n�ey����e*Z.Y�nw�d3d4��Z/d5d6��Z0d7d8�d9d:�Z.e1e d;�o�e �2��d<�d=kZ3dCd>d?�Z4d@dA��Z5z ddBl"m6Z7�W�d S��e�y���Y�d S�w�)Dz�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� commonpathc�����������������C���s���t�|�t�rdS�dS�)N����\/�\/)� isinstance�bytes��path��r4����-/opt/alt/python310/lib64/python3.10/ntpath.py� _get_bothseps#���s��� r6���)� LCMapStringEx�LOCALE_NAME_INVARIANT�LCMAP_LOWERCASEc�����������������C���sd���t��|��}�|�s |�S�t|�t�r(t���}|��|d��dd�}�tt t |��}�|��|d�S�tt t |��dd��S�)�nNormalize case of pathname. Makes all characters lowercase and all slashes into backslashes. �surrogateescaper���r���)�os�fspathr0���r1����sys�getfilesystemencoding�decode�replace�_LCMapStringEx�_LOCALE_NAME_INVARIANT�_LCMAP_LOWERCASE�encode)�s�encodingr4���r4���r5���r���3���s��� � �r���c�����������������C���s@���t��|��}�t|�t�rt��t��|���dd�����S�|��dd����S�)r:���r���r���)r<���r=���r0���r1����fsencode�fsdecoderA����lower�rF���r4���r4���r5���r���F���s��� c�����������������C���sj���t��|��}�t|�t�r|��dd��d�rdS�n|��dd��d�r!dS�t|��d�}�t|��d ko4|�d �t|��v�S�) zTest whether a path is absolute����/����\����\\?\Tr���r����\\?\����r���) r<���r=���r0���r1���rA���� startswithr����lenr6���rK���r4���r4���r5���r ���W���s��� �r ���c����������� ��� ���G���s@��t��|��}�t|�t�rd}d}d}nd}d}d}zs|s"|�d�d��|��t|��\}}tt�j|�D�]>}t|�\}} | rG| d�|v�rG|sB|sD|}| }q.|r\||kr\|���|���krZ|}| }q.|}|rh|d�|vrh||�}|| �}q.|r�|d�|vr�|r�|dd���|kr�||�|�W�S�||�W�S��ttt fy����t jd |�g|�R������w�) NrM���r.�������:r���r/����:r������r ���)r<���r=���r0���r1���r����maprJ���� TypeError�AttributeError�BytesWarning�genericpath�_check_arg_types) r3����pathsr!����seps�colonZresult_driveZresult_path�pZp_driveZp_pathr4���r4���r5���r ���g���sL��� � �r ���c�����������������C���s��t��|��}�t|��dkr�t|�t�rd}d}d}nd}d}d}|��||�}|dd��|d�krq|dd ��|krq|�|d�}|d krG|�dd��|�fS�|�||d��}||d�kr]|�dd��|�fS�|d kret|��}|�d|��|�|d��fS�|dd��|kr�|�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. ����rM���rL���rS���r���r���rT���r�������rU���NrP���)r<���r=���rR���r0���r1���rA����find)r_���r!���r$���r^���Znormp�indexZindex2r4���r4���r5���r�������s.��� $r���c�����������������C���s����t��|��}�t|��}t|��\}}�t|��}|r+|�|d��|vr+|d8�}|r+|�|d��|vs|�d|��|�|d��}}|�|�p>|}||�|fS�)z~Split a pathname. Return tuple (head, tail) where tail is everything after the final slash. Either part may be empty.rP���N)r<���r=���r6���r���rR����rstrip)r_���r]����d�i�head�tailr4���r4���r5���r�������s��� �r���c�����������������C���s4���t��|��}�t|�t�rt�|�ddd�S�t�|�ddd�S�)NrM���rL�������.r���r���r���)r<���r=���r0���r1���rZ���� _splitext�r_���r4���r4���r5���r �������s��� r ���c�����������������C�������t�|��d�S�)z)Returns the final component of a pathnamerP����r���rk���r4���r4���r5���r�����������r���c�����������������C���rl���)z-Returns the directory component of a pathnamer���rm���rk���r4���r4���r5���r�������rn���r���c�������������� ���C���s6���zt��|��}W�n �tttfy���Y�dS�w�t�|j�S�)zhTest whether a path is a symbolic link. This will always return false for Windows prior to 6.0. F)r<����lstat�OSError� ValueErrorrX����stat�S_ISLNK�st_mode�r3����str4���r4���r5���r�������s����r���c�������������� ���C���s*���zt��|��}W�dS��ttfy���Y�dS�w�)zCTest whether a path exists. Returns True for broken symbolic linksFT)r<���ro���rp���rq���ru���r4���r4���r5���r��� ��s�����r���)�_getvolumepathnamec�����������������C���sp���t��|��}�t|��}t|��}�t|��\}}|r"|d�|v�r"|�p!||v�S�||v�r(dS�tr6|��|�t|���|�kS�dS�)zaTest whether a path is a mount point (a drive root, the root of a share, or a mounted volume)r���TF)r<���r=���r6���r���r���rw���rd���)r3���r]����root�restr4���r4���r5���r��� ��s��� r���c�����������������C���sJ��t��|��}�t|�t�r d}nd}|��|�s|�S�dt|��}}||k�r9|�|�t|��vr9|d7�}||k�r9|�|�t|��vs)dt�jv�rDt�jd�}n"dt�jvrK|�S�zt�jd�}W�n�ty]���d}Y�nw�t |t�jd��}|dkr�|�d|��}t|t�rzt�� |�}t�j�d�}||kr�|t|�kr�|�S�t t |�|�}t|�t�r�t��|�}||�|d ���S�) zLExpand ~ and ~user constructs. If user or $HOME is unknown, do nothing.����~�~rP���ZUSERPROFILEZHOMEPATHZ HOMEDRIVE��ZUSERNAMEN)r<���r=���r0���r1���rQ���rR���r6����environ�KeyErrorr ���rI����getr���r���rH���)r3����tilderf����n�userhome�driveZtarget_userZcurrent_userr4���r4���r5���r���;��s@��� � � r���c�����������������C���s0��t��|��}�t|�t�r4d|�vrd|�vr|�S�ddl}t|j|j�d�d�}d}d}d}d }d}tt�d d�}n#d|�vr>d|�vr>|�S�ddl}|j|j�d�}d }d}d}d}d}t�j}|�dd��} d} t |��}| |k��r|�| | d���}||kr�|�| d�d��}�t |��}z|�� |�} | ||�d| d����7�} W��ny�ty����| ||��7�} |d�} Y��nfw�||k�r|�| d�| d���|kr�| |7�} | d7�} �nJ|�| d�d��}�t |��}z|�� |�} W�n�ty����| ||��7�} |d�} Y��n#w�|�d| ��} z|du��rt��t�jt�� | ���}n|| �}W�n�t�y���|| �|�}Y�nw�| |7�} n�||k�r |�| d�| d���|k�r:| |7�} | d7�} n�|�| d�| d���|k�r�|�| d�d��}�t |��}z|�� |�} W�n�t�yp���| ||�|��7�} |d�} Y�n�w�|�d| ��} z|du��r�t��t�jt�� | ���}n|| �}W�n�t�y����||�| �|�}Y�nw�| |7�} nh|�dd��} | d7�} |�| | d���}|�r�||v��r�| |7�} | d7�} |�| | d���}|�r�||v��s�z|du��r�t��t�jt�� | ���}n|| �}W�n�t�y����|| �}Y�nw�| |7�} |�r | d8�} n| |7�} | d7�} | |k�sh| S�)zfExpand shell variables of the forms $var, ${var} and %var%. Unknown variables are left unchanged.����$����%r���Nz_-�ascii����'����{����}�environb�$�%�'�{�}rP���r`���)r<���r=���r0���r1����stringZ ascii_lettersZdigits�getattrr}���rR���rc���rq���rH���rI���r~���)r3���r����ZvarcharsZquoteZpercentZbraceZrbraceZdollarr}����resrc���Zpathlen�c�var�valuer4���r4���r5���r���x��s���� � � �� � �� � ����Lr���c����������� ������C���sN��t��|��}�t|�t�rd}d}d}d}d}n d}d}d}d }d }|��|�r&|�S�|��||�}�t|��\}}�|��|�r@||7�}|��|�}�|��|�}d}|t |�k�r�||�rW||�|kr[||=�n6||�|kr�|dkr{||d��|kr{||d�|d��=�|d8�}n|dkr�|� |�r�||=�n |d7�}n|d7�}|t |�k�sM|s�|s�|�|��||�|��S�) z0Normalize path, eliminating double slashes, etc.rM���rL���ri�������..)s���\\.\rN���r���r���r���r���)z\\.\rO���r���rP���) r<���r=���r0���r1���rQ���rA���r����lstripr���rR����endswith�appendr ���) r3���r!���r$���r���r ���Zspecial_prefixes�prefix�compsrf���r4���r4���r5���r������sH��� � r���c�����������������C���s@���t��|��}�t|��st|�t�rt����}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. ) r<���r=���r ���r0���r1����getcwdb�getcwdr ���r���)r3����cwdr4���r4���r5����_abspath_fallback��s��� r����)�_getfullpathnamec�������������� ���C���s.���zt�t|���W�S��ttfy���t|���Y�S�w�)z&Return the absolute version of a path.)r���r����rp���rq���r����r2���r4���r4���r5���r���3��s ����r���)�_getfinalpathname�readlinkc�������������� ���C���s����d}t���}t|��|vrY|�t|����z|�}t|��}�t|��s/t|�s&|}�W�|�S�ttt|�|���}�W�n"�t yI�}�z |j |v�rDW�Y�d�}~|�S���d�}~w�tyR���Y�|�S�w�t|��|vs|�S�)N)rP���r`���ra������������ ����2����C����W���i&��i(��i)��)�setr����add�_nt_readlinkr ���r���r���r ���r���rp����winerrorrq���)r3����allowed_winerror�seenZold_path�exr4���r4���r5����_readlink_deep@��s4��� �� ����r����c�����������������C���s����d}d}|�rqzt�|��}�|rt|�|�W�S�|�W�S��tyn�}�zM|j|vr#��zt|��}||�kr<|r3t||�n|W�W��Y�d�}~S�W�n �tyF���Y�nw�t|��\}�}|�r[|s[|�|�W��Y�d�}~S�|rbt||�n|}W�Y�d�}~nd�}~ww�|�s|S�)N)rP���r`���ra���r����r����r����r�����5����A���r����r�����{�������i���i���r|���)r����r ���rp���r����r����r���)r3���r����rh���r�����new_path�namer4���r4���r5����_getfinalpathname_nonstrictj��s2��� �����r����F)�strictc���������� ��� ���C���sv��t�|��}�t|�t�r!d}d}d}t���}t|��tt�t��kr dS�nd}d}d}t���}t|��tt�kr5dS�|�� |�}|sEt |��sEt||��}�zt|��}�d }W�n�t yi�}�z|rX��|j}t|��}�W�Y�d�}~nd�}~ww�|s�|�� |�r�|�� |�r�||�t|�d����} n|�t|�d���} zt| �|�kr�| }�W�|�S�W�|�S��t y��}�z|j|kr�| }�W�Y�d�}~|�S�W�Y�d�}~|�S�d�}~ww�|�S�) NrN���s���\\?\UNC\s���\\s���\\.\NULrO���z\\?\UNC\z\\z\\.\NULr���)r���r0���r1���r<���r����r���rH���r&���r����rQ���r ���r ���r����rp���r����r����rR���) r3���r����r����Z unc_prefixZnew_unc_prefixr����Z had_prefixZinitial_winerrorr����Zspathr4���r4���r5���r'������s^��� � �� �� ���r'����getwindowsversionra���r`���c�����������������C���sX��t��|��}�t|�t�rd}d}d}nd}d}d}|du�r|}|�s#td��t��|�}zott|��}tt|���}t|�\}}t|�\} } t|�t| �krQtd | |f���d d��|� |�D��}dd��| � |�D��}d } t ||�D�]\}}t|�t|�krz�n| d7�} ql|gt|�| ��|| d���}|s�|W�S�t|��W�S��t ttttfy����t�d|�|����w�)z#Return a relative version of a pathrM���ri���r����r���r���r���Nzno path specifiedz&path is on mount %r, start on mount %rc�����������������S�������g�|�]}|r|�qS�r4���r4�����.0�xr4���r4���r5���� <listcomp>��������zrelpath.<locals>.<listcomp>c�����������������S���r����r4���r4���r����r4���r4���r5���r�������r����r���rP���r)���)r<���r=���r0���r1���rq���r���r���r���r���r����ziprR���r ���rW���rX���rY����DeprecationWarningrZ���r[���)r3����startr!���r���r ���Z start_absZpath_absZstart_driveZ start_restZ path_driveZ path_rest� start_list� path_listrf���Ze1Ze2�rel_listr4���r4���r5���r)������sJ��� � �r)���c�������������� ������s���|�st�d��tttj|���}�t|�d�t�rd�d��d�nd�d��d�z����fd d �|�D��}�fdd �|D��}zt�fdd �|D���\}W�n�t�yP���t�d�d�w�ttdd ��|D����dkrbt�d��t |�d�� �����\}}|���}�fdd �|D��}�fdd �|D��}t|�}t |�}t|�D�]\} } | || �kr�|d| ��}�n q�|dt|���}|r�|��n|}|��|��W�S��ttfy����tjdg|��R������w�)zDGiven a sequence of path names, returns the longest common sub-path.z%commonpath() arg is an empty sequencer���rM���rL���ri���r���r���r���c��������������������s ���g�|�]}t�|����������qS�r4���)r���rA���rJ���)r����r_���)r$���r!���r4���r5���r������s��� �zcommonpath.<locals>.<listcomp>c��������������������s���g�|�] \}}|������qS�r4���rm����r����re���r_����r!���r4���r5���r������s����c�����������������3���s$�����|�] \}}|d�d����kV��qd�S�)NrP���r4���r����r����r4���r5���� <genexpr>��s����"�zcommonpath.<locals>.<genexpr>z%Can't mix absolute and relative pathsNc�����������������s���s�����|�]\}}|V��qd�S��Nr4���r����r4���r4���r5���r����&��s�����rP���zPaths don't have the same drivec������������������������g�|�] }|r|��kr|�qS�r4���r4����r����r�����r���r4���r5���r����+�������c��������������������s���g�|�]}��fd�d�|D���qS�)c��������������������r����r4���r4���r����r����r4���r5���r����-��r����z)commonpath.<locals>.<listcomp>.<listcomp>r4���)r����rF���r����r4���r5���r����-��s����r-���)rq����tuplerV���r<���r=���r0���r1���r����rR���r���rA���r����min�max� enumerater ���rW���rX���rZ���r[���)r\���Zdrivesplits�split_pathsr ���r����r3����common�s1�s2rf���r����r����r4���)r$���r���r!���r5���r-��� ��sL��� � ��r-���)�_isdirr����)8�__doc__r���r ���r%���r!���r"���r$���r#���r&���r<���r>���rr���rZ����__all__r6���Z_winapir7���rB���r8���rC���r9���rD���r����ImportErrorr ���r ���r���r���r ���rj���r���r���r���r����ntrw���r���r���r���r���r����r����r���r����r����r����r'���r����r�����hasattrr����r(���r)���r-���r����r���r4���r4���r4���r5����<module>���s���� �/8 �=q2��*1 4� 84�