§
    Ú! hzÖ  ã            	       ó˜  — d dl Z d dlZd dlZd dlmZmZ d dlmc m	Z
 d dlZd dlmZmZmZmZmZ d dlmZ d dlmZ  ej        ddgd„ ¬¦  «        d	„ ¦   «         Z ej        d ej        d
 e
j        d
¦  «        ¬¦  «        gd„ ¬¦  «        d„ ¦   «         Zd„ Z G d„ d¦  «        Z G d„ d¦  «        Z G d„ d¦  «        Z e
j        d
¦  «         G d„ d¦  «        ¦   «         Z  e
j        d
¦  «         G d„ de ¦  «        ¦   «         Z! G d„ de ¦  «        Z" G d„ de!¦  «        Z# G d„ d¦  «        Z$ G d„ d ¦  «        Z% G d!„ d"¦  «        Z&dS )#é    N)ÚNumExprClobberingErrorÚUndefinedVariableError)Ú	DataFrameÚIndexÚ
MultiIndexÚSeriesÚ
date_range)ÚNUMEXPR_INSTALLEDÚpythonÚpandasc                 ó   — | S ©N© ©Úxs    ú\c:\xampp_lite_8_4\www\timesheet\venv\Lib\site-packages\pandas/tests/frame/test_query_eval.pyú<lambda>r      s   € ¸1€ ó    )ÚparamsÚidsc                 ó   — | j         S r   ©Úparam©Úrequests    r   Úparserr      s
   € àŒ=Ðr   Únumexpr)Úmarksc                 ó   — | S r   r   r   s    r   r   r      s   € �!€ r   c                 ó   — | j         S r   r   r   s    r   Úenginer!      s   € ð
 Œ=Ðr   c                 óD   — | dk    rt          j        d| › �¦  «         d S d S )Nr   zcannot evaluate with parser=)ÚpytestÚskip)r   s    r   Úskip_if_no_pandas_parserr%   %   s4   € Ø�ÒÐÝŒÐ;°6Ð;Ð;Ñ<Ô<Ð<Ð<Ð<ð Ðr   c                   ó†   — e Zd Zej        d„ ¦   «         Zej        d„ ¦   «         Zej        d„ ¦   «         Zd„ Zd„ Z	d„ Z
d„ ZdS )	Ú
TestCompatc                 ó(   — t          dg d¢i¦  «        S )NÚA©é   é   é   ©r   ©Úselfs    r   ÚdfzTestCompat.df+   s   € å˜#˜y˜y˜yÐ)Ñ*Ô*Ð*r   c                 ó$   — ||j         dk             S )Nr   ©r)   ©r0   r1   s     r   Ú	expected1zTestCompat.expected1/   s   € à�"”$˜’(Œ|Ðr   c                 ó   — |j         dz   S ©Nr+   r3   r4   s     r   Ú	expected2zTestCompat.expected23   s   € àŒt�a‰xˆr   c                 ó²   — |                      d¦  «        }t          j        ||¦  «         |                     d¦  «        }t          j        ||d¬¦  «         d S )NúA>0úA+1F©Úcheck_names©ÚqueryÚtmÚassert_frame_equalÚevalÚassert_series_equal©r0   r1   r5   r8   Úresults        r   Útest_query_defaultzTestCompat.test_query_default7   sS   € ð —’˜%‘”ˆÝ
Ô˜f iÑ0Ô0Ð0Ø—’˜‘”ˆÝ
Ô˜v y¸eÐDÑDÔDÐDÐDÐDr   c                 óº   — |                      dd ¬¦  «        }t          j        ||¦  «         |                     dd ¬¦  «        }t          j        ||d¬¦  «         d S )Nr:   ©r!   r;   Fr<   r>   rD   s        r   Útest_query_NonezTestCompat.test_query_None?   s]   € Ø—’˜%¨�Ñ-Ô-ˆÝ
Ô˜f iÑ0Ô0Ð0Ø—’˜ t�Ñ,Ô,ˆÝ
Ô˜v y¸eÐDÑDÔDÐDÐDÐDr   c                 óº   — |                      dd¬¦  «        }t          j        ||¦  «         |                     dd¬¦  «        }t          j        ||d¬¦  «         d S )Nr:   r   rH   r;   Fr<   r>   rD   s        r   Útest_query_pythonzTestCompat.test_query_pythonE   s]   € Ø—’˜%¨�Ñ1Ô1ˆÝ
Ô˜f iÑ0Ô0Ð0Ø—’˜ x�Ñ0Ô0ˆÝ
Ô˜v y¸eÐDÑDÔDÐDÐDÐDr   c                 óú  — t           r\|                     dd¬¦  «        }t          j        ||¦  «         |                     dd¬¦  «        }t          j        ||d¬¦  «         d S d}t          j        t          |¬¦  «        5  |                     dd¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  |                     dd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )	Nr:   r   rH   r;   Fr<   z~'numexpr' is not installed or an unsupported version. Cannot use engine='numexpr' for query/eval if 'numexpr' is not installed©Úmatch)	r
   r?   r@   rA   rB   rC   r#   ÚraisesÚImportError)r0   r1   r5   r8   rE   Úmsgs         r   Útest_query_numexprzTestCompat.test_query_numexprK   s€  € Ýð 	1Ø—X’X˜e¨I�XÑ6Ô6ˆFÝÔ! &¨)Ñ4Ô4Ð4Ø—W’W˜U¨9�WÑ5Ô5ˆFÝÔ" 6¨9À%ÐHÑHÔHÐHÐHÐHð!ð õ
 ”�{°#Ð6Ñ6Ô6ð 2ð 2Ø—’˜ y�Ñ1Ô1Ð1ð2ð 2ð 2ñ 2ô 2ð 2ð 2ð 2ð 2ð 2ð 2øøøð 2ð 2ð 2ð 2å”�{°#Ð6Ñ6Ô6ð 1ð 1Ø—’˜ i�Ñ0Ô0Ð0ð1ð 1ð 1ñ 1ô 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1øøøð 1ð 1ð 1ð 1ð 1ð 1s$   ÂB%Â%B)Â,B)ÃC0Ã0C4Ã7C4N)Ú__name__Ú
__module__Ú__qualname__r#   Úfixturer1   r5   r8   rF   rI   rK   rR   r   r   r   r'   r'   *   s®   € € € € € Ø„^ð+ð +ñ „^ð+ð „^ðð ñ „^ðð „^ðð ñ „^ððEð Eð EðEð Eð EðEð Eð Eð1ð 1ð 1ð 1ð 1r   r'   c                   óÄ   — e Zd Zej                             dddg¦  «        ej                             dg d¢¦  «        d„ ¦   «         ¦   «         Zd„ Zd„ Zd	„ Z	d
„ Z
d„ Zd„ ZdS )ÚTestDataFrameEvalÚné   i   zop_str,op,rop))ú+Ú__add__Ú__radd__)ú-Ú__sub__Ú__rsub__)Ú*Ú__mul__Ú__rmul__)ú/Ú__truediv__Ú__rtruediv__c                 ót  — t          dt          |¦  «        t          d¦  «        ¬¦  «        }d|j        d<   |                     ¦   «         }t          t          j        |j        |¦  «                             |d¦  «        t          d¦  «        ¬¦  «        }t          d|› d	�¦  «        }t          d
|› d	�¦  «        }	t          j        |	|¦  «         |dv r0 t          ||¦  «        |¦  «        }	t          j        |	|¦  «         d S |dv r0 t          ||¦  «        |¦  «        }	t          j        |	|¦  «         d S d S )Nr+   Úabcd©ÚindexÚcolumnsr,   r   éÿÿÿÿ©rk   zbase z dfzm )r[   ra   )r^   rd   )r   ÚrangeÚlistÚilocÚmeanÚnpÚtileÚvaluesÚreshaperB   r@   rA   Úgetattr)
r0   Úop_strÚopÚroprY   r1   ÚmÚbaseÚexpectedrE   s
             r   Útest_opszTestDataFrameEval.test_ops_   sF  € õ �q¥ a¡¤µ$°v±,´,Ð?Ñ?Ô?ˆØˆŒ�‰
Ø�GŠG‰IŒIˆåÝŒG�A”H˜aÑ Ô ×(Ò(¨¨BÑ/Ô/½¸f¹¼ð
ñ 
ô 
ˆõ Ð+ Ð+Ð+Ð+Ñ,Ô,ˆõ Ð&˜6Ð&Ð&Ð&Ñ'Ô'ˆÝ
Ô˜f hÑ/Ô/Ð/ð �ÐÐØ$•W˜R ‘_”_ QÑ'Ô'ˆFÝÔ! &¨(Ñ3Ô3Ð3Ð3Ð3ð �:ÐÐØ%•W˜R Ñ%Ô% aÑ(Ô(ˆFÝÔ! &¨(Ñ3Ô3Ð3Ð3Ð3ð Ðr   c                 ón  — t          dt          j                             d¦  «                             d¦  «        i¦  «        }t          j        |j        dd…<   dt          j        |j        dd…         ¦  «        z
  }dt          j        |¦  «        z
  j        dd…         }t          j	        ||¦  «         d S )Nr)   r,   i¨a  r   é   r+   é   )
r   rr   ÚrandomÚdefault_rngÚstandard_normalÚnanrp   Úisnanr@   rA   )r0   r1   r|   rE   s       r   Útest_dataframe_sub_numexpr_pathz1TestDataFrameEval.test_dataframe_sub_numexpr_path…   sš   € õ ˜�RœY×2Ò2°1Ñ5Ô5×EÒEÀeÑLÔLÐMÑNÔNˆÝ”vˆŒ��!�‰Ø•r”x ¤¨¨"¨¤Ñ.Ô.Ñ.ˆØ•b”h˜r‘l”lÑ"Ô(¨¨2¨Ô.ˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/r   c                 óZ  — t          g d¢g d¢dœ¦  «        }d}t          j        t          |¬¦  «        5  |                     d„ ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  |                     d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr*   )ÚaÚbr‰   ©r)   ÚBz%expr must be a string to be evaluatedrM   c                 ó   — | j         dk    S )Nr‰   )r‹   r   s    r   r   z6TestDataFrameEval.test_query_non_str.<locals>.<lambda>”   s   € ˜qœs cšz€ r   éo   ©r   r#   rO   Ú
ValueErrorr?   ©r0   r1   rQ   s      r   Útest_query_non_strz$TestDataFrameEval.test_query_non_strŽ   s.  € å˜Y˜Y˜Y¨_¨_¨_Ð=Ð=Ñ>Ô>ˆà5ˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	+ð 	+Ø�HŠHÐ)Ð)Ñ*Ô*Ð*ð	+ð 	+ð 	+ñ 	+ô 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+øøøð 	+ð 	+ð 	+ð 	+õ Œ]�:¨SÐ1Ñ1Ô1ð 	ð 	Ø�HŠH�S‰MŒMˆMð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s#   ´AÁAÁAÁ=B Â B$Â'B$c                 óÂ   — t          dg d¢i¦  «        }d}t          j        t          |¬¦  «        5  |                     d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr)   r*   zexpr cannot be an empty stringrM   Ú rŽ   r�   s      r   Útest_query_empty_stringz)TestDataFrameEval.test_query_empty_string™   s¥   € å˜˜Y˜Y˜YÐ'Ñ(Ô(ˆà.ˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	ð 	Ø�HŠH�R‰LŒLˆLð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   ±AÁAÁAc                 óh  — t          t          j                             d¦  «                             d¦  «        t          d¦  «        ¬¦  «        }ddi}ddi}|                     d||g¬	¦  «        |d         |d         z   k    sJ ‚t          j        d||g¬	¦  «        |d         |d         z   k    sJ ‚d S )
Nr,   ©é
   r,   Úabrm   rˆ   r+   r‰   úa + b©Ú	resolvers)r   rr   r�   r‚   rƒ   ro   rB   Úpd)r0   r1   Údict1Údict2s       r   Útest_eval_resolvers_as_listz-TestDataFrameEval.test_eval_resolvers_as_list¡   s¾   € åÝŒI×!Ò! !Ñ$Ô$×4Ò4°WÑ=Ô=ÅtÈDÁzÄzð
