+
    êhÆ  ã                  ó  € R t ^ RIHt ^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RI	H
t
 ^ RIHt ^ RIHt ^RIHt ^RIHtHt ^R	IHt ^R
IHtHtHtHtHtHt ^RIHt ^RIH t H!t!H"t" ^RI#H$t$H%t%H&t& ]PN                  ! R4      t( ! R R]4      t)R# )z¶distutils.command.build_ext

Implements the Distutils 'build_ext' command, for building extension
modules (currently limited to C extensions, should accommodate C++
extensions ASAP).)ÚannotationsN)ÚCallable)Úlog)Ú	USER_BASE)ÚClassVar)Únewer_group)Únew_compilerÚshow_compilers)ÚCommand)ÚCCompilerErrorÚCompileErrorÚDistutilsErrorÚDistutilsOptionErrorÚDistutilsPlatformErrorÚDistutilsSetupError)Ú	Extension)Úcustomize_compilerÚget_config_h_filenameÚget_python_version)Úget_platformÚis_freethreadedÚis_mingwz3^[a-zA-Z_][a-zA-Z_0-9]*(\.[a-zA-Z_][a-zA-Z_0-9]*)*$c                  ó¬  € ] tR t^&t$ RtR]P                   R2tR4R5RRR]! 4        R23R6RR	R
],           3R7R8R9RRR],           3R:R;R<R=R>R?R@RARBRC.t	. RDOt
R]R&   RRR]3.tR]R&   R t]R 4       tR R ltR R ltR R ltR tR tR R  ltR! tR" t]P4                  R# 4       tR$ R% ltR& tR' tR( R) ltR* R+ lt R, R- lt!R. R/ lt"R0 t#R1 R2 lt$R3t%R# )EÚ	build_extz8build C/C++ extensions (compile/link to build directory)z (separated by 'z')z
plat-name=Úpz;platform name to cross-compile for, if supported [default: Ú]zinclude-dirs=ÚIz.list of directories to search for header fileszlibrary-dirs=ÚLz.directories to search for external C librariesNzClassVar[list[str]]Úboolean_optionszhelp-compilerzlist available compilerszAClassVar[list[tuple[str, str | None, str, Callable[[], object]]]]Úhelp_optionsc                	ó,  € R V n         R V n        R V n        R V n        RV n        R V n        R V n        R V n        R V n        R V n	        R V n
        R V n        R V n        R V n        R V n        R V n        R V n        R V n        R V n        R V n        R V n        R # )NF)Ú
extensionsÚ	build_libÚ	plat_nameÚ
build_tempÚinplaceÚpackageÚinclude_dirsÚdefineÚundefÚ	librariesÚlibrary_dirsÚrpathÚlink_objectsÚdebugÚforceÚcompilerÚswigÚswig_cppÚ	swig_optsÚuserÚparallel©Úselfs   &ÚI/usr/lib/python3/dist-packages/setuptools/_distutils/command/build_ext.pyÚinitialize_optionsÚbuild_ext.initialize_optionsp   s˜   € ØˆŒØˆŒØˆŒØˆŒØˆŒØˆŒà ˆÔØˆŒØˆŒ
ØˆŒØ ˆÔØˆŒ
Ø ˆÔØˆŒ
ØˆŒ
ØˆŒØˆŒ	ØˆŒØˆŒØˆŒ	ØˆŽó    c              #  óJ  "  € V P                  R4      '       g   R# V P                  '       d   Rx € R# \        P                  R8X  dF   V P                  R4      pV P                  R4      p\        P
                  P                  W4      x € R# V P                  R4      x € R# 5i)z•
Resolve Python's library directory for building extensions
that rely on a shared Python library.

See python/cpython#44264 and python/cpython#48686
ÚPy_ENABLE_SHAREDNÚ.ÚzosÚbaseÚ
platlibdirÚLIBDIR)Úget_config_varÚpython_buildÚsysÚplatformÚosÚpathÚjoin)Ú	sysconfigÚinstalled_dirÚlib_dirs   &  r8   Ú_python_lib_dirÚbuild_ext._python_lib_dirˆ   s„   é € ð ×'Ñ'Ð(:×;Ò;Ùà×!×!Ð!ØŠIÙä�<‰<˜5Ô ð &×4Ñ4°VÓ<ˆMØ×.Ñ.¨|Ó<ˆGÜ—'‘'—,‘,˜}Ó6Ô6ð ×*Ñ*¨8Ó4Ô4ùs   ‚+B#®A5B#c               ó   € V ^8„  d   QhRR/# ©é   ÚreturnÚNone© )Úformats   "r8   Ú__annotate__Úbuild_ext.__annotate__¡   s   € ÷ ILñ IL $ñ ILr;   c           
     	ó  € ^ RI Hp V P                  RRRRRRRR 4       V P                  f   V P                  P
                  V n        V P                  P                  V n        VP                  4       pVP                  RR7      pV P                  f&   V P                  P                  ;'       g    . V n	        \        V P                  \        4      '       d/   V P                  P                  \        P                  4      V n	        \        P                   \        P"                  8w  dH   V P                  P%                  \        P&                  P)                  \        P                   R4      4       V P                  P+                  VP                  \        P&                  P                  4      4       W28w  dC   V P                  P+                  VP                  \        P&                  P                  4      4       V P-                  R4       V P-                  R4       V P.                  f   . V n        V P0                  f	   . V n        MN\        V P0                  \        4      '       d/   V P0                  P                  \        P                  4      V n        V P2                  f	   . V n        MN\        V P2                  \        4      '       d/   V P2                  P                  \        P                  4      V n        \        P4                  R	8X  Ed4   \7        4       '       Eg#   V P0                  P%                  \        P&                  P)                  \        P                   R
