§
    ‹ã÷c| ã            
      ó  — d dl mZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ dd	lm	Z	 dd
lm
Z
 ddlmZ ddlmZmZ ddlmZ ddlmZmZmZmZmZmZmZmZmZ ddlmZmZ ddlmZ ddlmZ ddlmZm Z m!Z!m"Z"m#Z# ddlm$Z$m%Z%m&Z&m'Z'm(Z(m)Z) ddlm*Z*m+Z+m,Z,m-Z- ddlm.Z.m/Z/ ddlm0Z0m1Z1m2Z2m3Z3 ddlm4Z4 ddl5m6Z6m7Z7m8Z8m9Z9m:Z: ddl;m<Z< ddl=m>Z> ddlm?Z@ ddlmAZB ddlCmDZD ddlEmFZF dd l?mGZGmHZHmIZImJZJmKZKmLZL dd!lMmNZNmOZOmPZPmQZQmRZRmSZSmTZTmUZUmVZVmWZWmXZXmYZYmZZZm[Z[m\Z\m]Z]m^Z^m_Z_m`Z`maZambZbmcZcmdZdmeZemfZfmgZgmhZhmiZimjZjmkZkmlZlmmZmmnZnmoZompZpmqZq dd"lmrZs d d#ltmuZu d d$lvmwZw d d%lxZxd d%lyZyd d%lzZzd 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‚ejƒ        r¡d d%l„Z„d d&l…m†Z† dd'lm‡Zˆ dd(l=m‰Z‰ dd)lŠm‹Z‹mŒZŒm�Z� dd*lmŽZŽ ej�        ej�        ej‘        ej’        ej“        ej”        ej•        ej‘        ej–        e—f	         Z˜ej�        ej�        ej‘        ej’        ej”        ej•        ej–        ej‘        ej™        f         Zšd@d/„Z›dAdBd6„Zœ G d7„ d8¦  «        Z�ejž        ejŸ        z  Z e ej¡        z  ej¢        z  d9hz  Z£ G d:„ d;ew¦  «        Z¤h d<£Z¥d=Z¦ G d>„ d?e e¦  «        Z§d%S )Cé    )Úannotationsé   )Úmparser)Úenvironment)Úcoredata)Údependencies)Úmlog)Úbuild)Úoptinterpreter)Ú	compilers)Ú	envconfig)ÚwrapÚWrapMode)Úmesonlib)	ÚMesonBugExceptionÚHoldableObjectÚFileModeÚMachineChoiceÚ	OptionKeyÚlistifyÚextract_as_listÚhas_path_sepÚ
PerMachine)ÚExternalProgramÚNonExistingExternalProgram)Ú
Dependency)ÚDepFile)ÚContainerTypeInfoÚInterpreterBaseÚ	KwargInfoÚtyped_kwargsÚtyped_pos_args)Ú	noPosargsÚnoKwargsÚpermittedKwargsÚnoArgsFlatteningÚnoSecondLevelHolderResolvingÚunholder_return)ÚInterpreterExceptionÚInvalidArgumentsÚInvalidCodeÚSubdirDoneRequest)ÚDisablerÚdisablerIfNotFound)Ú
FeatureNewÚFeatureDeprecatedÚFeatureNewKwargsÚFeatureDeprecatedKwargs)ÚObjectHolder)ÚExtensionModuleÚModuleObjectÚMutableModuleObjectÚNewExtensionModuleÚNotFoundExtensionModule)ÚCMakeInterpreter)ÚExecutableSerialisationé   )Úinterpreterobjects)Úcompiler)Ú	MesonMain)ÚDependencyFallbacksHolder)ÚSubprojectHolderÚTestÚ
RunProcessÚextract_required_kwargÚextract_search_dirsÚNullSubprojectInterpreter)$Ú
COMMAND_KWÚCT_BUILD_ALWAYSÚCT_BUILD_ALWAYS_STALEÚCT_BUILD_BY_DEFAULTÚCT_INPUT_KWÚCT_INSTALL_DIR_KWÚMULTI_OUTPUT_KWÚ	OUTPUT_KWÚDEFAULT_OPTIONSÚDEPENDENCIES_KWÚ
DEPENDS_KWÚDEPEND_FILES_KWÚ
DEPFILE_KWÚDISABLER_KWÚD_MODULE_VERSIONS_KWÚENV_KWÚENV_METHOD_KWÚENV_SEPARATOR_KWÚINCLUDE_DIRECTORIESÚ
INSTALL_KWÚINSTALL_DIR_KWÚINSTALL_MODE_KWÚLINK_WITH_KWÚLINK_WHOLE_KWÚCT_INSTALL_TAG_KWÚINSTALL_TAG_KWÚLANGUAGE_KWÚ	NATIVE_KWÚPRESERVE_PATH_KWÚREQUIRED_KWÚ
SOURCES_KWÚVARIABLES_KWÚTEST_KWSÚNoneTypeÚin_set_validatorÚenv_convertor_with_method)Ú
primitives)ÚPath)ÚEnumN)ÚLiteral)Úkwargs)ÚBackend)ÚInterpreterObjectÚTYPE_varÚTYPE_kwargs)ÚOverrideProgramÚvalueú)T.Union[T.List, str, mesonlib.File, None]ÚreturnúT.Optional[str]c                óž   — t          | t          ¦  «        r7t          | ¦  «        dk    rdS t          | d         t          j        ¦  «        sdS d S )Nr;   z,when passed as array must have a length of 1r   z(when passed as array must contain a File)Ú
isinstanceÚlistÚlenr   ÚFile)rt   s    úD/usr/lib/python3/dist-packages/mesonbuild/interpreter/interpreter.pyÚ_project_version_validatorr~   ~   sL   € Ý�%�ÑÔð >Ýˆu‰:Œ:˜Š?ˆ?ØAÐAÝ˜E !œH¥h¤mÑ4Ô4ð 	>Ø=Ð=Øˆ4ó    FÚargsúT.List[T.Any]ÚquoteÚboolÚstrc                óÜ  — t          | t          ¦  «        r"dd                     d„ | D ¦   «         ¦  «        z  S t          | t          ¦  «        r4dd                     d„ |                      ¦   «         D ¦   «         ¦  «        z  S t          | t
          ¦  «        r| rdndS t          | t          ¦  «        rt          | ¦  «        S t          | t          ¦  «        r
|rd| › d�n| S t          d	¦  «        ‚)
Nz[%s]ú, c                ó.   — g | ]}t          |d ¦  «        ‘ŒS ©T©ÚstringifyUserArguments©Ú.0Úxs     r}   ú
<listcomp>z*stringifyUserArguments.<locals>.<listcomp>‰   s#   € Ð"QÐ"QÐ"QÀqÕ#9¸!¸TÑ#BÔ#BÐ"QÐ"QÐ"Qr   z{%s}c           	     óx   — g | ]7\  }}d                       t          |d¦  «        t          |d¦  «        ¦  «        ‘Œ8S )z{} : {}T)ÚformatrŠ   ©rŒ   ÚkÚvs      r}   rŽ   z*stringifyUserArguments.<locals>.<listcomp>‹   sY   € ð  #Pð  #Pð  #PÑz~Ðz{Ð}~ 9×#3Ò#3Õ4JÈ1ÈdÑ4SÔ4SÕUkÐlmÐosÑUtÔUtÑ#uÔ#uð  #Pð  #Pð  #Pr   ÚtrueÚfalseú'zVFunction accepts only strings, integers, bools, lists, dictionaries and lists thereof.)	ry   rz   ÚjoinÚdictÚitemsrƒ   Úintr„   r*   )r€   r‚   s     r}   rŠ   rŠ   ‡   s%  € Ý�$�ÑÔð 	.Ø˜Ÿ	š	Ð"QÐ"QÈDÐ"QÑ"QÔ"QÑRÔRÑRÐRÝ	�D�$Ñ	Ô	ð .Ø˜Ÿ	š	ð  #Pð  #Pð  CG÷  CMò  CMñ  COô  COð  #Pñ  #Pô  #Pñ  Qô  Qñ  Qð  	QÝ	�D�$Ñ	Ô	ð .ØÐ*ˆvˆv 7Ð*Ý	�D�#Ñ	Ô	ð .Ý�4‰yŒyÐÝ	�D�#Ñ	Ô	ð .Ø#Ð-ˆ{�4ˆ{ˆ{ˆ{ˆ{¨Ð-Ý
ÐsÑ
tÔ
tÐtr   c                  ó*   — e Zd Zdd„Zdd„Zd„ Zd„ ZdS )ÚSummaryÚproject_namer„   Úproject_versionc                ól   — || _         || _        t          j        t          ¦  «        | _        d| _        d S ©Nr   )r�   rž   ÚcollectionsÚdefaultdictr˜   ÚsectionsÚmax_key_len)Úselfr�   rž   s      r}   Ú__init__zSummary.__init__•   s2   € Ø(ˆÔØ.ˆÔÝ#Ô/µÑ5Ô5ˆŒØˆÔÐÐr   ÚsectionÚvaluesúT.Dict[str, T.Any]Úbool_ynrƒ   Úlist_seprw   Ú
subprojectrv   ÚNonec                ó¬  — |                      ¦   «         D �]=\  }}|| j        |         v rt          d|›d|›�¦  «        ‚g }t          |¦  «        D �]Ç}	t	          |	t
          ¦  «        r@|r>|                     |	rt          j        d¦  «        nt          j	        d¦  «        ¦  «         ŒXt	          |	t          t          t
          f¦  «        r#|                     t          |	¦  «        ¦  «         Œ�t	          |	t          t          f¦  «        r>t          j        dd|¦  «         |                     |	                     ¦   «         ¦  «         Œ÷t	          |	t"          ¦  «        r?t          j        dd|¦  «         |                     t          j	        d¦  «        ¦  «         �ŒKt	          |	t$          j        ¦  «        r?t          j        d	d
|¦  «         |                     |	                     ¦   «         ¦  «         �Œ¤d}
t          |
                     ||¦  «        ¦  «        ‚||f| j        |         |<   t-          | j        t1          |¦  «        ¦  «        | _        �Œ?d S )NzSummary section z already have key ÚYESÚNOz)dependency or external program in summaryú0.57.0zdisabler in summaryú0.64.0zfeature option in summaryú0.58.0ztSummary value in section {!r}, key {!r}, must be string, integer, boolean, dependency, disabler, or external program)r™   r£   r)   r   ry   rƒ   Úappendr	   ÚgreenÚredr„   rš   r   r   r/   Ú
single_useÚsummary_valuer-   r   Ú
UserOptionÚprintable_valuer�   Úmaxr¤   r{   )r¥   r§   r¨   rª   r«   r¬   r’   r“   Úformatted_valuesÚiÚms              r}   Úadd_sectionzSummary.add_section›   s=  € à—L’L‘N”Nð 	=ñ 	=‰DˆAˆqØ�D”M 'Ô*Ð*Ð*Ý*Ð+`¸gÐ+`Ð+`Ð[\Ð+`Ð+`ÑaÔaÐaØ!ÐÝ˜Q‘Z”Zð Eñ E�Ý˜a¥Ñ&Ô&ð E¨7ð EØ$×+Ò+ÀÐ,V­D¬J°uÑ,=Ô,=Ð,=ÍÌÐQUÉÌÑWÔWÐWÐWÝ ¥C­­dÐ#3Ñ4Ô4ð EØ$×+Ò+­C°©F¬FÑ3Ô3Ð3Ð3Ý ¥OµZÐ#@ÑAÔAð EÝÔ)Ð*UÐW_ÐakÑlÔlÐlØ$×+Ò+¨A¯OªOÑ,=Ô,=Ñ>Ô>Ð>Ð>Ý ¥8Ñ,Ô,ð EÝÔ)Ð*?ÀÈ:ÑVÔVÐVØ$×+Ò+­D¬H°T©N¬NÑ;Ô;Ð;Ñ;Ý ¥8Ô#6Ñ7Ô7ð EÝÔ)Ð*EÀxÐQ[Ñ\Ô\Ð\Ø$×+Ò+¨A×,=Ò,=Ñ,?Ô,?Ñ@Ô@Ð@Ñ@ð O�AÝ.¨q¯xªx¸ÀÑ/CÔ/CÑDÔDÐDØ)9¸8Ð(DˆDŒM˜'Ô" 1Ñ%Ý" 4Ô#3µS¸±V´VÑ<Ô<ˆDÔÑð-	=ð 	=r   c                óB  — t          j        | j        t          j        | j        ¦  «        ¦  «         | j                             ¦   «         D ]¿\  }}t          j        d¦  «         |r't          j        dt          j        |¦  «        ¦  «         |                     ¦   «         D ]h\  }}|\  }}| j        t          |¦  «        z
  }|rdnd}t          j        d|d|z  z   dz   |¬¦  «         | j        dz   }|  
                    |||¦  «         ŒiŒÀt          j        d¦  «         d S )NÚ ú z   ú:)Úendé   )r	   Úlogr�   Únormal_cyanrž   r£   r™   Úboldr¤   r{   Ú
dump_value)	r¥   r§   r¨   r’   r“   r«   ÚpaddingrÄ   Úindents	            r}   ÚdumpzSummary.dumpµ   s  € ÝŒ�Ô"¥DÔ$4°TÔ5IÑ$JÔ$JÑKÔKÐKØ#œ}×2Ò2Ñ4Ô4ð 
	5ð 
	5‰OˆG�VÝŒH�R‰LŒLˆLØð 2Ý”˜�dœi¨Ñ0Ô0Ñ1Ô1Ð1ØŸš™œð 5ð 5‘��1Ø‘��8ØÔ*­S°©V¬VÑ3�ØÐ&�c�c B�Ý”˜ ! c¨G¡mÑ"3°cÑ"9¸sÐCÑCÔCÐCØÔ)¨AÑ-�Ø—’  8¨VÑ4Ô4Ð4Ð4ð5õ 	Œ�‰Œˆˆˆr   c                ó†  — dd|z  z   }|€t          j        |d|iŽ d S t          j        ¦   «         j        }g }|}|                     ¦   «         |z   }|D ]\}t          |¦  «        t          |¦  «        z   }	|r||	z   |k    rt          j        |||dœŽ |}g }|                     |¦  «         ||	z  }Œ]t          j        |d|iŽ d S )Nú
rÂ   Úsep)rÏ   rÄ   )r	   rÆ   ÚshutilÚget_terminal_sizeÚcolumnsÚrstripr{   r´   )
r¥   Úarrr«   rË   Ú	lines_sepÚmax_lenÚlineÚline_lenr“   Úv_lens
             r}   rÉ   zSummary.dump_valueÄ   sò   € Ø˜3 ™<Ñ'ˆ	ØÐÝŒH�cÐ)˜yÐ)Ð)Ð)ØˆFÝÔ*Ñ,Ô,Ô4ˆØˆØˆØ—O’OÑ%Ô%¨	Ñ1ˆ	Øð 	ð 	ˆAÝ˜‘F”F�S ™]œ]Ñ*ˆEØð ˜ 5Ñ(¨7Ò2Ð2Ý”˜$ H°)Ð<Ð<Ð<Ð<Ø!�Ø�Ø�KŠK˜‰NŒNˆNØ˜ÑˆHˆHÝŒ�$Ð%˜HÐ%Ð%Ð%Ð%Ð%r   N)r�   r„   rž   r„   )r§   r„   r¨   r©   rª   rƒ   r«   rw   r¬   r„   rv   r­   )Ú__name__Ú
__module__Ú__qualname__r¦   r¿   rÌ   rÉ   © r   r}   rœ   rœ   ”   sZ   € € € € € ðð ð ð ð=ð =ð =ð =ð4ð ð ð&ð &ð &ð &ð &r   rœ   Útarget_typec                  ó   — e Zd ZdZdZdS )ÚInterpreterRuleRelaxationzß Defines specific relaxations of the Meson rules.

    This is intended to be used for automatically converted
    projects (CMake subprojects, build system mixing) that
    generate a Meson AST via introspection, etc.
    r;   N)rÚ   rÛ   rÜ   Ú__doc__Ú ALLOW_BUILD_DIR_FILE_REFFERENCESrÝ   r   r}   rà   rà   ã   s"   € € € € € ðð ð ()Ð$Ð$Ð$r   rà   >   ÚmainÚmethodÚnativeÚstaticÚmodulesÚversionÚfallbackÚlanguageÚrequiredÚ
cmake_argsÚ
componentsÚinclude_typeÚallow_fallbackÚdefault_optionsÚprivate_headersÚoptional_modulesÚcmake_module_pathÚnot_found_messageÚcmake_package_versionzíYou should add the boolean check kwarg to the run_command call.
         It currently defaults to false,
         but it will default to true in future releases of meson.
         See also: https://github.com/mesonbuild/meson/issues/9300c                  óÞ%  ‡ — e Zd Z	 	 	 	 	 	 	 	 	 	 �då�dæˆ fd„Z�dçd„Z�dèd„Z�dèd„Z�dèd„Z�déd$„Z�dêd'„Z	�dëd)„Z
