§
    `ŠtjÚ2  ã                   óø  — d dl Z d dlZd dlZd dlmZ g d¢Z ej        d¦  «        Z G d„ de¦  «        Z	 G d„ de¦  «        Z
d	„ Zd
„ Z G d„ d¦  «        Z G d„ d¦  «        Zd„ Zd„ Zd„ Zd„ Zd;d„Zd;d„Zi Zd;d„Zedk    �rtd dlmZ d dlZ e¦   «         Ze                     dddd¬¦  «         e                     dddd¬¦  «         e                     d d!d"¬#¦  «         e                     d$d%dd&¬¦  «         e                     d'd(d)¬#¦  «         e                     d*d+dd)¬¦  «         e                     d,d-d.¬#¦  «         e                     e j        ¦  «        \  ZZ  e!e ¦  «        d/k     r e"d0¦  «        ‚ej#        rB ej        d1¦  «        Z$e$D ]/Z% ee%¦  «        Z& e'e&j(        ›d2e&j(        ›d3e&j)        ›�¦  «         Œ0e d4         Z*ej+         ,                    d5¦  «        Z-e-r ee*d6d7e-g¦  «        Z&n ee*d6d7g¦  «        Z&ej.        rej.        Z.nd8Z.ej/        rW ej0        d9ej/        ¦  «        Z1e1s e"d:¦  «        ‚e1 2                    d4¦  «        Z(e1 2                    d/¦  «        Z3e3e&j4        e(<   ej5        r e'e& 5                    e.¦  «        ¦  «         ej6        r e'e& 6                    e.¦  «        ¦  «         ej7        r e'e&j7        ¦  «         ej8        r e'e&j7        ej8        k    ¦  «         dS dS dS )<é    N)ÚRawConfigParser)ÚFormatErrorÚPkgNotFoundÚLibraryInfoÚVariableSetÚread_configÚparse_flagsz\$\{([a-zA-Z0-9_-]+)\}c                   ó   — e Zd ZdZd„ Zd„ ZdS )r   zQ
    Exception thrown when there is a problem parsing a configuration file.

    c                 ó   — || _         d S ©N©Úmsg©Úselfr   s     ú\/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/numpy/distutils/npy_pkg_config.pyÚ__init__zFormatError.__init__   ó   € ØˆŒˆˆó    c                 ó   — | j         S r   r   ©r   s    r   Ú__str__zFormatError.__str__   ó	   € ØŒxˆr   N©Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   © r   r   r   r      s<   € € € € € ðð ðð ð ðð ð ð ð r   r   c                   ó   — e Zd ZdZd„ Zd„ ZdS )r   z3Exception raised when a package can not be located.c                 ó   — || _         d S r   r   r   s     r   r   zPkgNotFound.__init__   r   r   c                 ó   — | j         S r   r   r   s    r   r   zPkgNotFound.__str__   r   r   Nr   r   r   r   r   r      s8   € € € € € Ø=Ð=ðð ð ðð ð ð ð r   r   c                 ó  — g g g g g dœ}d| z                         d¦  «        }|D �]d}d|z   }t          |¦  «        dk    �rH|                     d¦  «        r6|d                              |dd	…                              ¦   «         ¦  «         Œg|                     d
¦  «        r6|d                              |dd	…                              ¦   «         ¦  «         Œ²|                     d¦  «        r6|d                              |dd	…                              ¦   «         ¦  «         Œý|                     d¦  «        r7|d                              |dd	…                              ¦   «         ¦  «         �ŒI|d                              |¦  «         �Œf|S )a¶  
    Parse a line from a config file containing compile flags.

    Parameters
    ----------
    line : str
        A single line containing one or more compile flags.

    Returns
    -------
    d : dict
        Dictionary of parsed flags, split into relevant categories.
        These categories are the keys of `d`:

        * 'include_dirs'
        * 'library_dirs'
        * 'libraries'
        * 'macros'
        * 'ignored'

    )Úinclude_dirsÚlibrary_dirsÚ	librariesÚmacrosÚignoredú z -ú-r   z-Ir#   é   Nz-Lr$   z-lr%   z-Dr&   r'   )ÚsplitÚlenÚ
startswithÚappendÚstrip)ÚlineÚdÚflagsÚflags       r   r	   r	      s€  € ð, ¨R¸bØ "ð	&ð 	&€Að �4‰Z×Ò˜tÑ$Ô$€EØð *ñ *ˆØ�T‰zˆÝˆt‰9Œ9�qŠ=‰=Ø�Š˜tÑ$Ô$ð 	*Ø�.Ô!×(Ò(¨¨a¨b¨b¬¯ªÑ)9Ô)9Ñ:Ô:Ð:Ð:Ø—’ Ñ&Ô&ð *Ø�.Ô!×(Ò(¨¨a¨b¨b¬¯ªÑ)9Ô)9Ñ:Ô:Ð:Ð:Ø—’ Ñ&Ô&ð *Ø�+”×%Ò% d¨1¨2¨2¤h§n¢nÑ&6Ô&6Ñ7Ô7Ð7Ð7Ø—’ Ñ&Ô&ð *Ø�(”×"Ò" 4¨¨¨¤8§>¢>Ñ#3Ô#3Ñ4Ô4Ð4Ñ4à�)”×#Ò# DÑ)Ô)Ð)ùà€Hr   c                 ó.   — |                       dd¦  «        S )Nú\z\\)Úreplace)Úvals    r   Ú_escape_backslashr8   I   s   € Ø�;Š;�t˜VÑ$Ô$Ð$r   c                   ó6   — e Zd ZdZd	d„Zd„ Zd
d„Zd
d„Zd„ ZdS )r   a$  
    Object containing build information about a library.

    Parameters
    ----------
    name : str
        The library name.
    description : str
        Description of the library.
    version : str
        Version string.
    sections : dict
        The sections of the configuration file for the library. The keys are
        the section headers, the values the text under each header.
    vars : class instance
        A `VariableSet` instance, which contains ``(name, value)`` pairs for
        variables defined in the configuration file for the library.
    requires : sequence, optional
        The required libraries for the library to be installed.

    Notes
    -----
    All input parameters (except "sections" which is a method) are available as
    attributes of the same name.

    Nc                 ón   — || _         || _        |r|| _        ng | _        || _        || _        || _        d S r   )ÚnameÚdescriptionÚrequiresÚversionÚ	_sectionsÚvars)r   r;   r<   r>   Úsectionsr@   r=   s          r   r   zLibraryInfo.__init__g   sB   € ØˆŒ	Ø&ˆÔØð 	Ø$ˆDŒMˆMàˆDŒMØˆŒØ!ˆŒØˆŒ	ˆ	ˆ	r   c                 óN   — t          | j                             ¦   «         ¦  «        S )zÚ
        Return the section headers of the config file.

        Parameters
        ----------
        None

        Returns
        -------
        keys : list of str
            The list of section headers.

        )Úlistr?   Úkeysr   s    r   rA   zLibraryInfo.sectionsr   ó    € õ �D”N×'Ò'Ñ)Ô)Ñ*Ô*Ð*r   Údefaultc                 óv   — | j                              | j        |         d         ¦  «        }t          |¦  «        S )NÚcflags©r@   Úinterpolater?   r8   ©r   Úsectionr7   s      r   rH   zLibraryInfo.cflags‚   s1   € ØŒi×#Ò# D¤N°7Ô$;¸HÔ$EÑFÔFˆÝ  Ñ%Ô%Ð%r   c                 óv   — | j                              | j        |         d         ¦  «        }t          |¦  «        S )NÚlibsrI   rK   s      r   rN   zLibraryInfo.libs†   s1   € ØŒi×#Ò# D¤N°7Ô$;¸FÔ$CÑDÔDˆÝ  Ñ%Ô%Ð%r   c                 ó(  — d| j         z  d| j        z  g}| j        r|                     d¦  «         n0|                     dd                     | j        ¦  «        z  ¦  «         |                     d| j        z  ¦  «         d                     |¦  «        S )NzName: %szDescription: %sz	Requires:zRequires: %sú,zVersion: %sú
)r;   r<   r=   r.   Újoinr>   )r   Úms     r   r   zLibraryInfo.__str__Š   s‰   € Ø˜$œ)Ñ#Ð%6¸Ô9IÑ%IÐJˆØŒ=ð 	?Ø�HŠH�[Ñ!Ô!Ð!Ð!à�HŠH�^ c§h¢h¨t¬}Ñ&=Ô&=Ñ=Ñ>Ô>Ð>Ø	�Š� ¤Ñ-Ñ.Ô.Ð.à�yŠy˜‰|Œ|Ðr   r   )rF   )	r   r   r   r   r   rA   rH   rN   r   r   r   r   r   r   L   sx   € € € € € ðð ð4	ð 	ð 	ð 	ð+ð +ð +ð &ð &ð &ð &ð&ð &ð &ð &ðð ð ð ð r   r   c                   ó<   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	S )
r   a  
    Container object for the variables defined in a config file.

    `VariableSet` can be used as a plain dictionary, with the variable names
    as keys.

    Parameters
    ----------
    d : dict
        Dict of items in the "variables" section of the configuration file.

    c                 óª   — t          d„ |                     ¦   «         D ¦   «         ¦  «        | _        i | _        i | _        |                      ¦   «          d S )Nc                 ó   — g | ]	\  }}||f‘Œ
S r   r   )Ú.0ÚkÚvs      r   ú
<listcomp>z(VariableSet.__init__.<locals>.<listcomp>¢   s    € Ð<Ð<Ð<©$¨!¨Q  1˜vÐ<Ð<Ð<r   )ÚdictÚitemsÚ	_raw_dataÚ_reÚ_re_subÚ_init_parse)r   r1   s     r   r   zVariableSet.__init__¡   sN   € ÝÐ<Ð<°!·'²'±)´)Ð<Ñ<Ô<Ñ=Ô=ˆŒàˆŒØˆŒà×ÒÑÔÐÐÐr   c                 óp   — | j                              ¦   «         D ]\  }}|                      ||¦  «         Œd S r   )r]   r\   Ú_init_parse_var)r   rX   rY   s      r   r`   zVariableSet._init_parse©   sF   € Ø”N×(Ò(Ñ*Ô*ð 	'ð 	'‰DˆAˆqØ× Ò   AÑ&Ô&Ð&Ð&ð	'ð 	'r   c                 óX   — t          j        d|z  ¦  «        | j        |<   || j        |<   d S )Nz\$\{%s\})ÚreÚcompiler^   r_   ©r   r;   Úvalues      r   rb   zVariableSet._init_parse_var­   s.   € Ýœ K°$Ñ$6Ñ7Ô7ˆŒ�‰Ø"ˆŒ�TÑÐÐr   c                 ó¢   ‡ — ˆ fd„}t                                |¦  «        r. ||¦  «        }||k    rn|}t                                |¦  «        °.|S )Nc                 ó˜   •— ‰j                              ¦   «         D ].}‰j         |                              ‰j        |         | ¦  «        } Œ/| S r   )r^   rD   Úsubr_   )rg   rX   r   s     €r   Ú_interpolatez-VariableSet.interpolate.<locals>._interpolate´   sD   ø€ Ø”X—]’]‘_”_ð @ð @�Øœ œŸš¨¬°Q¬¸Ñ?Ô?��ØˆLr   )Ú_VARÚsearch)r   rg   rk   Únvalues   `   r   rJ   zVariableSet.interpolate±   so   ø€ ð	ð 	ð 	ð 	ð 	õ �kŠk˜%Ñ Ô ð 	Ø!�\ %Ñ(Ô(ˆFØ˜ŠˆØØˆEõ	 �kŠk˜%Ñ Ô ð 	ð ˆr   c                 óN   — t          | j                             ¦   «         ¦  «        S )zì
        Return the list of variable names.

        Parameters
        ----------
        None

        Returns
        -------
        names : list of str
            The names of all variables in the `VariableSet` instance.

        )rC   r]   rD   r   s    r   Ú	variableszVariableSet.variablesÀ   rE   r   c                 ó   — | j         |         S r   )r]   )r   r;   s     r   Ú__getitem__zVariableSet.__getitem__Ñ   s   € ØŒ~˜dÔ#Ð#r   c                 óF   — || j         |<   |                      ||¦  «         d S r   )r]   rb   rf   s      r   Ú__setitem__zVariableSet.__setitem__Ô   s*   € Ø$ˆŒ�tÑØ×Ò˜T 5Ñ)Ô)Ð)Ð)Ð)r   N)r   r   r   r   r   r`   rb   rJ   rp   rr   rt   r   r   r   r   r   ”   s‡   € € € € € ðð ðð ð ð'ð 'ð 'ð#ð #ð #ðð ð ð+ð +ð +ð"$ð $ð $ð*ð *ð *ð *ð *r   r   c                 óÚ   — |                       d¦  «        st          d¦  «        ‚t          |                      d¦  «        ¦  «        }dD ]}||vrt          d|z  ¦  «        ‚Œd|vrg |d<   |S )NÚmetazNo meta section found !)r;   r<   r>   z6Option %s (section [meta]) is mandatory, but not foundr=   )Úhas_sectionr   r[   r\   )Úconfigr1   rX   s      r   Ú
