+
    Ž°³jIi  ã                  óž  € R t ^ RIHt ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIH	t	 ^ RI
Ht ^ RIt^ RIt^ RIt^ RIHtHt ^ RIHt ^ RIHtHt ^ RIHt ^ R	IHt ^R
IHtHt ^RIHt ^RI H!t! ^RIH"t" ^ RI#t$^ RI%t$^ RI$H&t& ^ RI#H't' ^ RI%H(t) ^ RI*H+t+ ]PX                  PZ                   R]PX                  P\                   2t/ ! R R4      t0R t1 ! R R4      t2 ! R R]2]4      t3 ! R R])4      t( ! R R]4      t4R R lt5R  R! lt6R" R# lt7]"Pp                  t8]"Pr                  t9R$ R% lt:R& R' lt;R/R( R) llt<R* R+ lt=R0R, lt> ! R- R.]!4      t?R# )1zUsetuptools.command.egg_info

Create a distribution's .egg-info directory and contents)ÚannotationsN)ÚCallable)ÚClassVar)ÚCommandÚunicode_utils)Ú	bdist_egg)ÚsdistÚwalk_revctrl)Úedit_config)Úglob)Ú_entry_pointsÚ_normalization)Úmetadata)ÚSetuptoolsDeprecationWarning)Ú_requirestxt)Úlog)ÚDistutilsInternalError)ÚFileList)Úconvert_pathÚ.c                  ó2   € ] tR t^(tRtR R ltR tR tRtR# )Ú_NormalizedMatcheraq  
Wrap a compiled pattern so that matching is insensitive to Unicode
normalization form.

File names walked from disk (NFD on macOS APFS/HFS+) and patterns from
``MANIFEST.in`` (typically NFC) can denote the same file while differing
byte-for-byte. Normalizing both sides before matching keeps an exclusion
(or inclusion) from silently failing. See GHSA-h35f-9h28-mq5c.
c               ó    € V ^8„  d   QhRRRR/# )é   Úpatternz
re.PatternÚreturnÚNone© )Úformats   "Ú\/home/luca/screen-checking/.venv/lib/python3.14/site-packages/setuptools/command/egg_info.pyÚ__annotate__Ú_NormalizedMatcher.__annotate__3   s   € ÷  ñ   
ð  ¨tñ  ó    c                	ó   € Wn         R # ©N©Ú_pattern)Úselfr   s   &&r   Ú__init__Ú_NormalizedMatcher.__init__3   s   € ØŽr"   c                	ó`   € V P                   P                  \        P                  ! V4      4      # r$   )r&   Úmatchr   Ú	normalize©r'   Úpaths   &&r   r+   Ú_NormalizedMatcher.match6   s"   € Ø�}‰}×"Ñ"¤=×#:Ò#:¸4Ó#@ÓAÐAr"   c                	ó`   € V P                   P                  \        P                  ! V4      4      # r$   )r&   Úsearchr   r,   r-   s   &&r   r1   Ú_NormalizedMatcher.search9   s"   € Ø�}‰}×#Ñ#¤M×$;Ò$;¸DÓ$AÓBÐBr"   r%   N)	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r(   r+   r1   Ú__static_attributes__r   r"   r   r   r   (   s   † ñõ òBöCr"   r   c                óÚ  € Rp\         P                  ! V 4      p V P                  ! \        P                  P
                  4      p\        P                  ! \        P
                  4      pRV R2p\        V4       EF£  w  rVV\        V4      ^,
          8H  pVR8X  d%   V'       d   VR,          pMVRV RV R2,          pKF  ^ p\        V4      p	W‰8  Ed7   Wh,          p
V
R	8X  d   WR	,           ,          pEM
V
R
8X  d
   W,          pMúV
R8X  d×   V^,           pW¹8  d   Wk,          R8X  d
   V^,           pW¹8  d   Wk,          R8X  d
   V^,           pW¹8  d   Wk,          R8w  d   V^,           pK  W¹8¼  d   V\        P                  ! V
4      ,          pMpWh^,           V pRpV^ ,          R8X  d   RpVR,          pV\        P                  ! V4      ,          pVRV R2,          pTpMV\        P                  ! V
4      ,          pV^,          pEK=  V'       d   EK›  W,          pEK¦  	  VR,          p\        \        P                  ! V\        P                  \        P                  ,          R7      4      # )zâ
Translate a file path glob like '*.txt' in to a regular expression.
This differs from fnmatch.translate which allows wildcards to match
directory separators. It also knows about '**/' which matches any number of
directories.
Ú z[^Ú]ú**z.*z(?:Ú+z)*Ú*Ú?Ú[Ú!Ú^ºé   NNz\Z)Úflags)r   r,   ÚsplitÚosr.   ÚsepÚreÚescapeÚ	enumerateÚlenr   ÚcompileÚ	MULTILINEÚDOTALL)r   ÚpatÚchunksrH   Ú
valid_charÚcÚchunkÚ
last_chunkÚiÚ	chunk_lenÚcharÚinner_iÚinnerÚ
char_classs   &             r   Útranslate_patternr\   =   s  € ð €Cô
 ×"Ò" 4Ó(€Dð �ZŠZœŸ™Ÿ™Ó$€Fä
�)Š)”B—F‘FÓ
€CØ�c�U˜!�€Jä˜f×%‰ˆØœ#˜f›+¨�/Ñ)ˆ
ð �DŒ=ßà�t•‘ð ˜˜Z˜L¨¨#¨¨bÐ1Õ1�Ùð ˆÜ˜“Jˆ	Ø�mØ•8ˆDØ�sŒ{à CÕ'Õ'’Ø˜”àÕ!‘Ø˜”à˜a�%�àÔ&¨5­>¸SÔ+@Ø%¨�k�GØÔ&¨5­>¸SÔ+@Ø%¨�k�Gð Ô)¨e­nÀÔ.CØ%¨�k’GàÔ'ð œ2Ÿ9š9 T›?Õ*‘Cð " a¥%¨'Ð2�EØ!#�Jð ˜Q•x 3”Ø%(˜
Ø % b¥	˜à¤"§)¢)¨EÓ"2Õ2�JØ˜Q˜z˜l¨!Ð,Õ,�Cð  ‘Aà”r—y’y “Õ&�Ø��F‹A÷ ŠzØ�J‹Cñ} &ð@ ˆ5…L€CÜœbŸjšj¨´B·L±LÄ2Ç9Á9Õ4LÔMÓNÐNr"   c                  ón   € ] tR t^•tRtRt]R 4       tR tR t	R R lt
R R ltR	 R
 lt]! ]4      tRtR# )Ú
