+
    SBi                       R t ^ RIHt ^ RIt^ RIt^ RIt^ RIHtHt ^ RI	H
t
HtHt ]
'       d   ^ RIHtHtHt . R&OtR'R R lltR'R R	 lltR
 R lt]R R l4       t]R R l4       tR R ltR t]R R l4       t]R R l4       tR R lt]R R l4       t]R R l4       tR R lt]P2                  ! R4      t]P2                  ! R 4      tR! R" ltR# R$ ltR% tR# )(z
Filename globbing utility. Mostly a copy of `glob` from Python 3.5.

Changes include:
 * `yield from` and PEP3102 `*` removed.
 * Hidden files are not ignored.
)annotationsN)IterableIterator)TYPE_CHECKINGAnyStroverload)	BytesPathStrOrBytesPathStrPathc               $    V ^8  d   QhRRRRRR/# )   pathnamer   	recursiveboolreturnzlist[AnyStr] )formats   "4/usr/lib/python3.14/site-packages/setuptools/glob.py__annotate__r      s!     6 66 6d 6| 6    c                ,    \        \        WR7      4      # )a]  Return a list of paths matching a pathname pattern.

The pattern may contain simple shell-style wildcards a la
fnmatch. However, unlike fnmatch, filenames starting with a
dot are special cases that are not matched by '*' and '?'
patterns.

If recursive is true, the pattern '**' will match any files and
zero or more directories and subdirectories.
)r   )listiglob)r   r   s   &&r   globr      s     h455r   c               $    V ^8  d   QhRRRRRR/# r   r   r   r   r   r   zIterator[AnyStr]r   )r   s   "r   r   r   %   s"      F t 8H r   c                x    \        W4      pV'       d'   \        V 4      '       d   \        V4      pV'       d   Q hV# )ap  Return an iterator which yields the paths matching a pathname pattern.

The pattern may contain simple shell-style wildcards a la
fnmatch. However, unlike fnmatch, filenames starting with a
dot are special cases that are not matched by '*' and '?'
patterns.

If recursive is true, the pattern '**' will match any files and
zero or more directories and subdirectories.
)_iglob_isrecursivenext)r   r   itss   &&  r   r   r   %   s0     
	$B\(++HuIr   c               $    V ^8  d   QhRRRRRR/# r   r   )r   s   "r   r   r   7   s"     . .V . .1A .r   c              #    "   \         P                  P                  V 4      w  r#V'       d   \        V4      '       d   \        M\
        p\        V 4      '       g_   V'       d,   \         P                  P                  V 4      '       d   V x  R # \         P                  P                  V4      '       d   V x  R # V'       g   V! W#4       R j  xL
  R # W 8w  d   \        V4      '       d   \        W!4      pMV.p\        V4      '       g   \        pV F3  pV! W#4       F$  p\         P                  P                  W&4      x  K&  	  K5  	  R #  L~5iN)ospathsplitr   glob2glob1	has_magiclexistsisdirr   glob0join)r   r   dirnamebasenameglob_in_dirdirsnames   &&     r   r   r   7   s     h/G$h)?)?%UKXwwx((
 	 ww}}W%%w111 y11!'!;yX2D'',,w-- 3  	2s+   AE"$E*E2E EE
A?Ec               $    V ^8  d   QhRRRRRR/# )r   r/   r
   patternstrr   z	list[str]r   )r   s   "r   r   r   \   s     ; ;7 ;S ;Y ;r   c                    R # r$   r   r/   r5   s   &&r   r)   r)   [   s    8;r   c               $    V ^8  d   QhRRRRRR/# )r   r/   r   r5   bytesr   zlist[bytes]r   )r   s   "r   r   r   ^   s     A A9 Au A Ar   c                    R # r$   r   r8   s   &&r   r)   r)   ]   s    >Ar   c               $    V ^8  d   QhRRRRRR/# )r   r/   r	   r5   str | bytesr   zlist[str] | list[bytes]r   )r   s   "r   r   r   _   s"     * *> *K *<S *r   c                   V '       gG   \        V\        4      '       d!   \        P                  P	                  R 4      p M\        P                  p  \        P
                  ! V 4      p\        P                  ! Y!4      #   \         d    . u # i ; i)ASCII)	
