§
    Ð! hHb  ã                  óî  — d Z ddlmZ ddlZddlmZmZ ddlmZ ddl	Z	ddl
mZmZmZ ddlZddlmZ ddlmc mZ ddlmZmZmZmZmZmZ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, d6d„Z-d6d„Z.d6d„Z/d„ Z0d„ Z1 e1e/e.e-e'¦  «        fd7d„Z2d„ Z3 e3e4¦  «        Z5 e3e6¦  «        Z7 e8d„ d„  e9e¦  «        D ¦   «         D ¦   «         ¦  «        Z:e:fd„Z; e8d„ e:D ¦   «         ¦  «        Z< e;ej=        ¦  «        Z> e;ej?        ¦  «        Z@ e;ejA        ¦  «        ZB e;ejC        ¦  «        ZD e;ejE        ¦  «        ZF e;ejG        ¦  «        ZH e;ejI        ¦  «        ZJ e;ejK        ¦  «        ZL e;ejM        ¦  «        ZN e;ejO        ¦  «        ZP e;ejQ        ¦  «        ZR e;ej        ¦  «        ZS e;ejT        ¦  «        ZU e8g d¢¦  «        ZV e8g d¢¦  «        ZWe@e>z  ePz  eRz  eSz  eUz  eDz  eWz  eVz
  ZXe<eXz
  eVz  ZYeXeYz  ZZdeZ› �Z[eZr
J e[¦   «         ‚d8d!„Z\ ed"¦  «        Z]d9d&„Z^d'„ Z_ee$d(œZ`d)„ Za e^eX¦  «         eae`¦  «         G d*„ d+ejb        ¦  «        ¦   «         ¦   «         Zc e8g d,¢¦  «        Zd e8eez   ¦  «        Ze e^eXedz  eF e8g d-¢¦  «        z  z
  ¦  «         G d.„ d/ec¦  «        ¦   «         Zf e^eXedz   e8d0g¦  «        z  ¦  «         G d1„ d2ec¦  «        ¦   «         Zg G d3„ d4¦  «        Zhegefd5œZidS ):z
:func:`~pandas.eval` parsers.
é    )ÚannotationsN)ÚpartialÚreduce©Ú	iskeyword)ÚCallableÚClassVarÚTypeVar)ÚUndefinedVariableError)ÚARITH_OPS_SYMSÚBOOL_OPS_SYMSÚCMP_OPS_SYMSÚ	LOCAL_TAGÚMATHOPSÚ
REDUCTIONSÚUNARY_OPS_SYMSÚBinOpÚConstantÚDivÚFuncNodeÚOpÚTermÚUnaryOpÚis_term)Úclean_backtick_quoted_toksÚtokenize_string)ÚScope)ÚprintingÚtokútuple[int, str]Úreturnc                ó$   — | \  }}||dk    rdn|fS )a`  
    Rewrite the assignment operator for PyTables expressions that use ``=``
    as a substitute for ``==``.

    Parameters
    ----------
    tok : tuple of int, str
        ints correspond to the all caps constants in the tokenize module

    Returns
    -------
    tuple of int, str
        Either the input or token or the replacement values
    ú=ú==© ©r   ÚtoknumÚtokvals      úVc:\xampp_lite_8_4\www\timesheet\venv\Lib\site-packages\pandas/core/computation/expr.pyÚ_rewrite_assignr*   2   s$   € ð �N€FˆFØ˜6 Sš=˜=�4�4¨fÐ4Ð4ó    c                óŒ   — | \  }}|t           j        k    r,|dk    rt           j        dfS |dk    rt           j        dfS ||fS ||fS )aj  
    Replace ``&`` with ``and`` and ``|`` with ``or`` so that bitwise
    precedence is changed to boolean precedence.

    Parameters
    ----------
    tok : tuple of int, str
        ints correspond to the all caps constants in the tokenize module

    Returns
    -------
    tuple of int, str
        Either the input or token or the replacement values
    ú&Úandú|Úor)ÚtokenizeÚOPÚNAMEr&   s      r)   Ú_replace_booleansr4   E   sZ   € ð �N€FˆFØ•”ÒÐØ�SŠ=ˆ=Ý”= %Ð'Ð'Ø�sŠ]ˆ]Ý”= $Ð&Ð&Ø�vˆ~ÐØ�6ˆ>Ðr+   c                óf   — | \  }}|t           j        k    r|dk    rt           j        t          fS ||fS )a(  
    Replace local variables with a syntactically valid name.

    Parameters
    ----------
    tok : tuple of int, str
        ints correspond to the all caps constants in the tokenize module

    Returns
    -------
    tuple of int, str
        Either the input or token or the replacement values

    Notes
    -----
    This is somewhat of a hack in that we rewrite a string such as ``'@a'`` as
    ``'__pd_eval_local_a'`` by telling the tokenizer that ``__pd_eval_local_``
    is a ``tokenize.OP`` and to replace the ``'@'`` symbol with it.
    ú@)r1   r2   r   r&   s      r)   Ú_replace_localsr7   ^   s9   € ð( �N€FˆFØ•”ÒÐ ¨3¢ ÝŒ{�IÐ%Ð%Ø�6ˆ>Ðr+   c                ó   ‡ ‡— ˆ ˆfd„S )z
    Compose 2 callables.
    c                 ó&   •—  ‰ ‰| i |¤Ž¦  «        S ©Nr%   )ÚargsÚkwargsÚfÚgs     €€r)   ú<lambda>z_compose2.<locals>.<lambda>|   s    ø€  1 1 Q Q¨Ð%7°Ð%7Ð%7Ñ#8Ô#8€ r+   r%   )r=   r>   s   ``r)   Ú	_compose2r@   x   s   øø€ ð 9Ð8Ð8Ð8Ð8Ð8r+   c                 óf   — t          | ¦  «        dk    s
J d¦   «         ‚t          t          | ¦  «        S )z&
    Compose 2 or more callables.
    é   z.At least 2 callables must be passed to compose)Úlenr   r@   )Úfuncss    r)   Ú_composerE      s.   € õ ˆu‰:Œ:˜Š>ˆ>ˆ>ÐK‰>Œ>ˆ>Ý•)˜UÑ#Ô#Ð#r+   ÚsourceÚstrc                ó�   ‡— t          ‰¦  «        s
J d¦   «         ‚t          j        ˆfd„t          | ¦  «        D ¦   «         ¦  «        S )aÒ  
    Compose a collection of tokenization functions.

    Parameters
    ----------
    source : str
        A Python source code string
    f : callable
        This takes a tuple of (toknum, tokval) as its argument and returns a
        tuple with the same structure but possibly different elements. Defaults
        to the composition of ``_rewrite_assign``, ``_replace_booleans``, and
        ``_replace_locals``.

    Returns
    -------
    str
        Valid Python source code

    Notes
    -----
    The `f` parameter can be any callable that takes *and* returns input of the
    form ``(toknum, tokval)``, where ``toknum`` is one of the constants from
    the ``tokenize`` module and ``tokval`` is a string.
    zf must be callablec              3  ó.   •K  — | ]} ‰|¦  «        V — Œd S r:   r%   )Ú.0Úxr=   s     €r)   ú	<genexpr>z_preparse.<locals>.<genexpr>¦   s+   øè è € ÐEÐE¨˜q˜q ™tœtÐEÐEÐEÐEÐEÐEr+   )Úcallabler1   Ú
untokenizer   ©rF   r=   s    `r)   Ú	_preparserP   ‡   sM   ø€ õ< �A‰;Œ;Ð,Ð,Ð,Ñ,Ô,ˆ;ÝÔÐEÐEÐEÐE­_¸VÑ-DÔ-DÐEÑEÔEÑEÔEÐEr+   c                ó   ‡ — ˆ fd„S )zO
    Factory for a type checking function of type ``t`` or tuple of types.
    c                ó.   •— t          | j        ‰¦  «        S r:   )Ú
