§
    ‹ã÷c¬k  ã                  óx  — d dl mZ d dlZd dlZd dlZd dlZd dlZd dlm	Z	 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 ddlmZ ej        r2d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!m"Z"m#Z#m$Z$ ddlm%Z%  G d„ de¦  «        Z& G d„ d¦  «        Z' G d„ de	¦  «        Z( ej)        de*¦  «        Z+ G d„ de¦  «        Z, G d„ de,¦  «        Z- G d„ d¦  «        Z. G d„ de,e.¦  «        Z/ G d„ d e,¦  «        Z0 G d!„ d"e/¦  «        Z1dBd&„Z2dCd*„Z3dDd0„Z4dEd6„Z5dFd=„Z6 G d>„ d?e/¦  «        Z7 G d@„ dAe/¦  «        Z8dS )Gé    )ÚannotationsN)ÚEnumé   )ÚmlogÚmesonlib)Ú
clib_langs)ÚLibTypeÚMachineChoiceÚMesonExceptionÚHoldableObjectÚ	OptionKey)Úversion_compare_many)ÚImmutableListProtocol)ÚStructuredSources)ÚCompiler)ÚEnvironment)ÚFeatureCheckBase)ÚCustomTargetÚIncludeDirsÚCustomTargetIndexÚLibTypesÚStaticLibrary)ÚFileOrStringc                  ó   — e Zd ZdZdS )ÚDependencyExceptionz3Exceptions raised while trying to find dependenciesN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__© ó    ú>/usr/lib/python3/dist-packages/mesonbuild/dependencies/base.pyr   r   -   s   € € € € € Ø=Ð=Ð=Ð=r!   r   c                  ó"   — e Zd ZdZd
d„Zdd„Zd	S )ÚMissingCompilerznRepresent a None Compiler - when no tool chain is found.
    replacing AttributeError with DependencyExceptionÚitemÚstrÚreturnúT.Anyc                óf   — |                      d¦  «        rt          ¦   «         ‚t          d¦  «        ‚)NÚ__zno toolchain found)Ú
