§
    `ŠtjøO  ã                   ó  — d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlm	Z	m
Z
mZ d dlmZ d dlmZ d dlmZ ddgZ e j        d¦  «        Zd	„ Z G d
„ de¦  «        Z G d„ de¦  «        Zd„ Zedk    r‰d dlmZ d dlmZ  ej        d¦  «          e ed¦  «                              ¦   «         ¦  «         	  e ed¦  «                              ¦   «         ¦  «         dS # e!$ rZ" ee"¦  «         Y dZ"["dS dZ"["ww xY wdS )é    N)ÚPopenÚPIPEÚSTDOUT)Úfilepath_from_subprocess_output)Ú	FCompiler)ÚLooseVersionÚGnuFCompilerÚGnu95FCompilerzTarget: ([a-zA-Z0-9_\-]*)c                  ó\   — t           j        dk    ot          j        ¦   «         d         dk    S )NÚwin32r   Ú64bit)ÚsysÚplatformÚarchitecture© ó    ú[/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/numpy/distutils/fcompiler/gnu.pyÚis_win64r      s'   € ÝŒ<˜7Ò"ÐL¥xÔ'<Ñ'>Ô'>¸qÔ'AÀWÒ'LÐLr   c            	       ó.  — e Zd ZdZdZdZd„ Zd„ ZddgZdd	gg d
¢ddg d¢ddgdgg d¢dœZ	dZ
dZej        dk    rej        dk    rdgZej        dk    r dD ]Ze	e                              d¦  «         ŒdZdZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd „ Zd!„ ZdS )"r	   Úgnu)Úg77zGNU Fortran 77 compilerc                 óÜ  — |                      d¦  «        rG||                     d¦  «        dz   d…                              ¦   «         }|                      d¦  «        °Gt          |¦  «        dk    rst	          j        d|¦  «        }|r[|                      d¦  «        rd|                     d¦  «        fS |                     ¦   «         d	k    rd
|                     d¦  «        fS nwt	          j        d|¦  «        }|rd
|                     d¦  «        fS t	          j        d|¦  «        }|r2|                     d¦  «        }|                      d¦  «        rd|fS d
|fS d}t          ||z   ¦  «        ‚)z6Handle the different versions of GNU fortran compilerszgfortran: warningú
é   Né   z	([0-9.]+)zGNU Fortranr   r   ÚgfortranzGNU Fortran\s+95.*?([0-9-.]+)z%GNU Fortran.*?\-?([0-9-.]+\.[0-9-.]+))Ú0Ú2Ú3z6A valid Fortran version was not found in this string:
)	Ú
startswithÚfindÚstripÚlenÚreÚsearchÚgroupÚstartÚ
ValueError)ÚselfÚversion_stringÚmÚvÚerrs        r   Úgnu_version_matchzGnuFCompiler.gnu_version_match   s‘  € ð ×'Ò'Ð(;Ñ<Ô<ð 	Gà˜~×2Ò2°4Ñ8Ô8¸1Ñ<Ð=Ð=Ô>×DÒDÑFÔFð ð ×'Ò'Ð(;Ñ<Ô<ð 	Gõ ˆ~ÑÔ "Ò$Ð$å”	˜,¨Ñ7Ô7ˆAØð 	4ð "×,Ò,¨]Ñ;Ô;ð 4Ø! 1§7¢7¨1¡:¤:Ð.Ð.ð —W’W‘Y”Y !’^�^Ø&¨¯ª°©
¬
Ð3Ð3øõ ”	Ð:¸NÑKÔKˆAØð 0Ø" A§G¢G¨A¡J¤JÐ/Ð/Ý”	Ø8¸.ñJô JˆAàð +Ø—G’G˜A‘J”J�Ø—<’< Ñ0Ô0ð +à! 1˜:Ð%ð '¨˜?Ð*ð HˆÝ˜˜~Ñ-Ñ.Ô.Ð.r   c                 ó\   — |                       |¦  «        }|r|d         dk    rd S |d         S )Nr   r   r   )r.   )r)   r*   r,   s      r   Úversion_matchzGnuFCompiler.version_matchL   s7   € Ø×"Ò" >Ñ2Ô2ˆØð 	�A�a”D˜E’M�MØ�4Ø�Œtˆr   r   Úf77Nú-dumpversion)Nú-gú-Wallú-fno-second-underscore)Nr3   r4   Úarú-crÚranlib©Úversion_cmdÚcompiler_f77Úcompiler_f90Úcompiler_fixÚ	linker_soÚarchiverr8   Ú
linker_exeÚntÚcygwinz-fPICr   )r:   r;   r>   r@   ú-mno-cygwinÚg2cÚgnu95c                 óò  — | j         dd …         }t          j        dk    rŽt          j                             dd ¦  «        }|sTdd l}|                     d¦  «        }|sd}d|› �}t          j	        |d¬¦  «         t          |¦  «        t          j        d<   |                     g d	¢¦  «         n|                     d
¦  «         t          j                             d¦  «        r|                     d¦  «         |S )Nr   ÚdarwinÚMACOSX_DEPLOYMENT_TARGETr   z10.9z.Env. variable MACOSX_DEPLOYMENT_TARGET set to é   )Ú
stacklevel)z
-undefinedÚdynamic_lookupz-bundlez-sharedÚsunosz-mimpure-text)r>   r   r   ÚosÚenvironÚgetÚ	sysconfigÚget_config_varÚwarningsÚwarnÚstrÚextendÚappendr    )r)   ÚoptÚtargetrP   Úss        r   Úget_flags_linker_soz GnuFCompiler.get_flags_linker_som   s  € ØŒn˜Q˜R˜RÔ ˆÝŒ<˜8Ò#Ð#Ý”Z—^’^Ð$>ÀÑEÔEˆFð ð Eð !Ð Ð Ð Ø"×1Ò1Ð2LÑMÔM�Øð 3Ø#�FØQÈÐQÐQ�AÝ”M !°Ð2Ñ2Ô2Ð2Ý9<¸V¹¼•”
Ð5Ñ6Ø�JŠJÐBÐBÐBÑCÔCÐCÐCà�JŠJ�yÑ!Ô!Ð!ÝŒ<×"Ò" 7Ñ+Ô+ð 	(ð �JŠJ�Ñ'Ô'Ð'Øˆ
r   c                 óÖ   — 	 t          j        | j        dgz   ¦  «        }t          |¦  «        }t          j                             |¦  «        S # t          t           j        f$ r Y nw xY wd S )Nz-print-libgcc-file-name)	Ú
subprocessÚcheck_outputr;   r   rM   ÚpathÚdirnameÚOSErrorÚCalledProcessError)r)   Úoutputs     r   Úget_libgcc_dirzGnuFCompiler.get_libgcc_dir�   s€   € ð	+ÝÔ,¨TÔ->Ø-FÐ,Gñ.Hñ Iô IˆFõ
 5°VÑ<Ô<ˆFÝ”7—?’? 6Ñ*Ô*Ð*øõ	 �Ô6Ð7ð 	ð 	ð 	ØˆDð	øøøð
 ˆts   ‚A ÁA&Á%A&c                 ój  — t           j        d d…         dk    rd}nt           j        dk    rd}nd }d }|r~d                     |¦  «        g}	 t          j        | j        |z   ¦  «        }t          |¦  «        }t          j         	                    |¦  «        }n# t          t          j        f$ r Y nw xY w|S )Né   Úlinuxzlibgfortran.sorG   zlibgfortran.dylibz-print-file-name={0})r   r   Úformatr\   r]   r;   r   rM   r^   r_   r`   ra   )r)   Úlibgfortran_nameÚlibgfortran_dirÚfind_lib_argrb   s        r   Úget_libgfortran_dirz GnuFCompiler.get_libgfortran_dir›   sÛ   € ÝŒ<˜˜˜Ô˜wÒ&Ð&Ø/ÐÐÝŒ\˜XÒ%Ð%Ø2ÐÐà#ÐàˆØð 		:Ø2×9Ò9Ð:JÑKÔKÐLˆLð:Ý#Ô0Ø'+Ô'8¸<Ñ'GñIô I�õ
 9¸Ñ@Ô@�Ý"$¤'§/¢/°&Ñ"9Ô"9��øõ	 �ZÔ:Ð;ð ð ð Ø�ðøøøð
 Ðs   ÁB ÂB0Â/B0c                 ó€  — g }t           j        d d…         dk    �rw|                      ¦   «         }|�r`t           j        dk    �r:|                     d¦  «        �s$t          j                             |¦  «        }t          j                             |d| j        z  ¦  «        }t          j         	                    |¦  «        s¾t	          j        j        |gt          j
        fdz  ¢R Ž }t          j                             t          j                             |d¦  «        ¦  «        }t          j                             |d| j        z  ¦  «        }t          j         	                    |¦  «        r|                     |¦  «         |                     |¦  «         |                      ¦   «         }|r|                     |¦  «         |S )Nre   rf   r   z/usr/libzlib%s.aé   Úlib)r   r   rc   r    rM   r^   ÚnormpathÚjoinrD   ÚexistsÚpardirÚabspathrV   rk   )r)   rW   Údr^   ÚrootÚd2Úlib_gfortran_dirs          r   Úget_library_dirszGnuFCompiler.get_library_dirs°   sb  € ØˆÝŒ<˜˜˜Ô˜wÒ&Ñ&Ø×#Ò#Ñ%Ô%ˆAØñ å”< 7Ò*Ñ*°1·<²<À
Ñ3KÔ3KÑ*Ýœ×(Ò(¨Ñ+Ô+�AÝœ7Ÿ<š<¨¨9°t´xÑ+?Ñ@Ô@�DÝœ7Ÿ>š>¨$Ñ/Ô/ð +Ý!œwœ|¨AÐDµ"´)°ÀÑ1BÐDÐDÐD˜ÝœWŸ_š_­R¬W¯\ª\¸$ÀÑ-FÔ-FÑGÔG˜Ý!œwŸ|š|¨B°	¸D¼HÑ0DÑEÔE˜Ýœ7Ÿ>š>¨$Ñ/Ô/ð +ØŸJšJ r™NœN˜NØ—
’
˜1‘”�à×3Ò3Ñ5Ô5ÐØð 	)Ø�JŠJÐ'Ñ(Ô(Ð(Øˆ
r   c                 óî  — g }|                       ¦   «         }|�`| j        dz   }| j        || j        fz  }t          j                             t          j                             ||¦  «        ¦  «        s| j        }n| j        }|�|                     |¦  «         | j	        }t          j        dk    r"|r |j        dk    r|                     d¦  «         t          j        dk    r|                     d¦  «         |S )Nz-picr   ÚmsvcÚgccrG   Ú
cc_dynamic)rc   rD   Ústatic_lib_formatÚstatic_lib_extensionrM   r^   Úisfilerp   rV   Ú
c_compilerr   r   Úcompiler_type)r)   rW   rt   rD   Úfr€   s         r   Úget_librarieszGnuFCompiler.get_librariesÆ   sä   € ØˆØ×ÒÑ!Ô!ˆØˆ=Ø”(˜VÑ#ˆCØÔ&¨#¨tÔ/HÐ)IÑIˆAÝ”7—>’>¥"¤'§,¢,¨q°!Ñ"4Ô"4Ñ5Ô5ð Ø”h�øà”(ˆCàˆ?Ø�JŠJ�s‰OŒOˆOØ”_ˆ
ÝŒ<˜7Ò"Ð" zÐ"ØÔ(¨FÒ2Ð2Ø�JŠJ�uÑÔÐÝŒ<˜8Ò#Ð#Ø�JŠJ�|Ñ$Ô$Ð$Øˆ
r   c                 ó   — dgS )Nr3   r   ©r)   s    r   Úget_flags_debugzGnuFCompiler.get_flags_debugÛ   s	   € Øˆvˆr   c                 óv   — |                       ¦   «         }|r
|dk    rdg}ndg}|                     d¦  «         |S )Nz3.3.3z-O2z-O3z-funroll-loops)Úget_versionrV   )r)   r,   rW   s      r   Úget_flags_optzGnuFCompiler.get_flags_optÞ   sM   € Ø×ÒÑÔˆØð 	��g’�ð �'ˆCˆCà�'ˆCØ�
Š
Ð#Ñ$Ô$Ð$Øˆ
r   c                 óÔ   — ddl }	 |                     ¦   «         d         }n# t          $ r g cY S w xY wt          j        d¦  «        }g }|                     |¦  «        D ]	}|d|gz  }Œ
|S )z( Return detected arch flags from CFLAGS r   NÚCFLAGSz-arch\s+(\w+)ú-arch)rP   Úget_config_varsÚKeyErrorr$   ÚcompileÚfindall)r)   rP   ÚcflagsÚarch_reÚ
arch_flagsÚarchs         r   Ú_c_arch_flagszGnuFCompiler._c_arch_flagsé   s•   € àÐÐÐð	Ø×.Ò.Ñ0Ô0°Ô:ˆFˆFøÝð 	ð 	ð 	ØˆIˆIˆIð	øøøå”*Ð-Ñ.Ô.ˆØˆ
Ø—O’O FÑ+Ô+ð 	*ð 	*ˆDØ˜7 D˜/Ñ)ˆJˆJØÐs   †! ¡0¯0c                 ó   — g S )Nr   r…   s    r   Úget_flags_archzGnuFCompiler.get_flags_archö   s   € Øˆ	r   c                 óØ   — t           j        dk    st           j        dk    rt          ‚d|vsJ ‚t           j        dk    rd|› �S t           j                             d¦  «        rd|› �S d|› �S )	Nr   rB   ú,rG   z-Wl,-rpath,©ÚaixÚos400z-Wl,-blibpath:z-Wl,-rpath=)r   r   ÚNotImplementedErrorr    )r)   Údirs     r   Úruntime_library_dir_optionz'GnuFCompiler.runtime_library_dir_optionù   s€   € ÝŒ<˜7Ò"Ð"¥c¤l°hÒ&>Ð&>å%Ð%ð ˜#ˆ~ˆ~ˆ~ˆ~åŒ<˜8Ò#Ð#Ø& Ð&Ð&Ð&ÝŒ\×$Ò$Ð%5Ñ6Ô6ð 	'à) CÐ)Ð)Ð)à& Ð&Ð&Ð&r   )Ú__name__Ú
__module__Ú__qualname__r�   Úcompiler_aliasesÚdescriptionr.   r0   Úpossible_executablesÚexecutablesÚmodule_dir_switchÚmodule_include_switchrM   Únamer   r   Ú	pic_flagsÚkeyrV   rD   Úsuggested_f90_compilerrZ   rc   rk   rx   rƒ   r†   r‰   r•   r—   rŸ   r   r   r   r	   r	      sš  € € € € € Ø€MØ ÐØ+€Kð+/ð +/ð +/ðZð ð ð " 5˜>Ðà Ð/ØHÐHÐHØØØ.Ð.Ð.Ø ˜Ø"˜Ø.Ð.Ð.ð	ð 	€Kð ÐØ Ðð 
„w�$‚€˜3œ<¨8Ò3Ð3Ø�Iˆ	ð „|�wÒÐØMð 	3ð 	3ˆCØ˜Ô×#Ò# MÑ2Ô2Ð2Ð2à
€CØ$Ðð!ð !ð !ðF	ð 	ð 	ðð ð ð*ð ð ð,ð ð ð*ð ð ð	ð 	ð 	ðð ð ðð ð ð'ð 'ð 'ð 'ð 'r   c            	       ó�  — e Zd ZdZdZdZd„ ZddgZddgg d	¢g d
¢g d	¢g d¢ddgdgddgdœZdZ	dZ
ej                             d¦  «        r\ed                              d¦  «          ej        ¦   «         d         dd…         dk    r dD ]Zee                              d¦  «         ŒdZd„ Zd„ Zd„ Zd„ Zd „ Zd!„ Zd"„ Zd#„ Zd$„ Zd%„ ZdS )&r
   rE   )r   zGNU Fortran 95 compilerc                 óò   — |                       |¦  «        }|r|d         dk    rd S |d         }t          |¦  «        dk    rn5t          j        dk    r%dD ]"}| j        |                              d¦  «         Œ#|S )Nr   r   r   Ú4r   )r:   r;   r<   r=   r>   r@   rC   )r.   r   r   r   r¦   rV   )r)   r*   r,   r«   s       r   r0   zGnu95FCompiler.version_match  s•   € Ø×"Ò" >Ñ2Ô2ˆØð 	�A�a”D˜JÒ&Ð&Ø�4ØˆaŒDˆÝ˜‰?Œ?˜cÒ!Ð!àõ Œ|˜wÒ&Ð&ðð @ð @�Cð Ô$ SÔ)×0Ò0°Ñ?Ô?Ð?Ð?Øˆr   r   Úf95ú<F90>r2   )Nr4   r3   z-ffixed-formr5   )Nr4   r3   r5   )r±   r4   r3   r6   r7   r8   Nr4   r9   z-Jz-Irš   r>   z	-lpthreadr   rI   Ú64)r;   r<   r=   r>   r@   z-maix64c                 óî   — t           j        dk    sg S g }|                      ¦   «         }d|v rd||                     d¦  «        <   dD ]-}t	          ||¦  «        r||v r|                     d|g¦  «         Œ.|S )z>Return a list of -arch flags for every supported architecture.rG   Úi386Úi686)Úppcrµ   Úx86_64Úppc64Ús390xrŒ   )r   r   r•   ÚindexÚ_can_targetrU   )r)   Úcmdr“   Úc_archsr”   s        r   Ú_universal_flagszGnu95FCompiler._universal_flags<  s–   € åŒ|˜xÒ'Ð'ØˆIØˆ