isinstanceÚvalue)rK   Úts    €r)   r?   z_is_type.<locals>.<lambda>­   s   ø€ •Z ¤¨Ñ+Ô+€ r+   r%   )rU   s   `r)   Ú_is_typerV   ©   s   ø€ ð ,Ð+Ð+Ð+Ð+r+   c              #  óx   K  — | ]5}t          |t          ¦  «        ¯t          |t          j        ¦  «        ¯1|V — Œ6d S r:   )rS   ÚtypeÚ
issubclassÚastÚAST)rJ   Únodes     r)   rL   rL   µ   s\   è è € ð ð àÝ�$�ÑÔðõ #-¨Tµ3´7Ñ";Ô";ðØðð ð ð ð ð r+   c              #  ó@   K  — | ]}t          t          |¦  «        V — Œd S r:   )ÚgetattrrZ   )rJ   Únames     r)   rL   rL   ·   s,   è è € Ð9Ð9¨•�˜dÑ#Ô#Ð9Ð9Ð9Ð9Ð9Ð9r+   c                ó>   ‡ — ˆ fd„|D ¦   «         }t          |¦  «        S )zE
    Filter out AST nodes that are subclasses of ``superclass``.
    c              3  óF   •K  — | ]}t          |‰¦  «        ¯|j        V — Œd S r:   )rY   Ú__name__)rJ   r\   Ú
superclasss     €r)   rL   z _filter_nodes.<locals>.<genexpr>À   s4   øè è € ÐVÐV D½ÀDÈ*Ñ9UÔ9UÐV�$”-ÐVÐVÐVÐVÐVÐVr+   )Ú	frozenset)rc   Ú	all_nodesÚ
node_namess   `  r)   Ú_filter_nodesrg   ¼   s-   ø€ ð WÐVÐVÐV¨IÐVÑVÔV€JÝ�ZÑ Ô Ð r+   c              #  ó$   K  — | ]}|j         V — Œd S r:   )rb   ©rJ   rK   s     r)   rL   rL   Ä   s$   è è € Ð;Ð;¨1˜AœJÐ;Ð;Ð;Ð;Ð;Ð;r+   )ÚAssignÚModuleÚExpr)ÚYieldÚGeneratorExpÚIfExpÚDictCompÚSetCompÚReprÚLambdaÚSetr[   ÚIsÚIsNotz$cannot both support and not support Ú	node_nameúCallable[..., None]c                ó   ‡ — ˆ fd„}|S )zV
    Return a function that raises a NotImplementedError with a passed node name.
    c                ó*   •— t          d‰› d�¦  «        ‚)Nú'z' nodes are not implemented)ÚNotImplementedError)Úselfr;   r<   rw   s      €r)   r=   z _node_not_implemented.<locals>.f  s   ø€ Ý!Ð"L iÐ"LÐ"LÐ"LÑMÔMÐMr+   r%   )rw   r=   s   ` r)   Ú_node_not_implementedr~   ý   s(   ø€ ð
Nð Nð Nð Nð Nð €Hr+   Ú_TÚnodesúset[str]úCallable[[type[_T]], type[_T]]c                ó   ‡ — dˆ fd„}|S )z‹
    Decorator to disallow certain nodes from parsing. Raises a
    NotImplementedError instead.

    Returns
    -------
    callable
    Úclsútype[_T]r!   c                óŒ   •— d| _         ‰D ]8}t          |¦  «        }d|› �}| xj         |fz  c_         t          | ||¦  «         Œ9| S )Nr%   Úvisit_)Úunsupported_nodesr~   Úsetattr)r„   r\   Ú
new_methodr_   r€   s       €r)   Ú
disallowedzdisallow.<locals>.disallowed  sb   ø€ à "ˆÔØð 	+ð 	+ˆDÝ.¨tÑ4Ô4ˆJØ"˜D�?�?ˆDàÐ!Ô! d WÑ,Ð!Ô!Ý�C˜˜zÑ*Ô*Ð*Ð*Øˆ
r+   )r„   r…   r!   r…   r%   )r€   r‹   s   ` r)   ÚdisallowrŒ     s)   ø€ ð	ð 	ð 	ð 	ð 	ð 	ð Ðr+   c                ó   ‡ ‡— ˆ ˆfd„}|S )zw
    Return a function to create an op class with its symbol already passed.

    Returns
    -------
    callable
    c                ó&   •— t          ‰‰g|¢R i |¤ŽS )z’
        Return a partial function with an Op subclass with an operator already passed.

        Returns
        -------
        callable
        )r   )r}   r\   r;   r<   Úop_classÚ	op_symbols       €€r)   r=   z_op_maker.<locals>.f/  s%   ø€ õ �x Ð<¨TÐ<Ð<Ð<°VÐ<Ð<Ð<r+   r%   )r�   r�   r=   s   `` r)   Ú	_op_makerr‘   &  s)   øø€ ð=ð =ð =ð =ð =ð =ð €Hr+   )ÚbinaryÚunaryc                ó   ‡ — ˆ fd„}|S )z9
    Decorator to add default implementation of ops.
    c                óî   •— ‰                      ¦   «         D ]^\  }}t          | |› d�¦  «        }t          | |› d�¦  «        }|D ]0}||         }|�$t          ||¦  «        }t          | d|› �|¦  «         Œ1Œ_| S )NÚ_opsÚ_op_nodes_mapr‡   )Úitemsr^   r‘   r‰   )	r„   Úop_attr_namer�   ÚopsÚops_mapÚopÚop_nodeÚmade_opÚ
