ÿØÿà JFIF      ÿÛ „ 	 ( %!1!%)+//.383,7(-.+



-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ               ÿÄ J  	     ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ              ÿÄ *        !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍÑ¶¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     ÿØÿà JFIF      ÿÛ „ 	 ( %!1!%)+//.383,7(-.+



-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ               ÿÄ J  	     ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ              ÿÄ *        !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍÑ¶¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     
    ri                        	 d dl Z d dlZd dlZd dlmZ g dZdhZddddd	d
dddddddddddddddddddddddddd	d
dddddddddddddZe j                  dk(  r	ed   ed<   ned   ed<   ed   ed<   d Z	 e	       duZ
e
r!eddddd d!d"d#d$d$d%d%d&d'd"d#d(d(d)d)d&d'd"d#d*z  Z eed+      s)ej                  ej                  k7  sd,e j                  vrd-Zd#Zej"                  j%                         d    Zej(                  d     d.ej(                  d/    Zej(                  d     ej(                  d/    Ze j.                  j1                  ej                        Ze j.                  j1                  ej4                        Z ej8                         Zdad0adZ d1Z!d2Z"d3Z#d4 Z$ejJ                  r,e j.                  jM                   e$ejJ                              Z'n e$ e jP                               Z' e)ed5d      Z*e*re*Z'e j                  dk(  r" e$e'      jW                   e$e d6            reZ'd7e j                  v r e$e j                  d7         Z'd\d8Z, e,       Z-e-rd9D ]  Z.ee.   Z.e.d:   e.d;<   d<e.d:<   d=e.d><    [.d? Z/d@ Z0da1dA Z2dB Z3dC Z4dD Z5dE Z6d]dGZ7dH Z8dI Z9dJ Z:dK Z;dL Z<d\dMZ=dN Z>dO Z?dP Z@ e6       ddFfdQZA e6       ddFfdRZBdS ZCdT ZDdU ZEdV ZFdW ZGdX ZHdY ZIdZ ZJeKd[k(  r eJ        yy)^    N)realpath)get_config_h_filenameget_config_varget_config_varsget_makefile_filenameget_pathget_path_names	get_pathsget_platformget_python_versionget_scheme_namesparse_config_hMACOSX_DEPLOYMENT_TARGETz6{installed_base}/{platlibdir}/python{py_version_short}z0{platbase}/{platlibdir}/python{py_version_short}z1{base}/lib/python{py_version_short}/site-packagesz>{platbase}/{platlibdir}/python{py_version_short}/site-packagesz;{installed_base}/include/python{py_version_short}{abiflags}z?{installed_platbase}/include/python{py_version_short}{abiflags}z
{base}/binz{base})stdlib
platstdlibpurelibplatlibincludeplatincludescriptsdataz{installed_base}/lib/pythonz{base}/lib/pythonz{installed_base}/include/pythonz{installed_base}/Libz
{base}/Libz{base}/Lib/site-packagesz{installed_base}/Includez{base}/Scripts)posix_prefix
posix_homent
posix_venvnt_venvr   r   venvr   r   
rpm_prefixc            	         t         j                  j                  dd       } | r| S t        j                  dv ry d }t         j
                  dk(  r,t         j                  j                  d      xs d} ||d      S t        j                  dk(  rPt        j                  r@ |dd	t        j                  t        j                  d
    dt        j                  d          S  |dd      S )NPYTHONUSERBASE>   wasivxworks