�dìd,„Z�díd.„Z�dèd/„Z ed0e¦  «         ed0 ej        d1¬2¦  «         ej        d1¬2¦  «        ¦  «        e�dîd:„¦   «         ¦   «         ¦   «         Z ed;e¬<¦  «        e�dïdA„¦   «         ¦   «         Ze edB edC eee¦  «        dDg ¬E¦  «         ej        dFdG¬H¦  «         ej        dG¬2¦  «         edI eee¦  «        dDg ¬E¦  «        eee e j        dJ¬2¦  «        e! e"j        dKedLi¬M¦  «         edNee#f¦  «        ¦  «        dO„ ¦   «         ¦   «         Z$ edPe%eg¬Q¦  «        e�dðdS„¦   «         ¦   «         Z&dT„ Z' edUe(j)        e*e+j,        e-j.        efe(j)        e*e+j,        e-j.        ef¬<¦  «         edU edVe%e#fdW¬2¦  «         edXe%dDdW¬Y¦  «         e/j        dZ¬2¦  «        ¦  «        �dñd^„¦   «         ¦   «         Z0	 �dò�dód`„Z1da„ Z2db„ Z3 ed	e¦  «         ed	e e4j        dc¬2¦  «         edN eee¦  «        g dD¬d¦  «        ¦  «        �dôdh„¦   «         ¦   «         Z5	 	 �dõ�dödn„Z6�d÷dr„Z7	 	 	 	 �dø�dùdw„Z8�dúdy„Z9�dûd|„Z: ed}e¦  «        e�düd„¦   «         ¦   «         Z; ed€e<g¬Q¦  «        e�dýdƒ„¦   «         ¦   «         Z=�dèd„„Z> ed…ee¬<¦  «         ed…e4 ed†ee#f¦  «         edNee-j.        e#efd‡e?dˆ„ ¬‰¦  «         edŠ eee¦  «        d‹gdD¬d¦  «         eded¬Œ¦  «        ¦  «        �dþd�„¦   «         ¦   «         Z@ ed� ed‘e%e#fdK¬2¦  «        e¦  «         ed�e¬<¦  «        �dÿd“„¦   «         ¦   «         ZAeBe�d d”„¦   «         ¦   «         ZCd•„ ZDeB eEd–d—¦  «         ed–ee<feFg¬Q¦  «         ed– ed˜ed¬Œ¦  «         ed™e%d¬Œ¦  «         edšee#fdK¬2¦  «        ¦  «        �dd�„¦   «         ¦   «         ¦   «         ¦   «         ZG�ddž„ZH�dèdŸ„ZIeB eEd d¡¦  «        ed¢„ ¦   «         ¦   «         ¦   «         ZJeBed£„ ¦   «         ¦   «         ZKeB eEd¤d¥¦  «        ed¦„ ¦   «         ¦   «         ¦   «         ZLeed§„ ¦   «         ¦   «         ZM�dd¬„ZN�dd­„ZO�dd®„ZP�dd²„ZQ�dd¶„ZR�ddº„ZS�dd»„ZT�d	d¿„ZU�d
dÁ„ZVeWjX        dDdDdddf�ddÈ„ZY�ddÊ„ZZ�ddÌ„Z[ edÍee-j.        fdÎ¬Ï¦  «         edÍ ej        dÐ¬2¦  «        e\e edÑ eee¦  «        g dDd—¬Ò¦  «         edN eee¦  «        g dDdÓ¬Ò¦  «        ¦  «        e�dd×„¦   «         ¦   «         ¦   «         Z]dØ„ Z^ e_dÙdÚdÛg¦  «         e_dÙdLdÜg¦  «         e_dÙdKdÝg¦  «         e_dÙdÓdÞg¦  «         e_dÙdZg dß¢¦  «         e_dÙdÐdàg¦  «         e_dÙdádog¦  «         e_dÙdcdsg¦  «        e e`ea¦  «         edÙedÎ¬Ï¦  «        �ddã„¦   «         ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         Zb eEdàd¡¦  «        eedä„ ¦   «         ¦   «         ¦   «         Zc e_dådædçg¦  «         e_dådLdèg¦  «         eddådLdégdê¬ë¦  «         e`e(je        ¦  «        dì„ ¦   «         ¦   «         ¦   «         ¦   «         Zf e`e(jg        ¦  «        dí„ ¦   «         Zh e`e(ji        ¦  «        dî„ ¦   «         Zj e`ek¦  «        dï„ ¦   «         Zl eEdðdñ¦  «         e`e(jm        ¦  «        dò„ ¦   «         ¦   «         Zn e`ek¦  «        dó„ ¦   «         Zo e`e(jp        ¦  «        dô„ ¦   «         Zq e_dõdádöd÷g¦  «         e`er¦  «        dø„ ¦   «         ¦   «         Zse edù etj        dD¬ú¦  «        eu edû eeee(jv        e(jw        e(jx        e*e-j.        f¦  «        dDg ¬E¦  «         edËee#f¦  «         edüedý¬Œ¦  «        ¦  «        �d�d„¦   «         ¦   «         Zy eE�ddJ¦  «        ee�d�d„¦   «         ¦   «         ¦   «         Zze{�d�d
„¦   «         Z| e�deg¬Q¦  «         e�de}e~ee€ete�e‚eueƒe„e… e/j        dÚ¬2¦  «        e† e‡j        dW¬2¦  «         e�de%dd1¬Y¦  «         edXe%d¬Œ¦  «         e�de%d�d¬Y¦  «        ¦  «        �d�d„¦   «         ¦   «         Zˆ e�de¦  «         e�de}eƒ e/j        dÚ¬2¦  «        ¦  «        �d�d„¦   «         ¦   «         Z‰ eE�ddÓ¦  «         e�dee(jŠ        dÎ¬Ï¦  «        e�d�d„¦   «         ¦   «         ¦   «         Z‹ e�de(j)        e*f¦  «         e�d e�d eeed�¬¦  «        dDdD�¬¦  «         e�d eeed�¬¦  «        dDdD�¬¦  «        e…eƒ edXe%d�d¬Y¦  «        ¦  «        �d�d"„¦   «         ¦   «         ZŒ e�d#ee(j)        e(j�        e*e-j.        f¦  «         e�d#geŽ¢R Ž �d�d&„¦   «         ¦   «         Z� e�d'ee(j)        e(j�        e*e-j.        f¦  «         e�d'geŽ¢ e�d(e%dD¬Œ¦  «        ‘R Ž �d�d*„¦   «         ¦   «         Z��d�d-„Z‘�d�d0„Z’�d�d4„Z“ e�d5ee-j.        f¬<¦  «         e�d5e” edee#f¦  «         e‡j        dW¬2¦  «        e•¦  «        �d�d9„¦   «         ¦   «         Z– e�d:ee-j.        f¬<¦  «         e�d: e�d;ee#f�d<¬2¦  «         e‡j        dW¬2¦  «        e•¦  «        �d�d?„¦   «         ¦   «         Z— eE�d@�dA¦  «         e�d@e‡ e�dBee#fdG¬2¦  «        ¦  «        �d�dC„¦   «         ¦   «         Z˜ eE�dD�dE¦  «         e�dFe¦  «         e�dD e�dGedD¬ú¦  «         e�dHedD¬ú¦  «        e™¦  «        �d�dJ„¦   «         ¦   «         ¦   «         Zš eE�dKdG¦  «         e�dKeFe<g¬Q¦  «        eeB�d �dN„¦   «         ¦   «         ¦   «         ¦   «         Z› ede¦  «         ed e�dO eeeF¦  «        �dP„ d¡g dD�¬Q¦  «        ¦  «        �d!�dS„¦   «         ¦   «         Zœ�d"�dU„Z��d#�dX„Zž e�dYee-j.        f¬<¦  «         e�dY e�dZ eeee-j.        f¦  «        dDg ¬E¦  «         e�d[ eee¦  «        g dDdJ¬Ò¦  «         e‡j        dc¬2¦  «         e™j        �dA¬2¦  «        e• e”j        �d\¬2¦  «        ¦  «        �d$�d_„¦   «         ¦   «         ZŸ	 	 	 �d%�d&�de„Z  e�dfe¦  «         e�df e�dHedD¬ú¦  «         e�dge%d¬Œ¦  «         e�dh eee¦  «        g dDdæ�di„ �¬j¦  «         e�dk eee¦  «        g dDdæ�dl„ �¬j¦  «         e‡j        dc¬2¦  «         e™j        �dA¬2¦  «        ¦  «        �d'�do„¦   «         ¦   «         Z¡e e�dp e…j        dÓ¬2¦  «         e‡j        �dq¬2¦  «         e™j        �dA¬2¦  «         edXe%d�dr¬Y¦  «         edû eee(j)        e*e+j,        e-j.        efd�¬¦  «        e#fdD�¬s¦  «         e�dt ee<ee¢e%f¦  «        e(j£        e#f¦  «         e�due%ddW�d\�dv�¬w¦  «         e�dxe�dydW¬Y¦  «         e�dze�d{dJ e¤h �d|£¦  «        �¬}¦  «         e�d~ eee-j.        ef¦  «        dDg ¬E¦  «         e�de%e#fdZ¬2¦  «         e�dHee%fd�d€„ �¬�¦  «        e¥ e�d‚e�dƒdW e¤�dƒ�d„h¦  «        �¬}¦  «        ¦  «        �d(�d‡„¦   «         ¦   «         Z¦�d)�d*�dŠ„Z§ e�dˆe¬<¦  «         e�dˆ e�d‹e%d¬Œ¦  «        ¦  «        �d+�dŽ„¦   «         ¦   «         Z¨�dò�d,�d�„Z© e�d‘e¦  «         e�d‘ e�d’ eeee*f¦  «        dDg ¬E¦  «         e�d“e%d¬Œ¦  «         e�d”e¢dÎ¬Œ¦  «         e�d• eee¦  «        dDg dÚ�¬–¦  «         e�d—e%ddÐ¬Y¦  «        e/¦  «        �d-�d™„¦   «         ¦   «         Zª e�dše¬<¦  «         e�dše\e«¦  «        �d.�dœ„¦   «         ¦   «         Z¬ e�d�e¬<¦  «         e�dše\e«¦  «        �d.�dž„¦   «         ¦   «         Z­ e�dŸe¬<¦  «         e�dŸe\e«¦  «        �d.�d „¦   «         ¦   «         Z® e�d¡e¬<¦  «         e�dše\e«¦  «        �d.�d¢„¦   «         ¦   «         Z¯ eE�d£d¥¦  «         e�d£e°j±        ¬<¦  «         e�d£e\e«¦  «        �d/�d¥„¦   «         ¦   «         ¦   «         Z²�d0�d¦„Z³�d1�d©„Z´�d2�d«„Zµ�d3�d­„Z¶eB e�d®eee<fg¬Q¦  «         e�d®e· e¸j        dG¬2¦  «        ¦  «        �d4�d°„¦   «         ¦   «         ¦   «         Z¹ e�d±edÎ¬Ï¦  «        e�d5�d²„¦   «         ¦   «         Zº�dèˆ f�d³„Z»�dè�d´„Z¼�dè�dµ„Z½�d¶„ Z¾e¿jÀ        �d6�d7�dº„¦   «         ZÁe¿jÀ        �dò�d8�d»„¦   «         ZÁe¿jÀ        �d9�d¾„¦   «         ZÁe¿jÀ        �d6�d:�dÁ„¦   «         ZÁ�d6�d:�dÂ„ZÁe{�d;�dÃ„¦   «         ZÂ�d<�dÆ„ZÃ eE�dÇdJ¦  «        �dÈ„ ¦   «         ZÄ�dÉ„ ZÅ�d �dÊ„ZÆ�dË„ ZÇ�dÌ„ ZÈ�dÍ„ ZÉ�d=�dÐ„ZÊ�d>�dÑ„ZË e�dÒeeF¦  «        eeBeÌ�d?�dÔ„¦   «         ¦   «         ¦   «         ¦   «         ZÍ e�dÕeeÎfeFg¬Q¦  «        eeBeÏ�d@�dØ„¦   «         ¦   «         ¦   «         ¦   «         ZÐ e�dÙe¦  «        e�dA�dÚ„¦   «         ¦   «         ZÑ eE�dÛ�dA¦  «         e�dÛe¦  «        e�dB�dÜ„¦   «         ¦   «         ¦   «         ZÒe{�dC�dÝ„¦   «         ZÓ eE�dÞdÓ¦  «         e�dÞeF¦  «        e�dD�dà„¦   «         ¦   «         ¦   «         ZÔe eE�dá�d<¦  «         e�dáe¢e¢e¢g¬Q¦  «        �dE�dä„¦   «         ¦   «         ¦   «         ZÕˆ xZÖS (F  ÚInterpreterNrÁ   ÚsubprojectsFÚ_buildúbuild.BuildÚbackendúT.Optional[Backend]r¬   r„   ÚsubdirÚsubproject_dirÚdefault_project_optionsú"T.Optional[T.Dict[OptionKey, str]]Úmockrƒ   Úastú!T.Optional[mparser.CodeBlockNode]Úis_translatedÚrelaxationsú,T.Optional[T.Set[InterpreterRuleRelaxation]]Úuser_defined_optionsú T.Optional['argparse.Namespace']rv   r­   c                óx  •— t          ¦   «                              |j                             ¦   «         ||¦  «         d| _        || _        | j        j        | _        | j                             ¦   «         | _        || _        i | _	        i | _
        |                     t          j        j        ¦  «        d         | _        || _        t          j                             | j        | j        d¦  «        | _        |
pt+          ¦   «         | _        |s+|€)|                      ¦   «          |                      ¦   «          n|�|| _        |                      ¦   «          | j                             dt9          | j        | ¦  «        i¦  «         g | _        t+          ¦   «         | _        d| _        d| _         i | _!        g | _"        i | _#        |r| $                    ¦   «         | _%        ni | _%        i | _&        |  '                    ¦   «          |  (                    ¦   «          || _)        tU          i i ¦  «        | _+        tY          j-        ¦   «         | _.        t          j                             | j        t          j/        ¦  «        }|	s| j.         0                    |¦  «         |s|  1                    ¦   «          |  2                    ¦   «          d S )NrÁ   éÿÿÿÿzmeson_options.txtÚmesonF)3Úsuperr¦   r   Úget_source_dirÚactive_projectnamer
   Úget_coredatar   rû   Úsummaryrç   ÚsplitÚosÚpathrÏ   Úsubproject_directory_namerþ   r—   Úsource_rootrý   Úoption_fileÚsetr  Úload_root_meson_fileÚsanity_check_astr  ÚbuiltinÚupdater>   Ú
generatorsÚprocessed_buildfilesÚproject_args_frozenÚglobal_args_frozenrø   Úsubproject_stackÚconfigure_file_outputsÚcopyrÿ   Úproject_default_optionsÚbuild_func_dictÚbuild_holder_mapr  r   r   r   Ú
OrderedSetÚbuild_def_filesÚbuild_filenameÚaddÚparse_projectÚ_redetect_machines)r¥   rù   rû   r¬   rý   rþ   rÿ   r  r  r  r  r  r(  Ú	__class__s                €r}   r¦   zInterpreter.__init__	  so  ø€ õ 	‰Œ×Ò˜Ô+×:Ò:Ñ<Ô<¸fÀjÑQÔQÐQØ"$ˆÔØˆŒ
Øœ:Ô1ˆÔØÔ(×5Ò5Ñ7Ô7ˆŒØˆŒØ/1ˆŒØ8:ˆŒð *0¯ªµb´g´kÑ)BÔ)BÀ2Ô)FˆÔ&Ø,ˆÔÝœ7Ÿ<š<¨Ô(8¸$¼+ÐGZÑ[Ô[ˆÔØ&Ð/­#©%¬%ˆÔØð 	$˜˜Ø×%Ò%Ñ'Ô'Ð'Ø×!Ò!Ñ#Ô#Ð#Ð#Øˆ_ØˆDŒHØ×!Ò!Ñ#Ô#Ð#ØŒ×Ò˜W¥i°´
¸DÑ&AÔ&AÐBÑCÔCÐCØ35ˆŒÝ$'¡E¤EˆÔ!Ø#(ˆÔ Ø"'ˆÔØ:<ˆÔØ-/ˆÔØ8:ˆÔ#à"ð 	.Ø+B×+GÒ+GÑ+IÔ+IˆDÔ(Ð(à+-ˆDÔ(Ø?AˆÔ$Ø×ÒÑÔÐØ×ÒÑÔÐØ$8ˆÔ!ÝHRÐSUÐWYÑHZÔHZˆŒõ :BÔ9LÑ9NÔ9NˆÔÝœŸš d¤kµ;Ô3MÑNÔNˆØð 	5ØÔ ×$Ò$ ^Ñ4Ô4Ð4Øð 	!Ø×ÒÑ Ô Ð Ø×ÒÑ!Ô!Ð!Ð!Ð!r   ú-T.Tuple[T.Tuple[object], T.Dict[str, object]]c                ó    — t          d¦  «        ‚)NzThis class is unpicklable)r   ©r¥   s    r}   Ú__getnewargs_ex__zInterpreter.__getnewargs_ex__K  s   € ÝÐ ;Ñ<Ô<Ð<r   c                ó¶  — | j         j        j                             ¦   «         }t          j        | j        j        j         ¦  «        |_         |                     ¦   «         | j         j        _        | j         j        j        j         j        €J ‚| j         j        j        j	        j        €J ‚| j         j        j        j
        j        €J ‚t          j        | j         j        j        j         | ¦  «        | j        d<   t          j        | j         j        j        j	        | ¦  «        | j        d<   t          j        | j         j        j        j
        | ¦  «        | j        d<   d S )NÚbuild_machineÚhost_machineÚtarget_machine)r
   r   ÚmachinesÚmiss_defaultingÚdetect_machine_infor   r   Údefault_missingÚcpuÚhostÚtargetÚOBJÚMachineHolderr  )r¥   r5  s     r}   r+  zInterpreter._redetect_machinesN  s   € ð ”:Ô)Ô2×BÒBÑDÔDˆÝ$Ô8¸¼Ô9PÔ9VÑWÔWˆŒØ*2×*BÒ*BÑ*DÔ*DˆŒ
ÔÔ'ØŒzÔ%Ô.Ô4Ô8ÐDÐDÐDØŒzÔ%Ô.Ô3Ô7ÐCÐCÐCØŒzÔ%Ô.Ô5Ô9ÐEÐEÐEõ Ô˜dœjÔ4Ô=ÔCÀTÑJÔJð 	Œ�_Ñ%õ Ô˜dœjÔ4Ô=ÔBÀDÑIÔIð 	Œ�^Ñ$õ Ô˜dœjÔ4Ô=ÔDÀdÑKÔKð 	ŒÐ%Ñ&Ð&Ð&r   c                óR  — | j                              i d| j        “d| j        “d| j        “d| j        “d| j        “d| j        “d| j        “d| j	        “d	| j
        “d
| j        “d| j        “d| j        “d| j        “d| j        “d| j        “d| j        “d| j        “i d| j        “d| j        “d| j        “d| j        “d| j        “d| j        “d| j        “d| j        “d| j        “d| j        “d| j        “d| j        “d| j        “d| j         “d | j!        “d!| j"        “d"| j#        “¥i d#| j$        “d$| j%        “d%| j&        “d&| j'        “d'| j(        “d(| j)        “d)| j*        “d*| j+        “d+| j,        “d,| j-        “d-| j.        “d.| j/        “d/| j0        “d0| j1        “d1| j2        “d2| j3        “d3| j4        “¥| j5        | j6        | j7        | j8        | j9        | j:        | j;        | j<        | j=        | j>        d4œ
¥¦  «         d5t~          j@        v r#| j                              d6| jA        i¦  «         d S d S )7NÚadd_global_argumentsÚadd_global_link_argumentsÚadd_languagesÚadd_project_argumentsÚadd_project_dependenciesÚadd_project_link_argumentsÚadd_test_setupÚalias_targetÚassertÚ	benchmarkÚboth_librariesÚbuild_targetÚconfiguration_dataÚconfigure_fileÚcustom_targetÚdebugÚdeclare_dependencyÚ
dependencyÚdisablerr   ÚerrorÚ
executableÚfilesÚfind_libraryÚfind_programÚ	generatorÚ
get_optionÚget_variableÚgettextÚimportÚinclude_directoriesÚinstall_dataÚinstall_emptydirÚinstall_headersÚinstall_manÚinstall_subdirÚinstall_symlinkÚis_disablerÚis_variableÚjarÚ
join_pathsÚlibraryÚmessageÚoptionÚprojectÚrangeÚrun_commandÚ
run_targetÚset_variableÚstructured_sourcesrý   )
Úshared_libraryÚshared_moduleÚstatic_libraryÚsubdir_doner¬   r  ÚtestÚunset_variableÚvcs_tagÚwarningÚMESON_UNIT_TESTÚ	exception)BÚfuncsr  Úfunc_add_global_argumentsÚfunc_add_global_link_argumentsÚfunc_add_languagesÚfunc_add_project_argumentsÚfunc_add_project_dependenciesÚfunc_add_project_link_argumentsÚfunc_add_test_setupÚfunc_alias_targetÚfunc_assertÚfunc_benchmarkÚfunc_both_libÚfunc_build_targetÚfunc_configuration_dataÚfunc_configure_fileÚfunc_custom_targetÚ
func_debugÚfunc_declare_dependencyÚfunc_dependencyÚfunc_disablerÚfunc_environmentÚ
func_errorÚfunc_executableÚ
func_filesÚfunc_find_libraryÚfunc_find_programÚfunc_generatorÚfunc_get_optionÚfunc_get_variableÚfunc_gettextÚfunc_importÚfunc_include_directoriesÚfunc_install_dataÚfunc_install_emptydirÚfunc_install_headersÚfunc_install_manÚfunc_install_subdirÚfunc_install_symlinkÚfunc_is_disablerÚfunc_is_variableÚfunc_jarÚfunc_join_pathsÚfunc_libraryÚfunc_messageÚfunc_optionÚfunc_projectÚ
func_rangeÚfunc_run_commandÚfunc_run_targetÚfunc_set_variableÚfunc_structured_sourcesÚfunc_subdirÚfunc_shared_libÚfunc_shared_moduleÚfunc_static_libÚfunc_subdir_doneÚfunc_subprojectÚfunc_summaryÚ	func_testÚfunc_unset_variableÚfunc_vcs_tagÚfunc_warningr  ÚenvironÚfunc_exceptionr/  s    r}   r$  zInterpreter.build_func_dict`  s×  € ØŒ
×Òð =Ð1°4Ô3Qð =Ø6¸Ô8[ð=à*¨DÔ,Cð=ð 3°DÔ4Sð=ð 6°tÔ7Yð	=ð
 8¸Ô9]ð=ð ,¨TÔ-Eð=ð *¨4Ô+Að=ð $ TÔ%5ð=ð '¨Ô(;ð=ð ,¨TÔ-?ð=ð *¨4Ô+Að=ð 0°Ô1Mð=ð ,¨TÔ-Eð=ð +¨DÔ,Cð=ð # D¤Oð=ð  0°Ô1Mð!=ð =ð" (¨Ô)=ð#=ð$ & tÔ'9ð%=ð& )¨$Ô*?ð'=ð( # D¤Oð)=ð* (¨Ô)=ð+=ð, # D¤Oð-=ð. *¨4Ô+Að/=ð0 *¨4Ô+Að1=ð2 '¨Ô(;ð3=ð4 (¨Ô)=ð5=ð6 *¨4Ô+Að7=ð8 % dÔ&7ð9=ð: $ TÔ%5ð;=ð< 1°$Ô2Oð==ð> *¨4Ô+Að?=ð@ .¨tÔ/IðA=ðB -¨dÔ.GðC=ð =ð =ðD )¨$Ô*?ðE=ðF ,¨TÔ-EðG=ðH -¨dÔ.GðI=ðJ )¨$Ô*?ðK=ðL )¨$Ô*?ðM=ðN ! $¤-ðO=ðP (¨Ô)=ðQ=ðR % dÔ&7ðS=ðT % dÔ&7ðU=ðV $ TÔ%5ðW=ðX % dÔ&7ðY=ðZ # D¤Oð[=ð\ )¨$Ô*?ð]=ð^ (¨Ô)=ð_=ð` *¨4Ô+Aða=ðb 0°Ô1Mðc=ðd $ TÔ%5ðe=ð =ðf .2Ô-AØ,0Ô,CØ-1Ô-AØ*.Ô*?Ø)-Ô)=Ø&*Ô&7Ø#'¤>Ø-1Ô-EØ&*Ô&7Ø&*Ô&7ðy=ð =ð =ñ =	ô =	ð =	ð| ¥¤
Ð*Ð*ØŒJ×Ò˜{¨DÔ,?Ð@ÑAÔAÐAÐAÐAð +Ð*r   c                óx  — | j                              i t          t          j        “t
          t          j        “t          t          j        “t          t          j
        “t          t          j        “t          j        t          j        “t          j        t          j        “t          j        t          j        “t&          j        t*          j        “t.          j        t*          j        “t.          j        t*          j        “t.          j        t*          j        “t.          j        t*          j        “t.          j         t*          j!        “t.          j"        t*          j#        “t.          j$        t*          j%        “t.          j&        t*          j'        “i t.          j(        t*          j)        “t.          j*        t*          j+        “t.          j,        t*          j-        “t.          j.        t*          j/        “t.          j0        t*          j1        “t.          j2        t*          j3        “t.          j4        t*          j5        “t.          j6        t*          j7        “t.          j8        t*          j9        “t.          j:        t*          j;        “t.          j<        t*          j=        “t.          j>        t*          j?        “t.          j@        t*          jA        “t.          jB        t*          jC        “tˆ          jE        tŒ          jG        “t�          jI        t*          jJ        “t–          jL        t*          jM        “¥tœ          jO        t*          jP        t.          jQ        t*          jR        i¥¦  «         	 | jS                             t�          jT        t*          jU        t¬          t*          jW        tˆ          jX        tŒ          jY        t´          t*          j[        t¸          t*          j]        i¦  «         dS )zô
            Build a mapping of `HoldableObject` types to their corresponding
            `ObjectHolder`s. This mapping is used in `InterpreterBase` to automatically
            holderify all returned values from methods and functions.
        N)^Ú
holder_mapr  rz   ÚP_OBJÚArrayHolderr˜   Ú
DictHolderrš   ÚIntegerHolderrƒ   ÚBooleanHolderr„   ÚStringHolderÚMesonVersionStringÚMesonVersionStringHolderÚDependencyVariableStringÚDependencyVariableStringHolderÚOptionStringÚOptionStringHolderr   r|   r<  Ú
FileHolderr
   ÚSharedLibraryÚSharedLibraryHolderÚStaticLibraryÚStaticLibraryHolderÚBothLibrariesÚBothLibrariesHolderÚSharedModuleÚSharedModuleHolderÚ
ExecutableÚExecutableHolderÚJarÚ	JarHolderÚCustomTargetÚCustomTargetHolderÚCustomTargetIndexÚCustomTargetIndexHolderÚ	GeneratorÚGeneratorHolderÚGeneratedListÚGeneratedListHolderÚExtractedObjectsÚGeneratedObjectsHolderÚ	RunTargetÚRunTargetHolderÚAliasTargetÚAliasTargetHolderÚHeadersÚHeadersHolderÚManÚ	ManHolderÚEmptyDirÚEmptyDirHolderÚDataÚ
DataHolderÚSymlinkDataÚSymlinkDataHolderÚ
InstallDirÚInstallDirHolderÚIncludeDirsÚIncludeDirsHolderÚEnvironmentVariablesÚEnvironmentVariablesHolderÚStructuredSourcesÚStructuredSourcesHolderr   Ú	RunResultÚcompilerOBJÚTryRunResultHolderr   ÚExternalLibraryÚExternalLibraryHolderr   ÚUserFeatureOptionÚFeatureOptionHolderr   ÚMachineInfor=  ÚConfigurationDataÚConfigurationDataHolderÚbound_holder_mapr   ÚDependencyHolderr   ÚExternalProgramHolderÚCompilerÚCompilerHolderr5   ÚModuleObjectHolderr6   ÚMutableModuleObjectHolderr/  s    r}   r%  zInterpreter.build_holder_map¢  s  € ð 	Œ×Òð ( 
å•%Ô#ð( 
õ •%Ô"ð( 
õ •Ô$ð	( 
õ
 •%Ô%ð( 
õ •Ô#ð( 
õ Ô$¥eÔ&Dð( 
õ Ô*­EÔ,Pð( 
õ Ô¥Ô 8ð( 
õ ŒM�3œ>ð( 
õ Ô¥Ô!8ð( 
õ Ô¥Ô!8ð( 
õ Ô¥Ô!8ð( 
õ  Ô¥Ô 6ð!( 
õ" Ô�cÔ2ð#( 
õ$ ŒI•s”}ð%( 
õ& Ô¥Ô 6ð'( 
õ( Ô#¥SÔ%@ð)( 
ð ( 
õ* ŒO�SÔ0ð+( 
õ, Ô¥Ô!8ð-( 
õ. Ô"¥CÔ$>ð/( 
õ0 ŒO�SÔ0ð1( 
õ2 Ô�sÔ4ð3( 
õ4 ŒM�3Ô,ð5( 
õ6 ŒI•s”}ð7( 
õ8 ŒN�CÔ.ð9( 
õ: ŒJ�œð;( 
õ< Ô�sÔ4ð=( 
õ> Ô�cÔ2ð?( 
õ@ Ô�sÔ4ðA( 
õB Ô&­Ô(FðC( 
õD Ô#¥SÔ%@ðE( 
õF Ô¥Ô!?ðG( 
õH Ô(­#Ô*CðI( 
õJ Ô&­Ô(?ðK( 
ð ( 
õL Ô!¥3Ô#4ÝÔ#¥SÔ%@ðO( 
ð ( 
ñ (	ô (	ð (	ðT	ð 	Ô×$Ò$ÝÔ#¥SÔ%9Ý�SÔ6ÝÔ¥Ô :Ý�#Ô0Ý¥Ô!>ð&
ñ 	ô 	ð 	ð 	ð 	r   Ú	held_typeúT.Type[mesonlib.HoldableObject]Úholder_typeúT.Type[ObjectHolder]c                ó>   — | j                              ||i¦  «         dS )zÎ
            Adds one additional mapping to the `holder_map`.

            The intended use for this function is in the `initialize` method of
            modules to register custom object holders.
        N)r»  r  )r¥   r  r  s      r}   Úappend_holder_mapzInterpreter.append_holder_mapã  s2   € ð 	Œ×ÒØ�{ð 
ñ 	ô 	ð 	ð 	ð 	r   Úinvaluesú2T.List[T.Union[TYPE_var, ExecutableSerialisation]]c                óì  — t          |¦  «        }|D �]`}t          |t          ¦  «        rt          d¦  «        ‚t          |t          j        t          j        t          j        f¦  «        r|                      |j	        |¦  «         Œtt          |t          ¦  «        r|                      |¦  «         ŒŸt          |t          ¦  «        r,| j        |_        | j        j                             |¦  «         Œàt          |t          j        ¦  «        r!| j        j                             |¦  «         �Œt          |t          j        ¦  «        r!| j        j                             |¦  «         �ŒVt          |t(          j        ¦  «        r"|                      |j        d         ¦  «         �Œ’t          |t          j        ¦  «        r!| j        j                             |¦  «         �ŒÍt          |t2          ¦  «        r!| j        j                             |¦  «         �Œt          |t6          t8          t:          t<          t          t          j        t@          t          j!        f¦  «        r�ŒOt          d|›d�¦  «        ‚d S )Nz%Modules must not return ObjectHoldersr   z(Module returned a value of unknown type ú.)"r   ry   r3   r)   r
   ÚBuildTargetrÕ  rß  Ú
add_targetÚnamerz   Úprocess_new_valuesr:   r¬   Úinstall_scriptsr´   ré  Údatarë  Úsymlinksr   ÚInternalDependencyÚsourcesrí  Úinstall_dirsrA   Útestsrš   r„   rƒ   r-   rÛ  r   rý  )r¥   r  r“   s      r}   r  zInterpreter.process_new_valuesî  s6  € Ý˜8Ñ$Ô$ˆØð 	^ñ 	^ˆAÝ˜!�\Ñ*Ô*ð TÝ*Ð+RÑSÔSÐSÝ˜!�eÔ/µÔ1CÅUÄ_ÐUÑVÔVð ^Ø—’ ¤¨Ñ*Ô*Ð*Ð*Ý˜A�tÑ$Ô$ð ^Ø×'Ò'¨Ñ*Ô*Ð*Ð*Ý˜AÕ6Ñ7Ô7ð ^Ø#œ�”Ø”
Ô*×1Ò1°!Ñ4Ô4Ð4Ð4Ý˜A�uœzÑ*Ô*ð ^Ø”
”×&Ò& qÑ)Ô)Ð)Ñ)Ý˜A�uÔ0Ñ1Ô1ð ^Ø”
Ô#×*Ò*¨1Ñ-Ô-Ð-Ñ-Ý˜A�|Ô>Ñ?Ô?ð ^ð ×'Ò'¨¬	°!¬Ñ5Ô5Ð5Ñ5Ý˜A�uÔ/Ñ0Ô0ð ^Ø”
Ô'×.Ò.¨qÑ1Ô1Ð1Ñ1Ý˜A�tÑ$Ô$ð ^Ø”
Ô ×'Ò'¨Ñ*Ô*Ð*Ñ*Ý˜A¥¥S­$µ½,ÍÔH[Ý /µÔ1Hð Jñ Kô Kð ^áå*Ð+\ÐVWÐ+\Ð+\Ð+\Ñ]Ô]Ð]ð5	^ð 	^r   úmesonlib.OrderedSet[str]c                ó   — | j         S ©N)r'  r/  s    r}   Úget_build_def_fileszInterpreter.get_build_def_files  s   € ØÔ#Ð#r   Úfúmesonlib.FileOrStringc                óâ  — t          |t          j        ¦  «        r<|j        rd S t          j                             |                     ¦   «         ¦  «        }�nst          j                             |¦  «        �rQ| 	                    d¦  «        �s;t          | j                             ¦   «         ¦  «        }t          | j                             ¦   «         ¦  «        }	 t          |¦  «                             ¦   «         }n“# t          $ r† t          |¦  «        }|                     ¦   «         }t#          |d¦  «        rO|j        t           j        z  dk    r7|j        t           j        k    r"|j                             ¦   «         |j        z  }n‚ Y nw xY w||j        v rd S ||j        v r|                     |¦  «        }t5          |¦  «        }nd S || j        vr| j                             |¦  «         d S d S )Nz/devÚst_file_attributesr   )ry   r   r|   Úis_builtr  r  ÚnormpathÚrelative_nameÚisfileÚ
startswithrk   r   r  Úget_build_dirÚresolveÚOSErrorÚstatÚhasattrr"  ÚFILE_ATTRIBUTE_REPARSE_POINTÚst_reparse_tagÚIO_REPARSE_TAG_APPEXECLINKÚparentr  ÚparentsÚrelative_tor„   r'  r)  )r¥   r  ÚsrcdirÚbuilddirÚf_Úss         r}   Úadd_build_def_filezInterpreter.add_build_def_file  sÒ  € õ
 �a�œÑ'Ô'ð 	ØŒzð Ø�Ý”× Ò  §¢Ñ!2Ô!2Ñ3Ô3ˆA‰AÝŒW�^Š^˜AÑÔñ 	 q§|¢|°FÑ';Ô';ñ 	Ý˜$Ô*×9Ò9Ñ;Ô;Ñ<Ô<ˆFÝ˜DÔ,×:Ò:Ñ<Ô<Ñ=Ô=ˆHðÝ˜!‘W”W—_’_Ñ&Ô&��øÝð 
ð 
ð 
Ý˜!‘W”W�Ø—G’G‘I”I�Ý˜AÐ3Ñ4Ô4ð ØÔ,­tÔ/PÑPÐTUÒUÐUØÔ(­DÔ,KÒKÐKð œ×*Ò*Ñ,Ô,¨r¬wÑ6�B�Bàð �Bð
øøøð ˜2œ:Ð%Ð%Ø�Ø˜œÐ#Ð#Ø—^’^ FÑ+Ô+�Ý�B‘”ˆAˆAàˆFØ�DÔ(Ð(Ð(ØÔ ×$Ò$ QÑ'Ô'Ð'Ð'Ð'ð )Ð(s   Ã!C< Ã<BFÆFúT.Dict[str, InterpreterObject]c                ó   — | j         S r  ©Ú	variablesr/  s    r}   Úget_variableszInterpreter.get_variables2  s
   € ØŒ~Ðr   c                óÄ  — t           j        g}| j                             ¦   «         r|                     t           j        ¦  «         |D �]}| j        j        j        |         }| j        j	        |          
                    ¦   «         D ]×}	 t          j        |                     |¦  «        ¦  «        }n# t          $ r Y Œ7w xY wt          |¦  «        dk    r"t!          j        dd| j        | j        ¬¦  «         d|t           j        u i}|dz   }t)          | |g¦  «        }|                     |¦  «         |                     |d¬¦  «        }	|	| j        j        |         |<   ŒØ�Œd S )	Nr;   zstdlib without variable nameú0.56.0©Úlocationrå   Ú_stdlibT)Úforce_fallback)r   ÚHOSTr   Úis_cross_buildr´   ÚBUILDr
   r   Ú
propertiesr   Úkeysr   ÚstringlistifyÚ
get_stdlibÚKeyErrorr{   r/   r·   r¬   Úcurrent_noder?   Úset_fallbackÚlookupÚstdlibs)
r¥   Úmachine_choicesÚfor_machineÚpropsÚlÚdirn   r  ÚdfÚdeps
             r}   Úcheck_stdlibszInterpreter.check_stdlibs5  s~  € Ý(Ô-Ð.ˆØŒ=×'Ò'Ñ)Ô)ð 	8Ø×"Ò"¥=Ô#6Ñ7Ô7Ð7Ø*ð 	9ñ 	9ˆKØ”JÔ*Ô5°kÔBˆEØ”]Ô,¨[Ô9×>Ò>Ñ@Ô@ð 9ð 9�ðÝ!Ô/°×0@Ò0@ÀÑ0CÔ0CÑDÔD�B�BøÝð ð ð Ø�Hðøøøå�r‘7”7˜a’<�<ÝÔ)Ð*HÈ(ÐTXÔTcÐnrÔnð  Añ  Aô  Að  AØ" Kµ=Ô3FÐ$Fð �à˜9‘}�Ý.¨t°d°VÑ<Ô<�Ø—’ Ñ#Ô#Ð#Ø—i’i °t�iÑ<Ô<�Ø58�”
Ô" ;Ô/°Ñ2Ð2ñ9ð	9ð 	9s   Â	'B1Â1
B>Â=B>r[  ú0.59.0)ÚsinceÚnodeúmparser.BaseNoder€   úT.Tuple[str]rn   ú'kwtypes.FuncImportModule'úET.Union[ExtensionModule, NewExtensionModule, NotFoundExtensionModule]c           
     ó@  — |d         }t          || j        ¦  «        \  }}}|rt          |¦  «        S d}|                     d¦  «        rd|                     d¦  «        r2t	          j        d|› d|                     ddd	¦  «        › d
�|¬¦  «         |t          d¦  «        d	z   d …         }	d}n|}	|	| j        v r| j        |	         S 	 t          j
        d|	› �¦  «        }
|
                     | ¦  «        }t          |t          t          f¦  «        sJ ‚| j        j                             |	¦  «         n4# t"          $ r' |rt%          d|› d�¦  «        ‚t          |	¦  «        }Y nw xY w|j        j        r4t+          j        d|j        j        › �|j        j        | j        |¬¦  «         |j        j        r4t3          j        d|j        j        › �|j        j        | j        |¬¦  «         |r5|j        j        s)|j        j        €t%          d|j        j        › d�¦  «        ‚|j        j        �~|r7t3          j        d|j        j        › d�|j        j        | j        d|¬¦  «         n³t+          j        d|j        j        › d�|j        j        | j        d|j        j        › d
�|¬¦  «         nn|j        j        rb|s;|r)t%          d|j        j        › d|j        j        › �¦  «        ‚t          |	¦  «        }n%t	          j        d|j        j        › d�|d¬¦  «         || j        |	<   |S )Nr   F)z	unstable-Ú	unstable_r_  zImporting unstable modules as "z" instead of "Ú_ú-r;   ú"r?  ÚunstableTzmesonbuild.modules.zModule "z" does not existzmodule zModule z4 has never been unstable, remove "unstable-" prefix.z has been stabilizedz,drop "unstable-" prefix from the module namez as stable modulezeConsider either adding "unstable-" to the module name, or updating the meson required version to ">= z<" has not been stabilized, and must be imported as unstable-zS has no backwards or forwards compatibility and might not exist in future releases.)r@  Úfatal)rC   r¬   r8   r'  r	   ÚdeprecationÚreplacer{   rç   Ú	importlibÚimport_moduleÚ
initializery   r4   r7   r
   r´   ÚImportErrorr*   ÚINFOÚaddedr/   r·   r  Ú
deprecatedr0   rc  Ú
stabilizedrw  )r¥   rY  r€   rn   ÚmodnameÚdisabledrë   r`  Úexpect_unstableÚreal_modnameÚmoduleÚ
ext_modules               r}   r˜  zInterpreter.func_importJ  s)  € ð �q”'ˆÝ 6°v¸t¼Ñ OÔ OÑˆ�(˜AØð 	4Ý*¨7Ñ3Ô3Ð3àˆð ×ÒÐ8Ñ9Ô9ð 	#Ø×!Ò! +Ñ.Ô.ð 0ÝÔ Ð!yÀ7Ð!yÐ!yÐZa×ZiÒZiÐjmÐorÐtuÑZvÔZvÐ!yÐ!yÐ!yØ*.ð0ñ 0ô 0ð 0à"¥3 z¡?¤?°QÑ#6Ð#7Ð#7Ô8ˆLØ"ˆOˆOà"ˆLà˜4œ<Ð'Ð'Ø”< Ô-Ð-ð		4ÝÔ,Ð-QÀ<Ð-QÐ-QÑRÔRˆFð  ×*Ò*¨4Ñ0Ô0ˆJÝ˜j­?Õ<NÐ*OÑPÔPÐPÐPÐPØŒJÔ×%Ò% lÑ3Ô3Ð3Ð3øõ ð 	?ð 	?ð 	?Øð MÝ&Ð'K°'Ð'KÐ'KÐ'KÑLÔLÐLÝ0°Ñ>Ô>ˆJˆJˆJð	?øøøð Œ?Ô ð 	{ÝÔ!Ð"B¨J¬OÔ,@Ð"BÐ"BÀJÄOÔDYÐ[_Ô[jÐuyÐzÑzÔzÐzØŒ?Ô%ð 	GÝÔ(Ð)I°:´?Ô3GÐ)IÐ)IÈ:Ì?ÔKeÐgkÔgvð  BFð  Gñ  Gô  Gð  GØð 	y :¤?Ô#;ð 	yÀ
ÄÔ@ZÐ@bÝ"Ð#w¨Z¬_Ô-AÐ#wÐ#wÐ#wÑxÔxÐxØŒ?Ô%Ð1Øð #Ý!Ô,ØH˜jœoÔ2ÐHÐHÐHØ”OÔ.°´ØBØ!ð	#ñ #ô #ð #ð #õ Ô%ØE˜jœoÔ2ÐEÐEÐEØ”OÔ.°´ð Zð  }Gô  }Lô  }Wð  Zð  Zð  ZØ!ð	#ñ #ô #ð #ð #ð
 Œ_Ô%ð 	nØ"ð nØð `Ý*ð  ,_°j´oÔ6Jð  ,_ð  ,_ð  ISô  IXô  I]ð  ,_ð  ,_ñ  `ô  `ð  `Ý4°\ÑBÔB�
�
å”ð  Q z¤Ô';ð  Qð  Qð  Qð  \`ð  hmð  nñ  nô  nð  nà%/ˆŒ�\Ñ"ØÐs   ÃD1 Ä1.E"Å!E"rT  )Úvarargsúmparser.FunctionNodeúT.Tuple[T.List[str]]ú'TYPE_kwargs'úT.List[mesonlib.File]c                ó8   — |                       |d         ¦  «        S r    )Úsource_strings_to_files©r¥   rY  r€   rn   s       r}   r‘  zInterpreter.func_filesŽ  s   € ð ×+Ò+¨D°¬GÑ4Ô4Ð4r   rO  Úcompile_argsT)r   ÚdefaultÚd_import_dirsú0.62.0)r  rX  Ú	link_argsz0.46.0ú0.54.0r>  )rX  Úsince_valuesrè   c                óÄ  — |d         }|                       |¦  «        }|d         }|d         }|                      |d         ¦  «        }|d         }	|d         }
|d         }|d         }|€| j        }|d	         }|                       |d
¦  «        }t          | j        j        ¦  «        }|                     ¦   «         D ]Ö\  }}	 t          |¦  «        }|                      ¦   «         s|| j        z  |j	        v rŒ;| 
                    ¦   «         rw|                     ¦   «         rc|| j        z  |gt          t          t          j                             |¦  «        ¦  «        j	        ¦  «        z   v rt#          j        |¦  «        ||<   ŒÇ# t&          $ r Y ŒÓw xY w|D ]+}t)          |t*          j        ¦  «        st/          d¦  «        ‚Œ,t+          j        |||	|
|||||||¦  «        }|S )Nr   Ú	link_withÚ
link_wholer  r}  r�  r;  rè   Úd_module_versionsr  zInvalid dependency)Úextract_incdirsr{  rž   rk   r   Ú
source_dirr™   Úis_subprojectrþ   r1  Úis_absoluteÚis_dirÚroot_subdirrz   r  r  Úabspathr¼  rÄ  Ú
ValueErrorry   r   r   r)   r  )r¥   rY  r€   rn   ÚdepsÚincsÚlibsÚ
libs_wholer  r}  r�  r;  rè   r‡  r  r3  r’   r“   ÚpÚdrU  s                        r}   r‹  z#Interpreter.func_declare_dependency“  s%  € ð  �nÔ%ˆØ×#Ò# FÑ+Ô+ˆØ�kÔ"ˆØ˜LÔ)ˆ
Ø×.Ò.¨v°iÔ/@ÑAÔAˆØ˜nÔ-ˆØ˜;Ô'ˆ	Ø˜;Ô'ˆ	Ø˜Ô#ˆØˆ?ØÔ*ˆGØ"Ð#6Ô7ÐØ×,Ò,¨V°_ÑEÔEˆÝ�dÔ&Ô1Ñ2Ô2ˆà—O’OÑ%Ô%ð 		Eð 		E‰DˆAˆqðEÝ˜‘G”G�ð ×)Ò)Ñ+Ô+ð °¸Ô9LÑ0LÐPQÔPYÐ0YÐ0YØØ—=’=‘?”?ð E q§x¢x¡z¤zð E°f¸tÔ?OÑ6OÐTUÐSVÕY]Õ^bÕceÔcj×crÒcrÐstÑcuÔcuÑ^vÔ^vÔ^~ÑYÔYÑSÐ6Ð6Ý#(Ô#AÀ!Ñ#DÔ#D�I˜a‘Løøõ ð ð ð Ø�ðøøøð ð 	Að 	AˆAÝ˜a¥Ô!8Ñ9Ô9ð AÝ*Ð+?Ñ@Ô@Ð@ðAõ Ô-¨g°t¸\Ø.7¸¸zÈ7ÐTXØ.7Ð9JÈMñ[ô [ˆð ˆ
s   ÃFÆ
FÆFrG  )ÚoptargsúT.Tuple[bool, T.Optional[str]]c                óò   — |\  }}|€t          j        dd| j        |¬¦  «         |sP|€<ddlm}  |¦   «         }|j        j        d                              |¦  «         |j        }t          d|z   ¦  «        ‚d S )Nz(assert function without message argumentú0.53.0r?  r   )Ú
AstPrinterr   zAssert failed: )
r/   r·   r¬   r  rš  r€   Ú	argumentsÚacceptÚresultr)   )r¥   rY  r€   rn   rt   rh  rš  Úprinters           r}   rƒ  zInterpreter.func_assertÅ  s¢   € ð ‰ˆˆwØˆ?ÝÔ!Ð"LÈhÐX\ÔXgÐrvÐwÑwÔwÐwàð 	DØˆØ,Ð,Ð,Ð,Ð,Ð,Ø$˜*™,œ,�Ø”	Ô# AÔ&×-Ò-¨gÑ6Ô6Ð6Ø!œ.�Ý&Ð'8¸7Ñ'BÑCÔCÐCð	Dð 	Dr   c                óä   — |�6|t          |¦  «        k    r#t          d|› dt          |¦  «        › d�¦  «        ‚t          ||¦  «        D ]&\  }}|�t          ||¦  «        st          d¦  «        ‚Œ'd S )Nz	Expected z arguments, got r  zIncorrect argument type.)r{   r*   Úzipry   )r¥   r€   ÚargcountÚ	arg_typesÚactualÚwanteds         r}   Úvalidate_argumentszInterpreter.validate_argumentsÕ  s–   € ØÐØ�3˜t™9œ9Ò$Ð$Ý&Ð'Y°8Ð'YÐ'YÍSÐQUÉYÌYÐ'YÐ'YÐ'YÑZÔZÐZÝ! $¨	Ñ2Ô2ð 	Gð 	G‰NˆF�FØÐ!Ý! &¨&Ñ1Ô1ð GÝ*Ð+EÑFÔFÐFøð	Gð 	Gr   rl  Úcheckú0.47.0Úcapture)r~  rX  ú0.50.0ú·T.Tuple[T.Union[build.Executable, ExternalProgram, compilers.Compiler, mesonlib.File, str], T.List[T.Union[build.Executable, ExternalProgram, compilers.Compiler, mesonlib.File, str]]]ú'kwtypes.RunCommand'rB   c                ó0   — |                       |||¦  «        S r  )Úrun_command_implr|  s       r}   r©  zInterpreter.func_run_commandà  s   € ð ×$Ò$ T¨4°Ñ8Ô8Ð8r   Úin_builddirc                óV	  — |\  }}|d         }|d         }| j                              ¦   «         }	| j                              ¦   «         }
|d         }|€t          j        t
          d¬¦  «         d}d}g }t          |t          j        ¦  «        rr| j        j	         
                    ¦   «         D ]\  }}||k    r|} nŒt          d¦  «        ‚t          |                     ||                     ¦   «         ¦  «        ¦  «        ‚t          |t          ¦  «        r;|                     ¦   «         s%t          d	|                     ¦   «         ›d
�¦  «        ‚�nt          |t$          j        ¦  «        ra|                     ¦   «         }|d         }t          |d¬¦  «        }|                     ¦   «         st          d|›d
�¦  «        ‚|}|dd …         }n�t          |t*          j        ¦  «        r|                     |	|
¦  «        }t0          j                             |	| j        ¦  «        }t          |d|¬¦  «        }|                     ¦   «         st          d|›d
�¦  «        ‚|}|D �]Š}t          |t8          ¦  «        r|                     |¦  «         Œ.t          |t*          j        ¦  «        r*|                     |                     |	|
¦  «        ¦  «         Œrt          |t          ¦  «        r(|                     |                     ¦   «         ¦  «         Œ¯t          |t$          j        ¦  «        r‰t?          j         dd| j!        |¬¦  «         t          |j"        d         d¬¦  «        }|                     ¦   «         st          d|›d
�¦  «        ‚|                     |                     ¦   «         ¦  «         �ŒRt          |                     |j#        |                     ¦   «         ¦  «        ¦  «        ‚|  $                    |                     ¦   «         ¦  «         |D ]`}t0          j         %                    |¦  «        s*t0          j                             |r|
n|	| j        |¦  «        }|  $                    |¦  «         ŒatM          ||||	|
| j        | j          '                    ¦   «         dgz   |||¬¦
  «
        S )Nr¨  Úenvr¦  T)ÚonceFzoProgram {!r} was overridden with the compiled executable {!r} and therefore cannot be used during configurationz;cmd was a built executable but not found in overrides tablezcommand z not found or not executabler   ©ÚsilentzProgram r;   )r³  Ú
search_dirzProgram or command z7Compiler object as a variadic argument to `run_command`ú0.61.0r?  Ú
introspect)r®  r¦  r¨  )(r   r  r(  r	   rw  Úimplicit_check_false_warningry   r
   rÑ  Úfind_overridesr™   r   r)   r�   Údescriptionr   ÚfoundÚget_namer   r  Úget_exelistr   r|   Úabsolute_pathr  r  r—   rý   r„   r´   Úget_pathr/   r·   r¬   Úexelistr  r7  ÚisabsrB   Úget_build_command)r¥   rY  r€   rn   r®  ÚcmdÚcargsr¨  r°  r3  r4  r¦  Úoverridden_msgÚexpanded_argsr  ÚexeÚprognamer¿  Úprogr´  Úas                        r}   r­  zInterpreter.run_command_implð  sš  € ð ‰