4      4       \        P"                  \        P8                  8w  dH   V P0                  P%                  \        P&                  P)                  \        P"                  R
4      4       V P:                  '       d1   \        P&                  P)                  V P<                  R4      V n        M/\        P&                  P)                  V P<                  R4      V n        V P                  P%                  \        P&                  P?                  \A        4       4      4       V P0                  P%                  \        P"                  4       V PB                  R8X  d   RpMV PB                  R,          p\        P&                  P)                  \        P                   R4      pV'       d    \        P&                  P)                  WT4      pV P0                  P%                  V4       \        PD                  R,          R8X  d‡   VPF                  '       gZ   V P0                  P%                  \        P&                  P)                  \        P8                  RR\I        4       ,           R4      4       MV P0                  P%                  R4       V P0                  P+                  V PK                  V4      4       V PL                  '       d4   V PL                  P                  R4      pV Uu. uF  qwR3NK  	  upV n&        V PN                  '       d!   V PN                  P                  R4      V n'        V PP                  f	   . V n(        M V PP                  P                  R4      V n(        V PR                  '       dä   \        P&                  P)                  \T        R4      p\        P&                  P)                  \T        R4      p	\        P&                  PW                  V4      '       d   V P                  P%                  V4       \        P&                  PW                  V	4      '       d7   V P0                  P%                  V	4       V P2                  P%                  V	4       \        V PX                  \        4      '       d    \[        V PX                  4      V n,        R# R# u upi   \\         d    \_        R4      hi ; i)!é    )rJ   ÚbuildNT)Úplat_specificÚincluder*   r-   ÚntÚlibsÚDebugÚReleaseÚwin32:é   NNÚPCbuild:Né   NÚcygwinÚlibÚpythonÚconfigr>   Ú,Ú1Ú zparallel should be an integer)r"   r"   )r$   r$   )r0   r0   )r.   r.   )r/   r/   )r5   r5   )r#   r#   )0Ú	distutilsrJ   Úset_undefined_optionsr&   ÚdistributionÚext_packageÚext_modulesr!   Úget_python_incr'   Ú
isinstanceÚstrÚsplitrG   ÚpathseprE   Úexec_prefixÚbase_exec_prefixÚappendrH   rI   ÚextendÚensure_string_listr*   r+   r,   Únamer   Úprefixr.   r$   Údirnamer   r#   rF   rD   r   rM   r(   r)   r3   r4   r   Úisdirr5   ÚintÚ
ValueErrorr   )
r7   rJ   Ú
py_includeÚplat_py_includeÚsuffixÚnew_libÚdefinesÚsymbolÚuser_includeÚuser_libs
   &         r8   Úfinalize_optionsÚbuild_ext.finalize_options¡   sb  € Ý'à×"Ñ"ØØ&Ø(Ø$ØØØ$Ø&ô		
ð �<‰<ÒØ×,Ñ,×8Ñ8ˆDŒLà×+Ñ+×7Ñ7ˆŒð ×-Ñ-Ó/ˆ
Ø#×2Ñ2ÀÐ2ÓFˆØ×ÑÒ$Ø $× 1Ñ 1× >Ñ >× DÐ DÀ"ˆDÔÜ�d×'Ñ'¬×-Ò-Ø $× 1Ñ 1× 7Ñ 7¼¿
¹
Ó CˆDÔô �?‰?œc×2Ñ2Ô2Ø×Ñ×$Ñ$¤R§W¡W§\¡\´#·/±/À9Ó%MÔNð 	×Ñ× Ñ  ×!1Ñ!1´"·'±'·/±/Ó!BÔCØÔ(Ø×Ñ×$Ñ$ _×%:Ñ%:¼2¿7¹7¿?¹?Ó%KÔLà×Ñ Ô,Ø×Ñ Ô/ð �>‰>Ò!ØˆDŒNØ×ÑÒ$Ø "ˆDÕÜ˜×)Ñ)¬3×/Ò/Ø $× 1Ñ 1× 7Ñ 7¼¿
¹
Ó CˆDÔà�:‰:ÒØˆD�JÜ˜Ÿ
™
¤C×(Ò(ØŸ™×)Ñ)¬"¯*©*Ó5ˆDŒJô
 �7‰7�d�?¤8§:£:ð ×Ñ×$Ñ$¤R§W¡W§\¡\´#·/±/À6Ó%JÔKÜ×#Ñ#¤s§z¡zÔ1Ø×!Ñ!×(Ñ(¬¯©¯©´c×6JÑ6JÈFÓ)SÔTØ�z�zˆzÜ"$§'¡'§,¡,¨t¯©ÀÓ"H�•ä"$§'¡'§,¡,¨t¯©À	Ó"J�”ð ×Ñ×$Ñ$¤R§W¡W§_¡_Ô5JÓ5LÓ%MÔNØ×Ñ×$Ñ$¤S×%9Ñ%9Ô:ð �~‰~ Ô(Ø ‘ð Ÿ™¨Õ+�Ü—g‘g—l‘l¤3§?¡?°IÓ>ˆGßÜŸ'™'Ÿ,™, wÓ7�Ø×Ñ×$Ñ$ WÔ-ô �<‰<˜Õ˜xÔ'Ø×)×)Ð)à×!Ñ!×(Ñ(Ü—G‘G—L‘LÜŸ
™
 E¨8Ô6HÓ6JÕ+JÈHóõð ×!Ñ!×(Ñ(¨Ô-à×Ñ× Ñ  ×!5Ñ!5°iÓ!@ÔAð �;�;ˆ;Ø—k‘k×'Ñ'¨Ó,ˆGÙ7>Ó?±w¨V C›=±wÑ?ˆDŒKð
 �:�:ˆ:ØŸ™×)Ñ)¨#Ó.ˆDŒJà�>‰>Ò!ØˆD�Nà!Ÿ^™^×1Ñ1°#Ó6ˆDŒNð �9�9ˆ9ÜŸ7™7Ÿ<™<¬	°9Ó=ˆLÜ—w‘w—|‘|¤I¨uÓ5ˆHÜ�w‰w�}‰}˜\×*Ò*Ø×!Ñ!×(Ñ(¨Ô6Ü�w‰w�}‰}˜X×&Ò&Ø×!Ñ!×(Ñ(¨Ô2Ø—
‘
×!Ñ! (Ô+ä�d—m‘m¤S×)Ò)ðLÜ # D§M¡MÓ 2�–ñ *ùò/ @øô4 ô LÜ*Ð+JÓKÐKðLús   Ø?_/ß_4 ß4`c               ó   € V ^8„  d   QhRR/# rP   rT   )rU   s   "r8   rV   rW   ,  s   € ÷ D ñ D �Tñ D r;   c                	ó  € V P                   '       g   R # V P                  P                  4       '       dj   V P                  R4      pV P                  P                  VP                  4       ;'       g    . 4       V P                  P                  VP                  4       \        V P                  V P                  V P                  V P                  R7      V n        \        V P                  4       \         P"                  R8X  d?   V P$                  \'        4       8w  d&   V P                  P)                  V P$                  4       \         P"                  R8X  d-   \+        4       '       d   V P                  P-                  RR4       V P.                  e&   V P                  P1                  V P.                  4       V P2                  e1   V P2                   F   w  r#V P                  P-                  W#4       K"  	  V P4                  e/   V P4                   F  pV P                  P7                  V4       K   	  V P                  e&   V P                  P9                  V P                  4       V P                  e&   V P                  P;                  V P                  4       V P<                  e&   V P                  P?                  V P<                  4       V P@                  e&   V P                  PC                  V P@                  4       V PE                  4        R # )NÚ
build_clib)r0   ÚverboseÚdry_runr/   r]   ÚPy_GIL_DISABLEDrj   )#r!   rn   Úhas_c_librariesÚget_finalized_commandr*   ry   Úget_library_namesr+   rx   r�   r   r0   rŽ   r�   r/   r   rG   r{   r#   r   Ú
initializer   Údefine_macror'   Úset_include_dirsr(   r)   Úundefine_macroÚset_librariesÚset_library_dirsr,   Úset_runtime_library_dirsr-   Úset_link_objectsÚbuild_extensions)r7   r�   r{   ÚvalueÚmacros   &    r8   ÚrunÚbuild_ext.run,  s  € ð ��ˆÙð
 ×Ñ×,Ñ,×.Ò.Ø×3Ñ3°LÓAˆJØ�N‰N×!Ñ! *×">Ñ">Ó"@×"FÐ"FÀBÔGØ×Ñ×$Ñ$ Z×%:Ñ%:Ô;ô %Ø—]‘]Ø—L‘LØ—L‘LØ—*‘*ô	
