+
    SBi,#              	         R t ^ RIH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Ot*]! RRR7      t+Rt,]PZ                  t.]PZ                  t/R t0R R lt1R t2])Pf                  Pd                  P                   ]2n         ]'       d   ^ RI(H4t5 M&]Pl                  ! ])Pf                  Ph                  4      t5 ! R R]54      t4R t7]Pp                  3R lt9 ! R R]:4      t;]Px                  ! 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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^7t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   "8/usr/lib/python3.14/site-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    8E-0Z#e*-DE-D58-DH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_tomlr2   s   &&  r"   _get_project_config_filesN_install_setup_requires.<locals>.MinimalDistribution._get_project_config_filesD   s?    %"WEiP
 7N  % "}$%s    **c                    R# )zH
Disable finalize_options to avoid building the working set.
Ref #2158.
Nr    r.   s   &r"   finalize_optionsE_install_setup_requires.<locals>.MinimalDistribution.finalize_optionsL   s    r%   r    N)
__name__
__module____qualname____firstlineno____doc__r+   r:   r>   __static_attributes____classcell__r2   s   @r"   MinimalDistributionr   7   s!    	
	) 	)		 	r%   rI   T)ignore_option_errorsN)	distutilscorer   parse_config_filesr(   _fetch_build_eggs)r   rI   dists   &  r"   _install_setup_requiresrP   4   sP    inn99 6 u%D 	6$ r%   c                   V ^8  d   QhRR/# )r   rO   r   r    )r!   s   "r"   r#   r#   Z   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(   r6   r2   rA   hasattrrT   announce)rO   exmsgs   &  r"   rN   rN   Z   s}    d112  r||444r:&&C  	 3%rl+s    BABBc                     \         P                  ! 4        \        V 4       \        P                  P
                  ! R/ V B # )Nr    )r   	configurerP   rK   rL   setup)r   s   ,r"   r]   r]   o   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 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   rO   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.   rO   kwr2   s   &&,r"   r+   Command.__init__   s$    
 	T
"r%   c               $    V ^8  d   QhRRRRRR/# )r   commandstrreinit_subcommandsboolr   r   r    )r!   s   "r"   r#   ra      s$      04	r%   c                	    R # r@   r    r.   rh   rj   re   s   &&&,r"   reinitialize_commandCommand.reinitialize_command   s     r%   c               $    V ^8  d   QhRRRRRR/# )r   rh   r   rj   rk   r   r    )r!   s   "r"   r#   ra      s$       6:	r%   c                	    R # r@   r    rm   s   &&&,r"   rn   ro      s     r%   c               $    V ^8  d   QhRRRRRR/# )r   rh   zstr | _Commandrj   rk   r   r   r    )r!   s   "r"   r#   ra      s$      %;?	r%   c                	h    \         P                  ! WV4      p\        V4      P                  V4       V# r@   )r   rn   rc   rd   )r.   rh   rj   re   cmds   &&&, r"   rn   ro      s.     ++D;MNS	
r%   c                   V ^8  d   QhRR/# r   r   r   r    )r!   s   "r"   r#   ra      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/# rv   r    )r!   s   "r"   r#   ra      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``).
rx   r=   s   &r"   r>   Command.finalize_options   r|   r%   c                   V ^8  d   QhRR/# rv   r    )r!   s   "r"   r#   ra      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).
rx   r=   s   &r"   runCommand.run   r|   r%   r    )F)rA   rB   rC   rD   rE   command_consumes_arguments__annotations__r+   r   rn   r   rz   r>   r   rF   rG   rH   s   @r"   r   r      s    #J "'      " " " " " "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r@   )ospathjoin).0basedirsfilesfiles   &    r"   	<genexpr>#_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maplist)dirr   make_rels   &  r"   findallr      sH    
 S!E
bii$$RWW__C@H$;r%   c                      ] tR t^tRtRtR# )sicz;Treat this string as-is (https://en.wikipedia.org/wiki/Sic)r    N)rA   rB   rC   rD   rE   rF   r    r%   r"   r   r      s    Er%   r   )r]   r   r   r   r   r   find_packagesfind_namespace_packages)=rE   
__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   rO   r   	extensionr   versionr   warningsr   distutils.corerK   __all__r   bootstrap_install_fromfindr   r   rP   rN   r]   rL   r   r   get_unpatchedr   r   r   ri   r   	patch_allr    r%   r"   <module>r      sx   F #  	 
  # 3 3 bggoobggooh>W.XZfhq!rr+{~  |D  |D  D  IT  HU  U  V T "    9    / 2 	 Kz2	 ""-22 # L*) $$,,2##INN$:$:;HY"h Y"x	+ 		 	F# F
    r%   