emscriptenc                  t    t         j                  j                  t        j                  j                  |        S N)ospath
expanduserjoin)argss    "/usr/lib64/python3.12/sysconfig.pyjoinuserz_getuserbase.<locals>.joinuser|   s$    ww!!"'',,"566    r   APPDATA~PythondarwinLibraryr   .   z.local)r&   environgetsysplatformname
_frameworkversion_info)env_baser,   bases      r+   _getuserbaser>   s   s    zz~~.5H ||887 
ww$zz~~i(/Ch''
||xCNNY++A./q1A1A!1D0EFH 	H C""r-   z({userbase}/Python{py_version_nodot_plat}z6{userbase}/Python{py_version_nodot_plat}/site-packagesz0{userbase}/Python{py_version_nodot_plat}/Includez0{userbase}/Python{py_version_nodot_plat}/Scriptsz
{userbase})r   r   r   r   r   r   r   z0{userbase}/{platlibdir}/python{py_version_short}z5{userbase}/lib/python{py_version_short}/site-packagesz+{userbase}/include/python{py_version_short}z{userbase}/binz{userbase}/lib/pythonz#{userbase}/lib/python/site-packages)nt_user
posix_userosx_framework_userreal_prefixRPM_BUILD_ROOTz/localr3   r4   Fz"([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                 <    	 t        |       S # t        $ r | cY S w xY wr%   )r   OSError)r'   s    r+   _safe_realpathrF      s%    ~ s   
 _homez\PCbuild_PYTHON_PROJECT_BASEc                     | dd l }|j                  dt        d       dD ]F  }t        j                  j                  t        j                  j                  t        d|            sF y y)	Nr   zThe check_home argument of sysconfig.is_python_build is deprecated and its value is ignored. It will be removed in Python 3.15.   )
stacklevel)SetupzSetup.localModulesTF)warningswarnDeprecationWarningr&   r'   isfiler)   _PROJECT_BASE)
check_homerN   fns      r+   is_python_buildrU      s^    5  	 	
 '77>>"'',,}iDE ' r-   )r   r   r   headersz{srcdir}/Includez{projectbase}/.r   c                     	  | j                   di |S # t        $ rE}	  | j                   di t        j                  cY d }~S # t        $ r t	        |       d w xY wd }~ww xY w)N )formatKeyErrorr&   r5   AttributeError)s
local_varsvars      r+   _subst_varsr_     se    5qxx%*%% 5	5188)bjj)) 	5 C5*4	55s%    	A"AA"AAA"c                 h    | j                         }|j                         D ]  \  }}||v r|| |<    y r%   )keysitems)target_dict
other_dicttarget_keyskeyvalues        r+   _extend_dictrh     s<    ""$K &&(
U+ C )r-   c                  d    t         %t        t                     a dt         d<   dt         d<   t         S )Nz
/usr/localr=   platbase)_CONFIG_VARS_LOCALdictr   rX   r-   r+   _config_vars_localrm   $  s4     !!/"34%16")5:&r-   c                    i }|i }| dk(  r:t         j                  dk(  r'dt        j                  vrt	        |t                      nt	        |t                      t        j                  dk(  r|ddiz  }t        |    j                         D ]b  \  }}t        j                  dv rt        j                  j                  |      }t        j                  j                  t        ||            ||<   d |S )Nr   z/usrrC   r   
platlibdirlib)posixr   )r7   prefixr&   r5   rh   rm   r   r9   _INSTALL_SCHEMESrb   r'   r(   normpathr_   )schemevarsresrf   rg   s        r+   _expand_varsrx   /  s    
C| 	. 

f

