
    z%i                     r    	 d dl Z d dlZg dZd Zd Zd Zd Zd Zd Zd	 Z	d
 Z
d Zd Zd Zd Zd Zd Zy)    N)commonprefixexistsgetatimegetctimegetmtimegetsizeisdirisfileislinksamefilesameopenfilesamestatc                 \    	 	 t        j                  |        y# t        t        f$ r Y yw xY w)NFT)osstatOSError
ValueError)paths    ?/home/uftp/.pyenv/versions/3.12.0/lib/python3.12/genericpath.pyr   r      s3    N
  Z  s    ++c                     	 	 t        j                  |       }t        j                  |j
                        S # t        t        f$ r Y yw xY wNF)r   r   r   r   S_ISREGst_moder   sts     r   r
   r
      sE    /WWT] <<

## Z     7 A	A	c                     	 	 t        j                  |       }t        j                  |j
                        S # t        t        f$ r Y yw xY wr   )r   r   r   r   S_ISDIRr   )sr   s     r   r	   r	   '   sE    FWWQZ <<

## Z  r   c                     	 	 t        j                  |       }t        j                  |j                        S # t        t        t        f$ r Y yw xY wr   )r   lstatr   r   AttributeErrorr   S_ISLNKr   r   s     r   r   r   3   sG    0XXd^ <<

## Z0 s   7 AAc                 B    	 t        j                  |       j                  S N)r   r   st_sizefilenames    r   r   r   <   s    ;778$$$    c                 B    	 t        j                  |       j                  S r%   )r   r   st_mtimer'   s    r   r   r   A   s    M778%%%r)   c                 B    	 t        j                  |       j                  S r%   )r   r   st_atimer'   s    r   r   r   F   s    G778%%%r)   c                 B    	 t        j                  |       j                  S r%   )r   r   st_ctimer'   s    r   r   r   K   s    K778%%%r)   c                     	 | syt        | d   t        t        f      s#t        t        t        j
                  |             } t        |       }t        |       }t        |      D ]  \  }}|||   k7  s|d | c S  |S )N r   )	
isinstancelisttuplemapr   fspathminmax	enumerate)ms1s2ics        r   r   r   Q   sy    MR
 adT5M*#bii#$	QB	QB" 11:bq6M Ir)   c                 l    	 | j                   |j                   k(  xr | j                  |j                  k(  S r%   )st_inost_dev)r;   r<   s     r   r   r   c   s/    ?II" #II"$r)   c                 p    	 t        j                  |       }t        j                  |      }t        ||      S r%   )r   r   r   )f1f2r;   r<   s       r   r   r   j   s0    
 
B	BBr)   c                 p    	 t        j                  |       }t        j                  |      }t        ||      S r%   )r   fstatr   )fp1fp2r;   r<   s       r   r   r   w   s,    D	#B	#BBr)   c                     	 | j                  |      }|r| j                  |      }t        ||      }| j                  |      }||kD  r*|dz   }||k  r | ||dz    |k7  r
| d | | |d  fS |dz  }||k  r | | d d fS )N   r   )rfindr8   )psepaltsepextsepsepIndexaltsepIndexdotIndexfilenameIndexs           r   	_splitextrT      s    ? wws|Hggfox-wwvH( 1h&}Q/69(|Qxy\11QM h&
 ae8Or)   c                     dx}}|D ]L  }t        |t              rd}t        |t              rd})t        |  d|j                  j
                        d  |r|rt        d      d y y )NFTz;() argument must be str, bytes, or os.PathLike object, not z.Can't mix strings and bytes in path components)r2   strbytes	TypeError	__class____name__)funcnameargshasstrhasbytesr   s        r   _check_arg_typesr_      s    FX [aF5!Hxj )778{{7K7K6NP QVZ[[ (HItS vr)   )r   r   __all__r   r
   r	   r   r   r   r   r   r   r   r   r   rT   r_    r)   r   <module>rb      s`   
 
 $$$%
&
&
&$$.Tr)   