+
    êh¦(  ã            	      ó   € R t ^ RIHt ^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RI	H
t
 ^ RIHtHtHt ]P                  P!                  ]P                  P#                  ]P                  P%                  ]P                  P%                  ]4      4      RR4      ;t]P                  9  ].,          4       ]P*                  P-                  RR4       ^ 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& ^RI'H(t( ^ RI)t*^ RI+H,t, . ROt-]! RRR7      t.Rt/]P`                  t1] P`                  t2R t3R R lt4R t5]*Pl                  Pj                  P                   ]5n         ]'       d   ^ RI)H7t8 M&]Pr                  ! ]*Pl                  Pn                  4      t8 ! R R]84      t7R t:]Pv                  3R lt< ! R R]=4      t>]P~                  ! 4        R# ) z@Extensions to the 'distutils' for large or complex distributions)ÚannotationsN)Úabstractmethod)ÚMapping)ÚTYPE_CHECKINGÚTypeVarÚoverloadÚ
setuptoolsÚ_vendorÚ	backports)ÚloggingÚmonkey)ÚRequire)ÚPackageFinderÚPEP420PackageFinder)ÚDistribution)Ú	Extension)Ú__version__)ÚSetuptoolsDeprecationWarning)ÚDistutilsOptionErrorÚCommandÚ	_CommandTÚ_Command)Úboundc                ó¾   €  ! R  R\         P                  P                  4      pV! V 4      pVP                  RR7       VP                  '       d   \        V4       R# R# )c                  óH   a € ] tR t^9tRtR V 3R lltRV 3R lltR tRtV ;t	# )Ú4_install_setup_requires.<locals>.MinimalDistributionzT
A minimal version of a distribution for supporting the
fetch_build_eggs interface.
c               ó    € V ^8„  d   QhRRRR/# )é   ÚattrszMapping[str, object]ÚreturnÚNone© )Úformats   "Ú5/usr/lib/python3/dist-packages/setuptools/__init__.pyÚ__annotate__ÚA_install_setup_requires.<locals>.MinimalDistribution.__annotate__?   s   € ÷ 	)ñ 	)Ð"6ð 	)¸4ñ 	)ó    c                	óÈ   <€ Rp\        V4      \        V4      ,           Uu/ uF  q3W,          bK  	  pp\        SV `	  V4       V P                  P	                  4        R# u upi )Údependency_linksN)r(   Úsetup_requires)ÚsetÚsuperÚ__init__Úset_defaultsÚ_disable)Úselfr   Ú_inclÚkÚfilteredÚ	__class__s   &&   €r#   r,   Ú=_install_setup_requires.<locals>.MinimalDistribution.__init__?   sT   ø€ Ø8ˆEÜ-0°«Z¼#¸e»*Ö-DÓEÑ-D¨˜5�8šÑ-DˆHÐEÜ‰GÑ˜XÔ&à×Ñ×&Ñ&Ö(ùò Fs   ¡Ac                óZ   <€  \         SV `  V4      w  r#VR3#   \         d    TR3u # i ; i)zAIgnore ``pyproject.toml``, they are not related to setup_requiresr!   )r+   Ú _split_standard_project_metadataÚ	Exception)r/   Ú	filenamesÚcfgÚ_tomlr3   s   &&  €r#   Ú_get_project_config_filesÚN_install_setup_requires.<locals>.MinimalDistribution._get_project_config_filesF   s?   ø€ ð%Ü"™WÑEÀiÓP‘
�ð ˜�7ˆNøô ô %Ø  "�}Ò$ð%ús   ƒ ˜*©*c                ó   € R# )zH
Disable finalize_options to avoid building the working set.
Ref #2158.
Nr!   ©r/   s   &r#   Úfinalize_optionsÚE_install_setup_requires.<locals>.MinimalDistribution.finalize_optionsN   s   ‚ r&   r!   ©N)
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r,   r;   r?   Ú__static_attributes__Ú__classcell__©r3   s   @r#   ÚMinimalDistributionr   9   s!   ø† ñ	÷
	)ð 	)÷	÷	ð 	r&   rJ   T)Úignore_option_errorsN)Ú	distutilsÚcorer   Úparse_config_filesr)   Ú_fetch_build_eggs)r   rJ   Údists   &  r#   Ú_install_setup_requiresrQ   6   sP   € ôœiŸn™n×9Ñ9ô ñ6 ˜uÓ%€Dð 	×Ñ°ÐÔ6Ø××ÐÜ˜$Öñ r&   c               ó   € V ^8„  d   QhRR/# )r   rP   r   r!   )r"   s   "r#   r$   r$   \   s   € ÷ ñ ˜Lñ r&   c                ó  €  V P                  V P                  4       R#   \         d]   pR pRTP                  P                  9   d:   \        TR4      '       d   TP                  T4       h T P                  RT R24       h Rp?ii ; i)a–  
        It is possible a package already installed in your system
        contains an version that is invalid according to PEP 440.
        You can try `pip install --use-pep517` as a workaround for this problem,
        or rely on a new virtual environment.

        If the problem refers to a package that is not installed yet,
        please contact that package's maintainers or distributors.
        ÚInvalidVersionÚadd_noteÚ
