+
    K<ii                    $   ^ RI Ht ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RI	H
t
 ^RIHt ^RIHtHtHtHtHtHtHt ^RIHt ^RIHt ]P2                  '       d   ^ R	IHt ^ R
IHtHt ^RIHt ]P@                  ! 4       R8H  t! ! R R]4      t"R# )    )annotationsN)PathLike)Path)FS)CreateFailedDirectoryExpectedDirectoryNotEmptyFileExpectedIllegalDestinationResourceErrorResourceNotFound)Info)isbase)
Collection)IOAny)SubFSWindowsc                    a  ] tR t^"tRtR'R V 3R llltR R ltR(R R lltR R	 ltR
 R lt	R R lt
R R ltR)R R lltR'R R lltR'R R lltR*R R lltR R ltR R ltR R ltR'R R lltR  R! ltR" R# ltR$ R% ltR&tV ;t# )+OSFSzVFilesystem for a directory on the local disk.

A thin layer on top of `pathlib.Path`.
c                    V ^8  d   QhRRRR/# )   rootzstr | PathLikecreatebool )formats   "A/usr/lib/python3/dist-packages/fontTools/misc/filesystem/_osfs.py__annotate__OSFS.__annotate__(   s     	 	^ 	T 	    c                	  < \         SV `  4        \        V4      P                  4       V n        V'       d    V P                  P                  R R R7       R# V P                  P                  4       '       g   \        RV: R24      hR# )Tparentsexist_okzunable to create OSFS: z% does not exist or is not a directoryN)super__init__r   resolve_rootmkdiris_dirr   )selfr   r   	__class__s   &&&r   r'   OSFS.__init__(   sn    $Z'')
JJTD9::$$&&"-dX5Z[  'r!   c                    V ^8  d   QhRRRR/# )r   rel_pathstrreturnr   r   )r   s   "r   r   r    3   s     < <S <T <r!   c                	    V P                  4        V P                  VP                  R 4      ,          P                  4       # )/)checkr)   stripr(   )r,   r0   s   &&r   _abs	OSFS._abs3   s,    



X^^C0099;;r!   c               $    V ^8  d   QhRRRRRR/# )r   pathr1   moder2   zIO[Any]r   )r   s   "r   r   r    7   s&     K K KC KW Kr!   c                	     V P                  V4      P                  ! V3/ VB #   \         d    \        R T: 24      hi ; i)No such file or directory: )r7   openFileNotFoundErrorr   )r,   r:   r;   kwargss   &&&,r   r>   	OSFS.open7   sJ    	K99T?''777  	K"%@#IJJ	Ks   !$ ?c                    V ^8  d   QhRRRR/# r   r:   r1   r2   r   r   )r   s   "r   r   r    =   s     ( (3 (4 (r!   c                	@    V P                  V4      P                  4       # N)r7   existsr,   r:   s   &&r   rF   OSFS.exists=       yy%%''r!   c                    V ^8  d   QhRRRR/# rC   r   )r   s   "r   r   r    @   s     ( (# ($ (r!   c                	@    V P                  V4      P                  4       # rE   )r7   r+   rG   s   &&r   isdir
OSFS.isdir@   rI   r!   c                    V ^8  d   QhRRRR/# rC   r   )r   s   "r   r   r    C   s     ) )3 )4 )r!   c                	@    V P                  V4      P                  4       # rE   )r7   is_filerG   s   &&r   isfileOSFS.isfileC   s    yy&&((r!   c                    V ^8  d   QhRRRR/# )r   r:   r1   r2   z	list[str]r   )r   s   "r   r   r    F   s     ; ;C ;I ;r!   c                	|    V P                  V4      P                  4        Uu. uF  q"P                  NK  	  up# u upi rE   )r7   iterdirname)r,   r:   ps   && r   listdirOSFS.listdirF   s/     $		$ 7 7 9: 91 9:::s   9c               (    V ^8  d   QhRRRRRRRR/# )r   r:   r1   r$   r   r%   r2   r   r   )r   s   "r   r   r    I   s)     " "3 " " "RW "r!   c                	f    V P                  V4      P                  W#R 7       V P                  V4      # )r#   )r7   r*   opendir)r,   r:   r$   r%   s   &&&&r   _mkdirOSFS._mkdirI   s*    		$gA||D!!r!   c               $    V ^8  d   QhRRRRRR/# r   r:   r1   recreater   r2   r   r   )r   s   "r   r   r    M   s&     C CC C4 CE Cr!   c                	*    V P                  VR VR7      # )Fr#   r]   r,   r:   ra   s   &&&r   makedirOSFS.makedirM   s    {{4{BBr!   c               $    V ^8  d   QhRRRRRR/# r`   r   )r   s   "r   r   r    P   s&     B BS BD BU Br!   c                	*    V P                  VR VR7      # )Tr#   rc   rd   s   &&&r   makedirsOSFS.makedirsP   s    {{4{AAr!   c               $    V ^8  d   QhRRRRRR/# )r   r:   r1   
namespaceszCollection[str] | Noner2   r   r   )r   s   "r   r   r    S   s"      C -C t r!   c                	   V P                  V4      pVP                  4       '       g   \        R \        V4      : 24      hRRVP                  RVP                  4       //pT;'       g    RpRV9   d   VP                  4       pRVP                  RVP                  RVP                  R\        P                  ! VP                  4      R	\        VR
R4      /;qSR&   \        '       d   R	MRpVP                  WV&   \        V4      # )r=   basicrV   r+   detailsaccessedmodifiedsizetypecreatedst_birthtimeNmetadata_changedr   )r7   rF   r   r1   rV   r+   statst_atimest_mtimest_sizeS_IFMTst_modegetattr_WINDOWS_PLATFORMst_ctimer   )r,   r:   rl   infostat_resultro   	ctime_keys   &&&    r   getinfoOSFS.getinfoS   s    yy{{}}"%@T#NOO		$++-
  %%2