ˆˆUØ˜Ô#ˆØ�UŒmˆØÔ!×0Ò0Ñ2Ô2ˆØÔ#×1Ò1Ñ3Ô3ˆà�w”ˆØˆ=ÝŒLÕ5¸DÐAÑAÔAÐAØˆEð*ˆð &(ˆÝ�c�5Ô+Ñ,Ô,ð 	[Ø!œZÔ6×<Ò<Ñ>Ô>ð gð g‘	��cØ˜#’:�:Ø#�HØ�Eð õ (Ð(eÑfÔfÐfÝ& ~×'<Ò'<¸XÀsÇÂÑGXÔGXÑ'YÔ'YÑZÔZÐZÝ�c�?Ñ+Ô+ð 	Ø—9’9‘;”;ð fÝ*Ð+d°c·l²l±n´nÐ+dÐ+dÐ+dÑeÔeÐeñfå˜�YÔ/Ñ0Ô0ð 	Ø—o’oÑ'Ô'ˆGØ˜!”*ˆCÝ" 3¨tÐ4Ñ4Ô4ˆDØ—:’:‘<”<ð [Ý*Ð+Y°cÐ+YÐ+YÐ+YÑZÔZÐZØˆCØ# A B BœKˆMˆMå˜#�xœ}Ñ-Ô-ð :Ø×'Ò'¨°Ñ9Ô9�åœŸš f¨d¬kÑ:Ô:ˆJÝ" 3¨tÀ
ÐKÑKÔKˆDØ—:’:‘<”<ð fÝ*Ð+dÀÐ+dÐ+dÐ+dÑeÔeÐeØˆCØð 	]ñ 	]ˆAÝ˜!�SÑ!Ô!ð ]Ø×$Ò$ QÑ'Ô'Ð'Ð'Ý˜A�xœ}Ñ-Ô-ð ]Ø×$Ò$ Q§_¢_°V¸XÑ%FÔ%FÑGÔGÐGÐGÝ˜A�Ñ/Ô/ð 	]Ø×$Ò$ Q§Z¢Z¡\¤\Ñ2Ô2Ð2Ð2Ý˜A�yÔ1Ñ2Ô2ð ]ÝÔ%Ð&_ÐaiÐkoÔkzð  FJð  Kñ  Kô  Kð  KÝ& q¤y°¤|¸DÐAÑAÔA�Ø—z’z‘|”|ð _Ý.Ð/]¸#Ð/]Ð/]Ð/]Ñ^Ô^Ð^Ø×$Ò$ T§]¢]¡_¤_Ñ5Ô5Ð5Ñ5å*¨>×+@Ò+@ÀÄÈÏÊÑIZÔIZÑ+[Ô+[Ñ\Ô\Ð\ð 	×Ò §¢¡¤Ñ/Ô/Ð/Øð 	'ð 	'ˆAÝ”7—=’= Ñ#Ô#ð VÝ”G—L’L¨[Ð!D  ¸fÀdÄkÐSTÑUÔU�Ø×#Ò# AÑ&Ô&Ð&Ð&å˜#˜}¨c°6¸8ÀTÄ[ØÔ*×<Ò<Ñ>Ô>À,ÀÑOØ&1¸ÈðQñ Qô Qð 	Qr   c                ó    — t          d¦  «        ‚)NzZGettext() function has been moved to module i18n. Import it and use i18n.gettext() instead©r)   ©r¥   Únodesr€   rn   s       r}   r—  zInterpreter.func_gettext=  s   € Ý"Ð#ñ  Aô  Að  	Ar   c                ó    — t          d¦  «        ‚)NzYTried to call option() in build description file. All options must be in the option file.rË  rÌ  s       r}   r¦  zInterpreter.func_option@  s   € Ý"Ð#~ÑÔÐr   ú0.38.0)r~  r   rÍ  úkwtypes.Subprojectr@   c                óp   — |d         |d         |d         d g dœ}|                       |d         d|¦  «        S )Nrë   rð   rè   )rë   rð   rè   ÚoptionsÚcmake_optionsr   r  )Údo_subproject)r¥   rÍ  r€   rn   Úkws        r}   r²  zInterpreter.func_subprojectC  sM   € ð ˜zÔ*Ø%Ð&7Ô8Ø˜iÔ(ØØð$
ð $
ˆð ×!Ò! $ q¤'¨7°BÑ7Ô7Ð7r   Ú	subp_nameÚdisabled_featurerw   ry  úT.Optional[Exception]c                óž   — t          t          ¦   «         t          j                             | j        |¦  «        ||¬¦  «        }|| j        |<   |S )N)r×  ry  )r@   rE   r  r  r—   rþ   rø   )r¥   rÖ  r×  ry  Úsubs        r}   Údisabled_subprojectzInterpreter.disabled_subprojectT  sO   € åÕ8Ñ:Ô:½B¼G¿LºLÈÔI\Ð^gÑ<hÔ<hØ0@ÈIðWñ Wô Wˆà&)ˆÔ˜Ñ#Øˆ
r   rä   úLiteral['meson', 'cmake']úkwtypes.DoSubprojectc           	     ó”	  — t          || j        ¦  «        \  }}}|rTt          j        dt          j        |¦  «        ddt          j        |¦  «        d¦  «         |                      ||¬¦  «        S t          j        |d         |¦  «        }|dk    rt          d¦  «        ‚|d	         d
k    rt          d¦  «        ‚d|v rt          d¦  «        ‚t          j
                             |¦  «        rt          d¦  «        ‚t          |¦  «        rt          j        d| j        ¬¦  «         || j        v r3| j        |gz   }d                     |¦  «        }	t#          d|	› d
�¦  «        ‚|| j        v r™| j        |         }
|r,|
                     ¦   «         st          d|
j        › d�¦  «        ‚|d         rT| j        j        |         }|d         }|dk    st-          j        ||¦  «        d	         st          d|› d|› d|› d�¦  «        ‚|
S | j        j        }	 |                     ||¦  «        }n‡# t6          j        $ ru}|slt          j        |¦  «         t          j        dt          j        |¦  «        dt          j        d¦  «        d¦  «         |                      ||¬¦  «        cY d }~S |‚d }~ww xY wt          j
                             | j                             ¦   «         |¦  «        }t          j        t          j
                             | j        j                              ¦   «         |¦  «        d¬ ¦  «         d| _!        d                     | j        |gz   ¦  «        }d!t          j        |¦  «        g}|d"k    r|d#t          j        |¦  «        gz  }t          j        g |¢d$‘R d%d&iŽ 	 |d"k    r|  "                    ||||¦  «        S |d'k    r|  #                    |||||¦  «        S t-          j$        d(|› d)|› �¦  «        ‚# t"          $ r ‚ tJ          $ rµ}|s¬t          j&        |¦  «        5  t          j'        |t          j(        d*¦  «        ¬+¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        d,t          j        |¦  «        dt          j        d¦  «        d¦  «         |                      ||¬¦  «        cY d }~S |‚d }~ww xY w)-NÚ
SubprojectrÃ   úskipped: featurerp  )r×  rð   rÁ   z"Subproject name must not be empty.r   r  z-Subproject name must not start with a period.ú..z5Subproject name must not contain a ".." path segment.z-Subproject name must not be an absolute path.zJSubproject name has a path separator. This may cause unexpected behaviour.r?  z => z"Recursive include of subprojects: zSubproject "z" required but not found.rè   Ú	undefinedúSubproject ú version is ú but ú
 required.zis buildable:r°   z(disabling))ry  T©Úexist_okz
Executing subprojectr  rä   rÎ   ÚnestedFÚcmakezThe method z is invalid for the subproject z
Exception:)Úprefixz
Subproject))rC   r¬   r	   rÆ   rÈ   rÛ  r   Úcreate_options_dictr)   r  r  rÀ  r   rw  rK  r   r—   r+   rø   rº  rý   r
   r   Úversion_compare_manyr   Úwrap_resolverr)  r   ÚWrapExceptionr¶   r  Úmakedirsr(  r  Ú_do_subproject_mesonÚ_do_subproject_cmaker   Ú	Exceptionré  ry  Úyellow)r¥   rÖ  rä   rn   rp  rë   Úfeaturerð   Ú	fullstackÚincpathr¬   Úpvr¤  Úrrý   ÚeÚ
subdir_absÚstackr¾   s                      r}   rÔ  zInterpreter.do_subproject[  s€  € Ý&<¸VÀTÄ_Ñ&UÔ&UÑ#ˆ�(˜GØð 	QÝŒH�\¥4¤9¨YÑ#7Ô#7¸Ð>PÕRVÔR[Ð\cÑRdÔRdÐfpÑqÔqÐqØ×+Ò+¨IÈÐ+ÑPÔPÐPå"Ô6°vÐ>OÔ7PÐR[Ñ\Ô\ˆà˜Š?ˆ?Ý&Ð'KÑLÔLÐLØ�QŒ<˜3ÒÐÝ&Ð'VÑWÔWÐWØ�9ÐÐÝ&Ð'^Ñ_Ô_Ð_ÝŒ7�=Š=˜Ñ#Ô#ð 	XÝ&Ð'VÑWÔWÐWÝ˜	Ñ"Ô"ð 	5ÝŒLÐeØ"&Ô"3ð5ñ 5ô 5ð 5à˜Ô-Ð-Ð-ØÔ-°°Ñ;ˆIØ—k’k )Ñ,Ô,ˆGÝÐMÀ7ÐMÐMÐMÑNÔNÐNØ˜Ô(Ð(Ð(ØÔ)¨)Ô4ˆJØð h 
× 0Ò 0Ñ 2Ô 2ð hÝ*Ð+f¸*Ô:KÐ+fÐ+fÐ+fÑgÔgÐgØ�iÔ ð qØ”ZÔ+¨IÔ6�Ø 	Ô*�Ø˜Ò$Ð$­HÔ,IÈ"ÈfÑ,UÔ,UÐVWÔ,XÐ$Ý.Ð/o¸YÐ/oÐ/oÐTVÐ/oÐ/oÐ]cÐ/oÐ/oÐ/oÑpÔpÐpØÐàÔÔ*ˆð	Ø—Y’Y˜y¨&Ñ1Ô1ˆFˆFøÝÔ!ð 	ð 	ð 	Øð HÝ”˜‘”�Ý”˜­¬	°)Ñ(<Ô(<¸oÍtÌxÐX\É~Ì~Ð_lÑmÔmÐmØ×/Ò/°	ÀQÐ/ÑGÔGÐGÐGÐGÐGÐGÐGØˆGøøøøð	øøøõ ”W—\’\ $Ô"2×"AÒ"AÑ"CÔ"CÀVÑLÔLˆ
Ý
Œ•B”G—L’L ¤Ô!7×!EÒ!EÑ!GÔ!GÈÑPÔPÐ[_Ð`Ñ`Ô`Ð`Ø"&ˆÔà—’˜Ô.°)°Ñ<Ñ=Ô=ˆØ%¥t¤y°Ñ'7Ô'7Ð8ˆØ�WÒÐØ�(�DœI fÑ-Ô-Ð.Ñ.ˆAÝŒÐ(�!Ð(�TÐ(Ð(Ð( %Ð(Ð(Ð(ð	Ø˜Ò Ð Ø×0Ò0°¸FÀOÐU[Ñ\Ô\Ð\Ø˜7Ò"Ð"Ø×0Ò0°¸FÀJÐP_ÐagÑhÔhÐhåÔ0Ð1q¸vÐ1qÐ1qÐfoÐ1qÐ1qÑrÔrÐrøåð 	ð 	ð 	ØÝð 	ð 	ð 	Øð HÝ”[ Ñ+Ô+ð Hð Hõ ”N 1­T¬[¸Ñ-FÔ-FÐGÑGÔGÐGðHð Hð Hñ Hô Hð Hð Hð Hð Hð Hð Høøøð Hð Hð Hð Hõ ”˜­¬°6Ñ):Ô):¸OÍTÌXÐVZÉ^Ì^Ð]jÑkÔkÐkØ×/Ò/°	ÀQÐ/ÑGÔGÐGÐGÐGÐGÐGÐGØˆGøøøøð	øøøsz   ÈH( È(J,È7A(J'ÊJ,Ê%J'Ê'J,Î'O> ÏO> Ï$O> Ï>SÐSÐ()QÑSÑQ!	Ñ!SÑ$Q!	Ñ%ASÒ:SÓ SÓSrð   úT.Dict[OptionKey, str]r'  úT.Optional[T.List[str]]c	                ó˜  — t          j        |¦  «        5  | j                             ¦   «         }	t	          |	| j        ||| j        ||||| j        ¬¦
  «
        }
| j        |
_        | j	        |
_	        | j
        |
_
        | j        |
_        | j        |
_        | j        |gz   |
_        | j        }t           j        }dt           _        |
                     ¦   «          t           j        }|t           _        t          j        dt          j        |¦  «        d¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        ¦   «          |d         rI|
j        }|d         }|dk    st)          j        ||¦  «        d         st-          d|› d|› d	|› d
�¦  «        ‚|| _        | j                             |
j        ¦  «         t1          |
||¬¦  «        | j        |<   |r| j                             |¦  «         | j                             |
j        ¦  «         | j                             |
j        ¦  «         |
j        | j        j        |<   | j        |         S )N)r  r  r  r  r   rß  z	finished.rè   râ  rã  rä  rå  ræ  )Úwarnings)r	   ré  r
   r"  r÷   rû   rþ   r  rø   rç   r»  rÿ  r  r   r  Úlog_warnings_counterÚrunrÆ   rÈ   rž   r   rí  r)   r  r@   r'  Úmerge)r¥   rÖ  rý   rð   rn   r  r'  r  r  Ú	new_buildÚsubiÚcurrent_activeÚcurrent_warnings_counterÚsubi_warningsrø  r¤  s                   r}   rñ  z Interpreter._do_subproject_meson¥  s…  € õ Œ[˜Ñ#Ô#ð 	Fð 	FØœ
ŸšÑ)Ô)ˆIÝ˜y¨$¬,¸	À6È4ÔK^Ø.°CÀ}Ø+6Ø48Ô4MðOñ Oô OˆDð  $Ô/ˆDÔØœ<ˆDŒLØ"œoˆDŒOØ$(Ô$9ˆDÔ!Øœ<ˆDŒLà$(Ô$9¸Y¸KÑ$GˆDÔ!Ø!Ô4ˆNÝ'+Ô'@Ð$Ø()�DÔ%Ø�HŠH‰JŒJˆJÝ Ô5ˆMØ(@�DÔ%åŒH�\¥4¤9¨YÑ#7Ô#7¸ÑEÔEÐEð/	Fð 	Fð 	Fñ 	Fô 	Fð 	Fð 	Fð 	Fð 	Fð 	Fð 	Føøøð 	Fð 	Fð 	Fð 	Fõ2 	Œ‰
Œ
ˆ
à�)Ôð 	mØÔ%ˆBØ˜IÔ&ˆFØ�[Ò Ð ­Ô(EÀbÈ&Ñ(QÔ(QÐRSÔ(TÐ Ý*Ð+k¸Ð+kÐ+kÐPRÐ+kÐ+kÐY_Ð+kÐ+kÐ+kÑlÔlÐlØ"0ˆÔØÔ×Ò Ô 0Ñ1Ô1Ð1Ý&6°t¸VÈmÐ&\Ñ&\Ô&\ˆÔ˜Ñ#àð 	9ØÔ ×'Ò'¨Ñ8Ô8Ð8àÔ×#Ò# DÔ$8Ñ9Ô9Ð9ØŒ
×Ò˜œÑ$Ô$Ð$Ø,0Ô,@ˆŒ
Ô˜yÑ)ØÔ 	Ô*Ð*s   •DD"Ä"D&Ä)D&rû  c                ó®  — t          j        |¦  «        5  | j                             ¦   «         }| j        j        t          d¦  «                 j        }ddlm	} |d         p	 |¦   «         }	|d         |	j
        z   }
t          |t          |¦  «        t          |¦  «        t          |¦  «        |j        | j        ¦  «        }|                     |
¦  «         |                     ¦   «          |                     |	j        ¦  «        }t          j        ¦   «          t          j        d¦  «        5  t          j        d¦  «         ddlm}m}  |d	¬
¦  «        }|                      |¦   «         ¦  «         |                     |¦  «         |                     ¦   «          t2          j                             | j        j                             ¦   «         |d¦  «        }t;          |dd¬¦  «        5 }|                     |j        ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        d|¦  «         t          j         |¦  «         t          j        ¦   «          d d d ¦  «         n# 1 swxY w Y   |  !                    |||||d„ |j"        D ¦   «         d	tF          j$        h¬¦  «        }||_%        d d d ¦  «         n# 1 swxY w Y   t          j        ¦   «          |S )Nrë  r   )ÚCMakeSubprojectOptionsrÒ  rÓ  z	cmake-astzProcessing generated meson AST)ÚAstIndentationGeneratorrš  T)Úupdate_ast_line_nosúmeson.buildÚwúutf-8©ÚencodingzBuild file:c                ó,   — g | ]}t          |¦  «        ‘ŒS rÝ   ©r„   )rŒ   r  s     r}   rŽ   z4Interpreter._do_subproject_cmake.<locals>.<listcomp>þ  s   € Ð5Ð5Ð5 •S˜‘V”VÐ5Ð5Ð5r   )r  r  )&r	   ré  r
   r"  r   rÒ  r   rt   Úmodules.cmaker
  rÓ  r9   rk   r   rû   Ú
initialiseÚanalyseÚpretend_to_be_mesonÚtarget_optionsrÆ   r  r  rš  rœ  Úpost_processr  r  r—   r(  ÚopenÚwriter�  Úcmd_ci_includerñ  Úbs_filesrà   râ   Úcm_interpreter)r¥   rÖ  rý   rû  rð   rn   r  rë  r
  rÒ  rÓ  Úcm_intr  r  rš  rž  Úmeson_filenamer  r�  s                      r}   rò  z Interpreter._do_subproject_cmakeØ  sx  € õ Œ[˜Ñ#Ô#ð )	+ð )	+Øœ
ŸšÑ)Ô)ˆIØ”]Ô*­9°XÑ+>Ô+>Ô?ÔEˆFà>Ð>Ð>Ð>Ð>Ð>Ø˜YÔ'ÐCÐ+AÐ+AÑ+CÔ+CˆGØ" ?Ô3°gÔ6KÑKˆMÝ% iµ°f±´½tÀJÑ?OÔ?OÕQUÐV\ÑQ]ÔQ]Ð_hÔ_tÐvzô  wCñ  Dô  DˆFØ×Ò˜mÑ,Ô,Ð,Ø�NŠNÑÔÐð ×,Ò,¨WÔ-CÑDÔDˆCåŒH‰JŒJˆJÝ”˜[Ñ)Ô)ð ð Ý”Ð9Ñ:Ô:Ð:ð FÐEÐEÐEÐEÐEÐEÐEØ$˜*¸Ð>Ñ>Ô>�Ø—
’
Ð2Ð2Ñ4Ô4Ñ5Ô5Ð5Ø—
’
˜7Ñ#Ô#Ð#Ø×$Ò$Ñ&Ô&Ð&Ý!#¤§¢¨d¬jÔ.D×.RÒ.RÑ.TÔ.TÐV\Ð^kÑ!lÔ!l�Ý˜.¨#¸Ð@Ñ@Ô@ð ,ÀAØ—G’G˜GœNÑ+Ô+Ð+ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,õ ”˜¨Ñ7Ô7Ð7ÝÔ# NÑ3Ô3Ð3Ý”‘
”
�
ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð" ×.Ò.Ø˜v Ø˜CØ5Ð5 V¤_Ð5Ñ5Ô5Ø"&å1ÔRð!ð /ñ ô ˆFð %+ˆFÔ!ðS)	+ð )	+ð )	+ñ )	+ô )	+ð )	+ð )	+ð )	+ð )	+ð )	+ð )	+øøøð )	+ð )	+ð )	+ð )	+õV 	Œ‰
Œ
ˆ
Øˆs\   •DJ7Ä*B>I"Ç(HÈI"ÈHÈI"ÈHÈ?I"ÉJ7É"I&	É&J7É)I&	É*AJ7Ê7J;Ê>J;Úoptnameúcoredata.UserOptionc                ó  — t          j        |¦  «                             | j        ¬¦  «        }|                     ¦   «         sŠ| j        j        t          j        fD ]q}| 	                    |¦  «        }|�|j
        r'| 	                    |                     ¦   «         ¦  «        }|�(t          |t
          j        ¦  «        s
J d¦   «         ‚|c S Œr	 | j        j        |         }|j
        rþ|j        r÷|                     ¦   «         | j        j        v r×| j        j        |                     ¦   «                  }t          |¦  «        t          |¦  «        u r|}n’|j        j        dd …         d d…                              ¦   «         }|j        j        dd …         d d…                              ¦   «         }t%          j        d                     ||| j        |¦  «        | j        ¬¦  «         |S # t,          $ r Y nw xY wt/          d|›d�¦  «        ‚)	N©r¬   zfor mypyé   iúÿÿÿz±Option {0!r} of type {1!r} in subproject {2!r} cannot yield to parent option of type {3!r}, ignoring parent value. Use -D{2}:{0}=value to set the value for this option manually.r?  zTried to access unknown option r  )r   Úfrom_stringÚevolver¬   Ú
is_projectr   rÒ  r   Úbase_optionsÚgetÚyieldingÚas_rootry   r¹   Útyper,  rÚ   Úlowerr	   rw  r�   rK  rJ  r)   )	r¥   r!  ÚkeyÚoptsr“   ÚoptÚpoptÚopt_typeÚ	popt_types	            r}   Úget_option_internalzInterpreter.get_option_internal	  s   € ÝÔ# GÑ,Ô,×3Ò3¸t¼Ð3ÑOÔOˆà�~Š~ÑÔð 	ØœÔ.µ	Ô0FÐGð ð �Ø—H’H˜S‘M”M�Ø�9 ¤
�9ØŸš §¢¡¤Ñ/Ô/�AØ�=Ý% a­Ô)<Ñ=Ô=ÐIÐI¸zÑIÔIÐIØ�H�H�Hð !ð	Ø”-Ô'¨Ô,ˆCØŒ|ð = ¤ð =°3·;²;±=´=ÀDÄMÔDYÐ3YÐ3YØ”}Ô,¨S¯[ª[©]¬]Ô;�Ý˜‘9”9¥ T¡
¤
Ð*Ð*Ø�C�Cð  #œ}Ô5°a°b°bÔ9¸#¸2¸#Ô>×DÒDÑFÔF�HØ $¤Ô 7¸¸¸Ô ;¸C¸R¸CÔ @× FÒ FÑ HÔ H�Iõ ”Lð "%÷ &,¢V¨G°X¸t¼ÐPYÑ%ZÔ%ZØ*.Ô*;ð	=ñ =ô =ð =ð
 ˆJøÝð 	ð 	ð 	ØˆDð	øøøõ #Ð#QÀWÐ#QÐ#QÐ#QÑRÔRÐRs   ÃDG& Ç&
G3Ç2G3rX  ú(T.Union[coredata.UserOption, 'TYPE_var']c                ó^  — |d         }d|v rt          d¦  «        ‚|                      |¦  «        }t          |t          j        ¦  «        r	||_        |S t          |t          j        ¦  «        r?t          |j        t          ¦  «        rt          j
        |j        d|› d�¦  «        S |j        S |S )Nr   rÃ   zuHaving a colon in option name is forbidden, projects are not allowed to directly access options of other subprojects.ú{ú})r)   r5  ry   r   rú  r  r¹   rt   r„   r¼  rÆ  )r¥   rÍ  r€   rn   r!  r1  s         r}   r•  zInterpreter.func_get_option,  s¿   € ð �q”'ˆØ�'ˆ>ˆ>Ý&ð (Gñ Hô Hð Hð ×&Ò& wÑ/Ô/ˆÝ�c�8Ô5Ñ6Ô6ð 	ØˆCŒHØˆJÝ˜�XÔ0Ñ1Ô1ð 	Ý˜#œ)¥SÑ)Ô)ð GÝÔ)¨#¬)Ð5E¸'Ð5EÐ5EÐ5EÑFÔFÐFØ”9ÐØˆ
r   rK  ú'T.Tuple[T.Optional[T.Dict[str, T.Any]]]úbuild.ConfigurationDatac                ó  — |d         }|�ot          j        dd| j        |¬¦  «         |                     ¦   «         D ]=\  }}t	          |t
          t          t          f¦  «        st          d|›d|›d�¦  «        ‚Œ>t          j
        |¦  «        S )Nr   zconfiguration_data dictionaryú0.49.0r?  ú4"configuration_data": initial value dictionary key "ú$"" must be "str | int | bool", not "rb  )r/   r·   r¬   r™   ry   r„   rš   rƒ   r*   r
   rý  )r¥   rY  r€   rn   Úinitial_valuesr’   r“   s          r}   r‡  z#Interpreter.func_configuration_data?  s±   € ð ˜aœˆØÐ%ÝÔ!Ð"AÀ8ÈTÌ_ÐgkÐlÑlÔlÐlØ&×,Ò,Ñ.Ô.ð @ð @‘��1Ý! !¥c­3µÐ%5Ñ6Ô6ð @Ý*Ø~ÈqÐ~Ð~ÐxyÐ~Ð~Ð~ñ@ô @ð @ð@õ Ô& ~Ñ6Ô6Ð6r   c                óÜ  — | j         �d S | j                             t          d¦  «        ¦  «        }ddl m} |                     || j        | ¦  «        | _         | j         €t          d|› d�¦  «        ‚|| j         j        k    r‚| j         j         	                    d¦  «        r1t          j        dt          j        | j         j        ¦  «        ¦  «         | j                             t          d¦  «        | j         j        ¦  «         | j        j        r| j                             |¦  «         d„ | j        j                             ¦   «         D ¦   «         }| j                             |¦  «         d S )	Nrû   r   )ÚbackendszUnknown backend "ú".Úvsz$Auto detected Visual Studio backend:c                óB   — i | ]\  }}|                      ¦   «         ¯||“ŒS rÝ   )Ú
is_backendr‘   s      r}   ú
<dictcomp>z+Interpreter.set_backend.<locals>.<dictcomp>`  s+   € ÐWÐWÐW™D˜A˜qÈÏÊÉÌÐW�1�aÐWÐWÐWr   )rû   r   rX  r   rB  Úget_backend_from_namer
   r)   r  r'  r	   rÆ   rÈ   Ú
set_optionr   Úfirst_invocationÚinit_backend_optionsrÒ  r™   Úset_options)r¥   rû   rB  rÒ  s       r}   Úset_backendzInterpreter.set_backendL  sU  € àŒ<Ð#ØˆFØ”-×*Ò*­9°YÑ+?Ô+?Ñ@Ô@ˆØ&Ð&Ð&Ð&Ð&Ð&Ø×5Ò5°g¸t¼zÈ4ÑPÔPˆŒàŒ<ÐÝ&Ð'F¸7Ð'FÐ'FÐ'FÑGÔGÐGØ�d”lÔ'Ò'Ð'ØŒ|Ô ×+Ò+¨DÑ1Ô1ð _Ý”Ð?ÅÄÈ4Ì<ÔK\ÑA]ÔA]Ñ^Ô^Ð^ØŒM×$Ò$¥Y¨yÑ%9Ô%9¸4¼<Ô;LÑMÔMÐMð ÔÔ,ð 	8ØŒM×.Ò.¨wÑ7Ô7Ð7àWÐW DÔ$4Ô$<×$BÒ$BÑ$DÔ$DÐWÑWÔWˆØŒ×!Ò! 'Ñ*Ô*Ð*Ð*Ð*r   rj  Úmeson_versionrâ  c                ó@   — t          | t          ¦  «        r| d         n| S r    ©ry   rz   ©r�   s    r}   ú<lambda>zInterpreter.<lambda>m  s   € ­
°1µdÑ(;Ô(;Ð B  !¤ À€ r   )r~  Ú	validatorÚ	convertorÚlicenseÚunknown)r~  úT.Tuple[str, T.List[str]]ú'kwtypes.Project'c                ó’  — |\  }}d|v rt          d|›d�¦  «        ‚|d         rXt          j        }|d         }t          j        ||¦  «        st          d|› d|› �¦  «        ‚|d         t          j        | j        <   t          j	         
                    | j        ¦  «        rlt          j        | j        ¦  «        }|                     | j        ¦  «         | j                             |j        ¦  «         |                      | j        ¦  «         t          j        |d         | j        ¦  «        | _        | j        j        s| j        dk    rŠ| j        | j        j        vrw| j                             ¦   «         }	|	                     | j        ¦  «         | j                             | j        ¦  «         | j        j                             | j        ¦  «         ni }	| j                             |	| j        | j        ¦  «         |                      ¦   «         s|| j        _        || _         |d	         }
tC          |
t          j"        ¦  «        �r
tG          j$        d
d| j        |¬¦  «         |                      |
¦  «         |
 %                    | j        j&        | j        j'        ¦  «        }	 tQ          |¦  «         )                    d¬¦  «         *                    d¦  «        }n# tV          $ r t          d¦  «        ‚w xY wtY          |¦  «        dk    r|d         dk    r
|dd…         }tY          |¦  «        dk    rt          d¦  «        ‚|d         | _-        n|
| _-        | j        j-        €| j-        | j        _-        |d         }t=          j.        | j-        |¦  «        | j        j/        |<   | j        | j        j0        v rtc          d¦  «        ‚|d         }tC          |td          ¦  «        st          d¦  «        ‚t          j	         3                    |¦  «        rt          d¦  «        ‚| 4                    d¦  «        rt          d¦  «        ‚d|v rt          d¦  «        ‚|                      ¦   «         s|| _5        | j5        | j        _5        | j         6                    to          d¦  «        ¦  «        }|                      ¦   «         r|tp          j9        k    r˜t          j	         :                    | j;        |¦  «        }ty          j=        | j         >                    ¦   «         || j        |¦  «        }|                      ¦   «         r | j        j?         @                    |¦  «         n|| j        _?        || j        j0        | j        <   tƒ          jB        dtƒ          jC        |¦  «        ¦  «         tƒ          jB        d tƒ          jC        | j-        ¦  «        ¦  «         |                      ¦   «         sh| j         6                    to          d!¦  «        ¦  «        }| jD        jE        p| 4                    d"¦  «        }t          jF        |¦  «        rd#| j        _G        |  H                    |d#t’          jJ        ¦  «         |  H                    |d$t’          jK        ¦  «         |  L                    ¦   «          |                      ¦   «         s|  M                    ¦   «          d S d S )%NrÃ   zProject name z must not contain ':'rN  zMeson version is z but project requires rð   rÁ   rè   zversion from filer±   r?  r  r  rÎ   zVersion file not found.r   r;   r   z3Version file must contain exactly one line of text.rU  zSecond call to project().rþ   zSubproject_dir must be a stringz,Subproject_dir must not be an absolute path.r  z,Subproject_dir must not begin with a period.rá  z/Subproject_dir must not contain a ".." segment.Ú	wrap_modezProject name:zProject version:rû   rD  TF)Nr*   r   rè   r   Úversion_comparer)   Úproject_meson_versionsr¬   r  r  Úexistsr  r   ÚOptionInterpreterÚprocessÚupdate_project_optionsrÒ  r7  rì  r#  r   rJ  Úinitialized_subprojectsr"  r  rÿ   Úinit_builtinsr)  Úset_default_optionsrŠ  r
   r�   r  ry   r|   r/   r·   r½  r‰  Ú	build_dirrk   Ú	read_textr  ÚFileNotFoundErrorr{   rž   ÚDepManifestÚdep_manifestÚprojectsr+   r„   rÀ  r'  rþ   rX  r   r   Ú	nopromoter—   rý   r   ÚResolverr  rî  Úmerge_wrapsr	   rÆ   rÈ   r  ÚvsenvÚsetup_vsenvÚ
need_vsenvrA  r   rC  rE  rM  rV  )r¥   rY  r€   rn   Ú	proj_nameÚ
proj_langsÚcvrø  Úoirð   rè   ÚifnameÚver_dataÚproj_licenseÚ	spdirnamerZ  rý   rù  rû   Úforce_vsenvs                       r}   r§  zInterpreter.func_projectc  sh  € ð  !%Ñˆ	�:Ø�)ÐÐÝ"Ð#U°9Ð#UÐ#UÐ#UÑVÔVÐVð �/Ô"ð 	WÝÔ!ˆBØ˜Ô(ˆBÝÔ+¨B°Ñ3Ô3ð _Ý*Ð+]¸rÐ+]Ð+]ÐY[Ð+]Ð+]Ñ^Ô^Ð^Ø?EÀoÔ?V�HÔ+¨D¬OÑ<åŒ7�>Š>˜$Ô*Ñ+Ô+ð 	6ÝÔ1°$´/ÑBÔBˆBØ�JŠJ�tÔ'Ñ(Ô(Ð(ØŒM×0Ò0°´Ñ<Ô<Ð<Ø×#Ò# DÔ$4Ñ5Ô5Ð5õ (0Ô'CØÐ$Ô% t¤ñ(8ô (8ˆÔ$ð ÔÔ,ð 	!°´ÀBÒ1FÐ1FÈ4Ì?ÐbfÔboô  cHð  LHð  LHØ"Ô:×?Ò?ÑAÔAˆOØ×"Ò" 4Ô#?Ñ@Ô@Ð@ØŒM×'Ò'¨¬Ñ8Ô8Ð8ØŒMÔ1×5Ò5°d´oÑFÔFÐFÐFà ˆOØŒ×)Ò)¨/¸4¼?ÈDÔL\Ñ]Ô]Ð]à×!Ò!Ñ#Ô#ð 	0Ø&/ˆDŒJÔ#Ø"+ˆÔà˜Ô#ˆÝ�g�xœ}Ñ-Ô-ñ 	+ÝÔ!Ð"5°xÀÄÐ[_Ð`Ñ`Ô`Ð`Ø×#Ò# GÑ,Ô,Ð,Ø×*Ò*¨4Ô+;Ô+FØ+/Ô+;Ô+EñGô GˆFðFÝ ™<œ<×1Ò1¸7Ð1ÑCÔC×IÒIÈ$ÑOÔO��øÝ$ð Fð Fð FÝ*Ð+DÑEÔEÐEðFøøøå�8‰}Œ} Ò!Ð! h¨q¤k°RÒ&7Ð&7Ø# A a Cœ=�Ý�8‰}Œ} Ò!Ð!Ý*Ð+`ÑaÔaÐaØ#+¨A¤;ˆDÔ Ð à#*ˆDÔ àŒ:Ô%Ð-Ø)-Ô)=ˆDŒJÔ&Ø˜iÔ(ˆÝ-2Ô->¸tÔ?SÐUaÑ-bÔ-bˆŒ
Ô 	Ñ*ØŒ?˜dœjÔ1Ð1Ð1ÝÐ9Ñ:Ô:Ð:ð Ð+Ô,ˆ	Ý˜)¥SÑ)Ô)ð 	JÝ&Ð'HÑIÔIÐIÝŒ7�=Š=˜Ñ#Ô#ð 	WÝ&Ð'UÑVÔVÐVØ×Ò Ñ$Ô$ð 	WÝ&Ð'UÑVÔVÐVØ�9ÐÐÝ&Ð'XÑYÔYÐYØ×!Ò!Ñ#Ô#ð 	,Ø"+ˆDÔØ$(Ô$7ˆŒ
Ô!ð ”M×,Ò,­Y°{Ñ-CÔ-CÑDÔDˆ	Ø×!Ò!Ñ#Ô#ð 	3 yµHÔ4FÒ'FÐ'FÝ”W—\’\ $¤+¨yÑ9Ô9ˆFÝ”˜dÔ.×=Ò=Ñ?Ô?ÀÈÌÐZcÑdÔdˆAØ×!Ò!Ñ#Ô#ð 3ØÔ Ô.×:Ò:¸1Ñ=Ô=Ð=Ð=à12�Ô Ô.à/8ˆŒ
Ô˜DœOÑ,ÝŒ�¥$¤)¨IÑ"6Ô"6Ñ7Ô7Ð7ÝŒÐ#¥T¤Y¨tÔ/CÑ%DÔ%DÑEÔEÐEà×!Ò!Ñ#Ô#ð 	-ð
 ”m×.Ò.­y¸Ñ/CÔ/CÑDÔDˆGØÔ3Ô9ÐU¸W×=OÒ=OÐPTÑ=UÔ=UˆKÝÔ# KÑ0Ô0ð -Ø(,�”