op_classess	           €r)   r=   zadd_ops.<locals>.fD  s¨   ø€ Ø&0×&6Ò&6Ñ&8Ô&8ð 	>ð 	>Ñ"ˆL˜(Ý˜# ,Ð4Ð4Ð4Ñ5Ô5ˆCÝ˜c lÐ#AÐ#AÐ#AÑBÔBˆGØð >ð >�Ø! "œ+�ØÐ&Ý'¨°"Ñ5Ô5�GÝ˜CÐ!3¨'Ð!3Ð!3°WÑ=Ô=Ð=øð	>ð
 ˆ
r+   r%   )rŸ   r=   s   ` r)   Úadd_opsr    ?  s#   ø€ ð
	ð 	ð 	ð 	ð 	ð €Hr+   c                  óÚ  — e Zd ZU dZeZded<   eZded<   e	e
z   ez   ZdZ e eee¦  «        ¦  «        ZeZdZ e eee¦  «        ¦  «        Zej        ej        ej        ej        ej        ej        ej        ej        iZded<   efd,d„Zd„ Zd„ Zd„ Zd„ Z d-d„Z!d„ Z"d„ Z#	 	 d.d„Z$d„ Z%d„ Z&d„ Z'd/d„Z(d/d„Z)d/d„Z*d/d„Z+d/d„Z,d/d „Z-e-Z.d!„ Z/d/d"„Z0d0d$„Z1d%„ Z2d&„ Z3d1d'„Z4d(„ Z5d)„ Z6d*„ Z7d+„ Z8dS )2ÚBaseExprVisitorzÌ
    Custom ast walker. Parsers of other engines should subclass this class
    if necessary.

    Parameters
    ----------
    env : Scope
    engine : str
    parser : str
    preparser : callable
    zClassVar[type[Term]]Ú
const_typeÚ	term_type)ÚGtÚLtÚGtEÚLtEÚEqÚNotEqÚInÚNotInÚBitAndÚBitOrÚAndÚOrÚAddÚSubÚMultNÚPowÚFloorDivÚMod)ÚUAddÚUSubÚInvertÚNotztuple[str, ...]rˆ   r!   ÚNonec                óL   — || _         || _        || _        || _        d | _        d S r:   )ÚenvÚengineÚparserÚ	preparserÚassigner)r}   r½   r¾   r¿   rÀ   s        r)   Ú__init__zBaseExprVisitor.__init__‰  s)   € ØˆŒØˆŒØˆŒØ"ˆŒØˆŒˆˆr+   c                ó’  — t          |t          ¦  «        rƒ|                      |¦  «        }	 t          j        t          j        |¦  «        ¦  «        }nF# t          $ r9}t          d„ |                     ¦   «         D ¦   «         ¦  «        rd|_	        |‚d }~ww xY wdt          |¦  «        j        › �}t          | |¦  «        } ||fi |¤ŽS )Nc              3  ó4   K  — | ]}t          |¦  «        V — Œd S r:   r   ri   s     r)   rL   z(BaseExprVisitor.visit.<locals>.<genexpr>–  s(   è è € Ð;Ð;¨•y ‘|”|Ð;Ð;Ð;Ð;Ð;Ð;r+   z4Python keyword not valid identifier in numexpr queryr‡   )rS   rG   rÀ   rZ   Úfix_missing_locationsÚparseÚSyntaxErrorÚanyÚsplitÚmsgrX   rb   r^   )r}   r\   r<   ÚcleanÚeÚmethodÚvisitors          r)   ÚvisitzBaseExprVisitor.visit�  sØ   € Ý�d�CÑ Ô ð 	Ø—N’N 4Ñ(Ô(ˆEðÝÔ0µ´¸5Ñ1AÔ1AÑBÔB��øÝð ð ð ÝÐ;Ð;¨U¯[ª[©]¬]Ð;Ñ;Ô;Ñ;Ô;ð SØR�A”EØ�øøøøðøøøð
 0�$˜t™*œ*Ô-Ð/Ð/ˆÝ˜$ Ñ'Ô'ˆØˆw�tÐ&Ð&˜vÐ&Ð&Ð&s   ¬&A Á
BÁ4BÂBc                ó†   — t          |j        ¦  «        dk    rt          d¦  «        ‚|j        d         } | j        |fi |¤ŽS )NrB   z#only a single expression is allowedr   )rC   ÚbodyrÇ   rÏ   )r}   r\   r<   Úexprs       r)   Úvisit_ModulezBaseExprVisitor.visit_Modulež  sI   € ÝˆtŒy‰>Œ>˜QÒÐÝÐCÑDÔDÐDØŒy˜Œ|ˆØˆtŒz˜$Ð)Ð) &Ð)Ð)Ð)r+   c                ó(   —  | j         |j        fi |¤ŽS r:   ©rÏ   rT   ©r}   r\   r<   s      r)   Ú
visit_ExprzBaseExprVisitor.visit_Expr¤  s   € ØˆtŒz˜$œ*Ð/Ð/¨Ð/Ð/Ð/r+   c                óH  — |j         }t          |¦  «        }t          |¦  «        rãt          |¦  «        rÔ|| j        v rËt	          t
          ||f¦  «        \  }}t	          t          ||f¦  «        \  }}	|s|s|s|	r | j        |         ¦   «         }|	r;| j                             |j	        g¦  «        }
|  
                    |
| j        ¦  «        }|r;| j                             |j	        g¦  «        }
|  
                    |
| j        ¦  «        }|                      |¦  «        }||||fS r:   )rœ   rX   r   Úrewrite_mapÚmapÚ_is_listÚ_is_strr½   Úadd_tmprT   r¤   rÏ   )r}   r\   ÚleftÚrightÚop_instanceÚop_typeÚ	left_listÚ
right_listÚleft_strÚ	right_strr_   rœ   s               r)   Ú_rewrite_membership_opz&BaseExprVisitor._rewrite_membership_op§  s2  € à”gˆÝ�{Ñ#Ô#ˆõ �4‰=Œ=ð 	6�W U™^œ^ð 	6°¸4Ô;KÐ0KÐ0KÝ$'­°4¸°-Ñ$@Ô$@Ñ!ˆI�zÝ"%¥g°°e¨}Ñ"=Ô"=ÑˆH�ið ð :˜Jð :¨(ð :°ið :Ø7˜dÔ.¨wÔ7Ñ9Ô9�ð ð 7Ø”x×'Ò'¨¬¨Ñ6Ô6�ØŸš t¨T¬XÑ6Ô6�àð 6Ø”x×'Ò'¨¬¨Ñ5Ô5�Ø—~’~ d¨D¬HÑ5Ô5�à�ZŠZ˜Ñ$Ô$ˆØ�;  eÐ+Ð+r+   Nc                ó¾   — |€|                       |j        d¬¦  «        }|€|                       |j        d¬¦  «        }|                      |||¦  «        \  }}}}||||fS )NrÞ   )Úsiderß   )rÏ   rÞ   rß   ræ   )r}   r\   rÞ   rß   rœ   r�   s         r)   Ú_maybe_transform_eq_nez&BaseExprVisitor._maybe_transform_eq_neÂ  si   € Øˆ<Ø—:’:˜dœi¨f�:Ñ5Ô5ˆDØˆ=Ø—J’J˜tœz°�JÑ8Ô8ˆEØ$(×$?Ò$?ÀÀdÈEÑ$RÔ$RÑ!ˆˆH�d˜EØ�8˜T 5Ð(Ð(r+   c                ó  — t          j        t           j        ¦  «        }|j        rnt	          |d¦  «        r^|j        sW|j        |k    rL| j                             t          j        |j        ¦  «        ¦  «        }|  	                    || j        ¦  «        }|j        rnt	          |d¦  «        r^|j        sW|j        |k    rL| j                             t          j        |j        ¦  «        ¦  «        }|  	                    || j        ¦  «        }||fS )NrT   )
ÚnpÚdtypeÚfloat32Ú	is_scalarÚhasattrÚreturn_typer½   rÝ   rT   r¤   )r}   rÞ   rß   Úf32r_   s        r)   Ú_maybe_downcast_constantsz)BaseExprVisitor._maybe_downcast_constantsÊ  sý   € ÝŒh•r”zÑ"Ô"ˆàŒNð	2å˜˜gÑ&Ô&ð	2ð ”Oð	2ð Ô! SÒ(Ð(ð ”8×#Ò#¥B¤J¨t¬zÑ$:Ô$:Ñ;Ô;ˆDØ—>’> $¨¬Ñ1Ô1ˆDàŒOð	3å˜˜wÑ'Ô'ð	3ð ”Nð	3ð Ô  CÒ'Ð'ð ”8×#Ò#¥B¤J¨u¬{Ñ$;Ô$;Ñ<Ô<ˆDØ—N’N 4¨¬Ñ2Ô2ˆEà�Uˆ{Ðr+   c                ó\   — |                      | j        | j        | j        | j        |¦  «        S r:   )Úevaluater½   r¾   r¿   r¤   )r}   ÚbinopÚeval_in_pythons      r)   Ú_maybe_evalzBaseExprVisitor._maybe_evalá  s-   € ð �~Š~ØŒH�d”k 4¤;°´Àñ
ô 
ð 	
r+   ©Úinznot in©r$   z!=ú<ú>z<=z>=c           	     ó  —  |||¦  «        }|j         r(t          d|j        › d|j        › d|j        › d�¦  «        ‚| j        dk    rK|j        t
          v rt          |dd¦  «        st          |dd¦  «        r|                      || j        ¦  «        S |j        |v r|                      ||¦  «        S | j        dk    rMt          |dd ¦  «        t          k    st          |dd ¦  «        t          k    r|                      |||z   ¦  «        S |S )	Nz unsupported operand type(s) for z: 'z' and 'r{   ÚpytablesÚis_datetimeFrð   )
Úhas_invalid_return_typeÚ	TypeErrorrœ   rX   r¾   r   r^   r÷   Ú
binary_opsÚobject)r}   rœ   r�   ÚlhsÚrhsrö   Úmaybe_eval_in_pythonÚress           r)   Ú_maybe_evaluate_binopz%BaseExprVisitor._maybe_evaluate_binopì  sE  € ð ˆb��c‰lŒlˆàÔ&ð 	Ýð1°3´6ð 1ð 1Ø”Hð1ð 1Ø%(¤Xð1ð 1ð 1ñô ð ð
 Œ;˜*Ò$Ð$ØŒF•lÐ"Ð"Ý˜˜]¨EÑ2Ô2ð #å�s˜M¨5Ñ1Ô1ð #ð ×#Ò# C¨¬Ñ9Ô9Ð9àŒ6�^Ð#Ð#à×#Ò# C¨Ñ8Ô8Ð8ØŒ[˜JÒ&Ð&å˜˜]¨DÑ1Ô1µVÒ;Ð;Ý˜3 ¨tÑ4Ô4½Ò>Ð>ð ×'Ò'¨¨^Ð>RÑ-RÑSÔSÐSØˆ
r+   c                ó˜   — |                       |¦  «        \  }}}}|                      ||¦  «        \  }}|                      ||||¦  «        S r:   )ré   rò   r  )r}   r\   r<   rœ   r�   rÞ   rß   s          r)   Úvisit_BinOpzBaseExprVisitor.visit_BinOp  sQ   € Ø$(×$?Ò$?ÀÑ$EÔ$EÑ!ˆˆH�d˜EØ×4Ò4°T¸5ÑAÔA‰ˆˆeØ×)Ò)¨"¨h¸¸eÑDÔDÐDr+   c                ó   — d„ S )Nc                ó"   — t          | |¦  «        S r:   )r   )r  r  s     r)   r?   z+BaseExprVisitor.visit_Div.<locals>.<lambda>  s   € ¥ C¨¡¤€ r+   r%   rÖ   s      r)   Ú	visit_DivzBaseExprVisitor.visit_Div  s   € Ø-Ð-Ð-r+   c                ó€   — |                       |j        ¦  «        }|                       |j        ¦  «        } ||¦  «        S r:   )rÏ   rœ   Úoperand)r}   r\   r<   rœ   r  s        r)   Úvisit_UnaryOpzBaseExprVisitor.visit_UnaryOp  s6   € Ø�ZŠZ˜œÑ Ô ˆØ—*’*˜Tœ\Ñ*Ô*ˆØˆr�'‰{Œ{Ðr+   r   c                ó4   —  | j         |j        | j        fi |¤ŽS r:   )r¤   Úidr½   rÖ   s      r)   Ú
visit_NamezBaseExprVisitor.visit_Name   s"   € ØˆtŒ~˜dœg t¤xÐ:Ð:°6Ð:Ð:Ð:r+   c                óB   — |                       |j        | j        ¦  «        S r:   ©r£   rT   r½   rÖ   s      r)   Úvisit_NameConstantz"BaseExprVisitor.visit_NameConstant$  ó   € Ø�Š˜tœz¨4¬8Ñ4Ô4Ð4r+   c                óB   — |                       |j        | j        ¦  «        S r:   r  rÖ   s      r)   Ú	visit_NumzBaseExprVisitor.visit_Num(  r  r+   c                óB   — |                       |j        | j        ¦  «        S r:   r  rÖ   s      r)   Úvisit_ConstantzBaseExprVisitor.visit_Constant+  r  r+   c                óv   — | j                              |j        ¦  «        }|                      || j         ¦  «        S r:   )r½   rÝ   Úsr¤   ©r}   r\   r<   r_   s       r)   Ú	visit_StrzBaseExprVisitor.visit_Str/  s/   € ØŒx×Ò ¤Ñ'Ô'ˆØ�~Š~˜d D¤HÑ-Ô-Ð-r+   c                ó�   ‡ — ‰ j                              ˆ fd„|j        D ¦   «         ¦  «        }‰                      |‰ j         ¦  «        S )Nc                óV   •— g | ]%} ‰                      |¦  «        ‰j        ¦  «        ‘Œ&S r%   ©rÏ   r½   )rJ   rÌ   r}   s     €r)   ú
<listcomp>z.BaseExprVisitor.visit_List.<locals>.<listcomp>4  s/   ø€ Ð LÐ LÐ L¸Q  §¢¨A¡¤¨t¬xÑ!8Ô!8Ð LÐ LÐ Lr+   )r½   rÝ   Úeltsr¤   r  s   `   r)   Ú
visit_ListzBaseExprVisitor.visit_List3  sE   ø€ ØŒx×ÒÐ LÐ LÐ LÐ LÀ$Ä)Ð LÑ LÔ LÑMÔMˆØ�~Š~˜d D¤HÑ-Ô-Ð-r+   c                ó6   — |                       |j        ¦  «        S )zdf.index[4]rÕ   rÖ   s      r)   Úvisit_IndexzBaseExprVisitor.visit_Index9  s   € à�zŠz˜$œ*Ñ%Ô%Ð%r+   c                ó¨  — ddl m} |                      |j        ¦  «        }|                      |j        ¦  «        } ||| j        | j        | j        ¬¦  «        }	 |j        |         }n6# t          $ r)  ||| j        | j        | j        ¬¦  «        }||         }Y nw xY w| j         	                    |¦  «        }	|  
                    |	| j        ¬¦  «        S )Nr   )Úeval)Ú
