§
    cŠtjÇ6  ã                  ó4  — d 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 ddlmZmZmZ ddlmZmZmZmZmZmZmZ dd	lmZ e
r2dd
lmZ ddl	mZm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(m)Z)m*Z*m+Z+m,Z, dgZ-dd„Z. G d„ dee/df         ¦  «        Z0dS )zxSchema.

Adapted from Polars implementation at:
https://github.com/pola-rs/polars/blob/main/py-polars/polars/schema.py.
é    )Úannotations)ÚOrderedDict)ÚMapping)Úpartial)ÚTYPE_CHECKINGÚcastÚoverload)ÚImplementationÚVersionÚqualified_type_name)Úget_cudfÚis_cudf_dtypeÚis_pandas_like_dtypeÚis_polars_data_typeÚis_polars_schemaÚis_pyarrow_data_typeÚis_pyarrow_schema)ÚDType)ÚIterable)ÚAnyÚClassVarN)ÚSupportsItems)ÚSelfÚTypeIs)ÚDTypeBackendÚIntoArrowSchemaÚ	IntoDTypeÚIntoPandasSchemaÚIntoPolarsSchemaÚSchemaÚobjr   Úreturnú%TypeIs[SupportsItems[str, IntoDType]]c                ó:   — t          | t          t          f¦  «        S ©N)Ú
isinstanceÚdictr   )r!   s    úM/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/narwhals/schema.pyÚ_supports_itemsr)   /   s   € õ �c�D¥'˜?Ñ+Ô+Ð+ó    c                  ó8  ‡ — e Zd ZU dZej        Zded<   ed+d,d	„¦   «         Z	ed-d„¦   «         Z		 d+d.ˆ fd„Z	d/d„Z
d0d„Zd1d„Zed2d„¦   «         Zed3d„¦   «         Zed4d„¦   «         Zed5d„¦   «         Zd6d„Z	 d+d7d"„Zd8d$„Zed9d'„¦   «         Zed:d*„¦   «         Zˆ xZS );r    aÞ  Ordered mapping of column names to their data type.

    Note:
        The pandas-like and dask backends allow non-string column names
        (e.g. integers or booleans). While discouraged, this is supported,
        so we cannot guarantee that the keys are strictly strings.

        See [concepts - column names](../concepts/column_names.md) for details.

    Arguments:
        schema: The schema definition given by column names and their associated
            Narwhals data type. Accepts a mapping or an iterable of tuples.
            Data types that take no required arguments may also be passed
            uninstantiated, e.g. `nw.Int8` instead of `nw.Int8()`; they are
            instantiated on construction.

    Examples:
        >>> import narwhals as nw
        >>> schema = nw.Schema({"foo": nw.Int8(), "bar": nw.String})
        >>> schema
        Schema({'foo': Int8, 'bar': String})

        Access the data type associated with a specific column name.

        >>> schema["foo"]
        Int8

        Access various schema properties using the `names`, `dtypes`, and `len` methods.

        >>> schema.names()
        ['foo', 'bar']
        >>> schema.dtypes()
        [Int8, String]
        >>> schema.len()
        2
    zClassVar[Version]Ú_versionNÚschemaúMapping[str, IntoDType] | Noner"   ÚNonec                ó   — d S r%   © ©Úselfr-   s     r(   Ú__init__zSchema.__init__^   s   € ØORÈsr*   úIterable[tuple[str, IntoDType]]c                ó   — d S r%   r1   r2   s     r(   r4   zSchema.__init__`   s   € ØILÈr*   ú@Mapping[str, IntoDType] | Iterable[tuple[str, IntoDType]] | Nonec                óì   •— |€"t          ¦   «                              ¦   «          d S t          ¦   «                              d„ t          |¦  «        r|                     ¦   «         n|D ¦   «         ¦  «         d S )Nc              3  ób   K  — | ]*\  }}|t          |t          ¦  «        r|n	 |¦   «         fV — Œ+d S r%   )r&   r   )Ú.0ÚnameÚdtypes      r(   ú	<genexpr>z"Schema.__init__.<locals>.<genexpr>i   sX   è è € ð ð á�D˜%ð ¥
¨5µ%Ñ 8Ô 8ÐE�u�u¸e¸e¹g¼gÐFðð ð ð ð ð r*   )Úsuperr4   r)   Úitems)r3   r-   Ú	__class__s     €r(   r4   zSchema.__init__b   s‚   ø€ ð ˆ>Ý‰GŒG×ÒÑÔÐÐÐå‰GŒG×Òð ð å6EÀfÑ6MÔ6MÐ$Y F§L¢L¡N¤N NÐSYðñ ô ñ ô ð ð ð r*   ú	list[str]c                óD   — t          |                      ¦   «         ¦  «        S )ao  Get the column names of the schema.

        Note:
            The pandas-like and dask backends allow non-string column names
            (e.g. integers or booleans). While discouraged, this is supported,
            so the return type is not guaranteed to be `list[str]`.

            See [concepts - column names](../concepts/column_names.md) for details.
        )ÚlistÚkeys©r3   s    r(   ÚnameszSchema.namesn   s   € õ �D—I’I‘K”KÑ Ô Ð r*   úlist[DType]c                óD   — t          |                      ¦   «         ¦  «        S )z!Get the data types of the schema.)rC   ÚvaluesrE   s    r(   ÚdtypeszSchema.dtypesz   s   € å�D—K’K‘M”MÑ"Ô"Ð"r*   Úintc                ó    — t          | ¦  «        S )z(Get the number of columns in the schema.)ÚlenrE   s    r(   rM   z
Schema.len~   s   € å�4‰yŒyÐr*   r   r   c               ó¬   ‡ ‡— t          |t          ¦  «        r |s
 ‰ ¦   «         S ddl} |j        |¦  «        }ddlmŠ  ‰ ˆ ˆfd„|D ¦   «         ¦  «        S )a  Construct a Schema from a pyarrow Schema.

        Arguments:
            schema: A pyarrow Schema or mapping of column names to pyarrow data types.

        Examples:
            >>> import pyarrow as pa
            >>> import narwhals as nw
            >>>
            >>> mapping = {
            ...     "a": pa.timestamp("us", "UTC"),
            ...     "b": pa.date32(),
            ...     "c": pa.string(),
            ...     "d": pa.uint8(),
            ... }
            >>> native = pa.schema(mapping)
            >>>
            >>> nw.Schema.from_arrow(native)
            Schema({'a': Datetime(time_unit='us', time_zone='UTC'), 'b': Date, 'c': String, 'd': UInt8})

            >>> nw.Schema.from_arrow(mapping) == nw.Schema.from_arrow(native)
            True
        r   N©Únative_to_narwhals_dtypec              3  óR   •K  — | ]!}|j          ‰|j        ‰j        ¦  «        fV — Œ"d S r%   )r;   Útyper,   )r:   ÚfieldÚclsrP   s     €€r(   r=   z$Schema.from_arrow.<locals>.<genexpr>£   sP   øè è € ð 