Ô%à×Ò˜: t­]Ô-?Ñ@Ô@Ð@Ø×Ò˜: u­mÔ.AÑBÔBÐBà×ÒÑÔÐØ×!Ò!Ñ#Ô#ð 	!Ø×ÒÑ Ô Ð Ð Ð ð	!ð 	!s   Ê"6K ËK3rA  rå   ú'kwtypes.FuncAddLanguages'c           	     ó~  — |d         }t          || j        ¦  «        \  }}}|d         }|r\t          |t          j        ¬¦  «        D ]>}	t          j        dt          j        |	¦  «        dt          j        |¦  «        d¦  «         Œ?dS |�*|                      |||  	                    |¦  «        ¦  «        S t          j        | j        ¦  «        }
t          j        |
d¦  «        rt          j        d	|¬
¦  «         |                      |dt          j        ¦  «        }||                      ||t          j        ¦  «        z  }|S )Nr   rå   ©r/  úCompiler for languagerà  rp  Fr‚  zXadd_languages is missing native:, assuming languages are wanted for both host and build.r?  )rC   r¬   Úsortedr   Ú
sort_clinkr	   rÆ   rÈ   rA  Úmachine_from_native_kwargr/   Úget_target_versionÚcheck_versionrw  r   rE  rC  )r¥   rY  r€   rn   Úlangsrp  rë   rõ  rå   ÚlangÚtvÚsuccesss               r}   r}  zInterpreter.func_add_languagesä  sE  € ð �Q”ˆÝ&<¸VÀTÄ_Ñ&UÔ&UÑ#ˆ�(˜GØ˜Ô!ˆàð 	Ý˜u­)Ô*>Ð?Ñ?Ô?ð wð w�Ý”Ð0µ$´)¸D±/´/ÐCUÕW[ÔW`ÐahÑWiÔWiÐkuÑvÔvÐvÐvØ�5ØÐØ×%Ò% e¨X°t×7UÒ7UÐV\Ñ7]Ô7]Ñ^Ô^Ð^õ Ô.¨t¬Ñ?Ô?ˆBÝÔ'¨¨HÑ5Ô5ð ,Ý”ÐwØ&*ð,ñ ,ô ,ð ,ð ×(Ò(¨°µ}Ô7JÑKÔKˆGØ�t×)Ò)¨%°½=Ô;MÑNÔNÑNˆGØˆNr   c                ó¨   — t          |¦  «        dk    rt          j        dd| j        |¬¦  «         d„ |D ¦   «         }|                      |¦  «         d S )Nr;   z#message with more than one argumentr‚  r?  c                ó,   — g | ]}t          |¦  «        ‘ŒS rÝ   r‰   ©rŒ   r½   s     r}   rŽ   z,Interpreter.func_message.<locals>.<listcomp>  ó!   € Ð<Ð<Ð<°!Õ*¨1Ñ-Ô-Ð<Ð<Ð<r   )r{   r/   r·   r¬   Úmessage_impl©r¥   rY  r€   rn   Úargs_strs        r}   r¥  zInterpreter.func_messageü  s`   € õ ˆt‰9Œ9�qŠ=ˆ=ÝÔ!Ð"GÈÐSWÔSbÐmqÐrÑrÔrÐrØ<Ð<°tÐ<Ñ<Ô<ˆØ×Ò˜(Ñ#Ô#Ð#Ð#Ð#r   c                óN   — t          j        t          j        d¦  «        g|¢R Ž  d S )NzMessage:)r	   rÆ   rÈ   ©r¥   r€   s     r}   rŠ  zInterpreter.message_impl  s*   € ÝŒ•”˜:Ñ&Ô&Ð.¨Ð.Ð.Ð.Ð.Ð.Ð.r   r  r™  r§   rª   r«   ú<T.Tuple[T.Union[str, T.Dict[str, T.Any]], T.Optional[T.Any]]ú'kwtypes.Summary'c                ó*  — |d         €3t          |d         t          ¦  «        st          d¦  «        ‚|d         }n:t          |d         t          ¦  «        st          d¦  «        ‚|d         |d         i}|                      |d         ||¦  «         d S )Nr;   r   z*Summary first argument must be dictionary.z&Summary first argument must be string.r§   )ry   r˜   r)   r„   Úsummary_impl)r¥   rY  r€   rn   r¨   s        r}   r³  zInterpreter.func_summary  s™   € ð �Œ7ˆ?Ý˜d 1œg¥tÑ,Ô,ð YÝ*Ð+WÑXÔXÐXØ˜!”WˆFˆFå˜d 1œg¥sÑ+Ô+ð UÝ*Ð+SÑTÔTÐTØ˜1”g˜t AœwÐ'ˆFØ×Ò˜& Ô+¨V°VÑ<Ô<Ð<Ð<Ð<r   c                óä   — | j         | j        vr't          | j        | j        ¦  «        | j        | j         <   | j        | j                                       |||d         |d         | j         ¦  «         d S )Nrª   r«   )r¬   r  rœ   r  rž   r¿   )r¥   r§   r¨   rn   s       r}   r’  zInterpreter.summary_impl  sv   € ØŒ? $¤,Ð.Ð.Ý,3°DÔ4KÈTÔMaÑ,bÔ,bˆDŒL˜œÑ)ØŒ�T”_Ô%×1Ò1Ø�V˜V IÔ.°°zÔ0BÀDÄOñ	Uô 	Uð 	Uð 	Uð 	Ur   c                ó:  — t          j        ¦   «         }t          | j                             ¦   «         ¦  «        D ]h\  }}|                     ¦   «         }|j        r|d|j        ›d�g}n5|j        r|t          |j        ¦  «        g}n|j	        dk    r||j	        › d�g}|||<   Œi|r|  
                    d|dddœ¦  «         | j        r¯t          j        ¦   «         }| j        j        r| j        j        |d	<   | j        j        r| j        j        |d
<   t          | j        j                             ¦   «         ¦  «        }|                     d„ |D ¦   «         ¦  «         |r|  
                    d|dd dœ¦  «         t!          j        d¦  «         | j                             dd ¦  «        }t          | j                             ¦   «         ¦  «        D ]8\  }}	| j        |                              ¦   «         r|	                     ¦   «          Œ9|r|                     ¦   «          d S d S )NzFeature z	 disabledr   z	 warningsÚSubprojectsTrÂ   )rª   r«   zCross fileszNative filesc                ó4   — i | ]\  }}t          |¦  «        |“ŒS rÝ   r  r‘   s      r}   rG  z.Interpreter._print_summary.<locals>.<dictcomp>;  s$   € Ð@Ð@Ð@©¨¨A�3˜q™6œ6 1Ð@Ð@Ð@r   zUser defined optionsFrÁ   )r¡   ÚOrderedDictr}  rø   r™   rº  r×  ry  r„   r   r’  r  Ú
cross_fileÚnative_fileÚcmd_line_optionsr  r	   rÆ   r  ÚpoprÌ   )
r¥   Úall_subprojectsr  Úsubprt   r¨   Úsorted_optionsÚmain_summaryrÖ  r  s
             r}   Ú_print_summaryzInterpreter._print_summary"  sW  € å%Ô1Ñ3Ô3ˆÝ  Ô!1×!7Ò!7Ñ!9Ô!9Ñ:Ô:ð 	*ð 	*‰JˆD�$Ø—J’J‘L”LˆEØÔ$ð =ØÐ M¨4Ô+@Ð MÐ MÐ MÐN��Ø”ð =Ø¥ D¤NÑ 3Ô 3Ð4��Ø” Ò"Ð"Ø 4¤=Ð ;Ð ;Ð ;Ð<�Ø$)ˆO˜DÑ!Ð!Øð 	"Ø×Ò˜m¨_Ø*.Ø+.ð!ð !ñ"ô "ð "ð
 Ô$ð 		hÝ Ô,Ñ.Ô.ˆFØÔ(Ô3ð MØ(,Ô(AÔ(L��}Ñ%ØÔ(Ô4ð OØ)-Ô)BÔ)N��~Ñ&Ý# DÔ$=Ô$N×$TÒ$TÑ$VÔ$VÑWÔWˆNØ�MŠMÐ@Ð@°Ð@Ñ@Ô@ÑAÔAÐAØð hØ×!Ò!Ð"8¸&ÈeÐaeÐBfÐBfÑgÔgÐgåŒ�‰ŒˆØ”|×'Ò'¨¨DÑ1Ô1ˆÝ"(¨¬×);Ò);Ñ)=Ô)=Ñ">Ô">ð 	ð 	ÑˆI�wØÔ 	Ô*×0Ò0Ñ2Ô2ð Ø—’‘”�øØð 	 Ø×ÒÑÔÐÐÐð	 ð 	 r   rw  z0.44.0c                ó    — t          |¦  «        dk    rt          j        dd| j        |¬¦  «         d„ |D ¦   «         }t	          j        |d|iŽ d S )Nr;   z#warning with more than one argumentr‚  r?  c                ó,   — g | ]}t          |¦  «        ‘ŒS rÝ   r‰   rˆ  s     r}   rŽ   z,Interpreter.func_warning.<locals>.<listcomp>M  r‰  r   r@  )r{   r/   r·   r¬   r	   rw  r‹  s        r}   r·  zInterpreter.func_warningG  sa   € õ ˆt‰9Œ9�qŠ=ˆ=ÝÔ!Ð"GÈÐSWÔSbÐmqÐrÑrÔrÐrØ<Ð<°tÐ<Ñ<Ô<ˆÝŒ�hÐ.¨Ð.Ð.Ð.Ð.Ð.r   c                óÄ   — t          |¦  «        dk    rt          j        dd| j        |¬¦  «         d„ |D ¦   «         }t	          dd                     |¦  «        z   ¦  «        ‚)Nr;   z!error with more than one argumentr³   r?  c                ó,   — g | ]}t          |¦  «        ‘ŒS rÝ   r‰   rˆ  s     r}   rŽ   z*Interpreter.func_error.<locals>.<listcomp>U  r‰  r   zProblem encountered: rÂ   )r{   r/   r·   r¬   r)   r—   r‹  s        r}   r�  zInterpreter.func_errorP  sf   € õ ˆt‰9Œ9�qŠ=ˆ=ÝÔ!Ð"EÀxÐQUÔQ`ÐkoÐpÑpÔpÐpØ<Ð<°tÐ<Ñ<Ô<ˆÝ"Ð#:¸S¿XºXÀhÑ=OÔ=OÑ#OÑPÔPÐPr   rN  ú0.63.0c                óB   — d„ |D ¦   «         }t          j        dg|¢R Ž  d S )Nc                ó,   — g | ]}t          |¦  «        ‘ŒS rÝ   r‰   rˆ  s     r}   rŽ   z*Interpreter.func_debug.<locals>.<listcomp>\  r‰  r   zDebug:)r	   rN  r‹  s        r}   rŠ  zInterpreter.func_debugX  s5   € ð =Ð<°tÐ<Ñ<Ô<ˆÝŒ
�8Ð'˜hÐ'Ð'Ð'Ð'Ð'Ð'r   c                ó    — t          d¦  «        ‚)Nzunit test traceback :))ÚRuntimeErrorr|  s       r}   r¹  zInterpreter.func_exception_  s   € õ Ð3Ñ4Ô4Ð4r   úT.List[str]rë   rP  r   c                óÀ   — |                       |||¦  «        }| j                             ¦   «         s| j                             ¦   «          |                      ¦   «          |S r  )Úadd_languages_forr   rD  Ú$copy_build_options_from_regular_onesr+  )r¥   r€   rë   rP  r…  s        r}   rA  zInterpreter.add_languagesd  s[   € Ø×(Ò(¨¨x¸ÑEÔEˆØŒ}×+Ò+Ñ-Ô-ð 	AØŒM×>Ò>Ñ@Ô@Ð@Ø×ÒÑ!Ô!Ð!Øˆr   c                óú   — | j         j        j                             dd¦  «        }t	          |t
          ¦  «        st          d¦  «        ‚|t          j        k    r|sdS | j          	                    ¦   «         s|sdS |S )NÚskip_sanity_checkFz+Option skip_sanity_check must be a boolean.)
r   rF  r:  r*  ry   rƒ   r)   r   rC  rD  )r¥   rP  Úshoulds      r}   Úshould_skip_sanity_checkz$Interpreter.should_skip_sanity_checkk  sƒ   € ØÔ!Ô,Ô1×5Ò5Ð6IÈ5ÑQÔQˆÝ˜&¥$Ñ'Ô'ð 	VÝ&Ð'TÑUÔUÐUØ�-Ô,Ò,Ð,°VÐ,Ø�5ØÔ×.Ò.Ñ0Ô0ð 	¸ð 	Ø�5Øˆr   c                óŽ  — d„ |D ¦   «         }t          | j        |                              ¦   «         ¦  «        }|                     |¦  «         d|v r;d|vr7t	          j        dd| j        | j        ¬¦  «         |                     d¦  «         d|v r"t	          j        dd	| j        | j        ¬¦  «         d
}t          |t          j
        ¬¦  «        D �]ó}|| j        |         v rŒ|                     ¦   «         }| j        j        |                              |¦  «        }|sÎ	 t          j        | j        ||¦  «        }|€t!          d|› d�¦  «        ‚|                      |¦  «        rt%          j        d¦  «         n2|                     | j                             ¦   «         | j        ¦  «         n@# t,          $ r3 |s/t%          j        dt%          j        |¦  «        d|d¦  «         d}Y �Œ‚ w xY w| j        ri }	|                     ¦   «         D ]F}
t5          j        | j        j        |
         ¦  «        }|
                     | j        ¬¦  «        }
||	|
<   ŒG| j                             |	||| j        ¦  «         |t<          j        k    s| j                              ¦   «         rt$          j        }nt$          j!        } || "                    ¦   «         d|dt%          j        d #                    | $                    ¦   «         ¦  «        ¦  «        | %                    ¦   «         ¦  «         |j&        �s || "                    ¦   «         d|dt%          j        d #                    |j&         $                    ¦   «         ¦  «        ¦  «        |j&        j'        |j&        j(        ¦  «         | j)         *                    |¦  «         || j        |         |<   �Œõ|S )Nc                ó6   — g | ]}|                      ¦   «         ‘ŒS rÝ   )r.  )rŒ   rÉ  s     r}   rŽ   z1Interpreter.add_languages_for.<locals>.<listcomp>v  s    € Ð(Ð(Ð(˜a�—’‘	”	Ð(Ð(Ð(r   ÚvalaÚczAdding Vala language without CrW  r?  ÚnasmzAdding NASM languager²   Tr{  zTried to use unknown language "rC  z8Cross compiler sanity tests disabled via the cross file.r|  zfor thezmachine not found.Fr$  zcompiler for thezmachine:rÂ   zlinker for the)+r  r   rG  r  r/   r·   r¬   rK  r´   r}  r~  Úget_lower_case_namer   r*  Údetect_compiler_forr   r*   r±  r	   Úlog_onceÚsanity_checkÚget_scratch_dirró  rÆ   rÈ   Úget_optionsr"  rÒ  r'  Úadd_compiler_optionsr   rC  rD  rN  Úget_display_languager—   r¼  Úget_version_stringÚlinkerÚidrè   r
   Úensure_static_linker)r¥   r€   rë   rP  r‚  r…  rƒ  Úmachine_nameÚcomprÒ  r’   r“   Ú
logger_funs                r}   r¬  zInterpreter.add_languages_foru  sÅ  € Ø(Ð( 4Ð(Ñ(Ô(ˆÝ�D”N ;Ô/×4Ò4Ñ6Ô6Ñ7Ô7ˆØ�Š�TÑÔÐð �Uˆ?ˆ?˜s¨%Ð/Ð/ÝÔ!Ð"BÀHÈdÌoÐhlÔhyÐzÑzÔzÐzØ�KŠK˜ÑÔÐØ�Uˆ?ˆ?ÝÔ!Ð"8¸(ÀDÄOÐ^bÔ^oÐpÑpÔpÐpàˆÝ˜4¥YÔ%9Ð:Ñ:Ô:ð +	5ñ +	5ˆDØ�t”~ kÔ2Ð2Ð2ØØ&×:Ò:Ñ<Ô<ˆLØ”=Ô*¨;Ô7×;Ò;¸DÑAÔAˆDØð ðÝ$Ô8¸Ô9IÈ4ÐQ\Ñ]Ô]�DØ�|Ý.Ð/YÐQUÐ/YÐ/YÐ/YÑZÔZÐZØ×4Ò4°[ÑAÔAð `ÝœÐ&`ÑaÔaÐaÐaà×)Ò)¨$Ô*:×*JÒ*JÑ*LÔ*LÈdÔN^Ñ_Ô_Ð_øøÝ ð ð ð Ø#ð ÝœÐ!8Ý!%¤¨4¡¤°)¸\Ø!5ñ7ô 7ð 7ð #(˜Ø ™àðøøøð Œð aØ�Ø×)Ò)Ñ+Ô+ð #ð #�AÝœ	 $¤-Ô"7¸Ô":Ñ;Ô;�AØŸš¨D¬O˜Ñ<Ô<�AØ!"�G˜A‘J�JØ”×2Ò2°7¸DÀ+ÈtÔO_Ñ`Ô`Ð`à�mÔ0Ò0Ð0°DÔ4D×4SÒ4SÑ4UÔ4UÐ0Ý!œX�
�
å!œZ�
ØˆJ�t×0Ò0Ñ2Ô2Ð4FÈÐV`Ý”y §¢¨$×*:Ò*:Ñ*<Ô*<Ñ!=Ô!=Ñ>Ô>À×@WÒ@WÑ@YÔ@Yñ[ô [ð [àŒ{Ð&Ø�
˜4×4Ò4Ñ6Ô6Ð8HÈ,ÐXbÝœ9 S§X¢X¨d¬k×.EÒ.EÑ.GÔ.GÑ%HÔ%HÑIÔIÈ4Ì;Ì>Ð[_Ô[fÔ[nñpô pð pàŒJ×+Ò+¨DÑ1Ô1Ð1Ø04ˆDŒN˜;Ô'¨Ñ-Ñ-àˆs   ÄBF,Æ,8G)Ç'G)Ú	prognamesúT.List[mesonlib.FileOrString]úT.Optional[ExternalProgram]c                óö   — |D ]u}t          |t          j        ¦  «        rŒt          |t          ¦  «        st	          d¦  «        ‚t          j        | j        ||¦  «        }t          |t          ¦  «        s|c S Œvd S )Nz Executable name must be a string)	ry   r   r|   r„   r)   r   Úfrom_bin_listr   r   )r¥   rP  rÆ  r”  rÈ  s        r}   Úprogram_from_file_forz!Interpreter.program_from_file_forµ  sŠ   € àð 		ð 		ˆAÝ˜!�Xœ]Ñ+Ô+ð ØÝ˜a¥Ñ%Ô%ð OÝ*Ð+MÑNÔNÐNÝ"Ô0°Ô1AÀ;ÐPQÑRÔRˆDõ ˜dÕ$>Ñ?Ô?ð Ø���ðàˆtr   Úsearch_dirsÚ
extra_infoúT.List[mlog.TV_Loggable]c                óþ  — t           j                             | j                             ¦   «         | j        ¦  «        }|D �]<}t          |t          j        ¦  «        rŠ|j	        r=t           j                             | j         
                    ¦   «         |j        ¦  «        }n<t           j                             | j                             ¦   «         |j        ¦  «        }|j        }g }n,t          |t          ¦  «        r|}|}nt          d|›�¦  «        ‚t          |||d¬¦  «        }|                     ¦   «         rB|                     dd                     |                     ¦   «         ¦  «        › d�¦  «         |c S �Œ>d S )Nz1find_program only accepts strings and files, not T)r´  Úextra_search_dirsr³  ú(rÂ   ú))r  r  r—   r   r  rý   ry   r   r|   r#  r(  Úfnamer„   r*   r   rº  r´   Úget_command)	r¥   r€   rÌ  rÍ  r‰  Úexenamer´  rÐ  Úextprogs	            r}   Úprogram_from_systemzInterpreter.program_from_systemÃ  sy  € õ
 ”W—\’\ $Ô"2×"AÒ"AÑ"CÔ"CÀTÄ[ÑQÔQˆ
Øð 	ñ 	ˆGÝ˜'¥8¤=Ñ1Ô1ð hØÔ#ð >Ý!#¤§¢¨dÔ.>×.LÒ.LÑ.NÔ.NØ.5¬nñ">ô ">�J�Jõ "$¤§¢¨dÔ.>×.MÒ.MÑ.OÔ.OØ.5¬nñ">ô ">�Jà!œ-�Ø$&Ð!Ð!Ý˜G¥SÑ)Ô)ð hØ'�
Ø$/Ð!Ð!å&Ð'fÐ[bÐ'fÐ'fÑgÔgÐgÝ% g¸*Ø8IØ-1ð3ñ 3ô 3ˆGð �}Š}‰Œð Ø×!Ò!Ð"H c§h¢h¨w×/BÒ/BÑ/DÔ/DÑ&EÔ&EÐ"HÐ"HÐ"HÑIÔIÐIØ���ñð ˆtr   Úcommand_namesúT.List['mlog.TV_Loggable']úGT.Optional[T.Union[ExternalProgram, OverrideProgram, build.Executable]]c                óÒ   — |D ]c}t          |t          ¦  «        sŒ|| j        j        v r=| j        j        |         }|                     t          j        d¦  «        ¦  «         |c S Œdd S )Nz(overridden))ry   r„   r
   r¸  r´   r	   Úblue)r¥   rØ  rÍ  r  rÆ  s        r}   Úprogram_from_overridesz"Interpreter.program_from_overridesà  sz   € ð "ð 	ð 	ˆDÝ˜d¥CÑ(Ô(ð ØØ�t”zÔ0Ð0Ð0Ø”jÔ/°Ô5�Ø×!Ò!¥$¤)¨NÑ";Ô";Ñ<Ô<Ð<Ø�
�
�
ð 1ð ˆtr   c                óx   — |D ]6}t          |t          ¦  «        r| j        j                             |¦  «         Œ7d S r  )ry   r„   r
   Úsearched_programsr)  )r¥   rØ  r  s      r}   Ústore_name_lookupszInterpreter.store_name_lookupsì  sG   € Ø!ð 	7ð 	7ˆDÝ˜$¥Ñ$Ô$ð 7Ø”
Ô,×0Ò0°Ñ6Ô6Ð6øð	7ð 	7r   r  rÆ  ú=T.Union[build.Executable, ExternalProgram, 'OverrideProgram']c                ó¨   — || j         j        v rt          d|› d�¦  «        ‚|| j         j        v rt          d|› d�¦  «        ‚|| j         j        |<   d S )Nz)Tried to override finding of executable "z" which has already been found.zTried to override executable "z$" which has already been overridden.)r
   rß  r)   r¸  )r¥   r  rÆ  s      r}   Úadd_find_program_overridez%Interpreter.add_find_program_overrideñ  sl   € Ø�4”:Ô/Ð/Ð/Ý&Ð'xÐSWÐ'xÐ'xÐ'xÑyÔyÐyØ�4”:Ô,Ð,Ð,Ý&Ð'rÈÐ'rÐ'rÐ'rÑsÔsÐsØ*-ˆŒ
Ô! $Ñ'Ð'Ð'r   r   c                ó`   ‡ — t          d                     ˆ fd„|D ¦   «         ¦  «        ¦  «        S )NrÂ   c                ó’   •— g | ]C}t          |t          ¦  «        r|n)|                     ‰j        j        ‰j        j        ¦  «        ‘ŒDS rÝ   )ry   r„   r½  r   r‰  rd  )rŒ   rÉ  r¥   s     €r}   rŽ   z0Interpreter.notfound_program.<locals>.<listcomp>ú  sW   ø€ ð ð ð Øõ ˜Q¥Ñ$Ô$ÐrˆQˆQ¨!¯/ª/¸$Ô:JÔ:UÐW[ÔWgÔWqÑ*rÔ*rð ð ð r   )r   r—   rŽ  s   ` r}   Únotfound_programzInterpreter.notfound_programø  sK   ø€ Ý)¨#¯(ª(ðð ð ð Øðñ ô ñ+ô +ñ ô ð 	r   r³  r¤  úT.Union[str, T.List[str]]Úversion_funcú`T.Optional[T.Callable[[T.Union['ExternalProgram', 'build.Executable', 'OverrideProgram']], str]]úAT.Union['ExternalProgram', 'build.Executable', 'OverrideProgram']c                óò  — t          j        |¦  «        }g }|                      |||||¦  «        }	|	€|                      |¦  «        }	t	          |	t
          ¦  «        r�|	                     ¦   «         s‰|sMt          j        dt          j	        |	 
                    ¦   «         ¦  «        dt          j        d¦  «        ¦  «         |r6d}
t          |
                     |	 
                    ¦   «         ¦  «        ¦  «        ‚|	S |�r…|r ||	¦  «        }not	          |	t          j        ¦  «        r@|	j        r| j        |	j                 j        }n| }t	          |t&          ¦  «        sJ ‚|j        }n|	                     | ¦  «        }t          j        ||¦  «        \  }}}|sÅt          j        dt          j	        |	j        ¦  «        dt          j        d¦  «        dt          j        |¦  «        dt          j	        d                     d„ |D ¦   «         ¦  «        ¦  «        g|¢R Ž  |r+d	}
t          |
                     |	j        ||¦  «        ¦  «        ‚|                      |¦  «        S |                     d
