Ë
    ˜šãjf  ã                   óÔ  — d Z ddlmZ ddlmZ ddlmZ ddlm	Z	 ddlZddlZddl
Z
ddlZddlZddlZddlZddlZddlZddlZddlmZ ddlmZ dd	lmZ dd
lmZ ddlmZ ddlmZmZmZmZm Z m!Z!m"Z"m#Z# ddl$m%Z% ddl&m'Z' ddl(m)Z) ddlm*Z* d„ Z+ G d„ d«      Z, G d„ de,e«      Z- G d„ de«      Z G d„ de«      Z.d„ Z/d„ Z0d„ Z1d„ Z2d„ Z3d„ Z4d„ Z5d „ Z6d&d!„Z7d"„ Z8d#„ Z9 G d$„ d%e*«      Z:y)'zUsetuptools.command.egg_info

Create a distribution's .egg-info directory and contentsé    )ÚFileList)ÚDistutilsInternalError)Úconvert_path)ÚlogN)ÚCommand)Úsdist)Úwalk_revctrl)Úedit_config)Ú	bdist_egg)Úparse_requirementsÚ	safe_nameÚparse_versionÚsafe_versionÚyield_linesÚ
EntryPointÚiter_entry_pointsÚto_filename)Úglob)Ú	packaging)ÚSetuptoolsDeprecationWarningc                 ó¬  — d} | j                   t        j                  j                  «      }t	        j
                  t        j                  «      }d|›d�}t        |«      D �]6  \  }}|t        |«      dz
  k(  }|dk(  r|r|dz  }n|d|›d|›d	�z  }Œ2d
}t        |«      }	||	k  rê||   }
|
dk(  r	||dz   z  }nÌ|
dk(  r||z  }nÁ|
dk(  r¤|dz   }||	k  r||   dk(  r|dz   }||	k  r||   dk(  r|dz   }||	k  r||   dk7  r|dz   }||	k  r	||   dk7  rŒ||	k\  r|t	        j
                  |
«      z  }nU||dz   | }d}|d
   dk(  rd}|dd }|t	        j
                  |«      z  }|d|›d�z  }|}n|t	        j
                  |
«      z  }|dz  }||	k  rŒê|r�Œ2||z  }�Œ9 |dz  }t	        j                  |t        j                  t        j                  z  ¬«      S )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)*r   Ú*ú?ú[ú!ú^Nz\Z)Úflags)ÚsplitÚosÚpathÚsepÚreÚescapeÚ	enumerateÚlenÚcompileÚ	MULTILINEÚDOTALL)r   ÚpatÚchunksr&   Ú
valid_charÚcÚchunkÚ
last_chunkÚiÚ	chunk_lenÚcharÚinner_iÚinnerÚ
char_classs                 úf/var/www/html/python-recuperauto-other/env/lib/python3.12/site-packages/setuptools/command/egg_info.pyÚtranslate_patternr;   #   s*  € ð €Cð ˆT�Z‰ZœŸ™Ÿ™Ó$€Fä
�)‰)”B—F‘FÓ
�CÚÐ!€Jä˜fÓ%ó >‰ˆˆ5Øœ#˜f›+¨™/Ñ)ˆ
ð �DŠ=Ùà�t‘‘ñ ¢z²3Ð7Ñ7�Øð ˆÜ˜“Jˆ	Ø�)ŠmØ˜‘8ˆDØ�sŠ{à�z CÑ'Ñ'‘Ø˜’à�zÑ!‘Ø˜’à˜a™%�à˜YÒ&¨5°©>¸SÒ+@Ø%¨™k�GØ˜YÒ&¨5°©>¸SÒ+@Ø%¨™k�Gð  	Ò)¨e°G©nÀÒ.CØ%¨™k�Gð  	Ò)¨e°G©nÀÓ.Cð ˜iÒ'ð œ2Ÿ9™9 T›?Ñ*‘Cð " ! a¡%¨Ð0�EØ!#�Jð ˜Q‘x 3’Ø%(˜
Ø % a b 	˜à¤"§)¡)¨EÓ"2Ñ2�JÙ¢ZÐ1Ñ1�Cð  ‘Aà”r—y‘y “Ñ&�Ø�‰FˆAðU �)‹móZ Ø�3‰JŠCð}>ð@ ˆ5�L€CÜ�:‰:�c¤§¡´·	±	Ñ!9Ô:Ð:ó    c                   óF   — e Zd ZdZdZed„ «       Zd„ Zd„ Zd„ Z	 ee	«      Z
y)Ú
InfoCommonNc                 óH   — t        | j                  j                  «       «      S ©N)r   ÚdistributionÚget_name©Úselfs    r:   ÚnamezInfoCommon.namez   s   € ä˜×*Ñ*×3Ñ3Ó5Ó6Ð6r<   c                 óf   — t        | j                  | j                  j                  «       «      «      S r@   )r   Ú
_maybe_tagrA   Úget_versionrC   s    r:   Útagged_versionzInfoCommon.tagged_version~   s%   € Ü˜DŸO™O¨D×,=Ñ,=×,IÑ,IÓ,KÓLÓMÐMr<   c                 ór   — | j                   r|j                  | j                   «      r|S || j                   z   S )z�
        egg_info may be called more than once for a distribution,
        in which case the version string already contains all tags.
        )ÚvtagsÚendswith©rD   Úversions     r:   rG   zInfoCommon._maybe_tag�   s4   € ð —z’z g×&6Ñ&6°t·z±zÔ&BˆGð	
