ó
    Eñi1%  ã            	      ó|  • S r SSKJr  SSKrSSKrSSKrSSKJr  SSKJ	r	  SSK
JrJrJr  \R                  R                  \R                  R!                  \R                  R#                  \R                  R#                  \5      5      SS5      =r\R                  ;  \/-  5        \R(                  R+                  S	S5        SSKrS
SKJrJr  S
SKJr  S
SKJrJr  S
SK J!r!  S
SK"J#r#  S
SK$J%r%  S
SK&J'r'  SSK(r)/ SQr*\" SSS9r+Sr,\RZ                  r.\RZ                  r/S r0S S jr1S!S jr2\)Rf                  Rd                  R                   \2l         \(       a  SSK(J4r5  O&\Rl                  " \)Rf                  Rh                  5      r5 " S S\55      r4S r7\Rp                  4S jr9 " S S\:5      r;\Rx                  " 5         g)"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)Úsetupr   ÚCommandr   r   r   Úfind_packagesÚfind_namespace_packagesÚ	_CommandTÚ_Command)Úboundc                ó²   •  " S S[         R                  R                  5      nU" U 5      nUR                  SS9  UR                  (       a  [        U5        g g )Nc                  óF   ^ • \ rS rSrSrSU 4S jjrSU 4S jjrS rSrU =r	$ )	Ú4_install_setup_requires.<locals>.MinimalDistributioné7   zT
A minimal version of a distribution for supporting the
fetch_build_eggs interface.
c                ó¸   >• Sn[        U5      [        U5      -   Vs0 s H  o3X   _M	     nn[        TU ]	  U5        U R                  R	                  5         g s  snf )N)Údependency_linksÚsetup_requires)ÚsetÚsuperÚ__init__Úset_defaultsÚ_disable)ÚselfÚattrsÚ_inclÚkÚfilteredÚ	__class__s        €ÚP/home/mande/repo/quber/.venv/lib/python3.13/site-packages/setuptools/__init__.pyr&   Ú=_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                óX   >•  [         TU ]  U5      u  p#US4$ ! [         a    US4s $ f = f)zAIgnore ``pyproject.toml``, they are not related to setup_requires© )r%   Ú _split_standard_project_metadataÚ	Exception)r)   Ú	filenamesÚcfgÚ_tomlr.   s       €r/   Ú_get_project_config_filesÚN_install_setup_requires.<locals>.MinimalDistribution._get_project_config_filesD   s?   ø€ ð%Ü"™WÑEÀiÓP‘
�ð ˜�7ˆNøô ó %Ø  "�}Ò$ð%ús   ƒ ˜)¨)c                ó   • g)zH
Disable finalize_options to avoid building the working set.
Ref #2158.
Nr2   ©r)   s    r/   Úfinalize_optionsÚE_install_setup_requires.<locals>.MinimalDistribution.finalize_optionsL   s   � ó    r2   )r*   zMapping[str, object]ÚreturnÚNone©N)
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r&   r8   r<   Ú__static_attributes__Ú__classcell__©r.   s   @r/   ÚMinimalDistributionr   7   s   ø† ñ	÷
	)÷	÷	ð 	r>   rJ   T)Úignore_option_errors)Ú	distutilsÚcorer   Úparse_config_filesr#   Ú_fetch_build_eggs)r*   rJ   Údists      r/   Ú_install_setup_requiresrQ   4   sM   € ôœiŸn™n×9Ñ9ô ñ6 ˜uÓ%€Dð 	×Ñ°ÐÑ6Ø××Ü˜$Õð r>   c                ó
  •  U R                  U R                  5        g ! [         aZ  nSnSUR                  R                  ;   a8  [        US5      (       a  UR                  U5        e U R                  SU S35        e S nAff = f)Na–  
        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Ú
)Úfetch_build_eggsr#   r4   r.   rB   ÚhasattrrT   Úannounce)rP   ÚexÚmsgs      r/   rO   rO   Z   s}   € ðØ×Ñ˜d×1Ñ1Õ2øÜó ðˆð ˜rŸ|™|×4Ñ4Ó4Ü�r˜:×&Ñ&Ø—‘˜CÔ ð 	ð —‘  3 % r˜lÔ+Øûðús   ‚ ž
B¨AA=Á=Bc                 ó‚   • [         R                  " 5         [        U 5        [        R                  R
                  " S0 U D6$ )Nr2   )r   Ú	configurerQ   rL   rM   r   )r*   s    r/   r   r   o   s0   € Ü×ÒÔä˜EÔ"ô �>‰>×ÒÑ( %Ñ(Ð(r>   )r   c                  óä   ^ • \ rS rSr% SrSrS\S'   Sr SU 4S jjr\	 S     SS jj5       r
\	 S     SS jj5       r
 S     SS	 jjr
\SS
 j5       r\SS j5       r\SS j5       rSrU =r$ )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                óX   >• [         TU ]  U5        [        U 5      R                  U5        g)zR
Construct the command for dist, updating
vars(self) with any keyword parameters.
N)r%   r&   ÚvarsÚupdate)r)   rP   Úkwr.   s      €r/   r&   ÚCommand.__init__°   s$   ø€ ô
 	‰Ñ˜ÔÜˆT‹