t          j        |¦  «        ¦  «         |                      |¦  «         |s>t          j        dt          j	        |	j        ¦  «        dt          j        d¦  «        g|¢R Ž  t	          |	t          j        ¦  «        rd|	_        |	S )NÚProgramzfound:r°   z(Program {!r} not found or not executablerº  z	but need:r†   c                ó   — g | ]}d |› d �‘Œ	S )r–   rÝ   )rŒ   rú  s     r}   rŽ   z1Interpreter.find_program_impl.<locals>.<listcomp>%  s    € Ð-JÐ-JÐ-J¸1¨h°!¨h¨h¨hÐ-JÐ-JÐ-Jr   z6Invalid version of program, need {!r} {!r} found {!r}.r   r¯   T)r   r   Úprogram_lookupræ  ry   r   rº  r	   rÆ   rÈ   r»  r¶   r)   r�   r
   rÑ  r¬   rø   Úheld_objectr÷   rž   Úget_versionrí  r  rÇ   r—   Úinsertrà  rµ   Úwas_returned_by_find_program)r¥   r€   rP  rë   r³  r¤  rÌ  rè  rÍ  Úprogobjr¾   rè   ÚinterpÚis_foundÚ	not_foundr`  s                   r}   Úfind_program_implzInterpreter.find_program_implÿ  sí  € õ Ô Ñ%Ô%ˆà/1ˆ
Ø×%Ò% d¨K¸À;ÐPZÑ[Ô[ˆØˆ?Ø×+Ò+¨DÑ1Ô1ˆGå�g�Ñ/Ô/ð 	¸¿º¹¼ð 	Øð ]Ý”˜¥D¤I¨g×.>Ò.>Ñ.@Ô.@Ñ$AÔ$AÀ8ÍTÌXÐVZÉ^Ì^Ñ\Ô\Ð\Øð IØ>�Ý*¨1¯8ª8°G×4DÒ4DÑ4FÔ4FÑ+GÔ+GÑHÔHÐHØˆNàñ 	<Øð 
4Ø&˜, wÑ/Ô/��Ý˜G¥UÔ%5Ñ6Ô6ð 4ØÔ%ð "Ø!Ô-¨gÔ.@ÔAÔM�F�Fà!�FÝ! &­+Ñ6Ô6Ð6Ð6Ð6Ø Ô0��à!×-Ò-¨dÑ3Ô3�Ý%-Ô%BÀ7ÈFÑ%SÔ%SÑ"ˆH�i Øð 3Ý”˜¥D¤I¨g¬lÑ$;Ô$;¸XÅtÄxÐPTÁ~Ä~Ø ¥$Ô"2°7Ñ";Ô";¸[Ýœ 4§9¢9Ð-JÐ-JÀ	Ð-JÑ-JÔ-JÑ#KÔ#KÑLÔLð[àOYð[ð [ð [ð [ð ð [ØP�AÝ.¨q¯xªx¸¼ÀiÐQXÑ/YÔ/YÑZÔZÐZØ×,Ò,¨TÑ2Ô2Ð2Ø×Ò˜a¥Ô!1°'Ñ!:Ô!:Ñ;Ô;Ð;ð 	×Ò Ñ%Ô%Ð%Øð 	cÝŒH�Y¥¤	¨'¬,Ñ 7Ô 7¸Å4Ä:ÈeÑCTÔCTÐbÐWaÐbÐbÐbÐbÝ�g�uÔ/Ñ0Ô0ð 	8Ø37ˆGÔ0Øˆr   úGT.Optional[T.Union[ExternalProgram, build.Executable, OverrideProgram]]c                ó’  — |                       ||¦  «        }|r|S d }| j                             t          d¦  «        ¦  «        }|t          j        k    r+| j        j        r| j        j                             |¦  «        }|r(|t          j	        k    r|  
                    ||||¦  «        S |                      ||¦  «        }|€|                      |||¦  «        }|€O|d                              d¦  «        r4t          dt          j        d¬¦  «        }	|	                     ¦   «         r|	nd }|€|r|r|  
                    ||||¦  «        }|S )NrZ  r   Úpython3Tr²  )rÝ  r   rX  r   r   Ú
nofallbackr   rî  Úfind_program_providerÚforcefallbackÚfind_program_fallbackrË  r×  Úendswithr   r   Úpython_commandrº  )
r¥   r€   rP  rë   rÌ  rÍ  ró  ré   rZ  rÈ  s
             r}   rî  zInterpreter.program_lookup4  sN  € ð ×-Ò-¨d°JÑ?Ô?ˆØð 	ØˆNàˆØ”M×,Ò,­Y°{Ñ-CÔ-CÑDÔDˆ	Ø�Ô+Ò+Ð+°Ô0@Ô0NÐ+ØÔ'Ô5×KÒKÈDÑQÔQˆHØð 	T˜	¥XÔ%;Ò;Ð;Ø×-Ò-¨h¸¸hÈ
ÑSÔSÐSà×,Ò,¨[¸$Ñ?Ô?ˆØˆ?Ø×.Ò.¨t°[À*ÑMÔMˆGØˆ?˜t Aœw×/Ò/°	Ñ:Ô:ˆ?Ý" 9­hÔ.EÈdÐSÑSÔSˆDØ"Ÿjšj™lœlÐ4�d�d°ˆGØˆ?˜xˆ?¨Hˆ?Ø×0Ò0°¸4ÀÈ:ÑVÔVˆGàˆr   ré   c           
     ó  — t          j        dt          j        |¦  «        dt          j        d                     |¦  «        ¦  «        ¦  «         |g g g d dœ}|                      |d|¦  «         |                      ||¦  «        S )NzFallback to subprojectzwhich provides programrÂ   )rë   rð   rè   rÓ  rÒ  r  )r	   rÆ   rÈ   r—   rÔ  rÝ  )r¥   ré   r€   rë   rÍ  Ú	sp_kwargss         r}   rþ  z!Interpreter.find_program_fallbackM  sŽ   € õ 	ŒÐ)­4¬9°XÑ+>Ô+>Ð@XÝ”˜3Ÿ8š8 D™>œ>Ñ*Ô*ñ	,ô 	,ð 	,ð !Ø!ØØØð+
ð +
ˆ	ð 	×Ò˜8 W¨iÑ8Ô8Ð8Ø×*Ò*¨4°Ñ<Ô<Ð<r   rV  r;   )ru  Úmin_varargsr=  Údirs)r~  r   rX  ú0.52.0ú&T.Tuple[T.List[mesonlib.FileOrString]]ú'kwtypes.FindProgram'ú?T.Union['build.Executable', ExternalProgram, 'OverrideProgram']c           	     ó�  — t          || j        ¦  «        \  }}}|rpt          j        dt          j        d                     |d         ¦  «        ¦  «        dt          j        |¦  «        d¦  «         |                      |d         ¦  «        S t          |¦  «        }|                      |d         |d         |d|d         |¬	¦  «        S )
Nrì  rÂ   r   rà  rp  rå   Frè   )rë   r³  r¤  rÌ  )	rC   r¬   r	   rÆ   rÈ   r—   ræ  rD   r÷  )r¥   rY  r€   rn   rp  rë   rõ  rÌ  s           r}   r“  zInterpreter.func_find_program\  sÃ   € õ '=¸VÀTÄ_Ñ&UÔ&UÑ#ˆ�(˜GØð 	2ÝŒH�Y¥¤	¨#¯(ª(°4¸´7Ñ*;Ô*;Ñ <Ô <Ð>PÕRVÔR[Ð\cÑRdÔRdÐfpÑqÔqÐqØ×(Ò(¨¨a¬Ñ1Ô1Ð1å)¨&Ñ1Ô1ˆØ×%Ò% d¨1¤g¨v°hÔ/?È(Ø-2¸6À)Ô;LØ2=ð &ñ ?ô ?ð 	?r   c                ó    — t          d¦  «        ‚)Na  find_library() is removed, use meson.get_compiler('name').find_library() instead.
Look here for documentation: http://mesonbuild.com/Reference-manual.html#compiler-object
Look here for example: http://mesonbuild.com/howtox.html#add-math-library-lm-portably
)r+   r|  s       r}   r’  zInterpreter.func_find_librarys  s   € Ýð tñ ô ð 	r   rP  r±   rõ   rï   rí   rî   )rô   ró   rì   rQ  ú0.40.0r   c                óê  — d„ |d         D ¦   «         }t          |¦  «        dk    r(t          dd¦  «                             | j        ¦  «         |                     d¦  «        }|�$t          |t          ¦  «        st          d¦  «        ‚|                     d¦  «        }|                     d	¦  «        }t          | |||¦  «        }| 	                    |¦  «         |                     d
d¦  «        }	t          |	t          ¦  «        st          d¦  «        ‚	 |                     |¦  «        }
n'# t          $ r |	r|                      |	g¦  «         ‚ w xY wt          |
t          ¦  «        sJ ‚|
                     ¦   «         s|	r|                      |	g¦  «         d|v r~|d         }t          |t          ¦  «        st          d¦  «        ‚|
                     ¦   «         }||k    r8t#          j        d|d         › d|› d|› �¦  «         |
                     |¦  «        }
|
j        �0|
j        \  }}t          j        d|
j        ›d�|| j        ||¦  «         |
j        D ]}|                     | j        |¦  «         Œ|
S )Nc                ó   — g | ]}|¯|‘ŒS rÝ   rÝ   )rŒ   Úns     r}   rŽ   z/Interpreter.func_dependency.<locals>.<listcomp>‡  s   € Ð)Ð)Ð)�q qÐ)�Ð)Ð)Ð)r   r   r;   z"dependency with more than one nameú0.60.0rï   z)"allow_fallback" argument must be booleanré   rð   rô   rÁ   z'The not_found_message must be a string.rî   z)The `include_type` kwarg must be a stringzCurrent include type of z is z. Converting to requested zdep z custom lookup)r{   r/   Úuser¬   r*  ry   rƒ   r*   r?   rL  r„   rM  ró  rŠ  r   rº  Úget_include_typer	   rN  Úgenerate_system_dependencyÚfeature_sincer·   r  Úfeaturechecks)r¥   rY  r€   rn   Únamesrï   ré   rð   rT  rô   r•  r¤  r£  rè   Ú	extra_msgr  s                   r}   rŒ  zInterpreter.func_dependencyz  s¡  € ð *Ð)˜D œGÐ)Ñ)Ô)ˆÝˆu‰:Œ:˜Š>ˆ>ÝÐ;¸XÑFÔF×JÒJÈ4Ì?Ñ[Ô[Ð[ØŸšÐ$4Ñ5Ô5ˆØÐ%­j¸ÍÑ.NÔ.NÐ%Ý"Ð#NÑOÔOÐOØ—:’:˜jÑ)Ô)ˆØ Ÿ*š*Ð%6Ñ7Ô7ˆÝ& t¨U°NÀOÑTÔTˆØ
�Š˜Ñ!Ô!Ð!Ø"ŸJšJÐ':¸BÑ?Ô?ÐÝÐ+­SÑ1Ô1ð 	NÝ"Ð#LÑMÔMÐMð	Ø—	’	˜&Ñ!Ô!ˆAˆAøÝð 	ð 	ð 	Ø ð 7Ø×!Ò!Ð#4Ð"5Ñ6Ô6Ð6Øð	øøøõ ˜!�ZÑ(Ô(Ð(Ð(Ð(Ø�wŠw‰yŒyð 	3Ð.ð 	3Ø×ÒÐ0Ð1Ñ2Ô2Ð2à˜VÐ#Ð#Ø˜NÔ+ˆFÝ˜f¥cÑ*Ô*ð TÝ&Ð'RÑSÔSÐSØ×'Ò'Ñ)Ô)ˆFØ˜ÒÐÝ”
Ðm°d¸1´gÐmÐmÀ6ÐmÐmÐekÐmÐmÑnÔnÐnØ×0Ò0°Ñ8Ô8�ØŒ?Ð&Ø!"¤ÑˆG�YÝÔ!Ð"A¨¬Ð"AÐ"AÐ"AÀ7ÈDÌOÐ]fÐhlÑmÔmÐmØ”ð 	)ð 	)ˆAØ�EŠE�$”/ 4Ñ(Ô(Ð(Ð(Øˆs   ÄD+ Ä+$Ec                ó   — t          ¦   «         S r  )r-   r|  s       r}   r�  zInterpreter.func_disabler­  s   € õ ‰zŒzÐr   rS  ú0.42.0ÚimplibÚwin_subsystemÚgui_appzUse 'win_subsystem' instead.)Úextra_messagec                óF   — |                       |||t          j        ¦  «        S r  )rJ  r
   rÑ  r|  s       r}   r�  zInterpreter.func_executable³  s!   € ð
 × Ò   t¨VµUÔ5EÑFÔFÐFr   c                óF   — |                       |||t          j        ¦  «        S r  )rJ  r
   rË  r|  s       r}   r°  zInterpreter.func_static_libº  s   € à× Ò   t¨VµUÔ5HÑIÔIÐIr   c                óX   — |                       |||t          j        ¦  «        }d|_        |S ©NT)rJ  r
   rÉ  Úshared_library_only)r¥   rY  r€   rn   Úholders        r}   r®  zInterpreter.func_shared_lib¾  s+   € à×"Ò" 4¨¨vµuÔ7JÑKÔKˆØ%)ˆÔ"Øˆr   c                ó0   — |                       |||¦  «        S r  )Úbuild_both_librariesr|  s       r}   r…  zInterpreter.func_both_libÄ  s   € à×(Ò(¨¨t°VÑ<Ô<Ð<r   rq  z0.37.0c                óF   — |                       |||t          j        ¦  «        S r  )rJ  r
   rÏ  r|  s       r}   r¯  zInterpreter.func_shared_moduleÈ  s!   € ð × Ò   t¨VµUÔ5GÑHÔHÐHr   c                ó0   — |                       |||¦  «        S r  )Úbuild_libraryr|  s       r}   r¤  zInterpreter.func_libraryÍ  s   € à×!Ò! $¨¨fÑ5Ô5Ð5r   c                óF   — |                       |||t          j        ¦  «        S r  )rJ  r
   rÓ  r|  s       r}   r¢  zInterpreter.func_jarÑ  s   € à× Ò   t¨VµU´YÑ?Ô?Ð?r   rJ  r†  Úoverride_optionsc                ó®  — d|vrt          d¦  «        ‚|                     d¦  «        }|dk    r"|                      |||t          j        ¦  «        S |dk    r"|                      |||t          j        ¦  «        S |dk    r?t          j        dd| j        |¬¦  «         |                      |||t          j	        ¦  «        S |d	k    r"|                      |||t          j
        ¦  «        S |d
k    r|                      |||¦  «        S |dk    r|                      |||¦  «        S |dk    r"|                      |||t          j        ¦  «        S t          d¦  «        ‚)NrÞ   z$Missing target_type keyword argumentrS  rp  rq  z*build_target(target_type: 'shared_module')z0.51.0r?  rr  rI  rg  re  zUnknown target_type.)r)   r›  rJ  r
   rÑ  rÉ  r/   r·   r¬   rÏ  rË  r$  r'  rÓ  )r¥   rY  r€   rn   rÞ   s        r}   r†  zInterpreter.func_build_targetÕ  sv  € ð  Ð&Ð&Ý&Ð'MÑNÔNÐNØ—j’j Ñ/Ô/ˆØ˜,Ò&Ð&Ø×$Ò$ T¨4°½Ô9IÑJÔJÐJØÐ,Ò,Ð,Ø×$Ò$ T¨4°½Ô9LÑMÔMÐMØ˜OÒ+Ð+ÝÔ!Ø>Ø˜$œ/°Dð:ñ :ô :ð :ð ×$Ò$ T¨4°½Ô9KÑLÔLÐLØÐ,Ò,Ð,Ø×$Ò$ T¨4°½Ô9LÑMÔMÐMØÐ,Ò,Ð,Ø×,Ò,¨T°4¸Ñ@Ô@Ð@Ø˜IÒ%Ð%Ø×%Ò% d¨D°&Ñ9Ô9Ð9Ø˜EÒ!Ð!Ø×$Ò$ T¨4°½¼ÑCÔCÐCå&Ð'=Ñ>Ô>Ð>r   rv  ©rë   ÚcommandÚreplace_stringz	@VCS_TAG@úT.List['TYPE_var']ú'kwtypes.VcsTag'úbuild.CustomTargetc                ó4  — |d         €t          j        dd| j        |¬¦  «         |d         p| j        }|d         }d}|d         }t          j                             t          j                             | j         	                    ¦   «         | j
        ¦  «        ¦  «        }|r¹t          |d         t          t          j        f¦  «        rtt          |d         t          j        ¦  «        rt          j        d	d
| j        |¬¦  «         |                      |d         d¬¦  «        }	|	                     ¦   «         r|	|d<   nŽt          j        dd| j        |¬¦  «         npt          j        |¦  «        }
|
rWt%          j        d                     |
d         |
d         ¦  «        ¦  «         |
d                              ¦   «         }|
d         }ndg}|                      t/          |d         ¦  «        dk    |d         d¦  «         | j                             ¦   «         dddd||||gz   |z   }t3          j        |d         d         | j
        | j        | j        ||                      |d         ¦  «        |d         dd¬¦	  «	        }|                      |j        |¦  «         |S )Nré   zOptional fallback in vcs_tagú0.41.0r?  r-  z(.*)r,  r   z'vcs_tag with file as the first argumentr€  Fr+  zGvcs_tag with custom_tgt, external_program, or exe as the first argumentr¥  zFound {} repository at {}r  Úwc_dirÚget_revÚ	rev_regexrÂ   Úinputr;   Úoutputrv  z
--internalÚ	vcstaggerz@INPUT0@z	@OUTPUT0@T)Úbuild_by_defaultÚbuild_always_stale)r/   r·   r¬   rž   r  r  r$  r—   r   r  rý   ry   r„   r   r|   r÷  rº  Ú
detect_vcsr	   rÆ   r�   r  Ú_validate_custom_target_outputsr{   rÁ  r
   rÕ  r{  r  r  )r¥   rY  r€   rn   ré   r-  Úregex_selectorÚvcs_cmdr‰  ÚmaincmdÚvcsrÂ  Útgs                r}   r¶  zInterpreter.func_vcs_tagï  sµ  € ð  �*ÔÐ%ÝÔ!Ð"@À(ÈDÌOÐfjÐkÑkÔkÐkØ˜*Ô%Ð=¨Ô)=ˆØÐ 0Ô1ˆØˆØ˜Ô#ˆÝ”W×%Ò%¥b¤g§l¢l°4Ô3C×3RÒ3RÑ3TÔ3TÐVZÔVaÑ&bÔ&bÑcÔcˆ
Øð 	 Ý˜' !œ*¥s­H¬MÐ&:Ñ;Ô;ð [Ý˜g aœj­(¬-Ñ8Ô8ð ÝÔ)Ð*SÐU]Ð_cÔ_nÐy}Ð~Ñ~Ô~Ð~Ø×0Ò0°¸´ÀeÐ0ÑLÔL�Ø—=’=‘?”?ð )Ø!(�G˜A‘JøåÔ%Ð&oÐqyÐ{ô  |Kð  VZð  [ñ  [ô  [ð  [ð  [åÔ% jÑ1Ô1ˆCØð  Ý”Ð4×;Ò;¸CÀ¼KÈÈXÌÑWÔWÑXÔXÐXØ˜iœ.×.Ò.Ñ0Ô0�Ø!$ [Ô!1��à˜%�ð 	×,Ò,­S°¸´Ñ-AÔ-AÀAÒ-EÀvÈhÔGWÐYbÑcÔcÐcàÔ×0Ò0Ñ2Ô2ØØØØØØØØðñð  'ñ'ˆõ ÔØ�8Ô˜QÔØŒKØŒOØÔØØ×(Ò(¨°¬Ñ9Ô9Ø�8ÔØ!Ø#ð

ñ 

ô 

ˆð 	�Š˜œ Ñ$Ô$Ð$Øˆ	r   rs  rq   rr   ú
T.NoReturnc                ó   — t          ¦   «         ‚r  )r,   r|  s       r}   r±  zInterpreter.func_subdir_done3  s   € õ  Ñ!Ô!Ð!r   Úhas_multi_inÚoutputsúT.Iterable[str]c                óH   — |D ]}| rd|v sd|v rt          |› d�¦  «        ‚ŒdS )z©Checks for additional invalid values in a custom_target output.

        This cannot be done with typed_kwargs because it requires the number of
        inputs.
        ú@PLAINNAME@ú
@BASENAME@zt: output cannot contain "@PLAINNAME@" or "@BASENAME@" when there is more than one input (we can't know which to use)N)r*   )rD  rE  r  Úouts       r}   r<  z+Interpreter._validate_custom_target_outputs9  sh   € ð ð 	jð 	jˆCØð j °#Ð!5Ð!5¸ÈÐ9LÐ9LÝ&¨$ð (ið (ið (iñ jô jð jøð	jð 	jr   rM  ÚfeedÚconsoleú0.48.0ú'kwtypes.CustomTarget'c                ó~  — |d         r1d|d         v s
d|d         v rt          j        dd| j        |¬¦  «         |                      |d         ¦  «        }|d         }|d	         }|d
         �|d	         �t	          d¦  «        ‚|€|d         rd}n|d
         �|€|d
         }|d         }|€d}|€d}|d         }|€t          j        dd| j        |¬¦  «         d}|                      |d         d¬¦  «        }|d         }	|	r:t          |	d         t          ¦  «        r|                      |	d         g¦  «        |	d<   t          |¦  «        dk    r|d         rt          d¦  «        ‚t          |d         ¦  «        dk    r|d         rt          d¦  «        ‚|d         r|d         rt          d¦  «        ‚|	D ]b}
|d         r(t          |
t          ¦  «        rd|
v rt          d¦  «        ‚|d         r(t          |
t          ¦  «        rd |
v rt          d!¦  «        ‚Œc|d         r|d"         st          d#¦  «        ‚t          |d"         ¦  «        dk    rt          j        d$d%| j        |¬¦  «         t          |d&         ¦  «        ddt          |d         ¦  «        hvr<t          d't          |d&         ¦  «        › d(t          |d         ¦  «        › d)�¦  «        ‚|d         D ]}|                      |¦  «         Œ|                      t          |¦  «        dk    |d         d*¦  «         t          j        || j        | j        | j        |	||d         f|||d         |d         |d+         |d         |d,         |d-         |d         |d         |d"         ||d&         | j        d.œŽ}|                      |j        |¦  «         |S )/NÚdepfilerI  rH  z&substitutions in custom_target depfiler§  r?  Úinstall_moder9  r:  Úbuild_alwayszLCustomTarget: "build_always" and "build_always_stale" are mutually exclusiveÚinstallTFr   z%custom_target() with no name argumentr  rÁ   r6  )Ústrictr,  r;   rK  zPcustom_target: "feed" keyword argument can only be used used with a single inputr7  r¨  zTcustom_target: "capture" keyword argument can only be used used with a single outputrL  zOcustom_target: "capture" and "console" keyword arguments are mutually exclusiveú@OUTPUT@zHcustom_target: "capture" keyword argument cannot be used with "@OUTPUT@"z@INPUT@zDcustom_target: "feed" keyword argument cannot be used with "@INPUT@"Úinstall_dirzQcustom_target: "install_dir" keyword argument must be set when "install" is true.z&multiple install_dir for custom_targetr  Úinstall_tagzˆcustom_target: install_tag argument must have 0 or 1 outputs, or the same number of elements as the output keyword argument. (there are z install_tags, and z	 outputs)rM  Údepend_filesÚdependsr°  )r:  r9  r¨  rL  rX  rP  Úextra_dependsr°  rK  rS  rV  rQ  rW  rû   )r/   r·   r¬   Ú_warn_kwarg_install_mode_stickyr)   r{  ry   r„   r÷  r{   r*   Úvalidate_forbidden_targetsr<  r
   rÕ  rý   r   rû   r  r  )r¥   rY  r€   rn   rQ  r9  r:  r  Úinputsr,  rµ  ÚtrA  s                r}   r‰  zInterpreter.func_custom_targetE  s�  € ð. �)Ôð 	v ,°&¸Ô2CÐ"CÐ"CÀ}ÐX^Ð_hÔXiÐGiÐGiÝÔ!Ð"JÈHÐVZÔVeÐptÐuÑuÔuÐuØ×;Ò;¸FÀ>Ô<RÑSÔSˆð "Ð"4Ô5ÐØ#Ð$8Ô9Ðà�.Ô!Ð-°&Ð9MÔ2NÐ2ZÝ&Ð'uÑvÔvÐvàÐ#¨¨yÔ(9Ð#Ø#ÐÐà�NÔ#Ð/ØÐ'Ø#)¨.Ô#9Ð Ø!'Ð(:Ô!;Ðð
 Ð#Ø$ÐØÐ%Ø!&Ðà�AŒwˆØˆ<õ
 Ô!Ð"IÈ8ÐUYÔUdÐosÐtÑtÔtÐtØˆDØ×-Ò-¨f°W¬oÀeÐ-ÑLÔLˆØ˜Ô#ˆØð 	>•z '¨!¤*­cÑ2Ô2ð 	>Ø×/Ò/°¸´°Ñ=Ô=ˆG�A‰Jåˆv‰;Œ;˜Š?ˆ?˜v fœ~ˆ?Ý"Ð#uÑvÔvÐvÝˆv�hÔÑ Ô  1Ò$Ð$¨°	Ô):Ð$Ý"Ð#yÑzÔzÐzØ�)Ôð 	v ¨	Ô!2ð 	vÝ"Ð#tÑuÔuÐuØð 	oð 	oˆAØ�iÔ ð s¥Z°µ3Ñ%7Ô%7ð s¸JÈ!¸O¸OÝ&Ð'qÑrÔrÐrØ�fŒ~ð o¥*¨QµÑ"4Ô"4ð o¸Àa¸¸Ý&Ð'mÑnÔnÐnøØ�)Ôð 	x V¨MÔ%:ð 	xÝ"Ð#vÑwÔwÐwÝˆv�mÔ$Ñ%Ô%¨Ò)Ð)ÝÔ!Ð"JÈHÐVZÔVeÐptÐuÑuÔuÐuÝˆv�mÔ$Ñ%Ô%¨a°µC¸¸xÔ8HÑ4IÔ4IÐ-JÐJÐJÝ"ð $Kå14°V¸MÔ5JÑ1KÔ1Kð$Kð $Kõ +.¨f°XÔ.>Ñ*?Ô*?ð$Kð $Kð $Kñ Lô Lð Lð
 ˜Ô!ð 	/ð 	/ˆAØ×+Ò+¨AÑ.Ô.Ð.Ð.Ø×,Ò,­S°©[¬[¸1ª_¸fÀXÔ>NÐP_Ñ`Ô`Ð`åÔØØŒKØŒOØÔØØØ�8Ôð"ð  2Ø-Ø˜9Ô%Ø˜9Ô%Ø Ô/Ø˜9Ô%Ø  Ô+Ø�u”Ø˜”Ø˜9Ô%Ø˜}Ô-Ø%Ø˜}Ô-Ø”Lð+"ð "ð "ˆð, 	�Š˜œ Ñ$Ô$Ð$Øˆ	r   rm  ú'kwtypes.RunTarget'úbuild.RunTargetc           
     óø  — |d                               ¦   «         }t          |¦  «        D ]B}t          |t          ¦  «        r+|                     ¦   «         st          d|j        ›�¦  «        ‚ŒCt          |d         t          ¦  «        r|                      |d         g¦  «        |d<   |d         }t          j
        |||d         | j        | j        | j        |d         ¦  «        }|                      ||¦  «         |S )Nr,  z%Tried to use non-existing executable r   rY  r°  )r"  r   ry   r   rº  r)   r  r„   r÷  r
   rß  rý   r¬   r   r  )r¥   rY  r€   rn   Úall_argsr½   r  rA  s           r}   rª  zInterpreter.func_run_target·  sù   € ð ˜)Ô$×)Ò)Ñ+Ô+ˆå˜Ñ"Ô"ð 	_ð 	_ˆAÝ˜!�_Ñ-Ô-ð _°a·g²g±i´ið _Ý*Ð+]ÐSTÔSYÐ+]Ð+]Ñ^Ô^Ð^øÝ�h˜q”k¥3Ñ'Ô'ð 	@Ø×0Ò0°(¸1´+°Ñ?Ô?ˆH�Q‰KØ�AŒwˆÝŒ_˜T 8¨V°IÔ->ÀÄÈTÌ_Ð^bÔ^nØ# Eœ]ñ,ô ,ˆà�Š˜˜bÑ!Ô!Ð!Øˆ	r   rF  ú"T.Tuple[str, T.List[build.Target]]úbuild.AliasTargetc                óŠ   — |\  }}t          j        ||| j        | j        | j        ¦  «        }|                      ||¦  «         |S r  )r
   rá  rý   r¬   r   r  )r¥   rY  r€   rn   r  r�  rA  s          r}   r‚  zInterpreter.func_alias_targetÍ  sE   € ð
 ‰
ˆˆdÝÔ˜t T¨4¬;¸¼ÈÔIYÑZÔZˆØ�Š˜˜bÑ!Ô!Ð!Øˆ	r   rW  r›  )Úallow_empty)rë   r   r7  z0.43.0ú3T.Tuple[T.Union[build.Executable, ExternalProgram]]ú'kwtypes.FuncGenerator'úbuild.Generatorc                óX  — |d         D ]7}d|vrd|vrt          d¦  «        ‚t          |¦  «        rt          d¦  «        ‚Œ8t          |d         ¦  «        dk    r|d         D ]}d|v rt          d¦  «        ‚Œt          j        |d	         fi |¤Ž}| j                             |¦  «         |S )
Nr7  rI  rH  zAEvery element of "output" must contain @BASENAME@ or @PLAINNAME@.z0"output" must not contain a directory separator.r;   rU  z:Tried to use @OUTPUT@ in a rule with more than one output.r   )r*   r   r{   r
   rÙ  r  r´   )r¥   rY  r€   rn   ÚruleÚoÚgens          r}   r”  zInterpreter.func_generator×  sç   € ð ˜8Ô$ð 	[ð 	[ˆDØ 4Ð'Ð'¨MÀÐ,EÐ,EÝ&Ð'jÑkÔkÐkÝ˜DÑ!Ô!ð [Ý&Ð'YÑZÔZÐZð[åˆv�hÔÑ Ô  1Ò$Ð$Ø˜HÔ%ð ið i�Ø �?�?Ý*Ð+gÑhÔhÐhð #õ Œo˜d 1œgÐ0Ð0¨Ð0Ð0ˆØŒ×Ò˜sÑ#Ô#Ð#Øˆ
r   rH  úRT.Tuple[str, T.Union[build.Executable, build.Jar, ExternalProgram, mesonlib.File]]ú'kwtypes.FuncBenchmark'c                ó6   — |                       |||d¦  «         d S ©NF©Úadd_testr|  s       r}   r„  zInterpreter.func_benchmarkñ  s"   € ð
 	�Š�d˜D &¨%Ñ0Ô0Ð0Ð0Ð0r   rt  Úis_parallelú'kwtypes.FuncTest'c                ó6   — |                       |||d¦  «         d S r   rr  r|  s       r}   r´  zInterpreter.func_testø  s"   € ð
 	�Š�d˜D &¨$Ñ/Ô/Ð/Ð/Ð/r   úUT.Union[build.EnvironmentVariables, T.Dict[str, 'TYPE_var'], T.List['TYPE_var'], str]úbuild.EnvironmentVariablesc                óÎ   — |                      d¦  «        }|€t          j        ¦   «         S t          j        |¦  «        }|rt          d|› �¦  «        ‚t          j        |¦  «        S )Nr°  z"env": )r*  r
   rñ  rU   rS  r*   rT  )r¥   rn   ÚenvlistÚmsgs       r}   Úunpack_env_kwargzInterpreter.unpack_env_kwargÿ  sd   € Ø—*’*˜UÑ#Ô#ˆØˆ?ÝÔ-Ñ/Ô/Ð/ÝÔ˜wÑ'Ô'ˆØð 	4Ý" ?¨S ? ?Ñ3Ô3Ð3ÝÔ Ñ(Ô(Ð(r   ú'kwtypes.BaseTest'rA   c                óŽ  — |d         }d|v r0t          j        d|› d�|¬¦  «         |                     dd¦  «        }|d         }t          |t          ¦  «        r$|                     ¦   «         st          d¦  «        ‚n0t          |t          j        ¦  «        r|  	                    |g¦  «        }|  
                    |¦  «        }|d	         dk    rt          j        d
d| j        |¬¦  «         |                      ¦   «         r| j        n| j        j        }g }|d         D ]I}	|	rd|	z   }	|                     |                     dd¦  «                             dd¦  «        |	z   ¦  «         ŒJt%          |||||d         |                     dd¦  «        |d         ||d         |d	         |d         |d         |d         |d         ¦  «        S )Nr   rÃ   z!":" is not allowed in test name "z ", it has been replaced with "_"r?  r`  r;   z3Tried to use not-found external program as test exeÚtimeoutztest() timeout <= 0r±   ÚsuiterÂ   rY  rt  Fr€   Úshould_failÚworkdirÚprotocolÚpriorityÚverbose)r	   re  rf  ry   r   rº  r*   r   r|   r÷  r|  r/   r·   r¬   rŠ  r
   r�   r´   rA   r*  )
r¥   rY  r€   rn   r  rÆ  r°  Úprjr€  r6  s
             r}   Ú	make_testzInterpreter.make_test  só  € ð �AŒwˆØ�$ˆ;ˆ;ÝÔÐgÀÐgÐgÐgØ&*ð,ñ ,ô ,ð ,à—<’<  SÑ)Ô)ˆDØ�1ŒgˆÝ�c�?Ñ+Ô+ð 	0Ø—9’9‘;”;ð ^Ý&Ð'\Ñ]Ô]Ð]ð^å˜�Xœ]Ñ+Ô+ð 	0Ø×(Ò(¨#¨Ñ/Ô/ˆCà×#Ò# FÑ+Ô+ˆà�)Ô Ò!Ð!ÝÔ!Ð"7¸À4Ä?Ð]aÐbÑbÔbÐbà!%×!3Ò!3Ñ!5Ô!5ÐRˆdŒoˆo¸4¼:Ô;RˆàˆØ˜”ð 	Fð 	FˆAØð Ø˜!‘G�Ø�LŠL˜Ÿš S¨#Ñ.Ô.×6Ò6°s¸CÑ@Ô@À1ÑDÑEÔEÐEÐEå�DØØØØ˜9Ô%Ø—J’J˜}¨eÑ4Ô4Ø˜6”NØØ˜=Ô)Ø˜9Ô%Ø˜9Ô%Ø˜:Ô&Ø˜:Ô&Ø˜9Ô%ñ'ô 'ð 	'r   úT.Listr©   Úis_base_testc                ól  — |                       |||¦  «        }|rN| j        j                             |¦  «         t	          j        dt	          j        |j        d¦  «        ¦  «         d S | j        j                             |¦  «         t	          j        dt	          j        |j        d¦  «        ¦  «         d S )NzAdding testTzAdding benchmark)	r‡  r
   r  r´   r	   rN  rÈ   r  Ú
benchmarks)r¥   rY  r€   rn   r‰  r^  s         r}   rs  zInterpreter.add_test3  sŸ   € Ø�NŠN˜4  vÑ.Ô.ˆØð 	DØŒJÔ×#Ò# AÑ&Ô&Ð&ÝŒJ�}¥d¤i°´¸Ñ&=Ô&=Ñ>Ô>Ð>Ð>Ð>àŒJÔ!×(Ò(¨Ñ+Ô+Ð+ÝŒJÐ)­4¬9°Q´V¸TÑ+BÔ+BÑCÔCÐCÐCÐCr   r_  ú(T.Tuple[T.List['mesonlib.FileOrString']]ú'kwtypes.FuncInstallHeaders'úbuild.Headersc                ó&  — |                       |d         ¦  «        }|                      |d         ¦  «        }|d         }|�K|d         �t          d¦  «        ‚t          j                             |¦  «        rt          j        d¦  «         nd}t          j	        t          ¦  «        }g }|d         rE|D ]A}	t          j                             |	j        ¦  «        }
||
                              |	¦  «         ŒBn|d                              |¦  «         |D ]}}t          j        ||         t          j                             ||¦  «        |d         || j        ¦  «        }|                     |¦  «         | j        j                             |¦  «         Œ~|S )	NrQ  r   rý   rV  zXinstall_headers: cannot specify both "install_dir" and "subdir". Use only "install_dir".z[Subdir keyword must not be an absolute path. This will be a hard error in the next release.rÁ   Úpreserve_path)r[  r{  r)   r  r  rÀ  r	   re  r¡   r¢   rz   ÚdirnamerÓ  r´   Úextendr
   rã  r—   r¬   Úheaders)r¥   rY  r€   rn   rQ  Úsource_filesra  r  Úret_headersÚfiler‘  ÚchilddirÚhs                r}   rœ  z Interpreter.func_install_headers<  s”  € ð ×;Ò;¸FÀ>Ô<RÑSÔSˆØ×3Ò3°D¸´GÑ<Ô<ˆØ Ô)ˆØÐ%Ø�mÔ$Ð0Ý*ð  ,Fñ  Gô  Gð  GÝŒw�}Š}˜^Ñ,Ô,ð @ÝÔ Ð!~ÑÔÐøàˆNåÔ&¥tÑ,Ô,ˆØˆØ�/Ô"ð 	*Ø$ð +ð +�Ýœ'Ÿ/š/¨$¬*Ñ5Ô5�Ø�W”×$Ò$ TÑ*Ô*Ð*Ð*ð+ð �ŒH�OŠO˜LÑ)Ô)Ð)àð 	)ð 	)ˆHÝ”˜d 8œn­b¬g¯lªl¸>È8Ñ.TÔ.TÐV\Ð]jÔVkØ*¨D¬Oñ=ô =ˆAà×Ò˜qÑ!Ô!Ð!ØŒJÔ×%Ò% aÑ(Ô(Ð(Ð(àÐr   r`  Úlocaler³   ú'kwtypes.FuncInstallMan'ú	build.Manc                óÐ  — |                       |d         ¦  «        }|                      |d         ¦  «        }|D ]d}	 t          |                     dd¦  «        d         ¦  «        }n# t          t
          f$ r d}Y nw xY wd|cxk    rdk    sn t          d¦  «        ‚Œet          j        ||d         || j	        |d	         ¦  «        }| j        j
                             |¦  «         |S )
NrQ  r   r  r;   r
  é	   z?Man file must have a file extension of a number between 1 and 9rV  r™  )r[  r{  rš   ÚrsplitÚ
IndexErrorr�  r*   r
   rå  r¬   Úmanr´   )	r¥   rY  r€   rn   rQ  r  r6  Únumr¾   s	            r}   r�  zInterpreter.func_install_manc  s  € ð ×;Ò;¸FÀ>Ô<RÑSÔSˆð ×.Ò.¨t°A¬wÑ7Ô7ˆØð 	jð 	jˆAðÝ˜!Ÿ(š( 3¨Ñ*Ô*¨2Ô.Ñ/Ô/��øÝ¥
Ð+ð ð ð Ø���ðøøøà˜�=�=’=�=˜q’=�=�=�=Ý&Ð'hÑiÔiÐið !õ ŒI�g˜v mÔ4°lØ”o v¨hÔ'7ñ9ô 9ˆàŒ
Œ×Ò˜aÑ Ô Ð àˆs   ¼)A&Á&A<Á;A<r^  r  rW  c                ó    — t          j        |d         |d         | j        |d         ¦  «        }| j         j                             |¦  «         |S )Nr   rQ  rW  )r
   rç  r¬   Úemptydirr´   )r¥   rY  r€   rn   r•  s        r}   r›  z!Interpreter.func_install_emptydir  sH   € õ ŒN˜4 œ7 F¨>Ô$:¸D¼OÈVÐTaÔMbÑcÔcˆØŒ
