+
    ÖÍi²!  ã                   ó¢   € ^ RI t ^ RI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 R4      t ! R R	]4      tR
 tR tR tR# )é    N)Úchain©ÚPath)ÚTemplate)ÚBackendc                   óÌ   a € ] tR t^t o 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R	 l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R ltV 3R lR ltR tRtV tR# )ÚMesonTemplatez+Template meson build file generation class.c                óÜ   <€ V ^8„  d   QhRS[ RS[S[,          RS[S[ ,          RS[S[ ,          RS[S[,          RS[S[,          RS[S[,          RS[S[ ,          R	S[S[ ,          R
S[ RS[ /# )é   Ú
modulenameÚsourcesÚdepsÚ	librariesÚlibrary_dirsÚinclude_dirsÚobject_filesÚlinker_argsÚfortran_argsÚ
build_typeÚ
python_exe)ÚstrÚlistr   )ÚformatÚ__classdict__s   "€Ú=/usr/lib/python3/dist-packages/numpy/f2py/_backends/_meson.pyÚ__annotate__ÚMesonTemplate.__annotate__   s™   ø€ ÷ ,ñ ,áð,ñ ‘d•ð,ñ ‘3�ið	,ñ
 ™•9ð,ñ ™4•jð,ñ ™4•jð,ñ ™4•jð,ñ ™#•Yð,ñ ™3•ið,ñ ð,ñ ñ,ó    c                óT  € Wn         \        \        4      P                  P	                  4       R ,          V n        W n        W0n        W@n        WPn	        Ve   W`n
        M. V n
        / V n        Wpn        V	 Uu. uF9  pVP                  R4      '       d   VP                  R4      '       g   RV R2MTNK;  	  upV n        V P                   V P"                  V P$                  V P&                  V P(                  V P*                  V P,                  .V n        W n        W°n        RV n        R# u upi )zmeson.build.templateNÚ'z                     )r   r   Ú__file__ÚparentÚabsoluteÚbuild_template_pathr   r   r   r   r   ÚsubstitutionsÚobjectsÚ
startswithÚendswithr   Úinitialize_templateÚsources_substitutionÚobjects_substitutionÚdeps_substitutionÚinclude_substitutionÚlibraries_substitutionÚfortran_args_substitutionÚpipeliner   r   Úindent)Úselfr   r   r   r   r   r   r   r   r   r   r   Úxs   &&&&&&&&&&&& r   Ú__init__ÚMesonTemplate.__init__   s  € ð %Œä”‹N×!Ñ!×*Ñ*Ó,Ð/EÕEð 	Ô ð ŒØŒ	Ø"ŒØ(ÔØÒ#Ø ,Õà "ˆDÔØˆÔØ#Œñ "ó
á!�ð Ÿ\™\¨#×.Ò.°1·:±:¸c·?²?ˆa�ˆs�!‰HÈÒJÙ!ñ
ˆÔð
 ×$Ñ$Ø×%Ñ%Ø×%Ñ%Ø×"Ñ"Ø×%Ñ%Ø×'Ñ'Ø×*Ñ*ð