*134T?,-	ww$ |U++&v.446
U77o%GG&&u-E77##Kt$<=C 7 Jr-   c                      t         j                  dk(  rddddS t        j                  dk(  rt        j                  rddddS ddddS )	Nr   r   r?   )rr   homeuserr1   r   rA   r@   )r&   r9   r7   r8   r:   rX   r-   r+   _get_preferred_schemesr|   P  s\    	ww$ 
 	

 ||xCNN$ (
 	
 ! r-   c                     | dk(  r"t         j                  t         j                  k7  ryt               |    }|t        vrt        | d|d      |S )Nrr   r   z
 returned z., which is not a valid scheme on this platform)r7   rr   base_prefixr|   rs   
ValueError)rf   ru   s     r+   get_preferred_schemer   d  sZ    
h3::8#%c*F%%gZz *  
 	
 Mr-   c                      t        d      S )Nrr   )r   rX   r-   r+   get_default_schemer   p  s    ))r-   Tc                    	 dd l }|i }i }i }t        | t        j                         d      5 }|j	                         }d d d        D ]  }|j                  d      s|j                         dk(  r(|j                  t        |      }	|	sA|	j                  dd      \  }
}|j                         }|j                  dd      }d	|v r|||
<   	 |
t        v rt        t        |      }|||
<    t        |j                               }d
}t!        |      dkD  rt#        |      D ]  }||   }|j%                  t&        |      }|j%                  t(        |      }|r(|r&|j+                         |j+                         k  r|n|}	n|r|n|}	|	.|	j                  d      }
d}|
|v rt-        ||
         }no|
|v rd}nh|
t.        j0                  v rt.        j0                  |
   }nB|
|v r7|j                  d      r
|dd  |v rd}n#d|
z   |v rd}nt-        |d|
z            }ndx||
<   }|s||	j3                         d  }|d |	j+                          z   |z   }d	|v r|||<   8	 |t        v rt        t        |      }|||<   |j5                  |       |j                  d      s{|dd  |v s|dd  }||vs|||<   |r|||<   |j5                  |        t!        |      dkD  r|j7                         D ])  \  }}t9        |t,              s|j                         ||<   + |j;                  |       |S # 1 sw Y   xY w# t        $ r |j                  dd	      ||
<   Y w xY w# t        $ r |j                         ||<   Y 
w xY w)Nr   surrogateescape)encodingerrors# r4   rJ   z$$$)CFLAGSLDFLAGSCPPFLAGSTFPY_   )reopenr7   getfilesystemencoding	readlines
startswithstripmatch_variable_rxgroupreplace_ALWAYS_STRr   intlistra   lentuplesearch_findvar1_rx_findvar2_rxstartstrr&   r5   endremoverb   
isinstanceupdate)filenamerv   keep_unresolvedr   donenotdoneflineslinemnvtmpv	variablesrenamed_variablesr9   rg   m1m2founditemafterks                          r+   _parse_makefiler   t  s    |DG	h!:!:!<&
(+,
( ??34::<2#5HH\4(771a=DAq	A99T2&Dd{
	 K'((AA
  DG- 2 W\\^$I :
i.1
)$DDME</B</Bb((*rxxz1BrB"}GGAJ9tAw<D'\!E"**_::a=D++.QR$55!g- %  #4	?3 &('DGd!!%%'(OE!*1779-4u<Ee|(-/#{2&0 0$'JE */DJ!((.??51 H(99#'8D#4/-2T

 #!&DJ   &A % i.1
H 

1aggiDG 
 	KKK_
( 
(, " 3iic2DG3x  * 7).DJ7s/   L1L>M#1L;>M M #NNc                  x   	 t         r$t        j                  j                  t        d      S t        t        d      rdt         t        j                   } nd} t        t        j                  d      r | dt        j                  j                   z  } t        j                  j                  t        d      | d      S )NMakefileabiflagszconfig-config
_multiarch-r   )_PYTHON_BUILDr&   r'   r)   rR   hasattrr7   _PY_VERSION_SHORTr   implementationr   r   )config_dir_names    r+   r   r     s    *ww||M:66sJ#$5#6s||nE"s!!<0Qs11<<=>>77<<*OZHHr-   c            	          t        t        j                  dd      } t        j                  j                  ddt        j                   dt        j                   d|        S )Nr   r   _PYTHON_SYSCONFIGDATA_NAME_sysconfigdata__)getattrr7   r   r&   r5   r6   r   r8   )	multiarchs    r+   _get_sysconfigdata_namer     sL    **L"=I::>>$
#,,qa	{C r-   c                  @   	 dd l } i }t               }	 t        ||       t               }	 t        |d      5 }t        ||       d d d        t        r|d   |d	<   t               }d
t        j                  v r/dd l}|j                  |      }	||	_        |	t        j                   |<   dt#                dt$         }
t	        t        d      r|
dz  }
t'        j(                  |
d       t&        j*                  j-                  |
|dz         }t        |dd      5 }|j/                  d       |j/                  d       | j                  ||       d d d        t        ddd      5 }|j/                  |
       d d d        y # t        $ r3}d| }t	        |d      r| d|j
                   d}t        |      d }~ww xY w# 1 sw Y   zxY w# t        $ r3}d| }t	        |d      r| d|j
                   d}t        |      d }~ww xY w# 1 sw Y   xY w# 1 sw Y   y xY w)Nr   z,invalid Python installation: unable to open strerrorz ()zutf-8)r   LDSHARED	BLDSHAREDr1   z