local_dictr¾   r¿   )r½   )Úpandasr)  rÏ   rT   Úslicer½   r¾   r¿   ÚAttributeErrorrÝ   r¤   )
r}   r\   r<   Úpd_evalrT   ÚslobjÚresultÚvr  r_   s
             r)   Úvisit_SubscriptzBaseExprVisitor.visit_Subscript=  sð   € Ø*Ð*Ð*Ð*Ð*Ð*à—
’
˜4œ:Ñ&Ô&ˆØ—
’
˜4œ:Ñ&Ô&ˆØ�Ø˜dœh¨t¬{À4Ä;ð
ñ 
ô 
ˆð	à”˜FÔ#ˆAˆAøÝð 	ð 	ð 	à�'Ø $¤(°4´;ÀtÄ{ðñ ô ˆCð �F”ˆAˆAˆAð	øøøð Œx×Ò Ñ"Ô"ˆØ�~Š~˜d¨¬ˆ~Ñ1Ô1Ð1s   ÁA( Á(0BÂBr,  c                óö   — |j         }|�|                      |¦  «        j        }|j        }|�|                      |¦  «        j        }|j        }|�|                      |¦  «        j        }t          |||¦  «        S )zdf.index[slice(4,6)])ÚlowerrÏ   rT   ÚupperÚstepr,  )r}   r\   r<   r4  r5  r6  s         r)   Úvisit_SlicezBaseExprVisitor.visit_SliceQ  sw   € à”
ˆØÐØ—J’J˜uÑ%Ô%Ô+ˆEØ”
ˆØÐØ—J’J˜uÑ%Ô%Ô+ˆEØŒyˆØÐØ—:’:˜dÑ#Ô#Ô)ˆDå�U˜E 4Ñ(Ô(Ð(r+   c                óæ  — t          |j        ¦  «        dk    rt          d¦  «        ‚t          |j        d         t          j        ¦  «        st          d¦  «        ‚| j        j        €t          d¦  «        ‚	  | j	        |j        d         fi |¤Ž}n"# t          $ r |j        d         j        }Y nw xY wt          |d|¦  «        | _        | j        €t          d¦  «        ‚ | j	        |j        fi |¤ŽS )	zÄ
        support a single assignment node, like

        c = a + b

        set the assigner at the top level, must be a Name node which
        might or might not exist in the resolvers

        rB   z#can only assign a single expressionr   z5left hand side of an assignment must be a single nameNz%cannot assign without a target objectr_   z@left hand side of an assignment must be a single resolvable name)rC   ÚtargetsrÇ   rS   rZ   ÚNamer½   ÚtargetÚ
ValueErrorrÏ   r   r  r^   rÁ   rT   )r}   r\   r<   rÁ   s       r)   Úvisit_AssignzBaseExprVisitor.visit_Assign_  s  € õ ˆtŒ|ÑÔ Ò!Ð!ÝÐCÑDÔDÐDÝ˜$œ, qœ/­3¬8Ñ4Ô4ð 	WÝÐUÑVÔVÐVØŒ8Œ?Ð"ÝÐDÑEÔEÐEð	*Ø!�t”z $¤,¨q¤/Ð<Ð<°VÐ<Ð<ˆHˆHøÝ%ð 	*ð 	*ð 	*Ø”| A”Ô)ˆHˆHˆHð	*øøøõ   ¨&°(Ñ;Ô;ˆŒØŒ=Ð ÝØRñô ð ð ˆtŒz˜$œ*Ð/Ð/¨Ð/Ð/Ð/s   Á8B ÂB1Â0B1c                óØ  — |j         }|j        }|j        }t          |t          j        ¦  «        r˜|                      |¦  «        j        }	 t          ||¦  «        }| j         	                    |¦  «        }|  
                    || j        ¦  «        S # t          $ r+ t          |t          j        ¦  «        r|j        |k    r|cY S ‚ w xY wt          dt          |¦  «        j        › �¦  «        ‚)NzInvalid Attribute context )ÚattrrT   ÚctxrS   rZ   ÚLoadrÏ   r^   r½   rÝ   r¤   r-  r:  r  r<  rX   rb   )	r}   r\   r<   r?  rT   r@  Úresolvedr1  r_   s	            r)   Úvisit_AttributezBaseExprVisitor.visit_Attribute}  sç   € ØŒyˆØ”