ñ 
ô 
ˆð �a�ˆØ�a�ˆØ�wŠw�w¨5°%¨.ˆwÑ9Ô9¸UÀ3¼ZÈ%ÐPSÌ*Ñ=TÒTÐTÐTÐTÝŒw�w¨5°%¨.Ð9Ñ9Ô9¸UÀ3¼ZÈ%ÐPSÌ*Ñ=TÒTÐTÐTÐTÐTÐTr   c                 ó8  — t          t          j                             d¦  «                             d¦  «        t          d¦  «        ¬¦  «        }ddi}|                     d|g¬¦  «        }|d         |d	         |d         z  z   }t          j        ||¦  «         d S )
Nr,   r–   r˜   rm   Úcz	a + b * crš   rˆ   r‰   )	r   rr   r�   r‚   rƒ   ro   rB   r@   rC   )r0   r1   r�   rE   r|   s        r   Útest_eval_resolvers_combinedz.TestDataFrameEval.test_eval_resolvers_combined«   s—   € åÝŒI×!Ò! !Ñ$Ô$×4Ò4°WÑ=Ô=ÅtÈDÁzÄzð
ñ 
ô 
ˆð �a�ˆð —’˜°°�Ñ8Ô8ˆà�c”7˜R œW u¨S¤zÑ1Ñ1ˆÝ
Ô˜v xÑ0Ô0Ð0Ð0Ð0r   c                 ó¬   — t          dddgi¦  «        }|                     d¦  «        }t          ddgddgdœ¦  «        }t          j        ||¦  «         d S )NÚa1ÚYÚNzc = ((a1 == 'Y') & True)TF)r¤   r¡   )r   rB   r@   rA   )r0   r1   Úresr|   s       r   Útest_eval_object_dtype_binopz.TestDataFrameEval.test_eval_object_dtype_binop¸   s`   € å˜˜s C˜jÐ)Ñ*Ô*ˆØ�gŠgÐ0Ñ1Ô1ˆÝ S¨# J°d¸E°]ÐCÐCÑDÔDˆÝ
Ô˜c 8Ñ,Ô,Ð,Ð,Ð,r   N)rS   rT   rU   r#   ÚmarkÚparametrizer}   r†   r‘   r”   rŸ   r¢   r¨   r   r   r   rX   rX   ]   sÒ   € € € € € à„[×Ò˜S 1 d )Ñ,Ô,Ø„[×ÒØð	
ð 	
ð 	
ñô ð4ð 4ñô ñ -Ô,ð4ð80ð 0ð 0ð	ð 	ð 	ðð ð ðUð Uð Uð1ð 1ð 1ð-ð -ð -ð -ð -r   rX   c                   ó&   — e Zd Zd„ Zd„ Zd„ Zd„ ZdS )Ú TestDataFrameQueryWithMultiIndexc                 ó\  — t          |¦  «         t          j                             d¦  «                             ddgd¬¦  «        }t          j                             d¦  «                             ddgd¬¦  «        }t          j        ||gdd	g¬
¦  «        }t          t          j                             d¦  «                             d¦  «        |¬¦  «        }t          |j
                             d¦  «        j        |d¬¦  «        }|                     d||¬¦  «        }|                     d||¬¦  «        }	||dk             }
t          j        ||
¦  «         t          j        |	|
¦  «         |                     d||¬¦  «        }|                     d||¬¦  «        }	||dk             }
t          j        ||
¦  «         t          j        |	|
¦  «         |                     d||¬¦  «        }|                     d||¬¦  «        }	||                     dg¦  «                 }
t          j        ||
¦  «         t          j        |	|
¦  «         |                     d||¬¦  «        }|                     d||¬¦  «        }	||                     dg¦  «                  }
t          j        ||
¦  «         t          j        |	|
¦  «         |                     d||¬¦  «        }|                     d||¬¦  «        }	||                     dg¦  «                 }
t          j        ||
¦  «         t          j        |	|
¦  «         |                     d||¬¦  «        }|                     d||¬¦  «        }	||                     dg¦  «                  }
t          j        ||
¦  «         t          j        |	|
¦  «         d S )Nr,   ÚredÚgreenr—   ©ÚsizeÚeggsÚhamÚcolorÚfood©Únamesr–   ©rj   ©rj   Únamezcolor == "red"©r   r!   z"red" == colorzcolor != "red"z"red" != colorzcolor == ["red"]z["red"] == colorzcolor != ["red"]z["red"] != colorz["red"] in colorz"red" in colorz["red"] not in colorz"red" not in color©r%   rr   r�   r‚   Úchoicer   Úfrom_arraysr   rƒ   r   rj   Úget_level_valuesrt   r?   r@   rA   Úisin©r0   r   r!   rˆ   r‰   rj   r1   ÚindÚres1Úres2Úexps              r   Ú test_query_with_named_multiindexzATestDataFrameQueryWithMultiIndex.test_query_with_named_multiindexÁ   sz  € Ý  Ñ(Ô(Ð(ÝŒI×!Ò! !Ñ$Ô$×+Ò+¨U°GÐ,<À2Ð+ÑFÔFˆÝŒI×!Ò! !Ñ$Ô$×+Ò+¨V°U¨OÀ"Ð+ÑEÔEˆÝÔ&¨¨1 v°g¸vÐ5FÐGÑGÔGˆÝ•r”y×,Ò,¨QÑ/Ô/×?Ò?ÀÑHÔHÐPUÐVÑVÔVˆÝØŒH×%Ò% gÑ.Ô.Ô5¸UÈð
ñ 
ô 
ˆð
 �xŠxÐ(°ÀˆxÑGÔGˆØ�xŠxÐ(°ÀˆxÑGÔGˆØ�˜’ÔˆÝ
Ô˜d CÑ(Ô(Ð(Ý
Ô˜d CÑ(Ô(Ð(ð �xŠxÐ(°ÀˆxÑGÔGˆØ�xŠxÐ(°ÀˆxÑGÔGˆØ�˜’ÔˆÝ
Ô˜d CÑ(Ô(Ð(Ý
Ô˜d CÑ(Ô(Ð(ð �xŠxÐ*°6À&ˆxÑIÔIˆØ�xŠxÐ*°6À&ˆxÑIÔIˆØ�—’˜5˜'Ñ"Ô"Ô#ˆÝ
Ô˜d CÑ(Ô(Ð(Ý
Ô˜d CÑ(Ô(Ð(à�xŠxÐ*°6À&ˆxÑIÔIˆØ�xŠxÐ*°6À&ˆxÑIÔIˆØ�#—(’(˜E˜7Ñ#Ô#Ð#Ô$ˆÝ
Ô˜d CÑ(Ô(Ð(Ý
Ô˜d CÑ(Ô(Ð(ð �xŠxÐ*°6À&ˆxÑIÔIˆØ�xŠxÐ(°ÀˆxÑGÔGˆØ�—’˜5˜'Ñ"Ô"Ô#ˆÝ
Ô˜d CÑ(Ô(Ð(Ý
Ô˜d CÑ(Ô(Ð(à�xŠxÐ.°vÀfˆxÑMÔMˆØ�xŠxÐ,°VÀFˆxÑKÔKˆØ�#—(’(˜E˜7Ñ#Ô#Ð#Ô$ˆÝ
Ô˜d CÑ(Ô(Ð(Ý
Ô˜d CÑ(Ô(Ð(Ð(Ð(r   c                 óú  — t          |¦  «         t          j                             d¦  «                             ddgd¬¦  «        }t          j                             d¦  «                             ddgd¬¦  «        }t          j        ||g¦  «        }t          t          j                             d¦  «                             d¦  «        |¬	¦  «        }t          |j
                             d
¦  «        j        |¬	¦  «        }|                     d||¬¦  «        }|                     d||¬¦  «        }	||dk             }
t          j        ||
¦  «         t          j        |	|
¦  «         |                     d||¬¦  «        }|                     d||¬¦  «        }	||dk             }
t          j        ||
¦  «         t          j        |	|
¦  «         |                     d||¬¦  «        }|                     d||¬¦  «        }	||                     dg¦  «                 }
t          j        ||
¦  «         t          j        |	|
¦  «         |                     d||¬¦  «        }|                     d||¬¦  «        }	||                     dg¦  «                  }
t          j        ||
¦  «         t          j        |	|
¦  «         |                     d||¬¦  «        }|                     d||¬¦  «        }	||                     dg¦  «                 }
t          j        ||
¦  «         t          j        |	|
¦  «         |                     d||¬¦  «        }|                     d||¬¦  «        }	||                     dg¦  «                  }
t          j        ||
¦  «         t          j        |	|
¦  «         t          |j
                             d¦  «        j        |¬	¦  «        }|                     d||¬¦  «        }|                     d||¬¦  «        }	||dk             }
t          j        ||
¦  «         t          j        |	|
¦  «         |                     d||¬¦  «        }|                     d||¬¦  «        }	||dk             }
t          j        ||
¦  «         t          j        |	|
¦  «         |                     d||¬¦  «        }|                     d||¬¦  «        }	||                     dg¦  «                 }
t          j        ||
¦  «         t          j        |	|
¦  «         |                     d||¬¦  «        }|                     d ||¬¦  «        }	||                     dg¦  «                  }
t          j        ||
¦  «         t          j        |	|
¦  «         |                     d!||¬¦  «        }|                     d"||¬¦  «        }	||                     dg¦  «                 }
t          j        ||
¦  «         t          j        |	|
¦  «         |                     d#||¬¦  «        }|                     d$||¬¦  «        }	||                     dg¦  «                  }
t          j        ||
¦  «         t          j        |	|
¦  «         d S )%Nr,   r®   r¯   r—   r°   r²   r³   r–   r¸   r   úilevel_0 == "red"r»   z"red" == ilevel_0úilevel_0 != "red"z"red" != ilevel_0zilevel_0 == ["red"]z["red"] == ilevel_0zilevel_0 != ["red"]z["red"] != ilevel_0z["red"] in ilevel_0z"red" in ilevel_0z["red"] not in ilevel_0z"red" not in ilevel_0r+   zilevel_1 == "eggs"z"eggs" == ilevel_1zilevel_1 != "eggs"z"eggs" != ilevel_1zilevel_1 == ["eggs"]z["eggs"] == ilevel_1zilevel_1 != ["eggs"]z["eggs"] != ilevel_1z["eggs"] in ilevel_1z"eggs" in ilevel_1z["eggs"] not in ilevel_1z"eggs" not in ilevel_1r¼   rÁ   s              r   Ú"test_query_with_unnamed_multiindexzCTestDataFrameQueryWithMultiIndex.test_query_with_unnamed_multiindexó   s  € Ý  Ñ(Ô(Ð(ÝŒI×!Ò! !Ñ$Ô$×+Ò+¨U°GÐ,<À2Ð+ÑFÔFˆÝŒI×!Ò! !Ñ$Ô$×+Ò+¨V°U¨OÀ"Ð+ÑEÔEˆÝÔ&¨¨1 vÑ.Ô.ˆÝ•r”y×,Ò,¨QÑ/Ô/×?Ò?ÀÑHÔHÐPUÐVÑVÔVˆÝ�R”X×.Ò.¨qÑ1Ô1Ô8ÀÐFÑFÔFˆà�xŠxÐ+°FÀ6ˆxÑJÔJˆØ�xŠxÐ+°FÀ6ˆxÑJÔJˆØ�˜’ÔˆÝ
Ô˜d CÑ(Ô(Ð(Ý
Ô˜d CÑ(Ô(Ð(ð �xŠxÐ+°FÀ6ˆxÑJÔJˆØ�xŠxÐ+°FÀ6ˆxÑJÔJˆØ�˜’ÔˆÝ
Ô˜d CÑ(Ô(Ð(Ý
Ô˜d CÑ(Ô(Ð(ð �xŠxÐ-°fÀVˆxÑLÔLˆØ�xŠxÐ-°fÀVˆxÑLÔLˆØ�—’˜5˜'Ñ"Ô"Ô#ˆÝ
Ô˜d CÑ(Ô(Ð(Ý
Ô˜d CÑ(Ô(Ð(à�xŠxÐ-°fÀVˆxÑLÔLˆØ�xŠxÐ-°fÀVˆxÑLÔLˆØ�#—(’(˜E˜7Ñ#Ô#Ð#Ô$ˆÝ
Ô˜d CÑ(Ô(Ð(Ý
Ô˜d CÑ(Ô(Ð(ð �xŠxÐ-°fÀVˆxÑLÔLˆØ�xŠxÐ+°FÀ6ˆxÑJÔJˆØ�—’˜5˜'Ñ"Ô"Ô#ˆÝ
Ô˜d CÑ(Ô(Ð(Ý
Ô˜d CÑ(Ô(Ð(à�xŠxÐ1¸&ÈˆxÑPÔPˆØ�xŠxÐ/¸ÀvˆxÑNÔNˆØ�#—(’(˜E˜7Ñ#Ô#Ð#Ô$ˆÝ
Ô˜d CÑ(Ô(Ð(Ý
Ô˜d CÑ(Ô(Ð(õ �R”X×.Ò.¨qÑ1Ô1Ô8ÀÐFÑFÔFˆØ�xŠxÐ,°VÀFˆxÑKÔKˆØ�xŠxÐ,°VÀFˆxÑKÔKˆØ�˜’ÔˆÝ
Ô˜d CÑ(Ô(Ð(Ý
Ô˜d CÑ(Ô(Ð(ð �xŠxÐ,°VÀFˆxÑKÔKˆØ�xŠxÐ,°VÀFˆxÑKÔKˆØ�˜’ÔˆÝ
Ô˜d CÑ(Ô(Ð(Ý
Ô˜d CÑ(Ô(Ð(ð �xŠxÐ.°vÀfˆxÑMÔMˆØ�xŠxÐ.°vÀfˆxÑMÔMˆØ�—’˜6˜(Ñ#Ô#Ô$ˆÝ
Ô˜d CÑ(Ô(Ð(Ý
Ô˜d CÑ(Ô(Ð(à�xŠxÐ.°vÀfˆxÑMÔMˆØ�xŠxÐ.°vÀfˆxÑMÔMˆØ�#—(’(˜F˜8Ñ$Ô$Ð$Ô%ˆÝ
Ô˜d CÑ(Ô(Ð(Ý
Ô˜d CÑ(Ô(Ð(ð �xŠxÐ.°vÀfˆxÑMÔMˆØ�xŠxÐ,°VÀFˆxÑKÔKˆØ�—’˜6˜(Ñ#Ô#Ô$ˆÝ
Ô˜d CÑ(Ô(Ð(Ý
Ô˜d CÑ(Ô(Ð(à�xŠxÐ2¸6È&ˆxÑQÔQˆØ�xŠxÐ0¸ÈˆxÑOÔOˆØ�#—(’(˜F˜8Ñ$Ô$Ð$Ô%ˆÝ
Ô˜d CÑ(Ô(Ð(Ý
Ô˜d CÑ(Ô(Ð(Ð(Ð(r   c                 ó´  — t          |¦  «         t          j                             d¦  «                             ddgd¬¦  «        }t          j        d¦  «        }t          j        ||g¦  «        }d dg|_        t          t          j                             d¦  «         
                    d¦  «        |¬¦  «        }|                     d	||¬
¦  «        }t          |j                             d¦  «        j        |d¬¦  «        }||dk             }	t!          j        ||	¦  «         |                     d||¬
¦  «        }t          |j                             d¦  «        j        |d¬¦  «        }||dk             }	t!          j        ||	¦  «         |                     d||¬
¦  «        }t          |j                             d¦  «        j        |¬¦  «        }||dk             }	t!          j        ||	¦  «         |                     d||¬
¦  «        }t          |j                             d¦  «        j        |¬¦  «        }||dk             }	t!          j        ||	¦  «         d S )Nr,   r®   r¯   r—   r°   Úratingr–   r¸   zrating == 1r»   r¹   r+   zrating != 1rÈ   r   rÉ   )r%   rr   r�   r‚   r½   Úaranger   r¾   r·   r   rƒ   r?   r   rj   r¿   rt   r@   rA   )
r0   r   r!   rˆ   r‰   rj   r1   r§   rÂ   rÅ   s
             r   Ú*test_query_with_partially_named_multiindexzKTestDataFrameQueryWithMultiIndex.test_query_with_partially_named_multiindexK  s+  € Ý  Ñ(Ô(Ð(ÝŒI×!Ò! !Ñ$Ô$×+Ò+¨U°GÐ,<À2Ð+ÑFÔFˆÝŒI�b‰MŒMˆÝÔ&¨¨1 vÑ.Ô.ˆØ˜XÐ&ˆŒÝ•r”y×,Ò,¨QÑ/Ô/×?Ò?ÀÑHÔHÐPUÐVÑVÔVˆØ�hŠh�}¨V¸FˆhÑCÔCˆÝØŒH×%Ò% hÑ/Ô/Ô6¸eÈ(ð
ñ 
ô 
ˆð �˜’ŒlˆÝ
Ô˜c 3Ñ'Ô'Ð'à�hŠh�}¨V¸FˆhÑCÔCˆÝØŒH×%Ò% hÑ/Ô/Ô6¸eÈ(ð
ñ 
ô 
ˆð �˜’ŒlˆÝ
Ô˜c 3Ñ'Ô'Ð'à�hŠhÐ*°6À&ˆhÑIÔIˆÝ�R”X×.Ò.¨qÑ1Ô1Ô8ÀÐFÑFÔFˆØ�˜’ÔˆÝ
Ô˜c 3Ñ'Ô'Ð'à�hŠhÐ*°6À&ˆhÑIÔIˆÝ�R”X×.Ò.¨qÑ1Ô1Ô8ÀÐFÑFÔFˆØ�˜’ÔˆÝ
Ô˜c 3Ñ'Ô'Ð'Ð'Ð'r   c           	      ót  — t          t          j        d¦  «        t          j        d„ t          d¦  «        D ¦   «         ddg¬¦  «        ¬¦  «        }|                     ¦   «         }d„ }|j                             ¦   «         }|j	        | ||j	        d¦  «         ||j	        d¦  «        |d	œ}| 
                    ¦   «         D ]w\  }}t          |t          ¦  «        r|                     ||         ¦  «        sJ ‚Œ8t          |t          ¦  «        rt          j        |||         ¦  «         Œit#          d
¦  «        ‚d S )N©r—   r-   c                 ó,   — g | ]}t          d ¦  «        ‘ŒS )r—   )rn   )Ú.0Ú_s     r   ú
<listcomp>z^TestDataFrameQueryWithMultiIndex.test_query_multiindex_get_index_resolvers.<locals>.<listcomp>n  s   € Ð-Ð-Ð-˜q•�r‘”Ð-Ð-Ð-r   r,   Úspamr²   r¶   r¸   c                 óf   — |                       |¦  «        }|                     ¦   «         }| |_        |S r   )r¿   Ú	to_seriesrj   )ÚmiÚlevelÚlevel_valuesÚss       r   r×   z]TestDataFrameQueryWithMultiIndex.test_query_multiindex_get_index_resolvers.<locals>.to_seriess  s2   € Ø×.Ò.¨uÑ5Ô5ˆLØ×&Ò&Ñ(Ô(ˆAØˆAŒGØˆHr   )rj   rk   rÕ   r²   Úclevel_0z object must be a Series or Index)r   rr   Úonesr   r¾   rn   Ú_get_index_resolversrk   r×   rj   ÚitemsÚ
isinstancer   Úis_r   r@   rC   ÚAssertionError)r0   r1   r›   r×   Ú
col_seriesr|   ÚkÚvs           r   Ú)test_query_multiindex_get_index_resolverszJTestDataFrameQueryWithMultiIndex.test_query_multiindex_get_index_resolversj  sa  € ÝÝŒG�GÑÔÝÔ(Ø-Ð-¥E¨!¡H¤HÐ-Ñ-Ô-°f¸fÐ5Eðñ ô ð
ñ 
ô 
ˆð ×+Ò+Ñ-Ô-ˆ	ð	ð 	ð 	ð ”Z×)Ò)Ñ+Ô+ˆ
à”XØ!Ø�I˜bœh¨Ñ/Ô/Ø�I˜bœh¨Ñ/Ô/Ø"ð
ð 
ˆð —O’OÑ%Ô%ð 	Ið 	I‰DˆAˆqÝ˜!�UÑ#Ô#ð IØ—u’u˜X aœ[Ñ)Ô)Ð)Ð)Ð)Ð)Ý˜A�vÑ&Ô&ð IÝÔ& q¨(°1¬+Ñ6Ô6Ð6Ð6å$Ð%GÑHÔHÐHð	Ið 	Ir   N)rS   rT   rU   rÆ   rÊ   rÎ   ræ   r   r   r   r¬   r¬   À   sZ   € € € € € ð0)ð 0)ð 0)ðdV)ð V)ð V)ðp(ð (ð (ð>Ið Ið Ið Ið Ir   r¬   c                   óF  — e Zd Zej        d„ ¦   «         Zej        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„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zej                             ddej         gdej!        gg¦  «        d„ ¦   «         Z"d„ Z#d„ Z$dS ) ÚTestDataFrameQueryNumExprPandasc                 ó   — dS ©Nr   r   r/   s    r   r!   z&TestDataFrameQueryNumExprPandas.engineŒ  ó   € àˆyr   c                 ó   — dS ©Nr   r   r/   s    r   r   z&TestDataFrameQueryNumExprPandas.parser�  ó   € àˆxr   c                 ó®  — t          |¦  «         t          t          j                             d¦  «                             d¦  «        ¦  «        }t          dd¬¦  «        |d<   t          dd¬¦  «        |d<   t          d	d¬¦  «        |d
<   |                     d||¬¦  «        }||j        dk     d|j	        k     z           }t          j        ||¦  «         d S )Nr,   ©r   r-   ú1/1/2012r   ©ÚperiodsÚdates1ú1/1/2013Údates2ú1/1/2014Údates3z"@df.dates1 < 20130101 < @df.dates3©r!   r   Ú20130101)r%   r   rr   r�   r‚   rƒ   r	   r?   rô   rø   r@   rA   ©r0   r!   r   r1   r§   Úexpecs         r   Ú%test_date_query_with_attribute_accesszETestDataFrameQueryNumExprPandas.test_date_query_with_attribute_access”  sÔ   € Ý  Ñ(Ô(Ð(Ý•r”y×,Ò,¨QÑ/Ô/×?Ò?ÀÑGÔGÑHÔHˆÝ! *°aÐ8Ñ8Ô8ˆˆ8‰Ý! *°aÐ8Ñ8Ô8ˆˆ8‰Ý! *°aÐ8Ñ8Ô8ˆˆ8‰Ø�hŠhØ0¸Èð ñ 
ô 
ˆð �B”I 
Ò*¨z¸B¼IÒ/EÑFÔGˆÝ
Ô˜c 5Ñ)Ô)Ð)Ð)Ð)r   c                 ó�  — t          t          j                             d¦  «                             d¦  «        ¦  «        }t          dd¬¦  «        |d<   t          dd¬¦  «        |d<   t          d	d¬¦  «        |d
<   |                     d||¬¦  «        }||j        dk     d|j        k     z           }t          j
        ||¦  «         d S )Nr,   rð   rñ   r   rò   rô   rõ   rö   r÷   rø   údates1 < 20130101 < dates3rù   rú   ©r   rr   r�   r‚   rƒ   r	   r?   rô   rø   r@   rA   rû   s         r   Ú#test_date_query_no_attribute_accesszCTestDataFrameQueryNumExprPandas.test_date_query_no_attribute_access   s½   € Ý•r”y×,Ò,¨QÑ/Ô/×?Ò?ÀÑGÔGÑHÔHˆÝ! *°aÐ8Ñ8Ô8ˆˆ8‰Ý! *°aÐ8Ñ8Ô8ˆˆ8‰Ý! *°aÐ8Ñ8Ô8ˆˆ8‰Ø�hŠhÐ3¸FÈ6ˆhÑRÔRˆØ�B”I 
Ò*¨z¸B¼IÒ/EÑFÔGˆÝ
Ô˜c 5Ñ)Ô)Ð)Ð)Ð)r   c                 óÀ  — d}t          t          j                             d¦  «                             |df¦  «        ¦  «        }t          d|¬¦  «        |d<   t          d|¬¦  «        |d<   t          d	|¬¦  «        |d
<   t          j        |j        t          j                             d¦  «                             |¦  «        dk    df<   t          j        |j        t          j                             d¦  «                             |¦  «        dk    d
f<   | 	                    d||¬¦  «        }||j
        dk     d|j        k     z           }t          j        ||¦  «         d S )Nr—   r,   r-   rñ   rò   rô   rõ   rö   r÷   rø   ç      à?rÿ   rù   rú   ©r   rr   r�   r‚   rƒ   r	   rœ   ÚNaTÚlocr?   rô   rø   r@   rA   ©r0   r!   r   rY   r1   r§   rü   s          r   Útest_date_query_with_NaTz8TestDataFrameQueryNumExprPandas.test_date_query_with_NaT©  s2  € ØˆÝ•r”y×,Ò,¨QÑ/Ô/×?Ò?ÀÀAÀÑGÔGÑHÔHˆÝ! *°aÐ8Ñ8Ô8ˆˆ8‰Ý! *°aÐ8Ñ8Ô8ˆˆ8‰Ý! *°aÐ8Ñ8Ô8ˆˆ8‰ÝEGÄVˆŒ�rŒy×$Ò$ QÑ'Ô'×.Ò.¨qÑ1Ô1°CÒ7¸ÐAÑBÝEGÄVˆŒ�rŒy×$Ò$ QÑ'Ô'×.Ò.¨qÑ1Ô1°CÒ7¸ÐAÑBØ�hŠhÐ3¸FÈ6ˆhÑRÔRˆØ�B”I 
Ò*¨z¸B¼IÒ/EÑFÔGˆÝ
Ô˜c 5Ñ)Ô)Ð)Ð)Ð)r   c                 ó¨  — d}t          t          j                             d¦  «                             |df¦  «        ¦  «        }t          d|¬¦  «        |d<   t          d|¬¦  «        |d<   |                     dd	d	¬
¦  «        }|�J ‚|                     d||¬¦  «        }||j        dk     d|j	        k     z           }t          j        ||¦  «         d S )Nr—   r,   r-   rñ   rò   rô   r÷   rø   T©ÚinplaceÚdropúindex < 20130101 < dates3rù   rú   ©r   rr   r�   r‚   rƒ   r	   Ú	set_indexr?   rj   rø   r@   rA   ©r0   r!   r   rY   r1   Úreturn_valuer§   rü   s           r   Útest_date_index_queryz5TestDataFrameQueryNumExprPandas.test_date_index_queryµ  sÓ   € ØˆÝ•r”y×,Ò,¨QÑ/Ô/×?Ò?ÀÀAÀÑGÔGÑHÔHˆÝ! *°aÐ8Ñ8Ô8ˆˆ8‰Ý! *°aÐ8Ñ8Ô8ˆˆ8‰Ø—|’| H°dÀ�|ÑFÔFˆØÐ#Ð#Ð#Ø�hŠhÐ2¸6È&ˆhÑQÔQˆØ�B”H˜zÒ)¨j¸2¼9Ò.DÑEÔFˆÝ
Ô˜c 5Ñ)Ô)Ð)Ð)Ð)r   c                 ó  — d}t          t          j                             d¦  «                             |df¦  «        ¦  «                             dt          i¦  «        }t          d|¬¦  «        |d<   t          d|¬¦  «        |d	<   t          j	        |j
        d
<   |                     ddd¬¦  «        }|�J ‚|                     d||¬¦  «        }||j        dk     d|j        k     z           }t          j        ||¦  «         d S )Nr—   r,   r-   r   rñ   rò   rô   r÷   rø   ©r   r   Tr
  r  rù   rú   ©r   rr   r�   r‚   rƒ   ÚastypeÚobjectr	   rœ   r  rp   r  r?   rj   rø   r@   rA   r  s           r   Útest_date_index_query_with_NaTz>TestDataFrameQueryNumExprPandas.test_date_index_query_with_NaTÀ  sù   € Øˆå•r”y×,Ò,¨QÑ/Ô/×?Ò?ÀÀAÀÑGÔGÑHÔH×OÒOØ•ˆKñ
ô 
ˆõ " *°aÐ8Ñ8Ô8ˆˆ8‰Ý! *°aÐ8Ñ8Ô8ˆˆ8‰ÝœˆŒ�‰Ø—|’| H°dÀ�|ÑFÔFˆØÐ#Ð#Ð#Ø�hŠhÐ2¸6È&ˆhÑQÔQˆØ�B”H˜zÒ)¨j¸2¼9Ò.DÑEÔFˆÝ
Ô˜c 5Ñ)Ô)Ð)Ð)Ð)r   c                 ó   — d}i }t          d|¬¦  «        |d<   t          d|¬¦  «        |d<   t          |¦  «        }t          j        |j        t
          j                             d¦  «                             |¦  «        dk    df<   |                     dd	d	¬
¦  «        }|�J ‚| 	                    d||¬¦  «        }||j
                             ¦   «         dk     d|j        k     z           }t          j        ||¦  «         d S )Nr—   rñ   rò   rô   r÷   rø   r,   r  Tr
  rÿ   rù   rú   )r	   r   rœ   r  r  rr   r�   r‚   r  r?   rj   r×   rø   r@   rA   )	r0   r!   r   rY   Údr1   r  r§   rü   s	            r   Ú)test_date_index_query_with_NaT_duplicateszITestDataFrameQueryNumExprPandas.test_date_index_query_with_NaT_duplicatesÏ  sö   € ØˆØˆÝ  °QÐ7Ñ7Ô7ˆˆ(‰Ý  °QÐ7Ñ7Ô7ˆˆ(‰Ý�q‰\Œ\ˆÝEGÄVˆŒ�rŒy×$Ò$ QÑ'Ô'×.Ò.¨qÑ1Ô1°CÒ7¸ÐAÑBØ—|’| H°dÀ�|ÑFÔFˆØÐ#Ð#Ð#Ø�hŠhÐ3¸FÈ6ˆhÑRÔRˆØ�B”H×&Ò&Ñ(Ô(¨:Ò5¸*ÀrÄyÒ:PÑQÔRˆÝ
Ô˜c 5Ñ)Ô)Ð)Ð)Ð)r   c                 óÐ  — d}t          t          d|¬¦  «        t          j        |¦  «        dœ¦  «        }|                     d||¬¦  «        }t          |¦  «        dk    sJ ‚|                     d||¬¦  «        }t          j        ||¦  «         d	}d
D ]Q}t          j	        t          |¬¦  «        5  |                     d|› d�||¬¦  «         d d d ¦  «         n# 1 swxY w Y   ŒRd S )Nr—   rñ   rò   )ÚdatesÚnondatezdates == nondater»   r   zdates != nondatez=Invalid comparison between dtype=datetime64\[ns\] and ndarray)ú<ú>ú<=ú>=rM   zdates z nondate)r   r	   rr   rÍ   r?   Úlenr@   rA   r#   rO   Ú	TypeError)r0   r!   r   rY   r1   rE   rQ   rx   s           r   Útest_date_query_with_non_datez=TestDataFrameQueryNumExprPandas.test_date_query_with_non_dateÜ  sT  € ØˆÝÝ  °QÐ7Ñ7Ô7ÅBÄIÈaÁLÄLÐQÐQñ
ô 
ˆð —’Ð,°VÀF�ÑKÔKˆÝ�6‰{Œ{˜aÒÐÐÐà—’Ð,°VÀF�ÑKÔKˆÝ
Ô˜f bÑ)Ô)Ð)àNˆØ(ð 	Nð 	NˆBÝ”�y°Ð4Ñ4Ô4ð Nð NØ—’Ð. "Ð.Ð.Ð.°vÀf�ÑMÔMÐMðNð Nð Nñ Nô Nð Nð Nð Nð Nð Nð Nøøøð Nð Nð Nð Nøð	Nð 	Ns   Â1CÃC	Ã!C	c                 ó  — t          t          d¦  «        t          dd¦  «        t          dd¦  «        dœ¦  «        }d}t          j        t          |¬¦  «        5  |                     d	||¬
¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr—   r-   é   rZ   é   )Úir[   Úrzinvalid syntaxrM   zi - +rù   )r   rn   r#   rO   ÚSyntaxErrorr?   )r0   r!   r   r1   rQ   s        r   Útest_query_syntax_errorz7TestDataFrameQueryNumExprPandas.test_query_syntax_errorí  sÅ   € Ý�U 2™YœY­U°1°b©\¬\ÅÀaÈÁÄÐMÐMÑNÔNˆØˆÝŒ]�;¨cÐ2Ñ2Ô2ð 	<ð 	<Ø�HŠH�W V°FˆHÑ;Ô;Ð;ð	<ð 	<ð 	<ñ 	<ô 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<øøøð 	<ð 	<ð 	<ð 	<ð 	<ð 	<s   ÁB Â BÂBc                 óú  — t          |¦  «         t          t          j                             d¦  «                             d¦  «        t          d¦  «        ¬¦  «        }d\  }}|                     d||¬¦  «        }||j        |j	        k             }t          j        ||¦  «         |                     d||¬¦  «        }|||j	        k             }t          j        ||¦  «         t          j        t          d	¬
¦  «        5  |                     d||¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬
¦  «        5  |                     d||¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr,   )é   r,   r˜   rm   )r+   r,   za > brù   z@a > bú!local variable 'c' is not definedrM   z@a > b > @czname 'c' is not definedz
@a > b > c)r%   r   rr   r�   r‚   rƒ   ro   r?   rˆ   r‰   r@   rA   r#   rO   r   )r0   r!   r   r1   rˆ   r‰   r§   r|   s           r   Útest_query_scopez0TestDataFrameQueryNumExprPandas.test_query_scopeó  s  € Ý  Ñ(Ô(Ð(åÝŒI×!Ò! !Ñ$Ô$×4Ò4°WÑ=Ô=ÅtÈDÁzÄzð
ñ 
ô 
ˆð ‰ˆˆ1Ø�hŠh�w v°fˆhÑ=Ô=ˆØ�b”d˜RœT’k”?ˆÝ
Ô˜c 8Ñ,Ô,Ð,à�hŠh�x¨°vˆhÑ>Ô>ˆØ�a˜"œ$’h”<ˆÝ
Ô˜c 8Ñ,Ô,Ð,õ Œ]Ý"Ð*Mð
ñ 
ô 
ð 	Bð 	Bð �HŠH�]¨6¸&ˆHÑAÔAÐAð	Bð 	Bð 	Bñ 	Bô 	Bð 	Bð 	Bð 	Bð 	Bð 	Bð 	Bøøøð 	Bð 	Bð 	Bð 	Bõ Œ]Õ1Ð9RÐSÑSÔSð 	Að 	AØ�HŠH�\¨&¸ˆHÑ@Ô@Ð@ð	Að 	Að 	Añ 	Aô 	Að 	Að 	Að 	Að 	Að 	Að 	Að 	Aøøøð 	Að 	Að 	Að 	Að 	Að 	As$   Ã?D$Ä$D(Ä+D(Å
E0Å0E4Å7E4c                 óJ  — dx}}t          t          j                             d¦  «                             ||df¬¦  «        t          d¦  «        ¬¦  «        }t          j        t          d¬¦  «        5  | 	                    d	||¬
¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr—   r,   r-   r°   Úabcrm   zname 'sin' is not definedrM   úsin > 5rù   )
r   rr   r�   r‚   Úintegersro   r#   rO   r   r?   )r0   r!   r   rY   rz   r1   s         r   Útest_query_doesnt_pickup_localz>TestDataFrameQueryNumExprPandas.test_query_doesnt_pickup_local  sæ   € Øˆ
ˆˆAÝÝŒI×!Ò! !Ñ$Ô$×-Ò-¨a°q¸!°fÐ-Ñ=Ô=ÅtÈEÁ{Ä{ð
ñ 
ô 
ˆõ
 Œ]Õ1Ð9TÐUÑUÔUð 	>ð 	>Ø�HŠH�Y v°fˆHÑ=Ô=Ð=ð	>ð 	>ð 	>ñ 	>ô 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>øøøð 	>ð 	>ð 	>ð 	>ð 	>ð 	>s   Á2BÂBÂBc                 óf  — dx}}t          t          j                             d¦  «                             ||df¬¦  «        t          d¦  «        ¬¦  «        }d|j        _        d}t          j	        t          |¬	¦  «        5  |                     d
||¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr—   r,   r-   r°   r2  rm   ÚsinzVariables in expression.+rM   r3  rù   )r   rr   r�   r‚   r4  ro   rj   rº   r#   rO   r   r?   )r0   r!   r   rY   rz   r1   rQ   s          r   Útest_query_builtinz2TestDataFrameQueryNumExprPandas.test_query_builtin  só   € Øˆ
ˆˆAÝÝŒI×!Ò! !Ñ$Ô$×-Ò-¨a°q¸!°fÐ-Ñ=Ô=ÅtÈEÁ{Ä{ð
ñ 
ô 
ˆð ˆŒŒØ)ˆÝŒ]Õ1¸Ð=Ñ=Ô=ð 	>ð 	>Ø�HŠH�Y v°fˆHÑ=Ô=Ð=ð	>ð 	>ð 	>ñ 	>ô 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>øøøð 	>ð 	>ð 	>ð 	>ð 	>ð 	>s   Â B&Â&B*Â-B*c                 ó¨  — t          t          j                             d¦  «                             d¦  «        g d¢¬¦  «        }t          j        |                     d||¬¦  «        ||j        |j	        k              ¦  «         t          j        |                     d||¬¦  «        ||j        |j	        z   |j	        |j
        z  k             ¦  «         d S )Nr,   rÐ   ©rˆ   r‰   r¡   rm   úa < brù   za + b > b * c)r   rr   r�   r‚   rƒ   r@   rA   r?   rˆ   r‰   r¡   ©r0   r!   r   r1   s       r   Ú
test_queryz*TestDataFrameQueryNumExprPandas.test_query"  sÊ   € ÝÝŒI×!Ò! !Ñ$Ô$×4Ò4°WÑ=Ô=ÀÀÀð
ñ 
ô 
ˆõ 	ÔØ�HŠH�W V°FˆHÑ;Ô;¸RÀÄÀrÄtÂ¼_ñ	
ô 	
ð 	
õ 	ÔØ�HŠH�_¨V¸FˆHÑCÔCØˆrŒt�b”d‰{˜RœT B¤D™[Ò(Ô)ñ	
ô 	
ð 	
ð 	
ð 	
r   c                 óî  — t          t          j                             d¦  «                             dd¬¦  «        t          t          d¦  «        d¬¦  «        g d¢¬¦  «        }|                     d	||¬
¦  «        }||j        dk     |j	        |j
        k     z           }t          j        ||¦  «         |                     d||¬
¦  «        }||j        |j
        k              }t          j        ||¦  «         d S )Nr,   r—   rÐ   r°   Úblob©rº   r:  ri   z(blob < 5) & (a < b)rù   r   zblob < b)r   rr   r�   r‚   r4  r   rn   r?   rj   rˆ   r‰   r@   rA   rû   s         r   Útest_query_index_with_namez:TestDataFrameQueryNumExprPandas.test_query_index_with_name/  så   € ÝÝŒI×!Ò! !Ñ$Ô$×-Ò-¨b°wÐ-Ñ?Ô?Ý�˜b™	œ	¨Ð/Ñ/Ô/Ø#�O�Oð
ñ 
ô 
ˆð
 �hŠhÐ-°fÀVˆhÑLÔLˆØ�B”H˜q’L R¤T¨B¬D¢[Ñ1Ô2ˆÝ
Ô˜c 5Ñ)Ô)Ð)à�hŠh�z¨&¸ˆhÑ@Ô@ˆØ�2”8˜bœd’?Ô#ˆå
Ô˜c 5Ñ)Ô)Ð)Ð)Ð)r   c                 ó®  — t          t          j                             d¦  «                             dd¬¦  «        t          d¦  «        g d¢¬¦  «        }|                     d||¬¦  «        }||j        |j        k              }t          j
        ||¦  «         |                     d	||¬¦  «        }||j        d
k              }t          j
        ||¦  «         d S )Nr,   r—   rÐ   r°   r:  ri   z	index < brù   z	index < 5r   )r   rr   r�   r‚   r4  rn   r?   rj   r‰   r@   rA   rû   s         r   Útest_query_index_without_namez=TestDataFrameQueryNumExprPandas.test_query_index_without_name>  sÌ   € ÝÝŒI×!Ò! !Ñ$Ô$×-Ò-¨b°wÐ-Ñ?Ô?Ý˜‘)”)Ø#�O�Oð
ñ 
ô 
ˆð �hŠh�{¨6¸&ˆhÑAÔAˆØ�2”8˜bœd’?Ô#ˆÝ
Ô˜c 5Ñ)Ô)Ð)ð �hŠh�{¨6¸&ˆhÑAÔAˆØ�2”8˜a’<Ô ˆÝ
Ô˜c 5Ñ)Ô)Ð)Ð)Ð)r   c                 ó   — t          |¦  «         t          t          j                             d¦  «                             d¦  «        ¦  «        }t          t          j                             d¦  «                             d¦  «        ¦  «        }||dk    |dk    z           }|                     d||¬¦  «        }t          j        ||¦  «         t          j
        d||¬¦  «        }t          j        ||¦  «         t          j
        d||¬¦  «        }||dk    |dk    z  ||dk             dk    z           }t          j        ||¦  «         t          j
        d||¬¦  «        }|                     d	||¬¦  «        }t          j        ||¦  «         d S )
Nr,   rð   r   z(@df > 0) & (@df2 > 0)rù   zdf[df > 0 and df2 > 0]z)df[df > 0 and df2 > 0 and df[df > 0] > 0]zdf[(df>0) & (df2>0)]ú(@df>0) & (@df2>0))r%   r   rr   r�   r‚   rƒ   r?   r@   rA   rœ   rB   )r0   r!   r   r1   Údf2r|   rE   s          r   Útest_nested_scopez1TestDataFrameQueryNumExprPandas.test_nested_scopeO  st  € Ý  Ñ(Ô(Ð(å•r”y×,Ò,¨QÑ/Ô/×?Ò?ÀÑGÔGÑHÔHˆÝ�œ	×-Ò-¨aÑ0Ô0×@Ò@ÀÑHÔHÑIÔIˆØ�r˜A’v #¨¢'Ñ*Ô+ˆà—’Ð2¸6È&�ÑQÔQˆÝ
Ô˜f hÑ/Ô/Ð/å”Ð1¸&ÈÐPÑPÔPˆÝ
Ô˜f hÑ/Ô/Ð/å”Ø7ÀÈvð
ñ 
ô 
ˆð �r˜A’v #¨¢'Ñ*¨b°°a²¬j¸1ªnÑ=Ô>ˆÝ
Ô˜f hÑ/Ô/Ð/å”Ð/¸ÀvÐNÑNÔNˆØ—8’8Ð0¸È�8ÑOÔOˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/r   c                 ó  — t          t          j                             d¦  «                             d¦  «        ¦  «        }t          j        t          d¬¦  «        5  |                     d||¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr,   rð   úname 'df' is not definedrM   zdf > 0rù   )	r   rr   r�   r‚   rƒ   r#   rO   r   r?   r<  s       r   Ú*test_nested_raises_on_local_self_referencezJTestDataFrameQueryNumExprPandas.test_nested_raises_on_local_self_referencef  sÂ   € Ý•r”y×,Ò,¨QÑ/Ô/×?Ò?ÀÑGÔGÑHÔHˆõ Œ]Õ1Ð9SÐTÑTÔTð 	=ð 	=Ø�HŠH�X f°VˆHÑ<Ô<Ð<ð	=ð 	=ð 	=ñ 	=ô 	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=øøøð 	=ð 	=ð 	=ð 	=ð 	=ð 	=s   ÁBÂBÂBc                 óÆ  — t          |¦  «         t          t          j                             d¦  «                             d¦  «        t          d¦  «        ¬¦  «        }d}||j        |k              }|                     d||¬¦  «        }t          j
        ||¦  «         ||j        |j        k              }|                     d||¬¦  «        }t          j
        ||¦  «         d S )	Nr,   )éd   r—   Ú
abcdefghijrm   r+   za < @brù   r;  )r%   r   rr   r�   r‚   rƒ   ro   rˆ   r?   r@   rA   r‰   )r0   r!   r   r1   r‰   ÚexpectrE   s          r   Útest_local_syntaxz1TestDataFrameQueryNumExprPandas.test_local_syntaxm  sÑ   € Ý  Ñ(Ô(Ð(åÝŒI×!Ò! !Ñ$Ô$×4Ò4°YÑ?Ô?Ý˜Ñ&Ô&ð
ñ 
ô 
ˆð ˆØ�B”D˜1’H”ˆØ—’˜(¨6¸&�ÑAÔAˆÝ
Ô˜f fÑ-Ô-Ð-à�B”D˜2œ4’K”ˆØ—’˜'¨&¸�Ñ@Ô@ˆÝ
Ô˜f fÑ-Ô-Ð-Ð-Ð-r   c                 ó  — t          |¦  «         t          d¦  «        }t          t          j                             d¦  «                             dt          |¦  «        f¦  «        |¬¦  «        }|                     d||¬¦  «        }|j	        |j
        k     |j
        |j        k     z  |j
                             |j	        ¦  «         z  |j                             |j
        ¦  «         z  }||         }t          j        ||¦  «         d S )Nr2  r,   rL  rm   z!a < b < c and a not in b not in crù   )r%   ro   r   rr   r�   r‚   rƒ   r#  r?   rˆ   r‰   r¡   rÀ   r@   rA   )r0   r!   r   Úcolsr1   r§   rÂ   rü   s           r   Útest_chained_cmp_and_inz7TestDataFrameQueryNumExprPandas.test_chained_cmp_and_in}  sé   € Ý  Ñ(Ô(Ð(Ý�E‰{Œ{ˆÝÝŒI×!Ò! !Ñ$Ô$×4Ò4°c½3¸t¹9¼9Ð5EÑFÔFÐPTð
ñ 
ô 
ˆð �hŠhØ/¸Àvð ñ 
ô 
ˆð Œt�b”dŠ{˜rœt b¤dš{Ñ+¨r¬t¯yªy¸¼©¬Ð.>Ñ>À"Ä$Ç)Â)ÈBÌDÁ/Ä/ÐAQÑQˆØ�3”ˆÝ
Ô˜c 5Ñ)Ô)Ð)Ð)Ð)r   c                 ó$  — t          |¦  «         t          t          j                             d¦  «                             dd¬¦  «        d¬¦  «        }t          t          j                             d¦  «                             dd¬¦  «        d¬¦  «        }t          ||d	œ¦  «        }|j        |j        d
z
   	                    |¦  «                 }| 
                    d||¬¦  «        }t          j        ||¦  «         t          t          j                             d¦  «                             dd¬¦  «        d¬¦  «        }|j        |d
z
   	                    |¦  «                 }| 
                    d||¬¦  «        }t          j        ||¦  «         d S )Nr,   r-   é   r°   rˆ   r@  r—   r‰   ©rˆ   r‰   r+   z
b - 1 in arù   z@b - 1 in a)r%   r   rr   r�   r‚   r4  r   r  r‰   rÀ   r?   r@   rA   )r0   r!   r   rˆ   r‰   r1   r|   rE   s           r   Útest_local_variable_with_inz;TestDataFrameQueryNumExprPandas.test_local_variable_with_inŠ  sV  € Ý  Ñ(Ô(Ð(Ý•2”9×(Ò(¨Ñ+Ô+×4Ò4°Q¸RÐ4Ñ@Ô@ÀsÐKÑKÔKˆÝ•2”9×(Ò(¨Ñ+Ô+×4Ò4°R¸bÐ4ÑAÔAÈÐLÑLÔLˆÝ˜Q QÐ'Ð'Ñ(Ô(ˆà”6˜2œ4 !™8Ÿ/š/¨!Ñ,Ô,Ô-ˆØ—’˜,¨v¸f�ÑEÔEˆÝ
Ô˜h¨Ñ/Ô/Ð/å•2”9×(Ò(¨Ñ+Ô+×4Ò4°R¸bÐ4ÑAÔAÈÐLÑLÔLˆØ”6˜1˜q™5Ÿ,š, q™/œ/Ô*ˆØ—’˜-°¸v�ÑFÔFˆÝ
Ô˜h¨Ñ/Ô/Ð/Ð/Ð/r   c                 óÊ   — t          |¦  «         d}t          dg d¢i¦  «        }|                     d||¬¦  «        }||j        dk             }t	          j        ||¦  «         d S )Nr+   rˆ   )rˆ   rˆ   r‰   r‰   ú@crX  z	a == "@c"rù   rX  ©r%   r   r?   rˆ   r@   rA   )r0   r!   r   r¡   r1   rE   r|   s          r   Útest_at_inside_stringz5TestDataFrameQueryNumExprPandas.test_at_inside_string™  sn   € Ý  Ñ(Ô(Ð(ØˆÝ˜Ð=Ð=Ð=Ð>Ñ?Ô?ˆØ—’˜+¨f¸V�ÑDÔDˆØ�b”d˜d’lÔ#ˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/r   c                 ót  — | j         | j        }}t          |¦  «         t          t          j                             d¦  «                             d¦  «        t          d¦  «        ¬¦  «        }t          j	        t          d¬¦  «        5  |                     d||¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )	Nr,   r–   r˜   rm   r/  rM   za == @crù   )r!   r   r%   r   rr   r�   r‚   ro   r#   rO   r   r?   r<  s       r   Útest_query_undefined_localz:TestDataFrameQueryNumExprPandas.test_query_undefined_local¡  sî   € Øœ d¤k�ˆÝ  Ñ(Ô(Ð(å•r”y×,Ò,¨QÑ/Ô/×6Ò6°wÑ?Ô?ÍÈdÉÌÐTÑTÔTˆÝŒ]Ý"Ð*Mð
ñ 
ô 
ð 	>ð 	>ð �HŠH�Y v°fˆHÑ=Ô=Ð=ð	>ð 	>ð 	>ñ 	>ô 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>øøøð 	>ð 	>ð 	>ð 	>ð 	>ð 	>s   ÂB-Â-B1Â4B1c                 ó@  — d}t           j        ddd…         }t          |t           j                             d¦  «                             |j        ¦  «        dœ¦  «        }d|j        _        | 	                    d||¬¦  «        }||d         d	k             }t          j        ||¦  «         t          |t           j                             d¦  «                             |j        ¦  «        dœ¦  «        }| 	                    d
||¬¦  «        }|j        |j        |j        d	k                      }t          j        ||¦  «         t          |t           j                             d¦  «                             |j        ¦  «        dœ¦  «        }d|j        _        | 	                    d||¬¦  «        }||j        d	k             }t          j        ||¦  «         | 	                    d||¬¦  «        }|j        |j        |j        d	k                      }t          j        ||¦  «         d S )Nr+   r.  ée   r,   )rj   r‰   rj   z	index > 5rù   r   zilevel_0 > 5rU  rˆ   za > 5)rr   Úr_r   r�   r‚   rƒ   r±   rj   rº   r?   r@   rA   r  rˆ   )r0   r!   r   rY   rˆ   r1   rE   r|   s           r   Ú:test_index_resolvers_come_after_columns_with_the_same_namezZTestDataFrameQueryNumExprPandas.test_index_resolvers_come_after_columns_with_the_same_name«  sÛ  € ð ˆÝŒE�"�S˜�)ÔˆåØ�bœi×3Ò3°AÑ6Ô6×FÒFÀqÄvÑNÔNÐOÐOñ
ô 
ˆð  ˆŒŒØ—’˜+¨f¸V�ÑDÔDˆØ�b˜”k A’oÔ&ˆÝ
Ô˜f hÑ/Ô/Ð/åØ�bœi×3Ò3°AÑ6Ô6×FÒFÀqÄvÑNÔNÐOÐOñ
ô 
ˆð —’˜.°À�ÑGÔGˆØ”6˜"œ( 2¤8¨a¢<Ô0Ô1ˆÝ
Ô˜f hÑ/Ô/Ð/å˜Q¥R¤Y×%:Ò%:¸1Ñ%=Ô%=×%MÒ%MÈaÌfÑ%UÔ%UÐVÐVÑWÔWˆØˆŒŒØ—’˜'¨&¸�Ñ@Ô@ˆØ�b”d˜Q’h”<ˆÝ
Ô˜f hÑ/Ô/Ð/à—’˜+¨f¸V�ÑDÔDˆØ”6˜"œ( 2¤8¨a¢<Ô0Ô1ˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/r   zop, fú==ú!=c                 óÈ  — d}t          t          j                             d¦  «                             |¦  «        t          j                             d¦  «                             |¦  «        dœ¦  «        }t          j        |j        d d d…df<   d|› d�}| ||j        t          j        ¦  «                 }|                     |||¬¦  «        }	t          j	        |	|¦  «         d S )Nr—   r,   rU  r   úa z infrù   )
r   rr   r�   r‚   Úinfr  rˆ   r?   r@   rA   )
r0   rx   Úfr!   r   rY   r1   Úqr|   rE   s
             r   Útest_infz(TestDataFrameQueryNumExprPandas.test_infÊ  sÐ   € àˆÝå”Y×*Ò*¨1Ñ-Ô-×4Ò4°QÑ7Ô7Ý”Y×*Ò*¨1Ñ-Ô-×4Ò4°QÑ7Ô7ðð ñ
ô 
ˆõ œˆŒˆsˆs�ˆs�Aˆv‰Ø�ˆMˆMˆMˆØ�a�a˜œ�bœf‘o”oÔ&ˆØ—’˜! F°6�Ñ:Ô:ˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/r   c                 ó\  — |}t          ddd|d¬¦  «        }t          |¬¦  «        }t          |¬¦  «        }|                     d¦  «        }t          j        ||¦  «         t          |¦  «        }|                     ¦   «                              d¦  «        }t          j        ||¦  «         d S )Nz
2019-01-01Ú1dr—   Útime)ÚstartÚfreqró   Útzrº   r¸   z"2018-01-03 00:00:00+00" < time)r	   r   r?   r@   rA   Úreset_index)r0   Útz_aware_fixturern  Údf_indexr|   r1   rE   s          r   Útest_check_tz_aware_index_queryz?TestDataFrameQueryNumExprPandas.test_check_tz_aware_index_queryÙ  s±   € àˆÝØ T°2¸"À6ð
ñ 
ô 
ˆõ  8Ð,Ñ,Ô,ˆÝ˜XÐ&Ñ&Ô&ˆØ—’Ð;Ñ<Ô<ˆÝ
Ô˜f hÑ/Ô/Ð/å˜XÑ&Ô&ˆØ—’Ñ!Ô!×'Ò'Ð(IÑJÔJˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/r   c           	      óº  — d}t          dt          j                             d¦  «                             |¦  «        z  t          j                             d¦  «                             |¦  «        dœ¦  «        }||d                              d¦  «        dk             }|                     d||¬¦  «        }t          j        ||¦  «         t          t          j        t          j                             d¦  «                             |¦  «        d	k     t          j	        t          j                             d¦  «         
                    |¦  «        ¦  «        t          j                             d¦  «         
                    |¦  «        dœ¦  «        }||d                              ¦   «                  }|                     d
||¬¦  «        }t          j        ||¦  «         d S )Nr—   r,   rU  rˆ   Úintr   za.astype('int') == 0rù   r  za.notnull())r   rr   r�   r‚   r  r?   r@   rA   Úwherer„   rƒ   Únotnull)r0   r!   r   rY   r1   r|   rE   s          r   Útest_method_calls_in_queryz:TestDataFrameQueryNumExprPandas.test_method_calls_in_queryè  s”  € àˆÝà�œ×.Ò.¨qÑ1Ô1×8Ò8¸Ñ;Ô;Ñ;Ý”Y×*Ò*¨1Ñ-Ô-×4Ò4°QÑ7Ô7ðð ñ
ô 
ˆð �b˜”g—n’n UÑ+Ô+¨qÒ0Ô1ˆØ—’Ð0¸È�ÑOÔOˆÝ
Ô˜f hÑ/Ô/Ð/åå”XÝ”I×)Ò)¨!Ñ,Ô,×3Ò3°AÑ6Ô6¸Ò<Ý”FÝ”I×)Ò)¨!Ñ,Ô,×<Ò<¸QÑ?Ô?ñô õ
 ”Y×*Ò*¨1Ñ-Ô-×=Ò=¸aÑ@Ô@ðð ñ	
ô 	
ˆð �b˜”g—o’oÑ'Ô'Ô(ˆØ—’˜-°¸v�ÑFÔFˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/r   N)%rS   rT   rU   r#   rV   r!   r   rý   r  r  r  r  r  r%  r,  r0  r5  r8  r=  rA  rC  rG  rJ  rO  rR  rV  rZ  r\  r`  r©   rª   ÚoperatorÚeqÚnerh  rr  rw  r   r   r   rè   rè   Š  sü  € € € € € à„^ðð ñ „^ðð „^ðð ñ „^ðð
*ð 
*ð 
*ð*ð *ð *ð
*ð 
*ð 
*ð	*ð 	*ð 	*ð*ð *ð *ð*ð *ð *ðNð Nð Nð"<ð <ð <ðAð Að Að4>ð >ð >ð	>ð 	>ð 	>ð
ð 
ð 
ð*ð *ð *ð*ð *ð *ð"0ð 0ð 0ð.=ð =ð =ð.ð .ð .ð *ð *ð *ð0ð 0ð 0ð0ð 0ð 0ð>ð >ð >ð0ð 0ð 0ð> „[×Ò˜W¨¨h¬kÐ':¸TÀ8Ä;Ð<OÐ&PÑQÔQð0ð 0ñ RÔQð0ð0ð 0ð 0ð0ð 0ð 0ð 0ð 0r   rè   c                   óx   — e Zd Zej        d„ ¦   «         Zej        d„ ¦   «         Zd„ Zd„ Zd„ Z	d„ Z
d„ Zd„ Zd	„ Zd
S )ÚTestDataFrameQueryNumExprPythonc                 ó   — dS rê   r   r/   s    r   r!   z&TestDataFrameQueryNumExprPython.engine  rë   r   c                 ó   — dS ©Nr   r   r/   s    r   r   z&TestDataFrameQueryNumExprPython.parser
  rî   r   c                 ó�  — t          t          j                             d¦  «                             d¦  «        ¦  «        }t          dd¬¦  «        |d<   t          dd¬¦  «        |d<   t          d	d¬¦  «        |d