startswithÚAttributeErrorr   )Úselfr%   s     r"   Ú__getattr__zMissingCompiler.__getattr__5   s1   € Ø�?Š?˜4Ñ Ô ð 	#Ý Ñ"Ô"Ð"Ý!Ð"6Ñ7Ô7Ð7r!   Úboolc                ó   — dS ©NFr    ©r-   s    r"   Ú__bool__zMissingCompiler.__bool__:   ó   € Øˆur!   N)r%   r&   r'   r(   ©r'   r/   )r   r   r   r   r.   r3   r    r!   r"   r$   r$   1   sF   € € € € € ð9ð 9ð8ð 8ð 8ð 8ð
ð ð ð ð ð r!   r$   c                  óF   — e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdS )ÚDependencyMethodsÚautoz
pkg-configÚcmakeÚbuiltinÚsystemÚextraframeworkÚ	sysconfigzconfig-toolÚ	sdlconfigzcups-configzpcap-configzlibwmf-configÚqmakeÚdubN)r   r   r   ÚAUTOÚ	PKGCONFIGÚCMAKEÚBUILTINÚSYSTEMÚEXTRAFRAMEWORKÚ	SYSCONFIGÚCONFIG_TOOLÚ	SDLCONFIGÚ
CUPSCONFIGÚ
PCAPCONFIGÚLIBWMFCONFIGÚQMAKEÚDUBr    r!   r"   r7   r7   >   sT   € € € € € à€DØ€IØ€Eà€Gà€Fà%€Nà€Ià€Kà€IØ€JØ€JØ"€LØ€Eà
€C€C€Cr!   r7   ÚDependencyTypeNamec                  óî   — e Zd Zed@d„¦   «         ZdAd	„ZdBd
„ZdCd„ZdDd„ZdEd„Z	dEd„Z
dFdGd„ZdEd„ZdCd„ZdHd„ZdBd„ZdBd„ZdId„ZdBd „ZdJd#„ZdKd(„ZdLd)„Zdddddd*œdMd1„ZdNd4„Zddddddd5œdOd=„ZdPd?„ZdS )QÚ
DependencyÚkwargsúT.Dict[str, T.Any]r'   r&   c                ó¤   — d|vrdS t          |d         t          ¦  «        st          d¦  «        ‚|d         dvrt          d¦  «        ‚|d         S )NÚinclude_typeÚpreservez,The include_type kwarg must be a string type)rV   r;   ú
non-systemzDinclude_type may only be one of ['preserve', 'system', 'non-system'])Ú
isinstancer&   r   )ÚclsrR   s     r"   Ú_process_include_type_kwz#Dependency._process_include_type_kw\   sd   € à Ð'Ð'Ø�:Ý˜& Ô0µ#Ñ6Ô6ð 	VÝ%Ð&TÑUÔUÐUØ�.Ô!Ð)MÐMÐMÝ%Ð&lÑmÔmÐmØ�nÔ%Ð%r!   Ú	type_namerO   ÚNonec                ó  — d| _         d | _        d | _        d| _        || _        g | _        g | _        d | _        g | _        |  	                    |¦  «        | _
        g | _        t          j        t          ¦  «        | _        g | _        d | _        d S )NÚnullF)ÚnameÚversionÚlanguageÚis_foundr[   Úcompile_argsÚ	link_argsÚraw_link_argsÚsourcesrZ   rU   Úext_depsÚcollectionsÚdefaultdictÚlistÚ
d_featuresÚfeaturechecksÚfeature_since)r-   r[   rR   s      r"   Ú__init__zDependency.__init__f   s‹   € ØˆŒ	Ø)-ˆŒØ)-ˆŒØˆŒØ"ˆŒØ)+ˆÔØ)+ˆŒð 7;ˆÔØ]_ˆŒØ ×9Ò9¸&ÑAÔAˆÔØ,.ˆŒÝ=HÔ=TÕUYÑ=ZÔ=ZˆŒØ9;ˆÔØ<@ˆÔÐÐr!   c                óB   — d| j         j        › d| j        › d| j        › d�S )Nú<ú z: ú>)Ú	__class__r   r_   rb   r2   s    r"   Ú__repr__zDependency.__repr__x   s,   € ØJ�4”>Ô*ÐJÐJ¨T¬YÐJÐJ¸$¼-ÐJÐJÐJÐJr!   r/   c                ó   — dS r1   r    r2   s    r"   Úis_builtzDependency.is_built{   r4   r!   ú/T.Union[str, mlog.AnsiDecorator, mlog.AnsiText]c                ó  — |                       ¦   «         st          j        d¦  «        S | j        st          j        d¦  «        S t          j        t          j        d¦  «        dt          j        | j        ¦  «        ¦  «        S )NÚNOÚYESrq   )Úfoundr   Úredr`   ÚgreenÚAnsiTextÚcyanr2   s    r"   Úsummary_valuezDependency.summary_value~   sd   € Ø�zŠz‰|Œ|ð 	"Ý”8˜D‘>”>Ð!ØŒ|ð 	%Ý”:˜eÑ$Ô$Ð$ÝŒ}�TœZ¨Ñ.Ô.°µT´Y¸t¼|Ñ5LÔ5LÑMÔMÐMr!   úT.List[str]c                óR  — | j         dk    rPg }| j        D ]D}|                     d¦  «        s|                     d¦  «        r|d|dd …         z   gz  }Œ>||gz  }ŒE|S | j         dk    r;g }| j        D ]/}|                     d¦  «        r|d|dd …         z   gz  }Œ)||gz  }Œ0|S | j        S )Nr;   z-Iz/Iz-isystemr   rW   é   )rU   rc   r+   )r-   Ú	convertedÚis      r"   Úget_compile_argszDependency.get_compile_args…   sî   € ØÔ Ò(Ð(ØˆIØÔ&ð %ð %�Ø—<’< Ñ%Ô%ð %¨¯ª°dÑ);Ô);ð %Ø *¨q°°°¬uÑ"4Ð!5Ñ5�I�Ià ! Ñ$�I�IØÐØÔ Ò,Ð,ØˆIØÔ&ð %ð %�Ø—<’< 
Ñ+Ô+ð %Ø $¨¨1¨2¨2¬¡, Ñ/�I�Ià ! Ñ$�I�IØÐØÔ Ð r!   c                ó‚   — t          t          j        |                      ¦   «         gd„ | j        D ¦   «         ¢R Ž ¦  «        S )zIGet the compile arguments from this dependency and it's sub dependencies.c              3  ó>   K  — | ]}|                      ¦   «         V — Œd S ©N)Úget_all_compile_args©Ú.0Úds     r"   ú	<genexpr>z2Dependency.get_all_compile_args.<locals>.<genexpr>›   s.   è è € Ð%VÐ%VÀ1 a×&<Ò&<Ñ&>Ô&>Ð%VÐ%VÐ%VÐ%VÐ%VÐ%Vr!   )rj   Ú	itertoolsÚchainr†   rg   r2   s    r"   rŠ   zDependency.get_all_compile_args˜   sT   € å•I”O D×$9Ò$9Ñ$;Ô$;ð XØ%VÐ%VÈÌÐ%VÑ%VÔ%VðXð Xð Xñ Yô Yð 	Yr!   NFra   úT.Optional[str]Úrawc                ó0   — |r| j         �| j         S | j        S r‰   )re   rd   )r-   ra   r’   s      r"   Úget_link_argszDependency.get_link_args�   s#   € Øð 	&�4Ô%Ð1ØÔ%Ð%ØŒ~Ðr!   c                ó‚   — t          t          j        |                      ¦   «         gd„ | j        D ¦   «         ¢R Ž ¦  «        S )zFGet the link arguments from this dependency and it's sub dependencies.c              3  ó>   K  — | ]}|                      ¦   «         V — Œd S r‰   )Úget_all_link_argsr‹   s     r"   rŽ   z/Dependency.get_all_link_args.<locals>.<genexpr>¥   s.   è è € Ð%SÐ%SÀ a×&9Ò&9Ñ&;Ô&;Ð%SÐ%SÐ%SÐ%SÐ%SÐ%Sr!   )rj   r�   r�   r”   rg   r2   s    r"   r—   zDependency.get_all_link_args¢   sT   € å•I”O D×$6Ò$6Ñ$8Ô$8ð UØ%SÐ%SÀTÄ]Ð%SÑ%SÔ%SðUð Uð Uñ Vô Vð 	Vr!   c                ó   — | j         S r‰   )rb   r2   s    r"   r{   zDependency.found§   s
   € ØŒ}Ðr!   úDT.List[T.Union['FileOrString', 'CustomTarget', 'StructuredSources']]c                ó   — | j         S )zgSource files that need to be added to the target.
        As an example, gtest-all.cc when using GTest.)rf   r2   s    r"   Úget_sourceszDependency.get_sourcesª   s   € ð Œ|Ðr!   c                ó   — | j         S r‰   )r_   r2   s    r"   Úget_namezDependency.get_name¯   s
   € ØŒyÐr!   c                ó"   — | j         r| j         S dS )NÚunknown)r`   r2   s    r"   Úget_versionzDependency.get_version²   s   € ØŒ<ð 	Ø”<Ðà�9r!   úT.List['IncludeDirs']c                ó   — g S r‰   r    r2   s    r"   Úget_include_dirszDependency.get_include_dirs¸   ó   € Øˆ	r!   c                ó   — | j         S r‰   )rU   r2   s    r"   Úget_include_typezDependency.get_include_type»   s   € ØÔ Ð r!   Úcompilerú
'Compiler'c                ó   — g S r‰   r    )r-   r§   s     r"   Úget_exe_argszDependency.get_exe_args¾   r¤   r!   Úvariable_nameÚdefine_variableú'ImmutableListProtocol[str]'Údefaultc                ó0   — t          | j        ›d�¦  «        ‚)Nz is not a pkgconfig dependency©r   r_   ©r-   r«   r¬   r®   s       r"   Úget_pkgconfig_variablez!Dependency.get_pkgconfig_variableÁ   s   € õ " T¤YÐ"PÐ"PÐ"PÑQÔQÐQr!   c                ó0   — t          | j        ›d�¦  «        ‚)Nz  is not a config-tool dependencyr°   ©r-   r«   s     r"   Úget_configtool_variablez"Dependency.get_configtool_variableÆ   s   € Ý! T¤YÐ"RÐ"RÐ"RÑSÔSÐSr!   ©rc   rd   ÚlinksÚincludesrf   rc   rd   r·   r¸   rf   ú'Dependency'c               ó    — t          d¦  «        ‚)a8  Create a new dependency that contains part of the parent dependency.

        The following options can be inherited:
            links -- all link_with arguments
            includes -- all include_directory and -I/-isystem calls
            sources -- any source, header, or generated sources
            compile_args -- any compile args
            link_args -- any link args

        Additionally the new dependency will have the version parameter of it's
        parent (if any) and the requested values of any dependencies will be
        added as well.
        z-Unreachable code in partial_dependency called)ÚRuntimeError©r-   rc   rd   r·   r¸   rf   s         r"   Úget_partial_dependencyz!Dependency.get_partial_dependencyÉ   s   € õ  ÐJÑKÔKÐKr!   Údeplistú(T.Iterable[T.Callable[[], 'Dependency']]c                ól   — |D ]0} |¦   «         }|j         r| j                             |¦  «          dS Œ1dS )a  Add an internal dependency from a list of possible dependencies.

        This method is intended to make it easier to add additional
        dependencies to another dependency internally.

        Returns true if the dependency was successfully added, false
        otherwise.
        TF)rb   rg   Úappend)r-   r¾   r�   Údeps       r"   Ú_add_sub_dependencyzDependency._add_sub_dependencyÛ   sQ   € ð ð 	ð 	ˆAØ�!‘#”#ˆCØŒ|ð Ø”×$Ò$ SÑ)Ô)Ð)Ø�t�tðð ˆur!   ©r9   Ú	pkgconfigÚ
