Ë çK>=Oj­ãó°—dZddlZddlZddlZgd¢Zdd„Zdd„Zd„Zd„Zd„Z d „Z d „Z ejd «Z ejd «Zd „Zd„Zd„Zy)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. éN)ÚglobÚiglobÚescapecó.—tt||¬««S)ayReturn 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. )Ú recursive)Úlistr)Úpathnamers ú4/usr/lib/python3.12/site-packages/setuptools/glob.pyrrs€ô ”�h¨)Ô4Ó 5Ð5ócóV—t||«}|rt|«rt|«}|rJ‚|S)aŒ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 rrs/€ô �˜)Ó $€BÙ”\ (Ô+Ü �‹HˆÙˆ ˆuØ €Ir c#ó(K—tjj|«\}}|rt|«rtnt }t |«sJ|r$tjj|«r|–—ytjj|«r|–—y|s|||«Ed{–—†y||k7rt |«r t||«}n|g}t |«st}|D]2}|||«D]$}tjj||«–—Œ&Œ4y7Œn­w©N) ÚosÚpathÚsplitrÚglob2Úglob1Ú has_magicÚlexistsÚisdirr Úglob0Újoin)r rÚdirnameÚbasenameÚ glob_in_dirÚdirsÚnames r r r 0sèèø€ÜŸ™Ÿ ™  hÓ/Ñ€GˆXÙ$¬°hÔ)?•%ÄU€Kä �XÔ Ù Ü�w‰w�‰˜xÔ(Ø’ð ô�w‰w�}‰}˜WÔ%Ø’Øá Ù˜w¨Ó1×1Ð1Øð�(Òœy¨Ô1Ü�g˜yÓ)‰àˆyˆÜ �XÔ Üˆ ÛˆÙ ¨Ö2ˆDÜ—'‘'—,‘,˜w¨Ó-Ó -ñ3ñð 2ús‚BDÂ!DÂ"A/Dcó—|s@t|t«r tjj d«}ntj} tj |«}tj||«S#t $rgcYSwxYw©NÚASCII) Ú isinstanceÚbytesrÚcurdirÚencodeÚlistdirÚOSErrorÚfnmatchÚfilter)rÚpatternÚnamess r rrTsh€Ù Ü �gœuÔ %Ü—i‘i×&Ñ& wÓ/‰Gä—i‘iˆGðÜ— ‘ ˜7Ó#ˆô �>‰>˜% Ó )Ð)øô òØŠ ðúsÁA/Á/ A=Á<A=cóÒ—|s$tjj|«r|gSgStjjtjj ||««r|gSgSr)rrrrr)rrs r rrasT€Ù ô �7‰7�=‰=˜Ô !Ø�:Ð ð €Iô �7‰7�?‰?œ2Ÿ7™7Ÿ<™<¨°Ó:Ô ;Ø�:Ð Ø €Ir c#ó^K—t|«sJ‚|dd–—t|«Ed{–—†y7Œ­w)Nr)rÚ _rlistdir)rr.s r rrqs.èø€Ü ˜Ô Ð Ð Ø �"�1ˆ+ÒܘÓ!×!Ò!ús ‚#-¥+¦-c#óœK—|s@t|t«r tjj d«}ntj} tj |«}|D]\}|–—|r tjj||«n|}t|«D]$}tjj||«–—Œ&Œ^y#t $rYywxYw­wr$) r&r'rr(r)r*r+rrr2)rr/ÚxrÚys r r2r2xs¢èø€Ù Ü �gœuÔ %Ü—i‘i×&Ñ& wÓ/‰Gä—i‘iˆGðÜ— ‘ ˜7Ó#ˆóˆØŠÙ+2Œr�w‰w�|‰|˜G QÔ'¸ˆÜ˜4–ˆAÜ—'‘'—,‘,˜q !Ó$Ó $ñ!ñøô òÙðüs+‚AC ÁB=ÁA"C Â= C ÃC ÃC à C z([*?[])s([*?[])có†—t|t«rtj|«}|duStj|«}|duSr)r&r'Úmagic_check_bytesÚsearchÚ magic_check)rÚmatchs r rr�sF€Ü�!”UÔÜ!×(Ñ(¨Ó+ˆð ˜Ð Ðô×"Ñ" 1Ó%ˆØ ˜Ð Ðr có6—t|t«r|dk(S|dk(S)Ns**z**)r&r')r.s r rr•s!€Ü�'œ5Ô!ؘ%ÑÐà˜$‰Ðr cóÒ—tjj|«\}}t|t«rt j d|«}||zStj d|«}||zS)zEscape all special characters.s[\1]z[\1])rrÚ splitdriver&r'r7Úsubr9)r Údrives r rrœsb€ô—g‘g×(Ñ(¨Ó2�O€Eˆ8Ü�(œEÔ"Ü$×(Ñ(¨°8Ó<ˆð �8Ñ Ðô—?‘? 7¨HÓ5ˆØ �8Ñ Ðr )F)Ú__doc__rÚrer,Ú__all__rrr rrrr2Úcompiler9r7rrr©r r ÚrEspðñó Û Ûâ %€ó 6óò$.òH *ò ò "ò%ð"ˆb�j‰j˜Ó#€ Ø�B—J‘J˜zÓ*Ðòòó r