ˆàŒhˆÝ�c�3œ8Ñ$Ô$ð 	à—z’z %Ñ(Ô(Ô.ˆHðÝ˜H dÑ+Ô+�Ø”x×'Ò'¨Ñ*Ô*�Ø—~’~ d¨D¬HÑ5Ô5Ð5øÝ!ð ð ð å˜e¥S¤XÑ.Ô.ð $°5´8¸tÒ3CÐ3CØ#�O�O�OØð	øøøõ ÐJµd¸3±i´iÔ6HÐJÐJÑKÔKÐKs   ÁAB Â1CÃCc                ó0  ‡ — t          |j        t          j        ¦  «        r+|j        j        dk    r‰                      |j        ¦  «        }n„t          |j        t          j        ¦  «        st          d¦  «        ‚	 ‰                      |j        ¦  «        }n:# t          $ r- 	 t          |j        j        ¦  «        }n# t          $ r ‚ w xY wY nw xY w|€t          d|j        j        › �¦  «        ‚t          |d¦  «        r|j        }t          |t          ¦  «        r7ˆ fd„|j        D ¦   «         }|j        rt          d|j        › d�¦  «        ‚ ||Ž S ˆ fd„|j        D ¦   «         }|j        D ]p}t          |t          j        ¦  «        st          d	|j        j        › d
�¦  «        ‚|j        r0 ‰                      |j        ¦  «        ‰ j        ¦  «        ||j        <   Œq‰ j                              ||i |¤Ž¦  «        }‰                      |‰ j        ¬¦  «        S )NÚ__call__z"Only named functions are supportedzInvalid function call rT   c                ó:   •— g | ]}‰                      |¦  «        ‘ŒS r%   )rÏ   ©rJ   Úargr}   s     €r)   r#  z.BaseExprVisitor.visit_Call.<locals>.<listcomp>ª  s#   ø€ Ð=Ð=Ð=¨C˜Ÿ
š
 3™œÐ=Ð=Ð=r+   z