<   |                     d||¬¦  «        }||j        dk     d|j        k     z           }t          j
        ||¦  «         d S )Nr,   rð   rñ   r   rò   rô   rõ   rö   r÷   rø   ú)(dates1 < 20130101) & (20130101 < dates3)rù   rú   r   rû   s         r   r  zCTestDataFrameQueryNumExprPython.test_date_query_no_attribute_access  sÆ   € Ý•r”y×,Ò,¨QÑ/Ô/×?Ò?ÀÑGÔGÑHÔHˆÝ! *°aÐ8Ñ8Ô8ˆˆ8‰Ý! *°aÐ8Ñ8Ô8ˆˆ8‰Ý! *°aÐ8Ñ8Ô8ˆˆ8‰Ø�hŠhØ7ÀÈvð ñ 
ô 
ˆð �B”I 
Ò*¨z¸B¼IÒ/EÑFÔGˆÝ
Ô˜c 5Ñ)Ô)Ð)Ð)Ð)r   c                 óÀ  — d}t          t          j                             d¦  «                             |df¦  «        ¦  «        }t          d|¬¦  «        |d<   t          d|¬¦  «        |d<   t          d	|¬¦  «        |d
<   t          j        |j        t          j                             d¦  «                             |¦  «        dk    df<   t          j        |j        t          j                             d¦  «                             |¦  «        dk    d
f<   | 	                    d||¬¦  «        }||j
        dk     d|j        k     z           }t          j        ||¦  «         d S )Nr—   r,   r-   rñ   rò   rô   rõ   rö   r÷   rø   r  r�  rù   rú   r  r  s          r   r  z8TestDataFrameQueryNumExprPython.test_date_query_with_NaT  s;  € ØˆÝ•r”y×,Ò,¨QÑ/Ô/×?Ò?ÀÀAÀÑGÔGÑHÔHˆÝ! *°aÐ8Ñ8Ô8ˆˆ8‰Ý! *°aÐ8Ñ8Ô8ˆˆ8‰Ý! *°aÐ8Ñ8Ô8ˆˆ8‰ÝEGÄVˆŒ�rŒy×$Ò$ QÑ'Ô'×.Ò.¨qÑ1Ô1°CÒ7¸ÐAÑBÝEGÄVˆŒ�rŒy×$Ò$ QÑ'Ô'×.Ò.¨qÑ1Ô1°CÒ7¸ÐAÑBØ�hŠhØ7ÀÈvð ñ 
