ROOTPLOIT
Server: LiteSpeed
System: Linux server71.web-hosting.com 4.18.0-513.18.1.lve.el8.x86_64 #1 SMP Thu Feb 22 12:55:50 UTC 2024 x86_64
User: niphet (1079)
PHP: 5.3.29
Disabled: NONE
Upload Files
File: //lib64/python3.8/distutils/__pycache__/sysconfig.cpython-38.pyc
U

§Î.ePã@sÂdZddlZddlZddlZddlZddlmZddlmZm	Z	ej
 ej¡Z
ej
 ej¡Zej
 ej¡Zej
 ej¡Zdejkr–ej
 ejd¡Zn&ejr´ej
 ej
 ej¡¡Zne ¡Zdd„Zeed	dƒZejd
kròdd„ZeeƒZeeƒZd
d„ZeƒZ dZ!ze sej"Z!Wne#k
r*YnXdd„Z$d-dd„Z%d.dd„Z&dd„Z'dd„Z(dd„Z)d/dd„Z*e +d¡Z,e +d¡Z-e +d ¡Z.d0d!d"„Z/d#d$„Z0da1d%d&„Z2d'd(„Z3d)d*„Z4d+d,„Z5dS)1aProvide access to Python's configuration information.  The specific
configuration variables available depend heavily on the platform and
configuration.  The values may be retrieved using
get_config_var(name), and the list of variables is available via
get_config_vars().keys().  Additional convenience functions are also
available.

Written by:   Fred L. Drake, Jr.
Email:        <fdrake@acm.org>
éNé)ÚDistutilsPlatformError)Úget_platformÚget_host_platformZ_PYTHON_PROJECT_BASEcCs,dD]"}tj tj |d|¡¡rdSqdS)N)ZSetupzSetup.localZModulesTF)ÚosÚpathÚisfileÚjoin)ÚdÚfn©rú+/usr/lib64/python3.8/distutils/sysconfig.pyÚ_is_python_source_dir+srÚ_homeÚntcCs0|r,tj |¡ tj tj td¡¡¡r,tS|S)NZPCbuild)rrÚnormcaseÚ
startswithr	ÚPREFIX)r
rrr
Ú_fix_pcbuild4s
ÿrcCstrttƒSttƒS)N)Ú	_sys_homerÚproject_baserrrr
Ú
_python_build<srÚcCsdtjdd…S)z–Return a string containing the major and minor Python version,
    leaving off the patchlevel.  Sample return values could be '1.5'
    or '2.2'.
    z%d.%dNé)ÚsysÚversion_inforrrr
Úget_python_versionPsrcCs¼|dkr|rtpt}tjdkrjtrL|r.tp,tStj t	dƒd¡}tj 
|¡Sdtƒt}tj |d|¡Stjdkrªtrœtj |d¡tjj
tj |d¡Stj |d¡Std	tjƒ‚dS)
a¤Return the directory containing installed Python header files.

    If 'plat_specific' is false (the default), this is the path to the
    non-platform-specific header files, i.e. Python.h and so on;
    otherwise, this is the path to platform-specific header files
    (namely pyconfig.h).

    If 'prefix' is supplied, use it instead of sys.base_prefix or
    sys.base_exec_prefix -- i.e., ignore 'plat_specific'.
    NÚposixÚsrcdirZIncludeÚpythonZincluderÚPCzFI don't know where Python installs its C header files on platform '%s')ÚBASE_EXEC_PREFIXÚBASE_PREFIXrÚnameÚpython_buildrrrr	Úget_config_varÚnormpathrÚbuild_flagsÚpathsepr)Ú
plat_specificÚprefixZincdirZ
python_dirrrr
Úget_python_incXs*

ÿÿÿr+cCs°|dkr&|r|rtpt}n|r"tp$t}tjdkrp|s8|r>d}nd}tj ||dtƒ¡}|r`|Stj |d¡Sn<tjdkrž|rŒtj |d¡Stj |dd¡Snt	d	tjƒ‚dS)
aSReturn the directory containing the Python library (standard or
    site additions).

    If 'plat_specific' is true, return the directory containing
    platform-specific modules, i.e. any module from a non-pure-Python
    module distribution; otherwise, return the platform-shared library
    directory.  If 'standard_lib' is true, return the directory
    containing standard Python library modules; otherwise, return the
    directory for site-specific modules.

    If 'prefix' is supplied, use it instead of sys.base_prefix or
    sys.base_exec_prefix -- i.e., ignore 'plat_specific'.
    NrÚlib64Úlibrz
