+
    êh8A  ã                   ó€   € R 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Ht ^RIHt  ! R R]4      tR# )	zHdistutils.command.build_py

Implements the Distutils 'build_py' command.N)Úlog)ÚClassVar)ÚCommand)ÚDistutilsFileErrorÚDistutilsOptionError)Úconvert_pathc                   ó  a € ] tR t^t o Rt. R"OtRR.tRR/tR tV 3R lR lt	V 3R	 lR
 lt
R tR tV 3R lR ltR tR tR tR tR tR tR tR tR#V 3R lR lltR tV 3R lR ltV 3R lR ltV 3R lR ltV 3R  ltR!tV tR# )$Úbuild_pyz5"build" pure Python modules (copy to build directory)Úcompileú
no-compileNÚforcec                óv   € R V n         R V n        R V n        R V n        R V n        RV n        ^ V n        R V n        R # )NF)Ú	build_libÚ
py_modulesÚpackageÚpackage_dataÚpackage_dirr
   Úoptimizer   ©Úselfs   &ÚH/usr/lib/python3/dist-packages/setuptools/_distutils/command/build_py.pyÚinitialize_optionsÚbuild_py.initialize_options$   s<   € ØˆŒØˆŒØˆŒØ ˆÔØˆÔØˆŒØˆŒØˆŽ
ó    c                ó   <€ V ^8„  d   QhRR/# ©é   ÚreturnN© )ÚformatÚ__classdict__s   "€r   Ú__annotate__Úbuild_py.__annotate__.   s   ø€ ÷ Jñ J $ñ Jr   c                ó¾  € V P                  R RR4       V P                  P                  V n        V P                  P                  V n        V P                  P                  V n        / V n        V P                  P
                  '       dF   V P                  P
                  P                  4        F  w  r\        V4      V P
                  V&   K  	  V P                  4       V n	        \        V P                  \        4      '       g<    \        V P                  4      V n        ^ V P                  u;8:  d	   ^8:  g   Q h Q hR# R#   \        \        3 d    \        R4      hi ; i)Úbuildzoptimize must be 0, 1, or 2N)r   r   )r   r   )Úset_undefined_optionsÚdistributionÚpackagesr   r   r   Úitemsr   Úget_data_filesÚ