Function "z$" does not support keyword argumentsc                óV   •— g | ]%} ‰                      |¦  «        ‰j        ¦  «        ‘Œ&S r%   r"  rG  s     €r)   r#  z.BaseExprVisitor.visit_Call.<locals>.<listcomp>´  s/   ø€ ÐGÐGÐG°c˜˜Ÿ
š
 3™œ¨¬Ñ1Ô1ÐGÐGÐGr+   z keyword error in function call 'r{   )r_   r½   )rS   ÚfuncrZ   Ú	Attributer?  rC  r:  r  rÏ   r   r   r  r<  rï   rT   r;   Úkeywordsr_   ÚkeywordrH  r½   rÝ   r¤   )r}   r\   rè   r<   r  Únew_argsÚkeyr_   s   `       r)   Ú
visit_CallzBaseExprVisitor.visit_Call‘  s`  ø€ Ý�d”i¥¤Ñ/Ô/ð 	°D´I´NÀjÒ4PÐ4PØ×&Ò& t¤yÑ1Ô1ˆCˆCÝ˜DœI¥s¤xÑ0Ô0ð 	ÝÐ@ÑAÔAÐAðØ—j’j ¤Ñ+Ô+��øÝ)ð ð ð ðÝ" 4¤9¤<Ñ0Ô0�C�CøÝ!ð ð ð àðøøøð �Cðøøøð ˆ;åØ7¨¬¬Ð7Ð7ñô ð õ �3˜Ñ Ô ð 	Ø”)ˆCå�c�8Ñ$Ô$ð 	;Ø=Ð=Ð=Ð=°4´9Ð=Ñ=Ô=ˆHàŒ}ð ÝØO ¤ÐOÐOÐOñô ð ð �3˜�>Ð!ð HÐGÐGÐG¸T¼YÐGÑGÔGˆHà”}ð 	Fð 	F�Ý! #¥s¤{Ñ3Ô3ð å$ð,Ø œIœLð,ð ,ð ,ñô ð ð
 ”7ð FØ&; d§j¢j°´Ñ&;Ô&;¸D¼HÑ&EÔ&E�F˜3œ7‘Oøà”8×#Ò# C C¨Ð$<°VÐ$<Ð$<Ñ=Ô=ˆDØ—>’> t°´�>Ñ:Ô:Ð:s*   Á;B Â
CÂ!B;Â:CÂ;CÃCÃCc                ó   — |S r:   r%   )r}   rœ   s     r)   Útranslate_InzBaseExprVisitor.translate_InÄ  s   € Øˆ	r+   c           
     óF  — |j         }|j        }t          |¦  «        dk    rR|                      |d         ¦  «        }t	          j        ||j        |d         ¬¦  «        }|                      |¦  «        S |j        }g }t          ||¦  «        D ][\  }}	|                      t	          j	        |	g||                      |¦  «        g¬¦  «        ¦  «        }
|	}| 
                    |
¦  «         Œ\|                      t	          j        t	          j        ¦   «         |¬¦  «        ¦  «        S )NrB   r   )rœ   rÞ   rß   )ÚcomparatorsrÞ   rš   )rœ   Úvalues)rš   rT  rC   rR  rZ   r   rÞ   rÏ   ÚzipÚCompareÚappendÚBoolOpr¯   )r}   r\   r<   rš   Úcompsrœ   rõ   rÞ   rU  ÚcompÚnew_nodes              r)   Úvisit_ComparezBaseExprVisitor.visit_CompareÇ  s  € ØŒhˆØÔ ˆõ ˆu‰:Œ:˜Š?ˆ?Ø×"Ò" 3 q¤6Ñ*Ô*ˆBÝ”I ¨$¬)¸5À¼8ÐDÑDÔDˆEØ—:’:˜eÑ$Ô$Ð$ð ŒyˆØˆÝ˜C ™œð 	$ð 	$‰HˆB�Ø—z’zÝ”¨¨°TÀ×@QÒ@QÐRTÑ@UÔ@UÐ?VÐWÑWÔWñô ˆHð ˆDØ�MŠM˜(Ñ#Ô#Ð#Ð#Ø�zŠz�#œ*­¬©	¬	¸&ÐAÑAÔAÑBÔBÐBr+   c                óh   — t          |t          t          f¦  «        r|S |                      |¦  «        S r:   )rS   r   r   rÏ   )r}   Úbops     r)   Ú_try_visit_binopz BaseExprVisitor._try_visit_binopÜ  s-   € Ý�c�B¥˜:Ñ&Ô&ð 	ØˆJØ�zŠz˜#‰ŒÐr+   c                ó@   ‡ ‡— ˆˆ fd„}‰j         }t          ||¦  «        S )Nc                óÊ   •— ‰                      | ¦  «        }‰                      |¦  «        }‰                     ‰||¦  «        \  }}}}‰                     |‰j        ||¦  «        S r:   )r`  ré   r  rœ   )rK   Úyr  r  rœ   r�   r\   r}   s         €€r)   rÎ   z-BaseExprVisitor.visit_BoolOp.<locals>.visitorâ  se   ø€ Ø×'Ò'¨Ñ*Ô*ˆCØ×'Ò'¨Ñ*Ô*ˆCà%)×%@Ò%@ÀÀsÈCÑ%PÔ%PÑ"ˆB�˜#˜sØ×-Ò-¨b°$´'¸3ÀÑDÔDÐDr+   )rU  r   )r}   r\   r<   rÎ   Úoperandss   ``   r)   Úvisit_BoolOpzBaseExprVisitor.visit_BoolOpá  sA   øø€ ð	Eð 	Eð 	Eð 	Eð 	Eð 	Eð ”;ˆÝ�g˜xÑ(Ô(Ð(r+   ©r!   r»   )NN)rø   rú   )r!   r   )r!   r,  r:   )9rb   Ú
__module__Ú__qualname__Ú__doc__r   r£   Ú__annotations__r   r¤   r   r   r   r  Úbinary_op_nodesÚdictrV  Úbinary_op_nodes_mapr   Ú	unary_opsÚunary_op_nodesÚunary_op_nodes_maprZ   r©   r«   rª   r¬   rÙ   rP   rÂ   rÏ   rÓ   r×   ræ   ré   rò   r÷   r  r
  r  r  r  r  r  r  r  r%  Úvisit_Tupler'  r2  r7  r=  rC  rP  rR  r]  r`  re  r%   r+   r)   r¢   r¢   R  sÛ  € € € € € € ð