"))+KK00K00++K$7$787;E) G9o &7%6	<NI!,!5!5GDzr!   c                   V ^8  d   QhRR/# r   r:   r1   r   )r   s   "r   r   r    k   s     
L 
L3 
Lr!   c                	H   V P                  V4      p VP                  4        R#   \         d    \        R \	        T4      : 24      h\
         dP   pTP                  4       '       d   \        R\	        T4      : R24      h\        R\	        T4      : RT 24      hRp?ii ; i)r=   path z should be a fileunable to remove : N)	r7   unlinkr?   r   r1   OSErrorr+   r
   r   r,   r:   es   && r   removeOSFS.removek   s    yy	LKKM  	P"%@T#NOO 	L{{}}"U3t9-7H#IJJ#&7D	}Bqc$JKK		Ls   % +B!B!A
BB!c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r    w   s     	G 	Gc 	Gr!   c                	     V P                  V4      P                  4        R#   \         d    \        R T: R24      h\         dF   pTP
                  \
        P                  8X  d   \        RT: 24      h\        RT: RT 24      hRp?ii ; i)r    should be a directoryzDirectory not empty: r   r   N)	r7   rmdirNotADirectoryErrorr   r   errno	ENOTEMPTYr	   r   r   s   && r   	removedirOSFS.removedirw   s    	GIIdO!!#! 	L#eD83I$JKK 	Gww%//)'*?x(HII#&7xr!$EFF		Gs   # #BBA BBc                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r       s     ' 's 'r!   c                	P    \         P                  ! V P                  V4      4       R # rE   )shutilrmtreer7   rG   s   &&r   
removetreeOSFS.removetree   s    diio&r!   c               $    V ^8  d   QhRRRRRR/# )r   src_dirr1   dst_dirr   r   r   )r   s   "r   r   r       s!     " "s "S "$ "r!   c                	    \        W4      '       d   \        R V: RV: 24      hV P                  V4      pVP                  4       '       g   \	        RV: R24      hVP                  4       '       g   \        RV: R24      hV P                  V4      pV'       g'   VP                  4       '       g   \	        RV: R24      hVP                  4       '       d   \        RV: R24      hV'       d   VP                  P                  RRR7       VP                  4       '       dL   \        VP                  4       4      '       d   \        RV: R24      h\        '       d   VP                  4        VP                  V4       R	# )
zcannot move z to zSource z does not existr   zDestination Tr#   z is not emptyN)r   r   r7   rF   r   r+   r   rP   parentr*   listrU   r	   r~   r   rename)r,   r   r   r   src_pathdst_paths   &&&&  r   movedirOSFS.movedir   s8   '##$|G;d7+%NOO99W%  "WWK#GHH""#gg[8N$OPP99W%hoo//"\'O#LMM#l7+=S$TUUOO!!$!>??H$$&''',wk(OPP""  !r!   c                    V ^8  d   QhRRRR/# )r   r:   r1   r2   r   )r   s   "r   r   r       s     $ $s $s $r!   c                	6    \        V P                  V4      4      # rE   )r1   r7   rG   s   &&r   
getsyspathOSFS.getsyspath   s    499T?##r!   c                   V ^8  d   QhRR/# r   r2   r1   r   )r   s   "r   r   r       s     A A# Ar!   c                	b    V P                   P                   R \        V P                  4      : R2# )())r-   __name__r1   r)   r,   s   &r   __repr__OSFS.__repr__   s)    ..))*!C

O+>a@@r!   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r       s     E E Er!   c                	l    R V P                   P                  P                  4        RV P                   R2# )<z 'z'>)r-   r   lowerr)   r   s   &r   __str__OSFS.__str__   s/    4>>**00232djj\DDr!   )r)   )F)rb)FFrE   )r   
__module____qualname____firstlineno____doc__r'   r7   r>   rF   rL   rQ   rX   r]   re   ri   r   r   r   r   r   r   r   r   __static_attributes____classcell__)r-   s   @r   r   r   "   st    
	 	<K(();"CB0
L	G'"0$AE Er!   r   )#
__future__r   r   platformr   rw   typingosr   pathlibr   _baser   _errorsr   r   r	   r
   r   r   r   _infor   _pathr   TYPE_CHECKINGcollections.abcr   r   r   _subfsr   systemr~   r   r   r!   r   <module>r      sp    "            	* OO%2 BE2 BEr!   