data_filesÚ
isinstancer   ÚintÚ
ValueErrorÚAssertionErrorr   )r   ÚnameÚpaths   &  r   Úfinalize_optionsÚbuild_py.finalize_options.   s%  € Ø×"Ñ"ØÐ/Ð1Cô	
ð ×)Ñ)×2Ñ2ˆŒØ×+Ñ+×6Ñ6ˆŒØ ×-Ñ-×:Ñ:ˆÔØˆÔØ×Ñ×(×(Ð(Ø"×/Ñ/×;Ñ;×AÑAÖC‘
�Ü)5°dÓ);�× Ñ  Ó&ñ Dà×-Ñ-Ó/ˆŒô ˜$Ÿ-™-¬×-Ò-ðJÜ # D§M¡MÓ 2�”Ø˜DŸM™MÖ.¨QÔ.Ð.Ñ.Ð.Ò.ñ .øô ¤Ð/ô JÜ*Ð+HÓIÐIðJús   Ä8D? Ä?Ec                ó   <€ V ^8„  d   QhRR/# r   r   )r   r    s   "€r   r!   r"   G   s   ø€ ÷ Dñ D�Tñ Dr   c                óð   € V P                   '       d   V P                  4        V P                  '       d!   V P                  4        V P	                  4        V P                  V P                  R R7      4       R# )F)Úinclude_bytecodeN)r   Úbuild_modulesr'   Úbuild_packagesÚbuild_package_dataÚbyte_compileÚget_outputsr   s   &r   ÚrunÚbuild_py.runG   sV   € ð, �?�?ˆ?Ø×ÑÔ Ø�=�=ˆ=Ø×ÑÔ!Ø×#Ñ#Ô%à×Ñ˜$×*Ñ*¸EÐ*ÓBÖCr   c                ó¤  € . pV P                   '       g   V# V P                    F¤  pV P                  V4      p\        P                  P                  ! V P
                  .VP                  R4      ,           !  p^ pV'       d   \        V4      ^,           pV P                  W#4       Uu. uF  qfVR NK	  	  ppVP                  W#WG34       K¦  	  V# u upi )z?Generate list of '(package,src_dir,build_dir,filenames)' tuplesÚ.N)
r'   Úget_package_dirÚosr0   Újoinr   ÚsplitÚlenÚfind_data_filesÚappend)r   Údatar   Úsrc_dirÚ	build_dirÚplenÚfileÚ	filenamess   &       r   r)   Úbuild_py.get_data_filese   s¹   € àˆØ�}�}ˆ}ØˆKØ—}”}ˆGà×*Ñ*¨7Ó3ˆGô Ÿ™Ÿš¨¯©Ð'7¸'¿-¹-ÈÓ:LÕ'LÑNˆIð ˆDßÜ˜7“| aÕ'�ð 26×1EÑ1EÀgÔ1WÓXÑ1W¨˜d˜e›Ñ1WˆIÐXØ�K‰K˜¨9Ð@ÖAñ %ð ˆùò Ys   Â%Cc           	     óâ  € V P                   P                  R. 4      V P                   P                  V. 4      ,           p. pV F¤  p\        P                  ! \        P                  P                  \        P                  ! V4      \        V4      4      4      pTP                  V Uu. uF4  qwV9  g   K  \        P                  P                  V4      '       g   K2  VNK6  	  up4       K¦  	  V# u upi )z6Return filenames for package's data files in 'src_dir'Ú )
r   ÚgetÚglobr@   r0   rA   Úescaper   ÚextendÚisfile)r   r   rG   ÚglobsÚfilesÚpatternÚfilelistÚfns   &&&     r   rD   Úbuild_py.find_data_files{   s·   € à×!Ñ!×%Ñ% b¨"Ó-°×0AÑ0A×0EÑ0EÀgÈrÓ0RÕRˆØˆÛˆGä—y’yÜ—‘—‘œTŸ[š[¨Ó1´<ÀÓ3HÓIóˆHð �L‰LÙ%óÙ%�r°5©”¼R¿W¹W¿^¹^ÈB×=O—�™Xñö ñ ð ˆùòs   Â%C,
Â2"C,
ÃC,
c                ó   <€ V ^8„  d   QhRR/# r   r   )r   r    s   "€r   r!   r"   Š   s   ø€ ÷ ñ  Dñ r   c                ó@  € V P                    F�  w  rr4V F�  p\        P                  P                  W54      pV P	                  \        P                  P                  V4      4       V P                  \        P                  P                  W%4      VRR7       Kƒ  	  K�  	  R# )z$Copy data files into build directoryF©Úpreserve_modeN)r*   r@   r0   rA   ÚmkpathÚdirnameÚ	copy_file)r   Ú_packagerG   rH   rK   ÚfilenameÚtargets   &      r   r8   Úbuild_py.build_package_dataŠ   sp   € à7;·´Ñ3ˆH˜yÛ%�ÜŸ™Ÿ™ iÓ:�Ø—‘œBŸG™GŸO™O¨FÓ3Ô4Ø—‘Ü—G‘G—L‘L Ó3°VÈ5ð ö ó &ó 8Gr   c                ó`  € VP                  R4      pV P                  '       g)   V'       d   \        P                  P                  ! V!  # R# . pV'       dT    V P                  RP	                  V4      ,          pVP                  ^ V4       \        P                  P                  ! V!  # V P                  P                  R4      pVe   VP                  ^ V4       V'       d   \        P                  P                  ! V!  # R#   \         d!    TP                  ^ TR,          4       TR  KÞ  i ; i)z§Return the directory, relative to the top of the source
distribution, where package 'package' should be found
(at least according to the 'package_dir' option, if any).r>   rN   éÿÿÿÿ)rB   r   r@   r0   rA   ÚinsertÚKeyErrorrO   )r   r   r0   ÚtailÚpdirs   &&   r   r?   Úbuild_py.get_package_dir”   sî   € ð �}‰}˜SÓ!ˆà××ÐßÜ—w‘w—|’| TÑ*Ð*áàˆDßð/Ø×+Ñ+¨C¯H©H°T«NÕ;�Dð
 —K‘K  4Ô(ÜŸ7™7Ÿ<š<¨Ñ.Ð.ð ×'Ñ'×+Ñ+¨BÓ/�ØÒ#Ø—K‘K  4Ô(çÜŸ7™7Ÿ<š<¨Ñ.Ð.áøô+  ô !Ø—K‘K  4¨¥8Ô,Ø˜R›ð!ús   Á"D Ä'D-Ä,D-c                ó‚  € VR 8w  di   \         P                  P                  V4      '       g   \        RV R24      h\         P                  P	                  V4      '       g   \        RV R24      hV'       dH   \         P                  P                  VR4      p\         P                  P                  V4      '       d   V# R# )rN   zpackage directory 'z' does not existzsupposed package directory 'z ' exists, but is not a directoryz__init__.pyN)r@   r0   Úexistsr   ÚisdirrA   rS   )r   r   r   Úinit_pys   &&& r   Úcheck_packageÚbuild_py.check_package»   s£   € ð
 ˜"ÔÜ—7‘7—>‘> +×.Ò.Ü(Ø)¨+¨Ð6FÐGóð ô —7‘7—=‘= ×-Ò-Ü(Ø2°;°-ð @-ð -óð ÷ Ü—g‘g—l‘l ;°Ó>ˆGÜ�w‰w�~‰~˜g×&Ò&Ø�ñ r   c                ó‚   € \         P                  P                  V4      '       g   \        P                  ! R W!4       R# R# )z!file %s (for module %s) not foundFT)r@   r0   rS   r   Úwarning)r   ÚmoduleÚmodule_files   &&&r   Úcheck_moduleÚbuild_py.check_moduleÕ   s*   € Ü�w‰w�~‰~˜k×*Ò*Ü�KŠKÐ;¸[ÔQÙár   c                óV  € V P                  W4       \        P                  ! \        P                  P	                  \        P
                  ! V4      R 4      4      p. p\        P                  P                  V P                  P                  4      pV F”  p\        P                  P                  V4      pWu8w  dY   \        P                  P                  \        P                  P                  V4      4      ^ ,          pVP                  WV34       K€  V P                  RV 24       K–  	  V# )z*.pyz
excluding )rp   rP   r@   r0   rA   rQ   Úabspathr&   Úscript_nameÚsplitextÚbasenamerE   Údebug_print)	r   r   r   Úmodule_filesÚmodulesÚsetup_scriptÚfÚabs_frt   s	   &&&      r   Úfind_package_modulesÚbuild_py.find_package_modulesÜ   sÐ   € Ø×Ñ˜7Ô0Ü—y’y¤§¡§¡¬d¯kªk¸+Ó.FÈÓ!OÓPˆØˆÜ—w‘w—‘ t×'8Ñ'8×'DÑ'DÓEˆãˆAÜ—G‘G—O‘O AÓ&ˆEØÔ$ÜŸ™×)Ñ)¬"¯'©'×*:Ñ*:¸1Ó*=Ó>¸qÕA�Ø—‘ °Ð3Ö4à× Ñ  :¨l¨^Ð!<Ö=ñ ð ˆr   c                ó  € / p. pV P                    FÉ  pVP                  R4      pRP                  V^ R 4      pVR,          p W,          w  rxV'       g4   V P                  WW4      p	V^3W&   V	'       d   VP                  VRV	34       \        P                  P                  WvR,           4      p
V P                  W:4      '       g   K¶  VP                  WVV
34       KË  	  V#   \         d    T P	                  T4      pRp L³i ; i)a�  Finds individually-specified Python modules, ie. those listed by
module name in 'self.py_modules'.  Returns a list of tuples (package,
module_base, filename): 'package' is a tuple of the path through
package-space to the module; 'module_base' is the bare (no
packages, no dots) module name, and 'filename' is the path to the
".py" file (relative to the distribution root) that implements the
module.
r>   FÚ__init__ú.pyrf   )
r   rB   rA   rh   r?   rp   rE   r@   r0   rv   )r   r'   r   rt   r0   r   Úmodule_baser   Úcheckedro   ru   s   &          r   Úfind_modulesÚbuild_py.find_modulesë   sþ   € ð ˆð ˆð —o”oˆFØ—<‘< Ó$ˆDØ—h‘h˜t A b˜zÓ*ˆGØ˜r�(ˆKð Ø)1Õ):Ñ&�÷
 Ø×,Ñ,¨WÓB�Ø%0°!Ð$4�Ñ!ßØ—N‘N G¨Z¸Ð#AÔBô
 Ÿ'™'Ÿ,™, {À%Õ4GÓHˆKØ×$Ñ$ V×9Ò9Ùà�N‰N˜G°+Ð>Ö?ñ1 &ð4 ˆøô' ô  Ø"×2Ñ2°7Ó;�Ø’ð ús   Á
C Ã DÄ Dc                ó  € . pV P                   '       d    VP                  V P                  4       4       V P                  '       dG   V P                   F6  pV P	                  V4      pV P                  W#4      pVP                  V4       K8  	  V# )a  Compute the list of all modules that will be built, whether
they are specified one-module-at-a-time ('self.py_modules') or
by whole packages ('self.packages').  Return a list of tuples
(package, module, module_file), just like 'find_modules()' and
'find_package_modules()' do.)r   rR   rŠ   r'   r?   rƒ   )r   r   r   r   Úms   &    r   Úfind_all_modulesÚbuild_py.find_all_modules  sq   € ð ˆØ�?�?ˆ?Ø�N‰N˜4×,Ñ,Ó.Ô/Ø�=�=ˆ=ØŸ=œ=�Ø"×2Ñ2°7Ó;�Ø×-Ñ-¨gÓC�Ø—‘˜qÖ!ñ )ð ˆr   c                óX   € V P                  4        Uu. uF  qR,          NK  	  up# u upi )é   rf   )rŽ   )r   rt   s   & r   Úget_source_filesÚbuild_py.get_source_files/  s)   € Ø)-×)>Ñ)>Ô)@ÓAÑ)@˜v�r—
�
Ñ)@ÑAÐAùÒAs   “'c                ó‚   € V.\        V4      ,           VR ,           .,           p\        P                  P                  ! V!  # )r‡   )Úlistr@   r0   rA   )r   rH   r   rt   Úoutfile_paths   &&&& r   Úget_module_outfileÚbuild_py.get_module_outfile2  s1   € Ø!�{¤T¨'£]Õ2°f¸uµnÐ5EÕEˆÜ�w‰w�|Š|˜\Ñ*Ð*r   c                ó6   <€ V ^8„  d   QhRS[ RS[S[,          /# )r   r5   r   )Úboolr•   Ústr)r   r    s   "€r   r!   r"   6  s   ø€ ÷ ñ ©Dð ¹DÁ½Iñ r   c                ó¨  € V P                  4       p. pV FÜ  w  rEpVP                  R 4      pV P                  V P                  WE4      pVP	                  V4       V'       g   KN  V P
                  '       d1   VP	                  \        P                  P                  VRR7      4       V P                  ^ 8”  g   K£  VP	                  \        P                  P                  WpP                  R7      4       KÞ  	  TV P                   UUU	U
Uu. uF.  w  rHršV
 F"  p\        P                  P                  W—4      NK$  	  K0  	  upp
p	pp,          pV# u upp
p	ppi )r>   rN   )Úoptimization)rŽ   rB   r—   r   rE   r
   Ú	importlibÚutilÚcache_from_sourcer   r*   r@   r0   rA   )r   r5   r   Úoutputsr   rt   Ú_module_filerb   rG   rH   rK   s   &&         r   r:   Úbuild_py.get_outputs6  s  € Ø×'Ñ'Ó)ˆØˆÛ-4Ñ)ˆG˜\Ø—m‘m CÓ(ˆGØ×.Ñ.¨t¯~©~¸wÓOˆHØ�N‰N˜8Ô$ßÑØ—<—<�<Ø—N‘NÜ!Ÿ™×8Ñ8¸ÐPRÐ8ÓSôð —=‘= 1Ö$Ø—N‘NÜ!Ÿ™×8Ñ8Ø$·=±=ð 9ó öñ .5ð  	à:>¿/º/÷
á:IÑ6� )Û%�ô �G‰G�L‰L˜Ö-á%ñ .Ù:Iõ
õ 	
ˆð ˆùö
s   Ä4Ec                ó^  € \        V\        4      '       d   VP                  R 4      pM'\        V\        \        34      '       g   \        R4      hV P                  V P                  W14      p\        P                  P                  V4      pV P                  V4       V P                  W$RR7      # )r>   z:'package' must be a string (dot-separated), list, or tupleFr\   )r+   r›   rB   r•   ÚtupleÚ	TypeErrorr—   r   r@   r0   r_   r^   r`   )r   rt   ru   r   ÚoutfileÚdirs   &&&&  r   Úbuild_moduleÚbuild_py.build_moduleQ  s‡   € Ü�gœs×#Ò#Ø—m‘m CÓ(‰GÜ˜G¤d¬E ]×3Ò3ÜØLóð ð ×)Ñ)¨$¯.©.¸'ÓJˆÜ�g‰g�o‰o˜gÓ&ˆØ�‰�CÔØ�~‰~˜kÀ%ˆ~ÓHÐHr   c                ó   <€ V ^8„  d   QhRR/# r   r   )r   r    s   "€r   r!   r"   a  s   ø€ ÷ <ñ <˜tñ <r   c                ób   € V P                  4       pV F  w  r#pV P                  W4V4       K  	  R # ©N)rŠ   r©   )r   r   r   rt   ru   s   &    r   r6   Úbuild_py.build_modulesa  s1   € Ø×#Ñ#Ó%ˆÛ,3Ñ(ˆG˜[ð
 ×Ñ˜f°7Ö;ó -4r   c                ó   <€ V ^8„  d   QhRR/# r   r   )r   r    s   "€r   r!   r"   j  s   ø€ ÷ @ñ @ ñ @r   c                ó¼   € V P                    FK  pV P                  V4      pV P                  W4      pV F   w  rEpW8X  g   Q hV P                  WVV4       K"  	  KM  	  R # r­   )r'   r?   rƒ   r©   )r   r   r   r   Úpackage_rt   ru   s   &      r   r7   Úbuild_py.build_packagesj  s_   € Ø—}”}ˆGð ×.Ñ.¨wÓ7ˆKØ×/Ñ/°ÓEˆGó 29Ñ-� +ØÔ*Ð*Ð*Ø×!Ñ! &°wÖ?ó 29ó %r   c                ó   <€ V ^8„  d   QhRR/# r   r   )r   r    s   "€r   r!   r"   ~  s   ø€ ÷ ñ  Tñ r   c                óÂ  € \         P                  '       d   V P                  R 4       R# ^RIHp V P
                  pVR,          \        P                  8w  d   V\        P                  ,           pV P                  '       d!   V! V^ V P                  W0P                  R7       V P                  ^ 8”  d.   V! VV P                  V P                  VV P                  R7       R# R# )z%byte-compiling is disabled, skipping.N)r9   )r   r   ÚprefixÚdry_runrf   )ÚsysÚdont_write_bytecodeÚwarnrŸ   r9   r   r@   Úsepr
   r   r¶   r   )r   rU   r9   rµ   s   &&  r   r9   Úbuild_py.byte_compile~  s¡   € Ü×"×"Ð"Ø�I‰IÐ=Ô>Ùå'à—‘ˆØ�"�:œŸ™ÔØœbŸf™f•_ˆFð
 �<�<ˆ<ÙØ ¨¯©¸FÏLÉLõð �=‰=˜1ÔÙØØŸ™Ø—j‘jØØŸ™÷ñ r   c                óx   <€ V ^8„  d   Qh/ S[ S[S[,          ,          ;R&   S[ S[S[S[3,          ,          ;R&   # )r   Úboolean_optionsÚnegative_opt)r   r•   r›   Údict)r   r    s   "€r   r!   r"      s5   ø‡ ‚ ñ  ™d¡3�iÕ(Ñ?ñ! ñ" ™4¡¡S �>Õ*ÑFò# r   )
r   r
   r*   r   r   r   r   r   r'   r   ))z
build-lib=Údzdirectory to "build" (copy) to)r
   Úczcompile .py to .pyc)r   Nz!don't compile .py files [default])z	optimize=ÚOzlalso compile with optimization: -O1 for "python -O", -O2 for "python -OO", and -O0 to disable [default: -O0])r   r�   z2forcibly build everything (ignore file timestamps))T)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__ÚdescriptionÚuser_optionsr½   r¾   r   r1   r;   r)   rD   r8   r?   rp   rv   rƒ   rŠ   rŽ   r’   r—   r:   r©   r6   r7   r9   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__)r    s   @r   r	   r	      s»   ø‡ € ØK€Kò€Lð -6°wÐ+?€OØ.:¸IÐ-F€Lò÷Jð J÷2Dð Dò<ò,÷ð ò%òNò4òò2òhò Bò+÷ò ò6I÷ <ð <÷@ð @÷(ð ÷[ ƒ r   r	   )Ú__doc__rP   Úimportlib.utilrž   r@   r·   Údistutils._logr   Útypingr   Úcorer   Úerrorsr   r   rŸ   r   r	   r   r   r   Ú<module>rÒ      s5   ðñ0ó Û Û 	Û 
Ý Ý å ß =Ý ôFˆwö Fr   