ˆŒð %ŒØ$ŒØˆŽùò
s   Á5D%ÂD%Â(D%c                ó    <€ V ^8„  d   QhRS[ /# )r   Úreturn)r   )r   r   s   "€r   r   r   ?   s   ø€ ÷ 4ñ 4¡cñ 4r   c                óâ   € V P                   P                  4       '       g7   \        \        P                  R V P                   P                  4        R24      hV P                   P                  4       # )zMeson build template z does not exist.)r$   Úis_fileÚFileNotFoundErrorÚerrnoÚENOENTr#   Ú	read_text©r2   s   &r   Úmeson_build_templateÚ"MesonTemplate.meson_build_template?   sd   € Ø×'Ñ'×/Ñ/×1Ò1Ü#Ü—‘ðØ×,Ñ,×5Ñ5Ó7Ð8Ø"ð#óð ð ×'Ñ'×1Ñ1Ó3Ð3r   c                ó   <€ V ^8„  d   QhRR/# ©r   r7   N© )r   r   s   "€r   r   r   I   s   ø€ ÷ 7ñ 7 Tñ 7r   c                óœ   € V P                   V P                  R &   V P                  V P                  R&   V P                  V P                  R&   R# )r   Ú	buildtypeÚpythonN)r   r%   r   r   r>   s   &r   r)   Ú!MesonTemplate.initialize_templateI   s>   € Ø+/¯?©?ˆ×Ñ˜<Ñ(Ø*.¯/©/ˆ×Ñ˜;Ñ'Ø'+§¡ˆ×Ñ˜8Ó$r   c                ó   <€ V ^8„  d   QhRR/# rB   rC   )r   r   s   "€r   r   r   N   ó   ø€ ÷ 
ñ 
 dñ 
r   c           	     óž   € R P                  V P                   Uu. uF  qP                   RV R2NK  	  up4      V P                  R&   R# u upi )ú,
ú'''ú''',Úsource_listN)Újoinr   r1   r%   )r2   Úsources   & r   r*   Ú"MesonTemplate.sources_substitutionN   sC   € Ø,1¯J©JØ;?¿<º<ÓH¹<°—‘ˆ}˜C ˜x tÓ,¹<ÑHó-
ˆ×Ñ˜=Ó)ùÚHó   šA
c                ó   <€ V ^8„  d   QhRR/# rB   rC   )r   r   s   "€r   r   r   S   rI   r   c           	     óž   € R P                  V P                   Uu. uF  qP                   RV R2NK  	  up4      V P                  R&   R# u upi )rK   rL   rM   Úobj_listN)rO   r&   r1   r%   )r2   Úobjs   & r   r+   Ú"MesonTemplate.objects_substitutionS   sC   € Ø).¯©Ø59·\²\ÓB±\¨c—‘ˆ}˜C ˜u DÓ)±\ÑBó*
ˆ×Ñ˜:Ó&ùÚBrR   c                ó   <€ V ^8„  d   QhRR/# rB   rC   )r   r   s   "€r   r   r   X   s   ø€ ÷ 
ñ 
 4ñ 
r   c           	     ó¸   € R V P                    2P                  V P                   Uu. uF  qP                    RV R2NK  	  up4      V P                  R&   R# u upi )rK   zdependency('z'),Údep_listN)r1   rO   r   r%   )r2   Údeps   & r   r,   ÚMesonTemplate.deps_substitutionX   sP   € Ø+.¨t¯{©{¨mÐ)<×)AÑ)AØ=A¿YºYÓG¹Y°c—‘ˆ}˜L¨¨¨SÓ1¹YÑGó*
ˆ×Ñ˜:Ó&ùÚGó   §Ac                ó   <€ V ^8„  d   QhRR/# rB   rC   )r   r   s   "€r   r   r   ]   s   ø€ ÷ 
ñ 
¨ñ 
r   c                óö  € R P                  \        V P                  4       UUu. uF  w  rRV RV R2NK  	  upp4      V P                  R&   R P                  V P                   Uu. uF  pVP                  RR4       RV R2NK  	  up4      V P                  R	&   R V P                   2P                  V P                   Uu. uF#  q0P                   VP                  RR4       R
2NK%  	  up4      V P                  R&   R V P                   2P                  \        \        V P                  4      4       Uu. uF  qP                   RV R
2NK  	  up4      V P                  R&   R# u uppi u upi u upi u upi )Ú
Úlib_dir_z( = declare_dependency(link_args : ['''-Lz'''])Úlib_dir_declarationsÚ.Ú_z& = declare_dependency(link_args : ['-lz'])Úlib_declarationsÚ,Úlib_listÚlib_dir_listN)	rO   Ú	enumerater   r%   r   Úreplacer1   ÚrangeÚlen)r2   ÚiÚlib_dirÚlibs   &   r   r.   Ú$MesonTemplate.libraries_substitution]   sw  € Ø59·Y±Yô #,¨D×,=Ñ,=Ô">ôá">‘J�Að ˜1˜#ÐEÀgÀYÈeÓTÙ">òó6
ˆ×ÑÐ1Ñ2ð 26·±ð  Ÿ>š>óá)�Cð —;‘;˜s CÓ(Ð)Ð)OÐPSÈuÐTWÓXÙ)ñó2
ˆ×ÑÐ-Ñ.ð ,.¨d¯k©k¨]Ð);×)@Ñ)@ØAEÇÂÓPÁ¸#—‘ˆ}˜SŸ[™[¨¨cÓ2Ð3°1Ó5ÁÑPó*
ˆ×Ñ˜:Ñ&ð 02°$·+±+°Ð-?×-DÑ-DÜ38¼¸T×=NÑ=NÓ9OÔ3PÓQÑ3P¨a—‘ˆ}˜H Q C qÓ)Ñ3PÑQó.
ˆ×Ñ˜>Ó*ùó!ùòùò Qùò Rs   ¤E&
Á&!E,Ã)E1Ä6E6c                ó   <€ V ^8„  d   QhRR/# rB   rC   )r   r   s   "€r   r   r   s   rI   r   c           	     ó¸   € R V P                    2P                  V P                   Uu. uF  qP                    RV R2NK  	  up4      V P                  R&   R# u upi )rK   rL   rM   Úinc_listN)r1   rO   r   r%   )r2   Úincs   & r   r-   Ú"MesonTemplate.include_substitutions   sT   € Ø+.¨t¯{©{¨mÐ)<×)AÑ)AØ59×5FÒ5FÓGÑ5F¨c—‘ˆ}˜C ˜u DÓ)Ñ5FÑGó*
ˆ×Ñ˜:Ó&ùÚGr]   c                ó   <€ V ^8„  d   QhRR/# rB   rC   )r   r   s   "€r   r   r   x   s   ø€ ÷ 4ñ 4¨4ñ 4r   c                óÎ   € V P                   '       dD   V P                   R RP                  \        V P                   4      4       R2V P                  R&   R# RV P                  R&   R# )zfortran_args: [z, z],r   Ú N)r   r1   rO   r   r%   r>   s   &r   r/   Ú'MesonTemplate.fortran_args_substitutionx   sZ   € Ø××Ðà—;‘;�-˜¨t¯y©y¼¸d×>OÑ>OÓ9PÓ/QÐ.RÐRTÐUð ×Ñ˜~Ó.ð 24ˆD×Ñ˜~Ó.r   c                óÆ   € V P                    F
  pV! 4        K  	  \        V P                  4       4      pVP                  V P                  4      pVP                  R R4      pV# )z,,rf   )r0   r   r?   Ú