×Ñ˜"Õr>   c                ó   • g rA   r2   ©r)   ÚcommandÚreinit_subcommandsrc   s       r/   Úreinitialize_commandÚCommand.reinitialize_command¸   s   € ð r>   c                ó   • g rA   r2   rf   s       r/   ri   rj   ¼   s   € ð r>   c                óh   • [         R                  " XU5      n[        U5      R                  U5        U$ rA   )r   ri   ra   rb   )r)   rg   rh   rc   Úcmds        r/   ri   rj   À   s.   € ô ×+Ò+¨DÐ;MÓNˆÜˆS‹	×Ñ˜ÔØˆ
r>   c                ó   • [         e)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                ó   • [         e)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``).
ro   r;   s    r/   r<   ÚCommand.finalize_optionsÐ   rs   r>   c                ó   • [         e)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).
ro   r;   s    r/   ÚrunÚCommand.runÙ   rs   r>   r2   )rP   r   r?   r@   )F)rg   Ústrrh   Úboolr?   r   )rg   r   rh   rz   r?   r   )rg   zstr | _Commandrh   rz   r?   zCommand | _Command)r?   r@   )rB   rC   rD   rE   rF   Úcommand_consumes_argumentsÚ__annotations__Údry_runr&   r   ri   r   rq   r<   rw   rG   rH   rI   s   @r/   r   r   �   sä   ø‡ ñ#ðJ "'ÐØÓà€Gð÷
ð à7<ðØðØ04ðà	ôó ðð à=BðØ ðØ6:ðà	ôó ðð CHðØ%ðØ;?ðà	õð ó"ó ð"ð ó"ó ð"ð ó"ó ö"r>   r   c                ó‚   • S [         R                  " U SS9 5       n[        [         R                  R                  U5      $ )z
Find all files under 'path'
c              3  óz   #   • U  H1  u  pnU  H$  n[         R                  R                  X5      v •  M&     M3     g 7frA   )ÚosÚpathÚjoin)Ú.0ÚbaseÚdirsÚfilesÚfiles        r/   Ú	<genexpr>Ú#_find_all_simple.<locals>.<genexpr>ç   s9   é € ð â!@ÑˆD˜ÜˆDô 	�‰�‰�T× Ð áñ 	!Ú!@ùs   ‚9;T)Úfollowlinks)r€   ÚwalkÚfilterr�   Úisfile)r�   Úresultss     r/   Ú_find_all_simpler�   ã   s3   € ñä!#§¢¨¸4Ò!@ó€Gô
 ”"—'‘'—.‘. 'Ó*Ð*r>   c                óÆ   • [        U 5      nU [        R                  :X  a8  [        R                  " [        R
                  R                  U S9n[        X!5      n[        U5      $ )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ÚmapÚlist)Údirr†   Úmake_rels      r/   Úfindallrš   ï   sH   € ô
 ˜SÓ!€EØ
Œb�i‰iÓÜ×$Ò$¤R§W¡W§_¡_¸CÑ@ˆÜ�HÓ$ˆÜ�‹;Ðr>   c                  ó   • \ rS rSrSrSrg)Úsicéû   z;Treat this string as-is (https://en.wikipedia.org/wiki/Sic)r2   N)rB   rC   rD   rE   rF   rG   r2   r>   r/   rœ   rœ   û   s   † ÜEr>   rœ   )rP   r   )r?   r   )=rF   Ú
__future__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   Ú__all__r   Úbootstrap_install_fromÚfindr   r   rQ   rO   r   rM   r   r   Úget_unpatchedr�   r’   rš   ry   rœ   Ú	patch_allr2   r>   r/   Ú<module>r·      sx  ðÙ 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ã ò	€ñ �K zÑ2€	àÐ à×"Ñ"€Ø-×2Ñ2Ð ò# ôLô*)ð —‘×$Ñ$×,Ñ,€„ææ2à×#Ò# I§N¡N×$:Ñ$:Ó;€Hô_"ˆhô _"òD	+ð —	‘	ô 	ôFˆ#ô Fð
 × Ò Õ r>   