§
    ¢”jª  ã                  óÔ   — d dl mZ d dlZd dlmZmZ ddlmZmZ ddl	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mZmZmZmZmZ dd
lmZ ddlmZ  G d„ de¦  «        ZdS )é    )ÚannotationsN)ÚABCÚabstractmethodé   )Úcopy_dirÚ	copy_file)ÚDestinationExistsÚDirectoryExpectedÚFileExpectedÚFilesystemClosedÚ	NoSysPathÚResourceNotFound)Údirname©ÚBoundWalker)ÚIOÚAnyÚ
CollectionÚIteratorÚSelfÚType)ÚInfo©ÚSubFSc                  óÖ  — e Zd ZU dZdZded<   ed;d<d„¦   «         Zed=d„¦   «         Zed=d„¦   «         Z	ed=d„¦   «         Z
ed>d„¦   «         Zed?d@d„¦   «         Zed?d@d„¦   «         ZedAdBd„¦   «         ZedCd„¦   «         ZedCd„¦   «         ZedCd„¦   «         Zed?dDd!„¦   «         ZdEd"„Zd#„ ZdFd$„ZdGd&„Zd'„ Zd(„ Zdd)œdHd,„Z	 dAdId.„ZedJd0„¦   «         ZdKd2„ZdLd4„Zd?dMd6„Zd?dNd9„Z d?dNd:„Z!dS )OÚFSz+Abstract base class for custom filesystems.FÚboolÚ_closedÚrbÚpathÚstrÚmodeÚreturnúIO[Any]c                ó   — d S ©N© )Úselfr    r"   Úkwargss       ún/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/fontTools/misc/filesystem/_base.pyÚopenzFS.open   s   € ØFIÀcó    c                ó   — d S r&   r'   ©r(   r    s     r*   Úexistsz	FS.exists!   ó   € Ø),¨r,   c                ó   — d S r&   r'   r.   s     r*   ÚisdirzFS.isdir$   s   € Ø(+¨r,   c                ó   — d S r&   r'   r.   s     r*   Úisfilez	FS.isfile'   r0   r,   ú	list[str]c                ó   — d S r&   r'   r.   s     r*   Úlistdirz
FS.listdir*   s   € Ø/2¨sr,   Úrecreater   c                ó   — d S r&   r'   ©r(   r    r8   s      r*   Úmakedirz
FS.makedir-   s   € ØCFÀ3r,   c                ó   — d S r&   r'   r:   s      r*   ÚmakedirszFS.makedirs0   s   € ØDGÀCr,   NÚ
namespacesúCollection[str] | Noner   c                ó   — d S r&   r'   ©r(   r    r>   s      r*   Úgetinfoz
FS.getinfo3   s   € ØUXÐUXr,   ÚNonec                ó   — d S r&   r'   r.   s     r*   Úremovez	FS.remove6   r0   r,   c                ó   — d S r&   r'   r.   s     r*   Ú	removedirzFS.removedir9   s   € Ø,/¨Cr,   c                ó   — d S r&   r'   r.   s     r*   Ú
removetreezFS.removetree<   s   € Ø-0¨Sr,   ÚsrcÚdstÚcreatec                ó   — d S r&   r'   )r(   rJ   rK   rL   s       r*   Úmovedirz
FS.movedir?   s   € ØILÈr,   c                ó(   — t          d| ›d�¦  «        ‚)Núthe filesystem z has no system path)r   r.   s     r*   Ú
getsyspathzFS.getsyspathB   s   € ÝÐE¨$ÐEÐEÐEÑFÔFÐFr,   c                ó   — d| _         d S )NT©r   ©r(   s    r*   ÚclosezFS.closeE   s   € ØˆŒˆˆr,   c                ó   — | j         S r&   rS   rT   s    r*   ÚisclosedzFS.isclosedH   s
   € ØŒ|Ðr,   r   c                ó   — | S r&   r'   rT   s    r*   Ú	__enter__zFS.__enter__K   s   € Øˆr,   c                ó.   — |                       ¦   «          dS )NF)rU   )r(   Úexc_typeÚexcÚtbs       r*   Ú__exit__zFS.__exit__N   s   € Ø�
Š
‰ŒˆØˆur,   c                ó:   — | j         rt          d| ›d�¦  «        ‚d S )NrP   z
 is closed)r   r   rT   s    r*   ÚcheckzFS.checkR   s3   € ØŒ<ð 	IÝ"Ð#G°TÐ#GÐ#GÐ#GÑHÔHÐHð	Ið 	Ir,   )Úfactoryra   úType[SubFS] | Nonec               ó.   — |€ddl m} |} || |¦  «        S )u+   Return a subâ€‘filesystem rooted at `path`.Nr   r   )Ú_subfsr   )r(   r    ra   r   s       r*   Úopendirz