isinstancer:   r%   curdirencodelistdirOSErrorfnmatchfilter)r/   r5   namess   && r   r)   r)   _   si    gu%%ii&&w/GiiG

7# >>%))  	s   A< <BBc                    V'       g,   \         P                  P                  V 4      '       d   V.#  . # \         P                  P                  \         P                  P	                  W4      4      '       d   V.# . # r$   )r%   r&   r,   r+   r.   )r/   r0   s   &&r   r-   r-   m   s]     77==!!: "
 I 77??277<<:;;:Ir   c               $    V ^8  d   QhRRRRRR/# )r   r/   r
   r5   r6   r   Iterator[str]r   )r   s   "r   r   r   ~   s     ? ?7 ?S ?] ?r   c                    R # r$   r   r8   s   &&r   r(   r(   }   s    <?r   c               $    V ^8  d   QhRRRRRR/# )r   r/   r   r5   r:   r   Iterator[bytes]r   )r   s   "r   r   r      s     E E9 Eu E Er   c                    R # r$   r   r8   s   &&r   r(   r(      s    BEr   c               $    V ^8  d   QhRRRRRR/# )r   r/   r	   r5   r=   r   Iterator[str | bytes]r   )r   s   "r   r   r      s"     " "> "K "<Q "r   c              #  t   "   \        V4      '       g   Q hVR ,          x  \        V 4       Rj  xL
  R#  L5i):N    NN)r   	_rlistdirr8   s   &&r   r(   r(      s.         
"+!!!s   -868c                    V ^8  d   QhRRRR/# )r   r/   r
   r   rJ   r   )r   s   "r   r   r      s     5 5w 5= 5r   c                    R # r$   r   r/   s   &r   rS   rS      s    25r   c                    V ^8  d   QhRRRR/# )r   r/   r   r   rM   r   )r   s   "r   r   r      s     9 9y 9_ 9r   c                    R # r$   r   rV   s   &r   rS   rS      s    69r   c                    V ^8  d   QhRRRR/# )r   r/   r	   r   rP   r   )r   s   "r   r   r      s     % %~ %*? %r   c              #    "   V '       gG   \        V \        4      '       d!   \        P                  P	                  R 4      p M\        P                  p  \        P
                  ! V 4      pT Fc  pTx  T '       d    \        P                  P                  Y4      MTp\        T4       F$  p\        P                  P                  Y$4      x  K&  	  Ke  	  R#   \         d     R# i ; i5i)r?   N)
r@   r:   r%   rA   rB   rC   rD   r&   r.   rS   )r/   rG   xr&   ys   &    r   rS   rS      s     gu%%ii&&w/GiiG

7# +2rww||G'4A'',,q$$ !	   s+   AC%C (A+C%C"C%!C""C%z([*?[])s   ([*?[])c                    V ^8  d   QhRRRR/# )r   r!   r=   r   r   r   )r   s   "r   r   r      s     1 1 1 1r   c                    \        V \        4      '       d   \        P                  V 4      R J# \        P                  V 4      R J# r$   )r@   r:   magic_check_bytessearchmagic_check)r!   s   &r   r*   r*      s;    !U ''*$66!!!$D00r   c                    V ^8  d   QhRRRR/# )r   r5   r=   r   r   r   )r   s   "r   r   r      s      + $ r   c                B    \        V \        4      '       d   V R 8H  # V R8H  # )s   **z**)r@   r:   )r5   s   &r   r   r      s$    '5!!%$r   c                    \         P                  P                  V 4      w  r\        V \        4      '       d   \
        P                  RV 4      p W,           # \        P                  RV 4      p W,           # )zEscape all special characters.s   [\1]z[\1])r%   r&   
splitdriver@   r:   r_   subra   )r   drives   & r   escaperh      s_     gg((2OE(E""$((8<  ??7H5r   )r   r   rh   )F)__doc__
__future__r   rE   r%   recollections.abcr   r   typingr   r   r   	_typeshedr   r	   r
   __all__r   r   r   r)   r-   r(   rS   compilera   r_   r*   r   rh   r   r   r   <module>rq      s    #  	 	 . 2 2<<
%6$.H 
 ; 
 ;	 A 
 A*	  
 ? 
 ?	 E 
 E" 
 5 
 5	 9 
 9%$ jj#JJz* 1	r   