build/lib.r   gettotalrefcountz-pydebugT)exist_okz.pywutf8zB# system configuration generated and used by the sysconfig module
zbuild_time_vars = )streamzpybuilddir.txt)pprintr   r   rE   r   r   r   r   r   r   r   r7   r8   types
ModuleTypebuild_time_varsmodulesr   r   r&   makedirsr'   r)   write)r   rv   makefileemsgconfig_hr   r9   r   module
pybuilddirdestfiles               r+   _generate_posix_varsr   	  s   ED$&H$' %&H(W-1d# .  ,[ #$D3<<!!$'!%"Dln-Q/@.ABJs&'j 
KK
T*ww||Ju5H	hf	-	 * 	+	$%d1%	 
. 
f	5	
 
6	5i  <XJG1j!EAJJ<q)Ccl	 .- <XJG1j!EAJJ<q)Ccl	F 
.	- 
6	5s]   E= G	 F<G	 6H"H=	F9.F44F9<GG	 		H.H  HHHc                     	 t               }t        |t               t               dgd      }|j                  }| j                  |       y )Nr   r   )r   
__import__globalslocalsr   r   )rv   r9   _tempr   s       r+   _init_posixr   H  s>    A"$DtWY3D2EqIE++OKK r-   c                 F   	 dd l }t        d      | d<   t        d      | d<   t        d      | d<   	 |j                         d   | d<   d	| d
<   t        | d<   t
        j                  j                  t        t        j                              | d<   d| d<   y # t        $ r Y Xw xY w)Nr   r   LIBDESTr   
BINLIBDESTr   	INCLUDEPY
EXT_SUFFIXz.exeEXEVERSIONBINDIRr   TZPATH)_impr   extension_suffixes
IndexError_PY_VERSION_SHORT_NO_DOTr&   r'   dirnamerF   r7   
executable)rv   r   s     r+   _init_non_posixr   P  s    5x(DO!,/D +D "446q9\ DK.DOWW__^CNN%CDDNDN  s   B 	B B c                    	 |i }dd l }|j                  d      }|j                  d      }	 | j                         }|s	 |S |j                  |      }|r5|j	                  dd      \  }}	 |t
        v rt        t        |      }|||<   n'|j                  |      }|rd||j	                  d      <   # t        $ r Y 9w xY w)Nr   z"#define ([A-Z][A-Za-z0-9_]+) (.*)
z&/[*] #undef ([A-Z][A-Za-z0-9_]+) [*]/
r4   rJ   )r   compilereadliner   r   r   r   r   )	fprv   r   	define_rxundef_rxr   r   r   r   s	            r+   r   r   g  s     |