ˆŒô 	˜4Ÿ=™=Ô)ô �7‰7�dŒ?˜tŸ~™~´³Ô?Ø�M‰M×$Ñ$ T§^¡^Ô4ô
 �7‰7�dŒ?œ×0Ò0Ø�M‰M×&Ñ&Ð'8¸#Ô>ð ×ÑÒ(Ø�M‰M×*Ñ*¨4×+<Ñ+<Ô=Ø�;‰;Ò"à#Ÿ{œ{‘�Ø—‘×*Ñ*¨4Ö7ñ  +à�:‰:Ò!ØŸœ�Ø—‘×,Ñ,¨UÖ3ñ $à�>‰>Ò%Ø�M‰M×'Ñ'¨¯©Ô7Ø×ÑÒ(Ø�M‰M×*Ñ*¨4×+<Ñ+<Ô=Ø�:‰:Ò!Ø�M‰M×2Ñ2°4·:±:Ô>Ø×ÑÒ(Ø�M‰M×*Ñ*¨4×+<Ñ+<Ô=ð 	×ÑÖr;   c               ó   € V ^8„  d   QhRR/# rP   rT   )rU   s   "r8   rV   rW   r  s   € ÷ V ñ V °4ñ V r;   c                ód  € \        V\        4      '       g   \        R4      h\        V4       EFþ  w  r#\        V\        4      '       d   K  \        V\
        4      '       d   \        V4      ^8w  d   \        R4      hVw  rE\        P                  ! RV4       \        V\        4      '       d   \        P                  V4      '       g   \        R4      h\        V\        4      '       g   \        R4      h\	        WER,          4      pR F&  pVP                  V4      pVf   K  \        W6V4       K(  	  VP                  R4      Vn        R	V9   d   \        P                  ! R
4       VP                  R4      pV'       dª   . Vn        . Vn        V F•  p	\        V	\
        4      '       d   \        V	4      R9   g   \        R4      h\        V	4      ^8X  d%   VP"                  P%                  V	^ ,          4       Kh  \        V	4      ^8X  g   Kz  VP                   P%                  V	4       K—  	  W1V&   EK  	  R# )at  Ensure that the list of extensions (presumably provided as a
command option 'extensions') is valid, i.e. it is a list of
Extension objects.  We also support the old-style list of 2-tuples,
where the tuples are (ext_name, build_info), which are converted to
Extension instances here.