Ô×"Ò" 1Ñ%Ô%Ð%àˆr   rb  rµ  Úsymlink_nameÚpointing_torV  úbuild.SymlinkDatac                ó¶   — |d         }|d         }t          j        |||d         | j        |d         ¦  «        }| j         j                             |¦  «         |S )Nr   r¥  rV  rW  )r
   rë  r¬   r  r´   )r¥   rY  r€   rn   r  r;  rR  s          r}   rŸ  z Interpreter.func_install_symlink‹  s`   € ð �AŒwˆØ˜Ô&ˆÝÔ˜f d¨F°=Ô,AØ"œo¨v°mÔ/DñFô FˆàŒ
Ô×"Ò" 1Ñ%Ô%Ð%Øˆr   ro  ú0T.Tuple[object, T.Optional[T.Dict[str, object]]]úbuild.StructuredSourcesc                ó  — t           t          j        t          j        t          j        t          j        t          j        f}t          j        t          ¦  «        }t          j
        |d         ¦  «        D ]’}t          ||¦  «        s t          dt          |¦  «        › d�¦  «        ‚t          |t           ¦  «        r0t          j                             | j        j        | j        |¦  «        }|d                              |¦  «         Œ“|d         ràd|d         v rt          d¦  «        ‚|d                              ¦   «         D ]¬\  }}t          j
        |¦  «        D ]’}t          ||¦  «        s t          dt          |¦  «        › d�¦  «        ‚t          |t           ¦  «        r0t          j                             | j        j        | j        |¦  «        }||                              |¦  «         Œ“Œ­t          j        |¦  «        S )Nr   zstructured_sources: type "z" is not validrÁ   r;   zKstructured_sources: keys to dictionary argument may not be an empty string.)r„   r   r|   r
   rÛ  rÕ  r×  r¡   r¢   rz   r   ry   r*   r-  Úfrom_source_filer   r‰  rý   r´   r™   ró  )	r¥   rY  r€   rn   Úvalid_typesr  Úargr’   r“   s	            r}   r¬  z#Interpreter.func_structured_sources�  sà  € õ �HœM­5Ô+>ÅÔ@RÕTYÔTkÕmrô  nAð  BˆÝWbÔWnÕosÑWtÔWtˆåÔ# D¨¤GÑ,Ô,ð 	$ð 	$ˆCÝ˜c ;Ñ/Ô/ð _Ý&Ð']ÅDÈÁIÄIÐ']Ð']Ð']Ñ^Ô^Ð^Ý˜#�sÑ#Ô#ð dÝ”m×4Ò4°TÔ5EÔ5PÐRVÔR]Ð_bÑcÔc�Ø�BŒK×Ò˜sÑ#Ô#Ð#Ð#Ø�Œ7ð 		+Ø�T˜!”Wˆ}ˆ}Ý&Ð'tÑuÔuÐuØ˜QœŸš™œð +ð +‘��1Ý#Ô+¨AÑ.Ô.ð +ð +�CÝ% c¨;Ñ7Ô7ð gÝ.Ð/eÍDÐQTÉIÌIÐ/eÐ/eÐ/eÑfÔfÐfÝ! #¥sÑ+Ô+ð lÝ&œm×<Ò<¸TÔ=MÔ=XÐZ^ÔZeÐgjÑkÔk˜Ø˜A”J×%Ò% cÑ*Ô*Ð*Ð*ð+õ Ô& wÑ/Ô/Ð/r   Úif_foundc                ó<   — t          d„ | D ¦   «         ¦  «        sdnd S )Nc              3  ó6   K  — | ]}t          |d ¦  «        V — ŒdS )rº  N)r,  r‹   s     r}   ú	<genexpr>z'Interpreter.<lambda>.<locals>.<genexpr>À  s0   è è € ÐOoÐOoÐhiÕPWÐXYÐ[bÑPcÔPcÐOoÐOoÐOoÐOoÐOoÐOor   z"Objects must have a found() method)Úall)rÉ  s    r}   rR  zInterpreter.<lambda>À  s*   € ÍCÐOoÐOoÐmnÐOoÑOoÔOoÑLoÔLoÐ yÐ DÐ DÐuy€ r   )rS  rX  r~  r   ú'kwtypes.Subdir'c                ó:  — t          j        |¦  «         d|d         v rt          d¦  «        ‚| j        dk    r |d         | j        k    rt          d¦  «        ‚| j        dk    r*|d                              d¦  «        rt          d¦  «        ‚|d         dk    rt          d¦  «        ‚|d	         D ]}|                     ¦   «         s d S Œ| j        }t          j         	                    ||d         ¦  «        }t          j         
                    |¦  «        rt          d
¦  «        ‚t          j         	                    | j                             ¦   «         |¦  «        }t          j                             |¦  «        }t          j         	                    |d¦  «        }	|	| j        v rt          d|› d�¦  «        ‚| j                             |	¦  «         || _        t          j        t          j         	                    | j        j        |¦  «        d¬¦  «         t          j         	                    | j        t          j        ¦  «        }
| j                             |
¦  «         t          j         	                    | j                             ¦   «         |
¦  «        }t          j                             |¦  «        s|| _        t+          d|
›d�¦  «        ‚t-          |d¬¦  «        5 }|                     ¦   «         }d d d ¦  «         n# 1 swxY w Y   t1          |t2          ¦  «        sJ ‚	 t5          j        ||¦  «                             ¦   «         }n # t           j        $ r}||_        |‚d }~ww xY w	 |                      |¦  «         n# t@          $ r Y nw xY w|| _        d S )Nrá  r   zSubdir contains ..rÁ   zIMust not go into subprojects dir with subdir(), use subproject() instead.úmeson-zJThe "meson-" prefix is reserved and cannot be used for top-level subdir().zJThe argument given to subdir() is the empty string ''. This is prohibited.r®  z(Subdir argument must be a relative path.r  zTried to enter directory "z"", which has already been visited.Trç  zNon-existent build file 'r–   r  r  )!r   Úcheck_direntry_issuesr*   rý   rþ   r'  rº  r  r  r—   rÀ  r   r  Úrealpathr  r)  rð  rd  r(  r'  r&  r)   r  Úreadry   r„   r   ÚParserÚparseÚMesonExceptionr–  Úevaluate_codeblockr,   )r¥   rY  r€   rn   r½   Úprev_subdirrý   ÚabsdirÚsymlinkless_dirÚ
build_fileÚbuildfilenameÚabsnamer  ÚcodeÚ	codeblockÚmes                   r}   r­  zInterpreter.func_subdirº  s’  € õ 	Ô& tÑ,Ô,Ð,Ø�4˜”7ˆ?ˆ?Ý"Ð#7Ñ8Ô8Ð8ØŒ;˜"ÒÐ  a¤¨DÔ,?Ò!?Ð!?Ý"Ð#nÑoÔoÐoØŒ;˜"ÒÐ  a¤×!3Ò!3°HÑ!=Ô!=ÐÝ"Ð#oÑpÔpÐpØ�Œ7�bŠ=ˆ=Ý"Ð#oÑpÔpÐpØ˜
Ô#ð 	ð 	ˆAØ—7’7‘9”9ð Ø��ðð ”kˆÝ”—’˜k¨4°¬7Ñ3Ô3ˆÝŒ7�=Š=˜Ñ Ô ð 	OÝ"Ð#MÑNÔNÐNÝ”—’˜dÔ.×=Ò=Ñ?Ô?ÀÑHÔHˆÝœ'×*Ò*¨6Ñ2Ô2ˆÝ”W—\’\ /°=ÑAÔAˆ
Ø˜Ô2Ð2Ð2Ý"Ð#jÀÐ#jÐ#jÐ#jÑkÔkÐkØÔ!×%Ò% jÑ1Ô1Ð1ØˆŒÝ
Œ•B”G—L’L Ô!1Ô!;¸VÑDÔDÈtÐTÑTÔTÐTÝœŸš T¤[µ+Ô2LÑMÔMˆØÔ× Ò  Ñ/Ô/Ð/Ý”'—,’,˜tÔ/×>Ò>Ñ@Ô@À-ÑPÔPˆÝŒw�~Š~˜gÑ&Ô&ð 	WØ%ˆDŒKÝ&Ð'UÀ=Ð'UÐ'UÐ'UÑVÔVÐVÝ�' GÐ,Ñ,Ô,ð 	°Ø—6’6‘8”8ˆDð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	å˜$¥Ñ$Ô$Ð$Ð$Ð$ð	Ýœ t¨WÑ5Ô5×;Ò;Ñ=Ô=ˆIˆIøÝÔ&ð 	ð 	ð 	ØˆBŒGØˆHøøøøð	øøøð	Ø×#Ò# IÑ.Ô.Ð.Ð.øÝ ð 	ð 	ð 	ØˆDð	øøøà!ˆŒˆˆs<   Ë!LÌLÌ	LÌ%'M ÍM*Í	M%Í%M*Í.N Î
NÎNúT.Optional[FileMode]c                ó  — |                      dd ¦  «        €d S t          |d         t          ¦  «        r|d         S g }t          j        |                      dg ¦  «        t
          t          f¦  «        }|D ]}|du rd }|                     |¦  «         Œt          |¦  «        dk    rt          d¦  «        ‚t          |¦  «        dk    r2|d         �*t          |d         t
          ¦  «        st          d¦  «        ‚t          |Ž S )NrQ  Fé   z8Keyword argument install_mode takes at most 3 arguments.r   zRKeyword argument install_mode requires the permissions arg to be a string or false)
r*  ry   r   r   Útypeslistifyr„   rš   r´   r{   r*   )r¥   rn   rQ  Úmoder¾   s        r}   Ú_get_kwarg_install_modez#Interpreter._get_kwarg_install_modeô  s  € Ø�:Š:�n dÑ+Ô+Ð3Ø�4Ý�f˜^Ô,­hÑ7Ô7ð 	*Ø˜.Ô)Ð)Ø$&ˆÝÔ$ V§Z¢Z°ÀÑ%CÔ%CÅcÍ3ÀZÑPÔPˆØð 	#ð 	#ˆAà�EˆzˆzØ�Ø×Ò Ñ"Ô"Ð"Ð"Ýˆ|ÑÔ˜qÒ Ð Ý"ð $7ñ 8ô 8ð 8åˆ|ÑÔ˜qÒ Ð  \°!¤_Ð%@Ý˜, qœ/­3Ñ/Ô/ð &Aå"ð $Mñ Nô Nð Nå˜Ð&Ð&r   rÊ  r   c                ó  — |j         dk    rx|j         t          j        z  rdt          j        d| j        ¬¦  «         t          j        |j         t          j        z
  ¦  «        dd …         }t          ||j        |j	        ¦  «        S |S )Nr   zfinstall_mode with the sticky bit on a file does not do anything and will be ignored since Meson 0.64.0r?  r;   )
Úpermsr+  ÚS_ISVTXr	   re  rK  Úfilemoder   ÚownerÚgroup)r¥   rÊ  rÍ  s      r}   r[  z+Interpreter._warn_kwarg_install_mode_sticky	  s   € ØŒ:˜Š>ˆ>˜dœj­4¬<Ñ7ˆ>ÝÔð =ØGKÔGXðZñ Zô Zð Zå”M $¤*­t¬|Ñ";Ñ<Ô<¸Q¸R¸RÔ@ˆEÝ˜E 4¤:¨t¬zÑ:Ô:Ð:àˆKr   r]  r  Úrenamer²   ú'kwtypes.FuncInstallData'ú
build.Datac           	     ó’  — |                       |d         |d         z   ¦  «        }|d         pd }|rPt          |¦  «        t          |¦  «        k    r0t          dt          |¦  «        › dt          |¦  «        › d�¦  «        ‚|                      |d         ¦  «        }|                      ||d         |||d	         |d
         ¬¦  «        S )Nr   r  rÒ  z_"rename" and "sources" argument lists must be the same length if "rename" is given. Rename has z elements and sources has r  rQ  rV  rW  r�  )r�  )r{  r{   r*   r[  Úinstall_data_impl)r¥   rY  r€   rn   r  rÒ  rQ  s          r}   rš  zInterpreter.func_install_data	  sö   € ð ×.Ò.¨t°A¬w¸À	Ô9JÑ/JÑKÔKˆØ˜Ô!Ð) TˆØð 	ZÝ�6‰{Œ{�c '™lœlÒ*Ð*Ý&ðYÝ"% f¡+¤+ðYð YÝILÈWÉÌðYð Yð YñZô Zð Zð ×;Ò;¸FÀ>Ô<RÑSÔSˆØ×%Ò% g¨v°mÔ/DÀlØ&,¨f°]Ô.CØ4:¸?Ô4Kð &ñ Mô Mð 	Mr   rQ  ÚtagÚinstall_dir_nameÚinstall_data_typer�  c	                óª  — |pd}	|p|	pd}
t          |
t          j        ¦  «        r|
j        }
t	          j        t          ¦  «        }g }|rE|D ]A}t          j         	                    |j
        ¦  «        }||                              |¦  «         ŒBn|d                              |¦  «         |                     ¦   «         D ]v\  }}t          j        |t          j                             |	|¦  «        t          j                             |
|¦  «        || j        |||¦  «        }|                     |¦  «         Œw| j        j                             |¦  «         |S )z+Just the implementation with no validation.rÁ   z	{datadir})ry   r¼  rÆ  r!  r¡   r¢   rz   r  r  r‘  rÓ  r´   r’  r™   r
   ré  r—   r¬   r  )r¥   r  rV  rQ  rÒ  r×  rØ  rÙ  r�  ÚidirÚ	idir_namer  Úret_datar–  r‘  r—  rT  r•  s                     r}   rÖ  zInterpreter.install_data_impl1	  sH  € ð Ð ˜bˆØ$Ð;¨Ð;°ˆ	Ý�i¥Ô!3Ñ4Ô4ð 	*Ø!Ô)ˆIÝÔ&¥tÑ,Ô,ˆØˆØð 	%Øð +ð +�Ýœ'Ÿ/š/¨$¬*Ñ5Ô5�Ø�W”×$Ò$ TÑ*Ô*Ð*Ð*ð+ð �ŒH�OŠO˜GÑ$Ô$Ð$à#Ÿzšz™|œ|ð 	ð 	‰OˆH�eÝ”
˜5¥"¤'§,¢,¨t°XÑ">Ô">ÅÄÇÂÈYÐX`Ñ@aÔ@aØ'¨¬¸&À#ÐGXñZô ZˆAà�OŠO˜AÑÔÐÐàŒ
Œ×Ò˜xÑ(Ô(Ð(Øˆr   ra  Ústrip_directoryÚexclude_filesc                ó<   — t          d„ | D ¦   «         ¦  «        rdnd S )Nc              3  óT   K  — | ]#}t           j                             |¦  «        V — Œ$d S r  ©r  r  rÀ  ©rŒ   r•  s     r}   r±  z'Interpreter.<lambda>.<locals>.<genexpr>U	  ó2   è è € ÐA^ÐA^ÐWXÅ"Ä'Ç-Â-ÐPQÑBRÔBRÐA^ÐA^ÐA^ÐA^ÐA^ÐA^r   úcannot be absolute©ÚanyrQ  s    r}   rR  zInterpreter.<lambda>U	  ó*   € ½cÐA^ÐA^Ð\]ÐA^ÑA^ÔA^Ñ>^Ô>^Ð&hÐ&:Ð&:Ðdh€ r   )r~  r   rX  rS  Úexclude_directoriesc                ó<   — t          d„ | D ¦   «         ¦  «        rdnd S )Nc              3  óT   K  — | ]#}t           j                             |¦  «        V — Œ$d S r  râ  rã  s     r}   r±  z'Interpreter.<lambda>.<locals>.<genexpr>X	  rä  r   rå  ræ  rQ  s    r}   rR  zInterpreter.<lambda>X	  rè  r   ú'kwtypes.FuncInstallSubdir'úbuild.InstallDirc                óþ  — t          |d         ¦  «        t          |d         ¦  «        f}t          j                             | j        j        | j        |d         ¦  «        }t          j                             |¦  «        r!t          t          j	        |¦  «        ¦  «        s:t          j        dd| j        |¬¦  «         t          j        dd| j        d|¦  «         |                      |d	         ¦  «        }|d
         }t          |t           j        ¦  «        r|j        }t'          j        | j        |d         |d
         ||||d         | j        |d         ¬¦	  «	        }| j        j                             |¦  «         |S )Nrß  ré  r   z#install_subdir with empty directoryr§  r?  r  zAIt worked by accident and is buggy. Use install_emptydir instead.rQ  rV  rÞ  rW  )rW  )r  r  r  r—   r   r‰  rý   Úisdirrç  Úscandirr/   r·   r¬   r0   r[  ry   r¼  rÆ  r!  r
   rí  r  r´   )	r¥   rY  r€   rn   Úexcluder3  rQ  rÜ  rÛ  s	            r}   rž  zInterpreter.func_install_subdirN	  sp  € õ  �v˜oÔ.Ñ/Ô/µ°VÐ<QÔ5RÑ1SÔ1SÐTˆå”—’˜dÔ.Ô9¸4¼;ÈÈQÌÑPÔPˆÝŒw�}Š}˜VÑ$Ô$ð 	t­Cµ´
¸6Ñ0BÔ0BÑ,CÔ,Cð 	tÝÔ!Ð"GÈÐSWÔSbÐmqÐrÑrÔrÐrÝÔ(Ð)NÐPXÐZ^ÔZiØ)lÐnrñtô tð tà×;Ò;¸FÀ>Ô<RÑSÔSˆà˜=Ô)ˆ	Ý�i¥Ô!3Ñ4Ô4ð 	*Ø!Ô)ˆIåÔØŒKØ�ŒGØ�=Ô!ØØØØÐ$Ô%ØŒOØ˜}Ô-ð	/ñ 	/ô 	/ˆð 	Œ
Ô×&Ò& tÑ,Ô,Ð,Øˆr   rL  z0.47.0,r2  )r   Úconfigurationr"  zUse fs.copyfile instead)r~  rX  rm  Údeprecated_messager  r  r�   r  >   úcmake@rê  r  )r~  rX  rS  r6  rS  c                ó   — | du rdnd S )NTzmust be `false` if booleanrÝ   rQ  s    r}   rR  zInterpreter.<lambda>˜	  s   € ÀaÈ4ÀiÀiÐ&BÐ&BÐUY€ r   )r~  rS  Úoutput_formatrµ  r¶  úT.List[TYPE_var]úkwtypes.ConfigureFilec                óà  ‡— t          ˆfd„dD ¦   «         ¦  «        }t          |¦  «        }|dk    rt          d¦  «        ‚|dk    rt           dj        |Ž ¦  «        ‚|dk    rt           dj        |Ž ¦  «        ‚‰d	         r‰d
         st	          d¦  «        ‚|                      ‰d         ¦  «        }‰d         }‰d         }‰d         }	|                      ‰d         ¦  «        }
g }|
D ]}}t          |t          j	        ¦  «        rS| 
                    |                     | j        j        | j        j        ¦  «        ¦  «         |                      |¦  «         Œot          d¦  «        ‚‰d         }|rQt          j        |d ¦  «        }t          j        |g|¦  «        }|d         }|	rt          j        |	g|¦  «        d         }	t$          j                             | j        |¦  «        }|| j        v rt$          j                             | j        d¦  «        }|› d| j        › �}d                     || j        |         ¦  «        }t1          j        dt1          j        |d¦  «        d|d|¦  «         n| j        | j        |<   t$          j                             t$          j                             | j        |¦  «        ¦  «        \  }}t$          j                             | j        j        ||¦  «        }‰d         ��9‰d         }t          |t8          ¦  «        rƒt;          j        dd| j        |¬¦  «         |                      ¦   «         D ]=\  }}t          |tB          tD          tF          f¦  «        st	          d|›d|›d �¦  «        ‚Œ>tI          j%        |¦  «        }t1          j&        d!t1          j        |¦  «        d"¦  «         t          |
¦  «        d#k    rt          d$¦  «        ‚|
�r-t%          j'        t$          j                             | j        j        | j        ¦  «        d¬%¦  «         ‰d&         }t          j(        |d         ||||¦  «        \  }}|rOd'                     d(„ t          |¦  «        D ¦   «         ¦  «        }t1          j        d)|› d*|
d         › d+�|¬¦  «         |rmt$          j         )                    |d         ¦  «        }t;          j*        | j        ¦  «        }t;          j+        |d,¦  «        rt1          j        d-|›d.�|¬¦  «         nt          j,        |||¦  «         d|_-        �nº‰d
         ��)t          |
¦  «        d#k    rt;          j        d/d0| j        |¬¦  «         t          j        ||g¦  «        }|	r<t$          j                             | j         .                    ¦   «         |	¦  «        }	|	|d1<   t          j        ‰d
         |¦  «        } t1          j&        d!t1          j        |¦  «        d2¦  «         | ^}!}|  /                    ||!|fddtI          j0        ¦   «         d3œd¦  «        }"‰d	         rƒ|d4z   }#‰d&         }tc          |#d5|¬6¦  «        5 }| 2                    |"j3        ¦  «         d d d ¦  «         n# 1 swxY w Y   |rti          j5        |d         |#¦  «         t          j6        ||#¦  «         |	r¡t1          j&        d7t1          j        |	¦  «        ¦  «         tc          |	d8¬6¦  «        5 }to          | 8                    ¦   «         ¦  «        }$|$ 9                    |¦  «        }%|%D ]}&|                      |&¦  «         Œ	 d d d ¦  «         n# 1 swxY w Y   nˆ‰d9         r€t          |¦  «        d#k    rt          d:¦  «        ‚t%          j'        t$          j                             | j        j        | j        ¦  «        d¬%¦  «         ti          j:        |d         |¦  «         ‰d;         }'|'d<u r d=}'tw          j        d>d?| j        d@|¬¦  «         ‰dA         �‰dA         n|'d=k    }(|(rš|'st          dB¦  «        ‚|'})t          |)tx          j=        ¦  «        r|)j>        })t          j	         ?                    ||¦  «        }*‰dC         }+| j$        j@         
                    tI          jA        |*g|'|)|| j        |+dD¬E¦  «        ¦  «         t          j	         ?                    | j        |¦  «        S )FNc              3  ó0   •K  — | ]}‰|         d v¯|V — ŒdS )rq  NrÝ   )rŒ   r�   rn   s     €r}   r±  z2Interpreter.func_configure_file.<locals>.<genexpr>Ÿ	  s=   øè è € ð <ð <˜qØ" 1œI¨]Ð:Ð:ð Ø:Ð:Ð:Ð:ð<ð <r   )rò  r,  r"  r   zbMust specify an action with one of these keyword arguments: 'configuration', 'command', or 'copy'.r   zXMust not specify both {!r} and {!r} keyword arguments since they are mutually exclusive.rÈ  z]Must specify one of {!r}, {!r}, and {!r} keyword arguments since they are mutually exclusive.r¨  r,  z=configure_file: "capture" keyword requires "command" keyword.rQ  r�   rö  rP  r6  z*Inputs can only be strings or file objectsr7  r  rÃ   z{}:{}zOutput fileTzfor configure_file() atz%overwrites configure_file() output atrò  z'configure_file.configuration dictionaryr=  r?  r>  r?  rb  ÚConfiguringzusing configurationr;   z6At most one input file can given in configuration moderç  r  r†   c              3  ó4   K  — | ]}t          |¦  «        V — Œd S r  )Úrepr)rŒ   r¾   s     r}   r±  z2Interpreter.func_configure_file.<locals>.<genexpr>ê	  s(   è è € Ð(TÐ(T°Q­¨a©¬Ð(TÐ(TÐ(TÐ(TÐ(TÐ(Tr   zThe variable(s) z in the input file 'z2' are not present in the given configuration data.r§  zVGot an empty configuration_data() object and found no substitutions in the input file z_. If you want to copy a file to the build dir, use the 'copy:' keyword argument added in 0.47.0z#multiple inputs in configure_file()r  z	@DEPFILE@zwith command)r¨  r¦  r°  ú~r  r  zReading depfile:r  r"  z1Exactly one input file must be given in copy moderV  FrÁ   z!configure_file install_dir: falser©  z Use the `install:` kwarg insteadrS  zJ"install_dir" must be specified when "install" in a configure_file is truerW  Ú	configure)rW  Ú	data_type)Br}  r{   r)   r�   r*   r[  r{  ry   r   r|   r´   r½  r   r‰  rd  r7  Úget_filenames_templates_dictÚsubstitute_valuesr  r  r—   rý   r!  Úcurrent_linenor	   rw  rÈ   r  r˜   r/   r·   r¬   r™   r„   rš   rƒ   r
   rý  rÆ   rð  Údo_conf_fileÚbasenamer€  r�  Údump_conf_headerÚusedr»  r­  rñ  r  Ú
writelinesÚstdoutrÐ   ÚcopymodeÚreplace_if_differentr   Ú	readlinesÚget_all_dependenciesÚcopy2r0   r¼  rÆ  r!  Úfrom_built_filer  ré  ),r¥   rY  r€   rn   ÚactionsÚnum_actionsrQ  Úfmtrö  rP  r]  Ú
inputs_absr  r7  r¨   rE  Úofile_rpathÚmesonbuildfileÚcurrent_callÚ
first_callÚ
ofile_pathÚofile_fnameÚ	ofile_absÚconfr’   r“   Úfile_encodingÚmissing_variablesÚconfdata_uselessÚvar_listÚifbaser„  Ú_cmdrÂ  ÚresÚdst_tmprT  r�  rU  rÛ  rS  rÜ  ÚcfilerW  s,      `                                        r}   rˆ  zInterpreter.func_configure_filex	  sQ
  ø€ õN ð <ð <ð <ð <Ð$Hð <ñ <ô <ñ <ô <ˆå˜'‘l”lˆØ˜!ÒÐÝ&ð (Cñ Dô Dð Dð ˜AÒÐÝ&ð (Dð (=ä=CÀWð(Nñ Oô Oð Oð ˜AÒÐÝ&ð (Dð (=ä=CÀWð(Nñ Oô Oð Oð �)Ôð 	d V¨IÔ%6ð 	dÝ"Ð#bÑcÔcÐcà×;Ò;¸FÀ>Ô<RÑSÔSˆà�XÔˆØ˜Ô/ˆØ˜Ô#ˆð ×-Ò-¨f°W¬oÑ>Ô>ˆØˆ
Øð 	Yð 	YˆAÝ˜!�Xœ]Ñ+Ô+ð YØ×!Ò! !§/¢/°$Ô2BÔ2MØ26Ô2BÔ2Lñ#Nô #Nñ Oô Oð Oà×'Ò'¨Ñ*Ô*Ð*Ð*å*Ð+WÑXÔXÐXð ˜Ô!ˆØð 	KÝÔ:¸:ÀtÑLÔLˆFÝÔ0°&°¸6ÑBÔBˆGØ˜Q”ZˆFØð KÝ"Ô4°g°YÀÑGÔGÈÔJ�Ý”g—l’l 4¤;°Ñ7Ô7ˆØ˜$Ô5Ð5Ð5ÝœWŸ\š\¨$¬+°}ÑEÔEˆNØ,ÐDÐD¨tÔ/BÐDÐDˆLØ Ÿš¨¸Ô8SÐT_Ô8`ÑaÔaˆJÝŒL˜­¬	°+¸tÑ(DÔ(DÐF_Ðamð  pWð  Ycñ  dô  dð  dð  dà7;Ô7JˆDÔ'¨Ñ4Ý$&¤G§M¢Mµ"´'·,²,¸t¼{ÈFÑ2SÔ2SÑ$TÔ$TÑ!ˆ�[Ý”G—L’L Ô!1Ô!;¸ZÈÑUÔUˆ	ð �/Ô"Ñ.Ø˜/Ô*ˆDÝ˜$¥Ñ%Ô%ð 5ÝÔ%Ð&OÐQYÐ[_Ô[jÐuyÐzÑzÔzÐzØ ŸJšJ™LœLð Dð D‘D�A�qÝ% a­#­sµDÐ)9Ñ:Ô:ð DÝ.ð CÐSTð  Cð  CÐ|}ð  Cð  Cð  CñDô Dð DðDõ Ô.¨tÑ4Ô4�ÝŒH�]¥D¤I¨fÑ$5Ô$5Ð7LÑMÔMÐMÝ�6‰{Œ{˜QŠˆÝ*Ð+cÑdÔdÐdØñ JÝ”�BœGŸLšL¨Ô)9Ô)CÀTÄ[ÑQÔQÐ\`ÐaÑaÔaÐaØ & zÔ 2�åÔ)¨*°Q¬-¸ÀDØ*-¨}ñ>ô >ñ 4Ð!Ð#3ð %ð SØ#ŸyšyÐ(TÐ(T½&ÐARÑ:SÔ:SÐ(TÑ(TÔ(TÑTÔT�HÝ”LðC¨8ð Cð CÈÐPQÌð Cð Cð CØMQðSñ Sô Sð Sð $ð PÝœW×-Ò-¨j¸¬mÑ<Ô<�FÝ#Ô6°t´ÑGÔG�BÝ!Ô/°°HÑ=Ô=ð PÝœð &@ØHNð&@ð &@ð &@ð KOðPñ Pô Pð Pøõ
 Ô)¨)°T¸=ÑIÔIÐIØˆDŒI‰IØ�IÔÑ*Ý�6‰{Œ{˜QŠˆÝÔ%Ð&KÈXÐW[ÔWfÐquÐvÑvÔvÐvõ Ô:¸:È	À{ÑSÔSˆFØð .Ýœ'Ÿ,š, tÔ'7×'GÒ'GÑ'IÔ'IÈ7ÑSÔS�Ø&-��{Ñ#åÔ-¨f°YÔ.?ÀÑHÔHˆDÝŒH�]¥D¤I¨fÑ$5Ô$5°~ÑFÔFÐFØˆJˆC�$Ø×'Ò'¨¨s°D¨kØ48À4ÕPUÔPjÑPlÔPlÐ(mÐ(mØ(,ñ.ô .ˆCð �iÔ ð BØ# c™/�Ø & zÔ 2�Ý˜' 3°Ð?Ñ?Ô?ð -À1Ø—L’L ¤Ñ,Ô,Ð,ð-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -àð <Ý”O J¨q¤M°7Ñ;Ô;Ð;ÝÔ-¨i¸ÑAÔAÐAØð 5Ý”Ð+­T¬Y°wÑ-?Ô-?Ñ@Ô@Ð@Ý˜'¨GÐ4Ñ4Ô4ð 5¸Ý  §¢¡¤Ñ/Ô/�BØ×2Ò2°;Ñ?Ô?�DØ#ð 5ð 5˜Ø×/Ò/°Ñ4Ô4Ð4Ð4ð5ð5ð 5ð 5ñ 5ô 5ð 5ð 5ð 5ð 5ð 5ð 5øøøð 5ð 5ð 5ð 5øð �FŒ^ð 	3Ý�:‰Œ !Ò#Ð#Ý*Ð+^Ñ_Ô_Ð_ÝŒK�œŸš TÔ%5Ô%?ÀÄÑMÔMÐX\Ð]Ñ]Ô]Ð]ÝŒL˜ Aœ¨	Ñ2Ô2Ð2ð
 �mÔ$ˆØ�5ˆ=ˆ=ØˆDÝÔ(Ð)LÈhØ)-¬Ð:\Ðgkðmñ mô mð mà'-¨iÔ'8Ð'D�&˜Ô#Ð#È$ÐRTÊ*ˆØð 
	_Øð bÝ*Ø`ñbô bð bàˆIÝ˜)¥UÔ%7Ñ8Ô8ð .Ø%Ô-�	Ý”M×1Ò1°*¸kÑJÔJˆEØ  Ô/ˆKØŒJŒO×"Ò"¥5¤:¨u¨g°t¸YÈÐVZÔVeØ:EÐQ\ð$^ñ $^ô $^ñ _ô _ð _åŒ}×,Ò,¨T¬[¸&ÑAÔAÐAs%   ÙZÚZÚZÛ;A]Ý]Ý ]r\  r/  c           	     óÀ  — t          ||¦  «        }|dk    rC|D ]@}t          |t          ¦  «        r)t          j        dd| j        d|›d�| j        ¬¦  «          nŒAg }|D ]}t          |t          j        ¦  «        r| 	                    |¦  «         Œ2t          |t          ¦  «        r*| 	                    |  
                    |g¦  «        ¦  «         Œqt          d¦  «        ‚|S )Nr\  z(include_directories kwarg of type stringr©  zUse include_directories(z	) insteadr?  zRInclude directory objects can only be created from strings or include directories.)r   ry   r„   r/   r·   r¬   rK  r
   rï  r´   Úbuild_incdir_objectr)   )r¥   rn   r/  Úprospectivesr½   r�  r”  s          r}   rˆ  zInterpreter.extract_incdirs6
  s  € Ý& v¨sÑ3Ô3ˆØÐ'Ò'Ð'Ø!ð ð �Ý˜a¥Ñ%Ô%ð ÝÔ)Ð*TÐV^Ð`dÔ`oØ*SÀQÐ*SÐ*SÐ*SÐ^bÔ^oðqñ qô qð qà�Eðð
 ˆØð 	Að 	AˆAÝ˜!�UÔ.Ñ/Ô/ð AØ—’˜aÑ Ô Ð Ð Ý˜A�sÑ#Ô#ð AØ—’˜d×6Ò6¸°sÑ;Ô;Ñ<Ô<Ð<Ð<å*Ð+ñ  Aô  Að  AØˆr   Ú	is_systemú 'kwtypes.FuncIncludeDirectories'úbuild.IncludeDirsc                óF   — |                       |d         |d         ¦  «        S )Nr   r(  )r&  r|  s       r}   r™  z$Interpreter.func_include_directoriesI
  s#   € ð ×'Ò'¨¨Q¬°¸Ô1DÑEÔEÐEr   Úincdir_stringsc           	     óò  — t          |t          ¦  «        st          d¦  «        ‚| j                             ¦   «         }| j                             ¦   «         }t          j                             || j	        ¦  «        }t          j                             || j	        ¦  «        }|D �]7}| 
                    |¦  «        r!t          t          j        d¦  «        ¦  «        ‚	 |                      | j	        |¦  «         nP# t          $ rC t          j        d| j        ¬¦  «         t%          t          j        d|›d�¦  «        ¦  «         Y nw xY wt          j                             ||¦  «        }t          j                             ||¦  «        }	t          j                             |¦  «        s2t          j                             |	¦  «        st          d|› d�¦  «        ‚�Œ9t)          j        | j	        ||¦  «        }
|
S )	NzIs_system must be boolean.aê                      Tried to form an absolute path to a dir in the source tree.
                    You should not do that but use relative paths instead, for
                    directories that are part of your project.

                    To get include path to any directory relative to the current dir do

                    incdir = include_directories(dirname)

                    After this incdir will contain both the current source dir as well as the
                    corresponding build dir. It can then be used in any subdirectory and
                    Meson will take care of all the busywork to make paths work.

                    Dirname can even be '.' to mark the current directory. Though you should
                    remember that the current source and build directories are always
                    put in the include directories by default so you only need to do
                    include_directories('.') if you intend to use the result in a
                    different subdirectory.

                    Note that this error message can also be triggered by
                    external dependencies being installed within your source
                    tree - it's not recommended to do this.
                    z&include_directories sandbox violation!r?  zF                        The project is trying to access the directory aG   which belongs to a different
                        subproject. This is a problem as it hardcodes the relative paths of these two projects.
                        This makes it impossible to compile the project in any other directory layout and also
                        prevents the subproject from changing its own directory layout.

                        Instead of poking directly at the internals the subproject should be executed and
                        it should set a variable that the caller can then use. Something like:

                        # In subproject
                        some_dep = declare_dependency(include_directories: include_directories('include'))

                        # In subproject wrap file
                        [provide]
                        some = some_dep

                        # In parent project
                        some_dep = dependency('some')
                        executable(..., dependencies: [some_dep])

                        This warning will become a hard error in a future Meson release.
                        zInclude dir z does not exist.)ry   rƒ   r*   r   r  r(  r  r  r—   rý   r'  ÚtextwrapÚdedentÚvalidate_within_subprojectr)   r	   rw  rK  Úprintrï  r
   rï  )r¥   r,  r(  Úsrc_rootÚ
build_rootÚabsbase_srcÚabsbase_buildrÉ  Ú
absdir_srcÚabsdir_buildr½   s              r}   r&  zInterpreter.build_incdir_objectO
  sé  € Ý˜)¥TÑ*Ô*ð 	AÝ"Ð#?Ñ@Ô@Ð@ØÔ#×2Ò2Ñ4Ô4ˆØÔ%×3Ò3Ñ5Ô5ˆ
Ý”g—l’l 8¨T¬[Ñ9Ô9ˆÝœŸš Z°´Ñ=Ô=ˆàð 7	Kñ 7	KˆAØ�|Š|˜HÑ%Ô%ð 2Ý&¥x¤ð 8ñ (ô (ñ ô ð ð0Ø×3Ò3°D´KÀÑCÔCÐCÐCøÝ+ð ð ð Ý”LÐ!IÐTXÔTeÐfÑfÔfÐfÝ�(œ/ð +ØGHð+ð +ð +ñ ô ñ ô ð ð ð ðøøøõ0 œŸš k°1Ñ5Ô5ˆJÝœ7Ÿ<š<¨°qÑ9Ô9ˆLÝ”7—=’= Ñ,Ô,ð KµR´W·]²]À<Ñ5PÔ5Pð KÝ&Ð'I°aÐ'IÐ'IÐ'IÑJÔJÐJùÝÔ˜dœk¨>¸9ÑEÔEˆØˆs   ÃC9Ã9A
EÅErE  Úexe_wrapperÚgdbÚtimeout_multiplierÚexclude_suites)r   r~  rX  Ú
is_defaultú'kwtypes.AddTestSetup'c                óÚ  — |d         }t          j        d|¦  «        €t          d¦  «        ‚d|vr| j        r| j        n| j        j        › d|› �}g }|d         D ]g}t          |t          ¦  «        r|                     |¦  «         Œ-| 	                    ¦   «         st          d¦  «        ‚|| 
                    ¦   «         z  }Œh|d         }|dk    r(t          dd	¦  «                             | j        ¦  «         |d
         r4| j        j        �t          | j        j        ›d�¦  «        ‚|| j        _        t	          j        ||d         ||d         |d         ¦  «        | j        j        |<   d S )Nr   z0([_a-zA-Z][_0-9a-zA-Z]*:)?[_a-zA-Z][_0-9a-zA-Z]*z4Setup name may only contain alphanumeric characters.rÃ   r8  z"Tried to use non-found executable.r:  z(add_test_setup() timeout_multiplier <= 0r±   r<  zC is already set as default. is_default can be set to true only oncer9  r°  r;  )ÚreÚ	fullmatchr)   r¬   r
   r�   ry   r„   r´   rº  rÔ  r/   r  Útest_setup_default_nameÚ	TestSetupÚtest_setups)r¥   rY  r€   rn   Ú
setup_namer8  r½   r:  s           r}   r�  zInterpreter.func_add_test_setup’
  s¡  € ð ˜!”Wˆ
ÝŒ<ÐJÈJÑWÔWÐ_Ý&Ð']Ñ^Ô^Ð^Ø�jÐ Ð Ø04´Ð\˜Tœ_˜_ÀTÄZÔE\ÐlÐlÐ`jÐlÐlˆJà#%ˆØ˜Ô&ð 	/ð 	/ˆAÝ˜!�SÑ!Ô!ð /Ø×"Ò" 1Ñ%Ô%Ð%Ð%à—w’w‘y”yð UÝ.Ð/SÑTÔTÐTØ˜qŸ}š}™œÑ.��à#Ð$8Ô9ÐØ Ò"Ð"ÝÐAÀ8ÑLÔL×PÒPÐQUÔQ`ÑaÔaÐaà�,Ôð 	<ØŒzÔ1Ð=Ý*¨d¬jÔ.Pð ,Uð ,Uð ,Uñ Vô Vð Và1;ˆDŒJÔ.Ý-2¬_¸[È&ÐQVÌ-ÐYkÐmsÐtyÔmzØ=CÐDTÔ=Uñ.Wô .WˆŒ
Ô˜zÑ*Ð*Ð*r   r?  ú'kwtypes.FuncAddProjectArgs'c                ón   — |                       || j        j        |d                  |d         |¦  «         d S ©Nrå   r   )Ú_add_global_argumentsr
   Úglobal_argsr|  s       r}   r{  z%Interpreter.func_add_global_arguments¸
  s;   € ð 	×"Ò" 4¨¬Ô)?ÀÀxÔ@PÔ)QÐSWÐXYÔSZÐ\bÑcÔcÐcÐcÐcr   r@  c                ón   — |                       || j        j        |d                  |d         |¦  «         d S rG  )rH  r
   Úglobal_link_argsr|  s       r}   r|  z*Interpreter.func_add_global_link_arguments½
  s;   € ð 	×"Ò" 4¨¬Ô)DÀVÈHÔEUÔ)VÐX\Ð]^ÔX_ÐagÑhÔhÐhÐhÐhr   rB  c                ón   — |                       || j        j        |d                  |d         |¦  «         d S rG  )Ú_add_project_argumentsr
   Úprojects_argsr|  s       r}   r~  z&Interpreter.func_add_project_argumentsÂ
  s;   € ð 	×#Ò# D¨$¬*Ô*BÀ6È(ÔCSÔ*TÐVZÐ[\ÔV]Ð_eÑfÔfÐfÐfÐfr   rD  c                ón   — |                       || j        j        |d                  |d         |¦  «         d S rG  )rM  r
   Úprojects_link_argsr|  s       r}   r€  z+Interpreter.func_add_project_link_argumentsÇ
  s;   € ð 	×#Ò# D¨$¬*Ô*GÈÈxÔHXÔ*YÐ[_Ð`aÔ[bÐdjÑkÔkÐkÐkÐkr   rC  ú(T.Tuple[T.List[dependencies.Dependency]]c           
     ó8  — |d         }|d         D ]$}|| j         |         vrt          d|› d�¦  «        ‚Œ%t          j        |d         ¦  «        D �]H}t	          |                     ¦   «         ¦  «        }|                     ¦   «         dk    }|                     ¦   «         D ]•}	|d         D ]Š}| j        j         |         |         }