configtoolÚinternalÚdefault_valueÚpkgconfig_definer9   rÅ   rÆ   rÇ   rÈ   rÉ   úT.Optional[T.List[str]]c               ó0   — |�|S t          d| ›d�¦  «        ‚)Nz#No default provided for dependency z7, which is not pkg-config, cmake, or config-tool based.©r   )r-   r9   rÅ   rÆ   rÇ   rÈ   rÉ   s          r"   Úget_variablezDependency.get_variableë   s?   € ð Ð$Ø Ð Ý!ð  #HÈð  #Hð  #Hð  #Hñ  Iô  Ið  	Ir!   rU   c                óf   — t          j        | ¦  «        }|                      d|i¦  «        |_        |S )NrU   )ÚcopyÚdeepcopyrZ   rU   )r-   rU   Únew_deps      r"   Úgenerate_system_dependencyz%Dependency.generate_system_dependencyó   s1   € Ý”- Ñ%Ô%ˆØ#×<Ò<¸nÈlÐ=[Ñ\Ô\ˆÔØˆr!   )rR   rS   r'   r&   )r[   rO   rR   rS   r'   r\   ©r'   r&   r5   )r'   rw   )r'   r�   r1   ©ra   r‘   r’   r/   r'   r�   )r'   r™   ©r'   r¡   )r§   r¨   r'   r�   ©r«   r&   r¬   r­   r®   r‘   r'   r&   ©r«   r&   r'   r&   )rc   r/   rd   r/   r·   r/   r¸   r/   rf   r/   r'   r¹   )r¾   r¿   r'   r/   ©r9   r‘   rÅ   r‘   rÆ   r‘   rÇ   r‘   rÈ   r‘   rÉ   rÊ   r'   r&   )rU   r&   r'   r¹   )r   r   r   ÚclassmethodrZ   rn   rt   rv   r€   r†   rŠ   r”   r—   r{   r›   r�   r    r£   r¦   rª   r²   rµ   r½   rÃ   rÍ   rÒ   r    r!   r"   rQ   rQ   Z   s;  € € € € € àð&ð &ð &ñ „[ð&ðAð Að Að Að$Kð Kð Kð Kðð ð ð ðNð Nð Nð Nð!ð !ð !ð !ð&Yð Yð Yð Yð
ð ð ð ð ð
Vð Vð Vð Vð
ð ð ð ðð ð ð ð
ð ð ð ðð ð ð ðð ð ð ð!ð !ð !ð !ðð ð ð ðRð Rð Rð Rð
Tð Tð Tð Tð >CØ16ÀeØ05ÀuðLð Lð Lð Lð Lð Lð$ð ð ð ð  8<ÐZ^Ø37ÐUYØ6:ØAEðIð Ið Ið Ið Ið Iðð ð ð ð ð r!   rQ   c                  ó†   ‡ — e Zd Zd8ˆ fd„Zd9d„Zd:d„Zd;d„Zd<d$„Zd=d%„Zd&d&d&d&d&d'œd>d*„Z	d?d+„Z
d,d,d,d,d,d,d-œd@d5„ZdAd7„Zˆ xZS )BÚInternalDependencyr`   r&   Úincdirsr¡   rc   r�   rd   Ú	librariesúT.List[LibTypes]Úwhole_librariesú?T.List[T.Union[StaticLibrary, CustomTarget, CustomTargetIndex]]rf   úBT.Sequence[T.Union[FileOrString, CustomTarget, StructuredSources]]rg   úT.List[Dependency]Ú	variablesúT.Dict[str, str]Úd_module_versionsúT.List[T.Union[str, int]]Úd_import_dirsc                ó@  •— t          ¦   «                              t          d¦  «        i ¦  «         || _        d| _        || _        || _        || _        || _        || _	        t          |¦  «        | _        || _        |	| _        |
r
|
| j        d<   |r|| j        d<   d S d S )NrÇ   TÚversionsÚimport_dirs)Úsuperrn   rO   r`   rb   Úinclude_directoriesrc   rd   rÝ   rß   rj   rf   rg   rã   rk   )r-   r`   rÜ   rc   rd   rÝ   rß   rf   rg   rã   rå   rç   rs   s               €r"   rn   zInternalDependency.__init__ù   s¯   ø€ õ 	‰Œ×ÒÕ+¨JÑ7Ô7¸Ñ<Ô<Ð<ØˆŒØˆŒØ#*ˆÔ Ø(ˆÔØ"ˆŒØ"ˆŒØ.ˆÔÝ˜G‘}”}ˆŒØ ˆŒØ"ˆŒØð 	<Ø*;ˆDŒO˜JÑ'Øð 	;Ø-:ˆDŒO˜MÑ*Ð*Ð*ð	;ð 	;r!   Úmemoú!T.Dict[int, 'InternalDependency']r'   ú'InternalDependency'c           	     ól  — | j                              | j         ¦  «        }t          |t          ¦  «        sJ ‚||t	          | ¦  «        <   | j                             ¦   «         D ]Q\  }}|dv r$t          ||t          j        |¦  «        ¦  «         Œ-t          ||t          j	        ||¦  «        ¦  «         ŒR|S )N>   rÝ   rß   )
rs   Ú__new__rX   rÛ   ÚidÚ__dict__ÚitemsÚsetattrrÏ   rÐ   )r-   rí   ÚresultÚkÚvs        r"   Ú__deepcopy__zInternalDependency.__deepcopy__  s¯   € Ø”×'Ò'¨¬Ñ7Ô7ˆÝ˜&Õ"4Ñ5Ô5Ð5Ð5Ð5Øˆ�R�‰XŒX‰Ø”M×'Ò'Ñ)Ô)ð 	;ð 	;‰DˆAˆqØÐ4Ð4Ð4Ý˜ ¥4¤9¨Q¡<¤<Ñ0Ô0Ð0Ð0å˜ ¥4¤=°°DÑ#9Ô#9Ñ:Ô:Ð:Ð:Øˆr!   úmlog.AnsiDecoratorc                ó*   — t          j        d¦  «        S )Nrz   )r   r}   r2   s    r"   r€   z InternalDependency.summary_value  s   € õ Œz˜%Ñ Ô Ð r!   r/   c                ól   — | j         s| j        s| j        rdS t          d„ | j        D ¦   «         ¦  «        S )NTc              3  ó>   K  — | ]}|                      ¦   «         V — Œd S r‰   )rv   r‹   s     r"   rŽ   z.InternalDependency.is_built.<locals>.<genexpr>#  s*   è è € Ð7Ð7 A�1—:’:‘<”<Ð7Ð7Ð7Ð7Ð7Ð7r!   )rf   rÝ   rß   Úanyrg   r2   s    r"   rv   zInternalDependency.is_built   sC   € ØŒ<ð 	˜4œ>ð 	¨TÔ-Að 	Ø�4ÝÐ7Ð7¨¬Ð7Ñ7Ô7Ñ7Ô7Ð7r!   r«   r¬   r­   r®   r‘   c                ó    — t          d¦  «        ‚)NzGMethod "get_pkgconfig_variable()" is invalid for an internal dependencyrÌ   r±   s       r"   r²   z)InternalDependency.get_pkgconfig_variable%  s   € õ "ð #Gñ Hô Hð 	Hr!   c                ó    — t          d¦  «        ‚)NzHMethod "get_configtool_variable()" is invalid for an internal dependencyrÌ   r´   s     r"   rµ   z*InternalDependency.get_configtool_variable+  s   € Ý!ð #Gñ Hô Hð 	Hr!   Fr¶   r·   r¸   c               óÜ  ‡‡‡‡‡— ‰r| j                              ¦   «         ng }‰r| j                             ¦   «         ng }‰r| j                             ¦   «         ng }‰r| j                             ¦   «         ng }	‰r| j                             ¦   «         ng }
‰r| j                             ¦   «         ng }ˆˆˆˆˆfd„| j        D ¦   «         }t          | j	        |||||	|
|| j
        g g ¦  «        S )Nc           	     óD   •— g | ]}|                      ‰‰‰‰‰¬ ¦  «        ‘ŒS )r¶   )r½   )rŒ   r�   rc   r¸   rd   r·   rf   s     €€€€€r"   ú
<listcomp>z=InternalDependency.get_partial_dependency.<locals>.<listcomp>8  sP   ø€ ð Hð Hð Hà45ð ×.Ò.Ø%°À%Ø wð /ñ 0ô 0ð Hð Hð Hr!   )rc   rÏ   rd   rÝ   rß   rf   rì   rg   rÛ   r`   rã   )r-   rc   rd   r·   r¸   rf   Úfinal_compile_argsÚfinal_link_argsÚfinal_librariesÚfinal_whole_librariesÚfinal_sourcesÚfinal_includesÚ
final_depss    `````       r"   r½   z)InternalDependency.get_partial_dependency/  s9  øøøøø€ ð :FÐM˜TÔ.×3Ò3Ñ5Ô5Ð5È2ÐØ3<ÐD˜$œ.×-Ò-Ñ/Ô/Ð/À"ˆØ38Ð@˜$œ.×-Ò-Ñ/Ô/Ð/¸bˆØ?DÐ L Ô 4× 9Ò 9Ñ ;Ô ;Ð ;È"ÐØ/6Ð>˜œ×)Ò)Ñ+Ô+Ð+¸BˆØ<DÐL˜Ô1×6Ò6Ñ8Ô8Ð8È"ˆðHð Hð Hð Hð Hð Hð Hð Hà9=¼ðHñ Hô Hˆ
õ "ØŒL˜.Ð*<Ø˜_Ð.CØ˜: t¤~°r¸2ñ?ô ?ð 	?r!   c                ó   — | j         S r‰   )rì   r2   s    r"   r£   z#InternalDependency.get_include_dirs@  s   € ØÔ'Ð'r!   NrÄ   r9   rÅ   rÆ   rÇ   rÈ   rÉ   rÊ   c               ód   — | j                              ||¦  «        }|�|S t          d| ›�¦  «        ‚)Nz?Could not get an internal variable and no default provided for )rã   Úgetr   )r-   r9   rÅ   rÆ   rÇ   rÈ   rÉ   Úvals           r"   rÍ   zInternalDependency.get_variableC  s=   € ð Œn× Ò  ¨=Ñ9Ô9ˆØˆ?ØˆJÝ!Ð"lÐdhÐ"lÐ"lÑmÔmÐmr!   rQ   c                ó\  — ddl m}m}m} t	          j        | ¦  «        }|j        D ]V}t          ||¦  «        rt          d¦  «        ‚t          |||f¦  «        r#| 	                    ¦   «         rt          d¦  «        ‚ŒW|xj
        t          j        d|j        ¦  «        z  c_
        g |_        |S )Nr   )ÚSharedLibraryr   r   zJCannot convert a dependency to link_whole when it contains a SharedLibraryzxCannot convert a dependency to link_whole when it contains a CustomTarget or CustomTargetIndex which is a shared libraryrà   )Úbuildr  r   r   rÏ   rÐ   rÝ   rX   r   Úlinks_dynamicallyrß   ÚTÚcast)r-   r  r   r   rÑ   Úxs         r"   Úgenerate_link_whole_dependencyz1InternalDependency.generate_link_whole_dependencyL  sð   € ØJÐJÐJÐJÐJÐJÐJÐJÐJÐJÝ”- Ñ%Ô%ˆØÔ"ð 	dð 	dˆAÝ˜!˜]Ñ+Ô+ð dÝ$ð &5ñ 6ô 6ð 6å˜A Ð.?Ð@ÑAÔAð dÀa×FYÒFYÑF[ÔF[ð dÝ$ð &cñ dô dð døð 	ÐÔ¥1¤6Ð*kØ*1Ô*;ñ$=ô $=ñ 	=ÐÔàˆÔØˆr!   )r`   r&   rÜ   r¡   rc   r�   rd   r�   rÝ   rÞ   rß   rà   rf   rá   rg   râ   rã   rä   rå   ræ   rç   r¡   )rí   rî   r'   rï   )r'   rú   r5   rÖ   r×   )rc   r/   rd   r/   r·   r/   r¸   r/   rf   r/   r'   rï   rÕ   rØ   )r'   rQ   )r   r   r   rn   rù   r€   rv   r²   rµ   r½   r£   rÍ   r  Ú__classcell__©rs   s   @r"   rÛ   rÛ   ø   s7  ø€ € € € € ð;ð ;ð ;ð ;ð ;ð ;ð.	ð 	ð 	ð 	ð!ð !ð !ð !ð