ô 
ˆð �B”I 
Ò*¨z¸B¼IÒ/EÑFÔGˆÝ
Ô˜c 5Ñ)Ô)Ð)Ð)Ð)r   c                 ó¨  — d}t          t          j                             d¦  «                             |df¦  «        ¦  «        }t          d|¬¦  «        |d<   t          d|¬¦  «        |d<   |                     dd	d	¬
¦  «        }|�J ‚|                     d||¬¦  «        }||j        dk     d|j	        k     z           }t          j        ||¦  «         d S )Nr—   r,   r-   rñ   rò   rô   r÷   rø   Tr
  ú((index < 20130101) & (20130101 < dates3)rù   rú   r  r  s           r   r  z5TestDataFrameQueryNumExprPython.test_date_index_query'  sÜ   € ØˆÝ•r”y×,Ò,¨QÑ/Ô/×?Ò?ÀÀAÀÑGÔGÑHÔHˆÝ! *°aÐ8Ñ8Ô8ˆˆ8‰Ý! *°aÐ8Ñ8Ô8ˆˆ8‰Ø—|’| H°dÀ�|ÑFÔFˆØÐ#Ð#Ð#Ø�hŠhØ6¸vÈfð ñ 
ô 
ˆð �B”H˜zÒ)¨j¸2¼9Ò.DÑEÔFˆÝ
Ô˜c 5Ñ)Ô)Ð)Ð)Ð)r   c                 ó  — d}t          t          j                             d¦  «                             |df¦  «        ¦  «                             dt          i¦  «        }t          d|¬¦  «        |d<   t          d|¬¦  «        |d	<   t          j	        |j
        d