parse_metary   Ø   s•   € Ø×Ò˜fÑ%Ô%ð 5ÝÐ3Ñ4Ô4Ð4åˆV�\Š\˜&Ñ!Ô!Ñ"Ô"€Aà/ð %ð %ˆØ�AˆvˆvÝð  Ø"#ñ$ñ %ô %ð %ð ð ˜ˆ?ˆ?Øˆˆ*‰à€Hr   c                 ó¬   — |                       d¦  «        st          d¦  «        ‚i }|                      d¦  «        D ]
\  }}|||<   Œt          |¦  «        S )Nrp   zNo variables section found !)rw   r   r\   r   )rx   r1   r;   rg   s       r   Úparse_variablesr{   è   sb   € Ø×Ò˜kÑ*Ô*ð :ÝÐ8Ñ9Ô9Ð9à
€Aà—|’| KÑ0Ô0ð ð ‰ˆˆeØˆˆ$‰ˆå�q‰>Œ>Ðr   c                 ó   — t           t          fS r   )Úmeta_dÚr)rx   s    r   Úparse_sectionsr   ó   s   € Ý•1ˆ9Ðr   c                 ó   — d| z  S )Nz%s.inir   )Úpkg_names    r   Úpkg_to_filenamer‚   ö   s   € Ø�hÑÐr   c                 ó‚  ‡ — |rˆ fd„|D ¦   «         }n‰ g}t          ¦   «         }|                     |¦  «        }t          |¦  «        dk    st          dt	          |¦  «        z  ¦  «        ‚t          |¦  «        }i }|                     d¦  «        r-|                     d¦  «        D ]\  }}t          |¦  «        ||<   Œd„ | 	                    ¦   «         D ¦   «         }	i }
i }|	D ]X}i }| 
                    |d¦  «        r|                     |d¦  «        ||<   |                     |¦  «        D ]