substituter%   rj   )r2   ÚnodeÚtemplateÚmeson_builds   &   r   Úgenerate_meson_buildÚ"MesonTemplate.generate_meson_build€   sV   € Ø—M”MˆDÙŽFñ "ä˜D×5Ñ5Ó7Ó8ˆØ×)Ñ)¨$×*<Ñ*<Ó=ˆØ!×)Ñ)¨$°Ó4ˆØÐr   )r$   r   r   r   r   r1   r   r   r   r&   r0   r   r   r%   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r4   r?   r)   r*   r+   r,   r.   r-   r/   r   Ú__static_attributes__Ú__classdictcell__)r   s   @r   r	   r	      sm   ø‡ € Ù5÷,ð ,÷\4ð 4÷7ð 7÷

ð 
÷

ð 
÷

ð 
÷

ð 
÷,
ð 
÷
4ð 4÷ð r   r	   c                   ó€   a a€ ] tR t^‰t oV 3R ltV3R lR ltV3R lR ltR tV3R lR ltV3R	 lR
 lt	Rt
VtV ;t# )ÚMesonBackendc                óZ  <€ \         SV `  ! V/ VB  V P                  P                  R . 4      V n        RV n        \        ;QJ d&    R V P                   4       F  '       g   K   RM	  RM! R V P                   4       4      '       d   RMRV n        \        V P                  4      V n        R# )ÚdependenciesÚbbdirc              3   ó,   "  € T F
  pR V9   x € K  	  R# 5i)ÚdebugNrC   )Ú.0Úflags   & r   Ú	<genexpr>Ú(MesonBackend.__init__.<locals>.<genexpr>�   s   é € ÐE±}¨t˜7 dž?³}ùs   ‚TFrŽ   ÚreleaseN)