à˜4Ÿ:™:Ñ%ð	
r<   c                 óˆ   — d}| j                   r|| j                   z  }| j                  r|t        j                  d«      z  }|S )Nr   z-%Y%m%d)Ú	tag_buildÚtag_dateÚtimeÚstrftimerM   s     r:   ÚtagszInfoCommon.tags‹   s;   € ØˆØ�>Š>Ø�t—~‘~Ñ%ˆGØ�=Š=Ø”t—}‘} YÓ/Ñ/ˆGØˆr<   )Ú__name__Ú
__module__Ú__qualname__rP   rQ   ÚpropertyrE   rI   rG   rT   rK   © r<   r:   r>   r>   v   s9   „ Ø€IØ€Hàñ7ó ð7òNò
òñ �T‹N�Er<   r>   c                   ó’   — e Zd ZdZg d¢ZdgZddiZd„ Zed„ «       Z	e	j                  d„ «       Z	d„ Zd	„ Zdd
„Zd„ Zd„ Zd„ Zd„ Zd„ Zy)Úegg_infoz+create a distribution's .egg-info directory))z	egg-base=ÚezLdirectory containing .egg-info directories (default: top of the source tree))útag-dateÚdz0Add date stamp (e.g. 20050528) to version number)z
tag-build=Úbz-Specify explicit tag to add to version number)úno-dateÚDz"Don't include date stamp [default]r]   r`   c                 óJ   — d | _         d | _        d | _        d | _        d| _        y )NF)Úegg_baseÚegg_namer[   Úegg_versionÚbroken_egg_inforC   s    r:   Úinitialize_optionszegg_info.initialize_options¥   s'   € ØˆŒØˆŒØˆŒØˆÔØ$ˆÕr<   c                  ó   — y r@   rY   rC   s    r:   Útag_svn_revisionzegg_info.tag_svn_revision¯   ó   € àr<   c                  ó   — y r@   rY   )rD   Úvalues     r:   ri   zegg_info.tag_svn_revision³   rj   r<   c                 óˆ   — t        j                  «       }| j                  «       |d<   d|d<   t        |t	        |¬«      «       y)z³
        Materialize the value of date into the
        build tag. Install build keys in a deterministic order
        to avoid arbitrary reordering on subsequent builds.
        rP   r   rQ   )r[   N)ÚcollectionsÚOrderedDictrT   r
   Údict)rD   Úfilenamer[   s      r:   Úsave_version_infozegg_info.save_version_info¸   s=   € ô ×*Ñ*Ó,ˆð !%§	¡	£ˆ�ÑØ ˆ�ÑÜ�Hœd¨HÔ5Õ6r<   c                 óÞ  — | j                   | _        | j                  «       | _        t	        | j                  «      }	 t        |t        j                  j                  «      }|rdnd}t        t        || j                  | j                  fz  «      «       | j                  €?| j                   j"                  }|xs i j%                  dt&        j(                  «      | _        | j+                  d«       t-        | j                  «      dz   | _        | j                  t&        j(                  k7  r9t&        j0                  j3                  | j                  | j.                  «      | _        d| j                  v r| j5                  «        | j                  | j                   j6                  _        | j                   j8                  }|�e|j:                  | j                  j=                  «       k(  r=| j                  |_        t	        | j                  «      |_         d | j                   _        y y y # t        $ r?}t        j                  j                  d| j                  ›d| j                  ›�«      |‚d }~ww xY w)Nz%s==%sz%s===%sz-Invalid distribution name or version syntax: ú-r   rc   ú	.egg-info)!rE   rd   rI   re   r   Ú