8ð 8ð 8ð 8ð
Hð Hð Hð HðHð Hð Hð Hð >CØ16ÀeØ05Àuð?ð ?ð ?ð ?ð ?ð ?ð"(ð (ð (ð (ð 8<ÐZ^Ø37ÐUYØ6:ØAEðnð nð nð nð nð nðð ð ð ð ð ð ð r!   rÛ   c                  ó   — e Zd Zdd„Zd	d„ZdS )
ÚHasNativeKwargrR   rS   c                ó:   — |                       |¦  «        | _        d S r‰   )Úget_for_machine_from_kwargsÚfor_machine©r-   rR   s     r"   rn   zHasNativeKwarg.__init__^  s   € Ø×;Ò;¸FÑCÔCˆÔÐÐr!   r'   r
   c                ó^   — |                      dd¦  «        rt          j        nt          j        S )NÚnativeF)r  r
   ÚBUILDÚHOSTr  s     r"   r  z*HasNativeKwarg.get_for_machine_from_kwargsa  s&   € Ø&,§j¢j°¸5Ñ&AÔ&AÐY�}Ô"Ð"Å}ÔGYÐYr!   N)rR   rS   )rR   rS   r'   r
   )r   r   r   rn   r  r    r!   r"   r  r  ]  sF   € € € € € ðDð Dð Dð DðZð Zð Zð Zð Zð Zr!   r  c                  óf   — e Zd Zddd