InfoCommonNc                	ó^   € \         P                  ! V P                  P                  4       4      # r$   )r   Ú	safe_nameÚdistributionÚget_name©r'   s   &r   ÚnameÚInfoCommon.name™   s"   € ä×'Ò'¨×(9Ñ(9×(BÑ(BÓ(DÓEÐEr"   c                	ó€   € V P                  V P                  P                  4       4      p\        P                  ! V4      # r$   )Ú
_maybe_tagra   Úget_versionr   Úsafe_version)r'   Útaggeds   & r   Útagged_versionÚInfoCommon.tagged_version�   s0   € Ø—‘ ×!2Ñ!2×!>Ñ!>Ó!@ÓAˆÜ×*Ò*¨6Ó2Ð2r"   c                ó|   € V P                   '       d   V P                  V4      '       d   V# WP                   ,           # )zw
egg_info may be called more than once for a distribution,
in which case the version string already contains all tags.
)ÚvtagsÚ_already_tagged©r'   Úversions   &&r   rg   ÚInfoCommon._maybe_tag¡   s8   € ð �z�zˆz˜d×2Ñ2°7×;Ò;ð ð	
ð Ÿ:™:Õ%ð	
r"   c               ó    € V ^8„  d   QhRRRR/# )r   rq   Ústrr   Úboolr   )r   s   "r   r    ÚInfoCommon.__annotate__¬   s   € ÷ Añ A sð A¨tñ Ar"   c                	óX   € VP                  V P                  V P                  4       34      # r$   )Úendswithrn   Ú
_safe_tagsrp   s   &&r   ro   ÚInfoCommon._already_tagged¬   s%   € ð ×Ñ §¡¨T¯_©_Ó->Ð ?Ó@Ð@r"   c               ó   € V ^8„  d   QhRR/# ©r   r   rt   r   )r   s   "r   r    rv   ±   s   € ÷ Jñ J˜Cñ Jr"   c                	ó  €  \         P                  ! R V P                   24      R,          #   \        P                  P
                   d4    \         P                  ! T P                  P                  RR4      4      u # i ; i)Ú0rC   Ú r   )r   ri   rn   Ú	packagingrq   ÚInvalidVersionr`   Úreplacerc   s   &r   ry   ÚInfoCommon._safe_tags±   sh   € ð	JÜ!×.Ò.°°4·:±:°,Ð/?Ó@ÀÕDÐDøÜ× Ñ ×/Ñ/ô 	JÜ!×+Ò+¨D¯J©J×,>Ñ,>¸sÀCÓ,HÓIÒIð	Jús   ‚), ¬AA>Á=A>c               ó   € V ^8„  d   QhRR/# r|   r   )r   s   "r   r    rv   ¹   s   € ÷ ñ �cñ r"   c                	ó°   € R pV P                   '       d   WP                   ,          pV P                  '       d   V\        P                  ! R4      ,          pV# )r:   z%Y%m%d)Ú	tag_buildÚtag_dateÚtimeÚstrftimerp   s   & r   ÚtagsÚInfoCommon.tags¹   s=   € ØˆØ�>�>ˆ>Ø—~‘~Õ%ˆGØ�=�=ˆ=Ø”t—}’} XÓ.Õ.ˆGØˆr"   r   )r3   r4   r5   r6   r†   r‡   Úpropertyrd   rk   rg   ro   ry   rŠ   rn   r8   r   r"   r   r^   r^   •   sF   † Ø€IØ€HàñFó ðFò3ò	
õAõ
Jõñ �T‹N„Er"   r^   c                  óü   € ] tR t^Ät$ Rt. R OtR]R&   R.tR]R&   RR/tR]R	&   R
 t	]
R R l4       t]P                  R R l4       tR R ltR R lt]R3R ltR!R R lltR R ltR R ltR R ltR R ltRtR# )"Úegg_infoz+create a distribution's .egg-info directoryútag-dateúno-datezHClassVar[list[tuple[str, str, str]] | list[tuple[str, str | None, str]]]Úuser_optionszClassVar[list[str]]Úboolean_optionszClassVar[dict[str, str]]Únegative_optc                	óL   € R V n         R V n        R V n        R V n        RV n        R # )NF)Úegg_baseÚegg_namerŽ   Úegg_versionÚignore_egg_info_in_manifestrc   s   &r   Úinitialize_optionsÚegg_info.initialize_optionsÜ   s'   € ØˆŒØˆŒØˆŒØˆÔØ+0ˆÖ(r"   c               ó   € V ^8„  d   QhRR/# )r   r   z
int | Noner   )r   s   "r   r    Úegg_info.__annotate__ç   s   € ÷ ñ  *ñ r"   c                	ó   € R # r$   r   rc   s   &r   Útag_svn_revisionÚegg_info.tag_svn_revisionæ   ó   € ár"   c               ó   € V ^8„  d   QhRR/# ©r   r   r   r   )r   s   "r   r    rœ   ë   s   € ÷ ñ ¨ñ r"   c                	ó   € R # r$   r   )r'   Úvalues   &&r   rž   rŸ   ê   r    r"   c               ó   € V ^8„  d   QhRR/# r¢   r   )r   s   "r   r    rœ   ð   s   € ÷ 	7ñ 	7¨Tñ 	7r"   c                óh   € \        V P                  4       ^ R7      p\        V\        VR7      4       R# )z“
Materialize the value of date into the
build tag. Install build keys in a deterministic order
to avoid arbitrary reordering on subsequent builds.
)r†   r‡   )rŽ   N)ÚdictrŠ   r
   )r'   ÚfilenamerŽ   s   && r   Úsave_version_infoÚegg_info.save_version_infoð   s%   € ô  $§)¡)£+¸Ô:ˆÜ�Hœd¨HÔ5Ö6r"   c               ó   € V ^8„  d   QhRR/# r¢   r   )r   s   "r   r    rœ   û   s   € ÷ >ñ > $ñ >r"   c                	ó0  € V P                   V n        V P                  4       V n        \        P
                  P                  V P                  4      p \        V\        P
                  P                  4      pV'       d   R MRp\        P                  P                  W0P                  V P                  3,          4       T P                  fF   T P                  P                   pT;'       g    / P#                  R\$        P&                  4      T n        T P)                  R4       \*        P,                  ! T P                  4      R,           T n        T P                  \$        P&                  8w  d:   \$        P0                  P3                  T P                  T P.                  4      T n        T P                  T P                  P4                  n        R#   \         d@   p\        P                  P                  RT P                   RT P                   24      ThRp?ii ; i)z%s==%sz%s===%sz-Invalid distribution name or version syntax: Ú-Nr:   r•   ú	.egg-info)rd   r–   rk   r—   r€   rq   ÚVersionÚ
