Ë
    ÚÍ:jw  ã                  ó�   — d dl mZ d dlZd dlmZ d dlmZmZ ddlm	Z	 ej                  rd dlmZ ddlmZ dd	lmZ  G d
„ d«      Zy)é    )ÚannotationsN)Údeque)Ú
CollectionÚIteratoré   )Úcombine)ÚCallable)ÚFS)ÚInfoc                  ó^   — e Zd Zd	d„Z	 d
	 	 	 	 	 dd„Zd„ ddf	 	 	 	 	 	 	 dd„Zddd„Zddd„Zy)ÚBoundWalkerc                ó   — || _         y ©N)Ú_fs)ÚselfÚfss     út/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/fontTools/misc/filesystem/_walk.pyÚ__init__zBoundWalker.__init__   s	   € Øˆ�ó    Nc              #  ó2  K  — t        |g«      }|j                  }|j                  }| j                  j                  }t
        }|rK |«       } |||¬«      D ]4  }	|	j                  r ||	f–—  | |||	j                  «      «       Œ/||	f–— Œ6 |rŒK|df–— y­w)z*Walk files using a *breadth first* search.)Ú
namespacesN)r   Ú
appendleftÚpopr   Úscandirr   Úis_dirÚname)
r   Úpathr   ÚqueueÚpushr   Ú_scanÚ_combineÚdir_pathÚinfos
             r   Ú
_iter_walkzBoundWalker._iter_walk   sš   è ø€ ô �t�f“ˆØ×ÑˆØ�i‰iˆØ—‘× Ñ ˆÜˆáÙ“uˆHÙ˜h°:Ô>ò )�Ø—;’;Ø" D˜.Ò(Ù™ (¨D¯I©IÓ6Õ7à" D˜.Ó(ð)ò ð �DˆjÓùs   ‚BBÂBc                 ó   — y)NT© )r   r#   s     r   ú<lambda>zBoundWalker.<lambda>*   s   � r   ú/c              #  ó�   K  — t         }| j                  ||«      D ]'  \  }}|€Œ	 |||«      sŒ |||j                  «      –— Œ) y ­wr   )r   r$   r   )r   Úincluder   r   r!   r#   s         r   Ú_filterzBoundWalker._filter(   sK   è ø€ ô ˆØŸ/™/¨$°
Ó;ò 	0‰JˆD�$ØÑ¡G¨D°$Õ$7Ù˜t T§Y¡YÓ/Ó/ñ	0ùs   ‚!A¤	A®Ac              #  óF   K  — | j                  d„ |«      E d {  –—†  y 7 Œ­w)Nc                ó   — |j                   S r   )Úis_file©Ú_r#   s     r   r'   z#BoundWalker.files.<locals>.<lambda>4   s
   € °·±€ r   ©r+   ©r   r   s     r   ÚfileszBoundWalker.files3   s   è ø€ Ø—<‘<Ñ <¸dÓC×CÒCúó   ‚!™š!c              #  óF   K  — | j                  d„ |«      E d {  –—†  y 7 Œ­w)Nc                ó   — |j                   S r   )r   r/   s     r   r'   z"BoundWalker.dirs.<locals>.<lambda>7   s
   € °·±€ r   r1   r2   s     r   ÚdirszBoundWalker.dirs6   s   è ø€ Ø—<‘<Ñ ;¸TÓB×BÒBúr4   )r   r
   r   )r   Ústrr   úCollection[str] | NoneÚreturnz!Iterator[tuple[str, Info | None]])r*   zCallable[[str, Info], bool]r   r8   r   r9   r:   úIterator[str])r(   )r   r8   r:   r;   )Ú__name__Ú
__module__Ú__qualname__r   r$   r+   r3   r7   r&   r   r   r   r      sm   „ óð ?CðØðØ%;ðà	*óñ, 0GØØ-1ð		0à,ð	0ð ð	0ð +ð		0ð
 
ó	0ôDõCr   r   )Ú
__future__r   ÚtypingÚcollectionsr   Úcollections.abcr   r   Ú_pathr   ÚTYPE_CHECKINGr	   Ú_baser
   Ú_infor   r   r&   r   r   ú<module>rG      s2   ðÝ "ã Ý ß 0å à	×ÒÝåÝ÷'Cò 'Cr   