Úsuperr4   Ú	extra_datÚgetr‹   Úmeson_build_dirÚanyÚfc_flagsr   Ú
_get_flags)r2   ÚargsÚkwargsÚ	__class__s   &*,€r   r4   ÚMesonBackend.__init__Š   s|   ø€ Ü‰Ò˜$Ð) &Ò)Ø ŸN™N×.Ñ.¨~¸rÓBˆÔØ&ˆÔç“sÑE°t·}²}ÓE—s—s’sÑE°t·}²}ÓE×EÒE‰GÈ9ð 	Œô # 4§=¡=Ó1ˆŽr   c                ó    <€ V ^8„  d   QhRS[ /# ©r   Ú	build_dirr   )r   r   s   "€r   r   ÚMesonBackend.__annotate__“   s   ø€ ÷ #ñ #©Dñ #r   c                ó  € \        V4      V P                  ,          p\        VP                  V P                   R 24      VP                  V P                   R24      VP                  V P                   R24      4      pV F{  p\         P
                  ! 4       VP                  ,          pVP                  4       '       d   VP                  4        \        P                  ! WE4       \        P                  ! V4       K}  	  R# )z*.soz*.pydz*.dllN)r   r—   r   Úglobr   ÚcwdÚnameÚexistsÚunlinkÚshutilÚcopy2ÚosÚremove)r2   r¡   Úwalk_dirÚpath_objectsÚpath_objectÚ	dest_paths   &&    r   Ú_move_exec_to_rootÚMesonBackend._move_exec_to_root“   s½   € Ü˜	“? T×%9Ñ%9Õ9ˆÜØ�M‰M˜TŸ_™_Ð-¨TÐ2Ó3Ø�M‰M˜TŸ_™_Ð-¨UÐ3Ó4Ø�M‰M˜TŸ_™_Ð-¨UÐ3Ó4ó