isinstanceÚrequirementsÚRequirementÚ
ValueErrorÚ	distutilsÚerrorsÚDistutilsOptionErrorr•   ra   Úpackage_dirÚgetrG   ÚcurdirÚensure_dirnamer   Úfilename_componentrŽ   r.   Újoinr   )r'   Úparsed_versionÚ
is_versionÚspecÚeÚdirss   &     r   Úfinalize_optionsÚegg_info.finalize_optionsû   s€  € ð
 Ÿ	™	ˆŒØ×.Ñ.Ó0ˆÔÜ"×*Ñ*×2Ñ2°4×3CÑ3CÓDˆð	Ü# N´I×4EÑ4E×4MÑ4MÓNˆJß)‘8¨yˆDÜ×"Ñ"×.Ñ.¨t·}±}Àd×FVÑFVÐ6WÕ/WÔXð �=‰=Ò Ø×$Ñ$×0Ñ0ˆDØ!ŸZ˜Z R×,Ñ,¨R´·±Ó;ˆDŒMà×Ñ˜JÔ'Ü&×9Ò9¸$¿-¹-ÓHÈ;ÕVˆŒØ�=‰=œBŸI™IÔ%ÜŸG™GŸL™L¨¯©¸¿¹ÓFˆDŒMð
 .2×-=Ñ-=ˆ×Ñ×"Ñ"Ö*øô# ô 	Ü×"Ñ"×7Ñ7Ø?ÀÇÁ¸ÈaÐPT×P`ÑP`ÐOaÐbóàðûð	ús   ÁA+G ÇHÇ:HÈHNc                óD   € \        V P                  V P                  W4      # )ú0Compute filename of the output egg. Private API.)Ú_egg_basenamer–   r—   )r'   Ú
py_versionÚplatforms   &&&r   Ú_get_egg_basenameÚegg_info._get_egg_basename  s   € ä˜TŸ]™]¨D×,<Ñ,<¸jÓSÐSr"   c               ó    € V ^8„  d   QhRRRR/# ©r   Úforceru   r   r   r   )r   s   "r   r    rœ     s   € ÷ +ñ +Àð +ÐQUñ +r"   c                óø   € V'       d   V P                  WV4       R# \        P                  P                  V4      '       d9   Vf"   V'       g   \        P
                  ! RW4       R# V P                  V4       R# R# )a‰  Write `data` to `filename` or delete if empty

If `data` is non-empty, this routine is the same as ``write_file()``.
If `data` is empty but not ``None``, this is the same as calling
``delete_file(filename)`.  If `data` is ``None``, then this is a no-op
unless `filename` exists, in which case a warning is issued about the
orphaned file (if `force` is false), or deleted (if `force` is true).
Nz$%s not set in setup(), but %s exists)Ú
write_filerG   r.   Úexistsr   ÚwarnÚdelete_file)r'   Úwhatr¨   ÚdatarÍ   s   &&&&&r   Úwrite_or_delete_fileÚegg_info.write_or_delete_file  sT   € ÷ Ø�O‰O˜D¨DÖ1Ü�W‰W�^‰^˜H×%Ò%ØŠ|§EÜ—’Ð?ÀÔPÙà× Ñ  Ö*ñ &r"   c               ó   € V ^8„  d   QhRR/# r¢   r   )r   s   "r   r    rœ   1  s   € ÷ 
ñ 
°$ñ 
r"   c                ó°   € \         P                  ! RW4       VP                  R4      p\        VR4      pVP	                  V4       VP                  4        R# )z’Write `data` to `filename` (if not a dry run) after announcing it

`what` is used in a log message to identify what is being written
to the file.
zwriting %s to %súutf-8ÚwbN)r   ÚinfoÚencodeÚopenÚwriteÚclose)r'   rÓ   r¨   rÔ   Úfs   &&&& r   rÏ   Úegg_info.write_file1  sA   € ô 	�ŠÐ# TÔ4Ø�{‰{˜7Ó#ˆÜ�˜4Ó ˆØ	�‰�ŒØ	�‰Ž	r"   c               ó   € V ^8„  d   QhRR/# r¢   r   )r   s   "r   r    rœ   =  s   € ÷ ñ  tñ r"   c                ó`   € \         P                  ! RV4       \        P                  ! V4       R# )z8Delete `filename` (if not a dry run) after announcing itzdeleting %sN)r   rÛ   rG   Úunlink)r'   r¨   s   &&r   rÒ   Úegg_info.delete_file=  s   € ä�Š� Ô)Ü
�	Š	�(Ör"   c               ó   € V ^8„  d   QhRR/# r¢   r   )r   s   "r   r    rœ   B  s   € ÷ ñ �Tñ r"   c           	     	óâ  € \        \        P                  ! R R7      4      pV P                  V P                  4        \
        P                  ! V P                  R4       T FX  pTP                  4       pT! YP                  \
        P                  P                  T P                  TP                  4      4       KZ  	  \
        P                  P                  T P                  R4      p\
        P                  P                  T4      '       d   T P!                  T4       T P#                  4        R#   \         d6   pRT P                   R2p\        P                  P                  T4      ThRp?ii ; i)zegg_info.writers)ÚgroupNz'Cannot update time stamp of directory 'Ú'znative_libs.txt)Úlistr   Úentry_pointsÚmkpathrŽ   rG   ÚutimeÚOSErrorr´   rµ   ÚDistutilsFileErrorÚloadrd   r.   r¼   rÐ   rÒ   Úfind_sources)r'   ÚwritersrÀ   ÚmsgÚepÚwriterÚnls   &      r   ÚrunÚegg_info.runB  s  € ô ”x×,Ò,Ð3EÔFÓGˆà�‰�D—M‘MÔ"ð	BÜ�HŠH�T—]‘] DÔ)ó ˆBØ—W‘W“YˆFÙ�4Ÿ™¤"§'¡'§,¡,¨t¯}©}¸b¿g¹gÓ"FÖGñ ô
 �W‰W�\‰\˜$Ÿ-™-Ð):Ó;ˆÜ�7‰7�>‰>˜"×ÒØ×Ñ˜RÔ à×ÑÖøô ô 	BØ;¸D¿M¹M¸?È!ÐLˆCÜ×"Ñ"×5Ñ5°cÓ:ÀÐAûð	Bús   ½!D. Ä.E.Ä90E)Å)E.c               ó   € V ^8„  d   QhRR/# r¢   r   )r   s   "r   r    rœ   X  s   € ÷ $ñ $˜dñ $r"   c                óô   € \         P                  P                  V P                  R4      p\	        V P
                  4      pV P                  Vn        Wn        VP                  4        VP                  V n
        R# )z"Generate SOURCES.txt manifest filezSOURCES.txtN)rG   r.   r¼   rŽ   Úmanifest_makerra   r˜   Úignore_egg_info_dirÚmanifestr÷   Úfilelist)r'   Úmanifest_filenameÚmms   &  r   rñ   Úegg_info.find_sourcesX  sR   € äŸG™GŸL™L¨¯©¸ÓFÐÜ˜D×-Ñ-Ó.ˆØ!%×!AÑ!AˆÔØ'ŒØ