FS.opendirV   s0   € àˆ?Ø%Ð%Ð%Ð%Ð%Ð%àˆGØˆw�t˜TÑ"Ô"Ð"r,   úIterator[Info]c                óN   ‡ ‡‡— ˆˆˆ fd„‰                       ‰¦  «        D ¦   «         S )Nc              3  óN   •K  — | ]}‰                      ‰› d |› �‰¦  «        V — Œ dS )ú/N)rB   )Ú.0Úpr>   r    r(   s     €€€r*   ú	<genexpr>zFS.scandir.<locals>.<genexpr>a   s;   øè è € ÐTÐT¸A�—’ ˜]˜] q˜]˜]¨JÑ7Ô7ÐTÐTÐTÐTÐTÐTr,   )r7   rA   s   ```r*   Úscandirz
FS.scandir^   s4   øøø€ ð UÐTÐTÐTÐTÐTÀÇÂÈdÑASÔASÐTÑTÔTÐTr,   r   c                ó    — t          | ¦  «        S r&   r   rT   s    r*   ÚwalkzFS.walkc   s   € å˜4Ñ Ô Ð r,   Úbytesc                óŠ   — |                       |d¦  «        5 }|                     ¦   «         cd d d ¦  «         S # 1 swxY w Y   d S )Nr   )r+   Úread)r(   r    Úfs      r*   Ú	readbyteszFS.readbytesg   s‚   € Ø�YŠY�t˜TÑ"Ô"ð 	 aØ—6’6‘8”8ð	ð 	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   —8¸<¿<Údatac                óŽ   — |                       |d¦  «        5 }|                     |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NÚwb)r+   Úwrite)r(   r    ru   rs   s       r*   Ú
writebyteszFS.writebytesk   s†   € Ø�YŠY�t˜TÑ"Ô"ð 	 aØ�GŠG�D‰MŒMˆMð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   —:º>Á>Úwipec                ó–   — |s|                       |¦  «        rdS |                      |d¦  «        5  	 d d d ¦  «         n# 1 swxY w Y   dS )NFrw   T)r/   r+   )r(   r    rz   s      r*   rL   z	FS.createo   s“   € Øð 	˜Ÿš DÑ)Ô)ð 	Ø�5Ø�YŠY�t˜TÑ"Ô"ð 	ð 	Øð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	àˆts   °>¾AÁAÚsrc_pathÚdst_pathc                ó   — |                       |¦  «        st          |›d�¦  «        ‚|                      |¦  «        st          d|›d�¦  «        ‚|s(|                       |¦  «        rt	          d|›d�¦  «        ‚|                      t          |¦  «        ¦  «        s t          dt          |¦  «        ›d�¦  «        ‚t          | || |¦  «         d S )Nú does not existúpath z should be a filezdestination z already existsú should be a directory)	r/   r   r4   r   r	   r2   r   r
   r   )r(   r|   r}   Ú	overwrites       r*   ÚcopyzFS.copyv   sí   € Ø�{Š{˜8Ñ$Ô$ð 	FÝ" hÐ#AÐ#AÐ#AÑBÔBÐBØ—’˜XÑ&Ô&ð 	FÝÐD xÐDÐDÐDÑEÔEÐEØð 	P˜TŸ[š[¨Ñ2Ô2ð 	PÝ#Ð$N°8Ð$NÐ$NÐ$NÑOÔOÐOØ�zŠz�' (Ñ+Ô+Ñ,Ô,ð 	YÝ#Ð$W­G°HÑ,=Ô,=Ð$WÐ$WÐ$WÑXÔXÐXÝ�$˜ $¨Ñ1Ô1Ð1Ð1Ð1r,   c                óÌ   — |s'|                       |¦  «        st          |›d�¦  «        ‚|                      |¦  «        st          d|›d�¦  «        ‚t	          | || |¦  «         d S )Nr   r€   r�   )r/   r   r2   r
   r   )r(   r|   r}   rL   s       r*   Úcopydirz
FS.copydir�   s   € Øð 	C˜dŸkšk¨(Ñ3Ô3ð 	CÝ" hÐ#AÐ#AÐ#AÑBÔBÐBØ�zŠz˜(Ñ#Ô#ð 	PÝ#Ð$N¨HÐ$NÐ$NÐ$NÑOÔOÐOÝ��x  xÑ0Ô0Ð0Ð0Ð0r,   )r   )r    r!   r"   r!   r#   r$   )r    r!   r#   r   )r    r!   r#   r5   )F)r    r!   r8   r   r#   r   r&   )r    r!   r>   r?   r#   r   )r    r!   r#   rC   )rJ   r!   rK   r!   rL   r   r#   rC   )r    r!   r#   r!   )r#   r   )r#   r   )r    r!   ra   rb   r#   r   )r    r!   r>   r?   r#   rf   )r#   r   )r    r!   r#   rp   )r    r!   ru   rp   )r    r!   rz   r   )r|   r!   r}   r!   )"Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Ú__annotations__r   r+   r/   r2   r4   r7   r;   r=   rB   rE   rG   rI   rN   rQ   rU   rW   rY   r^   r`   re   rm   Úpropertyro   rt   ry   rL   rƒ   r…   r'   r,   r*   r   r      s�  € € € € € € Ø5Ð5à€GÐÐÐÑàØIÐIÐIÐIñ „^ØIàØ,Ð,Ð,ñ „^Ø,àØ+Ð+Ð+ñ „^Ø+àØ,Ð,Ð,ñ „^Ø,àØ2Ð2Ð2ñ „^Ø2àØFÐFÐFÐFñ „^ØFàØGÐGÐGÐGñ „^ØGàØXÐXÐXÐXñ „^ØXàØ,Ð,Ð,ñ „^Ø,àØ/Ð/Ð/ñ „^Ø/àØ0Ð0Ð0ñ „^Ø0àØLÐLÐLÐLñ „^ØLðGð Gð Gð Gðð ð ðð ð ð ðð ð ð ðð ð ðIð Ið Ið CGð #ð #ð #ð #ð #ð #ð ?CðUð Uð Uð Uð Uð
 ð!ð !ð !ñ „Xð!ðð ð ð ðð ð ð ðð ð ð ð ð	2ð 	2ð 	2ð 	2ð 	2ð1ð 1ð 1ð 1ð 1ð 1ð 1r,   r   ) Ú
__future__r   ÚtypingÚabcr   r   Ú_copyr   r   Ú_errorsr	   r
   r   r   r   r   Ú_pathr   Ú_walkr   ÚTYPE_CHECKINGr   r   r   r   r   r   Ú_infor   rd   r   r   r'   r,   r*   ú<module>r•      sc  ðØ "Ð "Ð "Ð "Ð "Ð "à €€€Ø #Ð #Ð #Ð #Ð #Ð #Ð #Ð #à &Ð &Ð &Ð &Ð &Ð &Ð &Ð &ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à	Ôð Ø@Ð@Ð@Ð@Ð@Ð@Ð@Ð@Ð@Ð@Ð@Ð@Ð@Ð@Ð@Ð@àÐÐÐÐÐØÐÐÐÐÐðm1ð m1ð m1ð m1ð m1ˆñ m1ô m1ð m1ð m1ð m1r,   