<   |                     ddd¬¦  «        }|�J ‚|                     d||¬¦  «        }||j        dk     d|j        k     z           }t          j        ||¦  «         d S )Nr—   r,   r-   r   rñ   rò   rô   r÷   rø   r  Tr
  r„  rù   rú   r  r  s           r   r  z>TestDataFrameQueryNumExprPython.test_date_index_query_with_NaT4  s  € Øˆå•r”y×,Ò,¨QÑ/Ô/×?Ò?ÀÀAÀÑGÔGÑHÔH×OÒOØ•ˆKñ
ô 
ˆõ " *°aÐ8Ñ8Ô8ˆˆ8‰Ý! *°aÐ8Ñ8Ô8ˆˆ8‰ÝœˆŒ�‰Ø—|’| H°dÀ�|ÑFÔFˆØÐ#Ð#Ð#Ø�hŠhØ6¸vÈfð ñ 
ô 
ˆð �B”H˜zÒ)¨j¸2¼9Ò.DÑEÔFˆÝ
Ô˜c 5Ñ)Ô)Ð)Ð)Ð)r   c                 óD  — d}t          t          j                             d¦  «                             |df¦  «        ¦  «        }t          d|¬¦  «        |d<   t          d|¬¦  «        |d<   t          j        |j        t          j                             d¦  «                             |¦  «        d	k    df<   | 	                    dd
d
¬¦  «        }|�J ‚d}t          j        t          |¬¦  «        5  |                     d||¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr—   r,   r-   rñ   rò   rô   r÷   rø   r  Tr
  ú"'BoolOp' nodes are not implementedrM   r  rù   )r   rr   r�   r‚   rƒ   r	   rœ   r  r  r  r#   rO   ÚNotImplementedErrorr?   )r0   r!   r   rY   r1   r  rQ   s          r   r  zITestDataFrameQueryNumExprPython.test_date_index_query_with_NaT_duplicatesE  sg  € ØˆÝ•r”y×,Ò,¨QÑ/Ô/×?Ò?ÀÀAÀÑGÔGÑHÔHˆÝ! *°aÐ8Ñ8Ô8ˆˆ8‰Ý! *°aÐ8Ñ8Ô8ˆˆ8‰ÝEGÄVˆŒ�rŒy×$Ò$ QÑ'Ô'×.Ò.¨qÑ1Ô1°CÒ7¸ÐAÑBØ—|’| H°dÀ�|ÑFÔFˆØÐ#Ð#Ð#Ø3ˆÝŒ]Õ.°cÐ:Ñ:Ô:ð 	Pð 	PØ�HŠHÐ0¸ÈˆHÑOÔOÐOð	Pð 	Pð 	Pñ 	Pô 	Pð 	Pð 	Pð 	Pð 	Pð 	Pð 	Pð 	Pøøøð 	Pð 	Pð 	Pð 	Pð 	Pð 	Ps   Ã/DÄDÄDc                 ó’  — d}t          j        d||¬¦  «        }|dk    sJ ‚t          t          j                             d¦  «                             d¦  «        ¦  «        }t          t          j                             d¦  «                             d¦  «        ¦  «        }d}t          j        t          |¬¦  «        5  | 
                    d||¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d	¬¦  «        5  | 
                    d
||¬¦  «         d d d ¦  «         n# 1 swxY w Y   ||dk    |dk    z           }t          j        d||¬¦  «        }t          j        ||¦  «         ||dk    |dk    z  ||dk             dk    z           }t          j        d||¬¦  «        }t          j        ||¦  «         d S )Nr+   zx + 1rù   r,   rð   z5The '@' prefix is only supported by the pandas parserrM   rE  rI  z(df>0) & (df2>0)r   zdf[(df > 0) & (df2 > 0)]z+df[(df > 0) & (df2 > 0) & (df[df > 0] > 0)])rœ   rB   r   rr   r�   r‚   rƒ   r#   rO   r+  r?   r   r@   rA   )	r0   r!   r   r   rE   r1   rF  rQ   r|   s	            r   rG  z1TestDataFrameQueryNumExprPython.test_nested_scopeQ  sX  € àˆÝ”˜¨¸Ð?Ñ?Ô?ˆØ˜Š{ˆ{ˆ{ˆ{å•r”y×,Ò,¨QÑ/Ô/×?Ò?ÀÑGÔGÑHÔHˆÝ�œ	×-Ò-¨aÑ0Ô0×@Ò@ÀÑHÔHÑIÔIˆð GˆÝŒ]�;¨cÐ2Ñ2Ô2ð 	Ið 	IØ�HŠHÐ)°&ÀˆHÑHÔHÐHð	Ið 	Ið 	Iñ 	Iô 	Ið 	Ið 	Ið 	Ið 	Ið 	Ið 	Iøøøð 	Ið 	Ið 	Ið 	Iõ Œ]Õ1Ð9SÐTÑTÔTð 	Gð 	GØ�HŠHÐ'°¸vˆHÑFÔFÐFð	Gð 	Gð 	Gñ 	Gô 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gøøøð 	Gð 	Gð 	Gð 	Gð �r˜A’v #¨¢'Ñ*Ô+ˆÝ”Ð3¸FÈ6ÐRÑRÔRˆÝ
Ô˜h¨Ñ/Ô/Ð/à�r˜A’v #¨¢'Ñ*¨b°°a²¬j¸1ªnÑ=Ô>ˆÝ”Ø9À&ÐQWð
ñ 
ô 
ˆõ 	Ô˜h¨Ñ/Ô/Ð/Ð/Ð/s$   Â=C"Ã"C&Ã)C&ÄD-Ä-D1Ä4D1c                 ó\  — t          g d¢g d¢dœ¦  «        }d}t          j        t          |¬¦  «        5  |                     d¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  |                     d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )	Nr*   ©rZ   r   é   )ÚminÚmaxzMVariables in expression \"\(min\) == \(1\)\" overlap with builtins: \('min'\)rM   zmin == 1zMVariables in expression \"\(max\) == \(1\)\" overlap with builtins: \('max'\)zmax == 1)r   r#   rO   r   r?   )r0   r1   Úregex_to_matchs      r   Ú+test_query_numexpr_with_min_and_max_columnszKTestDataFrameQueryNumExprPython.test_query_numexpr_with_min_and_max_columnsl  s@  € Ý˜y˜y˜y°°°Ð;Ð;Ñ<Ô<ˆð0ð 	õ Œ]Õ1¸ÐHÑHÔHð 	!ð 	!Ø�HŠH�ZÑ Ô Ð ð	!ð 	!ð 	!ñ 	!ô 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!øøøð 	!ð 	!ð 	!ð 	!ð0ð 	õ Œ]Õ1¸ÐHÑHÔHð 	!ð 	!Ø�HŠH�ZÑ Ô Ð ð	!ð 	!ð 	!ñ 	!ô 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!øøøð 	!ð 	!ð 	!ð 	!ð 	!ð 	!s#   ´AÁAÁAÁ>B!Â!B%Â(B%N)rS   rT   rU   r#   rV   r!   r   r  r  r  r  r  rG  r�  r   r   r   r|  r|    s¸   € € € € € à„^ðð ñ „^ðð „^ðð ñ „^ðð	*ð 	*ð 	*ð*ð *ð *ð*ð *ð *ð*ð *ð *ð"
Pð 
Pð 
Pð0ð 0ð 0ð6!ð !ð !ð !ð !r   r|  c                   óT   — e Zd Zej        d„ ¦   «         Zej        d„ ¦   «         Zd„ ZdS )ÚTestDataFrameQueryPythonPandasc                 ó   — dS r  r   r/   s    r   r!   z%TestDataFrameQueryPythonPandas.engine~  rî   r   c                 ó   — dS rí   r   r/   s    r   r   z%TestDataFrameQueryPythonPandas.parser‚  rî   r   c                 óF  — dx}}t          t          j                             d¦  «                             ||df¬¦  «        t          d¦  «        ¬¦  «        }d|j        _        ||j        dk             }|                     d	||¬
¦  «        }t          j
        ||¦  «         d S ©Nr—   r,   r-   r°   r2  rm   r7  r   r3  rù   ©r   rr   r�   r‚   r4  ro   rj   rº   r?   r@   rA   ©r0   r!   r   rY   rz   r1   r|   rE   s           r   r8  z1TestDataFrameQueryPythonPandas.test_query_builtin†  óœ   € Øˆ