�‰ŒØŸ™ˆŽr"   )r•   rŽ   r–   r—   rþ   r˜   ))z	egg-base=rÀ   zLdirectory containing .egg-info directories [default: top of the source tree])r�   Údz0Add date stamp (e.g. 20050528) to version number)z
tag-build=Úbz-Specify explicit tag to add to version number)r�   ÚDz"Don't include date stamp [default]©F)r3   r4   r5   r6   Údescriptionr‘   Ú__annotations__r’   r“   r™   rŒ   rž   Úsetterr©   rÂ   ÚPY_MAJORrÉ   rÕ   rÏ   rÒ   r÷   rñ   r8   r   r"   r   rŽ   rŽ   Ä   s§   ‡ Ø?€Kò	ð ð ó ð  -7¨<€OÐ(Ó7à�:ð.€LÐ*ó ò1ð ôó ðð ×Ñôó ðõ
	7õ>ð@ ,4¸dô T÷+õ$
õõ
÷,$ñ $r"   rŽ   c                  ó˜   a € ] tR tRtRR V 3R llltR R ltR tR tR tR	 t	R
 t
R tR tR tR tR R ltR R ltR tR tRtV ;t# )r   ib  c               ó    € V ^8„  d   QhRRRR/# )r   rü   ru   r   r   r   )r   s   "r   r    ÚFileList.__annotate__e  s   € ÷ 7ñ 7Ø@Dð7à	ñ7r"   c                	ó2   <€ \         SV `  W4       W0n        R # r$   )Úsuperr(   rü   )r'   rÑ   Údebug_printrü   Ú	__class__s   &&&&€r   r(   ÚFileList.__init__e  s   ø€ ô 	‰Ñ˜Ô+Ø#6Ö r"   c               ó   € V ^8„  d   QhRR/# r¢   r   )r   s   "r   r    r  k  s   € ÷ D=ñ D=¨Tñ D=r"   c                	óü  € V P                  V4      w  r#rER V P                  RV P                  RV P                  RV P                  R\
        P                  ! V P                  V4      R\
        P                  ! V P                  V4      RV P                  RV P                  /pR RRR	RR
RRRRRRRRRR/p Wb,          pTP                  R4      p
TR9   d   T.pT
'       d   T3MRpYr,          pT P                  RP                  T.T
'       d   T.M. ,           T,           4      4       T F+  pT! T4      '       d   K  \         P"                  ! YÍ.TO5!   K-  	  R#   \         d    RT: RT: 2p	\        T	4      Rhi ; i)ÚincludeÚexcludezglobal-includezglobal-excludezrecursive-includezrecursive-excludeÚgraftÚprunez%warning: no files found matching '%s'z9warning: no previously-included files found matching '%s'z>warning: no files found matching '%s' anywhere in distributionzRwarning: no previously-included files matching '%s' found anywhere in distributionz:warning: no files found matching '%s' under directory '%s'zNwarning: no previously-included files matching '%s' found under directory '%s'z+warning: no directories found matching '%s'z6no previously-included directories found matching '%s'z$Invalid MANIFEST.in: unknown action z in Nz
recursive-r   >   r  r  r   )Ú_parse_template_liner  r  Úglobal_includeÚglobal_excludeÚ	functoolsÚpartialÚrecursive_includeÚrecursive_excluder  r  ÚKeyErrorr   Ú
startswithr  r¼   r   rÑ   )r'   ÚlineÚactionÚpatternsÚdirÚdir_patternÚ
action_mapÚlog_mapÚprocess_actionró   Úaction_is_recursiveÚextra_log_argsÚlog_tmplr   s   &&            r   Úprocess_template_lineÚFileList.process_template_linek  s£  € ð 04×/HÑ/HÈÓ/NÑ,ˆ˜3ð �t—|‘|Ø�t—|‘|Ø˜d×1Ñ1Ø˜d×1Ñ1Ø¤×!2Ò!2Ø×&Ñ&Øó"ð  ¤×!2Ò!2Ø×&Ñ&Øó"ð �T—Z‘ZØ�T—Z‘Zð+
ˆ
ð" Ð>ØÐSØØPàð6ð  ØLàð2ð ÐBØÐMð%
ˆð*	8Ø'Õ/ˆNð %×/Ñ/°Ó=ÐØÐ'Ô'Ø#�}ˆHß#6˜#™¸BˆØ•?ˆà×ÑØ�H‰HØ�×%8˜S™E¸bÕAÀHÕLóô	
ó
  ˆGÙ! '×*Ô*Ü—’˜Ð<¨^Ö<ó  øô' ô 	8Ø8¸¹