„Zd d„Zddddddœd!d„Zd"d„Zd"d„Zed"d„¦   «         Z	d#d„Z
dS )$ÚExternalDependencyNr[   rO   Úenvironmentú'Environment'rR   rS   ra   r‘   c                óò  — t                                | ||¦  «         || _        || _        d| _        || _        |                     dd ¦  «        }t          |t          ¦  «        r|g}|| _	        |                     dd¦  «        | _
        |                     dd¦  «        | _        |                     d| j        j                             t          d¦  «        ¦  «        ¦  «        | _        | j        rt           j        nt           j        | _        t          | j        t(          ¦  «        st+          d¦  «        ‚t,                               | |¦  «         t/          | j        || j        | j        ¦  «        | _        d S )	NFr`   ÚrequiredTÚsilentÚstaticÚprefer_staticzStatic keyword must be boolean)rQ   rn   Úenvr_   rb   ra   r  rX   r&   Úversion_reqsr(  r)  ÚcoredataÚ
get_optionr   r*  r	   ÚSTATICÚPREFER_SHAREDÚlibtyper/   r   r  Údetect_compilerr  Úclib_compiler)r-   r[   r%  rR   ra   r-  s         r"   rn   zExternalDependency.__init__e  s;  € Ý×Ò˜D )¨VÑ4Ô4Ð4ØˆŒØˆŒ	ØˆŒØ ˆŒØ—z’z )¨TÑ2Ô2ˆÝ�l¥CÑ(Ô(ð 	*Ø(˜>ˆLØ5AˆÔØŸ
š
 :¨tÑ4Ô4ˆŒØ—j’j ¨5Ñ1Ô1ˆŒØ—j’j ¨4¬8Ô+<×+GÒ+GÍ	ÐRaÑHbÔHbÑ+cÔ+cÑdÔdˆŒØ)-¬ÐO•w”~�~½'Ô:OˆŒÝ˜$œ+¥tÑ,Ô,ð 	HÝ%Ð&FÑGÔGÐGå×Ò  fÑ-Ô-Ð-Ý,¨T¬Y¸ÀTÔEUÐW[ÔWdÑeÔeˆÔÐÐr!   r'   ú&T.Union['MissingCompiler', 'Compiler']c                ó   — | j         S r‰   )r4  r2   s    r"   Úget_compilerzExternalDependency.get_compilery  s   € ØÔ!Ð!r!   Fr¶   rc   r/   rd   r·   r¸   rf   rQ   c               ó|   — t          j         | ¦  «        }|sg |_        |sg |_        |sg |_        |s	 |sg |_        |S r‰   )rÏ   rc   rd   rf   ©r-   rc   rd   r·   r¸   rf   Únews          r"   r½   z)ExternalDependency.get_partial_dependency|  s^   € õ Œi˜‰oŒoˆØð 	"Ø!ˆCÔØð 	ØˆCŒMØð 	ØˆCŒKØð 	ØØð 	ØˆCŒKàˆ
r!   r&   c                ó   — dS ©NÚ r    r2   s    r"   Úlog_detailszExternalDependency.log_details�  ó   € Øˆrr!   c                ó   — dS r<  r    r2   s    r"   Úlog_infozExternalDependency.log_info�  r?  r!   c                 ó   — dS r<  r    r    r!   r"   Ú	log_triedzExternalDependency.log_tried“  s   € àˆrr!   r\   c                óT  — | j         sd S | j        �r”| j        sxd| _         g }|dt          j        | j        ¦  «        dgz  }|t          j        d¦  «        d| j        gz  }t          j        |Ž  | j        rd| j        ›d�}t          |¦  «        ‚d S t          | j        | j        ¦  «        \  | _         }}| j         sídt          j        | j        ¦  «        dg}|t          j        d¦  «        dt          j        | j        ¦  «        d	t          j        d
                     d„ |D ¦   «         ¦  «        ¦  «        gz  }|r$|dd
                     d„ |D ¦   «         ¦  «        gz  }t          j        |Ž  | j        r0d}t          |                     | j        || j        ¦  «        ¦  «        ‚d S d S d S )NFrQ   úfound:ry   zunknown version, but need:zUnknown version, but need ú.r{   z	but need:z, c                ó   — g | ]}d |› d �‘Œ	S ©ú'r    ©rŒ   Úes     r"   r  z5ExternalDependency._check_version.<locals>.<listcomp>°  s    € Ð6SÐ6SÐ6SÀA°x¸1°x°x°xÐ6SÐ6SÐ6Sr!   z
; matched:c                ó   — g | ]}d |› d �‘Œ	S rH  r    rJ  s     r"   r  z5ExternalDependency._check_version.<locals>.<listcomp>³  s    € Ð0IÐ0IÐ0I¸a°°Q°°°Ð0IÐ0IÐ0Ir!   z+Invalid version, need {!r} {!r} found {!r}.)rb   r-  r`   r   Úboldr_   r|   Úlogr(  r   r   Únormal_cyanÚjoinÚformat)r-   Ú	found_msgÚmÚ	not_foundr{   s        r"   Ú_check_versionz!ExternalDependency._check_version˜  sÞ  € ØŒ}ð 	ØˆFàÔñ 	à”<ð Ø %�”Ø24�	Ø˜l­D¬I°d´iÑ,@Ô,@À(ÐKÑK�	Ø�dœh t™nœnÐ.JÈDÔL]Ð^Ñ^�	Ý”˜)Ð$Ð$à”=ð 1ØK°TÔ5FÐKÐKÐK�AÝ-¨aÑ0Ô0Ð0ð1ð 1õ )¨¬°tÔ7HÑIÔIñ 2�” 	¨5à”}ð Ø!-­t¬y¸¼Ñ/CÔ/CÀXÐ N�IØ¥$¤(¨4¡.¤.Ø")­4Ô+;¸D¼LÑ+IÔ+IÈ;Ý"&¤)¨D¯IªIÐ6SÐ6SÈÐ6SÑ6SÔ6SÑ,TÔ,TÑ"UÔ"Uð"Wñ W�Ið ð LØ! lØ&*§i¢iÐ0IÐ0IÀ5Ð0IÑ0IÔ0IÑ&JÔ&Jð&Lñ L˜	å”H˜iÐ(Ð(à”}ð `ØI˜Ý1°!·(²(¸4¼9ÀiÐQUÔQ]Ñ2^Ô2^Ñ_Ô_Ð_Ø�Fð;	ð 	ð ð r!   r‰   )r[   rO   r%  r&  rR   rS   ra   r‘   )r'   r5  )rc   r/   rd   r/   r·   r/   r¸   r/   rf   r/   r'   rQ   rÓ   )r'   r\   )r   r   r   rn   r7  r½   r>  rA  ÚstaticmethodrC  rU  r    r!   r"   r$  r$  d  sÐ   € € € € € ðfð fð fð fð fð("ð "ð "ð "ð >CØ16ÀeØ05Àuðð ð ð ð ð ð"ð ð ð ðð ð ð ð ðð ð ñ „\ðð!ð !ð !ð !ð !ð !r!   r$  c                  ó6   ‡ — e Zd Zdˆ fd„Zdddddd	œdd„Zˆ xZS )ÚNotFoundDependencyr_   r&   r%  r&  r'   r\   c                ó�   •— t          ¦   «                              t          d¦  «        i ¦  «         || _        || _        d| _        d S )Nz	not-foundF)rë   rn   rO   r,  r_   rb   )r-   r_   r%  rs   s      €r"   rn   zNotFoundDependency.__init__½  s?   ø€ Ý‰Œ×ÒÕ+¨KÑ8Ô8¸"Ñ=Ô=Ð=ØˆŒØˆŒ	ØˆŒˆˆr!   Fr¶   rc   r/   rd   r·   r¸   rf   ú'NotFoundDependency'c               ó*   — t          j         | ¦  «        S r‰   )rÏ   r¼   s         r"   r½   z)NotFoundDependency.get_partial_dependencyÃ  s   € õ Œy˜‰ŒÐr!   )r_   r&   r%  r&  r'   r\   )rc   r/   rd   r/   r·   r/   r¸   r/   rf   r/   r'   rZ  )r   r   r   rn   r½   r  r  s   @r"   rX  rX  ¼  sk   ø€ € € € € ðð ð ð ð ð ð >CØ16ÀeØ05Àuðð ð ð ð ð ð ð ð ð r!   rX  c                  óH   ‡ — e Zd Z	 ddˆ fd„Zddˆ fd„Zddddddœdd„Zˆ xZS )ÚExternalLibraryFr_   r&   rd   r�   r%  r&  ra   r)  r/   r'   r\   c                ó¼  •— t          ¦   «                              t          d¦  «        |i |¬¦  «         || _        || _        d| _        |rd| _        || _        |s�| j        r=t          j        dt          j	        |¦  «        dt          j
        d¦  «        ¦  «         d S t          j        dt          j	        |¦  «        dt          j        d¦  «        ¦  «         d S d S )	NÚlibrary©ra   FTÚLibraryrE  rz   ry   )rë   rn   rO   r_   ra   rb   rd   r   rN  rM  r}   r|   )r-   r_   rd   r%  ra   r)  rs   s         €r"   rn   zExternalLibrary.__init__Ê  sÓ   ø€ å‰Œ×ÒÕ+¨IÑ6Ô6¸ÀRÐRZÐÑ[Ô[Ð[ØˆŒ	Ø ˆŒØˆŒØð 	'Ø ˆDŒMØ&ˆDŒNØð 	OØŒ}ð OÝ”˜¥D¤I¨d¡O¤O°X½t¼zÈ%Ñ?PÔ?PÑQÔQÐQÐQÐQå”˜¥D¤I¨d¡O¤O°X½t¼xÈ¹~¼~ÑNÔNÐNÐNÐNð		Oð 	Or!   Nr‘   r’   c                ó’   •— | j         dk    r|dk    s|dk    r| j         dk    rg S t          ¦   «                              ||¬¦  «        S )ad  
        External libraries detected using a compiler must only be used with
        compatible code. For instance, Vala libraries (.vapi files) cannot be
        used with C code, and not all Rust library types can be linked with
        C-like code. Note that C++ libraries *can* be linked with C code with
        a C++ linker (and vice-versa).
        Úvala)ra   r’   )ra   rë   r”   )r-   ra   r’   rs   s      €r"   r”   zExternalLibrary.get_link_argsÙ  sU   ø€ ð ŒM˜VÒ#Ð#¨°FÒ(:Ð(:Ø˜ÒÐ 4¤=°FÒ#:Ð#:ØˆIÝ‰wŒw×$Ò$¨h¸CÐ$Ñ@Ô@Ð@r!   r¶   rc   r·   r¸   rf   ú'ExternalLibrary'c               ó@   — t          j         | ¦  «        }|sg |_        |S r‰   )rÏ   rd   r9  s          r"   r½   z&ExternalLibrary.get_partial_dependencyè  s%   € õ
 Œi˜‰oŒoˆØð 	ØˆCŒMØˆ
r!   )F)r_   r&   rd   r�   r%  r&  ra   r&   r)  r/   r'   r\   r1   rÔ   )rc   r/   rd   r/   r·   r/   r¸   r/   rf   r/   r'   rd  )r   r   r   rn   r”   r½   r  r  s   @r"   r]  r]  É  s¤   ø€ € € € € à/4ðOð Oð Oð Oð Oð Oð OðAð Að Að Að Að Að Að >CØ16ÀeØ05Àuðð ð ð ð ð ð ð ð ð r!   r]  Údepsrâ   r'   c                óB  — | s|                       ¦   «         S g }| r„g }t          j        | ¦  «        D ]i}t          |t          ¦  «        r|                     ¦   «         rt          d¦  «        ‚|                     |¦  «         |                     |j	        ¦  «         Œj|} | °„|S )Nz*Dependencies must be external dependencies)
rÏ   r   ÚlistifyrX   rQ   rv   r   rÁ   Úextendrg   )rf  r
  Ú	next_depsr�   s       r"   Úget_leaf_external_dependenciesrk  ó  sº   € Øð à�yŠy‰{Œ{ÐØ€JØ
ð Øˆ	ÝÔ! $Ñ'Ô'ð 	)ð 	)ˆAÝ˜a¥Ñ,Ô,ð X°·
²
±´ð XÝ)Ð*VÑWÔWÐWØ×Ò˜aÑ Ô Ð Ø×Ò˜QœZÑ(Ô(Ð(Ð(Øˆð ð ð Ðr!   Úlibpathsr�   Úrefpathsc                óv   ‡— t          ‰¦  «        dk    rt          | ¦  «        S dˆfd„}t          | |¬¦  «        S )	z¼Sort <libpaths> according to <refpaths>

    It is intended to be used to sort -L flags returned by pkg-config.
    Pkg-config returns flags in random order which cannot be relied on.
    r   Úlibpathr&   r'   úT.Tuple[int, int]c                ó@  •— g }‰D ]Y}	 t           j                             | |g¦  «        }n# t          $ r d}Y nw xY w|                     t          |¦  «        ¦  «         ŒZt          |¦  «        }|                     |¦  «        }t          ‰|         ¦  «        |z
  }||fS r<  )ÚosÚpathÚ
commonpathÚ
ValueErrorrÁ   ÚlenÚmaxÚindex)ro  Úcommon_lengthsÚrefpathÚcommon_pathÚ
max_lengthÚ	max_indexÚreversed_max_lengthrm  s          €r"   Úkey_funczsort_libpaths.<locals>.key_func  s¿   ø€ Ø&(ˆØð 	4ð 	4ˆGð!Ý#%¤7×#5Ò#5°wÀÐ6HÑ#IÔ#I��øÝð !ð !ð !Ø ���ð!øøøà×!Ò!¥# kÑ"2Ô"2Ñ3Ô3Ð3Ð3Ý˜Ñ(Ô(ˆ
Ø"×(Ò(¨Ñ4Ô4ˆ	Ý! (¨9Ô"5Ñ6Ô6¸ÑCÐØÐ.Ð/Ð/s   ‰!+«:¹:)Úkey)ro  r&   r'   rp  )rv  rj   Úsorted)rl  rm  r  s    ` r"   Úsort_libpathsr‚    sU   ø€ õ ˆ8�}„}˜ÒÐÝ�H‰~Œ~Ðð0ð 0ð 0ð 0ð 0ð 0õ �( Ð)Ñ)Ô)Ð)r!   r%  r&  r  r
   rd   c                ó^   ‡— d„ |                       |¦  «        D ¦   «         Šˆfd„|D ¦   «         S )zûRemove -L<system path> arguments.

    leaving these in will break builds where a user has a version of a library
    in the system path, and a different version not in the system path if they
    want to link against the non-system path version.
    c                ó   — h | ]}d |› �’ŒS )z-Lr    )rŒ   Úps     r"   ú	<setcomp>z'strip_system_libdirs.<locals>.<setcomp>!  s   € ÐSÐSÐS˜Aˆx�AˆxˆxÐSÐSÐSr!   c                ó   •— g | ]}|‰v¯|‘Œ	S r    r    )rŒ   ÚlÚexcludes     €r"   r  z(strip_system_libdirs.<locals>.<listcomp>"  s#   ø€ Ð5Ð5Ð5�! A¨WÐ$4Ð$4ˆAÐ$4Ð$4Ð$4r!   )Úget_compiler_system_dirs)r%  r  rd   r‰  s      @r"   Ústrip_system_libdirsr‹    sA   ø€ ð TÐS ×!EÒ!EÀkÑ!RÔ!RÐSÑSÔS€GØ5Ð5Ð5Ð5�yÐ5Ñ5Ô5Ð5r!   ÚpossibleúT.Iterable[DependencyMethods]rR   rS   úT.List[DependencyMethods]c                ó¤  — |                      dd¦  «        }t          |t          ¦  «        r|gS |d„ t          D ¦   «         vrt          d|›d�¦  «        ‚t          |¦  «        }|t          j        u r	 |t          j        t          j        t          j        t          j        fv rt          j        }|t          j	        u rt          j        }|t          j
        k    rt          | ¦  «        }ng|| v r|g}n_t          d                     |j        t          j        d„ t          j
        gt          | ¦  «        z   D ¦   «         ¦  «        ¦  «        ¦  «        ‚|S )NÚmethodr8   c                ó   — g | ]	}|j         ‘Œ