isinstancer   rN   ÚVersionÚlistr   Ú
ValueErrorÚ	distutilsÚerrorsÚDistutilsOptionErrorrc   rA   Úpackage_dirÚgetr$   ÚcurdirÚensure_dirnamer   r[   r%   ÚjoinÚcheck_broken_egg_infoÚmetadataÚ_patched_distÚkeyÚlowerÚ_versionÚ_parsed_version)rD   Úparsed_versionÚ
is_versionÚspecr\   ÚdirsÚpds          r:   Úfinalize_optionszegg_info.finalize_optionsÅ   sæ  € ð
 Ÿ	™	ˆŒØ×.Ñ.Ó0ˆÔÜ& t×'7Ñ'7Ó8ˆð	Ü# N´I×4EÑ4E×4MÑ4MÓNˆJá&‘¨Ið ô Ü" 4¨4¯=©=¸$×:JÑ:JÐ*KÑ#KÓLôð �=‰=Ð Ø×$Ñ$×0Ñ0ˆDØ!šZ R×,Ñ,¨R´·±Ó;ˆDŒMà×Ñ˜JÔ'Ü# D§M¡MÓ2°[Ñ@ˆŒØ�=‰=œBŸI™IÒ%ÜŸG™GŸL™L¨¯©¸¿¹ÓFˆDŒMØ�$—-‘-ÑØ×&Ñ&Ô(ð
 .2×-=Ñ-=ˆ×Ñ×"Ñ"Ô*ð ×Ñ×,Ñ,ˆØˆ>˜bŸf™f¨¯©×(;Ñ(;Ó(=Ò=Ø×*Ñ*ˆBŒKÜ!.¨t×/?Ñ/?Ó!@ˆBÔØ.2ˆD×ÑÕ+ð >ˆ>øô7 ò 	Ü×"Ñ"×7Ò7à—“ × 0Ò 0ð2óð ðûð	ús   ½AH$ È$	I,È-:I'É'I,c                 óÊ   — |r| j                  |||«       yt        j                  j                  |«      r.|€|st	        j
                  d||«       y| j                  |«       yy)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_filer$   r%   Úexistsr   ÚwarnÚdelete_file)rD   Úwhatrq   ÚdataÚforces        r:   Úwrite_or_delete_filezegg_info.write_or_delete_fileö   sY   € ñ Ø�O‰O˜D (¨DÕ1Ü�W‰W�^‰^˜HÔ%Øˆ|¡EÜ—‘Ø:¸DÀ(ôð à× Ñ  Õ*ð &r<   c                 óÈ   — t        j                  d||«       |j                  d«      }| j                  s.t	        |d«      }|j                  |«       |j                  «        yy)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Údry_runÚopenÚwriteÚclose)rD   r”   rq   r•   Úfs        r:   r�   zegg_info.write_file
  sO   € ô 	�‰Ð# T¨8Ô4Ø�{‰{˜7Ó#ˆØ�|Š|Ü�X˜tÓ$ˆAØ�G‰G�DŒMØ�G‰G�Ið r<   c                 ót   — t        j                  d|«       | j                  st        j                  |«       yy)z8Delete `filename` (if not a dry run) after announcing itzdeleting %sN)r   r›   r�   r$   Úunlink)rD   rq   s     r:   r“   zegg_info.delete_file  s(   € ä�‰� Ô)Ø�|Š|Ü�I‰I�hÕð r<   c           	      ój  — | j                  | j                  «       t        j                  | j                  d «       | j                  j
                  }t        d«      D ]j  }|j                  |¬«       |j                  «       } || |j                  t        j                  j                  | j                  |j                  «      «       Œl t        j                  j                  | j                  d«      }t        j                  j                  |«      r| j                  |«       | j                  «        y )Nzegg_info.writers)Ú	installerznative_libs.txt)Úmkpathr[   r$   ÚutimerA   Úfetch_build_eggr   ÚrequireÚresolverE   r%   r�   r‘   r“   Úfind_sources)rD   r¥   ÚepÚwriterÚnls        r:   Úrunzegg_info.run  sÑ   € Ø�‰�D—M‘MÔ"Ü
�‰�—‘ Ô%Ø×%Ñ%×5Ñ5ˆ	Ü#Ð$6Ó7ò 	HˆBØ�J‰J ˆJÔ+Ø—Z‘Z“\ˆFÙ�4˜Ÿ™¤"§'¡'§,¡,¨t¯}©}¸b¿g¹gÓ"FÕGð	Hô �W‰W�\‰\˜$Ÿ-™-Ð):Ó;ˆÜ�7‰7�>‰>˜"ÔØ×Ñ˜RÔ à×ÑÕr<   c                 óÒ   — t         j                  j                  | j                  d«      }t	        | j
                  «      }||_        |j                  «        |j                  | _        y)z"Generate SOURCES.txt manifest filezSOURCES.txtN)	r$   r%   r�   r[   Úmanifest_makerrA   Úmanifestr¯   Úfilelist)rD   Úmanifest_filenameÚmms      r:   r«   zegg_info.find_sources-  sF   € äŸG™GŸL™L¨¯©¸ÓFÐÜ˜D×-Ñ-Ó.ˆØ'ˆŒØ
�‰ŒØŸ™ˆ�r<   c                 ób  — | j                   dz   }| j                  t        j                  k7  r*t        j                  j                  | j                  |«      }t        j                  j                  |«      r:t        j                  d|| j                  «       | j                  | _
        || _	        y y )Nru   aB  ------------------------------------------------------------------------------
Note: Your current .egg-info directory has a '-' in its name;
this will not work correctly with "setup.py develop".

