§
    ¢”ji  ã                  ó  — d dl mZ d dlZd dlZd dlZd dlZd dlZd dlmZ d dl	m
Z
 ddlmZ ddlmZmZmZmZmZmZmZ ddlmZ dd	lmZ ej        rd d
lmZ d dlmZmZ ddlmZ  ej         ¦   «         dk    Z! G d„ de¦  «        Z"dS )é    )ÚannotationsN)ÚPathLike)ÚPathé   )ÚFS)ÚCreateFailedÚDirectoryExpectedÚDirectoryNotEmptyÚFileExpectedÚIllegalDestinationÚResourceErrorÚResourceNotFound)ÚInfo)Úisbase)Ú
Collection)ÚIOÚAny)ÚSubFSÚWindowsc                  óº   ‡ — e Zd ZdZd,d-ˆ fd„Zd.d„Zd/d0d„Zd1d„Zd1d„Zd1d„Z	d2d„Z
d3d4d„Zd,d5d„Zd,d5d„Zd6d7d"„Zd8d#„Zd8d$„Zd8d%„Zd,d9d(„Zd:d)„Zd;d*„Zd;d+„Zˆ xZS )<ÚOSFSz^Filesystem for a directory on the local disk.

    A thin layer on top of `pathlib.Path`.
    FÚrootústr | PathLikeÚcreateÚboolc                ó,  •— t          ¦   «                              ¦   «          t          |¦  «                             ¦   «         | _        |r| j                             dd¬¦  «         d S | j                             ¦   «         st          d|›d�¦  «        ‚d S )NT©ÚparentsÚexist_okzunable to create OSFS: z% does not exist or is not a directory)ÚsuperÚ__init__r   ÚresolveÚ_rootÚmkdirÚis_dirr   )Úselfr   r   Ú	__class__s      €ún/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/fontTools/misc/filesystem/_osfs.pyr!   zOSFS.__init__(   s›   ø€ Ý‰Œ×ÒÑÔÐÝ˜$‘Z”Z×'Ò'Ñ)Ô)ˆŒ
Øð 	ØŒJ×Ò T°DÐÑ9Ô9Ð9Ð9Ð9à”:×$Ò$Ñ&Ô&ð Ý"Ø[¨dÐ[Ð[Ð[ñô ð ðð ó    Úrel_pathÚstrÚreturnr   c                óˆ   — |                       ¦   «          | j        |                     d¦  «        z                       ¦   «         S )Nú/)Úcheckr#   Ústripr"   )r&   r*   s     r(   Ú_absz	OSFS._abs3   s4   € Ø�
Š
‰ŒˆØ”
˜XŸ^š^¨CÑ0Ô0Ñ0×9Ò9Ñ;Ô;Ð;r)   ÚrbÚpathÚmodeúIO[Any]c                ó†   — 	  |                       |¦  «        j        |fi |¤ŽS # t          $ r t          d|›�¦  «        ‚w xY w)NúNo such file or directory: )r1   ÚopenÚFileNotFoundErrorr   )r&   r3   r4   Úkwargss       r(   r8   z	OSFS.open7   sc   € ð	KØ'�4—9’9˜T‘?”?Ô'¨Ð7Ð7°Ð7Ð7Ð7øÝ ð 	Kð 	Kð 	KÝ"Ð#IÀÐ#IÐ#IÑJÔJÐJð	Køøøs	   ‚ # £A c                óP   — |                       |¦  «                             ¦   «         S ©N)r1   Úexists©r&   r3   s     r(   r=   zOSFS.exists=   ó   € Ø�yŠy˜‰Œ×%Ò%Ñ'Ô'Ð'r)   c                óP   — |                       |¦  «                             ¦   «         S r<   )r1   r%   r>   s     r(   Úisdirz
OSFS.isdir@   r?   r)   c                óP   — |                       |¦  «                             ¦   «         S r<   )r1   Úis_filer>   s     r(   ÚisfilezOSFS.isfileC   s   € Ø�yŠy˜‰Œ×&Ò&Ñ(Ô(Ð(r)   ú	list[str]c                ód   — d„ |                       |¦  «                             ¦   «         D ¦   «         S )Nc                ó   — g | ]	}|j         ‘Œ
S © )Úname)Ú.0Úps     r(   ú
<listcomp>z OSFS.listdir.<locals>.<listcomp>G   s   € Ð:Ð:Ð:˜1�”Ð:Ð:Ð:r)   )r1   Úiterdirr>   s     r(   ÚlistdirzOSFS.listdirF   s,   € Ø:Ð: §	¢	¨$¡¤× 7Ò 7Ñ 9Ô 9Ð:Ñ:Ô:Ð:r)   r   r   r   c                ó€   — |                       |¦  «                             ||¬¦  «         |                      |¦  «        S )Nr   )r1   r$   Úopendir)r&   r3   r   r   s       r(   Ú_mkdirzOSFS._mkdirI   s7   € Ø�	Š	�$‰Œ×Ò g¸ÐÑAÔAÐAØ�|Š|˜DÑ!Ô!Ð!r)   Úrecreatec                ó2   — |                       |d|¬¦  «        S )NFr   ©rQ   ©r&   r3   rR   s      r(   ÚmakedirzOSFS.makedirM   s   € Ø�{Š{˜4¨¸ˆ{ÑBÔBÐBr)   c                ó2   — |                       |d|¬¦  «        S )NTr   rT   rU   s      r(   ÚmakedirszOSFS.makedirsP   s   € Ø�{Š{˜4¨¸ˆ{ÑAÔAÐAr)   NÚ
namespacesúCollection[str] | Noner   c           	     óÒ  — |                       |¦  «        }|                     ¦   «         st          dt          |¦  «        ›�¦  «        ‚d|j        |                     ¦   «         dœi}|pd}d|v rk|                     ¦   «         }|j        |j        |j	        t          j
        |j        ¦  «        t          |dd ¦  «        dœx}|d<   t          rdnd	}|j        ||<   t          |¦  «        S )