N)Úfetch_build_eggsr)   r7   r3   rB   ÚhasattrrU   Úannounce)rP   ÚexÚmsgs   &  r#   rO   rO   \   s}   € ðØ×Ñ˜d×1Ñ1Ö2øÜô ðˆð ˜rŸ|™|×4Ñ4Ô4Ü�r˜:×&Ò&Ø—‘˜CÔ ð 	ð —‘  3 % r˜lÔ+Øûðús   ‚ ŸBªABÂBc                 ó‚   € \         P                  ! 4        \        V 4       \        P                  P
                  ! R/ V B # )Nr!   )r   Ú	configurerQ   rL   rM   Úsetup)r   s   ,r#   r^   r^   q   s.   € Ü×ÒÔä˜EÔ"Ü�>‰>×ÒÑ( %Ñ(Ð(r&   )r   c                  óÞ   a € ] tR t^�t$ RtRtR]R&   R V 3R lltRR ltR R	 lt	]
RR
 R ll4       t]
RR R ll4       tRR R llt]R R l4       t]R R l4       t]R R l4       tRtV ;t# )r   a«  
Setuptools internal actions are organized using a *command design pattern*.
This means that each action (or group of closely related actions) executed during
the build should be implemented as a ``Command`` subclass.

These commands are abstractions and do not necessarily correspond to a command that
can (or should) be executed via a terminal, in a CLI fashion (although historically
they would).

When creating a new command from scratch, custom defined classes **SHOULD** inherit
from ``setuptools.Command`` and implement a few mandatory methods.
Between these mandatory methods, are listed:
:meth:`initialize_options`, :meth:`finalize_options` and :meth:`run`.

A useful analogy for command classes is to think of them as subroutines with local
variables called "options".  The options are "declared" in :meth:`initialize_options`
and "defined" (given their final values, aka "finalized") in :meth:`finalize_options`,
both of which must be defined by every command class. The "body" of the subroutine,
(where it does all the work) is the :meth:`run` method.
Between :meth:`initialize_options` and :meth:`finalize_options`, ``setuptools`` may set
the values for options/attributes based on user's input (or circumstance),
which means that the implementation should be careful to not overwrite values in
:meth:`finalize_options` unless necessary.

Please note that other commands (or other parts of setuptools) may also overwrite
the values of the command's options/attributes multiple times during the build
process.
Therefore it is important to consistently implement :meth:`initialize_options` and
:meth:`finalize_options`. For example, all derived attributes (or attributes that
depend on the value of other attributes) **SHOULD** be recomputed in
:meth:`finalize_options`.

When overwriting existing commands, custom defined classes **MUST** abide by the
same APIs implemented by the original class. They also **SHOULD** inherit from the
original class.
Fr   Údistributionc               ó    € V ^8„  d   QhRRRR/# )r   rP   r   r   r    r!   )r"   s   "r#   r$   ÚCommand.__annotate__ª   s   € ÷ ñ ˜\ð °Dñ r&   c                óZ   <€ \         SV `  V4       \        V 4      P                  V4       R# )zR
Construct the command for dist, updating
vars(self) with any keyword parameters.
N)r+   r,   ÚvarsÚupdate)r/   rP   Úkwr3   s   &&,€r#   r,   ÚCommand.__init__ª   s$   ø€ ô
 	‰Ñ˜ÔÜˆT‹