ð 
ð (0€JÐ/Ð/Ð/Ñ/Ø&*€IÐ*Ð*Ð*Ñ*à Ñ-°Ñ>€Jð€Oð* ˜$˜s˜s :¨Ñ?Ô?Ñ@Ô@Ðà€IØ4€NØ˜˜c˜c )¨^Ñ<Ô<Ñ=Ô=Ðð 	Œ�”ØŒ	�3”9ØŒ�”ØŒ	�3”9ð	€Kð 'Ð&Ð&Ñ&à6?ð ð ð ð ð ð'ð 'ð 'ð*ð *ð *ð0ð 0ð 0ð,ð ,ð ,ð6)ð )ð )ð )ðð ð ð.	
ð 	
ð 	
ð" (Ø?ð%ð %ð %ð %ðNEð Eð Eð
.ð .ð .ðð ð ð
;ð ;ð ;ð ;ð5ð 5ð 5ð 5ð5ð 5ð 5ð 5ð5ð 5ð 5ð 5ð.ð .ð .ð .ð.ð .ð .ð .ð €Kð&ð &ð &ð2ð 2ð 2ð 2ð()ð )ð )ð )ð0ð 0ð 0ð<Lð Lð Lð(1;ð 1;ð 1;ð 1;ðfð ð ðCð Cð Cð*ð ð ð
	)ð 	)ð 	)ð 	)ð 	)r+   r¢   )ÚDictrY  r«   r¬   )rY  rK  r«   r¬   ÚTuplec                  óP   ‡ — e Zd Z ee eeee¦  «        ¬¦  «        fdˆ fd„Z	ˆ xZ
S )ÚPandasExprVisitor)r=   r!   r»   c                óP   •— t          ¦   «                              ||||¦  «         d S r:   ©ÚsuperrÂ   ©r}   r½   r¾   r¿   rÀ   Ú	__class__s        €r)   rÂ   zPandasExprVisitor.__init__ö  s)   ø€ õ 	‰Œ×Ò˜˜f f¨iÑ8Ô8Ð8Ð8Ð8r+   rf  )rb   rg  rh  r   rP   rE   r7   r4   r   rÂ   Ú__classcell__©rz  s   @r)   ru  ru  ñ  sn   ø€ € € € € ð �'ØØˆh�Ð(9Ð;UÑVÔVð
ñ 
ô 
ð
9ð 
9ð 
9ð 
9ð 
9ð 
9ð 
9ð 
9ð 
9ð 
9ð 
9r+   ru  rº   c                  ó(   ‡ — e Zd Zdd„fdˆ fd„Zˆ xZS )ÚPythonExprVisitorNc                ó   — | S r:   r%   rO   s     r)   r?   zPythonExprVisitor.<lambda>  s   € ÀF€ r+   r!   r»   c                óR   •— t          ¦   «                              ||||¬¦  «         d S )N)rÀ   rw  ry  s        €r)   rÂ   zPythonExprVisitor.__init__  s,   ø€ õ 	‰Œ×Ò˜˜f f¸	ÐÑBÔBÐBÐBÐBr+   r:   rf  )rb   rg  rh  rÂ   r{  r|  s   @r)   r~  r~    sY   ø€ € € € € ð .KÐ-JÐ-JðCð Cð Cð Cð Cð Cð Cð Cð Cð Cð Cr+   r~  c                  óŒ   — e Zd ZU dZded<   ded<   ded<   	 	 	 	 ddd„Zed„ ¦   «         Zd„ Zdd„Z	dd„Z
d„ Zed„ ¦   «         Zd	S )rl   a  
    Object encapsulating an expression.

    Parameters
    ----------
    expr : str
    engine : str, optional, default 'numexpr'
    parser : str, optional, default 'pandas'
    env : Scope, optional, default None
    level : int, optional, default 2
    r   r½   rG   r¾   r¿   Únumexprr+  Nr   úScope | NoneÚlevelÚintr!   r»   c                óì   — || _         |pt          |dz   ¬¦  «        | _        || _        || _        t          |         | j        | j        | j        ¦  «        | _        |                      ¦   «         | _        d S )NrB   )r„  )	rÒ   r   r½   r¾   r¿   ÚPARSERSÚ_visitorrÆ   Úterms)r}   rÒ   r¾   r¿   r½   r„  s         r)   rÂ   zExpr.__init__  sd   € ð ˆŒ	ØÐ0�% e¨a¡iÐ0Ñ0Ô0ˆŒØˆŒØˆŒÝ œ¨¬°$´+¸t¼{ÑKÔKˆŒØ—Z’Z‘\”\ˆŒ
ˆ
ˆ
r+   c                ó.   — t          | j        dd ¦  «        S )NrÁ   )r^   rˆ  ©r}   s    r)   rÁ   zExpr.assigner+  s   € å�t”} j°$Ñ7Ô7Ð7r+   c                ó6   — |                       | j        ¦  «        S r:   )r‰  r½   r‹  s    r)   rE  zExpr.__call__/  s   € Ø�zŠz˜$œ(Ñ#Ô#Ð#r+   c                ó4   — t          j        | j        ¦  «        S r:   )r   Úpprint_thingr‰  r‹  s    r)   Ú__repr__zExpr.__repr__2  s   € ÝÔ$ T¤ZÑ0Ô0Ð0r+   c                ó*   — t          | j        ¦  «        S r:   )rC   rÒ   r‹  s    r)   Ú__len__zExpr.__len__5  s   € Ý�4”9‰~Œ~Ðr+   c                ó@   — | j                              | j        ¦  «        S )z&
        Parse an expression.
        )rˆ  rÏ   rÒ   r‹  s    r)   rÆ   z