\  }}|||<   Œ||
|<   ŒY|||
|fS )Nc                 óP   •— g | ]"}t           j                             |‰¦  «        ‘Œ#S r   )ÚosÚpathrR   )rW   r1   Úfilenames     €r   rZ   z parse_config.<locals>.<listcomp>û   s)   ø€ Ð=Ð=Ð=°1•R”W—\’\ ! XÑ.Ô.Ð=Ð=Ð=r   é   zCould not find file(s) %srp   c                 ó   — g | ]}|d v¯|‘Œ	S ))rv   rp   r   )rW   Úss     r   rZ   z parse_config.<locals>.<listcomp>  s#   € ÐKÐKÐK�!°Ð5JÐ0JÐ0JˆAÐ0JÐ0JÐ0Jr   r=   )r   Úreadr,   r   Ústrry   rw   r\   r8   rA   Ú
has_optionÚget)r‡   ÚdirsÚ	filenamesrx   Únrv   r@   r;   rg   ÚsecsrA   r=   rŠ   r1   s   `             r   Úparse_configr“   ù   s}  ø€ Øð Ø=Ð=Ð=Ð=¸Ð=Ñ=Ô=ˆ	ˆ	à�Jˆ	åÑÔ€Fà�Š�IÑÔ€AÝˆq‰6Œ6�QŠ;ˆ;ÝÐ5½¸I¹¼ÑFÑGÔGÐGõ �fÑÔ€Dà€DØ×Ò˜+Ñ&Ô&ð 2Ø!Ÿ<š<¨Ñ4Ô4ð 	2ð 	2‰KˆD�%Ý*¨5Ñ1Ô1ˆD�‰JˆJð LÐK�v—’Ñ(Ô(ÐKÑKÔK€DØ€Hà€HØð ð ˆØˆØ×Ò˜Q 
Ñ+Ô+ð 	4Ø Ÿ*š* Q¨
Ñ3Ô3ˆH�Q‰Kà!Ÿ<š<¨™?œ?ð 	ð 	‰KˆD�%ØˆAˆd‰GˆGØˆ�‰ˆà��x Ð)Ð)r   c           	      ó–  ‡‡— ˆˆfd„Š ‰| ¦  «        \  }}}}d|vr{d|v rw|d         }|t           j        vrt          d|›d|d         ›�¦  «        ‚t           j        |         }t          t          j                             |j        ¦  «        ¦  «        |d<   t          |d         |d         |d         |t          |¦  «        ¬	¦  «        S )
Nc                 ód  •— t          | ‰¦  «        \  }}}}|                     ¦   «         D ]€\  }} ‰t          |¦  «        ¦  «        \  }}}	}
|                     ¦   «         D ]\  }}||vr|||<   Œ|	|                              ¦   «         D ] \  }}|r||         |xx         d|z  z  cc<   Œ!Œ�||||fS )Nz %s)r“   r\   r‚   )Úfrv   r@   rA   ÚreqsÚrnameÚrvalueÚnmetaÚnvarsÚ	nsectionsÚnreqsrX   rY   ÚonameÚovalueÚ_read_configr�   s                  €€r   r    z&_read_config_imp.<locals>._read_config  sï   ø€ Ý%1°!°TÑ%:Ô%:Ñ"ˆˆd�H˜dà!ŸZšZ™\œ\ð 	=ð 	=‰MˆE�6Ø-9¨\½/È&Ñ:QÔ:QÑ-RÔ-RÑ*ˆE�5˜) Uð Ÿš™œð  ð  ‘��1Ø˜D�y�yØ�D˜‘Gøð "+¨5Ô!1×!7Ò!7Ñ!9Ô!9ð =ð =‘��vØð =Ø˜U”O EÐ*Ð*Ô*¨e°f©nÑ<Ð*Ð*Ñ*øð=ð �T˜8 TÐ)Ð)r   ÚpkgdirÚpkgnamezYou should import z to get information on r;   r<   r>   )r;   r<   r>   rA   r@   )
ÚsysÚmodulesÚ
ValueErrorr8   r…   r†   ÚdirnameÚ__file__r   r   )	r�   r�   rv   r@   rA   r—   r¢   Úmodr    s	    `      @r   Ú_read_config_impr©     sû   øø€ ð*ð *ð *ð *ð *ð *ð$ ". ¨iÑ!8Ô!8Ñ€Dˆ$�˜$ð
 �tÐÐ 	¨TÐ 1Ð 1Ø�y”/ˆØ�#œ+Ð%Ð%Ý�*Ø%˜g˜g t¨F¤| |ð5ñ 6ô 6ð 6õ Œk˜'Ô"ˆÝ*­2¬7¯?ª?¸3¼<Ñ+HÔ+HÑIÔIˆˆX‰å˜D œL°d¸=Ô6IØ˜”O¨h½[ÈÑ=NÔ=NðPñ Pô Pð Pr   c                 ó�   — 	 t           |          S # t          $ r, t          t          | ¦  «        |¦  «        }|t           | <   |cY S w xY w)a  
    Return library info for a package from its configuration file.

    Parameters
    ----------
    pkgname : str
        Name of the package (should match the name of the .ini file, without
        the extension, e.g. foo for the file foo.ini).
    dirs : sequence, optional
        If given, should be a sequence of directories - usually including
        the NumPy base directory - where to look for npy-pkg-config files.

    Returns
    -------
    pkginfo : class instance
        The `LibraryInfo` instance containing the build information.

    Raises
    ------
    PkgNotFound
        If the package is not found.

    See Also
    --------
    misc_util.get_info, misc_util.get_pkg_info

    Examples
    --------
    >>> npymath_info = np.distutils.npy_pkg_config.read_config('npymath')
    >>> type(npymath_info)
    <class 'numpy.distutils.npy_pkg_config.LibraryInfo'>
    >>> print(npymath_info)
    Name: npymath
    Description: Portable, core math library implementing C99 standard
    Requires:
    Version: 0.1  #random

    )Ú_CACHEÚKeyErrorr©   r‚   )r¢   r�   rY   s      r   r   r   F  sV   € ðNÝ�gŒÐøÝð ð ð Ý�_¨WÑ5Ô5°tÑ<Ô<ˆØ�ˆw‰Øˆˆˆðøøøs   ‚ �3AÁAÚ__main__)ÚOptionParserz--cflagsrH   Ú