Please rename %s to %s to correct this problem.
------------------------------------------------------------------------------)rd   rc   r$   r   r%   r�   r‘   r   r’   r[   rf   )rD   Úbeis     r:   r‚   zegg_info.check_broken_egg_info5  s   € Ø�m‰m˜kÑ)ˆØ�=‰=œBŸI™IÒ%Ü—'‘'—,‘,˜tŸ}™}¨cÓ2ˆCÜ�7‰7�>‰>˜#ÔÜ�H‰HðOð �T—]‘]ôð $(§=¡=ˆDÔ ØˆD�Mð r<   N©F)rU   rV   rW   ÚdescriptionÚuser_optionsÚboolean_optionsÚnegative_optrg   rX   ri   Úsetterrr   rŽ   r—   r�   r“   r¯   r«   r‚   rY   r<   r:   r[   r[   •   s   „ Ø?€Kò€Lð "�l€Oà�:ð€Lò%ð ñó ðð ×Ññó ðò7ò/3ób+ò(ò òò $ó r<   r[   c                   ó`   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zy)r   c           	      ó–  — | j                  |«      \  }}}}| j                  | j                  | j                  | j                  t        j                  | j                  |«      t        j                  | j                  |«      | j                  | j                  dœ}dddddddd	dœ}	 ||   }|j                  d«      }	|dv r|g}|	r|fnd}
||   }| j                  dj!                  |g|	r|gng z   |z   «      «       |D ]"  } ||«      rŒt#        j$                  ||g|
¢­Ž  Œ$ y # t        $ r t        d
j                  |¬«      «      ‚w xY w)N)Ú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/this cannot happen: invalid action '{action!s}')Úactionz
recursive->   rÂ   rÃ   rY   ú )Ú_parse_template_linerÀ   rÁ   Úglobal_includeÚglobal_excludeÚ	functoolsÚpartialÚrecursive_includeÚrecursive_excluderÂ   rÃ   ÚKeyErrorr   ÚformatÚ
startswithÚdebug_printr�   r   r’   )rD   ÚlinerÄ   ÚpatternsÚdirÚdir_patternÚ
action_mapÚlog_mapÚprocess_actionÚaction_is_recursiveÚextra_log_argsÚlog_tmplÚpatterns                r:   Úprocess_template_linezFileList.process_template_lineH  sŒ  € ð 04×/HÑ/HÈÓ/NÑ,ˆ�˜3 ð —|‘|Ø—|‘|Ø"×1Ñ1Ø"×1Ñ1Ü!*×!2Ñ!2Ø×&Ñ&¨ó"ô "+×!2Ñ!2Ø×&Ñ&¨ó"ð —Z‘ZØ—Z‘Zñ
ˆ
ð ?ð ð+ð6ð'ð2ð CØMñ/
ˆð4	Ø'¨Ñ/ˆNð %×/Ñ/°Ó=ÐØÐ'Ñ'Ø#�}ˆHÙ$7˜#™¸RˆØ˜6‘?ˆà×ÑØ�H‰HØ�Ù-�#‘°2ñ7àñóô	
ð  ò 	=ˆGÙ! 'Õ*Ü—‘˜ 7Ð<¨^Ô<ñ	=øô/ ò 	Ü(ØAß‘˜f�Ó%óð ð	ús   Â&D# Ä#%Ec                 óæ   — d}t        t        | j                  «      dz
  dd«      D ]H  } || j                  |   «      sŒ| j                  d| j                  |   z   «       | j                  |= d}ŒJ |S )z†
        Remove all files from the file list that match the predicate.
        Return True if any matching files were removed
        Fr   éÿÿÿÿz
 removing T)Úranger*   ÚfilesrÐ   )rD   Ú	predicateÚfoundr4   s       r:   Ú_remove_fileszFileList._remove_files•  sp   € ð
 ˆÜ”s˜4Ÿ:™:“¨Ñ*¨B°Ó3ò 	ˆAÙ˜Ÿ™ A™Õ'Ø× Ñ  °·
±
¸1±Ñ!=Ô>Ø—J‘J˜q�MØ‘ð		ð
 ˆr<   c                 ó´   — t        |«      D �cg c]$  }t        j                  j                  |«      rŒ#|‘Œ& }}| j	                  |«       t        |«      S c c}w )z#Include files that match 'pattern'.)r   r$   r%   ÚisdirÚextendÚbool)rD   rÛ   r¡   râ   s       r:   rÀ   zFileList.include¢  sD   € ä  ›MÖB�q´·±·±¸qÕ1A’ÐBˆÐBØ�‰�EÔÜ�E‹{Ðùò Cs
   Ž$A³Ac                 óN   — t        |«      }| j                  |j                  «      S )z#Exclude files that match 'pattern'.)r;   rã   Úmatch©rD   rÛ   ré   s      r:   rÁ   zFileList.exclude¨  s!   € ä! 'Ó*ˆØ×!Ñ! %§+¡+Ó.Ð.r<   c                 óø   — t         j                  j                  |d|«      }t        |d¬«      D �cg c]#  }t         j                  j	                  |«      s|‘Œ% }}| j                  |«       t        |«      S c c}w )zN
        Include all files anywhere in 'dir/' that match the pattern.
        r   T)Ú	recursive)r$   r%   r�   r   rå   ræ   rç   )rD   rÓ   rÛ   Úfull_patternr¡   râ   s         r:   rË   zFileList.recursive_include­  sh   € ô —w‘w—|‘| C¨¨wÓ7ˆÜ  ¸Ô>ö *�qÜŸ™Ÿ™ aÔ(ò ð *ˆð *à�‰�EÔÜ�E‹{Ðùò*s   ±(A7c                 óŒ   — t        t        j                  j                  |d|«      «      }| j	                  |j
                  «      S )zM
        Exclude any file anywhere in 'dir/' that match the pattern.
        r   ©r;   r$   r%   r�   rã   ré   )rD   rÓ   rÛ   ré   s       r:   rÌ   zFileList.recursive_exclude·  s4   € ô "¤"§'¡'§,¡,¨s°D¸'Ó"BÓCˆØ×!Ñ! %§+¡+Ó.Ð.r<   c                 óÂ   — t        |«      D ��cg c](  }t        j                  j                  |«      D ]  }|‘Œ Œ* }}}| j	                  |«       t        |«      S c c}}w )zInclude all files from 'dir/'.)r   rz   r³   Úfindallræ   rç   )rD   rÓ   Ú	match_dirÚitemrâ   s        r:   rÂ   zFileList.graft¾  sh   € ô " #›Y÷
