B
    u9a                  @   sF  d Z dZdZd ZdZd ZdZdZddlZddl	T ddl
Z
ddl
T ddlZejded	d
 dddddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*g Zd+d, Zd-d Zd.d Zd/d Zd0d Zd1d Ze
jje_d2d Zd3d Zd4d Zd5d6 Zd7d Zd8d Zd9d Zd:d ZG d;d< d<eZ d=d Z!d>d  Z"d?d) Z#d@Z$dS )A:z::.
NzDev:Null    )*zBthe macpath module is deprecated in 3.7 and will be removed in 3.8   )
stacklevelnormcaseisabsjoin
splitdrivesplitsplitextbasenamedirnamecommonprefixgetsizegetmtimegetatimegetctimeislinkexistslexistsisdirisfile
expanduser
expandvarsnormpathabspathcurdirpardirseppathsepdefpathaltsepextsepdevnullrealpathsupports_unicode_filenamesc             C   s   t | trdS dS d S )N   :r   )
isinstancebytes)path r,   /usr/lib/python3.7/macpath.py
_get_colon   s    
r.   c             C   s(   t | ttfs td| jj|  S )Nz2normcase() argument must be str or bytes, not '{}')r)   r*   str	TypeErrorformat	__class____name__lower)r+   r,   r,   r-   r   '   s    c             C   s    t | }|| ko| d d |kS )N   )r.   )scolonr,   r,   r-   r	   .   s    c          
   G   s   yt | }| }|s"|d d |  xj|D ]b}|r8t|r>|}q(|d d |krZ|dd  }||krj|| }|dd  |kr|| }|| }q(W |S  tttfk
r   tjd| f|   Y nX d S )Nr   r5   r
   )r.   r	   r0   AttributeErrorBytesWarninggenericpath_check_arg_types)r6   pr7   r+   tr,   r,   r-   r
   9   s(    
c             C   s   t | }|| kr | d d | fS d}x0tt| D ] }| ||d  |kr2|d }q2W | d |d  | |d   }}|r||kr|| }||fS )Nr   r5   )r.   rangelen)r6   r7   colir+   filer,   r,   r-   r   P   s      c             C   s.   t | trt| dtdS t| tttS d S )Nr(      .)r)   r*   r;   	_splitextr#   r    r$   )r=   r,   r,   r-   r   `   s    
c             C   s   | d d | fS )Nr   r,   )r=   r,   r,   r-   r   g   s    c             C   s   t | d S )Nr   )r   )r6   r,   r,   r-   r   s       c             C   s   t | d S )Nr5   )r   )r6   r,   r,   r-   r   t   rF   c             C   s*   t | sdS t| }t|dko(|d  S )NFr   r5   )r	   r   r@   )r6   
componentsr,   r,   r-   ismountv   s    rH   c             C   s*   ydd l }|j| dd S    dS d S )Nr   r   F)Carbon.FileFileZResolveAliasFile)r6   Carbonr,   r,   r-   r   |   s
    c             C   s(   yt | }W n tk
r"   dS X dS )NFT)oslstatOSError)r+   str,   r,   r-   r      s
    c             C   s   | S )Nr,   )r+   r,   r,   r-   r      s    c             C   s   | S )Nr,   )r+   r,   r,   r-   r      s    c               @   s   e Zd ZdS )
norm_errorN)r3   
__module____qualname__r,   r,   r,   r-   rP      s   rP   c             C   s   t | }|| kr||  S | |}d}x^|t|d k r|| sz||d  rz|dkrp||d |d = |d }qtdq(|d }q(W ||} | dd  |krt|dkr| |t|  kr| d d } | S )Nr5   z+Cannot use :: immediately after volume namer8   r   )r.   r   r@   rP   r
   )r6   r7   compsrB   r,   r,   r-   r      s     



,c             C   s6   t | s.t| trt }nt }t|| } t| S )N)r	   r)   r*   rL   getcwdbgetcwdr
   r   )r+   cwdr,   r,   r-   r      s    


c          	   C   s   t | } ydd l}W n tk
r(   | S X | s2| S t| }| |}|d | } xR|dd  D ]B}t| |} y|j| dd  } W q^ |jj	k
r   Y q^X q^W | S )Nr   r5   )
r   rI   ImportErrorr.   r   r
   rJ   ZFSResolveAliasFileZas_pathnameError)r+   rK   r7   rG   cr,   r,   r-   r&      s"    


T)%r   r   r$   r    r!   r"   r#   r%   rL   statr;   warningswarnDeprecationWarning__all__r.   r   r	   r
   r   r   rE   __doc__r   r   r   rH   r   r   r   r   	ExceptionrP   r   r   r&   r'   r,   r,   r,   r-   <module>   sP   



	