@AIzzCDH
{{} K OOD!771a=DAq#$$F DGt$A#$QWWQZ #   s   +B2 2	B>=B>c                      	 t         r?t        j                  dk(  r%t        j                  j	                  t
        d      } nt
        } nt        d      } t        j                  j	                  | d      S )Nr   PCr   zpyconfig-64.h)r   r&   r9   r'   r)   rR   r   )inc_dirs    r+   r   r     sK    (77d?ggll=$7G#G=)77<<11r-   c                  4    	 t        t        t                    S r%   )r   sortedrs   rX   r-   r+   r   r     s    6()**r-   c                      	 t         S r%   )_SCHEME_KEYSrX   r-   r+   r	   r	     s    4r-   c                 2    	 |rt        | |      S t        |    S r%   )rx   rs   )ru   rv   expands      r+   r
   r
     s$    
 FD))''r-   c                 $    	 t        |||      |    S r%   )r
   )r9   ru   rv   r
  s       r+   r   r     s     VT6*400r-   c                  Z   i a t        j                  j                  t        j
                        } t        j                  j                  t        j                        }| t         d<   |t         d<   t        t         d<   t        t         d<   t        t         d<   t        t         d<   | t         d<   t        t         d<   |t         d	<   t        t         d
<   t        j                  t         d<   	 t        j                  t         d<   	 t        j                   j#                  dd      t         d<   t        j$                  dk(  r&t'        t                t        j(                  t         d<   t        j$                  dk(  rt+        t                t,        rt/               t         d<   t         j1                  dt              }t        j$                  dk(  rut2        rHt        j                  j5                  t7                     }t        j                  j9                  ||      }n't        j                  j5                  t7                     }t;        |      t         d<   t        j<                  dk(  rdd l}|jA                  t                da!y # t        $ r dt         d<   Y w xY w# t        $ r dt         d<   Y w xY w)Nrr   exec_prefix
py_versionpy_version_shortpy_version_nodotinstalled_baser=   installed_platbaserj   projectbasero   r   r   r3   py_version_nodot_platr   VPATHrq   userbasesrcdirr1   r   T)"_CONFIG_VARSr&   r'   rt   r7   rr   r  _PY_VERSIONr   r   _BASE_PREFIX_BASE_EXEC_PREFIXrR   ro   r   r[   winverr   r9   r   _vpathr   _HAS_USER_BASEr>   r6   r   r   r   r)   rF   r8   _osx_supportcustomize_config_vars_CONFIG_VARS_INITIALIZED)_PREFIX_EXEC_PREFIXr  r=   r  s        r+   _init_config_varsr$    s   L ggszz*G77##COO4L$L".L!,L'8L#$'?L#$%1L!""L):L%&+L"/L!$L&#&<<Z 303

0B0B30K,- 
ww$% #

W	ww'L! $0>Z  h6F	ww' 77??#8#:;DWW\\$/F WW__%:%<=F+F3L ||x**<8  $W  &#%Z &
  302,-3s$   'I; ?'J ;JJJ*)J*c                     	 t         s t        5  t        
t                d d d        nRt        d   t        j
                  j                  t        j                        k7  rt        5  da t                d d d        | r/g }| D ]&  }|j                  t        j                  |             ( |S t        S # 1 sw Y   @xY w# 1 sw Y   LxY w)Nr=   F)r!  _CONFIG_VARS_LOCKr  r$  r&   r'   rt   r7   rr   appendr6   )r*   valsr9   s      r+   r   r     s     $
 #!#  277#3#3CJJ#??"+0(!# # DKK((./ /  #"s   B1%B=1B:=Cc                 6    	 t               j                  |       S r%   )r   r6   )r9   s    r+   r   r     s    
   &&r-   c                  J   	 t         j                  dk(  rsdt        j                  j	                         v rydt        j                  j	                         v rydt        j                  j	                         v ryt        j
                  S t         j                  dk7  st        t         d	      st        j
                  S d
t         j                  v rt         j                  d
   S t        j                         \  } }}}}| j	                         j                  dd      } |j                  dd      }|j                  dd      }| d d dk(  r|  d| S | d d dk(  rB|d   dk\  rd} t        |d         dz
   d|dd   }ddd}|d|t        j                      z  }n| d d dk(  rddlm}  |       S | d d dk(  r;d} dd l}|j                  d       }|j!                  |      }	|	r=|	j#                         }n,| d d d!k(  r$dd l}