Nr7   Úbasic)rI   r%   rH   ÚdetailsÚst_birthtime)ÚaccessedÚmodifiedÚsizeÚtypeÚcreatedrc   Úmetadata_changed)r1   r=   r   r+   rI   r%   ÚstatÚst_atimeÚst_mtimeÚst_sizeÚS_IFMTÚst_modeÚgetattrÚ_WINDOWS_PLATFORMÚst_ctimer   )r&   r3   rY   ÚinfoÚstat_resultr]   Ú	ctime_keys          r(   ÚgetinfozOSFS.getinfoS   sù   € Ø�yŠy˜‰ŒˆØ�{Š{‰}Œ}ð 	PÝ"Ð#NÅÀTÁÄÐ#NÐ#NÑOÔOÐOàØœ	ØŸ+š+™-œ-ðð ð
ˆð  Ð% 2ˆ
Ø˜
Ð"Ð"ØŸ)š)™+œ+ˆKà'Ô0Ø'Ô0Ø#Ô+Ýœ KÔ$7Ñ8Ô8Ý" ;°ÀÑEÔEð)ð )ð ˆG�d˜9‘oõ &7ÐN˜	˜	Ð<NˆIØ!,Ô!5ˆG�IÑÝ�D‰zŒzÐr)   c                óz  — |                       |¦  «        }	 |                     ¦   «          d S # t          $ r  t          dt	          |¦  «        ›�¦  «        ‚t
          $ r[}|                     ¦   «         r t          dt	          |¦  «        ›d�¦  «        ‚t          dt	          |¦  «        ›d|› �¦  «        ‚d }~ww xY w)Nr7   úpath z should be a fileúunable to remove ú: )	r1   Úunlinkr9   r   r+   ÚOSErrorr%   r   r   ©r&   r3   Úes      r(   ÚremovezOSFS.removek   sÓ   € Ø�yŠy˜‰Œˆð	LØ�KŠK‰MŒMˆMˆMˆMøÝ ð 	Pð 	Pð 	PÝ"Ð#NÅÀTÁÄÐ#NÐ#NÑOÔOÐOÝð 	Lð 	Lð 	LØ�{Š{‰}Œ}ð LÝ"Ð#I­3¨t©9¬9Ð#IÐ#IÐ#IÑJÔJÐJå#Ð$J½¸D¹	¼	Ð$JÐ$JÀqÐ$JÐ$JÑKÔKÐKøøøøð		Løøøs   —- ­2B:ÁAB5Â5B:c                ó*  — 	 |                       |¦  «                             ¦   «          d S # t          $ r t          d|›d�¦  «        ‚t          $ rA}|j        t
          j        k    rt          d|›�¦  «        ‚t          d|›d|› �¦  «        ‚d }~ww xY w)Nrs   ú should be a directoryzDirectory not empty: rt   ru   )	r1   ÚrmdirÚNotADirectoryErrorr	   rw   ÚerrnoÚ	ENOTEMPTYr
   r   rx   s      r(   Ú	removedirzOSFS.removedirw   sÁ   € ð	GØ�IŠI�d‰OŒO×!Ò!Ñ#Ô#Ð#Ð#Ð#øÝ!ð 	Lð 	Lð 	LÝ#Ð$J¨DÐ$JÐ$JÐ$JÑKÔKÐKÝð 	Gð 	Gð 	GØŒw�%œ/Ò)Ð)Ý'Ð(HÀÐ(HÐ(HÑIÔIÐIå#Ð$E¸Ð$EÐ$EÀ!Ð$EÐ$EÑFÔFÐFøøøøð		Gøøøs   ‚'+ «&BÁ<BÂBc                óT   — t          j        |                      |¦  «        ¦  «         d S r<   )ÚshutilÚrmtreer1   r>   s     r(   Ú
removetreezOSFS.removetree‚   s"   € ÝŒ�d—i’i ‘o”oÑ&Ô&Ð&Ð&Ð&r)   Úsrc_dirÚdst_dirc                ó  — t          ||¦  «        rt          d|›d|›�¦  «        ‚|                      |¦  «        }|                     ¦   «         st	          d|›d�¦  «        ‚|                     ¦   «         st          d|›d�¦  «        ‚|                      |¦  «        }|s'|                     ¦   «         st	          d|›d�¦  «        ‚|                     ¦   «         rt          d|›d�¦  «        ‚|r|j         	                    dd¬¦  «         |                     ¦   «         rOt          |                     ¦   «         ¦  «        rt          d|›d	�¦  «        ‚t          r|                     ¦   «          |                     |¦  «         d S )
Nzcannot move z to zSource z does not existr|   zDestination Tr   z is not empty)r   r   r1   r=   r   r%   r	   rC   Úparentr$   ÚlistrM   r
   rl   r}   Úrename)r&   r†   r‡   r   Úsrc_pathÚdst_paths         r(   ÚmovedirzOSFS.movedir…   s±  € Ý�'˜7Ñ#Ô#ð 	PÝ$Ð%N°GÐ%NÐ%NÀ7Ð%NÐ%NÑOÔOÐOØ—9’9˜WÑ%Ô%ˆØ�ŠÑ Ô ð 	QÝ"Ð#G¨WÐ#GÐ#GÐ#GÑHÔHÐHØ—’Ñ"Ô"ð 	QÝ#Ð$O¨gÐ$OÐ$OÐ$OÑPÔPÐPØ—9’9˜WÑ%Ô%ˆØð 	N˜hŸošoÑ/Ô/ð 	NÝ"Ð#L°'Ð#LÐ#LÐ#LÑMÔMÐMØ×ÒÑÔð 	VÝ#Ð$T°7Ð$TÐ$TÐ$TÑUÔUÐUØð 	?ØŒO×!Ò!¨$¸Ð!Ñ>Ô>Ð>Ø�?Š?ÑÔð 	!Ý�H×$Ò$Ñ&Ô&Ñ'Ô'ð !Ý'Ð(O°wÐ(OÐ(OÐ(OÑPÔPÐPÝ"ð !ð —’Ñ Ô Ð Ø�Š˜Ñ!Ô!Ð!Ð!Ð!r)   c                óF   — t          |                      |¦  «        ¦  «        S r<   )r+   r1   r>   s     r(   Ú
getsyspathzOSFS.getsyspath�   s   € Ý�4—9’9˜T‘?”?Ñ#Ô#Ð#r)   c                óJ   — | j         j        › dt          | j        ¦  «        ›d�S )Nú(ú))r'   Ú__name__r+   r#   ©r&   s    r(   Ú__repr__zOSFS.__repr__    s&   € Ø”.Ô)Ð@Ð@­C°´
©O¬OÐ@Ð@Ð@Ð@r)   c                óV   — d| j         j                             ¦   «         › d| j        › d�S )Nú<z 'z'>)r'   r”   Úlowerr#   r•   s    r(   Ú__str__zOSFS.__str__£   s.   € ØD�4”>Ô*×0Ò0Ñ2Ô2ÐDÐD°d´jÐDÐDÐDÐDr)   )F)r   r   r   r   )r*   r+   r,   r   )r2   )r3   r+   r4   r+   r,   r5   )r3   r+   r,   r   )r3   r+   r,   rE   )FF)r3   r+   r   r   r   r   r,   r   )r3   r+   rR   r   r,   r   r<   )r3   r+   rY   rZ   r,   r   )r3   r+   )r†   r+   r‡   r+   r   r   )r3   r+   r,   r+   )r,   r+   )r”   Ú
__module__Ú__qualname__Ú__doc__r!   r1   r8   r=   rA   rD   rN   rQ   rV   rX   rq   rz   r�   r…   rŽ   r�   r–   rš   Ú__classcell__)r'   s   @r(   r   r   "   sá  ø€ € € € € ðð ð
	ð 	ð 	ð 	ð 	ð 	ð 	ð<ð <ð <ð <ðKð Kð Kð Kð Kð(ð (ð (ð (ð(ð (ð (ð (ð)ð )ð )ð )ð;ð ;ð ;ð ;ð"ð "ð "ð "ð "ðCð Cð Cð Cð CðBð Bð Bð Bð Bðð ð ð ð ð0
Lð 
Lð 
Lð 
Lð	Gð 	Gð 	Gð 	Gð'ð 'ð 'ð 'ð"ð "ð "ð "ð "ð0$ð $ð $ð $ðAð Að Að AðEð Eð Eð Eð Eð Eð Eð Er)   r   )#Ú
__future__r   r   Úplatformrƒ   re   ÚtypingÚosr   Úpathlibr   Ú_baser   Ú_errorsr   r	   r
   r   r   r   r   Ú_infor   Ú_pathr   ÚTYPE_CHECKINGÚcollections.abcr   r   r   Ú_subfsr   Úsystemrl   r   rH   r)   r(   ú<module>r¬      s   ðØ "Ð "Ð "Ð "Ð "Ð "à €€€Ø €€€Ø €€€Ø €€€Ø €€€Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à	Ôð Ø*Ð*Ð*Ð*Ð*Ð*ØÐÐÐÐÐÐÐàÐÐÐÐÐð $�H”OÑ%Ô%¨Ò2Ð ðBEð BEð BEð BEð BEˆ2ñ BEô BEð BEð BEð BEr)   