S r    ©ÚvaluerJ  s     r"   r  z%process_method_kw.<locals>.<listcomp>)  s   € Ð9Ð9Ð9 !�a”gÐ9Ð9Ð9r!   zmethod z is invalidz8Unsupported detection method: {}, allowed methods are {}c                ó   — g | ]	}|j         ‘Œ
S r    r’  )rŒ   r  s     r"   r  z%process_method_kw.<locals>.<listcomp>H  s   € Ð!]Ð!]Ð!]¨a !¤'Ð!]Ð!]Ð!]r!   )r  rX   r7   r   rH   rI   rJ   rK   rL   rM   rA   rj   rQ  r“  r   Úformat_list)rŒ  rR   r�  Úmethodss       r"   Úprocess_method_kwr—  $  sq  € Ø�ZŠZ˜ &Ñ)Ô)€FÝ�&Õ+Ñ,Ô,ð ØˆxˆàÐ9Ð9Õ'8Ð9Ñ9Ô9Ð9Ð9Ý!Ð"A¨FÐ"AÐ"AÐ"AÑBÔBÐBÝ˜vÑ&Ô&€Fð Õ"Ô.Ð.Ð.ð 	ð Õ#Ô-Õ/@Ô/KÝ#Ô.Õ0AÔ0NðPð Pð Põ #Ô.ˆØÕ"Ô(Ð(Ð(õ #Ô.ˆð Õ"Ô'Ò'Ð'Ý�x‘.”.ˆˆØ	�8Ð	Ð	Ø�(ˆˆå!ØF×MÒMØ”ÝÔ Ð!]Ð!]Õ4EÔ4JÐ3KÍdÐS[ÉnÌnÑ3\Ð!]Ñ!]Ô!]Ñ^Ô^ñ`ô `ñaô að 	að
 €Nr!   r_   r&   r,  ra   r‘   r5  c                ó<  — |j         j        |         }|rW||vrK|                      ¦   «         dz   }t          |                     |                     ¦   «         ¦  «        ¦  «        ‚||         S t
          D ]}	 ||         c S # t          $ r Y Œw xY wt          ¦   «         S )z8Given a language and environment find the compiler used.zI requires a {0} compiler, but {0} is not in the list of project languages)r.  Ú	compilersÚ