ˆˆAÝÝŒI×!Ò! !Ñ$Ô$×-Ò-¨a°q¸!°fÐ-Ñ=Ô=ÅtÈEÁ{Ä{ð
ñ 
ô 
ˆð ˆŒŒØ�b”h ’lÔ#ˆØ—’˜)¨F¸6�ÑBÔBˆÝ
Ô˜h¨Ñ/Ô/Ð/Ð/Ð/r   N©rS   rT   rU   r#   rV   r!   r   r8  r   r   r   r’  r’  }  ó[   € € € € € Ø„^ðð ñ „^ðð „^ðð ñ „^ðð	0ð 	0ð 	0ð 	0ð 	0r   r’  c                   óT   — e Zd Zej        d„ ¦   «         Zej        d„ ¦   «         Zd„ ZdS )ÚTestDataFrameQueryPythonPythonc                 ó   — dS r  r   r/   s    r   r!   z%TestDataFrameQueryPythonPython.engine“  rî   r   c                 ó   — dS r  r   r/   s    r   r   z%TestDataFrameQueryPythonPython.parser—  rî   r   c                 óF  — dx}}t          t          j                             d¦  «                             ||df¬¦  «        t          d¦  «        ¬¦  «        }d|j        _        ||j        dk             }|                     d	||¬
¦  «        }t          j
        ||¦  «         d S r–  r—  r˜  s           r   r8  z1TestDataFrameQueryPythonPython.test_query_builtin›  r™  r   Nrš  r   r   r   r�  r�  ’  r›  r   r�  c            
       ó2  — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Ze	j
                             ddej        gd	ej        gd
ej        gdej        gg¦  «        d„ ¦   «         Zd„ Zd„ Ze	j
                             dg d¢g d¢g d¢g d¢g d¢g d¢g¦  «        d„ ¦   «         ZdS )ÚTestDataFrameQueryStringsc           	      óš  — t          t          j                             d¦  «                             d¦  «        dg¬¦  «        }t          t          d¦  «        ¦  «        |d<   ||j        dk             }|dk    r¤d}d	}|gdz  |gdz  z   }|d d d
…         }d\  }	}
d|	g|
gz   z  }d}t          |||¦  «        D ]c\  }}}|› d|› d|› �}t          j
        t          |¬¦  «        5  |                     |||d|j        i¬¦  «         d d d ¦  «         n# 1 swxY w Y   Œdd S |                     d||¬¦  «        }t          j        ||¦  «         |                     d||¬¦  «        }t          j        ||¦  «         t          j        |||j                             dg¦  «                 ¦  «         ||j        dk             }|                     d||¬¦  «        }t          j        ||¦  «         |                     d||¬¦  «        }t          j        ||¦  «         t          j        |||j                             dg¦  «                  ¦  «         d S )Nr,   ©r—   r+   r‰   rm   Ú
aabbccddeeÚstringsrˆ   r   z"a"rl   ©ra  rb  ú$'(Not)?In' nodes are not implementedú rM   )r!   r   Ú
local_dictz"a" == stringsrù   zstrings == "a"zstrings != "a"z"a" != strings)r   rr   r�   r‚   rƒ   r   ro   r¦  Úzipr#   rO   rˆ  r?   r@   rA   rÀ   ©r0   r   r!   r1   rN  ÚcolÚlstÚlhsÚrhsry  rz  ÚopsrQ   rx   Úexr§   s                   r   Útest_str_query_methodz/TestDataFrameQueryStrings.test_str_query_method¨  s²  € Ý•r”y×,Ò,¨QÑ/Ô/×?Ò?ÀÑHÔHÐSVÐRWÐXÑXÔXˆÝ�t LÑ1Ô1Ñ2Ô2ˆˆ9‰Ø�B”J #Ò%Ô&ˆà�XÒÐØˆCØˆCà�%˜!‘)˜s˜e a™iÑ'ˆCØ�d�d˜�d”)ˆCà‰FˆB�Ø˜�t˜r˜d‘{Ñ#ˆCØ9ˆCå # C¨¨cÑ 2Ô 2ð ð ‘��R˜ØÐ(Ð(˜bÐ(Ð( 3Ð(Ð(�Ý”]Õ#6¸cÐBÑBÔBð ð Ø—H’HØØ%Ø%Ø$-¨r¬zÐ#:ð	 ñ ô ð ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð øðð ð —(’(Ð+°FÀ6�(ÑJÔJˆCÝÔ! # vÑ.Ô.Ð.à—(’(Ð+°FÀ6�(ÑJÔJˆCÝÔ! # vÑ.Ô.Ð.ÝÔ! # r¨"¬*¯/ª/¸3¸%Ñ*@Ô*@Ô'AÑBÔBÐBà˜œ
 cÒ)Ô*ˆFØ—(’(Ð+°FÀ6�(ÑJÔJˆCÝÔ! # vÑ.Ô.Ð.à—(’(Ð+°FÀ6�(ÑJÔJˆCÝÔ! # vÑ.Ô.Ð.ÝÔ! # r¨2¬:¯?ª?¸C¸5Ñ+AÔ+AÐ*AÔ'BÑCÔCÐCÐCÐCs   Ã"!DÄD	ÄD	c                 óþ  — t          t          j                             d¦  «                             d¦  «        dg¬¦  «        }t          t          d¦  «        ¦  «        |d<   ||j                             ddg¦  «                 }|dk    rœd}d	}|gdz  |gdz  z   }|d d d
…         }d\  }	}
d|	g|
gz   z  }d}t          |||¦  «        D ][\  }}}|› d|› d|› �}t          j        t          |¬¦  «        5  |                     |||¬¦  «         d d d ¦  «         n# 1 swxY w Y   Œ\d S |                     d||¬¦  «        }t          j        ||¦  «         |                     d||¬¦  «        }t          j        ||¦  «         ||j                             ddg¦  «                  }|                     d||¬¦  «        }t          j        ||¦  «         |                     d||¬¦  «        }t          j        ||¦  «         d S )Nr,   r¤  r‰   rm   r¥  r¦  rˆ   r   z
["a", "b"]rl   r§  r¨  r©  rM   rù   zstrings == ["a", "b"]z["a", "b"] == stringszstrings != ["a", "b"]z["a", "b"] != strings)r   rr   r�   r‚   rƒ   r   ro   r¦  rÀ   r«  r#   rO   rˆ  r?   r@   rA   r¬  s                   r   Útest_str_list_query_methodz4TestDataFrameQueryStrings.test_str_list_query_methodÑ  sb  € Ý•r”y×,Ò,¨QÑ/Ô/×?Ò?ÀÑHÔHÐSVÐRWÐXÑXÔXˆÝ�t LÑ1Ô1Ñ2Ô2ˆˆ9‰Ø�B”J—O’O S¨# JÑ/Ô/Ô0ˆà�XÒÐØˆCØˆCà�%˜!‘)˜s˜e a™iÑ'ˆCØ�d�d˜�d”)ˆCà‰FˆB�Ø˜�t˜r˜d‘{Ñ#ˆCØ9ˆCå # C¨¨cÑ 2Ô 2ð ?ð ?‘��R˜ØÐ(Ð(˜bÐ(Ð( 3Ð(Ð(�Ý”]Õ#6¸cÐBÑBÔBð ?ð ?Ø—H’H˜R¨°v�HÑ>Ô>Ð>ð?ð ?ð ?ñ ?ô ?ð ?ð ?ð ?ð ?ð ?ð ?øøøð ?ð ?ð ?ð ?øð?ð ?ð
 —(’(Ð2¸6È&�(ÑQÔQˆCÝÔ! # vÑ.Ô.Ð.à—(’(Ð2¸6È&�(ÑQÔQˆCÝÔ! # vÑ.Ô.Ð.à˜œŸš¨#¨s¨Ñ4Ô4Ð4Ô5ˆFà—(’(Ð2¸6È&�(ÑQÔQˆCÝÔ! # vÑ.Ô.Ð.à—(’(Ð2¸6È&�(ÑQÔQˆCÝÔ! # vÑ.Ô.Ð.Ð.Ð.s   Ã3DÄD	ÄD	c           	      óÚ  — t          t          d¦  «        t          d¦  «        t          j                             d¦  «                             dd¬¦  «        t          j                             d¦  «                             dd¬¦  «        dœ¦  «        }|d	k    r·|                     d
||¬¦  «        }||j                             |j	        ¦  «                 }t          j        ||¦  «         |                     d||¬¦  «        }||j                             |j	        ¦  «        |j        |j        k     z           }t          j        ||¦  «         d S d}t          j        t           |¬¦  «        5  |                     d
||¬¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t           |¬¦  «        5  |                     d||¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NÚaaaabbbbccccÚaabbccddeeffr,   r   é   r°   é	   ©rˆ   r‰   r¡   r  r   za in br»   za in b and c < dr¨  rM   r‡  )r   ro   rr   r�   r‚   r4  r?   rˆ   rÀ   r‰   r@   rA   r¡   r  r#   rO   rˆ  )r0   r   r!   r1   r§   rü   rQ   s          r   Útest_query_with_string_columnsz8TestDataFrameQueryStrings.test_query_with_string_columnsô  si  € Ýå˜.Ñ)Ô)Ý˜.Ñ)Ô)Ý”Y×*Ò*¨1Ñ-Ô-×6Ò6°q¸rÐ6ÑBÔBÝ”Y×*Ò*¨1Ñ-Ô-×6Ò6°q¸rÐ6ÑBÔBð	ð ñ
ô 
ˆð �XÒÐØ—(’(˜8¨F¸6�(ÑBÔBˆCØ�r”t—y’y ¤‘”Ô'ˆEÝÔ! # uÑ-Ô-Ð-à—(’(Ð-°fÀV�(ÑLÔLˆCØ�r”t—y’y ¤‘”¨"¬$°´ª+Ñ6Ô7ˆEÝÔ! # uÑ-Ô-Ð-Ð-Ð-à9ˆCÝ”Õ2¸#Ð>Ñ>Ô>ð Að AØ—’˜¨&¸�Ñ@Ô@Ð@ðAð Að Añ Aô Að Að Að Að Að Að Aøøøð Að Að Að Að 8ˆCÝ”Õ2¸#Ð>Ñ>Ô>ð Kð KØ—’Ð+°FÀ6�ÑJÔJÐJðKð Kð Kñ Kô Kð Kð Kð Kð Kð Kð Kð Køøøð Kð Kð Kð Kð Kð Ks$   Å-FÆFÆFÆ:G Ç G$Ç'G$c           	      ó  — t          t          d¦  «        t          d¦  «        t          j                             d¦  «                             dd¬¦  «        t          j                             d¦  «                             dd¬¦  «        dœ¦  «        }|r|d	k    rt          nd }t          j        |¦  «        5  | 	                    d
||¬¦  «        }d d d ¦  «         n# 1 swxY w Y   ||j
        |j        k             }t          j        ||¦  «         t          j        |¦  «        5  | 	                    d||¬¦  «        }d d d ¦  «         n# 1 swxY w Y   ||j
        |j        k             }t          j        ||¦  «         d S )Nr·  r¸  r,   r   r¹  r°   rº  r»  r   za == br»   za != b)r   ro   rr   r�   r‚   r4  ÚRuntimeWarningr@   Úassert_produces_warningr?   rˆ   r‰   rA   )r0   r   r!   Úusing_infer_stringr1   Úwarningr§   rÅ   s           r   Útest_object_array_eq_nez1TestDataFrameQueryStrings.test_object_array_eq_ne  s  € Ýå˜.Ñ)Ô)Ý˜.Ñ)Ô)Ý”Y×*Ò*¨1Ñ-Ô-×6Ò6°q¸rÐ6ÑBÔBÝ”Y×*Ò*¨1Ñ-Ô-×6Ò6°q¸rÐ6ÑBÔBð	ð ñ
ô 
ˆð %7ÐX¸6ÀYÒ;NÐ;N•.�.ÐTXˆÝÔ'¨Ñ0Ô0ð 	Cð 	CØ—(’(˜8¨F¸6�(ÑBÔBˆCð	Cð 	Cð 	Cñ 	Cô 	Cð 	Cð 	Cð 	Cð 	Cð 	Cð 	Cøøøð 	Cð 	Cð 	Cð 	Cà�”˜œ’ÔˆÝ
Ô˜c 3Ñ'Ô'Ð'åÔ'¨Ñ0Ô0ð 	Cð 	CØ—(’(˜8¨F¸6�(ÑBÔBˆCð	Cð 	Cð 	Cñ 	Cô 	Cð 	Cð 	Cð 	Cð 	Cð 	Cð 	Cøøøð 	Cð 	Cð 	Cð 	Cà�”˜œ’ÔˆÝ
Ô˜c 3Ñ'Ô'Ð'Ð'Ð's$   Â8CÃC!Ã$C!Ä'EÅEÅEc                 óº  — t          |¦  «         d„ t          dd¦  «        D ¦   «         dz  }t          ddd¬¦  «        }t          d	dd¬¦  «        }t          t	          j        dd
¦  «                             d¦  «        ||                     |¦  «        dœ¦  «        }||j        dk             }| 	                    d||¬¦  «        }t          j        ||¦  «         d S )Nc                 ó(   — g | ]}d D ]
}d|› d|› �‘ŒŒS ))ÚloadÚexitzpage r©  r   )rÒ   rY   Úacts      r   rÔ   zLTestDataFrameQueryStrings.test_query_with_nested_strings.<locals>.<listcomp>$  sK   € ð 
ð 
ð 
Ø"#Ð>Nð
ð 
Ø7:Ð�AÐÐ˜ÐÐð
ð 
ð 
ð 
r   r+   rZ   r,   z2014-01-01 0:00:01Ú30srŒ  )rm  ró   z2014-02-01 1:00:01é   )ÚidÚeventÚ	timestampz"page 1 load"z'"page 1 load"' in eventr»   )r%   rn   r	   r   rr   rÍ   ÚrepeatÚappendrË  r?   r@   rA   )	r0   r   r!   ÚeventsÚstamps1Ústamps2r1   r|   r§   s	            r   Útest_query_with_nested_stringsz8TestDataFrameQueryStrings.test_query_with_nested_strings"  sô   € Ý  Ñ(Ô(Ð(ð
ð 
Ý',¨Q°¡{¤{ð
ñ 
ô 
àñˆõ Ð1¸ÀqÐIÑIÔIˆÝÐ1¸ÀqÐIÑIÔIˆÝå”i  1‘o”o×,Ò,¨QÑ/Ô/ØØ$Ÿ^š^¨GÑ4Ô4ðð ñ
ô 
ˆð �b”h /Ò1Ô2ˆØ�hŠhÐ5¸fÈVˆhÑTÔTˆÝ
Ô˜h¨Ñ,Ô,Ð,Ð,Ð,r   c                 óÌ   — t          |¦  «         t          g d¢g d¢dœ¦  «        }|                     d||¬¦  «        }||j        dk             }t	          j        ||¦  «         d S )N)rˆ   r‰   útest & testr*   rU  za == "test & test"r»   rÔ  rY  )r0   r   r!   r1   r§   rü   s         r   Ú(test_query_with_nested_special_characterzBTestDataFrameQueryStrings.test_query_with_nested_special_character5  sr   € Ý  Ñ(Ô(Ð(ÝÐ6Ð6Ð6¸Y¸Y¸YÐGÐGÑHÔHˆØ�hŠhÐ+°FÀ6ˆhÑJÔJˆØ�2”4˜=Ò(Ô)ˆÝ
Ô˜c 5Ñ)Ô)Ð)Ð)Ð)r   zop, funcr  r   r!  r"  c                 ó  — t          t          j                             d¦  «                             t          d¦  «        d¦  «        ¦  «        }t          t          j        |j        ¦  «        ¦  «        }t          ||dœ¦  «        }|r|dk    rt          nd }	t          j        |	¦  «        5  |                     d|› d�||¬¦  «        }
d d d ¦  «         n# 1 swxY w Y   | ||j        d	¦  «                 }t          j        |
|¦  «         d S )
Nr,   Úabcder.  )ÚXr¥   r   zX z "d"rù   r  )r   rr   r�   r‚   r½   ro   rÍ   r±   r   r¾  r@   r¿  r?   rØ  rA   )r0   r   r!   rx   ÚfuncrÀ  rˆ   r‰   r1   rÁ  r§   r|   s               r   Útest_query_lex_compare_stringsz8TestDataFrameQueryStrings.test_query_lex_compare_strings<  sC  € õ •2”9×(Ò(¨Ñ+Ô+×2Ò2µ4¸±=´=À"ÑEÔEÑFÔFˆÝ•2”9˜QœVÑ$Ô$Ñ%Ô%ˆÝ˜Q QÐ'Ð'Ñ(Ô(ˆà$6ÐX¸6ÀYÒ;NÐ;N•.�.ÐTXˆÝÔ'¨Ñ0Ô0ð 	Hð 	HØ—(’(˜= ˜=˜=˜=°À�(ÑGÔGˆCð	Hð 	Hð 	Hñ 	Hô 	Hð 	Hð 	Hð 	Hð 	Hð 	Hð 	Høøøð 	Hð 	Hð 	Hð 	Hà�d�d˜2œ4 ‘o”oÔ&ˆÝ
Ô˜c 8Ñ,Ô,Ð,Ð,Ð,s   Â+CÃCÃCc                 óf  — d}t           j                             d¦  «                             ddt	          |¦  «        f¬¦  «                             t          ¦  «        }t          ||¬¦  «        }|                     d||¬¦  «        }||j	        |j
        z           }t          j        ||¦  «         d S )N)ÚbidÚbidsizeÚaskÚasksizer,   r+   r°   rm   z	bid & askrù   )rr   r�   r‚   r4  r#  r  Úboolr   r?   rÜ  rÞ  r@   rA   )r0   r   r!   rk   Údatar1   r§   r|   s           r   Ú"test_query_single_element_booleansz<TestDataFrameQueryStrings.test_query_single_element_booleansR  s�   € Ø4ˆÝŒy×$Ò$ QÑ'Ô'×0Ò0°¸!½SÀ¹\¼\Ð9JÐ0ÑKÔK×RÒRÕSWÑXÔXˆÝ�t WÐ-Ñ-Ô-ˆØ�hŠh�{¨6¸&ˆhÑAÔAˆØ�b”f˜rœv‘oÔ&ˆÝ