à×$Ò$Ñ&Ô&ˆØ�WÐÐØ-3ˆG�G—M’M &Ñ)Ô)Ñ*ð @ð 	3ð 	3ˆDÝ˜3 Ñ%Ô%ð 3¨$°'¨/¨/Ø×!Ò! 7¨D /Ñ2Ô2Ð2øØÐr   c                 ó€   — t                                | ¦  «        }|                      | j        ¦  «        }|r||d d…<   |S ©Nr   )r	   Ú	get_flagsr¾   r<   ©r)   Úflagsr“   s      r   rÁ   zGnu95FCompiler.get_flagsL  sE   € Ý×&Ò& tÑ,Ô,ˆØ×*Ò*¨4Ô+<Ñ=Ô=ˆ
Øð 	#Ø"ˆE�"�1�"‰IØˆr   c                 ó€   — t                                | ¦  «        }|                      | j        ¦  «        }|r||d d…<   |S rÀ   )r	   rZ   r¾   r>   rÂ   s      r   rZ   z"Gnu95FCompiler.get_flags_linker_soS  sD   € Ý×0Ò0°Ñ6Ô6ˆØ×*Ò*¨4¬>Ñ:Ô:ˆ
Øð 	#Ø"ˆE�"�1�"‰IØˆr   c                 óÖ  — t                                | ¦  «        }t          j        dk    �r| j        }|�r|j        dk    rý|                      ¦   «         }|rçt          j         	                    |  
                    ¦   «         ¦  «        }t          j        j        |gt          j        fdz  ¢R Ž }t          j                             |d¦  «        }t          j         	                    |¦  «        }t          j                             t          j                             |d¦  «        ¦  «        r|                     |¦  «         |                      ¦   «         }|r|                     |¦  «         |S )Nr   rz   rm   rn   zlibmingwex.a)r	   rx   r   r   r€   r�   Ú