×Ñ˜"Ör&   c           	     	ó–   € \        W4      pVf   \        WV4       V# \        V\        4      '       g   \	        RV RV RV R24      hV# )NÚ'z' must be a z (got `z`))ÚgetattrÚsetattrÚ
isinstanceÚstrr   )r/   ÚoptionÚwhatÚdefaultÚvals   &&&& r#   Ú_ensure_stringlikeÚCommand._ensure_stringlike²   sS   € Ü�dÓ#ˆØŠ;Ü�D 'Ô*ØˆNÜ˜C¤×%Ò%Ü&¨¨6¨(°,¸t¸fÀGÈCÈ5ÐPRÐ'SÓTÐTØˆ
r&   c               ó    € V ^8„  d   QhRRRR/# )r   rn   rm   r   r    r!   )r"   s   "r#   r$   rb   »   s   € ÷ ñ ¨ð °ñ r&   c                ój  € \        W4      pVf   R# \        V\        4      '       d$   \        W\        P
                  ! RV4      4       R# \        V\        4      '       d6   \        ;QJ d    R V 4       F  '       d   K   RM	  RM! R V 4       4      pMRpV'       g   \        RV RV: R24      hR# )	a|  Ensure that 'option' is a list of strings.  If 'option' is
currently a string, we split it either on /,\s*/ or /\s+/, so
"foo bar baz", "foo,bar,baz", and "foo,   bar baz" all become
["foo", "bar", "baz"].

..
   TODO: This method seems to be similar to the one in ``distutils.cmd``
   Probably it is just here for backward compatibility with old Python versions?

:meta private:
Nz,\s*|\s+c              3  óB   "  € T F  p\        V\        4      x € K  	  R # 5irA   )rl   rm   )Ú.0Úvs   & r#   Ú	<genexpr>Ú-Command.ensure_string_list.<locals>.<genexpr>Î   s   é € Ð9±S°œ A¤s×+Ð+³Sùs   ‚FTri   z!' must be a list of strings (got Ú))	rj   rl   rm   rk   ÚreÚsplitÚlistÚallr   )r/   rn   rq   Úoks   &&  r#   Úensure_string_listÚCommand.ensure_string_list»   s’   € ô �dÓ#ˆØŠ;ÙÜ˜œS×!Ò!Ü�D¤"§(¢(¨;¸Ó"<Ö=ä˜#œt×$Ò$ß“SÑ9±SÓ9—S—S’SÑ9±SÓ9Ó9‘à�ßÜ*Ø˜�xÐ@ÀÁÀqÐIóð ñ r&   c               ó$   € V ^8„  d   QhRRRRRR/# )r   Úcommandrm   Úreinit_subcommandsÚboolr   r   r!   )r"   s   "r#   r$   rb   ×   s$   € ÷ ñ ØðØ04ðà	ñr&   c                	ó   € R # rA   r!   ©r/   r„   r…   rf   s   &&&,r#   Úreinitialize_commandÚCommand.reinitialize_commandÖ   s   € ñ r&   c               ó$   € V ^8„  d   QhRRRRRR/# )r   r„   r   r…   r†   r   r!   )r"   s   "r#   r$   rb   Û   s$   € ÷ ñ Ø ðØ6:ðà	ñr&   c                	ó   € R # rA   r!   rˆ   s   &&&,r#   r‰   rŠ   Ú   s   € ñ r&   c               ó$   € V ^8„  d   QhRRRRRR/# )r   r„   zstr | _Commandr…   r†   r   r   r!   )r"   s   "r#   r$   rb   Þ   s$   € ÷ ñ Ø%ðØ;?ðà	ñr&   c                	óh   € \         P                  ! WV4      p\        V4      P                  V4       V# rA   )r   r‰   rd   re   )r/   r„   r…   rf   Úcmds   &&&, r#   r‰   rŠ   Þ   s.   € ô ×+Ò+¨DÐ;MÓNˆÜˆS‹	×Ñ˜ÔØˆ
r&   c               ó   € V ^8„  d   QhRR/# ©r   r   r    r!   )r"   s   "r#   r$   rb   æ   s   € ÷ "ñ " Dñ "r&   c                ó   € \         h)z—
Set or (reset) all options/attributes/caches used by the command
to their default values. Note that these values may be overwritten during
the build.
©ÚNotImplementedErrorr>   s   &r#   Úinitialize_optionsÚCommand.initialize_optionså   ó
   € ô "Ð!r&   c               ó   € V ^8„  d   QhRR/# r‘   r!   )r"   s   "r#   r$   rb   ï   s   € ÷ "ñ " $ñ "r&   c                ó   € \         h)z×
Set final values for all options/attributes used by the command.
Most of the time, each option/attribute/cache should only be set if it does not
have any value yet (e.g. ``if self.attr is None: self.attr = val``).
r“   r>   s   &r#   r?   ÚCommand.finalize_optionsî   r—   r&   c               ó   € V ^8„  d   QhRR/# r‘   r!   )r"   s   "r#   r$   rb   ø   s   € ÷ "ñ "�Tñ "r&   c                ó   € \         h)z¹
Execute the actions intended by the command.
(Side effects **SHOULD** only take place when :meth:`run` is executed,
for example, creating new files or writing to the terminal output).
r“   r>   s   &r#   ÚrunÚCommand.run÷   r—   r&   r!   rA   )F)rB   rC   rD   rE   rF   Úcommand_consumes_argumentsÚ__annotations__r,   rr   r�   r   r‰   r   r•   r?   r�   rG   rH   rI   s   @r#   r   r   �   s”   ø‡ ñ#ðJ "'ÐØÓ÷ð ôõð6 öó ðð öó ð÷ð ô"ó ð"ð ô"ó ð"ð ô"ó ö"r&   c                óˆ   € R \         P                  ! V RR7       4       p\        \         P                  P                  V4      # )z
Find all files under 'path'
c              3  óx   "  € T F0  w  rpV F$  p\         P                  P                  W4      x € K&  	  K2  	  R # 5irA   )ÚosÚpathÚjoin)rw   ÚbaseÚdirsÚfilesÚfiles   &    r#   ry   Ú#_find_all_simple.<locals>.<genexpr>  s9   é € ð á!@ÑˆD˜ÛˆDô 	�‰�‰�T× Ð áñ 	!Û!@ùs   ‚8:T)Úfollowlinks)r£   ÚwalkÚfilterr¤   Úisfile)r¤   Úresultss   & r#   Ú_find_all_simpler°     s3   € ñä!#§¢¨¸4Õ!@ó€Gô
 ”"—'‘'—.‘. 'Ó*Ð*r&   c                óÎ   € \        V 4      pV \        P                  8X  d<   \        P                  ! \        P
                  P                  V R7      p\        W!4      p\        V4      # )z€
Find all files under 'dir' and return the list of full filenames.
Unless dir is '.', return full filenames with dir prepended.
)Ústart)	r°   r£   ÚcurdirÚ	functoolsÚpartialr¤   ÚrelpathÚmapr~   )Údirr¨   Úmake_rels   &  r#   Úfindallrº     sH   € ô
 ˜SÓ!€EØ