|	 	                    | j
                             ¦   «         | j
                             ¦   «         ¦  «        D ]+}|                     |
                     ||¦  «        ¦  «         Œ,Œ‹Œ–|                      || j        j        |         ||¦  «         |                      || j        j        |         |                     ¦   «         |¦  «         �ŒJd S )Nrå   rê   zFadd_project_dependencies() called before add_language() for language "rb  r   Úsystem)r   r+   r   Úget_leaf_external_dependenciesrz   Úget_compile_argsr  Úget_include_dirsr   Úto_string_listr   r  r(  r’  Úget_include_argsrM  r
   rN  rP  Úget_link_args)r¥   rY  r€   rn   rP  rƒ  r•  r}  Úsystem_incdirr½   rÄ  rÛ  s               r}   r  z)Interpreter.func_add_project_dependenciesÌ
  sÊ  € ð ˜XÔ&ˆØ˜:Ô&ð 	tð 	tˆDØ˜4œ>¨+Ô6Ð6Ð6Ý!Ð"rÐkoÐ"rÐ"rÐ"rÑsÔsÐsð 7õ Ô<¸TÀ!¼WÑEÔEð 
	uñ 
	uˆAÝ × 2Ò 2Ñ 4Ô 4Ñ5Ô5ˆLØ×.Ò.Ñ0Ô0°HÒ<ˆMØ×'Ò'Ñ)Ô)ð Xð X�Ø" :Ô.ð Xð X�DØœ=Ô2°;Ô?ÀÔE�DØ !× 0Ò 0°Ô1A×1PÒ1PÑ1RÔ1RÐTXÔTd×TrÒTrÑTtÔTtÑ uÔ uð Xð X˜Ø$×+Ò+¨D×,AÒ,AÀ$ÈÑ,VÔ,VÑWÔWÐWÐWðXðXð
 ×'Ò'¨¨d¬jÔ.FÀ{Ô.SÐUaÐciÑjÔjÐjØ×'Ò'¨¨d¬jÔ.KÈKÔ.XÐZ[×ZiÒZiÑZkÔZkÐmsÑtÔtÐtÑtð
	uð 
	ur   c                ó@  — d}d}|D �]}||v r t          j        d|› d�| j        ¬¦  «         Œ'||v r t          j        d|› d�| j        ¬¦  «         ŒK|dk    r t          j        d|› d�| j        ¬¦  «         Œq|d	k    r t          j        d
|› d�| j        ¬¦  «         Œ—|                     d¦  «        r t          j        d|› d�| j        ¬¦  «         ŒÌ|                     d¦  «        s|                     d¦  «        rt          j        d|› d�| j        ¬¦  «         �Œd S )N)z/W1z/W2z/W3z/W4z/Wallz-Wallz-Wextra)z-O0z-O2z-O3z-Osz-Ozz/O1z/O2z/OszCConsider using the built-in warning_level option instead of using "rC  r?  zAConsider using the built-in optimization level instead of using "z-Werrorz<Consider using the built-in werror option instead of using "z-gz;Consider using the built-in debug option instead of using "z
-fsanitizezDConsider using the built-in option for sanitizers instead of using "z-std=z/std:zSConsider using the built-in option for language standard version instead of using ")r	   rw  rK  r'  )r¥   r€   Úwarnargsr–  r­  s        r}   Ú_warn_about_builtin_argsz$Interpreter._warn_about_builtin_argsá
  s·  € ð
 MˆØJˆØð 	9ñ 	9ˆCØ�hˆˆÝ”ÐjÐcfÐjÐjÐjØ&*Ô&7ð9ñ 9ô 9ð 9ð 9à˜��Ý”ÐhÐadÐhÐhÐhØ&*Ô&7ð9ñ 9ô 9ð 9ð 9à˜	Ò!Ð!Ý”ÐcÐ\_ÐcÐcÐcØ&*Ô&7ð9ñ 9ô 9ð 9ð 9à˜’�Ý”ÐbÐ[^ÐbÐbÐbØ&*Ô&7ð9ñ 9ô 9ð 9ð 9à—’ Ñ-Ô-ð 9Ý”ÐkÐdgÐkÐkÐkØ&*Ô&7ð9ñ 9ô 9ð 9ð 9à—’ Ñ(Ô(ð 9¨C¯NªN¸7Ñ,CÔ,Cð 9Ý”ÐzÐsvÐzÐzÐzØ&*Ô&7ð9ñ 9ô 9ð 9ùð#	9ð 	9r   ÚargsdictúT.Dict[str, T.List[str]]c                ó°   — |                       ¦   «         rd|j        › d�}t          |¦  «        ‚| j        p| j        }|                      |||||¦  «         d S )Nz
Function 'a  ' cannot be used in subprojects because there is no way to make that reliable.
Please only call this if is_subproject() returns false. Alternatively, define a variable that
contains your language-specific arguments and add it to the appropriate *_args kwarg in each target.)rŠ  Ú	func_namer+   r  r  Ú_add_arguments)r¥   rY  r^  r€   rn   r{  Úfrozens          r}   rH  z!Interpreter._add_global_argumentsü
  sr   € à×ÒÑÔð 	#ð$ ¤ð $ð $ð $ˆCõ ˜cÑ"Ô"Ð"ØÔ)ÐD¨TÔ-DˆØ×Ò˜D (¨F°D¸&ÑAÔAÐAÐAÐAr   ú%T.Dict[str, T.Dict[str, T.List[str]]]c                ó~   — | j         |vr
i || j         <   |                      ||| j                  | j        ||¦  «         d S r  )r¬   rb  r  )r¥   rY  r^  r€   rn   s        r}   rM  z"Interpreter._add_project_arguments	  sW   € àŒ? (Ð*Ð*Ø(*ˆH�T”_Ñ%Ø×Ò˜D (¨4¬?Ô";Ø Ô4°d¸Fñ	Dô 	Dð 	Dð 	Dð 	Dr   Úargs_frozenc                ó¶   — |rd|j         › d�}t          |¦  «        ‚|                      |¦  «         |d         D ]}|                     |g ¦  «        |z   ||<   Œd S )NzTried to use 'zr' after a build target has been declared.
This is not permitted. Please declare all arguments before your targets.rê   )ra  r+   r]  r*  )r¥   rY  r^  rf  r€   rn   r{  rƒ  s           r}   rb  zInterpreter._add_arguments  s†   € àð 	#ð] D¤Nð ]ð ]ð ]ˆCå˜cÑ"Ô"Ð"à×%Ò% dÑ+Ô+Ð+à˜:Ô&ð 	;ð 	;ˆDØ%Ÿ\š\¨$°Ñ3Ô3°dÑ:ˆH�T‰NˆNð	;ð 	;r   r   úHT.Tuple[T.Union[None, str, T.List['TYPE_var'], T.Dict[str, 'TYPE_var']]]c                óº  — |d         }|�¿t          j        dd| j        |¬¦  «         t          j        |¦  «        }|rt          d|› �¦  «        ‚t          |t          ¦  «        rHt          d„ | 	                    ¦   «         D ¦   «         ¦  «        rt          j        dd| j        |¬¦  «         t          ||d	         |d
         ¦  «        S t          j        ¦   «         S )Nr   z environment positional argumentsr  r?  z"environment": c              3  óD   K  — | ]}t          |t          ¦  «        ¯|V — Œd S r  rP  rˆ  s     r}   r±  z/Interpreter.func_environment.<locals>.<genexpr>'  s3   è è € Ð-^Ð-^°AÍ*ÐUVÕX\ÑJ]ÔJ]Ð-^¨aÐ-^Ð-^Ð-^Ð-^Ð-^Ð-^r   z"List of string in dictionary valuer€  rä   Ú	separator)r/   r·   r¬   rU   rS  r*   ry   r˜   rç  r¨   ri   r
   rñ  )r¥   rY  r€   rn   Úinitr{  s         r}   rŽ  zInterpreter.func_environment  sè   € ð
 �AŒwˆØÐÝÔ!Ð"DÀhÐPTÔP_ÐjnÐoÑoÔoÐoÝÔ" 4Ñ(Ô(ˆCØð @Ý&Ð'>¸Ð'>Ð'>Ñ?Ô?Ð?Ý˜$¥Ñ%Ô%ð v­#Ð-^Ð-^¸¿º¹¼Ð-^Ñ-^Ô-^Ñ*^Ô*^ð vÝÔ%Ð&JÈHÐVZÔVeÐptÐuÑuÔuÐuÝ,¨T°6¸(Ô3CÀVÈKÔEXÑYÔYÐYÝÔ)Ñ+Ô+Ð+r   rf  c                óú  — |d         }t          j        j        dg|dd …         ¢R Ž                      dd¦  «        }t          j        j        |Ž                      dd¦  «        }t	          |d         t
          j        ¦  «        rd|vrt          j        |¦  «        S t	          |d         t
          j        ¦  «        r@t           j                             |d         j        |¦  «        }t          j        ||¦  «        S |S )Nr   rÁ   r;   ú\ú/rá  )	r  r  r—   rf  ry   r¼  rÄ  rÆ  r!  )r¥   rY  r€   rn   ÚpartsÚotherÚretr  s           r}   r£  zInterpreter.func_join_paths,  sÞ   € ð �Q”ˆÝ””˜RÐ, %¨¨¨¤)Ð,Ð,Ð,×4Ò4°T¸3Ñ?Ô?ˆÝŒgŒl˜EÐ"×*Ò*¨4°Ñ5Ô5ˆÝ�e˜A”h¥Ô >Ñ?Ô?ð 	ÀDÐPUÐDUÐDUÝÔ1°#Ñ6Ô6Ð6Ý˜˜aœ¥%Ô"4Ñ5Ô5ð 	Ý”7—<’<  a¤Ô 0°%Ñ8Ô8ˆDÝÔ% c¨4Ñ0Ô0Ð0àˆJr   c           
     ó¾  •— t          ¦   «                              ¦   «          t          j        dt          j        t          t          | j        j        ¦  «        ¦  «        ¦  «        ¦  «         t          j
        | j        ¦  «         t          j
        | j        ¦  «         |                      ¦   «         s*|                      ¦   «          |                      ¦   «          d S d S )NzBuild targets in project:)r  r  r	   rÆ   rÈ   r„   r{   r
   Útargetsr/   Úreportr¬   r0   rŠ  Úprint_extra_warningsr   )r¥   r,  s    €r}   r  zInterpreter.run:  s´   ø€ Ý‰Œ�Š‰ŒˆÝŒÐ,­d¬i½½CÀÄ
Ô@RÑ<SÔ<SÑ8TÔ8TÑ.UÔ.UÑVÔVÐVÝÔ˜$œ/Ñ*Ô*Ð*ÝÔ  ¤Ñ1Ô1Ð1Ø×!Ò!Ñ#Ô#ð 	"Ø×%Ò%Ñ'Ô'Ð'Ø×ÒÑ!Ô!Ð!Ð!Ð!ð	"ð 	"r   c                ó°   — | j         j        j                             ¦   «         D ]1}|                     ¦   «         dk    r|                      ¦   «           d S Œ2d S )NÚclang)r   r   r:  r¨   Úget_idÚcheck_clang_asan_lundef)r¥   rµ  s     r}   rv  z Interpreter.print_extra_warningsC  s`   € à”Ô(Ô-×4Ò4Ñ6Ô6ð 	ð 	ˆAØ�xŠx‰zŒz˜WÒ$Ð$Ø×,Ò,Ñ.Ô.Ð.Ø��ð %ð	ð 	r   c                óº  — t          d¦  «        | j        j        vrd S t          d¦  «        | j        j        vrd S | j        j        t          d¦  «                 j        rz| j        j        t          d¦  «                 j        dk    rTt	          j        d                     | j        j        t          d¦  «                 j        ¦  «        | j        ¬¦  «         d S d S d S )NÚb_lundefÚ
b_sanitizeÚnonezvTrying to use {} sanitizer on Clang with b_lundef.
This will probably not work.
Try setting b_lundef to false instead.r?  )r   r   rÒ  rt   r	   rw  r�   rK  r/  s    r}   rz  z#Interpreter.check_clang_asan_lundefJ  sÚ   € Ý�ZÑ Ô ¨¬Ô(=Ð=Ð=ØˆFÝ�\Ñ"Ô"¨$¬-Ô*?Ð?Ð?ØˆFØŒMÔ!¥)¨JÑ"7Ô"7Ô8Ô>ð 	5Ø”Ô%¥i°Ñ&=Ô&=Ô>ÔDÈÒNÐNÝŒLð *ç*0ª&°´Ô1FÅyÐQ]ÑG^ÔG^Ô1_Ô1eÑ*fÔ*fØ"&Ô"3ð5ñ 5ô 5ð 5ð 5ð 5ð	5ð 	5ØNÐNr   c           	     óæ  ‡ ‡‡	— t          ‰ j        j        ¦  «        Š	t          ‰ j        j        ¦  «        Št	          |t
          j        ¦  «        r$dˆˆ ˆ	fd„}t          |¦  «        } ||¦  «        rd S t          t          j         	                    t          ‰	||¦  «        ¦  «        ¦  «        }t          j         
                    |¦  «        rd}nd}t          j        ‰ j        v r‰|j        v rd S ‰	|j        vrd S t          ‰	‰ j        ¦  «        }|‰ j        z  }||k    rd S ||j        vrt#          d|› d	|j        › d
�¦  «        ‚||k    s	||j        v rt#          d|› d	|j        › d�¦  «        ‚d S )NÚfpathrk   rv   rƒ   c           
     óR  •— t          ¦   «         }‰j        j        D ]B}|j        D ]8}|                     t          |                     ‰‰¦  «        ¦  «        ¦  «         Œ9ŒCˆfd„‰j        j        D ¦   «         }| |v rdS |D ]'}t          | ¦  «         	                    |¦  «        r dS Œ(dS )Nc                óT   •— g | ]$}t          t          ‰|j        ¦  «        ¦  «        ‘Œ%S rÝ   )r„   rk   Úsource_subdir)rŒ   r6  r3  s     €r}   rŽ   z]Interpreter.validate_within_subproject.<locals>.validate_installable_file.<locals>.<listcomp>i  s-   ø€ Ð"gÐ"gÐ"gÈ!¥3¥t¨F°A´OÑ'DÔ'DÑ#EÔ#EÐ"gÐ"gÐ"gr   TF)
r  r
   r  r  r)  rk   r½  r  r„   r'  )r€  Úinstallablefilesr•  r6  Úinstallabledirsr4  r¥   r3  s        €€€r}   Úvalidate_installable_filezIInterpreter.validate_within_subproject.<locals>.validate_installable_filed  sÓ   ø€ Ý03±´Ð Øœœð Vð V�AØœYð Vð V˜Ø(×,Ò,­T°!·/²/À&È(Ñ2SÔ2SÑ-TÔ-TÑUÔUÐUÐUðVà"gÐ"gÐ"gÐ"gÈtÌzÔOfÐ"gÑ"gÔ"g�ØÐ,Ð,Ð,Ø˜4Ø(ð $ð $�AÝ˜5‘z”z×,Ò,¨QÑ/Ô/ð $Ø#˜t˜tð$à�ur   Ú	directoryr–  z!Sandbox violation: Tried to grab rÂ   z outside current (sub)project.z from a nested subproject.)r€  rk   rv   rƒ   )rk   r   r‰  rd  ry   r¼  rÄ  r  r  rŽ  rï  rà   râ   r  r1  r�  rþ   r)   r  )
r¥   rý   rÓ  r†  ÚnormÚ	inputtypeÚproject_rootrþ   r4  r3  s
   `       @@r}   r0  z&Interpreter.validate_within_subproject`  sÔ  øøø€ Ý�dÔ&Ô1Ñ2Ô2ˆÝ˜Ô(Ô2Ñ3Ô3ˆÝ�e�UÔ;Ñ<Ô<ð 	ðð ð ð ð ð ð ð õ ˜‘;”;ˆDð )Ð(¨Ñ.Ô.ð Ø�Ý•B”G—O’O¥D¨°¸Ñ$?Ô$?Ñ@Ô@ÑAÔAˆÝŒ7�=Š=˜ÑÔð 	Ø#ˆIˆIàˆIÝ$ÔEÈÔIYÐYÐYÐ^fÐjnÔjvÐ^vÐ^vØˆFØ˜œÐ%Ð%ð
 ˆFÝ˜F DÔ$4Ñ5Ô5ˆØ%¨Ô(;Ñ;ˆØ�<ÒÐØˆFØ˜tœ|Ð+Ð+Ý&ð  (AÈ9ð  (Að  (AÐW[ÔW`ð  (Að  (Að  (Añ  Bô  Bð  BØ˜TÒ!Ð! ^°t´|Ð%CÐ%CÝ&Ð'|È9Ð'|Ð'|ÐW[ÔW`Ð'|Ð'|Ð'|Ñ}Ô}Ð}ð &DÐ%Cr   úT.List['mesonlib.FileOrString']rT  úT.List['mesonlib.File']c                ó   — d S r  rÝ   ©r¥   r  rT  s      r}   r{  z#Interpreter.source_strings_to_filesŒ  s   € ð BEð  BEr   c                ó   — d S r  rÝ   rŽ  s      r}   r{  z#Interpreter.source_strings_to_files�  s   € ð KNð  KNr   ú3T.List[mesonlib.FileOrString, build.GeneratedTypes]ú4T.List[T.Union[mesonlib.File, build.GeneratedTypes]]c                ó   — d S r  rÝ   )r¥   r  s     r}   r{  z#Interpreter.source_strings_to_files’  s   € ð ^að  ^ar   úT.List['SourceInputs']úT.List['SourceOutputs']c                ó   — d S r  rÝ   rŽ  s      r}   r{  z#Interpreter.source_strings_to_files•  s   € Øx{Ðx{r   c           
     ót  — t          j        |¦  «         t          |t          ¦  «        s|g}g }|D �]…}t          |t          ¦  «        rÂ|sa|                     | j                             ¦   «         ¦  «        r5|                     |¦  «         t          j
        d|›d�| j        ¬¦  «         Œ{|                      | j        |¦  «         |                     t           j                             | j        j        | j        |¦  «        ¦  «         ŒÚt          |t           j        ¦  «        r|                     |¦  «         �Œt          |t"          j        t"          j        t"          j        t"          j        t"          j        t"          j        f¦  «        r|                     |¦  «         �Œtt1          d|›d�¦  «        ‚|S )a/  Lower inputs to a list of Targets and Files, replacing any strings.

        :param sources: A raw (Meson DSL) list of inputs (targets, files, and
            strings)
        :raises InterpreterException: if any of the inputs are of an invalid type
        :return: A list of Targets and Files
        zSource item zq cannot be converted to File object, because it is a generated file. This will become a hard error in the future.r?  zSource item is z& instead of string or File-type object)r   r¶  ry   rz   r„   r'  r   r(  r´   r	   rw  rK  r0  rý   r|   r«  r‰  r
   rÛ  r  r×  rÕ  rÝ  ró  r)   )r¥   r  rT  Úresultsr6  s        r}   r{  z#Interpreter.source_strings_to_files˜  sØ  € õ 	Ô& wÑ/Ô/Ð/Ý˜'¥4Ñ(Ô(ð 	 Ø�iˆGØ+-ˆØð 	Iñ 	IˆAÝ˜!�SÑ!Ô!ð IØð p !§,¢,¨tÔ/?×/MÒ/MÑ/OÔ/OÑ"PÔ"Pð pØ—N’N 1Ñ%Ô%Ð%Ý”Lð "P°ð "Pð "Pð "PØZ^ÔZkðmñ mô mð mð mð ×3Ò3°D´KÀÑCÔCÐCØ—N’N¥8¤=×#AÒ#AÀ$ÔBRÔB]Ð_cÔ_jÐlmÑ#nÔ#nÑoÔoÐoÐoÝ˜A�xœ}Ñ-Ô-ð IØ—’˜qÑ!Ô!Ð!Ñ!Ý˜A¥Ô 3µUÔ5FÝ %Ô 7½Ô9KÝ %Ô 6½Ô8Oð Qñ Rô Rð Ið —’˜qÑ!Ô!Ð!Ñ!å*ð ,H¸Qð ,Hð ,Hð ,Hñ Iô Ið Iàˆr   c                óà   — |                       d¦  «        rt          d¦  «        ‚|                       d¦  «        rd| vrt          d¦  «        ‚| t          j        v rt          d| › d�¦  «        ‚d S )Nzmeson-internal__zcTarget names starting with 'meson-internal__' are reserved for Meson's internal use. Please rename.rµ  r  zvTarget names starting with 'meson-' and without a file extension are reserved for Meson's internal use. Please rename.zTarget name 'z6' is reserved for Meson's internal use. Please rename.)r'  r*   r   ÚFORBIDDEN_TARGET_NAMES)r  s    r}   r\  z&Interpreter.validate_forbidden_targets¸  s°   € à�?Š?Ð-Ñ.Ô.ð 	OÝ"ð $Nñ Oô Oð Oà�?Š?˜8Ñ$Ô$ð 	\¨°D¨¨Ý"ð $[ñ \ô \ð \à•8Ô2Ð2Ð2Ý"ð $B°4ð $Bð $Bð $Bñ Cô Cð Cð 3Ð2r   Útobjúbuild.Targetc           	     ó8  — |dk    rt          d¦  «        ‚|                     ¦   «         dk    rt          d¦  «        ‚t          |¦  «        r²t          j                             | j        t          j                             |¦  «        d         ¦  «        }t          j                             t          j                             | j	        |¦  «        ¦  «        r(t          t          j        d|› d|› d�¦  «        ¦  «        ‚|                      |¦  «         |                     ¦   «         }|| j        j        v rt#          d|› d	�¦  «        ‚t%          |t          j        ¦  «        rZ|                     ¦   «         }|                      |d
|j        ¦  «         |                     |¦  «         |                      |¦  «         || j        j        |<   || j        j        vrAt7          t9          j        ¦   «         ¦  «                             ¦   «         | j        j        |<   d S d S )NrÁ   zTarget name must not be empty.z0Target name must not consist only of whitespace.r   z                    Target "z," has a path segment pointing to directory "z¸". This is an error.
                    To define a target that builds in that directory you must define it
                    in the meson.build file in that directory.
            zTried to create target "z,", but a target of that name already exists.T)r)   Ústripr   r  r  r—   rý   r  r]  r  r*   r.  r/  r\  ry  r
   rt  r+   ry   r  Úprocess_compilersrA  rP  Úprocess_compilers_lateÚadd_stdlib_infor   Útarget_guidsr„   ÚuuidÚuuid4Úupper)r¥   r  rš  ÚpathsegÚidnameÚmissing_languagess         r}   r  zInterpreter.add_targetÄ  sô  € Ø�2Š:ˆ:Ý&Ð'GÑHÔHÐHØ�:Š:‰<Œ<˜2ÒÐÝ&Ð'YÑZÔZÐZÝ˜ÑÔð 	Ý”g—l’l 4¤;µ´·²¸dÑ0CÔ0CÀAÔ0FÑGÔGˆGÝŒw�~Š~�bœgŸlšl¨4Ô+;¸WÑEÔEÑFÔFð Ý&¥x¤ð 8Ø!ð8ð 8ØOVð8ð 8ð 8ñ (ô (ñ ô ð ð
 	×'Ò'¨Ñ-Ô-Ð-ð —’‘”ˆØ�T”ZÔ'Ð'Ð'ÝÐk¸ÐkÐkÐkÑlÔlÐlå�d�EÔ-Ñ.Ô.ð 	'Ø $× 6Ò 6Ñ 8Ô 8ÐØ×ÒÐ0°$¸Ô8HÑIÔIÐIØ×'Ò'Ð(9Ñ:Ô:Ð:Ø× Ò  Ñ&Ô&Ð&à%)ˆŒ
Ô˜6Ñ"Ø˜œÔ3Ð3Ð3Ý14µT´Z±\´\Ñ1BÔ1B×1HÒ1HÑ1JÔ1JˆDŒMÔ& vÑ.Ð.Ð.ð 4Ð3r   rI  c                óZ  — |                       |||t          j        ¦  «        }|                       |||t          j        ¦  «        }d}t	          d¦  «        }d|v r	|d         }n/|| j        j        j        v r| j        j        j        |         j        }| j	        j
        dk    rd}n|}|ro|j                             t          j        ||j        |j        g ¦  «        ¦  «         g |_        g |_        d„ |j                             ¦   «         D ¦   «         |_        t          j        ||¦  «        S )NTÚb_staticpicÚpicÚxcodeFc                ó6   — i | ]\  }}|t           j        v ¯||“ŒS rÝ   )r   Úclink_langsr‘   s      r}   rG  z4Interpreter.build_both_libraries.<locals>.<dictcomp>  s-   € Ð#pÐ#pÐ#p©T¨Q°ÐUVÕZcÔZoÐUoÐUo A qÐUoÐUoÐUor   )rJ  r
   rÉ  rË  r   r   r   rÒ  rt   rû   r  Úobjectsr´   rÝ  r  Ú	generatedr   r™   rÍ  )	r¥   rY  r€   rn   Ú
shared_libÚ
static_librª  r/  Úreuse_object_filess	            r}   r$  z Interpreter.build_both_librariesâ  s3  € à×&Ò& t¨T°6½5Ô;NÑOÔOˆ
Ø×&Ò& t¨T°6½5Ô;NÑOÔOˆ
ð ˆÝ˜Ñ&Ô&ˆØ�Fˆ?ˆ?Ø˜”-ˆCˆCØ�DÔ$Ô-Ô5Ð5Ð5ØÔ"Ô+Ô3°CÔ8Ô>ˆCàŒ<Ô Ò'Ð'ð "'ÐÐà!$Ðàð 
	qð
 Ô×%Ò%¥eÔ&<¸ZÈÔI[Ð]gÔ]qÐsuÑ&vÔ&vÑwÔwÐwØ!#ˆJÔØ#%ˆJÔ ð $qÐ#p°ZÔ5I×5OÒ5OÑ5QÔ5QÐ#pÑ#pÔ#pˆJÔ åÔ" :¨zÑ:Ô:Ð:r   c                ó^  — | j                              t          d| j        ¬¦  «        ¦  «        }|dk    r"|                      |||t
          j        ¦  «        S |dk    r"|                      |||t
          j        ¦  «        S |dk    r|                      |||¦  «        S t          d|› d�¦  «        ‚)NÚdefault_libraryr$  Úsharedræ   ÚbothzUnknown default_library value: r  )