ˆó (ˆKÜŸš›
 [×%5Ñ%5Õ5ˆIØ×Ñ×!Ò!Ø× Ñ Ô"Ü�LŠL˜Ô0Ü�IŠI�kÖ"ó (r   c                ó$   <€ V ^8„  d   QhRS[ RR/# )r   r¡   r7   Nr   )r   r   s   "€r   r   r¢   £   s   ø€ ÷  ñ  ©4ð  °Dñ  r   c                ó²  € \        V P                  V P                  V P                  V P                  V P
                  V P                  V P                  V P                  V P                  V P                  \        P                  4      pVP                  4       p\        V4      P                  RRR7       \        V4      R,          pVP!                  V4       V# )z1Writes the meson build file at specified locationT©ÚparentsÚexist_okzmeson.build)r	   r   r   r‹   r   r   r   Úextra_objectsÚ
flib_flagsr™   r   ÚsysÚ
executabler   r   ÚmkdirÚ
write_text)r2   r¡   Úmeson_templateÚsrcÚmeson_build_files   &&   r   Úwrite_meson_buildÚMesonBackend.write_meson_build£   s«   € ä&Ø�O‰OØ�L‰LØ×ÑØ�N‰NØ×ÑØ×ÑØ×ÑØ�O‰OØ�M‰MØ�O‰OÜ�N‰Nó
ˆð ×1Ñ1Ó3ˆÜˆY‹×Ñ d°TÐÔ:Ü 	›?¨]Õ:ÐØ×#Ñ# CÔ(ØÐr   c                ó6   € \         P                  ! WR R7       R# )T)r¥   ÚcheckN)Ú
subprocessÚrun)r2   Úcommandr¥   s   &&&r   Ú_run_subprocess_commandÚ$MesonBackend._run_subprocess_command¸   s   € Ü�Š�w¨t×4r   c                ó    <€ V ^8„  d   QhRS[ /# r    r   )r   r   s   "€r   r   r¢   »   s   ø€ ÷ Añ A¡4ñ Ar   c                óˆ   € R RV P                   .pV P                  W!4       R RRV P                   .pV P                  W14       R# )ÚmesonÚsetupÚcompilez-CN)r—   rÈ   )r2   r¡   Úsetup_commandÚcompile_commands   &&  r   Ú	run_mesonÚMesonBackend.run_meson»   sD   € Ø  '¨4×+?Ñ+?Ð@ˆØ×$Ñ$ ]Ô>Ø" I¨t°T×5IÑ5IÐJˆØ×$Ñ$ _Ö@r   c                ó   <€ V ^8„  d   QhRR/# rB   rC   )r   r   s   "€r   r   r¢   Á   s   ø€ ÷ 0ñ 0˜ñ 0r   c                ó^  € \        V P                  V P                  V P                  4      V n        \	        V P                  V P
                  V P                  4       V P                  V P                  4       V P                  V P                  4       V P                  V P                  4       R # )N)	Ú_prepare_sourcesr   r   r¡   Ú_prepare_objectsr¸   rÁ   rÑ   r±   r>   s   &r   rÎ   ÚMesonBackend.compileÁ   sl   € Ü'¨¯©¸¿¹ÀtÇ~Á~ÓVˆŒÜ˜Ÿ™¨$×*<Ñ*<¸d¿n¹nÔMØ×Ñ˜tŸ~™~Ô.Ø�‰�t—~‘~Ô&Ø×Ñ §¡Ö/r   )r   r‹   r™   r—   r   )r�   r‚   rƒ   r„   r4   r±   rÁ   rÈ   rÑ   rÎ   r†   r‡   Ú__classcell__)r�   r   s   @@r   r‰   r‰   ‰   s>   ù‡ € õ2÷#ð #÷  ð  ò*5÷Að A÷0÷ 0ð 0r   r‰   c                 óø  € VP                  4       p\        V4      P                  R R R7       V F[  p\        V4      P                  4       '       g   K$  \        V4      P	                  4       '       g   KE  \
        P                   ! WB4       K]  	  \        V  R24      \        V  R24      \        V  R24      .p\        V4      pV Fm  pVP                  4       '       g   K  \
        P                   ! WbVP                  ,          4       VP                  VP                  4       VP                  4        Ko  	  V Uu. uF4  p\        V4      P                  R8X  d   K  \        V4      P                  NK6  	  ppV# u upi )Trµ   zmodule.cz-f2pywrappers2.f90z-f2pywrappers.fz.pyf)
Úcopyr   r¼   r§   r9   r©   r¦   Úappendr¨   Úsuffix)Úmnamer   ÚbdirÚextended_sourcesrP   Úgenerated_sourcesÚgenerated_sources   &&&    r   rÕ   rÕ   É   sD  € Ø—|‘|“~ÐÜˆƒJ×Ñ˜T¨DÐÔ1ãˆÜ�‹<×Ñ× Ô ¤T¨&£\×%9Ñ%9×%;Ô%;Ü�KŠK˜Ö%ñ ô 	�ˆw�hÐÓ Ü�ˆwÐ(Ð)Ó*Ü�ˆw�oÐ&Ó'ðÐô
 �‹:€DÛ-ÐØ×"Ñ"×$Ô$Ü�KŠKÐ(Ð1A×1FÑ1FÕ*FÔGØ×#Ñ#Ð$4×$9Ñ$9Ô:Ø×#Ñ#Ö%ñ	 .ñ 'óá&ˆFÜ�F‹|×"Ñ" fÑ,ô 	ŒˆV‹×ÔÙ&ð ð ð
 Ðùòs   Ä9E7ÅE7c                 ó   € \        V4      P                  R R R7       V F[  p\        V4      P                  4       '       g   K$  \        V4      P                  4       '       g   KE  \        P
                  ! W24       K]  	  R# )Trµ   N)r   r¼   r§   r9   r©   rÚ   )rÝ   r&   rÞ   rV   s   &&& r   rÖ   rÖ   â   sT   € ÜˆƒJ×Ñ˜T¨DÐÔ1ãˆÜ�‹9×Ñ×Ô¤$ s£)×"3Ñ"3×"5Ô"5Ü�KŠK˜Ö"ó r   c                 ó~  € . p\         P                  ! R 4      pV  F{  pVP                  V4      pV'       g   K  VP                  ^4      P	                  4       P                  4       pV Uu. uF  qfP	                  R4      NK  	  ppVP                  V4       K}  	  \        \        P                  V4      4      pV# u upi )z--f(77|90)flags=(.*)z'")
ÚrerÎ   ÚmatchÚgroupÚstripÚsplitÚextendr   ÚdictÚfromkeys)r™   Úflag_valuesÚflag_patternr�   Úmatch_resultÚvaluesÚvalÚunique_flagss   &       r   rš   rš   é   s    € Ø€KÜ—:’:Ð5Ó6€LÛˆØ#×)Ñ)¨$Ó/ˆß‰<Ø!×'Ñ'¨Ó*×0Ñ0Ó2×8Ñ8Ó:ˆFÙ28Ó9±&¨3—i‘i Ö&±&ˆFÐ9Ø×Ñ˜vÖ&ñ ô œŸ™ kÓ2Ó3€LØÐùò	 :s   Á*B:)r;   r«   rä   r©   rÅ   rº   Ú	itertoolsr   Úpathlibr   Ústringr   Ú_backendr   r	   r‰   rÕ   rÖ   rš   rC   r   r   Ú<module>rö      sL   ðÛ Û 	Û 	Û Û Û 
Ý Ý Ý å ÷xñ xôv=0�7ô =0ò@ò2#ôr   