À$ÀtÁhÐOˆCÜ(¨Ó-°4Ð7ð	8ús   Â4E Å"E;c                ó  € Rp\        \        V P                  4      ^,
          RR4       F\  pV! V P                  V,          4      '       g   K$  V P                  RV P                  V,          ,           4       V P                  V RpK^  	  V# )zn
Remove all files from the file list that match the predicate.
Return True if any matching files were removed
Fz
 removing Téÿÿÿÿ)ÚrangerL   Úfilesr  )r'   Ú	predicateÚfoundrV   s   &&  r   Ú_remove_filesÚFileList._remove_files±  sn   € ð
 ˆÜ”s˜4Ÿ:™:“¨Õ*¨B°Ö3ˆAÙ˜Ÿ™ A�×'Ô'Ø× Ñ  °·
±
¸1µÕ!=Ô>Ø—J‘J˜q�MØ’ñ	 4ð
 ˆr"   c                óÆ   € \        V4       Uu. uF,  p\        P                  P                  V4      '       d   K*  VNK.  	  ppV P	                  V4       \        V4      # u upi )z#Include files that match 'pattern'.)r   rG   r.   ÚisdirÚextendru   )r'   r   rà   r3  s   &&  r   r  ÚFileList.include¾  sG   € ä  œMÓB™M�q´·±·±¸q×1A—�™MˆÐBØ�‰�EÔÜ�E‹{Ðùò Cs
   Ž'AºAc                óN   € \        V4      pV P                  VP                  4      # )z#Exclude files that match 'pattern'.)r\   r4  r+   ©r'   r   r+   s   && r   r  ÚFileList.excludeÄ  s!   € ä! 'Ó*ˆØ×!Ñ! %§+¡+Ó.Ð.r"   c                ó  € \         P                  P                  VRV4      p\        VRR7       Uu. uF,  p\         P                  P	                  V4      '       d   K*  VNK.  	  ppV P                  V4       \        V4      # u upi )z>
Include all files anywhere in 'dir/' that match the pattern.
r<   T)Ú	recursive)rG   r.   r¼   r   r7  r8  ru   )r'   r$  r   Úfull_patternrà   r3  s   &&&   r   r  ÚFileList.recursive_includeÉ  se   € ô —w‘w—|‘| C¨¨wÓ7ˆÜ  ¸Õ>ÓWÑ>�qÄbÇgÁgÇmÁmÐTU×FV—�Ñ>ˆÐWØ�‰�EÔÜ�E‹{Ðùò Xs   ±'BÁBc                óŒ   € \        \        P                  P                  VRV4      4      pV P	                  VP
                  4      # )z=
Exclude any file anywhere in 'dir/' that match the pattern.
r<   ©r\   rG   r.   r¼   r4  r+   )r'   r$  r   r+   s   &&& r   r  ÚFileList.recursive_excludeÒ  s4   € ô "¤"§'¡'§,¡,¨s°D¸'Ó"BÓCˆØ×!Ñ! %§+¡+Ó.Ð.r"   c                óÊ   € \        V4       UUu. uF+  p\        P                  P                  V4       F  pVNK  	  K-  	  pppV P	                  V4       \        V4      # u uppi )zInclude all files from 'dir/'.)r   r´   rþ   Úfindallr8  ru   )r'   r$  Ú	match_dirÚitemr3  s   &&   r   r  ÚFileList.graftÙ  sc   € ô " #œYô
á&�	Ü!×*Ñ*×2Ñ2°9Ö=�ó á=ñ Ù&ð 	ñ 
ð
 	�‰�EÔÜ�E‹{Ðùó
s   �1Ac                óŠ   € \        \        P                  P                  VR4      4      pV P	                  VP
                  4      # )zFilter out files from 'dir/'.r<   rB  )r'   r$  r+   s   && r   r  ÚFileList.pruneã  s0   € ä!¤"§'¡'§,¡,¨s°DÓ"9Ó:ˆØ×!Ñ! %§+¡+Ó.Ð.r"   c                ó8  € V P                   f   V P                  4        \        \        P                  P                  RV4      4      pV P                    Uu. uF  q2P                  V4      '       g   K  VNK  	  ppV P                  V4       \        V4      # u upi )z{
Include all files anywhere in the current directory that match the
pattern. This is very inefficient on large file trees.
r<   )	ÚallfilesrE  r\   rG   r.   r¼   r+   r8  ru   )r'   r   r+   rà   r3  s   &&   r   r  ÚFileList.global_includeè  sm   € ð
 �=‰=Ò Ø�L‰LŒNÜ!¤"§'¡'§,¡,¨t°WÓ"=Ó>ˆØ ŸMšMÓ<™M�q¯[©[¸¯^—�™MˆÐ<Ø�‰�EÔÜ�E‹{Ðùò =s   ÁBÁ3Bc                óŠ   € \        \        P                  P                  RV4      4      pV P	                  VP
                  4      # )z4
Exclude all files anywhere that match the pattern.
r<   rB  r;  s   && r   r  ÚFileList.global_excludeô  s2   € ô "¤"§'¡'§,¡,¨t°WÓ"=Ó>ˆØ×!Ñ! %§+¡+Ó.Ð.r"   c               ó   € V ^8„  d   QhRR/# r¢   r   )r   s   "r   r    r  û  s   € ÷ $ñ $˜dñ $r"   c                	ó¦   € VP                  R 4      p\        V4      pV P                  V4      '       d   V P                  P	                  V4       R# R# )ÚN)Úremovesuffixr   Ú
_safe_pathr1  Úappend)r'   rG  r.   s   && r   rU  ÚFileList.appendû  sB   € Ø× Ñ  Ó&ˆÜ˜DÓ!ˆà�?‰?˜4× Ò Ø�J‰J×Ñ˜dÖ#ñ !r"   c               ó   € V ^8„  d   QhRR/# r¢   r   )r   s   "r   r    r    s   € ÷ :ñ :˜tñ :r"   c                	ód   € V P                   P                  \        V P                  V4      4       R # r$   )r1  r8  ÚfilterrT  )r'   Úpathss   &&r   r8  ÚFileList.extend  s   € Ø�
‰
×Ñœ& §¡°%Ó8Ö9r"   c                ób   € \        \        V P                  V P                  4      4      V n        R# )z´
Replace self.files with only safe paths

Because some owners of FileList manipulate the underlying
``files`` attribute directly, this method must be called to
repair those paths.
N)rê   rY  rT  r1  rc   s   &r   Ú_repairÚFileList._repair  s   € ô œ& §¡°$·*±*Ó=Ó>ˆŽ
r"   c                	óL  € R p\         P                  ! V4      pVf   \        P                  ! RV R24       R# \         P                  ! VR4      pVf   \        P                  ! W!R4       R#  RV9   ;'       g    RV9   pV P
                  '       d   V'       d   R# \        P                  P                  V4      '       g&   \        P                  P                  V4      '       d   R# R#   \         d/    \        P                  ! Y!\        P                  ! 4       4        R# i ; i)	z!'%s' not %s encodable -- skippingNré   z$' in unexpected encoding -- skippingFrÙ   r®   s	   .egg-infoT)r   Úfilesys_decoder   rÑ   Ú
try_encoderü   rG   r.   rÐ   ÚUnicodeEncodeErrorÚsysÚgetfilesystemencoding)r'   r.   Úenc_warnÚu_pathÚ	utf8_pathÚis_egg_infos   &&    r   rT  ÚFileList._safe_path  sè   € Ø6ˆô ×-Ò-¨dÓ3ˆØŠ>Ü�HŠH�q˜˜ÐBÐCÔDÙô "×,Ò,¨V°WÓ=ˆ	ØÒÜ�HŠH�X WÔ-Ùð
	Bà%¨Ñ/×LÐL°<À9Ñ3LˆKØ×'×'Ð'¯KÙä�w‰w�~‰~˜f×%Ò%¬¯©¯©¸	×)BÒ)BÙñ *Cøô "ô 	BÜ�HŠH�X¤S×%>Ò%>Ó%@×Að	Bús*   Á.C* Á:C* ÂC* Â$C* Ã$C* Ã*5D#Ä"D#)r1  rü   )NNF)r3   r4   r5   r6   r(   r,  r4  r  r  r  r  r  r  r  r  rU  r8  r]  rT  r8   Ú__classcell__)r  s   @r   r   r   b  s\   ø† ÷7ò 7õD=òLòò/ò