r   rX  r   r¬   rJ  r
   rÉ  rË  r$  r)   )r¥   rY  r€   rn   r´  s        r}   r'  zInterpreter.build_library  s¶   € Øœ-×2Ò2µ9Ð=NÐ[_Ô[jÐ3kÑ3kÔ3kÑlÔlˆØ˜hÒ&Ð&Ø×$Ò$ T¨4°½Ô9LÑMÔMÐMØ Ò(Ð(Ø×$Ò$ T¨4°½Ô9LÑMÔMÐMØ Ò&Ð&Ø×,Ò,¨T°4¸Ñ@Ô@Ð@å&Ð'[ÈÐ'[Ð'[Ð'[Ñ\Ô\Ð\r   c                ó¸  ‡— t          ddg d¢¦  «        t          dddg¦  «        t          dddg¦  «        t          ddd	g¦  «        d
„ ¦   «         ¦   «         ¦   «         ¦   «         } || |||¦  «         |st          d¦  «        ‚|^}}|                      |¦  «        }d|v r|t          |d         ¦  «        z  }|                      |¦  «        }t          |d¦  «        }	t          |d¦  «        |d<   |                      |¦  «        |d<   d|v r(t          |d¦  «        }
|                      |
¦  «        |d<   |                      t          j	         
                    | j        | j        ¦  «        |¦  «         ‰t          j        t          j        t          j        t          j        t          j        hvr1t'          j        dt+          ‰¦  «        ¦  «         t-          d¦  «        ‚|                      |¦  «         ˆfd„|                     ¦   «         D ¦   «         }g }t          j        ¦   «         }|D ]7}t5          |t          j        ¦  «        r||z   }Œ"|                     |¦  «         Œ8|sd }�n|j                             ¦   «         D ]ç}t=          ¦   «         }|D ]Ô}t5          |t*          ¦  «        r!t          j	                             |¦  «        g}n7t5          |t@          j!        ¦  «        r	|j"        g}n| #                    ¦   «         }| $                    |¦  «        }|r9tK          j&        dd 
                    tO          |¦  «        ¦  «        › �|¬¦  «        ‚| (                    |¦  «         ŒÕŒè|  )                    |¦  «        |d<    ‰|| j        | j*        ||||	| j+        | j,        |         |¦
  «
        }| j-        |_-        |  .                    ||¦  «         d| _/        |S )Nzbuild targetr  )Úrust_crate_typeÚbuild_rpathÚimplicit_include_directoriesr2  Ú	rust_argsrÏ  r9  rM  Úgnu_symbol_visibilityc                ó   — dS r   rÝ   r|  s       r}   Úbuild_target_decorator_callerz?Interpreter.build_target.<locals>.build_target_decorator_caller  s	   € ð
 �4r   zTarget does not have a name.r  r®  r   rQ  Úextra_fileszUnknown target type:zUnreachable codec                ó.   •— i | ]\  }}|‰j         v ¯||“ŒS rÝ   )Úknown_kwargs)rŒ   r’   r“   Útargetclasss      €r}   rG  z,Interpreter.build_target.<locals>.<dictcomp>2  s,   ø€ ÐSÐSÐS™4˜1˜a°Q¸+Ô:RÐ5RÐ5R�!�QÐ5RÐ5RÐ5Rr   z+Conflicting sources in structured sources: r†   )rY  r\  T)0r1   r)   r  r   r{  r   rË  Úcheck_sources_existr  r  r—   r  rý   r
   rÑ  rÉ  rÏ  rË  rÓ  r	   rN  r„   r©  Úkwarg_strings_to_includedirsr™   ró  ry   r´   r  r¨   r  r  r   r|   rÓ  Úget_outputsÚintersectionr*   Ú	from_noder}  r  rˆ  r¬   r   r   rž   r  r  )r¥   rY  r€   rn   rÂ  r¾  r  r  rP  ÚobjsÚefÚsrcsÚstructr6  r“   rE  r  rl  Ú	conflictsr;  s       `               r}   rJ  zInterpreter.build_target  s  ø€ Ý	˜.¨(Ð4vÐ4vÐ4vÑ	wÔ	wÝ	˜.¨(°[°MÑ	BÔ	BÝ	˜.¨(Ð5GÐ4HÑ	IÔ	IÝ	˜.¨(Ð5LÐ4MÑ	NÔ	Nð	ð 	ñ 
OÔ	Nñ 
JÔ	Iñ 
CÔ	Bñ 
xÔ	wð	ð 	&Ð% d¨D°$¸Ñ?Ô?Ð?àð 	GÝ&Ð'EÑFÔFÐFØˆˆˆwØ×4Ò4°VÑ<Ô<ˆØ˜ÐÐØ•w˜v iÔ0Ñ1Ô1Ñ1ˆGØ×.Ò.¨wÑ7Ô7ˆÝ˜v yÑ1Ô1ˆÝ!0°¸Ñ!HÔ!Hˆˆ~ÑØ!%×!=Ò!=¸fÑ!EÔ!Eˆˆ~ÑØ˜FÐ"Ð"Ý  ¨Ñ7Ô7ˆBØ$(×$@Ò$@ÀÑ$DÔ$DˆF�=Ñ!Ø× Ò ¥¤§¢¨dÔ.>ÀÄÑ!LÔ!LÈgÑVÔVÐVØ�uÔ/µÔ1DÅeÔFXÕZ_ÔZmÕotÔoxÐyÐyÐyÝŒJÐ-­s°;Ñ/?Ô/?Ñ@Ô@Ð@ÝÐ1Ñ2Ô2Ð2Ø×)Ò)¨&Ñ1Ô1Ð1ð TÐSÐSÐS 6§<¢<¡>¤>ÐSÑSÔSˆà')ˆÝ6;Ô6MÑ6OÔ6OˆØð 	ð 	ˆAÝ˜!�UÔ4Ñ5Ô5ð Ø !™��à—’˜A‘”��àð 	&ØˆF‰Fð
 ”^×*Ò*Ñ,Ô,ð &ð &�Ý&)¡e¤e�Øð &ð &�Aå! !¥SÑ)Ô)ð ,ÝœW×-Ò-¨aÑ0Ô0Ð1˜˜Ý# A¥x¤}Ñ5Ô5ð ,ØœW˜I˜˜àŸMšM™OœO˜Ø '× 4Ò 4°QÑ 7Ô 7�IØ ð 'Ý.Ô8ØhÈ$Ï)Ê)ÕTZÐ[dÑTeÔTeÑJfÔJfÐhÐhØ!%ð'ñ 'ô 'ð 'ð —N’N 1Ñ%Ô%Ð%Ð%ð&ð )-×(<Ò(<¸VÑ(DÔ(DˆÐ$Ñ%Ø�˜T 4¤;°´ÀÈdÐTZÐ\`Ø!Ô-¨t¬~¸kÔ/JÈFñTô Tˆà!%Ô!5ˆÔà�Š˜˜fÑ%Ô%Ð%Ø#'ˆÔ Øˆr   c                óV  — d|v �r#t          j        |d¦  «        }g }|D �]}t          |t          ¦  «        rÔt          j                             |¦  «                             | j         	                    ¦   «         ¦  «        r‹t          j        d| j        ¬¦  «         t          j                             |t          j                             | j         	                    ¦   «         | j        ¦  «        ¦  «        }|                      |g¦  «        }|                     |¦  «         �Œ||d<   d S d S )Nr  z}Building a path to the source dir is not supported. Use a relative path instead.
This will become a hard error in the future.r?  )r   r   ry   r„   r  r  r$  r'  r   r  r	   rw  rK  Úrelpathr—   rý   r&  r´   )r¥   rn   r™   Úcleaned_itemsr½   s        r}   rÄ  z(Interpreter.kwarg_strings_to_includedirs\  s   € Ø˜fÐ$Ñ$ÝÔ,¨V°_ÑEÔEˆEØˆMØð 
(ñ 
(�Ý˜a¥Ñ%Ô%ð :õ ”w×'Ò'¨Ñ*Ô*×5Ò5°dÔ6F×6UÒ6UÑ6WÔ6WÑXÔXð :Ýœð &0Ø:>Ô:KðMñ Mô Mð MåœGŸOšO¨A­r¬w¯|ª|¸DÔ<L×<[Ò<[Ñ<]Ô<]Ð_cÔ_jÑ/kÔ/kÑlÔl˜Ø ×4Ò4°a°SÑ9Ô9˜Ø×$Ò$ QÑ'Ô'Ð'Ñ'Ø&3ˆF�?Ñ#Ð#Ð#ð %Ð$r   c                óÂ   — |j                              ¦   «         D ]D}| j        j        |j                                      |d ¦  «        }|r|                     |¦  «         ŒEd S r  )r   rG  r
   rN  rP  r*  Úadd_deps)r¥   r;  rR  rU  s       r}   r   zInterpreter.add_stdlib_infom  sg   € ØÔ!×&Ò&Ñ(Ô(ð 	%ð 	%ˆAØ”*Ô$ VÔ%7Ô8×<Ò<¸QÀÑEÔEˆCØð %Ø—’ Ñ$Ô$Ð$øð	%ð 	%r   c                óà   — |D ]j}t          |t          ¦  «        sŒt          j                             ||¦  «        }t          j                             |¦  «        st          d|› d�¦  «        ‚Œkd S )Nz&Tried to add non-existing source file r  )ry   r„   r  r  r—   r&  r)   )r¥   rý   r  r6  rÓ  s        r}   rÃ  zInterpreter.check_sources_exists  s�   € Øð 	Zð 	ZˆAÝ˜a¥Ñ%Ô%ð ØÝ”G—L’L ¨Ñ+Ô+ˆEÝ”7—>’> %Ñ(Ô(ð ZÝ*Ð+XÐTUÐ+XÐ+XÐ+XÑYÔYÐYðZð		Zð 	Zr   Úbuildtargetúmesonlib.HoldableObjectc                óD   — | j         |j         k    rt          d¦  «        ‚d S )Nz5Tried to extract objects from a different subproject.)r¬   r)   )r¥   rÓ  s     r}   Úvalidate_extractionzInterpreter.validate_extraction|  s)   € ØŒ?˜kÔ4Ò4Ð4Ý&Ð'^Ñ_Ô_Ð_ð 5Ð4r   c                ó   — | j         dk    S )NrÁ   r$  r/  s    r}   rŠ  zInterpreter.is_subproject€  s   € ØŒ "Ò$Ð$r   rn  úT.Tuple[str, object]c                ó@   — |\  }}|                       ||d¬¦  «         d S )NT)Ú	holderify)rn  )r¥   rY  r€   rn   Úvarnamert   s         r}   r«  zInterpreter.func_set_variableƒ  s.   € ð
 ‰ˆ�Ø×Ò˜' 5°DÐÑ9Ô9Ð9Ð9Ð9r   rY  ú3T.Tuple[T.Union[str, Disabler], T.Optional[object]]ú
'TYPE_var'c                óÎ   — |\  }}t          |t          ¦  «        r|S 	 | j        |         S # t          $ r |�|                      |¦  «        cY S Y nw xY wt          d|› d�¦  «        ‚)NzTried to get unknown variable "rC  )ry   r-   r;  rJ  Ú
_holderifyr)   )r¥   rY  r€   rn   rÛ  ré   s         r}   r–  zInterpreter.func_get_variable‹  s”   € ð !Ñˆ�Ý�g�xÑ(Ô(ð 	ØˆNð	1Ø”> 'Ô*Ð*øÝð 	1ð 	1ð 	1ØÐ#Ø—’ xÑ0Ô0Ð0Ð0Ð0ð $Ð#ð	1øøøõ #Ð#PÀWÐ#PÐ#PÐ#PÑQÔQÐQs   ž+ «!AÁArd  c                ó    — |d         | j         v S r    r:  r|  s       r}   r¡  zInterpreter.func_is_variableœ  s   € ð �AŒw˜$œ.Ð(Ð(r   ru  c                ój   — |d         }	 | j         |= d S # t          $ r t          d|› d�¦  «        ‚w xY w)Nr   z!Tried to unset unknown variable "rC  )r;  rJ  r)   )r¥   rY  r€   rn   rÛ  s        r}   rµ  zInterpreter.func_unset_variable¡  s\   € ð �q”'ˆð	XØ”˜wÐ'Ð'Ð'øÝð 	Xð 	Xð 	XÝ&Ð'VÈ7Ð'VÐ'VÐ'VÑWÔWÐWð	Xøøøs   Š ”2c                óª   — |                       dd¦  «        }t          |t          ¦  «        st          d¦  «        ‚|rt          j        nt          j        S )Nrå   Fz'Argument to "native" must be a boolean.)r*  ry   rƒ   r*   r   rE  rC  )rn   rå   s     r}   r  z%Interpreter.machine_from_native_kwarg«  sM   € à—’˜H eÑ,Ô,ˆÝ˜&¥$Ñ'Ô'ð 	NÝ"Ð#LÑMÔMÐMØ&,ÐD�}Ô"Ð"µ-Ô2DÐDr   rc  úT.Tuple[object]c                ó8   — t          |d         t          ¦  «        S r    )ry   r-   r|  s       r}   r   zInterpreter.func_is_disabler²  s   € õ ˜$˜qœ'¥8Ñ,Ô,Ð,r   rk  ú.T.Tuple[int, T.Optional[int], T.Optional[int]]úP_OBJ.RangeHolderc                óÚ   — |\  }}}|€|}d}|€d}|dk     rt          d¦  «        ‚||k     rt          d¦  «        ‚|dk     rt          d¦  «        ‚t          j        |||| j        ¬¦  «        S )Nr   r;   zstart cannot be negativezstop cannot be less than startzstep must be >=1r$  )r)   r¼  ÚRangeHolderr¬   )r¥   rY  r€   rn   ÚstartÚstopÚsteps          r}   r¨  zInterpreter.func_range¸  s�   € ð !Ñˆˆt�Tð ˆ<ØˆDØˆEØˆ<ØˆDà�1Š9ˆ9Ý&Ð'AÑBÔBÐBØ�%Š<ˆ<Ý&Ð'GÑHÔHÐHØ�!Š8ˆ8Ý&Ð'9Ñ:Ô:Ð:ÝÔ  ¨¨d¸t¼ÐOÑOÔOÐOr   )
NrÁ   rÁ   rø   NFNFNN)rù   rú   rû   rü   r¬   r„   rý   r„   rþ   r„   rÿ   r   r  rƒ   r  r  r  rƒ   r  r  r  r  rv   r­   )rv   r-  )rv   r­   )r  r  r  r	  rv   r­   )r  r  rv   r­   )rv   r  )r  r   rv   r­   )rv   r8  )rY  rZ  r€   r[  rn   r\  rv   r]  )rY  rv  r€   rw  rn   rx  rv   ry  )rY  rv  r€   r—  rn   rx  rv   r­   )rY  rZ  r€   rª  rn   r«  rv   rB   ©F)
rY  rZ  r€   rª  rn   r«  r®  rƒ   rv   rB   )rÍ  rZ  r€   r[  rn   rÐ  rv   r@   )NN)rÖ  r„   r×  rw   ry  rØ  rv   r@   )rÖ  r„   rä   rÜ  rn   rÝ  rv   r@   )NNFN)rÖ  r„   rý   r„   rð   rý  rn   rÝ  r  r  r'  rþ  r  rƒ   r  r  rv   r@   )rÖ  r„   rý   r„   rû  r„   rð   rý  rn   rÝ  rv   r@   )r!  r„   rv   r"  )rÍ  rZ  r€   r[  rn   rx  rv   r6  )rY  rZ  r€   r:  rn   rx  rv   r;  )rY  rv  r€   rW  rn   rX  rv   r­   )rY  rv  r€   rw  rn   ry  rv   rƒ   )rY  rZ  )rY  rZ  r€   r�  rn   r�  rv   r­   )r§   r„   rn   r�  rv   r­   )r€   rª  rë   rƒ   rP  r   rv   rƒ   )rP  r   rv   rƒ   )rP  r   rÆ  rÇ  rv   rÈ  )r€   rÇ  rÌ  rª  rÍ  rÎ  rv   rÈ  )rØ  rÇ  rÍ  rÙ  rv   rÚ  )rØ  rÇ  rv   r­   )r  r„   rÆ  rá  rv   r­   )r€   rÇ  rv   r   )r€   rÇ  rP  r   rë   rƒ   r³  rƒ   r¤  rç  rÌ  rþ  rè  ré  rv   rê  )r€   rÇ  rP  r   rë   rƒ   rÌ  rª  rÍ  rÎ  rv   rø  )
ré   r„   r€   rÇ  rë   rƒ   rÍ  rÎ  rv   rø  )rY  rZ  r€   r  rn   r  rv   r  )rY  rZ  r€   rw  rv   r   )rY  rZ  r€   r.  rn   r/  rv   r0  )rY  rZ  r€   rq   rn   rr   rv   rB  )rD  rƒ   rE  rF  r  r„   rv   r­   )rY  rv  r€   r[  rn   rN  rv   r0  )rY  rv  r€   r[  rn   r_  rv   r`  )rY  rZ  r€   rc  rn   rx  rv   rd  )rY  rv  r€   rg  rn   rh  rv   ri  )rY  rZ  r€   rn  rn   ro  rv   r­   )rY  rZ  r€   rn  rn   ru  rv   r­   )rn   rw  rv   rx  )rY  rZ  r€   rn  rn   r}  rv   rA   )rY  rZ  r€   rˆ  rn   r©   r‰  rƒ   )rY  rZ  r€   rŒ  rn   r�  rv   rŽ  )rY  rZ  r€   rŒ  rn   rš  rv   r›  )rY  rZ  r€   r[  rv   r­   )rY  rZ  r€   rw  rv   r¦  )rY  rZ  r€   r¨  rn   rx  rv   r©  )rY  rZ  r€   r[  rn   r³  rv   r­   )rn   r©   rv   rÆ  )rÊ  r   rv   r­   )rY  rZ  r€   rŒ  rn   rÓ  rv   rÔ  )NNF)r  ry  rV  rw   rQ  r   rÒ  rw   r×  rw   rØ  rw   rÙ  rw   r�  rƒ   rv   rÔ  )rY  rZ  r€   r[  rn   rì  rv   rí  )rY  rZ  r€   r÷  rn   rø  )r\  )r/  r„   )rY  rZ  r€   rw  rn   r)  rv   r*  )r,  rª  r(  rƒ   rv   r*  )rY  rZ  r€   r[  rn   r=  rv   r­   )rY  rv  r€   rw  rn   rE  rv   r­   )rY  rv  r€   rQ  rn   rE  rv   r­   )r€   rª  rv   r­   )
rY  rv  r^  r_  r€   rª  rn   rE  rv   r­   )
rY  rv  r^  rd  r€   rª  rn   rE  rv   r­   )rY  rv  r^  r_  rf  rƒ   r€   rª  rn   rE  rv   r­   )rY  rv  r€   rh  rn   rx  rv   rx  )rY  rZ  r€   rw  rn   rx  rv   r„   rˆ   )r  r‹  rT  rƒ   rv   rŒ  )r  r‹  rT  rƒ   rv   r‹  )r  r�  rv   r‘  )r  r“  rT  rƒ   rv   r”  )r  r„   rv   r­   )r  r„   rš  r›  rv   r­   )rÓ  rÔ  rv   r­   )rv   rƒ   )rY  rZ  r€   rØ  rn   rx  rv   r­   )rY  rZ  r€   rÜ  rn   rx  rv   rÝ  )rY  rZ  r€   r[  rn   rx  rv   rƒ   )rY  rZ  r€   r[  rn   rx  rv   r­   )rn   r©   rv   r   )rY  rZ  r€   rã  rn   rx  rv   rƒ   )r€   rå  rn   r©   rv   ræ  )×rÚ   rÛ   rÜ   r¦   r0  r+  r$  r%  r  r  r  r7  r<  rV  r"   r„   r!   rc   r'  rS   r.   r˜  r$   r‘  r#   r    r   rz   rX   rT   rO   r\   r]   rd   re   rg   r‹  rƒ   rƒ  r¥  r
   rÑ  r   r   r  r   r|   rU   r©  r­  r—  r¦  rN   r²  rÛ  rÔ  rñ  rò  r5  r•  r˜   r‡  rM  r~   r§  r}  r&   r¥  rŠ  r/   Úobjectr³  r’  r   r·  r�  rŠ  r¹  rA  r±  r¬  rË  r×  rÝ  rà  rã  ræ  r   rC  r÷  rî  rþ  ra   r“  r’  r1   r%   Úpermitted_dependency_kwargsrŒ  r�  r2   Úknown_exe_kwargsr�  Úknown_stlib_kwargsr°  Úknown_shlib_kwargsr®  Úknown_library_kwargsr…  Úknown_shmod_kwargsr¯  r¤  Úknown_jar_kwargsr¢  Úknown_build_target_kwargsr†  rJ   rL   r  rÕ  r×  r¶  r±  Ústaticmethodr<  rF   rG   rH   rI   rK   r^   rP   rQ   rR   rY   r[   r‰  rª  ÚTargetr‚  r”  rÓ  rf   r„  r´  r|  r‡  rs  rb   rZ   rœ  r�  r›  r_   rŸ  r¬  r­  rË  r[  rš  rÖ  rž  rš   rý  rh   rM   rˆ  rˆ  r™  r&  r�  r`   r{  r|  r~  r€  r   r   r  r]  rH  rM  rb  rV   rW   rŽ  r£  r  rv  rz  r0  ÚTÚoverloadr{  r\  r  r$  r'  rJ  rÄ  r   rÃ  rÖ  rŠ  r'   r«  r-   r(   r–  r¡  rµ  r  r   r¨  Ú__classcell__)r,  s   @r}   r÷   r÷     sš"  ø€ € € € € ð
 04Ø"$Ø Ø&3ØNRØ"Ø9=Ø&+ØLPØIMñ@"ñ @"ð @"ð @"ð @"ð @"ð @"ñD=ð =ð =ð =ñLð Lð Lð Lñ$@Bð @Bð @Bð @BñD?ð ?ð ?ð ?ñB	ð 	ð 	ð 	ñ^ð ^ð ^ð ^ñ<$ð $ð $ð $ñ!(ð !(ð !(ð !(ñFð ð ð ñ9ð 9ð 9ð 9ð* €^�H˜cÑ"Ô"Ø€\ØØˆÔ Ð*Ñ*Ô*ØˆÔ Ð*Ñ*Ô*ñô ð
 ñ;ð ;ð ;ñ Ôñô ñ #Ô"ð;ðz €^�G SÐ)Ñ)Ô)Øñ5ð 5ð 5ñ „Xñ *Ô)ð5ð Ø€\ØØˆ	�.Ð"3Ð"3°D¸#Ñ">Ô">ÈÐVXÐYÑYÔYØ"ÐÔ"¨¸xÐHÑHÔHØ#ÐÔ#¨(Ð3Ñ3Ô3Øˆ	�+Ð0Ð0°°sÑ;Ô;ÀTÐSUÐVÑVÔVØØØØˆÔ 8Ð,Ñ,Ô,ØØˆÔ (¸$ÀÐ9IÐJÑJÔJØˆ	�)˜c 8˜_Ñ-Ô-ñô ð!ð !ñô ñ „Yð!ðF €^�H˜d¨S¨EÐ2Ñ2Ô2ØñDð Dð Dñ „Xñ 3Ô2ðDðGð Gð Gð €^ØØ	Ô	˜?¨IÔ,>ÀÄÈsÐSØÔ! ?°IÔ4FÈÌÐWZÐ[ð]ñ ]ô ]ð €\ØØˆ	�'˜D (Ð+°8Ð<Ñ<Ô<Øˆ	�)˜T¨4°xÐ@Ñ@Ô@ØˆŒ˜HÐ%Ñ%Ô%ñ	ô ñ9ð 9ð 9ñô ñ	]ô ]ð9ð .3ñKQñ KQð KQð KQð KQðZAð Að Að@ð @ð @ð €^�L #Ñ&Ô&Ø€\ØØØˆÔ XÐ.Ñ.Ô.Øˆ	�)Ð.Ð.¨t°SÑ9Ô9À2ÈtÐTÑTÔTñ	ô ñ8ð 8ð 8ñô ñ 'Ô&ð8ð W[Ø?Cññ ð ð ð ñHð Hð Hð HðZ GKØHLØ38ØY]ñ1+ñ 1+ð 1+ð 1+ð 1+ñf/ð /ð /ð /ñb!Sð !Sð !Sð !SðF €^�L #Ñ&Ô&Øñð ð ñ „Xñ 'Ô&ðð" €^Ð(°4°&Ð9Ñ9Ô9Øñ	7ð 	7ð 	7ñ „Xñ :Ô9ð	7ñ+ð +ð +ð +ð. €^�I˜s¨CÐ0Ñ0Ô0Ø€\ØØØˆ	�/ C¨ ?Ñ3Ô3Øˆ	ØØ�(”- ¨4Ð0ØØ0ØBÐBð	
ñ 	
ô 	
ð 	ˆ	�)Ð.Ð.¨t°SÑ9Ô9ÀIÀ;ÐX\Ð]Ñ]Ô]Øˆ	Ð" C°Ð?Ñ?Ô?ñô ñp!ð p!ð p!ñô ñ 1Ô0ðp!ðd €\�/ 9 9¨X¸¸hÐ7GÈxÐ#XÑ#XÔ#XÐZeÑfÔfØ€^�O¨SÐ1Ñ1Ô1ñð ð ñ 2Ô1ñ gÔfðð, Øñ$ð $ð $ñ „Xñ Ôð$ð/ð /ð /ð Ø€Z�	˜8Ñ$Ô$Ø€^�I  T˜{°V°HÐ=Ñ=Ô=Ø€\ØØˆ	�)˜S¨"Ð-Ñ-Ô-Øˆ	�)˜T¨5Ð1Ñ1Ô1Øˆ	�*˜s H˜o°XÐ>Ñ>Ô>ñ	ô ñ
=ð 
=ð 
=ñô ñ >Ô=ñ %Ô$ñ Ôð
=ñUð Uð Uð Uñ# ð # ð # ð # ðJ Ø€Z�	˜8Ñ$Ô$Øð/ð /ñ „Xñ %Ô$ñ Ôð/ð ØðQð Qñ „Xñ ÔðQð Ø€Z�˜Ñ"Ô"Øð(ð (ñ „Xñ #Ô"ñ Ôð(ð Øð5ð 5ñ „Yñ „Xð5ñð ð ð ñð ð ð ñ>ð >ð >ð >ñ@ð ð ð ñð ð ð ñ:
ð 
ð 
ð 
ñ7ð 7ð 7ð 7ñ
.ð .ð .ð .ñð ð ð ð 8EÔ7IØ+/ÀØ>@ØAEð LPð3ñ 3ð 3ð 3ð 3ñjð ð ð ñ2=ð =ð =ð =ð €^�N¨S°(´-Ð,@ÈaÐPÑPÔPØ€\ØØˆÔ Ð*Ñ*Ô*ØØØˆ	�&Ð+Ð+¨D°#Ñ6Ô6ÀÈDÐX`ÐaÑaÔaØˆ	�)Ð.Ð.¨t°SÑ9Ô9À2ÈtÐ[cÐdÑdÔdñô ð ñ?ð ?ð ?ñ Ôñô ñ QÔPð?ðð ð ð Ð�l HÐ/FÐ.GÑHÔHØÐ�l HÐ/?Ð.@ÑAÔAØÐ�l H¨|¨nÑ=Ô=ØÐ�l H¨~Ð.>Ñ?Ô?ØÐ�l HÐ.fÐ.fÐ.fÑgÔgØÐ�l H¨z¨lÑ;Ô;ØÐ�l H¨x¨jÑ9Ô9ØÐ�l HÐ/@Ð.AÑBÔBØØ€_Ð0Ñ1Ô1Ø€^�L¨#¸1Ð=Ñ=Ô=ñ&ð &ð &ñ >Ô=ñ 2Ô1ñ Ôñ CÔBñ :Ô9ñ <Ô;ñ hÔgñ @Ô?ñ >Ô=ñ BÔAñ IÔHð&ðP €Z�
˜HÑ%Ô%ØØðð ñ „Yñ „Xñ &Ô%ðð Ð�l H¨x¨jÑ9Ô9ØÐ�l H¨Ð.?Ñ@Ô@ØÐ˜\¨8°i°[ÐPnÐoÑoÔoØ€_�UÔ+Ñ,Ô,ðGð Gñ -Ô,ñ pÔoñ AÔ@ñ :Ô9ðGð €_�UÔ-Ñ.Ô.ðJð Jñ /Ô.ðJð €_�UÔ-Ñ.Ô.ðð ñ /Ô.ðð
 €_Ð)Ñ*Ô*ð=ð =ñ +Ô*ð=ð €Z� Ñ*Ô*Ø€_�UÔ-Ñ.Ô.ðIð Iñ /Ô.ñ +Ô*ðIð €_Ð)Ñ*Ô*ð6ð 6ñ +Ô*ð6ð €_�UÔ+Ñ,Ô,ð@ð @ñ -Ô,ð@ð Ð�n h°Ð?QÐ0RÑSÔSØ€_Ð.Ñ/Ô/ð?ð ?ñ 0Ô/ñ TÔSð?ð0 Ø€\ØØˆÔ DÐ)Ñ)Ô)Øàˆ	ØØÐ˜d S¨%Ô*;¸UÔ=OÐQVÔQhÐjyð  |Dô  |Ið  %Jñ  Kô  KØØð		
ñ 	
ô 	
ð 	ˆ	�*˜s H˜oÑ.Ô.Øˆ	Ð" C°Ð=Ñ=Ô=ñô ñ3ñ 3ð 3ñô ñ „Yð3ðj €Z‘˜xÑ(Ô(ØØñ"ñ "ð "ñ „Xñ „Yñ )Ô(ð"ð ñ	jñ 	jð 	jñ „\ð	jð €^‘O¨c¨UÐ3Ñ3Ô3Ø€\ÙØØØØØØØØØØØØˆŒ˜HÐ%Ñ%Ô%ØØˆÔ XÐ.Ñ.Ô.Øˆ	‘&˜$¨°XÐ>Ñ>Ô>Øˆ	�)˜T¨5Ð1Ñ1Ô1Øˆ	‘)˜T¨5¹ÐAÑAÔAñ%ô ñ([ñ [ð [ñ)ô ñ 4Ô3ð*[ðz €^‘L #Ñ&Ô&Ø€\ÙØØØˆŒ˜HÐ%Ñ%Ô%ñ	ô ññ ð ñô ñ 'Ô&ðð €Z‘ Ñ)Ô)Ø€^‘N C°´È1ÐMÑMÔMØññ ð ñ „Xñ NÔMñ *Ô)ðð €^‘K %Ô"2°OÐ!DÑEÔEØ€\ÙØˆ	‘+Ð0Ð0°°sÈÑNÑNÔNÐY]ÐgkÑlÑlÔlØˆ	‘(Ð-Ð-¨d°CÀUÑKÑKÔKÐVZÐdhÑiÑiÔiØØØˆ	�)˜T¨5¹ÐAÑAÔAñô ññ ð ñô ñ FÔEðð" €^‘K  uÔ'7¸¼ÀOÐU]ÔUbÐ&cÑdÔdØ€\‘+Ð) Ð)Ð)Ð)ñ1ñ 1ð 1ñ *Ô)ñ eÔdð1ð
 €^‘F˜C %Ô"2°E´I¸ÐPXÔP]Ð!^Ñ_Ô_Ø€\‘&ÐR˜8ÐR Y Y©}¸dÈDÐ%QÑ%QÔ%QÐRÐRÐRñ0ñ 0ð 0ñ SÔRñ `Ô_ð0ñ
)ñ )ð )ð )ñ)'ñ )'ð )'ð )'ñVDñ Dð Dð Dð €^Ñ%°°X´]Ð/CÐDÑDÔDØ€\ÙØØˆ	�(˜S (˜OÑ,Ô,ØˆÔ XÐ.Ñ.Ô.Øñô ññ ð ñô ñ EÔDðð> €^‘M¨C°´Ð+?Ð@Ñ@Ô@Ø€\ÙØˆ	‘(˜S (˜O±8Ð<Ñ<Ô<ØˆÔ XÐ.Ñ.Ô.Øñ	ô ññ ð ñô ñ AÔ@ðð* €ZÑ"¡HÑ-Ô-Ø€\ÙØØˆ	‘- # x ¸ÐAÑAÔAñô ñ
ñ ð ñô ñ .Ô-ðð €ZÑ!¡8Ñ,Ô,Ø€^‘N CÑ(Ô(Ø€\ÙØˆ	‘- ¨tÐ4Ñ4Ô4Øˆ	‘- ¨tÐ4Ñ4Ô4Øñ	ô ññ ð ñô ñ )Ô(ñ -Ô,ðð €ZÑ$ hÑ/Ô/Ø€^Ñ(¨&¸4¸&ÐAÑAÔAØØñ0ñ 0ð 0ñ Ôñ „Xñ BÔAñ 0Ô/ð0ð2 €^�H˜cÑ"Ô"Ø€\ØØˆ	ÙØÐ˜d FÑ+Ô+ÙyÐyØØØñ	
ñ 	
ô 	
ñ
ô 
ñ,"ñ ,"ð ,"ñ
ô 
ñ #Ô"ð,"ñ\'ñ 'ð 'ð 'ñ4ñ ð ð ð €^‘N¨S°(´-Ð,@ÐAÑAÔAØ€\ÙØˆ	‘)Ð.Ð.¨t°c¸8¼=Ð5IÑJÔJÐTXÐbdÐeÑeÔeØˆ	‘(Ð-Ð-¨d°CÑ8Ô8À"ÈdÐZbÐcÑcÔcØˆÔ XÐ.Ñ.Ô.ØˆÔ¡HÐ-Ñ-Ô-ØØÐÔ¡hÐ/Ñ/Ô/ñô ñMñ Mð Mñô ñ BÔAðMð& ?CØ?CØ05ññ ñ ð ð ð: €^Ñ$ cÑ*Ô*Ø€\ÙØˆ	‘- ¨tÐ4Ñ4Ô4Øˆ	Ñ# T°5Ð9Ñ9Ô9Øˆ	‘/Ð#4Ð#4°T¸3Ñ#?Ô#?Ø d°(ÙhÐhñ	jñ 	jô 	jð 	ˆ	Ñ'Ð):Ð):¸4ÀÑ)EÔ)EØ d°(ÙhÐhñ	jñ 	jô 	jð 	ˆÔ XÐ.Ñ.Ô.ØˆÔ¡HÐ-Ñ-Ô-ñô ññ ð ñô ñ +Ô*ðð8 Ø€\ÙØˆ
Ô Ð)Ñ)Ô)ØˆÔ¡YÐ/Ñ/Ô/ØˆÔ¡HÐ-Ñ-Ô-Øˆ	�)˜T¨5¹ÐAÑAÔAØˆ	ØØÐ˜t eÔ&6¸ÈÔI[Ð]eÔ]jÐloÐ%pð  Dñ  Eñ  Eô  Eð  GOð  PØñ	
ñ 	
ô 	
ð
 	ˆ	ÙØÐ˜t c¨3°Ð%5Ñ6Ô6¸Ô8OÐQYÐZñ	
ô 	
ð 	ˆ	Ù�D %¨xÙÑ4Mñ	
ñ 	
ô 	
ð 	ˆ	‘*˜c©7¸(ÐCÑCÔCØˆ	‘(˜C©¸Ø,Ð,Ð-IÑ-IÐ-IÑJÔJñ	Lñ 	Lô 	Làˆ	ÙØÐ˜d X¤]°CÐ$8Ñ9Ô9ØØð		
ñ 	
ô 	
ð 	ˆ	‘)˜d HÐ-°XÐ>Ñ>Ô>Øˆ	‘- # t °bÙYÐYñ	[ñ 	[ô 	[àØˆ	‘/ 3±¸8Ø,Ð,©c±6¨]Ñ;Ô;ñ	=ñ 	=ô 	=ñC#ô #ñHWBñ WBð WBñI#ô #ñ „YðJWBñrñ ñ ð ð ð& €^Ñ)°3Ð7Ñ7Ô7Ø€\Ñ'¨¨±;ÀÈeÐ)TÑ)TÔ)TÑUÔUñFñ Fð Fñ VÔUñ 8Ô7ðFñAñ Añ Að Að AðF €^Ñ$ cÑ*Ô*Ø€\ÙØˆ	‘-Ð!2Ð!2°4¸#¸Ð9OÑ!PÔ!PÐZ^ÐhjÐkÑkÔkØˆ	‘%˜ uÐ-Ñ-Ô-Øˆ	Ñ&¨°QÐ7Ñ7Ô7Øˆ	Ñ"Ð$5Ð$5°d¸CÑ$@Ô$@È$ÐXZÐbjÑkÑkÔkØˆ	‘, ¨e¸8ÐDÑDÔDØñô ñWñ Wð Wñô ñ +Ô*ðWð8 €^Ñ*°CÐ8Ñ8Ô8Ø€\Ñ(¨)°[ÑAÔAñdñ dð dñ BÔAñ 9Ô8ðdð €^Ñ/¸Ð=Ñ=Ô=Ø€\Ñ(¨)°[ÑAÔAñiñ ið iñ BÔAñ >Ô=ðið €^Ñ+°SÐ9Ñ9Ô9Ø€\Ñ)¨9°kÑBÔBñgñ gð gñ CÔBñ :Ô9ðgð €^Ñ0¸#Ð>Ñ>Ô>Ø€\Ñ(¨)°[ÑAÔAñlñ lð lñ BÔAñ ?Ô>ðlð €ZÑ*¨HÑ5Ô5Ø€^Ñ.¸Ô8OÐPÑPÔPØ€\Ñ,¨i¸ÑEÔEñuñ uð uñ FÔEñ QÔPñ 6Ô5ðuñ$9ñ 9ð 9ð 9ñ6Bñ Bð Bð BñDñ Dð Dð Dñ
;ñ 
;ð 
;ð 
;ð Ø€^‘M¨S°$¸Ð,=Ð+>Ð?Ñ?Ô?Ø€\‘- Ð0GÐ0@Ô0GÈhÐ0WÑ0WÔ0WÑXÔXñ,ñ ,ð ,ñ YÔXñ @Ô?ñ Ôð,ð €^‘L¨#¸1Ð=Ñ=Ô=Øñ
ñ 
ð 
ñ „Xñ >Ô=ð
ñ"ð "ð "ñ "ð "ð "ññ ð ð ñ
5ñ 
5ð 
5ð 
5ñ,*~ð *~ð *~ðX „Zñ Eñ  Eñ  Eð  Eñ „Zð Eà„Zñ Nñ  Nñ  Nð  Nñ „Zð Nà„Zñ añ  að  añ „Zð aà„ZÙ{Ñ{Ñ{Ð{ñ „ZØ{ññ ñ ð ð ð@ ñ	Cñ 	Cð 	Cñ „\ð	CñKñ Kð Kð Kð< €ZÑ  (Ñ+Ô+ñ#;ð #;ñ ,Ô+ð#;ñJ	]ð 	]ð 	]ñGñ Gð Gð GñR4ð 4ð 4ñ"%ð %ð %ñZð Zð Zñ`ñ `ð `ð `ñ%ñ %ð %ð %ð €^‘N C¨Ñ0Ô0ØØØ!ñ:ñ :ð :ñ "Ô!ñ Ôñ „Xñ 1Ô0ð:ð €^‘N S¨( O¸f¸XÐFÑFÔFØØØñRñ Rð Rñ „_ñ Ôñ „Xñ GÔFðRð €^‘M 3Ñ'Ô'Øñ)ñ )ð )ñ „Xñ (Ô'ð)ð €ZÑ ¡(Ñ+Ô+Ø€^Ñ$ cÑ*Ô*ØñXñ Xð Xñ „Xñ +Ô*ñ ,Ô+ðXð ñEñ Eð Eñ „\ðEð €Z‘˜xÑ(Ô(Ø€^‘M 6Ñ*Ô*Øñ-ñ -ð -ñ „Xñ +Ô*ñ )Ô(ð-ð Ø€Z‘™Ñ"Ô"Ø€^‘G˜S¨3°¨*Ð5Ñ5Ô5ñPñ Pð Pñ 6Ô5ñ #Ô"ñ „XðPð Pð Pð Pð Pr   r÷   )rt   ru   rv   rw   rì  )r€   r�   r‚   rƒ   rv   r„   )¨Ú
__future__r   rÁ   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   Úprogramsr   r   r   rP  r   Úinterpreterbaser   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   rç   r4   r5   r6   r7   r8   rê  r9   Úbackend.backendsr:   r<   r<  r=   rö  Ú	mesonmainr>   Údependencyfallbacksr?   r@   rA   rB   rC   rD   rE   Útype_checkingrF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   rj   r¼  Úpathlibrk   Úenumrl   r  rÐ   r¢  r?  r+  r¡   Útypingrø  r.  rg  r"  ÚTYPE_CHECKINGÚargparseÚtyping_extensionsrm   rn   Úkwtypesro   Úinterpreterbase.baseobjectsrp   rq   rr   rs   ÚUnionr|   rÛ  r  rÍ  r×  rÕ  rÝ  r„   ÚSourceInputsró  ÚSourceOutputsr~   rŠ   rœ   rñ  rð  rò  rï  rô  rõ  rà   rî  r·  r÷   rÝ   r   r}   ú<module>r     sÌ  ðð #Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø !Ð !Ð !Ð !Ð !Ð !Ð !Ð !Ø Ð Ð Ð Ð Ð ðLð Lð Lð Lð Lð Lð Lð Lð Lð Lð Lð Lð Lð Lð Lð Lð Lð Lð Lð Lð Lð Là BÐ BÐ BÐ BÐ BÐ BÐ BÐ BØ %Ð %Ð %Ð %Ð %Ð %Ø Ð Ð Ð Ð Ð Ø iÐ iÐ iÐ iÐ iÐ iÐ iÐ iÐ iÐ iÐ iÐ iÐ iÐ ið Dð  Dð  Dð  Dð  Dð  Dð  Dð  Dð  Dð  Dð  Dð  Dð  Dð  Dð  Dð  DØ dÐ dÐ dÐ dÐ dÐ dÐ dÐ dÐ dÐ dÐ dÐ dØ :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ø fÐ fÐ fÐ fÐ fÐ fÐ fÐ fÐ fÐ fÐ fÐ fØ *Ð *Ð *Ð *Ð *Ð *Ø uÐ uÐ uÐ uÐ uÐ uÐ uÐ uÐ uÐ uÐ uÐ uÐ uÐ uØ $Ð $Ð $Ð $Ð $Ð $Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6à 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø %Ð %Ð %Ð %Ð %Ð %Ø  Ð  Ð  Ð  Ð  Ð  Ø :Ð :Ð :Ð :Ð :Ð :ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð%ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ðL "Ð !Ð !Ð !Ð !Ð !à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø 	€	€	€	Ø €€€Ø €€€Ø 	€	€	€	Ø €€€Ø Ð Ð Ð Ø Ð Ð Ð Ø €€€Ø Ð Ð Ð Ø €€€à„?ð bØ€O€O€Oà)Ð)Ð)Ð)Ð)Ð)à#Ð#Ð#Ð#Ð#Ð#Ø*Ð*Ð*Ð*Ð*Ð*ØVÐVÐVÐVÐVÐVÐVÐVÐVÐVØ*Ð*Ð*Ð*Ð*Ð*ð ”7˜8œ=¨%Ô*=¸uÔ?PÐRWÔReØ Ô2°EÔ4FÈÔH[Ø Ô1°3ð7ô 8€Lð ”G˜HœM¨5Ô+>Ø!Ô-¨uÔ/FÈÔHZØ!Ô2°EÔ4GÈÔI`ðaô b€Mð
ð ð ð ðuð uð uð uð uðA&ð A&ð A&ð A&ð A&ñ A&ô A&ð A&ðH 
ÔØ	Ôñð ð Ø	Ôñà	Ôñð €Oñð ð)ð )ð )ð )ð ) ñ )ô )ð )ðð ð Ð ð, FÐ ðD/Pð D/Pð D/Pð D/Pð D/P�/ >ñ D/Pô D/Pð D/Pð D/Pð D/Pr   