capitalizer   rQ  r   ÚKeyErrorr$   )r_   r,  r  ra   r™  rS  Úlangs          r"   r3  r3  L  sÂ   € ð ”Ô& {Ô3€Ið ð Ø˜9Ð$Ð$Ø—’Ñ!Ô!ð %>ñ >ˆAå% a§h¢h¨x×/BÒ/BÑ/DÔ/DÑ&EÔ&EÑFÔFÐFØ˜Ô"Ð"åð 	ð 	ˆDðØ  ”Ð&Ð&Ð&øÝð ð ð Ø�ðøøøåÑÔÐs   Á6B Â 
BÂBc                  ó@   ‡ — e Zd ZdZ	 ddˆ fd„Zedd„¦   «         Zˆ xZS )ÚSystemDependencyz-Dependency base for System type dependencies.Nr_   r&   r,  r&  rR   rS   ra   r‘   r'   r\   c                óz   •— t          ¦   «                              t          d¦  «        |||¬¦  «         || _        d S )Nr;   r`  ©rë   rn   rO   r_   ©r-   r_   r,  rR   ra   rs   s        €r"   rn   zSystemDependency.__init__f  s8   ø€ å‰Œ×ÒÕ+¨HÑ5Ô5°s¸FÈXÐÑVÔVÐVØˆŒ	ˆ	ˆ	r!   c                 ó   — dS )Nr;   r    r    r!   r"   rC  zSystemDependency.log_triedk  s   € àˆxr!   r‰   ©
r_   r&   r,  r&  rR   rS   ra   r‘   r'   r\   rÓ   ©r   r   r   r   rn   rV  rC  r  r  s   @r"   rž  rž  b  sm   ø€ € € € € à7Ð7ð .2ðð ð ð ð ð ð ð
 ðð ð ñ „\ðð ð ð ð r!   rž  c                  ó@   ‡ — e Zd ZdZ	 ddˆ fd„Zedd„¦   «         Zˆ xZS )ÚBuiltinDependencyz.Dependency base for Builtin type dependencies.Nr_   r&   r,  r&  rR   rS   ra   r‘   r'   r\   c                óz   •— t          ¦   «                              t          d¦  «        |||¬¦  «         || _        d S )Nr:   r`  r   r¡  s        €r"   rn   zBuiltinDependency.__init__t  s8   ø€ å‰Œ×ÒÕ+¨IÑ6Ô6¸¸VÈhÐÑWÔWÐWØˆŒ	ˆ	ˆ	r!   c                 ó   — dS )Nr:   r    r    r!   r"   rC  zBuiltinDependency.log_triedy  s   € àˆyr!   r‰   r£  rÓ   r¤  r  s   @r"   r¦  r¦  p  sm   ø€ € € € € à8Ð8ð .2ðð ð ð ð ð ð ð
 ðð ð ñ „\ðð ð ð ð r!   r¦  )rf  râ   r'   râ   )rl  r�   rm  r�   r'   r�   )r%  r&  r  r
   rd   r�   r'   r�   )rŒ  r�  rR   rS   r'   rŽ  )