Œb�i‰iÔÜ×$Ò$¤R§W¡W§_¡_¸CÔ@ˆÜ�HÓ$ˆÜ�‹;Ðr&   c                  ó   € ] tR tRtRtRtR# )Úsici  z;Treat this string as-is (https://en.wikipedia.org/wiki/Sic)r!   N)rB   rC   rD   rE   rF   rG   r!   r&   r#   r¼   r¼     s   † ÝEr&   r¼   )r^   r   r   r   r   r   Úfind_packagesÚfind_namespace_packages)@rF   Ú
__future__r   r´   r£   r|   ÚsysÚabcr   Úcollections.abcr   Útypingr   r   r   r¤   Úextendr¥   ÚdirnameÚ__file__Úvendor_pathÚmodulesÚpopÚ_distutils_hack.overrideÚ_distutils_hackÚ r   r   Údependsr   Ú	discoveryr   r   rP   r   Ú	extensionr   Úversionr   Úwarningsr   Údistutils.corerL   Údistutils.errorsr   Ú__all__r   Úbootstrap_install_fromÚfindr½   r¾   rQ   rO   r^   rM   r   r   Úget_unpatchedr°   r³   rº   rm   r¼   Ú	patch_allr!   r&   r#   Ú<module>rÙ      s~  ðÙ Fõ #ã Û 	Û 	Û 
Ý Ý #ß 3Ñ 3à ‡�‡� §¡§¡¨b¯g©g¯o©o¸b¿g¹g¿o¹oÈhÓ>WÓ.XÐZfÐhqÓ!rÐr�+Ð{~÷  |Dñ  |Dñ  Dð  ITð  HUõ  Uô  Và ‡�‡��˜TÔ "ã ç Ý ß 9Ý Ý  Ý /Ý 2ã Ý 1ò	€ñ �K zÔ2€	àÐ à×"Ñ"€Ø-×2Ñ2Ð ò# õLò*)ð —‘×$Ñ$×,Ñ,€„çæ2à×#Ò# I§N¡N×$:Ñ$:Ó;€Hô}"ˆhô }"ò@	+ð —	‘	ô 	ôFˆ#ô Fð
 × Ò Ö r&   