Expr.parse8  s   € ð Œ}×"Ò" 4¤9Ñ-Ô-Ð-r+   c                ó¾   — t          | j        ¦  «        rt          | j        j        g¦  «        S t          d„ t	          j        | j        ¦  «        D ¦   «         ¦  «        S )z1
        Get the names in an expression.
        c              3  ó$   K  — | ]}|j         V — Œd S r:   )r_   )rJ   Úterms     r)   rL   zExpr.names.<locals>.<genexpr>E  s$   è è € ÐGÐG t˜œÐGÐGÐGÐGÐGÐGr+   )r   r‰  rd   r_   ÚcomÚflattenr‹  s    r)   Únamesz
Expr.names>  sT   € õ
 �4”:ÑÔð 	0Ý˜dœjœoÐ.Ñ/Ô/Ð/ÝÐGÐG­s¬{¸4¼:Ñ/FÔ/FÐGÑGÔGÑGÔGÐGr+   )r‚  r+  Nr   )
r¾   rG   r¿   rG   r½   rƒ  r„  r…  r!   r»   )r!   rG   )r!   r…  )rb   rg  rh  ri  rj  rÂ   ÚpropertyrÁ   rE  r�  r‘  rÆ   r˜  r%   r+   r)   rl   rl     så   € € € € € € ð
ð 
ð €J€J�JØ€K€K�KØ€K€K�Kð
  ØØ Øð"ð "ð "ð "ð "ð ð8ð 8ñ „Xð8ð$ð $ð $ð1ð 1ð 1ð 1ðð ð ð ð.ð .ð .ð ðHð Hñ „XðHð Hð Hr+   rl   )Úpythonr+  )r   r    r!   r    )rF   rG   r!   rG   )rw   rG   r!   rx   )r€   r�   r!   r‚   )jri  Ú
__future__r   rZ   Ú	functoolsr   r   rM  r   r1   Útypingr   r	   r
   Únumpyrë   Úpandas.errorsr   Úpandas.core.commonÚcoreÚcommonr–  Úpandas.core.computation.opsr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   Úpandas.core.computation.parsingr   r   Úpandas.core.computation.scoper   Úpandas.io.formatsr   r*   r4   r7   r@   rE   rP   rV   ÚlistrÛ   rG   rÜ   rd   ÚdirÚ
_all_nodesrg   Ú_all_node_namesÚmodÚ
_mod_nodesÚstmtÚ_stmt_nodesrÒ   Ú_expr_nodesÚexpr_contextÚ_expr_context_nodesÚboolopÚ_boolop_nodesÚoperatorÚ_operator_nodesÚunaryopÚ_unary_op_nodesÚcmpopÚ_cmp_op_nodesÚcomprehensionÚ_comprehension_nodesÚexcepthandlerÚ_handler_nodesÚ	argumentsÚ_arguments_nodesÚ_keyword_nodesÚaliasÚ_alias_nodesÚ_hacked_nodesÚ_unsupported_expr_nodesÚ_unsupported_nodesÚ_base_supported_nodesÚintersectionÚ_msgr~   r   rŒ   r‘   Ú_op_classesr    ÚNodeVisitorr¢   Ú_python_not_supportedÚ_numexpr_supported_callsru  r~  rl   r‡  r%   r+   r)   ú<module>rÍ     sÍ  ððð ð #Ð "Ð "Ð "Ð "Ð "à 
€
€
€
ðð ð ð ð ð ð ð ð Ð Ð Ð Ð Ð Ø €€€ðð ð ð ð ð ð ð ð ð ð Ð Ð Ð à 0Ð 0Ð 0Ð 0Ð 0Ð 0à  Ð  Ð  Ð  Ð  Ð  Ð  Ð  Ð  ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð"ð ð ð ð ð ð ð ð 0Ð /Ð /Ð /Ð /Ð /à &Ð &Ð &Ð &Ð &Ð &ð5ð 5ð 5ð 5ð&ð ð ð ð2ð ð ð ð49ð 9ð 9ð$ð $ð $ð €hØÐ*¨OÐ=Wñô ðFð Fð Fð Fð FðD,ð ,ð ,ð ˆ8�D‰>Œ>€Ø
ˆ(�3‰-Œ-€ð ˆYð ð à9Ð9°°°C±´Ð9Ñ9Ô9ðñ ô ñ ô €
ð )3ð !ð !ð !ð !ð �)Ð;Ð;°
Ð;Ñ;Ô;Ñ;Ô;€Øˆ]˜3œ7Ñ#Ô#€
Øˆm˜CœHÑ%Ô%€Øˆm˜CœHÑ%Ô%€Ø#�m CÔ$4Ñ5Ô5Ð Ø�˜cœjÑ)Ô)€Ø�- ¤Ñ-Ô-€Ø�- ¤Ñ,Ô,€Ø�˜cœiÑ(Ô(€Ø$�} SÔ%6Ñ7Ô7Ð Ø�˜sÔ0Ñ1Ô1€Ø �= ¤Ñ/Ô/Ð Ø�˜sœ{Ñ+Ô+€Øˆ}˜SœYÑ'Ô'€ð �	Ð6Ð6Ð6Ñ7Ô7€ð $˜)ðð ð ñô Ð ð$ Øñàñð ñð ñ	ð
 ñð ñð ñð ñ	Ð ð )Ð+=Ñ=ÀÑNÐ Ø!Ð$9Ñ9€Ø<¨lÐ<Ð<€ØÐ Ð ˜Ñ Ô Ððð ð ð ð €WˆT�]„]€ðð ð ð ð0ð ð ð, ¨Ð1Ð1€ðð ð ð& 
€Ð
ÑÔØ€ˆÑÔðV)ð V)ð V)ð V)ð V)�c”oñ V)ô V)ñ Ôñ ÔðV)ðr "˜	Ð"CÐ"CÐ"CÑDÔDÐ Ø$˜9 Z°'Ñ%9Ñ:Ô:Ð ð 
€ØÐ/Ñ/Ø�y�yÐ!PÐ!PÐ!PÑQÔQÑQñSñô ð9ð 9ð 9ð 9ð 9˜ñ 9ô 9ñ	ô ð9ð 
€Ð
Ð4Ñ
4°y°yÀ%ÀÑ7IÔ7IÑ
IÑJÔJðCð Cð Cð Cð C˜ñ Cô Cñ KÔJðCð:Hð :Hð :Hð :Hð :Hñ :Hô :Hð :Hðz 'Ð2CÐ
DÐ
D€€€r+   