Ô˜c 8Ñ,Ô,Ð,Ð,Ð,r   c                 óÐ   — t          |¦  «         t          g d¢g d¢dœ¦  «        }||j        dk             }d}|                     d||¬¦  «        }t	          j        ||¦  «         d S )N)úBUD USrä  úIBM USrå  )gÍÌÌÌÌl[@g®Gázn[@gš™™™™éf@g33333ëf@)ÚSymbolÚPricerä  zSymbol == @symbr»   )r%   r   ræ  r?   r@   rA   )r0   r   r!   r1   ÚeÚsymbr*  s          r   Ú!test_query_string_scalar_variablez;TestDataFrameQueryStrings.test_query_string_scalar_variableZ  s„   € Ý  Ñ(Ô(Ð(ÝàBÐBÐBØ9Ð9Ð9ðð ñ
ô 
ˆð ˆrŒy˜HÒ$Ô%ˆØˆØ�HŠHÐ&¨v¸fˆHÑEÔEˆÝ
Ô˜a Ñ#Ô#Ð#Ð#Ð#r   Úin_list)NÚasdfÚghjk)rì  Nrí  )rì  rí  N)NNrì  )rì  NN)NNNc                 óö  — d}d}d„ t          |¦  «        D ¦   «         }t          d|id¬¦  «        }|j                             d¦  «        |_        t          d|id¬¦  «        }|                     d||¬	¦  «        }||d         d
k             }|                     d||¬	¦  «        }	t          j        ||¦  «         t          j        ||¦  «         t          j        ||	¦  «         t          j        ||	¦  «         d S )Nr   r   c                 ó&   — i | ]\  }}|d k    ¯||“ŒS )rì  r   )rÒ   r)  Úvalues      r   ú
<dictcomp>zMTestDataFrameQueryStrings.test_query_string_null_elements.<locals>.<dictcomp>v  s#   € ÐSÐSÐS¡  EÀ5ÈFÂ?À?�A�uÀ?À?À?r   rˆ   Ústring©ÚdtypeÚint64za == 'asdf'r»   rì  za <= 'asdf')Ú	enumerater   rj   r  r?   r@   rA   )
r0   rë  r   r!   r|   Údf_expectedr1   rÃ   rÄ   Úres3s
             r   Útest_query_string_null_elementsz9TestDataFrameQueryStrings.test_query_string_null_elementsg  s  € ð ˆØˆØSÐS­Y°wÑ-?Ô-?ÐSÑSÔSˆå  h °xÐ@Ñ@Ô@ˆØ'Ô-×4Ò4°WÑ=Ô=ˆÔÝ˜˜W�~¨XÐ6Ñ6Ô6ˆØ�xŠx˜¨f¸VˆxÑDÔDˆØ�"�S”'˜VÒ#Ô$ˆØ�xŠx˜¨f¸VˆxÑDÔDˆÝ
Ô˜d KÑ0Ô0Ð0Ý
Ô˜d DÑ)Ô)Ð)Ý
Ô˜d DÑ)Ô)Ð)Ý
Ô˜d DÑ)Ô)Ð)Ð)Ð)r   N)rS   rT   rU   r³  rµ  r¼  rÂ  rÒ  rÕ  r#   r©   rª   rx  ÚltÚgtÚleÚgerÚ  râ  rê  rù  r   r   r   r¢  r¢  §  sb  € € € € € ð'Dð 'Dð 'DðR!/ð !/ð !/ðFKð Kð Kð4(ð (ð (ð(-ð -ð -ð&*ð *ð *ð „[×ÒØà�(”+ÐØ�(”+ÐØ�8”;ÐØ�8”;Ðð		
ñô ð-ð -ñô ð-ð-ð -ð -ð$ð $ð $ð „[×ÒØà"Ð"Ð"Ø"Ð"Ð"Ø"Ð"Ð"Ø Ð Ð Ø Ð Ð ØÐÐð	
ñ
ô 
ð*ð *ñ
ô 
ð*ð *ð *r   r¢  c                   ó†   — e Zd Zej        d„ ¦   «         Zd„ Zd„ Zej         	                    dg d¢¦  «        d„ ¦   «         Z
dS )ÚTestDataFrameEvalWithFramec                 óž   — t          t          j                             d¦  «                             d¦  «        t          d¦  «        ¬¦  «        S )Nr,   rÐ   r2  rm   )r   rr   r�   r‚   rƒ   ro   r/   s    r   Úframez TestDataFrameEvalWithFrame.frame…  sB   € åÝŒI×!Ò! !Ñ$Ô$×4Ò4°WÑ=Ô=ÅtÈEÁ{Ä{ð
ñ 
ô 
ð 	
r   c                 ó~   — |                      d||¬¦  «        }|j        |j        z   }t          j        ||¦  «         d S )Nr™   rù   ©rB   rˆ   r‰   r@   rC   ©r0   r  r   r!   r§   rN  s         r   Útest_simple_exprz+TestDataFrameEvalWithFrame.test_simple_expr‹  s@   € Ø�jŠj˜¨¸ˆjÑ?Ô?ˆØ”˜5œ7Ñ"ˆÝ
Ô˜s FÑ+Ô+Ð+Ð+Ð+r   c                 óœ   — |                      d||¬¦  «        }|j        |j        dk              |j        z   }t          j        ||¦  «         d S )Nza[a < 1] + brù   r+   r  r  s         r   Útest_bool_arith_exprz/TestDataFrameEvalWithFrame.test_bool_arith_expr�  sK   € Ø�jŠj˜°¸vˆjÑFÔFˆØ”˜œ 1šÔ%¨¬Ñ/ˆÝ
Ô˜s FÑ+Ô+Ð+Ð+Ð+r   rx   )r[   r^   ra   rd   c                 óÖ   — t          ddgddgdœ¦  «        }d}t          j        t          |¬¦  «        5  |                     d|› d	�||¬
¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr+   r,   r¡   r  rU  z:unsupported operand type\(s\) for .+: '.+' and '.+'|CannotrM   rd  z brù   )r   r#   rO   r$  rB   )r0   r   r!   rx   r1   rQ   s         r   Ú%test_invalid_type_for_operator_raisesz@TestDataFrameEvalWithFrame.test_invalid_type_for_operator_raises•  s½   € å˜a ˜V¨3°¨*Ð5Ð5Ñ6Ô6ˆØKˆåŒ]�9¨CÐ0Ñ0Ô0ð 	?ð 	?Ø�GŠG�K˜�K�K�K¨°vˆGÑ>Ô>Ð>ð	?ð 	?ð 	?ñ 	?ô 	?ð 	?ð 	?ð 	?ð 	?ð 	?ð 	?ð 	?øøøð 	?ð 	?ð 	?ð 	?ð 	?ð 	?s   ´AÁA"Á%A"N)rS   rT   rU   r#   rV   r  r  r  r©   rª   r	  r   r   r   rÿ  rÿ  „  s‚   € € € € € Ø„^ð
ð 
ñ „^ð
ð
,ð ,ð ,ð
,ð ,ð ,ð
 „[×Ò˜TÐ#7Ð#7Ð#7Ñ8Ô8ð?ð ?ñ 9Ô8ð?ð ?ð ?r   rÿ  c                   ó¨  — e Zd Zej        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„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zej                              dg d¢¦  «        d„ ¦   «         Z!ej                              ddd g¦  «        ej                              dg d¢¦  «        d!„ ¦   «         ¦   «         Z"d"„ Z#d#S )$Ú!TestDataFrameQueryBacktickQuotingc           	   #   óú   K  — t          i dg d¢“dg d¢“dg d¢“dg d¢“d	g d
¢“dg d¢“dg d¢“dg d¢“dg d¢“dg d¢“dg d¢“dg d¢“dg d¢“dg d¢“dg d¢“dg d ¢“d!g d"¢“g d#¢g d$¢g d%¢g d&¢g d'¢d(œ¥¦  «        V — d)S )*zÄ
        Yields a dataframe with strings that may or may not need escaping
        by backticks. The last two columns cannot be escaped by backticks
        and should raise a ValueError.
        r)   r*   úB B)r-   r,   r+   úC Cr‹  úC  C)rÉ  rZ   r-   ÚC_C)é   rº  r—   úD_D D)é   r+   r^  úE.E)rŒ  r-   r   úF-F)r  r+   r—   Ú1e1)r,   rZ   r  Údef)r—   r  r,   úA (x))rZ   r+   r-   zB(x))r+   r+   r   zB (x))r,   rÉ  rZ   õ     &^ :!â‚¬$?(} >    <++*''  )r,   r   rŒ  r“   )r—   r  r+   ú A)rZ   rÉ  rº  ú  ©r+   r,   r+   )rŒ  r-   r+   )rº  r+   r  )r  rÉ  rŒ  )r,   rZ   r   )r   rÉ  rº  )zit'szthat'su   â˜ºzfoo#barr+   Nr.   r/   s    r   r1   z$TestDataFrameQueryBacktickQuoting.dfŸ  ss  è è € õ ðØ�Y�Y�Yðà�y�y�yðð �y�y�yðð ˜	˜	˜	ð	ð
 �z�z�zðð ˜˜˜ðð �y�y�yðð �z�z�zðð �y�y�yðð �{�{�{ðð ˜˜˜ðð ˜	˜	˜	ðð ˜˜˜ðð /°	°	°	ðð �K�K�Kðð  �i�i�ið!ð" �i�i�ið#ð$ "˜	˜	Ø#˜)˜)Ø �y�yØ$˜9˜9Ø�9�9ð-ð ð ñ
ô 
ð 	
ð 	
ð 	
ð 	
ð 	
r   c                 ó~   — |                      d¦  «        }|d|d         k              }t          j        ||¦  «         d S )Nz	1 < `B B`r+   r  ©r?   r@   rA   ©r0   r1   r§   rN  s       r   Ú#test_single_backtick_variable_queryzETestDataFrameQueryBacktickQuoting.test_single_backtick_variable_queryÁ  s>   € Ø�hŠh�{Ñ#Ô#ˆØ�A˜˜5œ	’MÔ"ˆÝ
Ô˜c 6Ñ*Ô*Ð*Ð*Ð*r   c                 ó˜   — |                      d¦  «        }|d|d         k     d|d         k     z           }t          j        ||¦  «         d S )Nz1 < `B B` and 4 < `C C`r+   r  rZ   r  r  r  s       r   Ú!test_two_backtick_variables_queryzCTestDataFrameQueryBacktickQuoting.test_two_backtick_variables_queryÆ  sL   € Ø�hŠhÐ0Ñ1Ô1ˆØ�Q˜˜Eœ’] q¨2¨e¬9¢}Ñ5Ô6ˆÝ
Ô˜c 6Ñ*Ô*Ð*Ð*Ð*r   c                 ó|   — |                      d¦  «        }|d         |d         z   }t          j        ||¦  «         d S )Nz	A + `B B`r)   r  ©rB   r@   rC   r  s       r   Ú"test_single_backtick_variable_exprzDTestDataFrameQueryBacktickQuoting.test_single_backtick_variable_exprË  ó>   € Ø�gŠg�kÑ"Ô"ˆØ�C”˜2˜eœ9Ñ$ˆÝ
Ô˜s FÑ+Ô+Ð+Ð+Ð+r   c                 ó|   — |                      d¦  «        }|d         |d         z   }t          j        ||¦  «         d S )Nz`B B` + `C C`r  r  r$  r  s       r   Ú test_two_backtick_variables_exprzBTestDataFrameQueryBacktickQuoting.test_two_backtick_variables_exprÐ  s>   € Ø�gŠg�oÑ&Ô&ˆØ�E”˜R œYÑ&ˆÝ
Ô˜s FÑ+Ô+Ð+Ð+Ð+r   c                 ó|   — |                      d¦  «        }|d         |d         z   }t          j        ||¦  «         d S )Nz	`C_C` + Ar  r)   r$  r  s       r   Ú test_already_underscore_variablezBTestDataFrameQueryBacktickQuoting.test_already_underscore_variableÕ  s>   € Ø�gŠg�kÑ"Ô"ˆØ�E”˜R œWÑ$ˆÝ
Ô˜s FÑ+Ô+Ð+Ð+Ð+r   c                 ó|   — |                      d¦  «        }|d         |d         z   }t          j        ||¦  «         d S )NzC_C + `C C`r  r  r$  r  s       r   Útest_same_name_but_underscoresz@TestDataFrameQueryBacktickQuoting.test_same_name_but_underscoresÚ  s>   € Ø�gŠg�mÑ$Ô$ˆØ�E”˜R œYÑ&ˆÝ
Ô˜s FÑ+Ô+Ð+Ð+Ð+r   c                 ó|   — |                      d¦  «        }|d         |d         z   }t          j        ||¦  «         d S )NzA + `D_D D`r)   r  r$  r  s       r   Ú!test_mixed_underscores_and_spaceszCTestDataFrameQueryBacktickQuoting.test_mixed_underscores_and_spacesß  s>   € Ø�gŠg�mÑ$Ô$ˆØ�C”˜2˜gœ;Ñ&ˆÝ
Ô˜s FÑ+Ô+Ð+Ð+Ð+r   c                 ó|   — |                      d¦  «        }|d         |d         z   }t          j        ||¦  «         d S )Nz	A + `C_C`r)   r  r$  r  s       r   Ú'test_backtick_quote_name_with_no_spaceszITestDataFrameQueryBacktickQuoting.test_backtick_quote_name_with_no_spacesä  r&  r   c                 óŽ   — |                      d¦  «        }|d         |d         z   |d         z
  }t          j        ||¦  «         d S )Nz`E.E` + `F-F` - Ar  r  r)   r$  r  s       r   Útest_special_charactersz9TestDataFrameQueryBacktickQuoting.test_special_charactersé  sH   € Ø�gŠgÐ)Ñ*Ô*ˆØ�E”˜R œYÑ&¨¨C¬Ñ0ˆÝ