site-packagesrZLibz?I don't know where Python installs its library on platform '%s')
r!r"ÚEXEC_PREFIXrrr#rr	rr)r)Ústandard_libr*r-Z	libpythonrrr
Úget_python_lib€s0
ÿ
ÿÿr0c	Csö|jdkròtjdkr8tdƒs8ddl}| t¡dtd<tddd	d
ddd
dƒ\}}}}}}}}	dtj	kr¨tj	d}
tjdkr¤dtj	kr¤| 
|¡r¤|
|t|ƒd…}|
}dtj	kr¼tj	d}dtj	krÐtj	d}dtj	krætj	d}n|d}dtj	kr|dtj	d}d	tj	kr<|dtj	d	}|dtj	d	}dtj	kr~|dtj	d}|dtj	d}|dtj	d}d
tj	kr”tj	d
}dtj	kr´|dtj	d}n|d|	}|d|}
|j||
|
d|||||d||_
dS)zÄDo any platform-specific customization of a CCompiler instance.

    Mainly needed on Unix, so we can plug in the information that
    varies across Unices and is stored in Python's Makefile.
    ZunixÚdarwinZCUSTOMIZED_OSX_COMPILERrNÚTrueZCCZCXXÚCFLAGSZCCSHAREDZLDSHAREDZSHLIB_SUFFIXZARZARFLAGSZCPPz -EÚLDFLAGSú ÚCPPFLAGS)ZpreprocessorÚcompilerZcompiler_soZcompiler_cxxZ	linker_soZ
linker_exeÚarchiver)Z
compiler_typerÚplatformr%Ú_osx_supportÚcustomize_compilerÚ_config_varsÚget_config_varsrÚenvironrÚlenZset_executablesZshared_lib_extension)r7r:ZccZcxxZcflagsZccsharedZldsharedZshlib_suffixZarZar_flagsZnewccZcppr8Zcc_cmdrrr
r;«sn

ÿÿ


ÿþ






ù	r;cCsDtr,tjdkr"tj tptd¡}q6tp(t}n
tdd}tj |d¡S)z2Return full pathname of installed pyconfig.h file.rr r©r)z
pyconfig-64.h)r$rr#rr	rrr+)Zinc_dirrrr
Úget_config_h_filenameôs


rAcCs\trtj tptd¡Stddd}d tƒt	¡}t
tjdƒrL|dtjj
7}tj ||d¡S)zAReturn full pathname of installed Makefile from the Python build.ZMakefilerr©r)r/zconfig-{}{}Ú
_multiarchz-%s)r$rrr	rrr0Úformatrr'ÚhasattrrÚimplementationrC)Zlib_dirZconfig_filerrr
Úget_makefile_filenamesrGcCsš|dkri}t d¡}t d¡}| ¡}|s.q–| |¡}|rx| dd¡\}}zt|ƒ}Wntk
rlYnX|||<q | |¡}|r d|| d¡<q |S)zÌParse a config.h-style file.

    A dictionary containing name/value pairs is returned.  If an
    optional dictionary is passed in as the second argument, it is
    used instead of a new dictionary.
    Nz"#define ([A-Z][A-Za-z0-9_]+) (.*)
z&/[*] #undef ([A-Z][A-Za-z0-9_]+) [*]/
rrr)ÚreÚcompileÚreadlineÚmatchÚgroupÚintÚ
ValueError)ÚfpÚgZ	define_rxZundef_rxÚlineÚmÚnÚvrrr
Úparse_config_hs&




rUz"([a-zA-Z][a-zA-Z0-9_]+)\s*=\s*(.*)z\$\(([A-Za-z][A-Za-z0-9_]*)\)z\${([A-Za-z][A-Za-z0-9_]*)}c	Cs¶ddlm}||ddddd}|dkr*i}i}i}| ¡}|dkrDqÄt |¡}|r2| dd¡\}}	|	 ¡}	|	 dd	¡}
d
|
krˆ|	||<q2zt|	ƒ}	Wn$t	k
r¸|	 dd
¡||<Yq2X|	||<q2d}|rtt
|ƒD]˜}||}
t |
¡pöt
 |