ð 
àð ŒZÐ1Ð1°%´*¸c¼lÑKÔKÐLð
ð 
ð 
ð 
ð 
ð 
r*   )r&   r   Úpyarrowr-   Únarwhals._arrow.utilsrP   )rT   r-   ÚparP   s   `  @r(   Ú
from_arrowzSchema.from_arrow‚   s™   øø€ õ2 �f�gÑ&Ô&ð 	'Øð Ø�s‘u”u�Ø Ð Ð Ð à�R”Y˜vÑ&Ô&ˆFØBÐBÐBÐBÐBÐBàˆsð 
ð 
ð 
ð 
ð 
àð
ñ 
ô 
ñ 
ô 
ð 	
r*   r   c               óè   — |s
 | ¦   «         S t          ¦   «         r7t          d„ |                     ¦   «         D ¦   «         ¦  «        rt          j        nt          j        }|                      ||¦  «        S )a3  Construct a Schema from a pandas-like schema representation.

        Arguments:
            schema: A mapping of column names to pandas-like data types.

        Examples:
            >>> import numpy as np
            >>> import pandas as pd
            >>> import pyarrow as pa
            >>> import narwhals as nw
            >>>
            >>> data = {"a": [1], "b": ["a"], "c": [False], "d": [9.2]}
            >>> native = pd.DataFrame(data).convert_dtypes().dtypes.to_dict()
            >>>
            >>> nw.Schema.from_pandas_like(native)
            Schema({'a': Int64, 'b': String, 'c': Boolean, 'd': Float64})
            >>>
            >>> mapping = {
            ...     "a": pd.DatetimeTZDtype("us", "UTC"),
            ...     "b": pd.ArrowDtype(pa.date32()),
            ...     "c": pd.StringDtype("python"),
            ...     "d": np.dtype("uint8"),
            ... }
            >>>
            >>> nw.Schema.from_pandas_like(mapping)
            Schema({'a': Datetime(time_unit='us', time_zone='UTC'), 'b': Date, 'c': String, 'd': UInt8})
        c              3  ó4   K  — | ]}t          |¦  «        V — Œd S r%   )r   )r:   r<   s     r(   r=   z*Schema.from_pandas_like.<locals>.<genexpr>É   s*   è è € Ð!TÐ!T¸5¥-°Ñ"6Ô"6Ð!TÐ!TÐ!TÐ!TÐ!TÐ!Tr*   )r   ÚanyrI   r
   ÚCUDFÚPANDASÚ_from_pandas_like)rT   r-   Úimpls      r(   Úfrom_pandas_likezSchema.from_pandas_like¨   sw   € ð: ð 	Ø�3‘5”5ˆLõ ‰zŒzð'Ý!Ð!TÐ!TÀFÇMÂMÁOÄOÐ!TÑ!TÔ!TÑTÔTð'�NÔÐåÔ&ð 	ð
 ×$Ò$ V¨TÑ2Ô2Ð2r*   ú5IntoArrowSchema | IntoPolarsSchema | IntoPandasSchemac               óF  — t          |¦  «        r|                      |¦  «        S t          |¦  «        r|                      |¦  «        S t	          |t
          ¦  «        r!|r|                      |¦  «        n	 | ¦   «         S dt          |¦  «        ›d|›�}t          |¦  «        ‚)ao  Construct a Schema from a native schema representation.

        Arguments:
            schema: A native schema object, or mapping of column names to
                *instantiated* native data types.

        Examples:
            >>> import datetime as dt
            >>> import pyarrow as pa
            >>> import narwhals as nw
            >>>
            >>> data = {"a": [1], "b": ["a"], "c": [dt.time(1, 2, 3)], "d": [[2]]}
            >>> native = pa.table(data).schema
            >>>
            >>> nw.Schema.from_native(native)
            Schema({'a': Int64, 'b': String, 'c': Time, 'd': List(Int64)})
        z5Expected an arrow, polars, or pandas schema, but got z

)	r   rX   r   Úfrom_polarsr&   r   Ú_from_native_mappingr   Ú	TypeError)rT   r-   Úmsgs      r(   Úfrom_nativezSchema.from_nativeÎ   s¹   € õ* ˜VÑ$Ô$ð 	*Ø—>’> &Ñ)Ô)Ð)Ý˜FÑ#Ô#ð 	+Ø—?’? 6Ñ*Ô*Ð*Ý�f�gÑ&Ô&ð 	IØ7=ÐH�3×+Ò+¨FÑ3Ô3Ð3À3À3Á5Ä5ÐHð=Ý" 6Ñ*Ô*ð=ð =Ø28ð=ð =ð 	õ ˜‰nŒnÐr*   r   c               ó~   ‡ ‡— |s
 ‰ ¦   «         S ddl mŠ  ‰ ˆ ˆfd„|                     ¦   «         D ¦   «         ¦  «        S )a/  Construct a Schema from a polars Schema.

        Arguments:
            schema: A polars Schema or mapping of column names to *instantiated*
                polars data types.

        Examples:
            >>> import polars as pl
            >>> import narwhals as nw
            >>>
            >>> mapping = {
            ...     "a": pl.Datetime(time_zone="UTC"),
            ...     "b": pl.Date(),
            ...     "c": pl.String(),
            ...     "d": pl.UInt8(),
            ... }
            >>> native = pl.Schema(mapping)
            >>>
            >>> nw.Schema.from_polars(native)
            Schema({'a': Datetime(time_unit='us', time_zone='UTC'), 'b': Date, 'c': String, 'd': UInt8})

            >>> nw.Schema.from_polars(mapping) == nw.Schema.from_polars(native)
            True
        r   rO   c              3  óD   •K  — | ]\  }}| ‰|‰j         ¦  «        fV — Œd S r%   ©r,   )r:   r;   r<   rT   rP   s      €€r(   r=   z%Schema.from_polars.<locals>.<genexpr>  sP   øè è € ð 
ð 
á��eð Ð+Ð+¨E°3´<Ñ@Ô@ÐAð
ð 
ð 
ð 
ð 
ð 
r*   )Únarwhals._polars.utilsrP   r?   )rT   r-   rP   s   ` @r(   rc   zSchema.from_polarsï   sr   øø€ ð4 ð 	Ø�3‘5”5ˆLØCÐCÐCÐCÐCÐCàˆsð 
ð 
ð 
ð 
ð 
à%Ÿ|š|™~œ~ð
ñ 
ô 
ñ 
ô 
ð 	
r*   ú	pa.Schemac                óx   ‡ ‡— ddl }ddlmŠ  |j        ˆˆ fd„‰                      ¦   «         D ¦   «         ¦  «        S )a  Convert Schema to a pyarrow Schema.

        Examples:
            >>> import narwhals as nw
            >>> schema = nw.Schema({"a": nw.Int64(), "b": nw.Datetime("ns")})
            >>> schema.to_arrow()
            a: int64
            b: timestamp[ns]
        r   N©Únarwhals_to_native_dtypec              3  óD   •K  — | ]\  }}| ‰|‰j         ¦  «        fV — Œd S r%   rj   ©r:   r;   r<   ro   r3   s      €€r(   r=   z"Schema.to_arrow.<locals>.<genexpr>   sP   øè è € ð 
ð 
á��eð Ð+Ð+¨E°4´=ÑAÔAÐBð
ð 
ð 
ð 
ð 
ð 
r*   )rU   rV   ro   r-   r?   )r3   rW   ro   s   ` @r(   Úto_arrowzSchema.to_arrow  sm   øø€ ð 	ÐÐÐàBÐBÐBÐBÐBÐBàˆrŒyð 
ð 
ð 
ð 
ð 
à#Ÿzšz™|œ|ð
ñ 
ô 
ñ 
ô 
ð 	
r*   Údtype_backendú%DTypeBackend | Iterable[DTypeBackend]údict[str, Any]c                óÄ  ‡‡— ddl m} t          |t          j        | j        ¬¦  «        Š‰�t          ‰t          ¦  «        r!ˆˆfd„|                      ¦   «         D ¦   «         S t          ‰¦  «        }t          |¦  «        t          | ¦  «        k    rŽddlm}m}m} t          |¦  «        t          | ¦  «        }}t           ||                      | ||¦  «        |¦  «        ¦  «        |¦  «        ¦  «        }	d|›d|›d	|› d
|d         › d|	› d�}
t!          |
¦  «        ‚ˆfd„t#          |                      ¦   «         |                      ¦   «         |d¬¦  «        D ¦   «         S )am  Convert Schema to an ordered mapping of column names to their pandas data type.

        Arguments:
            dtype_backend: Backend(s) used for the native types. When providing more than
                one, the length of the iterable must be equal to the length of the schema.

        Examples:
            >>> import narwhals as nw
            >>> schema = nw.Schema({"a": nw.Int64(), "b": nw.Datetime("ns")})
            >>> schema.to_pandas()
            {'a': 'int64', 'b': 'datetime64[ns]'}

            >>> schema.to_pandas("pyarrow")
            {'a': 'Int64[pyarrow]', 'b': 'timestamp[ns][pyarrow]'}
        r   rn   )ÚimplementationÚversionNc                ó2   •— i | ]\  }}| ‰|‰¬ ¦  «        “ŒS ©)r<   rs   r1   )r:   r;   r<   rs   Úto_native_dtypes      €€r(   ú
<dictcomp>z$Schema.to_pandas.<locals>.<dictcomp>?  s>   ø€ ð ð ð á�D˜%ð �o�o¨EÀÐOÑOÔOðð ð r*   )ÚchainÚisliceÚrepeatz	Provided z) `dtype_backend`(s), but schema contains z1 field(s).
Hint: instead of
    schema.to_pandas(z+)
you may want to use
    schema.to_pandas(z)
or
    schema.to_pandas(ú)c                ó4   •— i | ]\  }}}| ‰||¬ ¦  «        “ŒS rz   r1   )r:   r;   r<   Úbackendr{   s       €r(   r|   z$Schema.to_pandas.<locals>.<dictcomp>U  s@   ø€ ð 
ð 
ð 
á$��e˜Wð �/�/¨¸WÐEÑEÔEð
ð 
ð 
r*   T)Ústrict)Únarwhals._pandas_like.utilsro   r   r
   r]   r,   r&   Ústrr?   ÚtuplerM   Ú	itertoolsr}   r~   r   Úfrom_iterableÚ
ValueErrorÚziprD   rI   )r3   rs   ro   Úbackendsr}   r~   r   Ún_userÚn_actualÚ
suggestionrf   r{   s    `         @r(   Ú	to_pandaszSchema.to_pandas%  sÝ  øø€ ð$ 	IÐHÐHÐHÐHÐHå!Ø$Ý)Ô0Ø”Mð
ñ 
ô 
ˆð
 Ð ¥J¨}½cÑ$BÔ$BÐ ðð ð ð ð à#'§:¢:¡<¤<ðñ ô ð õ ˜Ñ'Ô'ˆÝˆx‰=Œ=�C ™IœIÒ%Ð%Ø7Ð7Ð7Ð7Ð7Ð7Ð7Ð7Ð7Ð7å" 8™}œ}­c°$©i¬i�HˆFÝØ��u×*Ò*¨6¨6°&°&¸Ñ2BÔ2BÀHÑ+MÔ+MÑNÔNÐPXÑYÔYñô ˆJð6˜Fð 6ð 6Èxð 6ð 6à(0ð6ð 6ð )1°¬ð	6ð 6ð )3ð6ð 6ð 6ð õ ˜S‘/”/Ð!ð