ò/òò/ò

ò/õ$õ:ò?÷Bð Br"   r   c                  ó�   € ] tR tRtRtR R ltR R ltR R ltR	 tR
 R lt	R R lt
]R 4       tR R ltR R ltR tR tRtR# )rû   i+  zMANIFEST.inc               ó   € V ^8„  d   QhRR/# r¢   r   )r   s   "r   r    Úmanifest_maker.__annotate__.  s   € ÷ )ñ ) Dñ )r"   c                	óL   € R V n         R V n        R V n        R V n        RV n        R# )TFN)Úuse_defaultsr  Úmanifest_onlyÚforce_manifestrü   rc   s   &r   r™   Ú!manifest_maker.initialize_options.  s)   € Ø ˆÔØˆŒ
Ø!ˆÔØ"ˆÔØ#(ˆÖ r"   c               ó   € V ^8„  d   QhRR/# r¢   r   )r   s   "r   r    rm  5  s   € ÷ ñ  $ñ r"   c                	ó   € R # r$   r   rc   s   &r   rÂ   Úmanifest_maker.finalize_options5  s   € Ùr"   c               ó   € V ^8„  d   QhRR/# r¢   r   )r   s   "r   r    rm  8  s   € ÷ ñ �Tñ r"   c                	ó@  € \        V P                  R 7      V n        \        P                  P                  V P                  4      '       g   V P                  4        V P                  4        \        P                  P                  V P                  4      '       d   V P                  4        V P                  4        V P                  4        V P                  4        V P                  P                  4        V P                  P                  4        V P                  4        R# ))rü   N)r   rü   rþ   rG   r.   rÐ   rý   Úwrite_manifestÚadd_defaultsÚtemplateÚread_templateÚadd_license_filesÚ_add_referenced_filesÚprune_file_listÚsortÚremove_duplicatesrc   s   &r   r÷   Úmanifest_maker.run8  s¶   € Ü °T×5MÑ5MÔNˆŒÜ�w‰w�~‰~˜dŸm™m×,Ò,Ø×ÑÔ!Ø×ÑÔÜ�7‰7�>‰>˜$Ÿ-™-×(Ò(Ø×ÑÔ Ø×ÑÔ Ø×"Ñ"Ô$Ø×ÑÔØ�‰×ÑÔØ�‰×'Ñ'Ô)Ø×ÑÖr"   c                	ón   € \         P                  ! V4      pVP                  \        P                  R 4      # )Ú/)r   r`  r‚   rG   rH   r-   s   &&r   Ú_manifest_normalizeÚ"manifest_maker._manifest_normalizeF  s'   € Ü×+Ò+¨DÓ1ˆØ�|‰|œBŸF™F CÓ(Ð(r"   c               ó   € V ^8„  d   QhRR/# r¢   r   )r   s   "r   r    rm  J  s   € ÷ 
>ñ 
> ñ 
>r"   c                ó  € V P                   P                  4        V P                   P                   Uu. uF  qP                  V4      NK  	  ppRV P                   R2pV P                  \        V P                  V3V4       R# u upi )zW
Write the file list in 'self.filelist' to the manifest file
named by 'self.manifest'.
zwriting manifest file 'ré   N)rþ   r]  r1  r„  rý   ÚexecuterÏ   )r'   rà   r1  ró   s   &   r   rx  Úmanifest_maker.write_manifestJ  sp   € ð
 	�‰×ÑÔð 7;·m±m×6IÒ6IÓJÑ6I°×)Ñ)¨!Ö,Ñ6IˆÐJØ'¨¯© °aÐ8ˆØ�‰”Z $§-¡-°Ð!7¸Ö=ùò Ks   ³Bc               ó   € V ^8„  d   QhRR/# r¢   r   )r   s   "r   r    rm  V  s   € ÷ "ñ "˜4ñ "r"   c                	ód   € V P                  V4      '       g   \        P                  ! W4       R # R # r$   )Ú_should_suppress_warningr   rÑ   )r'   ró   s   &&r   rÑ   Úmanifest_maker.warnV  s$   € Ø×,Ñ,¨S×1Ò1Ü�JŠJ�tÖ!ñ 2r"   c                ó0   € \         P                  ! RV 4      # )z+