¡}|rj| d¡}d}||kr$t||ƒ}nˆ||kr4d
}nx|tjkrLtj|}n`||kr | d¡rz|dd…|krzd	}n$d||krŽd
}nt|d|ƒ}nd	||<}|rp|
| ¡d…}|
d| ¡…||}
d
|krî|
||<nzzt|
ƒ}
Wn"t	k
r|
 ¡||<Yn
X|
||<||=| d¡rp|dd…|krp|dd…}||krp|
||<qÖ||=qÖqÈ| ¡| ¡D]"\}}	t|	tƒr„|	 ¡||<q„| |¡|S)zÌParse a Makefile-style file.

    A dictionary containing name/value pairs is returned.  If an
    optional dictionary is passed in as the second argument, it is
    used instead of a new dictionary.
    r)ÚTextFilerÚsurrogateescape)Zstrip_commentsZskip_blanksZ
join_linesÚerrorsNrz$$rú$)r3r4r6TFZPY_é)Zdistutils.text_filerVrJÚ_variable_rxrKrLÚstripÚreplacerMrNÚlistÚ_findvar1_rxÚsearchÚ_findvar2_rxÚstrrr>rÚendÚstartÚcloseÚitemsÚ
isinstanceÚupdate)rrPrVrOZdoneZnotdonerQrRrSrTZtmpvZrenamed_variablesr#ÚvalueÚfoundÚitemZafterÚkrrr
Úparse_makefile/s„








ÿ



rmcCsVt |¡pt |¡}|rR| ¡\}}|d|…| | d¡¡||d…}qqRq|S)a¨Expand Makefile-style variables -- "${foo}" or "$(foo)" -- in
    'string' according to 'vars' (a dictionary mapping variable names to
    values).  Variables not present in 'vars' are silently expanded to the
    empty string.  The variable values in 'vars' should not contain further
    variable expansions; if 'vars' is the output of 'parse_makefile()',
    you're fine.  Returns a variable-expanded version of 's'.
    rrN)r_r`raÚspanÚgetrL)ÚsÚvarsrRZbegrcrrr
Úexpand_makefile_vars™s*rrc
CsVtj ddjtjtjttjddƒd¡}t	|t
ƒtƒdgdƒ}|j}ia
t
 |¡dS)	z7Initialize the module as appropriate for POSIX systems.Z_PYTHON_SYSCONFIGDATA_NAMEz+_sysconfigdata_{abi}_{platform}_{multiarch}rCr)Zabir9Z	multiarchÚbuild_time_varsrN)rr>rorDrÚabiflagsr9ÚgetattrrFÚ
__import__ÚglobalsÚlocalsrsr<rh)r#Z_temprsrrr
Ú_init_posix´sýÿrycCs~i}tddd|d<tddd|d<tdd|d<t ¡d|d<d	|d
<tƒ dd¡|d
<tj tj 	t
j¡¡|d<|adS)z+Initialize the module as appropriate for NTrrrBZLIBDESTZ
BINLIBDESTr@Z	INCLUDEPYÚ
EXT_SUFFIXz.exeZEXEÚ.rZVERSIONZBINDIRN)
r0r+Ú_impÚextension_suffixesrr]rrÚdirnameÚabspathrÚ
executabler<)rPrrr
Ú_init_ntÄsrcGs\tdkr*tƒ dtj¡}|r(|ƒniattd<ttd<t d¡}|dk	rV|td<t dt¡}tjdkrœtrŽtj	 
tƒ¡}tj	 ||¡}ntj	 
tƒ¡}tj	 
tj	 |¡¡td<trtjdkrt}tj	 td¡s|t ¡krtj	 |td¡}tj	 |¡td<tjd	kr*d
dl}| t¡|rTg}|D]}| t |¡¡q8|StSdS)aßWith no arguments, return a dictionary of all configuration
    variables relevant for the current platform.  Generally this includes
    everything needed to build extensions and install both pure modules and
    extensions.  On Unix, this means every variable defined in Python's
    installed Makefile; on Windows it's a much smaller set.

    With arguments, return a list of values that result from looking up
    each argument in the configuration variable dictionary.
    NZ_init_r*Úexec_prefixrzÚSOrrr1r)r<rwrorr#rr.rr$rr~rGr	rr&ÚisabsÚgetcwdrr9r:Zcustomize_config_varsÚappend)ÚargsÚfuncrƒrÚbaser:Zvalsr#rrr
r=×sB



ÿ
r=cCs*|dkrddl}| dtd¡tƒ |¡S)z“Return the value of a single variable using the dictionary
    returned by 'get_config_vars()'.  Equivalent to
    get_config_vars().get(name)
    rƒrNz SO is deprecated, use EXT_SUFFIXr)ÚwarningsÚwarnÚDeprecationWarningr=ro)r#rŠrrr
r%!sr%)rN)rrN)N)N)6Ú__doc__r|rrHrrXrÚutilrrrr&r*rr‚r.Úbase_prefixr"Úbase_exec_prefixr!r>rrr€r~r…rrurr#rrr$r'rtÚAttributeErrorrr+r0r;rArGrUrIr[r_rarmrrr<ryrr=r%rrrr
Ú<module>s\



(
+I





jJ