store_truez*output all preprocessor and compiler flags)ÚdestÚactionÚhelpz--libsrN   zoutput all linker flagsz--use-sectionrL   z/use this section instead of default for options)r°   r²   z	--versionr>   zoutput versionz--atleast-versionÚmin_versionzMinimal versionz
--list-allÚlist_allz--define-variableÚdefine_variablez%Replace variable with the given valuer*   z(Expect package name on the command line:z*.iniú	z - rˆ   ÚNPY_PKG_CONFIG_PATHznumpy/_core/lib/npy-pkg-configú.rF   z([\S]+)=([\S]+)zH--define-variable option should be of the form --define-variable=foo=barr   )9r£   rd   r…   Úconfigparserr   Ú__all__re   rl   ÚOSErrorr   r   r	   r8   r   r   ry   r{   r   r‚   r“   r©   r«   r   r   Úoptparser®   ÚglobÚparserÚ
add_optionÚ
parse_argsÚargvÚoptionsÚargsr,   r¥   r´   Úfilesr–   ÚinfoÚprintr;   r<   r�   ÚenvironrŽ   r1   rL   rµ   rm   rS   Úgrouprg   r@   rH   rN   r>   r³   r   r   r   ú<module>rÉ      s/  ðØ 
€
€
€
Ø 	€	€	€	Ø 	€	€	€	à (Ð (Ð (Ð (Ð (Ð (ð&ð &ð &€ð €r„zÐ+Ñ,Ô,€ð	ð 	ð 	ð 	ð 	�'ñ 	ô 	ð 	ðð ð ð ð �'ñ ô ð ð(ð (ð (ðT%ð %ð %ðFð Fð Fð Fð Fñ Fô Fð FðPB*ð B*ð B*ð B*ð B*ñ B*ô B*ð B*ðHð ð ð 	ð 	ð 	ðð ð ðð ð ð"*ð "*ð "*ð "*ðH"Pð "Pð "Pð "PðP 
€ð,ð ,ð ,ð ,ðf ˆzÒÑØ%Ð%Ð%Ð%Ð%Ð%Ø€K€K€Kàˆ\‰^Œ^€FØ
×Ò�j x¸ØGð ñ Iô Ið Ià
×Ò�h V°LØ4ð ñ 6ô 6ð 6à
×Ò�o¨IØLð ñ Nô Nð Nà
×Ò�k¨	¸,Ø+ð ñ -ô -ð -à
×ÒÐ)°Ø,ð ñ .ô .ð .à
×Ò�l¨¸LØ,ð ñ .ô .ð .à
×ÒÐ)Ð0AØBð ñ Dô Dð Dð ×'Ò'¨¬Ñ1Ô1�O€Wˆdà
€sˆ4�y„y�1‚}€}ØˆjÐCÑDÔDÐDàÔð LØ�”	˜'Ñ"Ô"ˆØð 	Lð 	LˆAØ�;˜q‘>”>ˆDØˆE 4¤9 9 9¨d¬i¨i¨i¸Ô9IÐ9IÐJÑKÔKÐKÐKà�AŒw€HØ
Œ
�ŠÐ,Ñ-Ô-€AØð 
Øˆ{ØÐ7¸¸aÐ@ñ
ô 
ˆˆð ˆ{ØÐ7¸Ð=ñ
ô 
ˆð „ð Ø”/ˆˆàˆàÔð  ØˆBŒIÐ(¨'Ô*AÑBÔBˆØð 	Ø�*ð Bñ Cô Cð Cð —7’7˜1‘:”:ˆDØ—G’G˜A‘J”JˆEØˆŒ	�$‰à„~ð $Øˆˆd�kŠk˜'Ñ"Ô"Ñ#Ô#Ð#Ø„|ð "Øˆˆd�iŠi˜Ñ Ô Ñ!Ô!Ð!Ø„ð ØˆˆdŒlÑÔÐØÔð 3ØˆˆdŒl˜gÔ1Ò1Ñ2Ô2Ð2Ð2Ð2ðA Ðð~3ð 3r   