Raise DistutilsSetupError if the structure is invalid anywhere;
just returns otherwise.
z:'ext_modules' option must be a list of Extension instanceszMeach element of 'ext_modules' option must be an Extension instance or 2-tuplezvold-style (ext_name, build_info) tuple found in ext_modules for extension '%s' -- please convert to Extension instancezRfirst element of each tuple in 'ext_modules' must be the extension name (a string)zOsecond element of each tuple in 'ext_modules' must be a dictionary (build info)ÚsourcesNr,   Údef_filez9'def_file' element of build info dict no longer supportedÚmacrosz9'macros' element of build info dict must be 1- or 2-tuple)r'   r+   r*   Úextra_objectsÚextra_compile_argsÚextra_link_args)é   rQ   )rr   Úlistr   Ú	enumerater   ÚtupleÚlenr   Úwarningrs   Úextension_name_reÚmatchÚdictÚgetÚsetattrÚruntime_library_dirsÚdefine_macrosÚundef_macrosrx   )
r7   r!   ÚiÚextÚext_nameÚ
build_infoÚkeyÚvalr¥   rž   s
   &&        r8   Úcheck_extensions_listÚbuild_ext.check_extensions_listr  sé  € ô ˜*¤d×+Ò+Ü%ØLóð ô   
×+‰FˆAÜ˜#œy×)Ò)Ùô ˜c¤5×)Ò)¬S°«X¸¬]Ü)ð4óð ð
 $'Ñ ˆHä�KŠKð:ð ô	ô ˜x¬×-Ò-Ô2C×2IÑ2IÈ(×2SÒ2SÜ)ð<óð ô
 ˜j¬$×/Ò/Ü)ð8óð ô ˜H°Õ&;Ó<ˆCó�ð !—n‘n SÓ)�Ø”?Ü˜C cÖ*ñð (2§~¡~°gÓ'>ˆCÔ$Ø˜ZÔ'Ü—’ÐWÔXð  —^‘^ HÓ-ˆFßØ$&�Ô!Ø#%�Ô Û#�EÜ& u¬e×4Ò4¼¸U»ÀvÔ9MÜ1ØWóð ô ˜5“z Q”Ø×(Ñ(×/Ñ/°°aµÖ9Ü˜U› qžØ×)Ñ)×0Ñ0°Ö7ñ $ð  �qŒMóO ,r;   c                	óœ   € V P                  V P                  4       . pV P                   F  pVP                  VP                  4       K   	  V# ©N)r½   r!   ry   r£   )r7   Ú	filenamesr¸   s   &  r8   Úget_source_filesÚbuild_ext.get_source_filesÊ  sA   € Ø×"Ñ" 4§?¡?Ô3Øˆ	ð —?”?ˆCØ×Ñ˜SŸ[™[Ö)ñ #àÐr;   c                	óª   € V P                  V P                  4       V P                   Uu. uF  qP                  VP                  4      NK  	  up# u upi rÀ   )r½   r!   Úget_ext_fullpathr{   ©r7   r¸   s   & r8   Úget_outputsÚbuild_ext.get_outputsÓ  sB   € ð 	×"Ñ" 4§?¡?Ô3ð
 <@¿?º?ÓK¹?°C×%Ñ% c§h¡hÖ/¹?ÑKÐKùÒKs   ª#Ac               ó   € V ^8„  d   QhRR/# rP   rT   )rU   s   "r8   rV   rW   Þ  s   € ÷ ,ñ , $ñ ,r;   c                	ó¤   € V P                  V P                  4       V P                  '       d   V P                  4        R # V P	                  4        R # rÀ   )r½   r!   r5   Ú_build_extensions_parallelÚ_build_extensions_serialr6   s   &r8   rœ   Úbuild_ext.build_extensionsÞ  s5   € à×"Ñ" 4§?¡?Ô3Ø�=�=ˆ=Ø×+Ñ+Ö-à×)Ñ)Ö+r;   c           
     	ó`  € V P                   pV P                   R J d   \        P                  ! 4       p ^ RIHp Vf   V P                  4        R# X! VR7      ;_uu_ 4       pV P                   Uu. uF  qCP                  V P                  V4      NK   	  pp\        V P                  V4       F7  w  rFV P                  V4      ;_uu_ 4        VP                  4        RRR4       K9  	  RRR4       R#   \
         d    Rp LÆi ; iu upi   + '       g   i     Kn  ; i  + '       g   i     R# ; i)T)ÚThreadPoolExecutorN)Úmax_workers)r5   rG   Ú	cpu_countÚconcurrent.futuresrÏ   ÚImportErrorrÌ   r!   ÚsubmitÚbuild_extensionÚzipÚ_filter_build_errorsÚresult)r7   ÚworkersrÏ   Úexecutorr¸   ÚfuturesÚfuts   &      r8   rË   Ú$build_ext._build_extensions_parallelæ  sñ   € Ø—-‘-ˆØ�=‰=˜DÓ Ü—l’l“nˆGð	Ý=ð Š?Ø×)Ñ)Ô+Ùá¨G×4Õ4¸àFJÇoÂoóÙFU¸s—‘ × 4Ñ 4°cÖ:Áoð ð ô   §¡°Ö9‘�Ø×.Ñ.¨s×3Õ3Ø—J‘J”L÷ 4Ñ3ñ :÷	 5Ñ4øô ô 	ØŠGð	üò÷ 4×3Ð3ú÷ 5×4Ð4úsG   ³C0 Á DÁ/$DÂ6DÃ	DÃDÃ0D Ã?D ÄDÄDÄ	DÄD-	c                	óº   € V P                    F6  pV P                  V4      ;_uu_ 4        V P                  V4       R R R 4       K8  	  R #   + '       g   i     KM  ; irÀ   )r!   r×   rÕ   rÆ   s   & r8   rÌ   Ú"build_ext._build_extensions_serialû  sA   € Ø—?”?ˆCØ×*Ñ*¨3×/Õ/Ø×$Ñ$ SÔ)÷ 0Ñ/ó #ß/×/Ð/ús   ©A	Á	Ac              #  	óÈ   "  €  R x € R #   \         \        \        3 d@   pTP                  '       g   h T P	                  RTP
                   RT 24        R p?R # R p?ii ; i5i)Nzbuilding extension "z
" failed: )r   r   r   ÚoptionalÚwarnr{   )r7   r¸   Úes   && r8   r×   Úbuild_ext._filter_build_errors   sS   é € ð	FÝøÜ¤´Ð=ô 	FØ—<—<�<ØØ�I‰IÐ,¨S¯X©X¨J°jÀÀÐD×EÒEûð	Füs*   ‚A"„
 ˆA"ŠA 4AÁA"ÁAÁA"c               ó   € V ^8„  d   QhRR/# rP   rT   )rU   s   "r8   rV   rW   	  s   € ÷ O
ñ O
 dñ O
r;   c                	óø  € VP                   pVe   \        V\        \        34      '       g   \	        RVP
                   R24      h\        V4      pV P                  VP
                  4      pW!P                  ,           pV P                  '       g6   \        WCR4      '       g$   \        P                  ! RVP
                  4       R # \        P                  ! RVP
                  4       V P                  W!4      pVP                  ;'       g    . pVP                   R,          pVP"                   F  pVP%                  V34       K  	  V P&                  P)                  VV P*                  VVP,                  V P                  VVP                  R7      pVR,          V n        VP0                  '       d   VP3                  VP0                  4       VP4                  ;'       g    . pVP6                  ;'       g    V P&                  P9                  V4      p	V P&                  P;                  VVV P=                  V4      VP>                  VP@                  VV PC                  V4      V P                  V P*                  V	R7
       R # )	Nz$in 'ext_modules' option (extension 'zD'), 'sources' must be present and must be a list of source filenamesÚnewerz$skipping '%s' extension (up-to-date)zbuilding '%s' extension:NNN)Ú
output_dirr¥   r'   r.   Úextra_postargsÚdepends)r*   r+   r´   ré   Úexport_symbolsr.   r$   Útarget_lang)"r£   rr   rª   r¬   r   r{   ÚsortedrÅ   rê   r/   r   r   r.   ÚinfoÚswig_sourcesr§   rµ   r¶   rx   r0   Úcompiler$   r'   Ú_built_objectsr¦   ry   r¨   ÚlanguageÚdetect_languageÚlink_shared_objectÚget_librariesr+   r´   Úget_export_symbols)
r7   r¸   r£   Úext_pathrê   Ú
extra_argsr¥   r)   Úobjectsrò   s
   &&        r8   rÕ   Úbuild_ext.build_extension	  s  € Ø—+‘+ˆØŠ?¤*¨W´t¼U°m×"DÒ"DÜ%Ø6°s·x±x°jð A-ð -óð ô ˜“/ˆà×(Ñ(¨¯©Ó2ˆØŸK™KÕ'ˆØ—
—
�
œk¨'¸W×EÒEÜ�IŠIÐ<¸c¿h¹hÔGÙä�HŠHÐ.°·±Ô9ð
 ×#Ñ# GÓ1ˆð  ×+Ñ+×1Ð1¨rˆ
à×"Ñ" 1Õ%ˆØ×%Ô%ˆEØ�M‰M˜5˜(Ö#ñ &ð —-‘-×'Ñ'ØØ—‘ØØ×)Ñ)Ø—*‘*Ø%Ø—K‘Kð (ó 
ˆð & a�jˆÔð
 ××ÐØ�N‰N˜3×,Ñ,Ô-Ø×(Ñ(×.Ð.¨Bˆ
ð —<‘<×IÐI 4§=¡=×#@Ñ#@ÀÓ#Iˆà�‰×(Ñ(ØØØ×(Ñ(¨Ó-Ø×)Ñ)Ø!$×!9Ñ!9Ø%Ø×2Ñ2°3Ó7Ø—*‘*Ø—‘Ø ð 	)ö 	
r;   c                ó�  € . p. p/ pV P                   '       d   \        P                  ! R4       V P                   '       g#   RV P                  9   g   RVP                  9   d   RpMRpV Fy  p\        P
                  P                  V4      w  r‰V	R8X  d>   VP                  VR,           V,           4       VP                  V4       VR
,          WW&   Kh  VP                  V4       K{  	  V'       g   V# V P                  ;'       g    V P                  4       p
V
R.pVP                  V P                  4       V P                   '       d   VP                  R4       V P                  '       g   VP                  VP                  4       V F<  pWW,          p\        P                  ! RW|4       V P                  VR	WÇ.,           4       K>  	  V# )zÜWalk the list of source files in 'sources', looking for SWIG
interface (.i) files.  Run SWIG on all that are found, and
return a modified 'sources' list with SWIG source files replaced
by the generated C (or C++) files.
z/--swig-cpp is deprecated - use --swig-opts=-c++z-c++z.cppz.cz.iÚ_wrapz-pythonzswigging %s to %sz-oéÿÿÿÿ)r2   r   r®   r3   rG   rH   Úsplitextrx   r1   Ú	find_swigry   rî   Úspawn)r7   r£   Ú	extensionÚnew_sourcesrï   Úswig_targetsÚ
target_extÚsourcer@   r¸   r1   Úswig_cmdÚtargets   &&&          r8   rï   Úbuild_ext.swig_sourcesZ  sn  € ð ˆØˆØˆð �=�=ˆ=Ü�KŠKÐIÔJð �M�MˆMØ˜$Ÿ.™.Ô(Ø˜)×-Ñ-Ô-à‰JàˆJãˆFÜŸ'™'×*Ñ*¨6Ó2‰KˆTØ�dŒ{Ø×"Ñ" 4¨'¥>°JÕ#>Ô?Ø×#Ñ# FÔ+Ø'2°2¥�Ó$à×"Ñ" 6Ö*ñ ÷ ØÐà�y‰y×,Ð,˜DŸN™NÓ,ˆØ˜)Ð$ˆØ�‰˜Ÿ™Ô'Ø�=�=ˆ=Ø�O‰O˜FÔ#ð �~�~ˆ~Ø�O‰O˜I×/Ñ/Ô0ã"ˆFØ!Õ)ˆFÜ�HŠHÐ(¨&Ô9Ø�J‰J�x 4¨Ð"8Õ8Ö9ñ #ð
 Ðr;   c                óB  € \         P                  R8X  d   R# \         P                  R8X  dX   R FO  p\         P                  P                  RV 2R4      p\         P                  P	                  V4      '       g   KM  Vu # 	  R# \        R\         P                   R24      h)	zƒReturn the name of the SWIG executable.  On Unix, this is
just "swig" -- it should be in the PATH.  Tries a bit harder on
Windows.
Úposixr1   r]   zc:\swigzswig.exez;I don't know how to find (much less run) SWIG on platform 'Ú')z1.3z1.2z1.1)rG   r{   rH   rI   Úisfiler   )r7   ÚversÚfns   &  r8   rÿ   Úbuild_ext.find_swig’  s€   € ô
 �7‰7�gÔÙÜ�W‰W˜Œ_ó .�Ü—W‘W—\‘\ H¨T¨FÐ"3°ZÓ@�Ü—7‘7—>‘> "×%Ô%Ø’Iñ .ñ
 "ä(ØMÌbÏgÉgÈYÐVWÐXóð r;   c               ó    € V ^8„  d   QhRRRR/# ©rQ   r¹   rs   rR   rT   )rU   s   "r8   rV   rW   ª  s   € ÷ 3ñ 3¨ð 3°ñ 3r;   c                ó$  € V P                  V4      pVP                  R4      pV P                  VR,          4      pV P                  '       gT   \        P
                  P                  ! VRR V.,           !  p\        P
                  P                  V P                  V4      # RP                  V^ R 4      pV P                  R4      p\        P
                  P                  VP                  V4      4      p\        P
                  P                  Wt4      # )z‰Returns the path of the filename for a given extension.

The file is located in `build_lib` or directly in the package
(inplace option).
r>   NÚbuild_pyrý   )Úget_ext_fullnamert   Úget_ext_filenamer%   rG   rH   rI   r"   r’   ÚabspathÚget_package_dir)r7   r¹   ÚfullnameÚmodpathÚfilenamer&   r  Úpackage_dirs   &&      r8   rÅ   Úbuild_ext.get_ext_fullpathª  sÑ   € ð ×(Ñ(¨Ó2ˆØ—.‘. Ó%ˆØ×(Ñ(¨°­Ó5ˆà�|�|ˆ|ô —w‘w—|’| W¨S¨b \°X°JÕ%>Ñ?ˆHÜ—7‘7—<‘< §¡°Ó9Ð9ð —(‘(˜7 1 R˜=Ó)ˆØ×-Ñ-¨jÓ9ˆÜ—g‘g—o‘o h×&>Ñ&>¸wÓ&GÓHˆô �w‰w�|‰|˜KÓ2Ð2r;   c               ó    € V ^8„  d   QhRRRR/# r  rT   )rU   s   "r8   rV   rW   Å  s   € ÷ 1ñ 1¨ð 1°ñ 1r;   c                óV   € V P                   f   V# V P                   R,           V,           # )zKReturns the fullname of a given extension name.

Adds the `package.` prefixr>   )r&   )r7   r¹   s   &&r8   r  Úbuild_ext.get_ext_fullnameÅ  s'   € ð �<‰<ÒØˆOà—<‘< #Õ%¨Õ0Ð0r;   c               ó    € V ^8„  d   QhRRRR/# r  rT   )rU   s   "r8   rV   rW   Î  s   € ÷ 	4ñ 	4¨ð 	4°ñ 	4r;   c                óŠ   € ^RI Hp VP                  R4      pV! R4      p\        P                  P
                  ! V!  V,           # )zŽConvert the name of an extension (eg. "foo.bar") into the name
of the file from which it will be loaded (eg. "foo/bar.so", or
"foo\bar.pyd").
©rC   r>   Ú
EXT_SUFFIX)rJ   rC   rt   rG   rH   rI   )r7   r¹   rC   r÷   Ú
ext_suffixs   &&   r8   r  Úbuild_ext.get_ext_filenameÎ  s7   € õ
 	/à—>‘> #Ó&ˆÙ# LÓ1ˆ
Ü�w‰w�|Š|˜XÑ&¨Õ3Ð3r;   c               ó    € V ^8„  d   QhRRRR/# ©rQ   r¸   r   rR   z	list[str]rT   )rU   s   "r8   rV   rW   Ù  s   € ÷ "ñ " ið "°Iñ "r;   c                ój  € V P                  V4      p VP                  R4       RV,           pRV,           pWAP
                  9  d   VP
                  P                  V4       VP
                  #   \         d;    RTP                  R4      P                  RR4      P	                  R4      ,           p L„i ; i)züReturn the list of symbols that a shared extension has to
export.  This either uses 'ext.export_symbols' or, if it's not
provided, "PyInit_" + module_name.  Only relevant on Windows, where
the .pyd file (DLL) must export the module "PyInit_" function.
ÚasciiÚ_ÚU_Úpunycodeó   -ó   _ÚPyInit)Ú_get_module_name_for_symbolÚencodeÚUnicodeEncodeErrorÚreplaceÚdecoderë   rx   )r7   r¸   r{   rƒ   Úinitfunc_names   &&   r8   rö   Úbuild_ext.get_export_symbolsÙ  s¦   € ð ×/Ñ/°Ó4ˆð	 ð �K‰K˜Ô ð ˜4•ZˆFà  6Õ)ˆØ× 2Ñ 2Ô2Ø×Ñ×%Ñ% mÔ4Ø×!Ñ!Ð!øô "ô 	XØ˜DŸK™K¨
Ó3×;Ñ;¸DÀ$ÓG×NÑNÈwÓWÕWŠFð	Xús   “A- Á-AB2Â1B2c                	ó˜   € VP                   P                  R 4      pVR,          R8X  d   \        V4      ^8¼  d
   VR,          # VR,          # )r>   Ú__init__rý   éþÿÿÿ)r{   rt   r­   )r7   r¸   Úpartss   && r8   r0  Ú%build_ext._get_module_name_for_symbolî  s@   € ð —‘—‘˜sÓ#ˆØ��9˜
Ô"¤s¨5£z°Q¤Ø˜•9ÐØ�R�yÐr;   c               ó    € V ^8„  d   QhRRRR/# r'  rT   )rU   s   "r8   rV   rW   ÷  s   € ÷ 5ñ 5 ð 5¨yñ 5r;   c                ó  € \         P                  R8X  d­   \        4       '       g�   ^RIHp \        V P                  V4      '       gn   RpV P                  '       d
   VR,           pV\         P                  ^,	          \         P                  ^,	          ^ÿ,          3,          pVP                  V.,           #  VP                  # ^RI
Hp RpV! R4      '       dv   \        \         R4      '       d   R	pM\\         P                  R
8X  g   \        4       '       d   R	pM4R\        P                  9   d    V! R4      ^ 8w  d   R	pMV! R4      R
8X  d   R	pV'       d$   V! R4      pVP                  RV,           .,           # VP                  # )z»Return the list of libraries to link against when building a
shared extension.  On most platforms, this is just 'ext.libraries';
on Windows, we add the Python library (eg. python20.dll).
ra   )ÚMSVCCompilerz
python%d%dÚ_dr"  Fr=   ÚgetandroidapilevelTre   Ú_PYTHON_HOST_PLATFORMÚANDROID_API_LEVELÚMACHDEPÚ	LDVERSIONrg   )rE   rF   r   Ú_msvccompilerr>  rr   r0   r.   Ú
hexversionr*   rJ   rC   ÚhasattrrG   Úenviron)r7   r¸   r>  ÚtemplateÚ	pythonlibrC   Úlink_libpythonÚ	ldversions   &&      r8   rõ   Úbuild_ext.get_libraries÷  s1  € ô �<‰<˜7Ô"¬8¯:ª:Ý4ä˜dŸm™m¨\×:Ò:Ø'�Ø—:—:�:Ø'¨$��HØ$Ü—N‘N bÕ(Ü—^‘^ rÕ)¨TÕ1ð(õ �	ð —}‘}¨	 {Õ2Ð2ð ;ðP �}‰}Ðõ) 3à"ˆNÙÐ0×1Ò1äœ3Ð 4×5Ò5Ø%)‘NÜ—\‘\ XÔ-´·²Ø%)‘NØ,´·
±
Ô:á%Ð&9Ó:¸aÔ?Ø)-™Ù'¨	Ó2°hÔ>Ø)-˜çÙ*¨;Ó7�	Ø—}‘}¨°9Õ(<Ð'=Õ=Ð=à�}‰}Ðr;   )rñ   r"   r$   r0   r.   r(   r!   r/   r'   r%   r*   r+   r-   r&   r5   r#   r,   r1   r2   r3   r)   r4   )z
build-lib=Úbz(directory for compiled extension modules)zbuild-temp=Útz1directory for temporary files (build by-products))r%   r·   ziignore build-lib and put compiled extensions into the source directory alongside your pure Python modules)zdefine=ÚDzC preprocessor macros to define)zundef=ÚUz!C preprocessor macros to undefine)z
libraries=Úlz!external C libraries to link with)zrpath=ÚRz7directories to search for shared C libraries at runtime)zlink-objects=ÚOz2extra explicit link objects to include in the link)r.   Úgz'compile/link with debugging information)r/   Úfz2forcibly build everything (ignore file timestamps))z	compiler=Úczspecify the compiler type)z	parallel=Újznumber of parallel build jobs)úswig-cppNz)make SWIG create C++ files (default is C))z
swig-opts=Nz!list of SWIG command line options)zswig=Nzpath to the SWIG executable)r4   Nz#add user include, library and rpath)r%   r.   r/   rY  r4   )&Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__ÚdescriptionrG   ru   Úsep_byr   Úuser_optionsr   Ú__annotations__r	   r   r9   ÚstaticmethodrM   r‰   rŸ   r½   rÂ   rÇ   rœ   rË   rÌ   Ú
contextlibÚcontextmanagerr×   rÕ   rï   rÿ   rÅ   r  r  rö   r0  rõ   Ú__static_attributes__rT   r;   r8   r   r   &   sj  ‡ ØL€Kð(   §
¡
˜|¨2Ð.€FàGØQàØðÙ%›Ð(¨ð+ð	
ð	
ð ØØ<¸vÕEð	
ð
 	<Ø<Ø@àØØ<¸vÕEð	
ð
 	SØTØAØLØ7Ø;ØGØAØ6Ø=ðK&€LòP,€OÐ(ó ð 
˜$Ð :¸NÐKðW€LÐSó òð0 ñ5ó ð5õ0ILõVD õLV òpò	Lõ,ò!ò**ð
 ×ÑñFó ðFõO
òb6òpõ03õ61õ	4õ"ò*÷5ñ 5r;   r   )*Ú__doc__Ú
__future__r   rc  rG   ÚrerE   Úcollections.abcr   Údistutils._logr   Úsiter   Útypingr   Ú	_modifiedr   Ú	ccompilerr   r	   Úcorer
   Úerrorsr   r   r   r   r   r   r  r   rJ   r   r   r   Úutilr   r   r   rð   r¯   r   rT   r;   r8   Ú<module>rr     sk   ðñõ #ã Û 	Û 	Û 
Ý $Ý Ý Ý å #ß 4Ý ÷÷ õ "ß UÑ Uß :Ñ :ð —J’JÐUÓVÐ ôF�ö Fr;   