suppress missing-file warnings from sdist
zstandard file .*not found)rI   r+   )ró   s   &r   rŒ  Ú'manifest_maker._should_suppress_warningZ  s   € ô
 �xŠxÐ4°cÓ:Ð:r"   c               ó   € V ^8„  d   QhRR/# r¢   r   )r   s   "r   r    rm  a  s   € ÷ -ñ -˜dñ -r"   c                	óž  € \         P                  ! V 4       V P                  P                  V P                  4       V P                  P                  V P
                  4       \        \        4       4      pV'       d   V P                  P                  V4       M?\        P                  P                  V P
                  4      '       d   V P                  4        \        P                  P                  R 4      '       d   V P                  P                  R 4       V P                  R4      pV P                  P                  VP                  4       R# )zsetup.pyrŽ   N)r   ry  rþ   rU  rz  rý   rê   r	   r8  rG   r.   rÐ   Úread_manifestÚget_finalized_commandr  rŽ   )r'   ÚrcfilesÚei_cmds   &  r   ry  Úmanifest_maker.add_defaultsa  sÍ   € Ü×Ò˜4Ô Ø�‰×Ñ˜TŸ]™]Ô+Ø�‰×Ñ˜TŸ]™]Ô+Ü”|“~Ó&ˆßØ�M‰M× Ñ  Õ)Ü�W‰W�^‰^˜DŸM™M×*Ò*Ø×ÑÔ ä�7‰7�>‰>˜*×%Ò%ð �M‰M× Ñ  Ô,à×+Ñ+¨JÓ7ˆØ�‰×Ñ˜FŸO™OÖ,r"   c               ó   € V ^8„  d   QhRR/# r¢   r   )r   s   "r   r    rm  s  s   € ÷ ,ñ , 4ñ ,r"   c                	óÐ   € V P                   P                  P                  ;'       g    . pV F  p\        P                  ! R V4       K  	  V P
                  P                  V4       R# )zadding license file '%s'N)ra   r   Úlicense_filesr   rÛ   rþ   r8  )r'   r™  Úlfs   &  r   r|  Ú manifest_maker.add_license_filess  sL   € Ø×)Ñ)×2Ñ2×@Ñ@×FÐFÀBˆÛˆBÜ�HŠHÐ/°Ö4ñ  à�‰×Ñ˜]Ö+r"   c                óª   € \        V P                  R. 4      pV F  p\        P                  ! RV4       K  	  V P                  P                  V4       R# )zGAdd files referenced by the config (e.g. `file:` directive) to filelistÚ_referenced_filesz%adding file referenced by config '%s'N)Úgetattrra   r   Údebugrþ   r8  )r'   Ú
referencedÚrfs   &  r   r}  Ú$manifest_maker._add_referenced_filesy  sB   € ä˜T×.Ñ.Ð0CÀRÓHˆ
ãˆBÜ�IŠIÐ=¸rÖBñ à�‰×Ñ˜ZÖ(r"   c                ó˜   € \        VR4      '       d   VP                  4       # \        P                  ! RRRR7       VP	                  4       # )zø
The parent class implementation of this method
(``sdist``) will try to include data files, which
might cause recursion problems when
``include_package_data=True``.

Therefore, avoid triggering any attempt of
analyzing/building the manifest again.
Úget_data_files_without_manifestz@`build_py` command does not inherit from setuptools' `build_py`.z±
            Custom 'build_py' does not implement 'get_data_files_without_manifest'.
            Please extend command classes from setuptools instead of distutils.
            z!https://peps.python.org/pep-0632/)Úsee_url)Úhasattrr¤  r   ÚemitÚget_data_files)r'   Úbuild_pys   &&r   Ú_safe_data_filesÚmanifest_maker._safe_data_files�  sM   € ô �8Ð>×?Ò?Ø×;Ñ;Ó=Ð=ä$×)Ò)ØNðð 8õ	
ð ×&Ñ&Ó(Ð(r"   )rþ   rq  rü   rp  r  ro  N)r3   r4   r5   r6   rz  r™   rÂ   r÷   r„  rx  rÑ   ÚstaticmethodrŒ  ry  r|  r}  rª  r8   r   r"   r   rû   rû   +  sM   † Ø€Hõ)õõò)õ
>õ"ð ñ;ó ð;õ-õ$,ò)ö)r"   rû   c               ó   € V ^8„  d   QhRR/# r¢   r   )r   s   "r   r    r    š  s   € ÷ 
ñ 
 dñ 
r"   c                óÎ   € RP                  V4      pVP                  R4      p\        V R4      ;_uu_ 4       pVP                  V4       RRR4       R#   + '       g   i     R# ; i)zsCreate a file with the specified name and write 'contents' (a
sequence of strings without line terminators) to it.
Ú
rÙ   rÚ   N)r¼   rÜ   rÝ   rÞ   )r¨   Úcontentsrà   s   && r   rÏ   rÏ   š  sL   € ð �y‰y˜Ó"€Hð �‰˜wÓ'€Hä	ˆh˜×	Ô	 Ø	�‰�Ô÷ 
×	×	Ò	ús   ·AÁA$	c               ó   € V ^8„  d   QhRR/# r¢   r   )r   s   "r   r    r    §  s   € ÷ 4ñ 4¨tñ 4r"   c                óÄ  € \         P                  ! R V4       V P                  P                  pV P                  VP
                  uVn        pV P                  VP                  uVn        p VP                  ! V P                  4       WTuVn        Vn        \        V P                  RR4      p\        P                  ! V P                  V4       R#   YTuTn        Tn        i ; i)z