àÜ!×*Ñ*×2Ñ2°9Ó=ò
ð ò ð
Øð
ˆñ 
ð
 	�‰�EÔÜ�E‹{Ðùó
s   �-Ac                 óŠ   — t        t        j                  j                  |d«      «      }| j	                  |j
                  «      S )zFilter out files from 'dir/'.r   rï   )rD   rÓ   ré   s      r:   rÃ   zFileList.pruneÈ  s0   € ä!¤"§'¡'§,¡,¨s°DÓ"9Ó:ˆØ×!Ñ! %§+¡+Ó.Ð.r<   c                 ó$  — | j                   €| j                  «        t        t        j                  j                  d|«      «      }| j                   D �cg c]  }|j                  |«      sŒ|‘Œ }}| j                  |«       t        |«      S c c}w )z“
        Include all files anywhere in the current directory that match the
        pattern. This is very inefficient on large file trees.
        r   )	Úallfilesrñ   r;   r$   r%   r�   ré   ræ   rç   )rD   rÛ   ré   r¡   râ   s        r:   rÇ   zFileList.global_includeÍ  sl   € ð
 �=‰=Ð Ø�L‰LŒNÜ!¤"§'¡'§,¡,¨t°WÓ"=Ó>ˆØ ŸM™MÖ<�q¨U¯[©[¸­^’Ð<ˆÐ<Ø�‰�EÔÜ�E‹{Ðùò =s   ÁBÁ+Bc                 óŠ   — t        t        j                  j                  d|«      «      }| j	                  |j
                  «      S )zD
        Exclude all files anywhere that match the pattern.
        r   rï   rê   s      r:   rÈ   zFileList.global_excludeÙ  s2   € ô "¤"§'¡'§,¡,¨t°WÓ"=Ó>ˆØ×!Ñ! %§+¡+Ó.Ð.r<   c                 ó    — |j                  d«      r|d d }t        |«      }| j                  |«      r| j                  j	                  |«       y y )NúrÞ   )rL   r   Ú
_safe_pathrà   Úappend)rD   ró   r%   s      r:   rû   zFileList.appendà  sF   € Ø�=‰=˜ÔØ˜˜�9ˆDÜ˜DÓ!ˆà�?‰?˜4Ô Ø�J‰J×Ñ˜dÕ#ð !r<   c                 ób   — | j                   j                  t        | j                  |«      «       y r@   )rà   ræ   Úfilterrú   )rD   Úpathss     r:   ræ   zFileList.extendè  s   € Ø�
‰
×Ñœ& §¡°%Ó8Õ9r<   c                 ó`   — t        t        | j                  | j                  «      «      | _        y)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)rx   rý   rú   rà   rC   s    r:   Ú_repairzFileList._repairë  s   € ô œ& §¡°$·*±*Ó=Ó>ˆ�
r<   c                 ó¸  — d}t        j                  |«      }|€t        j                  d|z  «       yt        j                  |d«      }|€t        j                  ||d«       y	 t
        j                  j                  |«      st
        j                  j                  |«      ryy # t        $ r, t        j                  ||t        j                  «       «       Y y w xY w)Nz!'%s' not %s encodable -- skippingz''%s' in unexpected encoding -- skippingFr™   T)Úunicode_utilsÚfilesys_decoder   r’   Ú
try_encoder$   r%   r‘   ÚUnicodeEncodeErrorÚsysÚgetfilesystemencoding)rD   r%   Úenc_warnÚu_pathÚ	utf8_paths        r:   rú   zFileList._safe_pathõ  sº   € Ø6ˆô ×-Ñ-¨dÓ3ˆØˆ>Ü�H‰HÐ>ÀÑEÔFØô "×,Ñ,¨V°WÓ=ˆ	ØÐÜ�H‰H�X˜t WÔ-Øð	Bä�w‰w�~‰~˜fÔ%¬¯©¯©¸	Ô)BØð *Cøô "ò 	BÜ�H‰H�X˜t¤S×%>Ñ%>Ó%@ÖAð	Bús   Á$>B$ Â$2CÃCN)rU   rV   rW   rÜ   rã   rÀ   rÁ   rË   rÌ   rÂ   rÃ   rÇ   rÈ   rû   ræ   r   rú   rY   r<   r:   r   r   E  sK   „ òK=òZòò/ò
ò/òò/ò

ò/ò$ò:ò?óBr<   r   c                   ó\   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	e
d„ «       Zd	„ Zd
„ Zd„ Zd„ Zy)r±   zMANIFEST.inc                 ó<   — d| _         d| _        d| _        d| _        y )Nr   )Úuse_defaultsrÃ   Úmanifest_onlyÚforce_manifestrC   s    r:   rg   z!manifest_maker.initialize_options  s!   € ØˆÔØˆŒ
ØˆÔØˆÕr<   c                  ó   — y r@   rY   rC   s    r:   rŽ   zmanifest_maker.finalize_options  s   € Ør<   c                 óî  — t        «       | _        t        j                  j	                  | j
                  «      s| j                  «        | j                  «        t        j                  j	                  | j                  «      r| j                  «        | j                  «        | j                  «        | j                  j                  «        | j                  j                  «        | j                  «        y r@   )r   r³   r$   r%   r‘   r²   Úwrite_manifestÚadd_defaultsÚtemplateÚread_templateÚadd_license_filesÚprune_file_listÚsortÚremove_duplicatesrC   s    r:   r¯   zmanifest_maker.run  s›   € Ü ›
ˆŒÜ�w‰w�~‰~˜dŸm™mÔ,Ø×ÑÔ!Ø×ÑÔÜ�7‰7�>‰>˜$Ÿ-™-Ô(Ø×ÑÔ Ø×ÑÔ Ø×ÑÔØ�‰×ÑÔØ�‰×'Ñ'Ô)Ø×ÑÕr<   c                 ól   — t        j                  |«      }|j                  t        j                  d«      S )Nú/)r  r  Úreplacer$   r&   )rD   r%   s     r:   Ú_manifest_normalizez"manifest_maker._manifest_normalize&  s'   € Ü×+Ñ+¨DÓ1ˆØ�|‰|œBŸF™F CÓ(Ð(r<   c                 ó
  — | j                   j                  «        | j                   j                  D �cg c]  }| j                  |«      ‘Œ }}d| j                  z  }| j                  t        | j                  |f|«       yc c}w )zo
        Write the file list in 'self.filelist' to the manifest file
        named by 'self.manifest'.
        zwriting manifest file '%s'N)r³   r   rà   r  r²   Úexecuter�   )rD   r¡   rà   Úmsgs       r:   r  zmanifest_maker.write_manifest*  sk   € ð
 	�‰×ÑÔð 7;·m±m×6IÑ6IÖJ°�×)Ñ)¨!Õ,ÐJˆÐJØ*¨T¯]©]Ñ:ˆØ�‰”Z $§-¡-°Ð!7¸Õ=ùò Ks   ³B c                 óT   — | j                  |«      st        j                  | |«       y y r@   )Ú_should_suppress_warningr   r’   )rD   r   s     r:   r’   zmanifest_maker.warn6  s#   € Ø×,Ñ,¨SÔ1Ü�J‰J�t˜SÕ!ð 2r<   c                 ó.   — t        j                  d| «      S )z;
        suppress missing-file warnings from sdist
        zstandard file .*not found)r'   ré   )r   s    r:   r"  z'manifest_maker._should_suppress_warning:  s   € ô
 �x‰xÐ4°cÓ:Ð:r<   c                 óv  — t        j                  | «       | j                  j                  | j                  «       | j                  j                  | j
                  «       t        t        «       «      }|r| j                  j                  |«       n9t        j                  j                  | j
                  «      r| j                  «        t        j                  j                  d«      r| j                  j                  d«       | j                  d«      }| j                  j                  |j                  «       y )Nzsetup.pyr[   )r   r  r³   rû   r  r²   rx   r	   ræ   r$   r%   r‘   Úread_manifestÚget_finalized_commandrÂ   r[   )rD   ÚrcfilesÚei_cmds      r:   r  z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                 ó¼   — | j                   j                  j                  xs g }|D ]  }t        j                  d|«       Œ | j
                  j                  |«       y )Nzadding license file '%s')rA   rƒ   Úlicense_filesr   r›   r³   ræ   )rD   r*  Úlfs      r:   r  z manifest_maker.add_license_filesS  sS   € Ø×)Ñ)×2Ñ2×@Ñ@ÒFÀBˆØò 	ˆBÜ�H‰HÐ/°Ô4Øð	ð 	�‰×Ñ˜]Õ+r<   c                 ól  — | j                  d«      }| j                  j                  «       }| j                  j	                  |j
                  «       | j                  j	                  |«       t        j                  t        j                  «      }| j                  j                  d|z   dz   |z   d¬«       y )NÚbuildz(^|z)(RCS|CVS|\.svn)r   )Úis_regex)r&  rA   Úget_fullnamer³   rÃ   Ú
build_baser'   r(   r$   r&   Úexclude_pattern)rD   r-  Úbase_dirr&   s       r:   r  zmanifest_maker.prune_file_listZ  s�   € Ø×*Ñ*¨7Ó3ˆØ×$Ñ$×1Ñ1Ó3ˆØ�‰×Ñ˜E×,Ñ,Ô-Ø�‰×Ñ˜HÔ%Ü�i‰iœŸ™ÓˆØ�‰×%Ñ% f¨s¡lÐ5HÑ&HÈ3Ñ&NØ/0ð 	&õ 	2r<   c                 óŽ   — t        |d«      r|j                  «       S t        j                  dt        «       |j                  «       S )a0  
        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‹Custom 'build_py' does not implement 'get_data_files_without_manifest'.
Please extend command classes from setuptools instead of distutils.)Úhasattrr4  Úwarningsr’   r   Úget_data_files)rD   Úbuild_pys     r:   Ú_safe_data_fileszmanifest_maker._safe_data_filesc  sE   € ô �8Ð>Ô?Ø×;Ñ;Ó=Ð=ä�‰ð5ô )ô		
ð ×&Ñ&Ó(Ð(r<   N)rU   rV   rW   r  rg   rŽ   r¯   r  r  r’   Ústaticmethodr"  r  r  r  r9  rY   r<   r:   r±   r±     sM   „ Ø€Hò òòò)ò
>ò"ð ñ;ó ð;ò-ò$,ò2ó)r<   r±   c                 ó¬   — dj                  |«      }|j                  d«      }t        | d«      5 }|j                  |«       ddd«       y# 1 sw Y   yxY w)z{Create 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Ÿ   )rq   Úcontentsr¡   s      r:   r�   r�   y  sO   € ð �y‰y˜Ó"€Hð �‰˜wÓ'€Hä	ˆh˜Ó	ð  Ø	�‰�Ô÷÷ ñ ús   ¯A
Á
Ac                 óÚ  — t        j                  d|«       | j                  sµ| j                  j                  }| j
                  |j                  c|_        }| j                  |j                  c|_        }	 |j                  | j                  «       ||c|_        |_        t        | j                  dd «      }t        j                  | j                  |«       y y # ||c|_        |_        w xY w)Nz
writing %sÚzip_safe)r   r›   r�   rA   rƒ   re   rN   rd   rE   Úwrite_pkg_infor[   Úgetattrr   Úwrite_safety_flag)ÚcmdÚbasenamerq   rƒ   ÚoldverÚoldnameÚsafes          r:   r@  r@  †  sÃ   € Ü‡H�Hˆ\˜8Ô$Ø�;Š;Ø×#Ñ#×,Ñ,ˆØ#&§?¡?°H×4DÑ4DÐ ˆÔ˜&Ø!$§¡¨x¯}©}ÐˆŒ�wð	>ð ×#Ñ# C§L¡LÔ1à.5°vÐ+ˆHŒM˜8Ô+ä�s×'Ñ'¨°TÓ:ˆä×#Ñ# C§L¡L°$Õ7ð øð /6°vÐ+ˆHŒM˜8Õ+ús   Á6C ÃC*c                 ón   — t         j                  j                  |«      rt        j                  d«       y y )NzsWARNING: 'depends.txt' is not used by setuptools 0.6!
Use the install_requires/extras_require setup() args instead.)r$   r%   r‘   r   r’   ©rC  rD  rq   s      r:   Úwarn_depends_obsoleterJ  ™  s)   € Ü	‡w�w‡~�~�hÔÜ�‰ðLõ	
ð  r<   c                 ób   — t        |xs d«      }d„ }t        ||«      }| j                  |«       y )NrY   c                 ó   — | dz   S )Nr<  rY   )rÑ   s    r:   Ú	append_crz&_write_requirements.<locals>.append_cr¤  s   € Ø�d‰{Ðr<   )r   ÚmapÚ
writelines)ÚstreamÚreqsÚlinesrM  s       r:   Ú_write_requirementsrS  ¡  s/   € Ü˜š
 Ó#€Eòä�	˜5Ó!€EØ
×Ñ�eÕr<   c           	      ób  — | j                   }t        j                  «       }t        ||j                  «       |j
                  xs i }t        |«      D ]:  }|j                   dj                  di t        «       ¤Ž«       t        |||   «       Œ< | j                  d||j                  «       «       y )Nz
[{extra}]
ÚrequirementsrY   )rA   ÚioÚStringIOrS  Úinstall_requiresÚextras_requireÚsortedrŸ   rÎ   Úvarsr—   Úgetvalue)rC  rD  rq   Údistr•   rY  Úextras          r:   Úwrite_requirementsr_  ª  s”   € Ø×Ñ€DÜ�;‰;‹=€DÜ˜˜d×3Ñ3Ô4Ø×(Ñ(Ò.¨B€NÜ˜Ó'ò 9ˆØ�
‰
Ð)�?×)Ñ)Ñ3¬D«FÑ3Ô4Ü˜D .°Ñ"7Õ8ð9ð ×Ñ˜^¨X°t·}±}³ÕGr<   c                 ó®   — t        j                  «       }t        || j                  j                  «       | j                  d||j                  «       «       y )Nzsetup-requirements)rV  rW  rS  rA   Úsetup_requiresr—   r\  )rC  rD  rq   r•   s       r:   Úwrite_setup_requirementsrb  µ  s<   € Ü�;‰;‹=€DÜ˜˜c×.Ñ.×=Ñ=Ô>Ø×ÑÐ1°8¸T¿]¹]»_ÕMr<   c           	      ó  — t         j                  | j                  j                  «       D �cg c]  }|j	                  dd«      d   ‘Œ c}«      }| j                  d|dj                  t        |«      «      dz   «       y c c}w )Nú.r   r   ztop-level namesr<  )rp   ÚfromkeysrA   Úiter_distribution_namesr#   r�   r�   rZ  )rC  rD  rq   ÚkÚpkgss        r:   Úwrite_toplevel_namesri  »  sp   € Ü�=‰=ð ×%Ñ%×=Ñ=Ó?ö	
àð �G‰G�C˜‹O˜AÓò	
ó€Dð ‡N�NÐ$ h°·	±	¼&À»,Ó0GÈ$Ñ0NÕOùò	
s   ¬A>c                 ó    — t        | ||d«       y )NT)Ú	write_argrI  s      r:   Úoverwrite_argrl  Å  s   € Üˆc�8˜X tÕ,r<   c                 óÊ   — t         j                  j                  |«      d   }t        | j                  |d «      }|�dj                  |«      dz   }| j                  ||||«       y )Nr   r<  )r$   r%   ÚsplitextrA  rA   r�   r—   )rC  rD  rq   r–   Úargnamerl   s         r:   rk  rk  É  s\   € Ü�g‰g×Ñ˜xÓ(¨Ñ+€GÜ�C×$Ñ$ g¨tÓ4€EØÐØ—	‘	˜%Ó  4Ñ'ˆØ×Ñ˜W h°°uÕ=r<   c           
      óÖ  — | j                   j                  }t        |t        «      s|€|}nª|�¨g }t	        |j                  «       «      D ]y  \  }}t        |t        «      sLt        j                  ||«      }dj                  t	        t        t        |j                  «       «      «      «      }|j                  d|›d|›d�«       Œ{ dj                  |«      }| j                  d|d«       y )Nr<  r   z]
z

r   zentry pointsT)rA   Úentry_pointsrv   ÚstrrZ  Úitemsr   Úparse_groupr�   rN  Úvaluesrû   r—   )rC  rD  rq   r¬   r•   Úsectionr=  s          r:   Úwrite_entriesrw  Ñ  sÀ   € Ø	×	Ñ	×	&Ñ	&€Bä�"”cÔ˜b˜jØ‰Ø	ˆØˆÜ!'¨¯©«
Ó!3ò 	>ÑˆG�XÜ˜h¬Ô,Ü%×1Ñ1°'¸8ÓD�ØŸ9™9¤V¬C´°X·_±_Ó5FÓ,GÓ%HÓI�Ø�KŠKª'²8Ð<Õ=ð		>ð
 �w‰w�t‹}ˆà×Ñ˜^¨X°t¸TÕBr<   c                  óV  — t        j                  dt        «       t        j                  j                  d«      rdt        j                  d«      5 } | D ]?  }t        j                  d|«      }|sŒt        |j                  d«      «      c cddd«       S  	 ddd«       yy# 1 sw Y   yxY w)zd
    Get a -r### off of PKG-INFO Version in case this is an sdist of
    a subversion revision.
    z$get_pkg_info_revision is deprecated.zPKG-INFOzVersion:.*-r(\d+)\s*$r   Nr   )r6  r’   ÚEggInfoDeprecationWarningr$   r%   r‘   rV  rž   r'   ré   ÚintÚgroup)r¡   rÑ   ré   s      r:   Úget_pkg_info_revisionr|  â  s�   € ô
 ‡M�MØ.Ô0IôKä	‡w�w‡~�~�jÔ!Ü�W‰W�ZÓ ð 	/ AØò /�ÜŸ™Ð!9¸4Ó@�ÚÜ˜uŸ{™{¨1›~Ó.Ñ.÷		/ñ 	/ñ/÷	/ñ
 ÷	/ð
 ús   ÁBÁ.BÂBÂB(c                   ó   — e Zd ZdZy)ry  z?Deprecated behavior warning for EggInfo, bypassing suppression.N)rU   rV   rW   Ú__doc__rY   r<   r:   ry  ry  ò  s   „ ÚIr<   ry  r¸   );r~  Údistutils.filelistr   Ú	_FileListÚdistutils.errorsr   Údistutils.utilr   rz   r   rÉ   r$   r'   r  rV  r6  rR   rn   Ú
setuptoolsr   Úsetuptools.command.sdistr   r	   Úsetuptools.command.setoptr
   Úsetuptools.commandr   Úpkg_resourcesr   r   r   r   r   r   r   r   Úsetuptools.unicode_utilsr  Úsetuptools.globr   Úsetuptools.externr   r   r;   r>   r[   r±   r�   r@  rJ  rS  r_  rb  ri  rl  rk  rw  r|  ry  rY   r<   r:   ú<module>r‹     sñ   ðñ<õ 5Ý 3Ý 'Ý Û Û Û Û 	Û 	Û 
Û 	Û Û Û å Ý *Ý 1Ý 1Ý (÷K÷ Kó Kõ 1Ý  å 'Ý 3òP;÷fñ ô>m ˆz˜7ô m ô`EBˆyô EBôPi)�Uô i)òX
ò8ò&
òòHòNòPò-ó>òCò"ô JÐ <õ Jr<   