ð 
ð 
ð 
å(+Ø—	’	‘”˜TŸ[š[™]œ]¨H¸Tð)ñ )ô )ð
ñ 
ô 
ð 	
r*   ú	pl.Schemac                óþ   ‡ ‡— ddl }ddlmŠ t          j                             ¦   «         }ˆˆ fd„‰                      ¦   «         D ¦   «         }|dk    r |j        |¦  «        nt          dt          |¦  «        ¦  «        S )a%  Convert Schema to a polars Schema.

        Examples:
            >>> import narwhals as nw
            >>> schema = nw.Schema({"a": nw.Int64(), "b": nw.Datetime("ns")})
            >>> schema.to_polars()
            Schema({'a': Int64, 'b': Datetime(time_unit='ns', time_zone=None)})
        r   Nrn   c              3  óD   •K  — | ]\  }}| ‰|‰j         ¦  «        fV — Œd S r%   rj   rq   s      €€r(   r=   z#Schema.to_polars.<locals>.<genexpr>j  sP   øè è € ð 
ð 
á��eð Ð+Ð+¨E°4´=ÑAÔAÐBð
ð 
ð 
ð 
ð 
ð 
r*   )é   r   r   r�   )
Úpolarsrk   ro   r
   ÚPOLARSÚ_backend_versionr?   r    r   r'   )r3   ÚplÚ