writing %sÚzip_safeN)r   rÛ   ra   r   r—   rq   r–   rd   Úwrite_pkg_inforŽ   rž  r   Úwrite_safety_flag)ÚcmdÚbasenamer¨   r   ÚoldverÚoldnameÚsafes   &&&    r   r´  r´  §  s±   € Ü‡H‚Hˆ\˜8Ô$Ø×Ñ×(Ñ(€HØ"Ÿ™°×0@Ñ0@Ð€HÔ�fØ Ÿ\™\¨8¯=©=Ð€H„M�7ð:Ø×Ò §¡Ô-à*1Ð'ˆŒ�xÔ'ä�3×#Ñ# Z°Ó6€Dä×Ò §¡¨dÖ3øð	 +2Ð'ˆŒ�xÕ'ús   Á+C ÃCc               ó   € V ^8„  d   QhRR/# r¢   r   )r   s   "r   r    r    ·  s   € ÷ ñ °dñ r"   c                ó   € R# )aR  
Unused: left to avoid errors when updating (from source) from <= 67.8.
Old installations have a .dist-info directory with the entry-point
``depends.txt = setuptools.command.egg_info:warn_depends_obsolete``.
This may trigger errors when running the first egg_info in build_meta.
TODO: Remove this function in a version sufficiently > 68.
Nr   ©r¶  r·  r¨   s   &&&r   Úwarn_depends_obsoleter¾  ·  s   ‚ r"   c               ó   € V ^8„  d   QhRR/# r¢   r   )r   s   "r   r    r    Æ  s   € ÷ Pñ P°Tñ Pr"   c           	     ó  € \         P                  V P                  P                  4        Uu. uF  q3P	                  R ^4      ^ ,          NK  	  up4      pV P                  RVRP                  \        V4      4      R,           4       R# u upi )r   ztop-level namesr¯  N)r§   Úfromkeysra   Úiter_distribution_namesrF   rÏ   r¼   Úsorted)r¶  r·  r¨   ÚkÚpkgss   &&&  r   Úwrite_toplevel_namesrÆ  Æ  sq   € Ü�=‰=Ø$'×$4Ñ$4×$LÑ$LÔ$NóÙ$N˜q�‰��Q‹˜×ÐÑ$Nñó €Dð ‡N�NÐ$ h°·	±	¼&À»,Ó0GÈ$Õ0NÖOùòs   ¬!Bc               ó   € V ^8„  d   QhRR/# r¢   r   )r   s   "r   r    r    Í  s   € ÷ -ñ -¨dñ -r"   c                ó    € \        WVR 4       R# )TN)Ú	write_argr½  s   &&&r   Úoverwrite_argrÊ  Í  s   € Üˆc˜X tÖ,r"   c               ó    € V ^8„  d   QhRRRR/# rÌ   r   )r   s   "r   r    r    Ñ  s   € ÷ >ñ >¨dð >¸tñ >r"   c                óÜ   € \         P                  P                  V4      ^ ,          p\        V P                  VR4      pVe   RP                  V4      R,           pV P                  WBWS4       R# )é    Nr¯  )rG   r.   Úsplitextrž  ra   r¼   rÕ   )r¶  r·  r¨   rÍ   Úargnamer¤   s   &&&&  r   rÉ  rÉ  Ñ  sX   € Ü�g‰g×Ñ˜xÓ(¨Õ+€GÜ�C×$Ñ$ g¨tÓ4€EØÒØ—	‘	˜%Ó  4Õ'ˆØ×Ñ˜W°Ö=r"   c               ó   € V ^8„  d   QhRR/# r¢   r   )r   s   "r   r    r    Ù  s   € ÷ Cñ C¨dñ Cr"   c                ó¬   € \         P                  ! V P                  P                  4      p\         P                  ! V4      pV P                  R W$R4       R# )zentry pointsTN)r   rð   ra   rë   ÚrenderrÕ   )r¶  r·  r¨   ÚepsÚdefns   &&&  r   Úwrite_entriesrÕ  Ù  s@   € Ü
×
Ò
˜S×-Ñ-×:Ñ:Ó
;€CÜ×Ò Ó$€DØ×Ñ˜^¨X¸TÖBr"   c                ó¶   € \         P                  ! V 4      p\         P                  ! V4      pT RT RT;'       g    \         2pV'       d   VRV 2,          pV# )rÅ   r­   z-py)r   r»   r	  )r–   r—   rÇ   rÈ   rd   rq   Úeggs   &&&&   r   rÆ   rÆ   ß  sY   € ä×,Ò,¨XÓ6€DÜ×/Ò/°Ó<€GØˆF�!�G�9˜C 
× 6Ð 6¬hÐ7Ð
8€CßØ��8�*ˆ~ÕˆØ€Jr"   c                  ó   € ] tR tRtRtRtR# )ÚEggInfoDeprecationWarningié  z?Deprecated behavior warning for EggInfo, bypassing suppression.r   N)r3   r4   r5   r6   r7   r8   r   r"   r   rÙ  rÙ  é  s   † ÝIr"   rÙ  r  )NN)@r7   Ú
__future__r   r  rG   rI   rc  rˆ   Úcollections.abcr   Útypingr   r€   Úpackaging.requirementsÚpackaging.versionÚ
setuptoolsr   r   Úsetuptools.commandr   Úsetuptools.command.sdistr   r	   Úsetuptools.command.setoptr
   Úsetuptools.globr   r:   r   r   Ú
_importlibr   Úwarningsr   r   Údistutils.errorsr´   Údistutils.filelistr   r   r   Ú	_FileListÚdistutils.utilr   Úversion_infoÚmajorÚminorr	  r   r\   r^   rŽ   rû   rÏ   r´  r¾  Úwrite_requirementsÚwrite_setup_requirementsrÆ  rÊ  rÉ  rÕ  rÆ   rÙ  r   r"   r   Ú<module>rï     s'  ðñ<õ #ã Û 	Û 	Û 
Û Ý $Ý ã Û Û ç -Ý (ß 8Ý 1Ý  ç ,Ý !Ý 3Ý ã Û Ý Ý 3Ý 4Ý 'à×Ñ×$Ñ$Ð% Q s×'7Ñ'7×'=Ñ'=Ð&>Ð?€÷Cñ Cò*UO÷p,ñ ,ô^[$ˆz˜7ô [$ô|FBˆyô FBôRl)�Uô l)õ^
õ4õ ð "×4Ñ4Ð Ø'×@Ñ@Ð õPõ-÷>õCôôJÐ <ö Jr"   