Ô˜s FÑ+Ô+Ð+Ð+Ð+r   c                 ó|   — |                      d¦  «        }|d         |d         z   }t          j        ||¦  «         d S )Nz	A + `1e1`r)   r  r$  r  s       r   Útest_start_with_digitz7TestDataFrameQueryBacktickQuoting.test_start_with_digitî  r&  r   c                 ó|   — |                      d¦  «        }|d         |d         z   }t          j        ||¦  «         d S )Nz	A + `def`r)   r  r$  r  s       r   Útest_keywordz.TestDataFrameQueryBacktickQuoting.test_keywordó  r&  r   c                 ó~   — |                      d¦  «        }||d         dk             }t          j        ||¦  «         d S )Nz`A` > 2r)   r,   r  r  s       r   Útest_unneeded_quotingz7TestDataFrameQueryBacktickQuoting.test_unneeded_quotingø  s=   € Ø�hŠh�yÑ!Ô!ˆØ�B�s”G˜a’K”ˆÝ
Ô˜c 6Ñ*Ô*Ð*Ð*Ð*r   c                 ó~   — |                      d¦  «        }||d         dk             }t          j        ||¦  «         d S )Nz`A (x)` > 2r  r,   r  r  s       r   Útest_parenthesisz2TestDataFrameQueryBacktickQuoting.test_parenthesisý  s>   € Ø�hŠh�}Ñ%Ô%ˆØ�B�w”K !’OÔ$ˆÝ
Ô˜c 6Ñ*Ô*Ð*Ð*Ð*r   c                 ó~   — |                      d¦  «        }||d         dk             }t          j        ||¦  «         d S )Nz`` > 5r“   r   r  r  s       r   Útest_empty_stringz3TestDataFrameQueryBacktickQuoting.test_empty_string  s=   € Ø�hŠh�xÑ Ô ˆØ�B�r”F˜Q’J”ˆÝ
Ô˜c 6Ñ*Ô*Ð*Ð*Ð*r   c                 ó~   — |                      d¦  «        }||d         dk             }t          j        ||¦  «         d S )Nz
`C  C` > 5r  r   r  r  s       r   Útest_multiple_spacesz6TestDataFrameQueryBacktickQuoting.test_multiple_spaces  s>   € Ø�hŠh�|Ñ$Ô$ˆØ�B�v”J ’NÔ#ˆÝ
Ô˜c 6Ñ*Ô*Ð*Ð*Ð*r   c                 ó|   — |                      d¦  «        }|d         |d         z   }t          j        ||¦  «         d S )Nz` A` + `  `r  r  r$  r  s       r   Útest_start_with_spacesz8TestDataFrameQueryBacktickQuoting.test_start_with_spaces  s>   € Ø�gŠg�mÑ$Ô$ˆØ�D”˜B˜tœHÑ$ˆÝ
Ô˜s FÑ+Ô+Ð+Ð+Ð+r   c                 ó~   — |                      d¦  «        }||d         dk             }t          j        ||¦  «         d S )Nu"   `  &^ :!â‚¬$?(} >    <++*''  ` > 4r  rZ   r  r  s       r   Útest_lots_of_operators_stringz?TestDataFrameQueryBacktickQuoting.test_lots_of_operators_string  sB   € Ø�hŠhÐ;Ñ<Ô<ˆØ�BÐ5Ô6¸Ò:Ô;ˆÝ
Ô˜c 6Ñ*Ô*Ð*Ð*Ð*r   c                 óœ   — d}t          j        t          |¬¦  «        5  |                     d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz(module 'pandas' has no attribute 'thing'rM   z	@pd.thing)r#   rO   ÚAttributeErrorrB   )r0   r1   Úmessages      r   Útest_missing_attributez8TestDataFrameQueryBacktickQuoting.test_missing_attribute  s’   € Ø<ˆÝŒ]�>°Ð9Ñ9Ô9ð 	!ð 	!Ø�GŠG�KÑ Ô Ð ð	!ð 	!ð 	!ñ 	!ô 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!øøøð 	!ð 	!ð 	!ð 	!ð 	!ð 	!ó   žAÁAÁAc                 óœ   — d}t          j        t          |¬¦  «        5  |                     d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nú6(Could not convert ).*( to a valid Python identifier.)rM   z`it's` > `that's`©r#   rO   r+  r?   r�   s      r   Útest_failing_quotez4TestDataFrameQueryBacktickQuoting.test_failing_quote  s“   € ØGˆÝŒ]�;¨cÐ2Ñ2Ô2ð 	*ð 	*Ø�HŠHÐ(Ñ)Ô)Ð)ð	*ð 	*ð 	*ñ 	*ô 	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*øøøð 	*ð 	*ð 	*ð 	*ð 	*ð 	*rG  c                 óœ   — d}t          j        t          |¬¦  «        5  |                     d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NrI  rM   u	   `â˜º` > 4rJ  r�   s      r   Ú$test_failing_character_outside_rangezFTestDataFrameQueryBacktickQuoting.test_failing_character_outside_range   s’   € ØGˆÝŒ]�;¨cÐ2Ñ2Ô2ð 	"ð 	"Ø�HŠH�[Ñ!Ô!Ð!ð	"ð 	"ð 	"ñ 	"ô 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"øøøð 	"ð 	"ð 	"ð 	"ð 	"ð 	"rG  c                 óœ   — d}t          j        t          |¬¦  «        5  |                     d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NzFailed to parse backticksrM   z`foo#bar` > 4rJ  r�   s      r   Útest_failing_hashtagz6TestDataFrameQueryBacktickQuoting.test_failing_hashtag%  s’   € Ø)ˆÝŒ]�;¨cÐ2Ñ2Ô2ð 	&ð 	&Ø�HŠH�_Ñ%Ô%Ð%ð	&ð 	&ð 	&ñ 	&ô 	&ð 	&ð 	&ð 	&ð 	&ð 	&ð 	&ð 	&øøøð 	&ð 	&ð 	&ð 	&ð 	&ð 	&rG  c                 ó^  — d„ }|g}|                      d¦  «         t          j        t          d¬¦  «        5  |                      d¦  «         ddd¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  |                      d¦  «         ddd¦  «         dS # 1 swxY w Y   dS )zí
        Only attributes and variables ('named functions') can be called.
        .__call__() is not an allowed attribute because that would allow
        calling anything.
        https://github.com/pandas-dev/pandas/pull/32460
        c                  ó   — dS r7   r   )rÓ   s    r   rÙ  zNTestDataFrameQueryBacktickQuoting.test_call_non_named_expression.<locals>.func2  s   € Ø�1r   z@func()z"Only named functions are supportedrM   z@funcs[0]()Nz@funcs[0].__call__())rB   r#   rO   r$  )r0   r1   rÙ  Úfuncss       r   Útest_call_non_named_expressionz@TestDataFrameQueryBacktickQuoting.test_call_non_named_expression*  s8  € ð	ð 	ð 	ð �ˆà
�Š�	ÑÔÐåŒ]�9Ð,PÐQÑQÔQð 	#ð 	#Ø�GŠG�MÑ"Ô"Ð"ð	#ð 	#ð 	#ñ 	#ô 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#øøøð 	#ð 	#ð 	#ð 	#õ Œ]�9Ð,PÐQÑQÔQð 	,ð 	,Ø�GŠGÐ*Ñ+Ô+Ð+ð	,ð 	,ð 	,ñ 	,ô 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,øøøð 	,ð 	,ð 	,ð 	,ð 	,ð 	,s#   ·AÁAÁ AÁ?B"Â"B&Â)B&c                 ó:  — t          ddgddggddg|¬¦  «        }t          rt          nd }t          j        |¦  «        5  |                     d¦  «        }d d d ¦  «         n# 1 swxY w Y   t          g d	¢g d
¢gg d¢|¬¦  «        }t          j        ||¦  «         d S )Nr+   r,   r-   rZ   rˆ   r‰   ©rk   rô  z	c = b - ar  )r-   rZ   r+   r:  ©r   r
   r¾  r@   r¿  rB   rA   )r0   Úany_numeric_ea_and_arrow_dtyper1   rÁ  rE   r|   s         r   Útest_ea_dtypesz0TestDataFrameQueryBacktickQuoting.test_ea_dtypes?  sÿ   € åØ�ˆV�a˜�VÐ s¨C jÐ8Vð
ñ 
ô 
ˆõ %6Ð?•.�.¸4ˆÝÔ'¨Ñ0Ô0ð 	*ð 	*Ø—W’W˜[Ñ)Ô)ˆFð	*ð 	*ð 	*ñ 	*ô 	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*øøøð 	*ð 	*ð 	*ð 	*åØˆYˆY˜	˜	˜	Ð"Ø#�O�OØ0ð
ñ 
ô 
ˆõ
 	Ô˜f hÑ/Ô/Ð/Ð/Ð/ó   ¿A!Á!A%Á(A%c                 ó:  — t          ddgddggddgd¬¦  «        }t          rt          nd }t          j        |¦  «        5  |                     d	¦  «        }d d d ¦  «         n# 1 swxY w Y   t          g d
¢g d¢gg d¢d¬¦  «        }t          j        ||¦  «         d S )Nr+   r,   r-   rZ   rˆ   r‰   ÚFloat64rU  z	c = b - 1r  )r-   rZ   r-   r:  rV  )r0   r1   rÁ  rE   r|   s        r   Útest_ea_dtypes_and_scalarz;TestDataFrameQueryBacktickQuoting.test_ea_dtypes_and_scalarN  só   € å˜˜A˜  A Ð'°#°s°À9ÐMÑMÔMˆÝ$5Ð?•.�.¸4ˆÝÔ'¨Ñ0Ô0ð 	*ð 	*Ø—W’W˜[Ñ)Ô)ˆFð	*ð 	*ð 	*ñ 	*ô 	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*øøøð 	*ð 	*ð 	*ð 	*åØˆYˆY˜	˜	˜	Ð"¨O¨O¨OÀ9ð
ñ 
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/Ð/Ð/rY  c           	      ó0  — t          ddgddggddg|¬¦  «        }|                     d¦  «        }t          t          ddg|¬	¦  «        t          ddg|¬	¦  «        t          ddg|d
         j        ¬	¦  «        dœ¦  «        }t	          j        ||¦  «         d S )Nr+   r,   r-   rZ   rˆ   r‰   rU  z	c = 2 - 1ró  r¡   r:  )r   rB   r   rô  r@   rA   )r0   rW  r1   rE   r|   s        r   Ú#test_ea_dtypes_and_scalar_operationzETestDataFrameQueryBacktickQuoting.test_ea_dtypes_and_scalar_operationY  s»   € åØ�ˆV�a˜�VÐ s¨C jÐ8Vð
ñ 
ô 
ˆð —’˜Ñ%Ô%ˆÝå˜Q ˜FÐ*HÐIÑIÔIÝ˜Q ˜FÐ*HÐIÑIÔIÝ˜Q ˜F¨&°¬+Ô*;Ð<Ñ<Ô<ðð ñ
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/Ð/Ð/r   rô  )rõ  ÚInt64úint64[pyarrow]c                 ó¢  — |dk    rt          j        d¦  «         t          dt          ddg|¬¦  «        i¦  «        }dh}|dk    rt          rt
          nd }t          j        |¦  «        5  |                     d¦  «        }d d d ¦  «         n# 1 swxY w Y   t          dt          dg|dg¬	¦  «        i¦  «        }t          j	        ||¦  «         d S )
Nr`  Úpyarrowrˆ   r+   r,   ró  r_  z	a in @ref©rô  rj   )
r#   Úimportorskipr   r   r
   r¾  r@   r¿  r?   rA   )r0   rô  r1   ÚrefrÁ  rE   r|   s          r   Útest_query_ea_dtypesz6TestDataFrameQueryBacktickQuoting.test_query_ea_dtypesh  s  € àÐ$Ò$Ð$ÝÔ 	Ñ*Ô*Ð*å˜�V Q¨ F°%Ð8Ñ8Ô8Ð9Ñ:Ô:ˆØˆcˆØ$)¨WÒ$4Ð$4Õ9JÐ$4•.�.ÐPTˆÝÔ'¨Ñ0Ô0ð 	+ð 	+Ø—X’X˜kÑ*Ô*ˆFð	+ð 	+ð 	+ñ 	+ô 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+øøøð 	+ð 	+ð 	+ð 	+å˜c¥6¨1¨#°UÀ1À#Ð#FÑ#FÔ#FÐGÑHÔHˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/s   Á*BÂBÂBr!   r   r   c           	      ó&  — |dk    rt           nd }|dk    rt          st          j        d¦  «         |dk    rt          j        d¦  «         t          t          g d¢d¬¦  «        t          g d¢|¬¦  «        d	œ¦  «        }t          j        |¦  «        5  | 	                    d
|¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          t          ddgdddg¬¦  «        t          ddg|ddg¬¦  «        d	œ¦  «        }t          j
        ||¦  «         d S )Nr   znumexpr not installedr`  rb  )r+   r+   r,   r_  ró  )r+   r,   r,   rŠ   zA == BrH   r+   r,   r   rc  )r¾  r
   r#   r$   rd  r   r   r@   r¿  r?   rA   )r0   rô  r!   rÁ  r1   rE   r|   s          r   Ú!test_query_ea_equality_comparisonzCTestDataFrameQueryBacktickQuoting.test_query_ea_equality_comparisonu  sx  € ð %+¨iÒ$7Ð$7•.�.¸TˆØ�YÒÐÕ'8ÐÝŒKÐ/Ñ0Ô0Ð0ØÐ$Ò$Ð$ÝÔ 	Ñ*Ô*Ð*ÝÝ˜˜˜¨'Ð2Ñ2Ô2½À	À	À	ÐQVÐ9WÑ9WÔ9WÐXÐXñ
ô 
ˆõ Ô'¨Ñ0Ô0ð 	7ð 	7Ø—X’X˜h¨v�XÑ6Ô6ˆFð	7ð 	7ð 	7ñ 	7ô 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7øøøð 	7ð 	7ð 	7ð 	7åå˜Q ˜F¨'¸!¸Q¸Ð@Ñ@Ô@Ý˜Q ˜F¨%¸¸1°vÐ>Ñ>Ô>ðð ñ
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/Ð/Ð/s   ÂB7Â7B;Â>B;c                 ó$  — t           j                             d¦  «        }t          dt          j        d d gd¬¦  «        it
          ¬¦  «        }|                     d¦  «        }t          dg it
          ¬¦  «        }t          j        ||¦  «         d S )NÚUTCrˆ   T)Úutcró  za > @now)	rœ   Ú	TimestampÚnowr   Úto_datetimer  r?   r@   rA   )r0   rm  r1   rE   r|   s        r   Útest_all_nat_in_objectz8TestDataFrameQueryBacktickQuoting.test_all_nat_in_object‹  s�   € åŒl×Ò˜uÑ%Ô%ˆÝ˜�Rœ^¨T°4¨L¸dÐCÑCÔCÐDÍFÐSÑSÔSˆØ—’˜*Ñ%Ô%ˆÝ˜c 2˜Y­fÐ5Ñ5Ô5ˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/r   N)$rS   rT   rU   r#   rV   r1   r   r"  r%  r(  r*  r,  r.  r0  r2  r4  r6  r8  r:  r<  r>  r@  rB  rF  rK  rM  rO  rS  rX  r\  r^  r©   rª   rf  rh  ro  r   r   r   r  r  ž  sD  € € € € € Ø„^ð
ð 
ñ „^ð
ðB+ð +ð +ð
+ð +ð +ð
,ð ,ð ,ð
,ð ,ð ,ð
,ð ,ð ,ð
,ð ,ð ,ð
,ð ,ð ,ð
,ð ,ð ,ð
,ð ,ð ,ð
,ð ,ð ,ð
,ð ,ð ,ð
+ð +ð +ð
+ð +ð +ð
+ð +ð +ð
+ð +ð +ð
,ð ,ð ,ð
+ð +ð +ð
!ð !ð !ð
*ð *ð *ð
"ð "ð "ð
&ð &ð &ð
,ð ,ð ,ð*0ð 0ð 0ð	0ð 	0ð 	0ð0ð 0ð 0ð „[×Ò˜WÐ&JÐ&JÐ&JÑKÔKð
0ð 
0ñ LÔKð
0ð „[×Ò˜X¨°)Ð'<Ñ=Ô=Ø„[×Ò˜WÐ&JÐ&JÐ&JÑKÔKð0ð 0ñ LÔKñ >Ô=ð0ð(0ð 0ð 0ð 0ð 0r   r  )'rx  Únumpyrr   r#   Úpandas.errorsr   r   Úpandas.util._test_decoratorsÚutilÚ_test_decoratorsÚtdr   rœ   r   r   r   r   r	   Úpandas._testingÚ_testingr@   Úpandas.core.computation.checkr
   rV   r   r   Ú
skip_if_nor!   r%   r'   rX   r¬   rè   r|  r’  r�  r¢  rÿ  r  r   r   r   ú<module>rz     s“  ðØ €€€à Ð Ð Ð Ø €€€ðð ð ð ð ð ð ð ð *Ð )Ð )Ð )Ð )Ð )Ð )Ð )Ð )à Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð Ð Ð Ð Ð Ð Ø ;Ð ;Ð ;Ð ;Ð ;Ð ;ð €„˜ (Ð+°°Ð=Ñ=Ô=ðð ñ >Ô=ðð €„Ø�l�f”l 9°M°B´MÀ)Ñ4LÔ4LÐMÑMÔMÐNØˆðñ ô ðð ñ	ô ðð=ð =ð =ð
01ð 01ð 01ð 01ð 01ñ 01ô 01ð 01ðf`-ð `-ð `-ð `-ð `-ñ `-ô `-ð `-ðFGIð GIð GIð GIð GIñ GIô GIð GIðT €„ˆyÑÔðv0ð v0ð v0ð v0ð v0ñ v0ô v0ñ Ôðv0ðr €„ˆyÑÔðu!ð u!ð u!ð u!ð u!Ð&Eñ u!ô u!ñ Ôðu!ðp0ð 0ð 0ð 0ð 0Ð%Dñ 0ô 0ð 0ð*0ð 0ð 0ð 0ð 0Ð%Dñ 0ô 0ð 0ð*Z*ð Z*ð Z*ð Z*ð Z*ñ Z*ô Z*ð Z*ðz?ð ?ð ?ð ?ð ?ñ ?ô ?ð ?ð4s0ð s0ð s0ð s0ð s0ñ s0ô s0ð s0ð s0ð s0r   