r_   r&   r,  r&  r  r
   ra   r‘   r'   r5  )9Ú
__future__r   rÏ   rr  rh   r�   Útypingr  Úenumr   r=  r   r   r™  r   r	   r
   r   r   r   r   ÚTYPE_CHECKINGÚ_typingr   r  r   Úcompilers.compilersr   r%  r   Úinterpreterbaser   r   r   r   r   r   r   r   r$   r7   ÚNewTyper&   rO   rQ   rÛ   r  r$  rX  r]  rk  r‚  r‹  r—  r3  rž  r¦  r    r!   r"   ú<module>r±     s   ðð$ #Ð "Ð "Ð "Ð "Ð "Ø €€€Ø 	€	€	€	Ø Ð Ð Ð Ø Ð Ð Ð Ø Ð Ð Ð Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ð Ð Ð Ð Ø "Ð "Ð "Ð "Ð "Ð "Ø XÐ XÐ XÐ XÐ XÐ XÐ XÐ XÐ XÐ XÐ XÐ XÐ XÐ XØ +Ð +Ð +Ð +Ð +Ð +ð „?ð 
(Ø/Ð/Ð/Ð/Ð/Ð/Ø)Ð)Ð)Ð)Ð)Ð)Ø.Ð.Ð.Ð.Ð.Ð.Ø)Ð)Ð)Ð)Ð)Ð)Ø2Ð2Ð2Ð2Ð2Ð2ðð ð ð ð ð ð ð ð ð ð ð ð ð ð (Ð'Ð'Ð'Ð'Ð'ð>ð >ð >ð >ð >˜.ñ >ô >ð >ð
ð 
ð 
ð 
ð 
ñ 
ô 
ð 
ðð ð ð ð ˜ñ ô ð ð2 �Q”YÐ3°SÑ9Ô9Ð ð\ð \ð \ð \ð \�ñ \ô \ð \ð|cð cð cð cð c˜ñ cô cð cðJZð Zð Zð Zð Zñ Zô Zð ZðUð Uð Uð Uð U˜ ^ñ Uô Uð Uðp
ð 
ð 
ð 
ð 
˜ñ 
ô 
ð 
ð'ð 'ð 'ð 'ð 'Ð(ñ 'ô 'ð 'ðTð ð ð ð *ð *ð *ð *ð.6ð 6ð 6ð 6ð&ð &ð &ð &ðPð ð ð ð,ð ð ð ð Ð)ñ ô ð ðð ð ð ð Ð*ñ ô ð ð ð r!   