|
j'                  t)               | ||      \  } }}|  d| d| S )"Nr   amd64z	win-amd64z(arm)z	win-arm32z(arm64)z	win-arm64rq   uname_PYTHON_HOST_PLATFORM/r    r   r      linuxsunosr   5solarisr   r3   rJ   32bit64bit)il    aix)aix_platform   cygwinz[\d.]+r1   )r&   r9   r7   versionlowerr8   r   r5   r,  r   r   maxsize_aix_supportr8  r   r   r   r   r  get_platform_osxr   )osnamehostreleaser;  machinebitnessr8  r   rel_rer   r  s              r+   r   r   '  s(   * 
ww$ckk''))ckk''))))++||	ww'W!5|| "**,zz122 /1hhj+FD'7G \\^##C,Fooc3'Gooc3'GbqzW (!G9%%	w	1:FWQZ1,-Qwqr{m<G #*wGG73;;/011G	u	-~	x	I&LL!ggiG	x	#/#@#@,;,=,2GW$F  XQwiq	**r-   c                      t         S r%   )r   rX   r-   r+   r   r   y  s    r-   c                     	 dd l }	 |j                  t        |       xs |j                  t        |       }|r@|j	                         \  }}| d| |j                  |j                  d            z   | |d  z   } n	 | S t)Nr   r4   )r   r   r   r   spanr6   r   )r\   rv   r   r   begr   s         r+   expand_makefile_varsrJ  }  s|      IIlA&D"))L!*DJS#!C488AGGAJ//!CD'9AH r-   c                     t        t        |j                                     D ]-  \  }\  }}|dk(  rt        |  d       t        d| d| d       / y )Nr   z: 	z = "")	enumerater  rb   print)titler   indexrf   rg   s        r+   _print_dictrR    sQ    (

)=>|UA:UG2,3%tE7!$%  ?r-   c                  B   	 dt         j                  v rt                y t        dt	                d       t        dt                d       t        dt                d       t                t        dt                      t                t        dt                      y )Nz--generate-posix-varszPlatform: "rM  zPython version: "zCurrent installation scheme: "Paths	Variables)
r7   argvr   rO  r   r   r   rR  r
   r   rX   r-   r+   _mainrW    s    4#((*	K'q
)*	0231
56	*+=+?*@
BC	G%	G_./r-   __main__r%   )NT)Lr&   r7   	threadingos.pathr   __all__r   rs   r9   r>   r  r   rr   r~   r5   _prefix_additionr  r;  splitr  r;   r   r   r'   rt   r  base_exec_prefixr  RLockr&  r  r!  
_USER_BASEr   r   r   rF   r   r   rR   getcwdr   	_sys_homer   rU   r   ru   r_   rh   rk   rm   rx   r|   r   r   r   r   r   r   r   r   r   r   r   r	   r
   r   r$  r   r   r   r   rJ  rR  rW  __name__rX   r-   r+   <module>rd     sM   3 	 
     KHFSIM
 0)&&48	
 )"---1#	
8 KHFSIM
 )"---1#	
}H V 77d?/	:V/=V
 "2.!A  
#, ., ADOOII  ILNND'  .1<<D' ) L 
m	$JJ#//!BJJ&# kk!!$''*+1S-=-=a-@,AB !..q1233C3CA3F2GH ww0GG$$S%9%9: #IOO%   
 5/- >>GGOON3>>$BCM #9299;/M
 C$'	M77d? m$//l^9568$ RZZ'"2::.D#EFM"  !0
 "&)"9-y.y 1} 1 	5!  B(	*}@
I=~!.D	2+

 ()T 	( -.T$ 1@$F%P'O+d4&0 z	G r-   