get_targetrM   r^   ro   rc   rp   rr   rq   rV   rk   )	r)   rW   r€   rX   rt   ru   r^   Úmingwdirrw   s	            r   rx   zGnu95FCompiler.get_library_dirsZ  s,  € Ý×+Ò+¨DÑ1Ô1ˆÝŒ<˜7Ò"Ñ"ØœˆJØñ -˜jÔ6¸&Ò@Ð@ØŸšÑ*Ô*�Øð -Ýœ×(Ò(¨×)<Ò)<Ñ)>Ô)>Ñ?Ô?�AÝœ7œ<¨Ð@­b¬i¨]¸QÑ->Ð@Ð@Ð@�DÝœ7Ÿ<š<¨¨eÑ4Ô4�DÝ!œw×/Ò/°Ñ5Ô5�HÝ”w—~’~¥b¤g§l¢l°8¸^Ñ&LÔ&LÑMÔMð -ØŸ
š
 8Ñ,Ô,Ð,à×3Ò3Ñ5Ô5ÐØð 	)Ø�JŠJÐ'Ñ(Ô(Ð(Øˆ
r   c                 ó�  — t                                | ¦  «        }t          j        dk    r|                     d¦  «         t          j        dk    rv| j        }|rV|j        dk    rKd|v rG|                     d¦  «        }|                     |dz   d¦  «         |                     |dz   d¦  «         | j        }|r|j        dk    rg S 	 |S )	NrG   r|   r   rz   r{   r   ÚmingwexÚmingw32)	r	   rƒ   r   r   Úremover€   r�   rº   Úinsert)r)   rW   r€   Úis       r   rƒ   zGnu95FCompiler.get_librariesm  sÐ   € Ý×(Ò(¨Ñ.Ô.ˆÝŒ<˜8Ò#Ð#Ø�JŠJ�|Ñ$Ô$Ð$ÝŒ<˜7Ò"Ð"ØœˆJØð 1˜jÔ6¸&Ò@Ð@Ø˜C�<�<ØŸ	š	 %Ñ(Ô(�AØ—J’J˜q 1™u iÑ0Ô0Ð0Ø—J’J˜q 1™u iÑ0Ô0Ð0ØœˆJØð ˜jÔ6¸&Ò@Ð@Ø�	àØˆ
r   c                 ój  — 	 t          j        | j        dgz   t           j        t           j        ¬¦  «        }|                     ¦   «         \  }}|pd|pdz   }t          |¦  «        }t                               |¦  «        }|r|                     d¦  «        S n# t          t           j
        f$ r Y nw xY wdS )Nz-v)ÚstdinÚstderrr   r   Ú )r\   r   r;   r   Úcommunicater   ÚTARGET_Rr%   r&   r`   ra   )r)   ÚpÚstdoutrÐ   rb   r+   s         r   rÆ   zGnu95FCompiler.get_target  sÈ   € ð	"ÝÔ ØÔ! T FÑ*Ý ”oÝ!”ðñ ô ˆAð
 Ÿ]š]™_œ_‰NˆF�FØ�m ¨¨°#Ñ6ˆFõ 5°VÑ<Ô<ˆFÝ—’ Ñ'Ô'ˆAØð "Ø—w’w˜q‘z”zÐ!ð"øõ �Ô6Ð7ð 	ð 	ð 	ØˆDð	øøøð ˆrs   ‚AB ÂB0Â/B0c                 ó‚  — t          j        ¦   «         }|D ]Z}t          |d¦  «        5 }	 |                     d¦  «        }|sn|                     |¦  «         Œ.	 d d d ¦  «         n# 1 swxY w Y   Œ[t          j        |                     ¦   «         ¦  «        }|                     d¦  «        }| 	                    d¦  «        S )NÚrbTi   Úasciiú=)
ÚhashlibÚsha1ÚopenÚreadÚupdateÚbase64Ú	b32encodeÚdigestÚdecodeÚrstrip)r)   Ú	filenamesÚhÚfnr‚   ÚblockÚtexts          r   Ú_hash_fileszGnu95FCompiler._hash_files‘  sò   € ÝŒL‰NŒNˆØð 	$ð 	$ˆBÝ�b˜$‘”ð $ 1ð$ØŸFšF 6™NœN�EØ ð ØØ—H’H˜U‘O”O�Oð	$ð ð	$ð $ð $ñ $ô $ð $ð $ð $ð $ð $ð $øøøð $ð $ð $ð $øõ Ô §¢¡
¤
Ñ+Ô+ˆØ�{Š{˜7Ñ#Ô#ˆØ�{Š{˜3ÑÔÐs   ¨0A%Á%A)	Á,A)	c                 ó   — | j         }|j        dk    rt          d¦  «        ‚|                      t	          |¦  «        t	          |¦  «        z   ¦  «        }t          ¦   «         rd}nd}dt          j                             t          j         	                    |d         ¦  «        ¦  «        d         dd…         z   }	|	d	z   |z   d
z   |z   }
|
dz   }|
dz   }|
dz   }t          j         
                    ||¦  «        }t          j         
                    ||¦  «        }t          j         
                    ||¦  «        }t          j                             |¦  «        r||fS |rdgt	          |¦  «        z   dgz   }|                      |||t	          |¦  «        dd|z   ddddgz   ¬¦  «         t          ¦   «         rd}nd}d|z   d|z   |g}|j        s|                     ¦   «          |                     |j        g|z   ¦  «         ||fS )zeCreate a wrapper shared library for the given objects

        Return an MSVC-compatible lib
        rz   zThis method only supports MSVCÚ	win_amd64r   rn   r   Né   ú.z
.gfortran-z.dllz.defz.libz-Wl,--whole-archivez-Wl,--no-whole-archivez-Wl,--allow-multiple-definitionz-Wl,--output-def,z-Wl,--export-all-symbolsz-Wl,--enable-auto-importz-staticz-mlong-double-64)Ú
output_dirÚextra_postargsz/MACHINE:X64z/MACHINE:X86z/def:z/OUT:)r€   r�   r(   ré   Úlistr   rM   r^   ÚsplitextÚbasenamerp   r   Úlink_shared_objectÚinitializedÚ
initializeÚspawnrn   )r)   Úobjectsrî   Úextra_dll_dirÚchained_dllsÚ
is_archiver€   Úobject_hashÚtagrò   Ú	root_nameÚdll_nameÚdef_nameÚlib_nameÚdll_pathÚdef_pathÚlib_pathÚ	specifierÚlib_argss                      r   Ú_link_wrapper_libz Gnu95FCompiler._link_wrapper_libž  s5  € ð ”_ˆ
ØÔ# vÒ-Ð-ÝÐ=Ñ>Ô>Ð>à×&Ò&¥t¨G¡}¤}µt¸LÑ7IÔ7IÑ'IÑJÔJˆå‰:Œ:ð 	ØˆCˆCàˆCà�2œ7×+Ò+ÝŒG×Ò˜W QœZÑ(Ô(ñ*ô *Ø*+ô-Ø-/¨a¨Rô1ñ 1ˆà˜s‘N [Ñ0°<Ñ?À#ÑEˆ	Ø˜vÑ%ˆØ˜vÑ%ˆØ˜vÑ%ˆÝ”7—<’< ¨xÑ8Ô8ˆÝ”7—<’< 
¨HÑ5Ô5ˆÝ”7—<’< 
¨HÑ5Ô5ˆåŒ7�>Š>˜(Ñ#Ô#ð 	&à˜XÐ%Ð%àð 	3Ø-Ð.µ°g±´Ñ>Ø0Ð1ñ2ˆGà×ÒØØØ$Ý Ñ-Ô-Ø1Ø# hÑ.Ø*Ø*ØØ"ð1ñ ð	 	 ñ 	ô 	ð 	õ ‰:Œ:ð 	'Ø&ˆIˆIà&ˆIð ˜hÑ&¨°(Ñ(:¸IÐFˆØÔ%ð 	$Ø×!Ò!Ñ#Ô#Ð#Ø×Ò˜*œ.Ð)¨HÑ4Ñ5Ô5Ð5à˜Ð!Ð!r   c                 ó   — |j         dvS )N)rz   )r�   )r)   Úcompilers     r   Úcan_ccompiler_linkz!Gnu95FCompiler.can_ccompiler_linkÜ  s   € àÔ%¨ZÐ7Ð7r   c                 óü  — | j         j        dk    rÞg }g }|D ]T}|                     ¦   «                              d¦  «        r|                     |¦  «         Œ?|                     |¦  «         ŒUg }g }|ddd…         D ]L}	|                      |	g|||d¬¦  «        \  }
}|                     d|
¦  «         |                     d|¦  «         ŒM|s|S |                      ||||d¬¦  «        \  }
}|
g|z   S t          d	¦  «        ‚)
z†
        Convert a set of object files that are not compatible with the default
        linker, to a file that is compatible.
        rz   z.aNéÿÿÿÿT)rù   rú   r   FzUnsupported C compiler)r€   r�   ÚlowerÚendswithrV   r  rÌ   r(   )r)   r÷   rî   rø   ÚarchivesÚplain_objectsÚobjÚchained_libsrù   Úarchivern   Údlls               r   Úwrap_unlinkable_objectsz&Gnu95FCompiler.wrap_unlinkable_objectsà  sU  € ð
 Œ?Ô(¨FÒ2Ð2ð ˆHØˆMØð .ð .�Ø—9’9‘;”;×'Ò'¨Ñ-Ô-ð .Ø—O’O CÑ(Ô(Ð(Ð(à!×(Ò(¨Ñ-Ô-Ð-Ð-àˆLØˆLØ# D D b Dœ>ð ,ð ,�Ø×1Ò1Ø�IØØ!Ø!-Ø#ð 2ñ %ô %‘��Sð ×#Ò# A sÑ+Ô+Ð+Ø×#Ò# A sÑ+Ô+Ð+Ð+à ð $Ø#Ð#à×-Ò-ØØØØ)Ø ð .ñ "ô "‰HˆC�ð �5˜<Ñ'Ð'åÐ5Ñ6Ô6Ð6r   )r    r¡   r¢   r�   r£   r¤   r0   r¥   r¦   r§   r¨   r   r   r    rV   r   r«   rD   r¾   rÁ   rZ   rx   rƒ   rÆ   ré   r  r	  r  r   r   r   r
   r
   
  sÈ  € € € € € Ø€MØ%ÐØ+€Kðð ð ð& '¨Ð.Ðà! >Ð2ð4ð 4ð 4ð4ð 4ð 4ð4ð 4ð 4à1Ð1Ð1Ø ˜Ø"˜Ø ˜ðð €Kð ÐØ Ðà
„|×ÒÐ/Ñ0Ô0ð 3Ø�KÔ ×'Ò'¨Ñ4Ô4Ð4Ø ˆ8Ô Ñ"Ô" 1Ô% b q bÔ)¨TÒ1Ð1Ø`ð 3ð 3�Ø˜CÔ ×'Ò'¨	Ñ2Ô2Ð2Ð2à
€Cðð ð ð ð ð ðð ð ðð ð ð&ð ð ð$ð ð ð$ ð  ð  ð<"ð <"ð <"ð|8ð 8ð 8ð+7ð +7ð +7ð +7ð +7r   c                 óÜ  — | dd…         }t          j        d¬¦  «        \  }}t          j        |¦  «         	 t          j                             |¦  «        }t          j                             |¦  «        d         dz   }	 |                     d|d|g¦  «         t          |t          t          |¬¦  «        }|                     ¦   «          |j        dk    t          j                             |¦  «        rt          j        |¦  «         t          j        |¦  «         S # t          j                             |¦  «        rt          j        |¦  «         w w xY w# t          j        |¦  «         w xY w)	z7Return true if the architecture supports the -arch flagNz.f)Úsuffixr   z.orŒ   z-c)rÐ   rÕ   Úcwd)ÚtempfileÚmkstemprM   Úcloser^   r_   rñ   rU   r   r   r   rÒ   Ú
returncoderq   rË   )r¼   r”   ÚnewcmdÚfidÚfilenamert   rb   rÔ   s           r   r»   r»     s=  € à���ŒV€FÝÔ$¨DÐ1Ñ1Ô1�M€CˆÝ„HˆS�M„M€MðÝŒG�OŠO˜HÑ%Ô%ˆÝ”×!Ò! (Ñ+Ô+¨AÔ.°Ñ5ˆð	"Ø�MŠM˜7 D¨$°Ð9Ñ:Ô:Ð:Ý�f¥VµD¸aÐ@Ñ@Ô@ˆAØ�MŠM‰OŒOˆOØ”< 1Ò$åŒw�~Š~˜fÑ%Ô%ð "Ý”	˜&Ñ!Ô!Ð!å
Œ	�(ÑÔÐÐøõ Œw�~Š~˜fÑ%Ô%ð "Ý”	˜&Ñ!Ô!Ð!Ð!ð"øøøøõ 	Œ	�(ÑÔÐÐøøøs%   ¸AE Â AD Ã3E Ä6EÅE ÅE+Ú__main__)Úlog)Úcustomized_fcompilerrI   r   Úg95)#r$   rM   r   rR   r   r  rÚ   rß   r\   r   r   r   Únumpy.distutils.exec_commandr   Únumpy.distutils.fcompilerr   Údistutils.versionr   Ú	compilersr�   rÓ   r   r	   r
   r»   r    Ú	distutilsr   Únumpy.distutilsr!  Úset_verbosityÚprintrˆ   Ú	ExceptionÚer   r   r   ú<module>r-     s0  ðØ 	€	€	€	Ø 	€	€	€	Ø 
€
€
€
Ø €€€Ø €€€Ø €€€Ø €€€Ø €€€Ø Ð Ð Ð Ø *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ø HÐ HÐ HÐ HÐ HÐ HØ /Ð /Ð /Ð /Ð /Ð /Ø *Ð *Ð *Ð *Ð *Ð *àÐ-Ð.€	àˆ2Œ:Ð2Ñ3Ô3€ð
Mð Mð Mðm'ð m'ð m'ð m'ð m'�9ñ m'ô m'ð m'ð`A7ð A7ð A7ð A7ð A7�\ñ A7ô A7ð A7ðHð ð ð( ˆzÒÐØÐÐÐÐÐØ4Ð4Ð4Ð4Ð4Ð4Ø€CÔ�aÑÔÐà	€EÐ
Ð
˜uÑ
%Ô
%×
1Ò
1Ñ
3Ô
3Ñ4Ô4Ð4ðØˆÐ"Ð" 5Ñ)Ô)×5Ò5Ñ7Ô7Ñ8Ô8Ð8Ð8Ð8øØð ð ð Øˆˆa‰Œˆˆˆˆˆˆˆøøøøðøøøð Ðs   Ã &C( Ã(DÃ-C>Ã>D