pl_versionr-   ro   s   `   @r(   Ú	to_polarszSchema.to_polars\  s¦   øø€ ð 	ÐÐÐàCÐCÐCÐCÐCÐCå#Ô*×;Ò;Ñ=Ô=ˆ
ð
ð 
ð 
ð 
ð 
à#Ÿzšz™|œ|ð
ñ 
ô 
ˆð ˜YÒ&Ð&ð ˆBŒI�fÑÔÐå�k¥4¨¡<¤<Ñ0Ô0ð	
r*   ÚnativeúHMapping[str, pa.DataType] | Mapping[str, pl.DataType] | IntoPandasSchemac               óâ  — t          t          |                     ¦   «         ¦  «        ¦  «        }|\  }}t          |¦  «        r#|                      t          d|¦  «        ¦  «        S t          |¦  «        r#|                      t          d|¦  «        ¦  «        S t          |¦  «        r#|  	                    t          d|¦  «        ¦  «        S d|› dt          |¦  «        › d|›�}t          |¦  «        ‚)Nr   r   r   z7Expected an arrow, polars, or pandas dtype, but found `z: z`

)ÚnextÚiterr?   r   rc   r   r   r`   r   rX   r   re   )rT   rš   Ú
first_itemÚ	first_keyÚfirst_dtyperf   s         r(   rd   zSchema._from_native_mappingt  s  € õ �$˜vŸ|š|™~œ~Ñ.Ô.Ñ/Ô/ˆ
Ø!+Ñˆ	�;Ý˜{Ñ+Ô+ð 	EØ—?’?¥4Ð(:¸FÑ#CÔ#CÑDÔDÐDÝ Ñ,Ô,ð 	JØ×'Ò'­Ð-?ÀÑ(HÔ(HÑIÔIÐIÝ Ñ,Ô,ð 	CØ—>’>¥$Ð'8¸&Ñ"AÔ"AÑBÔBÐBðOØðOð OÝ0°Ñ=Ô=ðOð OØDJðOð Oð 	õ ˜‰nŒnÐr*   rw   r
   c               ón   ‡ ‡‡— ddl mŠ |Š ‰ ˆ ˆˆfd„|                     ¦   «         D ¦   «         ¦  «        S )Nr   rO   c              3  óJ   •K  — | ]\  }}| ‰|‰j         ‰d ¬¦  «        fV — ŒdS )T)Úallow_objectNrj   )r:   r;   r<   rT   r_   rP   s      €€€r(   r=   z+Schema._from_pandas_like.<locals>.<genexpr>�  sX   øè è € ð 
ð 
á��eð Ð+Ð+¨E°3´<ÀÐTXÐYÑYÔYÐZð
ð 
ð 
ð 
ð 
ð 
r*   )r„   rP   r?   )rT   r-   rw   r_   rP   s   `  @@r(   r^   zSchema._from_pandas_likeˆ  sk   øøø€ ð 	IÐHÐHÐHÐHÐHàˆØˆsð 
ð 
ð 
ð 
ð 
ð 
à%Ÿ|š|™~œ~ð
ñ 
ô 
ñ 
ô 
ð 	
r*   r%   )r-   r.   r"   r/   )r-   r5   r"   r/   )r-   r7   r"   r/   )r"   rA   )r"   rG   )r"   rK   )r-   r   r"   r   )r-   r   r"   r   )r-   ra   r"   r   )r-   r   r"   r   )r"   rl   )rs   rt   r"   ru   )r"   r�   )rš   r›   r"   r   )r-   r   rw   r
   r"   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   ÚMAINr,   Ú__annotations__r	   r4   rF   rJ   rM   ÚclassmethodrX   r`   rg   rc   rr   r�   r™   rd   r^   Ú__classcell__)r@   s   @r(   r    r    6   sã  ø€ € € € € € ð#ð #ðJ #*¤,€HÐ.Ð.Ð.Ñ.àØRÐRÐRÐRñ „XØRØØLÐLÐLñ „XØLð TXð
ð 
ð 
ð 
ð 
ð 
ð 
ð
!ð 
!ð 
!ð 
!ð#ð #ð #ð #ðð ð ð ð ð#
ð #
ð #
ñ „[ð#
ðJ ð#3ð #3ð #3ñ „[ð#3ðJ ðð ð ñ „[ðð@ ð 
ð  
ð  
ñ „[ð 
ðD
ð 
ð 
ð 
ð( FJð5
ð 5
ð 5
ð 5
ð 5
ðn
ð 
ð 
ð 
ð0 ðð ð ñ „[ðð& ð	
ð 	
ð 	
ñ „[ð	
ð 	
ð 	
ð 	
ð 	
r*   r   )r!   r   r"   r#   )1r¨   Ú
__future__r   Úcollectionsr   Úcollections.abcr   Ú	functoolsr   Útypingr   r   r	   Únarwhals._utilsr
   r   r   Únarwhals.dependenciesr   r   r   r   r   r   r   Únarwhals.dtypesr   r   r   r   r”   r—   rU   rW   Ú	_typeshedr   Útyping_extensionsr   r   Únarwhals.typingr   r   r   r   r   Ú__all__r)   r…   r    r1   r*   r(   ú<module>r¹      s!  ððð ð #Ð "Ð "Ð "Ð "Ð "à #Ð #Ð #Ð #Ð #Ð #Ø #Ð #Ð #Ð #Ð #Ð #Ø Ð Ð Ð Ð Ð Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0à HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ Hðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð "Ð !Ð !Ð !Ð !Ð !àð Ø(Ð(Ð(Ð(Ð(Ð(Ø$Ð$Ð$Ð$Ð$Ð$Ð$Ð$àÐÐÐØÐÐÐØ'Ð'Ð'Ð'Ð'Ð'Ø.Ð.Ð.Ð.Ð.Ð.Ð.Ð.ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ˆ*€ð,ð ,ð ,ð ,ð\
ð \
ð \
ð \
ð \
ˆ[˜˜g˜Ô&ñ \
ô \
ð \
ð \
ð \
r*   