ef#dZddlZddlZddlZddlZddlZddlm Z ddl m Z ddl mZmZddl mZddlmZdd lmZmZdd lmZdd lmZdd lmZgd ZejZdZej Z!ej Z"dZ#dZ$dZ%ej&j%je%_ej'ej&j(Z)Gdde)Z(dZ*ej+fdZ,ej-e dZ Gdde.Z/ej0dS)z@Extensions to the 'distutils' for large or complex distributionsN)DistutilsOptionError) convert_path)loggingmonkey)version)Require) PackageFinderPEP420PackageFinder) Distribution) Extension)SetuptoolsDeprecationWarning)setupr Commandr r r find_packagesfind_namespace_packagescGddtjj}||}|d|jrt |dSdS)Nc4eZdZdZfdZdfd ZdZxZS)4_install_setup_requires..MinimalDistributionzl A minimal version of a distribution for supporting the fetch_build_eggs interface. cd}fdt|tzD}t||jdS)N)dependency_linkssetup_requiresc"i|] }|| Sr).0kattrss s/builddir/build/BUILD/imunify360-venv-2.3.5/opt/imunify360/venv/lib/python3.11/site-packages/setuptools/__init__.py zQ_install_setup_requires..MinimalDistribution.__init__..3sEEE58EEE)setsuper__init__ set_defaults_disable)selfr_inclfiltered __class__s ` rr#z=_install_setup_requires..MinimalDistribution.__init__1sf8EEEEESZZ#e**-DEEEH GG  X & & &   & & ( ( ( ( (r Nc~ t|\}}|dfS#t$r|dfcYSwxYw)zAIgnore ``pyproject.toml``, they are not related to setup_requiresr)r" _split_standard_project_metadata Exception)r& filenamescfgtomlr)s r_get_project_config_fileszN_install_setup_requires..MinimalDistribution._get_project_config_files8sW %!GGDDYOO TBw % % % "}$$$ %s '+<<cdS)zl Disable finalize_options to avoid building the working set. Ref #2158. Nr)r&s rfinalize_optionszE_install_setup_requires..MinimalDistribution.finalize_options@sr N)__name__ __module__ __qualname____doc__r#r0r2 __classcell__r)s@rMinimalDistributionr+so   ) ) ) ) ) % % % % % %       r r:T)ignore_option_errors) distutilscorer parse_config_filesr_fetch_build_eggs)rr:dists r_install_setup_requiresrA(sin96  u % %D 666  $  r c ||jdS#t$rU}d}d|jjvr?t |dr||n|d|dd}~wwxYw)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. InvalidVersionadd_note )fetch_build_eggsrr,r)r4hasattrrDannounce)r@exmsgs rr?r?Ns d122222   r|4 4 4r:&& , C     l3lll+++ s A=AA88A=c rtjt|tjjdi|S)Nr)r configurerAr<r=r)rs rrrcs8 E""" >  ( (% ( ((r c<eZdZdZdZfdZd dZdZd dZxZ S) ra 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: .. method:: initialize_options(self) 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. .. method:: finalize_options(self) 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``). .. method:: run(self) Execute the actions intended by the command. (Side effects **SHOULD** only take place when ``run`` is executed, for example, creating new files or writing to the terminal output). A useful analogy for command classes is to think of them as subroutines with local variables called "options". The options are "declared" in ``initialize_options()`` and "defined" (given their final values, aka "finalized") in ``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 ``run()`` method. Between ``initialize_options()`` and ``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 ``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 ``initialize_options()`` and ``finalize_options()``. For example, all derived attributes (or attributes that depend on the value of other attributes) **SHOULD** be recomputed in ``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. Fc t|t||dS)zj Construct the command for dist, updating vars(self) with any keyword parameters. N)r"r#varsupdate)r&r@kwr)s rr#zCommand.__init__s=  T "r Nc t||}|t||||St|tst d|d|d|d|S)N'z ' must be a z (got `z`))getattrsetattr isinstancestrr)r&optionwhatdefaultvals r_ensure_stringlikezCommand._ensure_stringlikesqdF## ; D&' * * *NC%% &&28&&$$$D  r c6t||}|dSt|tr&t||t jd|dSt|t rtd|D}nd}|std|d|ddS)aEnsure 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+c3@K|]}t|tVdSr3)rVrW)rvs r z-Command.ensure_string_list..s,99As++999999r FrSz!' must be a list of strings (got )) rTrVrWrUresplitlistallr)r&rXr[oks rensure_string_listzCommand.ensure_string_listsdF## ; F S ! !  D&"(;"<"< = = = = =#t$$ 99S99999 **AGM  r rc t|||}t|||Sr3)_Commandreinitialize_commandrOrP)r&commandreinit_subcommandsrQcmds rrjzCommand.reinitialize_commands9++D';MNN S  r r3)r) r4r5r6r7command_consumes_argumentsr#r\rgrjr8r9s@rrrps44l"'    6r rcdtj|dD}ttjj|S)z% Find all files under 'path' c3hK|]-\}}}|D]$}tj||V%.dSr3)ospathjoin)rbasedirsfilesfiles rr`z#_find_all_simple..sc D$   T4  r T) followlinks)rqwalkfilterrrisfile)rrresultss r_find_all_simpler}sE!#4!@!@!@G "'.' * **r ct|}|tjkr5tjtjj|}t||}t|S)z Find all files under 'dir' and return the list of full filenames. Unless dir is '.', return full filenames with dir prepended. )start) r}rqcurdir functoolspartialrrrelpathmaprd)dirrvmake_rels rfindallrsR S ! !E bi$RW_C@@@He$$ ;;r cNtjdddt|S)NzAccess to implementation detaila The function `convert_path` is not provided by setuptools itself, and therefore not part of the public API. Its direct usage by 3rd-party packages is considered improper and the function may be removed in the future. )i )due_date)remit _convert_path)pathnames rrrs9 %)        " ""r ceZdZdZdS)sicz;Treat this string as-is (https://en.wikipedia.org/wiki/Sic)N)r4r5r6r7rr rrrsEEEEr r)1r7rrqrb_distutils_hack.override_distutils_hackdistutils.corer<distutils.errorsrdistutils.utilrrrrr_version_moduledependsr discoveryr r r@r extensionr warningsr__all__ __version__bootstrap_install_fromfindrrrAr?rr= get_unpatchedrrir}rrwrapsrWr patch_allrr rrsKFF 111111888888((((((99999999 222222   ) " -2# # # L*)))$,  6   6 7 7jjjjjhjjjZ + + +     # #  #FFFFF#FFF r