+
     h  c                   s    R t ^ RIt^ RIt^ RIHtHt ^RIHt ^ RIH	t	  ^ RIH
t
 ]! R4      tR	 tR
 R ltR]3R ltR tR#   ] d
    R R lt
 L,i ; i)z2Convenience layer on top of stdlib's shutil and osN)CallableTypeVar)py311)log)chmodc                s4    V ^8  d   QhR\         R\         RR/# )   argskwargsreturnN)ZobjectZformat   "7/usr/lib/python3.14/site-packages/setuptools/_shutil.py__annotate__r      s!      V v $     c                  s    R # N )r   r   s   *,r   r   r      s    r   _Tc                 s    \         P                  ! R W4        \        W4       R#   \         d#   p\         P                  ! RT4        Rp?R# Rp?ii ; i)zchanging mode of %s to %ozchmod failed: %sN)r   Zdebugr   ZOSError)pathZmodeZes   && r   attempt_chmod_verboser      s@    II)46)d )		$a(()s   & AAAc                sb    V ^8  d   QhR\         R\        3,          R\        R\        R\        /# )r   func.argexcr   )r    r   ZstrZBaseExceptionr	   r
   r   r   r       s5      
37
"%,9r   c                s    V \         P                  \         P                  39   d8   \         P                  R8X  d#   \	        V\
        P                  4       V ! V4      # Vh)zIshutils onexc callback to automatically call chmod for certain functions.Znt)osZunlinkZremoveZnamer   statZS_IWRITE)r   r   r      &&&r   _auto_chmodr       s@    
 		299%%"''T/c4==1Cy
Ir   Fc                s0    \         P                  ! WV4      # )zl
Similar to ``shutil.rmtree`` but automatically executes ``chmod``
for well know Windows failure scenarios.
)r   Zshutil_rmtree)r   Zignore_errorsZonexcr   r   rmtreer   +   s    
 tE::r   c                 sl    \         P                  P                  V 4      '       d   \        V 3/ VB  R # R # r   )r   r   Zisdirr   )r   Zoptss   &,r   rmdirr   3   s'    	ww}}Ttt r   )Z__doc__r   r   Ztypingr    r   Zcompatr   Z	distutilsr   r   ZImportErrorr   r   r   r   r   r   r   r   <module>r      s\    8 	  $   T])  %K ;K  s   A AA