Ë
    ¤ehÛ ã                   ól  — d dl Z d dlZd dlZd dl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*                  g d¢¬«      d„ «       Z G d„ d«      Zej0                  j3                  d	d
 ej4                  d ej6                  d«      ¬«      g«      ej0                  j3                  dddidddœg«      ej0                  j3                  dddgddgg«      d„ «       «       «       Zd„ Zej0                  j3                  ddddœdddœdddœg«      d„ «       Zd„ Zd„ Z d „ Z!d!„ Z"d"„ Z#ej0                  j3                  d#d$ ej4                  d% ej6                  d«      ¬«       ej4                  d& ej6                  d«      ¬«      g«      d'„ «       Z$ ej6                  d«      d(„ «       Z%d)„ Z&d*„ Z'y)+é    N)ÚIndexÚ	TimedeltaÚ
merge_asofÚoption_contextÚto_datetime)Ú
MergeError)ÚsÚmsÚusÚns)Úparamsc                 ó   — | j                   S )z-
    Resolution for datetimelike dtypes.
    )Úparam)Úrequests    úh/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/pandas/tests/reshape/merge/test_merge_asof.pyÚunitr      s   € ð
 �=‰=Ðó    c                   óà  — e Zd ZdXd„Zej
                  d„ «       Zej
                  d„ «       Zej
                  d„ «       Zej
                  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ej8                  j;                  dddg«      d„ «       Zd„ Zd„ Z d„ Z!d„ Z"d „ Z#d!„ Z$d"„ Z%d#„ Z&d$„ Z'd%„ Z(ej8                  j;                  d& e)d'«       e*jV                  d(¬)«      gd*d+g¬,«      d-„ «       Z,d.„ Z-d/„ Z.d0„ Z/d1„ Z0d2„ Z1d3„ Z2d4„ Z3d5„ Z4d6„ Z5d7„ Z6d8„ Z7d9„ Z8d:„ Z9d;„ Z:d<„ Z;d=„ Z<d>„ Z=d?„ Z>d@„ Z?dA„ Z@dB„ ZAdC„ ZBdD„ ZCej8                  j;                  dEdF„ dG„ gdHdIg¬,«      ej8                  j;                  dJdKdLg«      dM„ «       «       ZDdN„ ZEdO„ ZFdP„ ZGej8                  j;                  dg dQ¢«      dR„ «       ZHdS„ ZIdT„ ZJdU„ ZKdV„ ZLyW)YÚTestAsOfMergec                 óˆ   — |r%|j                  ddgd¬«      j                  d¬«      }t        |j                  «      |_        |S )NÚtimeÚtickerÚlast)ÚkeepT©Údrop)Údrop_duplicatesÚreset_indexr   r   )ÚselfÚdfÚdedupes      r   Ú	prep_datazTestAsOfMerge.prep_data   sJ   € ÙØ×#Ñ# V¨XÐ$6¸VÐ#ÓD×PÑPØð Qó ˆBô ˜bŸg™gÓ&ˆŒØˆ	r   c                 ón  — t        j                  g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d	¢g d
¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢gdj                  d«      ¬«      }|d   j                  d«      |d<   |d   j                  d«      |d<   | j	                  |«      S ) N©ú20160525 13:30:00.023ÚMSFTú51.9500Ú75ÚNASDAQ©ú20160525 13:30:00.038r&   r'   Ú155r)   ©ú20160525 13:30:00.048ÚGOOGz720.7700Ú100r)   ©r.   r/   z720.9200r0   r)   ©r.   r/   ú720.9300Ú200r)   ©r.   r/   r3   Ú300r)   ©r.   r/   r3   Ú600r)   ©r.   r/   r3   Ú44r)   ©ú20160525 13:30:00.074ÚAAPLú98.6700Ú478343r)   ©ú20160525 13:30:00.075r=   r>   r?   r)   ©rA   r=   z98.6600Ú6r)   ©rA   r=   ú98.6500Ú30r)   ©rA   r=   rE   r(   r)   ©rA   r=   rE   Ú20r)   ©rA   r=   rE   Ú35r)   ©rA   r=   rE   Ú10r)   ©rA   r=   ú98.5500rC   ÚARCA©ú20160525 13:30:00.076r=   ú98.5600Ú1000rP   ©rR   r=   rS   r4   rP   ©rR   r=   rS   r6   rP   ©rR   r=   rS   Ú400rP   ©rR   r=   rS   r8   rP   ©ú20160525 13:30:00.078r&   r'   Ú783r)   ©r[   r&   r'   r0   r)   ú'time,ticker,price,quantity,marketCenterú,©ÚcolumnsÚpriceÚfloat64ÚquantityÚint64©ÚpdÚ	DataFrameÚsplitÚastyper"   ©r   r    s     r   ÚtradeszTestAsOfMerge.trades&   s¸   € ä�\‰\âLÚMÚNÚNÚNÚNÚNÚMÚPÚPÚKÚLÚLÚLÚLÚLÚIÚIÚLÚKÚKÚKÚKÚKÚMÚMÚMð7ð: >×CÑCÀCÓHô=
ˆð@ ˜‘k×(Ñ(¨Ó3ˆˆ7‰Ø˜J™×.Ñ.¨wÓ7ˆˆ:‰Ø�~‰~˜bÓ!Ð!r   c                 ó0  — t        j                  g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d	¢gd
j                  d«      ¬«      }|d   j                  d«      |d<   |d   j                  d«      |d<   | j	                  |d¬«      S )N©r%   r/   ú720.50ú720.93©r%   r&   ú51.95rr   ©ú20160525 13:30:00.041r&   rr   rr   ©r.   r/   ro   rp   ©ú20160525 13:30:00.072r/   ro   z720.88©rA   r=   ú98.55ú98.56©rR   r=   ry   rz   ©r[   r&   rr   rr   ©r[   r&   ú51.92rr   útime,ticker,bid,askr_   r`   Úbidrc   ÚaskT©r!   rf   rk   s     r   ÚquoteszTestAsOfMerge.quotesL   sš   € ä�\‰\âEÚCÚCÚEÚEÚEÚEÚEÚCÚCÚCÚCÚCÚCÚCÚCð!ð$ *×/Ñ/°Ó4ô'
ˆð* �u‘I×$Ñ$ YÓ/ˆˆ5‰	Ø�u‘I×$Ñ$ YÓ/ˆˆ5‰	Ø�~‰~˜b¨ˆ~Ó.Ð.r   c                 ó  — t        j                  g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢d	d
dddt        j                  t        j                  gg d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢gdj	                  d«      ¬«      }|d    j                  d!«      |d <   |d"   j                  d#«      |d"<   |d$   j                  d!«      |d$<   |d%   j                  d!«      |d%<   | j                  |«      S ©&N©r%   r&   rr   r(   r)   rr   rr   ©r+   r&   rr   r,   r)   rr   rr   ©r.   r/   z720.77r0   r)   ú720.5rp   ©r.   r/   z720.92r0   r)   r‰   rp   ©r.   r/   rp   r4   r)   r‰   rp   ©r.   r/   rp   r6   r)   r‰   rp   ©r.   r/   rp   r8   r)   r‰   rp   ©r.   r/   rp   r:   r)   r‰   rp   r<   r=   ú98.67r?   r)   ©rA   r=   r�   r?   r)   ry   rz   ©rA   r=   ú98.66rC   r)   ry   rz   ©rA   r=   ú98.65rF   r)   ry   rz   ©rA   r=   r”   r(   r)   ry   rz   ©rA   r=   r”   rI   r)   ry   rz   ©rA   r=   r”   rK   r)   ry   rz   ©rA   r=   r”   rM   r)   ry   rz   ©rA   r=   ry   rC   rP   ry   rz   ©rR   r=   rz   rT   rP   ry   rz   ©rR   r=   rz   r4   rP   ry   rz   ©rR   r=   rz   r6   rP   ry   rz   ©rR   r=   rz   rX   rP   ry   rz   ©rR   r=   rz   r8   rP   ry   rz   ©r[   r&   rr   r\   r)   r~   rr   ©r[   r&   rr   r0   r)   r~   rr   ú/time,ticker,price,quantity,marketCenter,bid,askr_   r`   rb   rc   rd   re   r€   r�   ©rg   rh   ÚnpÚnanri   rj   r"   rk   s     r   ÚasofzTestAsOfMerge.asofg   óC  € ä�\‰\òòòòòòòòð ,ØØØØÜ—F‘FÜ—F‘FðòòòòòòòòòòòòòòòòòòðWtðj F×KÑKÈCÓPômw
ˆðp ˜‘k×(Ñ(¨Ó3ˆˆ7‰Ø˜J™×.Ñ.¨wÓ7ˆˆ:‰Ø�u‘I×$Ñ$ YÓ/ˆˆ5‰	Ø�u‘I×$Ñ$ YÓ/ˆˆ5‰	Ø�~‰~˜bÓ!Ð!r   c                 ó  — t        j                  g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢d	d
dddt        j                  t        j                  gg d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢gdj	                  d«      ¬«      }|d    j                  d!«      |d <   |d"   j                  d#«      |d"<   |d$   j                  d!«      |d$<   |d%   j                  d!«      |d%<   | j                  |«      S r…   r¢   rk   s     r   Ú	tolerancezTestAsOfMerge.toleranceg  r¦   r   c                 ó   — t        j                  dddddt        j                  t        j                  gg d¢g d¢g d¢g d	¢g d
¢g d¢g d¢dddddt        j                  t        j                  gdddddt        j                  t        j                  gdddddt        j                  t        j                  gdddddt        j                  t        j                  gdddddt        j                  t        j                  gdddddt        j                  t        j                  gdddddt        j                  t        j                  gdddddt        j                  t        j                  gdddddt        j                  t        j                  gdddddt        j                  t        j                  gg d¢g d¢g d¢g d¢g d¢g d¢g d ¢g d!¢g d!¢gd"j	                  d#«      ¬$«      }|d%   j                  d&«      |d%<   |d'   j                  d(«      |d'<   |d)   j                  d&«      |d)<   |d*   j                  d&«      |d*<   | j                  |«      S ©+Nr%   r&   rr   r(   r)   r‡   rˆ   rŠ   r‹   rŒ   r�   rŽ   r<   r=   r�   r?   rA   r’   rC   r”   rF   rI   rK   rM   ry   rP   rš   r›   rœ   r�   rž   )r[   r&   rr   r\   r)   rr   rr   )r[   r&   rr   r0   r)   rr   rr   r¡   r_   r`   rb   rc   rd   re   r€   r�   r¢   )r   Údatapathr    s      r   Úallow_exact_matchesz!TestAsOfMerge.allow_exact_matchesg  óm  € ä�\‰\ð ,ØØØØÜ—F‘FÜ—F‘Fðòòòòòòòð ,ØØØØÜ—F‘FÜ—F‘Fðð ,ØØØØÜ—F‘FÜ—F‘Fðð ,ØØØØÜ—F‘FÜ—F‘Fðð ,ØØØØÜ—F‘FÜ—F‘Fðð ,ØØØØÜ—F‘FÜ—F‘Fðð ,ØØØØÜ—F‘FÜ—F‘Fðð ,ØØØØÜ—F‘FÜ—F‘Fðð ,ØØØØÜ—F‘FÜ—F‘Fðð )¨&°'¸3ÀÌÏÉÔPR×PVÑPVÐWØ(¨&°'¸3ÀÌÏÉÔPR×PVÑPVÐWòòòòòòòòòðwdðJ F×KÑKÈCÓPôMg
ˆðP ˜‘k×(Ñ(¨Ó3ˆˆ7‰Ø˜J™×.Ñ.¨wÓ7ˆˆ:‰Ø�u‘I×$Ñ$ YÓ/ˆˆ5‰	Ø�u‘I×$Ñ$ YÓ/ˆˆ5‰	Ø�~‰~˜bÓ!Ð!r   c                 ó   — t        j                  dddddt        j                  t        j                  gg d¢g d¢g d¢g d	¢g d
¢g d¢g d¢dddddt        j                  t        j                  gdddddt        j                  t        j                  gdddddt        j                  t        j                  gdddddt        j                  t        j                  gdddddt        j                  t        j                  gdddddt        j                  t        j                  gdddddt        j                  t        j                  gdddddt        j                  t        j                  gdddddt        j                  t        j                  gdddddt        j                  t        j                  gg d¢g d¢g d¢g d¢g d¢g d¢g d ¢g d!¢g d!¢gd"j	                  d#«      ¬$«      }|d%   j                  d&«      |d%<   |d'   j                  d(«      |d'<   |d)   j                  d&«      |d)<   |d*   j                  d&«      |d*<   | j                  |«      S rª   r¢   rk   s     r   Ú!allow_exact_matches_and_tolerancez/TestAsOfMerge.allow_exact_matches_and_toleranceW  r­   r   c                 óú   — t        j                  g d¢g d¢dœ«      }t        j                  g d¢g d¢dœ«      }t        j                  g d¢g d¢g d¢dœ«      }t        ||d¬	«      }t        j                  ||«       y
)údoc-string examples©é   é   é
   ©ÚaÚbÚc©r·   Úleft_val©r³   é   é   é   é   ©r·   Ú	right_val©r³   r¾   rÀ   ©r·   r»   rÂ   r·   ©ÚonN©rg   rh   r   ÚtmÚassert_frame_equal©r   ÚleftÚrightÚexpectedÚresults        r   Útest_examples1zTestAsOfMerge.test_examples1G  s`   € ä�|‰|¢*º/ÑJÓKˆÜ—‘¢?ÂÑQÓRˆä—<‘<Úª/Ê	ÑRó
ˆô ˜D %¨CÔ0ˆÜ
×Ñ˜f hÕ/r   c                 ól  — |dk(  rt        j                  d«       t        j                  t	        g d¢«      j                  d|› d�«      g d¢g d¢g d¢d	œg d	¢¬
«      }t        j                  t	        g d¢«      j                  d|› d�«      g d¢g d¢g d¢dœg d¢¬
«      }t        ||dd¬«       t        ||ddt        d«      ¬«       t        j                  t	        g d¢«      j                  d|› d�«      g d¢g d¢g d¢t        j                  dt        j                  t        j                  t        j                  gt        j                  dt        j                  t        j                  t        j                  gdœg d¢¬
«      }t        ||ddt        d«      d¬«      }t        j                  ||«       y)r±   r	   zNThis test is invalid for unit='s' because that would round the trades['time']])r%   r+   r.   r.   r.   úM8[ú]©r&   r&   r/   r/   r=   ©çš™™™™ùI@rÕ   g\�Âõ(††@ç�Âõ(\‡†@g     €X@©éK   é›   éd   rÚ   rÚ   )r   r   rb   rd   r`   )r%   r%   ú20160525 13:30:00.030rt   r.   ú20160525 13:30:00.049rw   rA   )r/   r&   r&   r&   r/   r=   r/   r&   )ç     „†@rÕ   ç\�Âõ(üI@ç…ëQ¸þI@rÝ   ç�Âõ(\X@rÝ   gáz®GJ@)ç=
×£p‡†@ç{®GáúI@ç=
×£pýI@ç      J@rá   çq=
×£€X@g×£p=
‡†@g¤p=
×J@)r   r   r€   r�   r   r   ©rÆ   ÚbyÚ2ms©rÆ   rç   r¨   rÞ   rã   )r   r   rb   rd   r€   r�   Ú10msF©rÆ   rç   r¨   r¬   N)ÚpytestÚskiprg   rh   r   rj   r   r   r£   r¤   rÈ   rÉ   )r   r   rl   rƒ   rÍ   rÎ   s         r   Útest_examples2zTestAsOfMerge.test_examples2S  s€  € à�3Š;Ü�K‰Kð,ôô —‘ä#òó÷ ‘&˜3˜t˜f A˜Ó'ÚBÚ>Ú4ñò <ô
ˆô$ —‘ä#ò	ó÷ ‘&˜3˜t˜f A˜Ó'ò	ò SÚRñ1ò4 5ô7
ˆô< 	�6˜6 f°Õ:ä�6˜6 f°ÄYÈuÓEUÕVä—<‘<ä#òó÷ ‘&˜3˜t˜f A˜Ó'ÚBÚ>Ú4ÜŸ™ ¤r§v¡v¬r¯v©v´r·v±vÐ>ÜŸ™ ¤r§v¡v¬r¯v©v´r·v±vÐ>ñò  Jô#
ˆô( ØØØØÜ Ó'Ø %ô
ˆô 	×Ñ˜f hÕ/r   c                 ó  — t        j                  g d¢g d¢dœ«      }t        j                  g d¢g d¢dœ«      }t        j                  g d¢g d¢ddt        j                  gdœ«      }t	        ||d	d
¬«      }t        j                  ||«       y)r±   r²   r¶   rº   r¼   rÁ   r³   r¿   rÄ   r·   Úforward©rÆ   Ú	directionN©rg   rh   r£   r¤   r   rÈ   rÉ   rÊ   s        r   Útest_examples3zTestAsOfMerge.test_examples3¬  sn   € ô �|‰|¢*º/ÑJÓKˆÜ—‘¢?ÂÑQÓRˆä—<‘<Úª/ÈÈAÌrÏvÉvÈÑWó
ˆô ˜D %¨C¸9ÔEˆÜ
×Ñ˜f hÕ/r   c                 óü   — t        j                  g d¢g d¢dœ«      }t        j                  g d¢g d¢dœ«      }t        j                  g d¢g d¢g d¢dœ«      }t        ||dd	¬
«      }t        j                  ||«       y)r±   r²   r¶   rº   r¼   rÁ   )r³   r¿   rÀ   rÄ   r·   Únearestrñ   NrÇ   rÊ   s        r   Útest_examples4zTestAsOfMerge.test_examples4º  sd   € ô �|‰|¢*º/ÑJÓKˆÜ—‘¢?ÂÑQÓRˆä—<‘<Úª/Ê	ÑRó
ˆô ˜D %¨C¸9ÔEˆÜ
×Ñ˜f hÕ/r   c                 óR   — |}t        ||dd¬«      }t        j                  ||«       y )Nr   r   ræ   ©r   rÈ   rÉ   ©r   rl   r¥   rƒ   rÍ   rÎ   s         r   Ú
test_basiczTestAsOfMerge.test_basicÈ  s'   € Øˆä˜F F¨v¸(ÔCˆÜ
×Ñ˜f hÕ/r   c                 ó  — |}|j                   j                  d«      |_         |j                   j                  d«      |_         |j                   j                  d«      |_         t        ||dd¬«      }t        j                  ||«       y )NÚcategoryr   r   ræ   )r   rj   r   rÈ   rÉ   rú   s         r   Útest_basic_categoricalz$TestAsOfMerge.test_basic_categoricalÎ  si   € ØˆØŸ™×,Ñ,¨ZÓ8ˆŒØŸ™×,Ñ,¨ZÓ8ˆŒØ"Ÿ/™/×0Ñ0°Ó<ˆŒä˜F F¨v¸(ÔCˆÜ
×Ñ˜f hÕ/r   c                 ó¶   — |}|j                  d«      }t        ||ddd¬«      }|j                  |_        ||j                     }t	        j
                  ||«       y )Nr   Tr   )Ú
left_indexÚright_onrç   )Ú	set_indexr   Úindexra   rÈ   rÉ   rú   s         r   Útest_basic_left_indexz#TestAsOfMerge.test_basic_left_index×  sW   € àˆØ×!Ñ! &Ó)ˆäØ�F t°fÀô
ˆð  Ÿ™ˆŒà˜FŸN™NÑ+ˆÜ
×Ñ˜f hÕ/r   c                 óv   — |}|j                  d«      }t        ||ddd¬«      }t        j                  ||«       y )Nr   Tr   )Úleft_onÚright_indexrç   ©r  r   rÈ   rÉ   rú   s         r   Útest_basic_right_indexz$TestAsOfMerge.test_basic_right_indexå  s>   € ØˆØ×!Ñ! &Ó)ˆäØ�F F¸Àô
ˆô 	×Ñ˜f hÕ/r   c                 ó¶   — |j                  d«      }|j                  d«      }|j                  d«      }t        ||ddd¬«      }t        j                  ||«       y )Nr   Tr   ©r   r  rç   r  rú   s         r   Ú!test_basic_left_index_right_indexz/TestAsOfMerge.test_basic_left_index_right_indexî  sW   € Ø—>‘> &Ó)ˆØ×!Ñ! &Ó)ˆØ×!Ñ! &Ó)ˆäØ�F t¸À(ô
ˆô 	×Ñ˜f hÕ/r   c                 óÊ   — |j                  ddg«      }|j                  d«      }t        j                  t        d¬«      5  t	        ||dd¬«       d d d «       y # 1 sw Y   y xY w)Nr   rb   zleft can only have one index©ÚmatchT©r   r  ©r  rì   Úraisesr   r   ©r   rl   rƒ   s      r   Útest_multi_index_leftz#TestAsOfMerge.test_multi_index_leftø  s]   € à×!Ñ! 6¨7Ð"3Ó4ˆØ×!Ñ! &Ó)ˆÜ�]‰]œ:Ð-KÔLñ 	JÜ�v˜v°$ÀDÕI÷	J÷ 	Jñ 	Júó   Á AÁA"c                 óÊ   — |j                  d«      }|j                  ddg«      }t        j                  t        d¬«      5  t	        ||dd¬«       d d d «       y # 1 sw Y   y xY w)Nr   r€   zright can only have one indexr  Tr  r  r  s      r   Útest_multi_index_rightz$TestAsOfMerge.test_multi_index_rightÿ  s\   € à×!Ñ! &Ó)ˆØ×!Ñ! 6¨5 /Ó2ˆÜ�]‰]œ:Ð-LÔMñ 	JÜ�v˜v°$ÀDÕI÷	J÷ 	Jñ 	Júr  c                 óÌ   — |j                  d«      }|j                  d«      }d}t        j                  t        |¬«      5  t	        ||ddd¬«       d d d «       y # 1 sw Y   y xY w)Nr   z:Can only pass argument "left_on" OR "left_index" not both.r  rb   T)r  r   r  r  ©r   rl   rƒ   Úmsgs       r   Útest_on_and_index_left_onz'TestAsOfMerge.test_on_and_index_left_on  s]   € à×!Ñ! &Ó)ˆØ×!Ñ! &Ó)ˆØJˆÜ�]‰]œ:¨SÔ1ñ 	ÜØ˜¨¸DÈdõ÷	÷ 	ñ 	úó   Á AÁA#c                 óÌ   — |j                  d«      }|j                  d«      }d}t        j                  t        |¬«      5  t	        ||ddd¬«       d d d «       y # 1 sw Y   y xY w)Nr   z<Can only pass argument "right_on" OR "right_index" not both.r  r€   T)r  r   r  r  r  s       r   Útest_on_and_index_right_onz(TestAsOfMerge.test_on_and_index_right_on  s]   € Ø×!Ñ! &Ó)ˆØ×!Ñ! &Ó)ˆØLˆÜ�]‰]œ:¨SÔ1ñ 	ÜØ˜¨¸4ÈTõ÷	÷ 	ñ 	úr  c                 óT   — |}t        ||ddd¬«      }t        j                  ||«       y )Nr   r   )rÆ   Úleft_byÚright_byrù   rú   s         r   Útest_basic_left_by_right_byz)TestAsOfMerge.test_basic_left_by_right_by  s.   € àˆäØ�F˜v¨xÀ(ô
ˆô 	×Ñ˜f hÕ/r   c                 óÒ   — |}||j                   dk7     }t        ||dd¬«      }t        j                  |j                  |j                   dk(  ddgf<   t        j                  ||«       y )Nr&   r   r   ræ   r€   r�   )r   r   r£   r¤   ÚlocrÈ   rÉ   )r   rl   r¥   rƒ   rÍ   ÚqrÎ   s          r   Útest_missing_right_byz#TestAsOfMerge.test_missing_right_by"  s^   € Øˆà�6—=‘= FÑ*Ñ+ˆÜ˜F A¨&°XÔ>ˆÜBDÇ&Á&ˆ�‰�X—_‘_¨Ñ.°¸°Ð>Ñ?Ü
×Ñ˜f hÕ/r   c                 ó  — t        j                  t        g d¢«      g d¢g d¢g d¢g d¢dœg d¢¬«      }t        j                  t        g d¢«      g d	¢g d
¢g d¢g d¢dœg d¢¬«      }t        j                  t        g d¢«      g d¢g d¢g d¢g d¢t        j                  dddt        j                  gt        j                  dddt        j                  gdœg d¢¬«      }t        ||dddg¬«      }t        j                  ||«       y )N©r%   r%   z20160525 13:30:00.046r.   ú20160525 13:30:00.050rÓ   ©rP   ÚNSDQr+  ÚBATSr+  rÔ   r×   ©r   r   Úexchrb   rd   r`   ©r%   r%   rÛ   rt   z20160525 13:30:00.045rÜ   )r/   r&   r&   r&   r/   r=   ©r,  r+  rP   rP   r+  rP   ©ç®Gáz„†@rÕ   rÞ   rß   rÝ   rà   ©rÖ   râ   rã   rä   rá   rå   ©r   r   r.  r€   r�   rÕ   rÝ   r2  râ   rá   rÖ   ©r   r   r.  rb   rd   r€   r�   r   r   r.  ræ   )rg   rh   r   r£   r¤   r   rÈ   rÉ   )r   rl   rƒ   rÍ   rÎ   s        r   Útest_multibyzTestAsOfMerge.test_multiby*  s÷   € ä—‘ä#òóò CÚ@Ú>Ú4ñò Dô!
ˆô& —‘ä#òó	ò KÚHÚCÚCñò  =ô#
ˆô( —<‘<ä#òóò CÚ@Ú>Ú4ÜŸ™  v¨v´r·v±vÐ>ÜŸ™  v¨v´r·v±vÐ>ñò" Rô%
ˆô* ˜F F¨v¸8ÀVÐ:LÔMˆÜ
×Ñ˜f hÕ/r   ÚdtypeÚobjectÚstringc                 ó~  — t        j                  t        g d¢«      g d¢g d¢g d¢g d¢dœg d¢¬«      }|j                  ||dœ«      }t        j                  t        g d	¢«      g d
¢g d¢g d¢g d¢dœg d¢¬«      }|j                  ||dœ«      }t        j                  t        g d¢«      g d¢g d¢g d¢g d¢t        j
                  dddt        j
                  gt        j
                  dddt        j
                  gdœg d¢¬«      }|j                  ||dœ«      }t        ||dddg¬«      }t        j                  ||«       y )Nr(  )r   r   r³   r³   r½   r*  rÔ   r×   r-  r`   )r   r.  r/  )r³   r   r   r   r³   r½   r0  r1  r3  r4  rÕ   rÝ   r2  râ   rá   rÖ   r5  r   r   r.  ræ   )	rg   rh   r   rj   r£   r¤   r   rÈ   rÉ   )r   r7  rl   rƒ   rÍ   rÎ   s         r   Ú test_multiby_heterogeneous_typesz.TestAsOfMerge.test_multiby_heterogeneous_typesk  s/  € ô —‘ä#òóò *Ú@Ú>Ú4ñò Dô!
ˆð$ —‘¨%¸Ñ?Ó@ˆä—‘ä#òó	ò -ÚHÚCÚCñò  =ô#
ˆð& —‘¨%¸Ñ?Ó@ˆä—<‘<ä#òóò *Ú@Ú>Ú4ÜŸ™  v¨v´r·v±vÐ>ÜŸ™  v¨v´r·v±vÐ>ñò" Rô%
ˆð( —?‘?¨e¸UÑ#CÓDˆä˜F F¨v¸8ÀVÐ:LÔMˆÜ
×Ñ˜f hÕ/r   c           	      óR  — t        j                  t        d«      ddgt        d«      ddgt        d«      ddgt        d«      ddggg d¢¬«      j                  d	«      }|j                  t        j
                  d
«      z
  |_        t        j                  t        d«      dddgt        d«      dddgt        d«      dddgt        d«      dddggg d¢¬«      j                  d	«      }d}t        j                  t        |¬«      5  t        ||ddddg¬«       d d d «       y # 1 sw Y   y xY w)NÚ20160602r³   r·   r½   Ú20160603r¸   ©r   Úk1Úk2r`   r   r   Ú20160502ç      ð?ç       @Ú20160503ç      @ç      @©r   r@  rA  Úvalueúincompatible merge keysr  Tr@  rA  r  )
rg   rh   r   r  r  Ú	Timestamprì   r  r   r   )r   rË   rÌ   r  s       r   Útest_mismatched_index_dtypez)TestAsOfMerge.test_mismatched_index_dtype°  s-  € ä�|‰|ä˜ZÓ(¨!¨SÐ1Ü˜ZÓ(¨!¨SÐ1Ü˜ZÓ(¨!¨SÐ1Ü˜ZÓ(¨!¨SÐ1ð	ò )ô
÷ ‰)�FÓ
ð 	ð —Z‘Z¤"§,¡,¨q£/Ñ1ˆŒ
ä—‘ä˜ZÓ(¨!¨S°#Ð6Ü˜ZÓ(¨!¨S°#Ð6Ü˜ZÓ(¨!¨S°#Ð6Ü˜ZÓ(¨!¨S°#Ð6ð	ò 2ô
÷ ‰)�FÓ
ð 	ð (ˆÜ�]‰]œ:¨SÔ1ñ 	XÜ�t˜U¨tÀÈ4ÐQUÈ,ÕW÷	X÷ 	Xñ 	Xús   ÄDÄD&c           	      ó  — t        j                  t        d«      ddgt        d«      ddgt        d«      ddgt        d«      ddggg d¢¬«      j                  d	«      }t        j                  t        d
«      dddgt        d
«      dddgt        d«      dddgt        d«      dddggg d¢¬«      j                  d	«      }t        j                  t        d«      dddgt        d«      dddgt        d«      dddgt        d«      dddggg d¢¬«      j                  d	«      }t	        ||ddddg¬«      }t        j                  ||«       t        j                  t        d¬«      5  t	        ||ddddgdg¬«       d d d «       y # 1 sw Y   y xY w)Nr=  r³   r·   r½   r>  r¸   r?  r`   r   rB  rC  rD  rE  rF  rG  rH  Tr@  rA  r  z,left_by and right_by must be the same lengthr  )r   r  r   r!  )
rg   rh   r   r  r   rÈ   rÉ   rì   r  r   rÊ   s        r   Útest_multiby_indexedz"TestAsOfMerge.test_multiby_indexedÌ  sµ  € ä�|‰|ä˜ZÓ(¨!¨SÐ1Ü˜ZÓ(¨!¨SÐ1Ü˜ZÓ(¨!¨SÐ1Ü˜ZÓ(¨!¨SÐ1ð	ò )ô
÷ ‰)�FÓ
ð 	ô —‘ä˜ZÓ(¨!¨S°#Ð6Ü˜ZÓ(¨!¨S°#Ð6Ü˜ZÓ(¨!¨S°#Ð6Ü˜ZÓ(¨!¨S°#Ð6ð	ò 2ô
÷ ‰)�FÓ
ð 	ô —<‘<ä˜ZÓ(¨!¨S°#Ð6Ü˜ZÓ(¨!¨S°#Ð6Ü˜ZÓ(¨!¨S°#Ð6Ü˜ZÓ(¨!¨S°#Ð6ð	ò 2ô
÷ ‰)�FÓ
ð 	ô Ø�% D°dÀÀd¸|ô
ˆô 	×Ñ˜h¨Ô/ä�]‰]ÜÐLô
ñ 
	ô ØØØØ Ø˜t˜Ø˜õ÷
	÷ 
	ñ 
	ús   Å E>Å>Fc           
      óÞ	  — t        j                  g g d¢‘g d¢‘g d¢‘g d¢‘g d¢‘g d¢‘g d¢‘g d¢‘d	d
dddt        j                  t        j                  g‘g d¢‘g d¢‘g d¢‘g d¢‘g d¢‘g d¢‘g d¢‘g d¢‘g d¢‘g d¢‘g d¢‘g d¢‘g d¢‘g d¢‘g d¢‘g d¢‘g d¢‘g d¢‘g d¢‘g d¢‘g d¢‘g d ¢‘g d!¢‘g d"¢‘g d"¢‘g d#¢‘g d#¢‘g d$¢‘g d%¢‘g d&¢‘g d'¢‘g d(¢‘g d)¢‘g d*¢‘g d+¢‘g d,¢‘g d-¢‘g d.¢‘g d/¢‘g d0¢‘g d1¢‘g d2¢‘g d2¢‘g d3¢‘g d4¢‘g d5¢‘g d6¢‘g d7¢‘g d8¢‘g d9¢‘g d:¢‘g d;¢‘g d;¢‘g d<¢‘g d=¢‘g d>¢‘g d?¢‘g d@¢‘g dA¢‘g dB¢‘g dC¢‘g dD¢‘g dE¢‘g dF¢‘g dG¢‘g dH¢‘g dI¢‘g dI¢‘dJj	                  dK«      ¬L«      }|dM   j                  dN«      |dM<   |dO   j                  dP«      |dO<   |dQ   j                  dN«      |dQ<   |dR   j                  dN«      |dR<   | j                  |«      }t        j                  g g dS¢‘g dT¢‘g dU¢‘g dV¢‘g dW¢‘g dX¢‘g dY¢‘g dZ¢‘g d[¢‘g d\¢‘g d]¢‘g d^¢‘g d_¢‘g d`¢‘g da¢‘g db¢‘g dc¢‘g dc¢‘g dd¢‘g de¢‘g df¢‘g dg¢‘g dh¢‘g de¢‘g di¢‘g dj¢‘g dj¢‘g dk¢‘g dl¢‘g dm¢‘g dn¢‘g do¢‘g dp¢‘g dp¢‘g dq¢‘g dq¢‘g dr¢‘g ds¢‘g dt¢‘g du¢‘g dv¢‘g dw¢‘g dx¢‘g dy¢‘g dz¢‘g d{¢‘g d|¢‘g d}¢‘g d~¢‘g d¢‘g d€¢‘g d€¢‘g d�¢‘g d‚¢‘g dƒ¢‘g d„¢‘g d…¢‘g d†¢‘g d‡¢‘g dˆ¢‘g d‰¢‘g d‰¢‘g dŠ¢‘g d‹¢‘g dŒ¢‘g d�¢‘g dŽ¢‘g d�¢‘g d�¢‘g d‘¢‘g d’¢‘g d“¢‘g d”¢‘g d•¢‘g d–¢‘g d—¢‘g d—¢‘d˜j	                  dK«      ¬L«      }|dM   j                  dN«      |dM<   |dO   j                  dP«      |dO<   | j                  |«      }t        j                  g g d™¢‘g dš¢‘g d›¢‘g dœ¢‘g dœ¢‘g dœ¢‘g dœ¢‘g d�¢‘g dž¢‘g dŸ¢‘g dŸ¢‘g dŸ¢‘g d ¢‘g d ¢‘g d ¢‘g d¡¢‘g d¢¢‘g d£¢‘g d¤¢‘g d¥¢‘g d¦¢‘g d§¢‘g d¨¢‘g d¨¢‘g d¨¢‘g d¨¢‘g d©¢‘g dª¢‘g d«¢‘g d¬¢‘g d¬¢‘g d­¢‘g d®¢‘g d®¢‘g d¯¢‘g d°¢‘g d¯¢‘g d¯¢‘g d°¢‘g d±¢‘g d±¢‘g d²¢‘g d³¢‘g d³¢‘g d´¢‘g dµ¢‘g d¶¢‘g d¶¢‘g d·¢‘g d·¢‘g d¸¢‘g d¹¢‘g d¹¢‘g dº¢‘g d¹¢‘g dº¢‘d»j	                  dK«      ¬L«      }|dQ   j                  dN«      |dQ<   |dR   j                  dN«      |dR<   | j                  |d¼¬½«      }t        ||d¾d¿¬À«      }t        j                  ||«       y )ÁNr†   r‡   rˆ   rŠ   r‹   rŒ   r�   rŽ   r<   r=   r�   r?   r)   r�   r‘   r“   r•   r–   r—   r˜   r™   rš   r›   rœ   r�   rž   rŸ   r    )ú20160525 13:30:00.084r=   z98.64Ú40r)   ry   rz   )rP  r=   ry   Ú149ÚEDGXry   rz   )ú20160525 13:30:00.086r=   rz   Ú500rP   ry   ú98.63)ú20160525 13:30:00.104r=   rV  Ú647rS  ú98.62rV  )rW  r=   rV  r6   rS  rY  rV  )rW  r=   rV  Ú50r)   rY  rV  )rW  r=   rV  Ú70r)   rY  rV  )rW  r=   rV  Ú1r)   rY  rV  )rW  r=   rV  Ú62r)   rY  rV  )rW  r=   rV  rM   r)   rY  rV  )rW  r=   rV  r0   rP   rY  rV  )ú20160525 13:30:00.105r=   rV  r0   rP   rY  rV  )r^  r=   rV  Ú700rP   rY  rV  )ú20160525 13:30:00.106r=   rV  Ú61rS  rY  rV  )ú20160525 13:30:00.107r=   rV  r0   rP   rY  rV  )rb  r=   rV  Ú53rP   rY  rV  )ú20160525 13:30:00.108r=   rV  r0   rP   rY  rV  )rd  r=   rV  Ú839rP   rY  rV  )ú20160525 13:30:00.115r=   rV  Ú5rS  rY  rV  )ú20160525 13:30:00.118r=   rV  Ú295rS  rY  rV  )rh  r=   rV  rg  rS  rY  rV  )ú20160525 13:30:00.128r=   rV  r0   r)   rY  rV  )rj  r&   r~   r0   rP   r~   rr   )ú20160525 13:30:00.129r=   rY  r0   r)   ú98.61rV  )rk  r=   rY  rM   r)   rl  rV  )rk  r=   rY  Ú59r)   rl  rV  )rk  r=   rY  Ú31r)   rl  rV  )rk  r=   rY  Ú69r)   rl  rV  )rk  r=   rY  Ú12r)   rl  rV  )rk  r=   rY  rp  rS  rl  rV  )rk  r=   rY  r0   rP   rl  rV  )ú20160525 13:30:00.130r&   rr   Ú317rP   ú51.93rr   )rq  r&   rr   Ú283rP   rs  rr   )ú20160525 13:30:00.135r&   rs  r0   rS  r~   rr   )ru  r=   rY  r0   rP   rl  rY  )ú20160525 13:30:00.144r=   rY  rp  r)   rl  rY  )rv  r=   rY  Ú88r)   rl  rY  )rv  r=   rY  Ú162r)   rl  rY  )rv  r=   rl  r0   r,  rl  rY  )rv  r=   rY  ra  rP   rl  rY  )rv  r=   rY  Ú25rP   rl  rY  )rv  r=   rY  Ú14rP   rl  rY  )ú20160525 13:30:00.145r=   rY  rp  rP   ú98.6rV  )r{  r=   rY  r0   rP   r|  rV  )r{  r=   rV  r0   r)   r|  rV  r¡   r_   r`   rb   rc   rd   re   r€   r�   r$   r*   r-   r1   r2   r5   r7   r9   r;   r@   rB   rD   rG   rH   rJ   rL   rN   rQ   rU   rV   rW   rY   rZ   r]   )rP  r=   z98.6400rQ  r)   )rP  r=   rO   rR  rS  )rT  r=   rS   rU  rP   )rW  r=   ú98.6300rX  rS  )rW  r=   r}  r6   rS  )rW  r=   r}  rZ  r)   )rW  r=   r}  r[  r)   )rW  r=   r}  r\  r)   )rW  r=   r}  r]  r)   )rW  r=   r}  rM   r)   )rW  r=   r}  r0   rP   )r^  r=   r}  r0   rP   )r^  r=   r}  r_  rP   )r`  r=   r}  ra  rS  )rb  r=   r}  r0   rP   )rb  r=   r}  rc  rP   )rd  r=   r}  r0   rP   )rd  r=   r}  re  rP   )rf  r=   r}  rg  rS  )rh  r=   r}  ri  rS  )rh  r=   r}  rg  rS  )rj  r=   r}  r0   r)   )rj  r&   z51.9200r0   rP   )rk  r=   ú98.6200r0   r)   )rk  r=   r~  rM   r)   )rk  r=   r~  rm  r)   )rk  r=   r~  rn  r)   )rk  r=   r~  ro  r)   )rk  r=   r~  rp  r)   )rk  r=   r~  rp  rS  )rk  r=   r~  r0   rP   )rq  r&   r'   rr  rP   )rq  r&   r'   rt  rP   )ru  r&   z51.9300r0   rS  )ru  r=   r~  r0   rP   )rv  r=   r~  rp  r)   )rv  r=   r~  rw  r)   )rv  r=   r~  rx  r)   )rv  r=   z98.6100r0   r,  )rv  r=   r~  ra  rP   )rv  r=   r~  ry  rP   )rv  r=   r~  rz  rP   )r{  r=   r~  rp  rP   )r{  r=   r~  r0   rP   )r{  r=   r}  r0   r)   r^   rn   rq   rs   ru   rv   rx   r{   r|   r}   )z20160525 13:30:00.079r&   r~   rr   )z20160525 13:30:00.080r=   ry   rz   )rP  r=   ry   rz   )rT  r=   ry   rV  )z20160525 13:30:00.088r=   r”   rV  )z20160525 13:30:00.089r=   rV  rV  )rW  r=   rV  rV  )rW  r=   rY  rV  )r^  r=   rY  rV  )rb  r=   rY  rV  )rf  r=   rY  rV  )rh  r=   rY  rV  )rj  r=   rY  rV  )rk  r=   rY  rV  )rk  r=   rl  rV  )rq  r&   rs  rr   )rq  r=   rl  rV  )z20160525 13:30:00.131r=   rl  rY  )ru  r&   r~   rr   )ru  r=   rl  rY  )z20160525 13:30:00.136r=   rl  rY  )rv  r=   rl  rY  )r{  r=   rl  rY  )r{  r=   rl  rV  )r{  r=   z98.60rV  r   Tr‚   r   r   ræ   )
rg   rh   r£   r¤   ri   rj   r"   r   rÈ   rÉ   )r   r«   rÍ   rl   rƒ   rÎ   s         r   Útest_basic2zTestAsOfMerge.test_basic2þ  s  € Ü—<‘<ðv
òðv
òðv
ò&ð'v
ò8ð9v
òJðKv
ò\ð]v
ònðov
ò@ðAv
ðT ,ØØØØÜ—F‘FÜ—F‘FððSv
òdðev
òvðwv
òHðIv
òZð[v
òlðmv
ò~ðv
òPðQv
òbðcv
òtðuv
òFðGv
òXðYv
òjðkv
ò|ð}v
òNðOv
ò`ðav
òrðsv
òDðEv
òVðWv
òhðiv
òzð{v
òLðMv
ò^ð_v
òpðqv
òB	ðC	v
òT	ðU	v
òf	ðg	v
òx	ðy	v
òJ
ðK
v
ò\
ð]
v
òn
ðo
v
ò@ðAv
òRðSv
òdðev
òvðwv
òHðIv
òZð[v
òlðmv
ò~ðv
òPðQv
òbðcv
òtðuv
òFðGv
òXðYv
òjðkv
ò|ð}v
òNðOv
ò`ðav
òrðsv
òDðEv
òVðWv
òhðiv
òzð{v
òLðMv
ò^ð_v
òpðqv
òBðCv
òTðUv
òfðgv
òxðyv
òJðKv
ò\ð]v
ònðov
ò@ðAv
òRðSv
òdðev
òvðwv
òHðIv
òZð[v
ðn F×KÑKÈCÓPôqy

ˆðt % WÑ-×4Ñ4°YÓ?ˆ�ÑØ'¨
Ñ3×:Ñ:¸7ÓCˆ�ÑØ" 5™/×0Ñ0°Ó;ˆ�‰Ø" 5™/×0Ñ0°Ó;ˆ�‰Ø—>‘> (Ó+ˆä—‘ðNÚLðNâMðNò OðNò Oð	Nò
 OðNò OðNò OðNò NðNò QðNò QðNò LðNò MðNò MðNò MðNò MðNò  Mð!Nò" Jð#Nò$ Jð%Nò& Mð'Nò( Lð)Nò* Lð+Nò, Lð-Nò. Lð/Nò0 Lð1Nò2 Nð3Nò4 Nð5Nò6 Nð7Nò8 Mð9Nò: Lð;Nò< Lð=Nò> Lð?Nò@ LðANòB MðCNòD MðENòF MðGNòH MðINòJ LðKNòL MðMNòN MðONòP LðQNòR LðSNòT LðUNòV KðWNòX LðYNòZ Kð[Nò\ Lð]Nò^ Lð_Nò` JðaNòb LðcNòd JðeNòf NðgNòh NðiNòj LðkNòl NðmNòn MðoNòp MðqNòr MðsNòt MðuNòv MðwNòx KðyNòz Lð{Nò| Lð}Nò~ LðNò@ LðANòB LðCNòD LðENòF MðGNòH MðINòJ NðKNòL LðMNòN KðONòP KðQNòR KðSNòT KðUNòV LðWNòX NðYNòZ Nð[Nð^ >×CÑCÀCÓHôaQ
ˆðd ! ™/×0Ñ0°Ó;ˆˆw‰Ø# JÑ/×6Ñ6°wÓ?ˆˆzÑØ—‘ Ó'ˆä—‘ð9ÚEð9âCð9ò Dð9ò Fð	9ò
 Fð9ò Fð9ò Fð9ò Fð9ò Dð9ò Dð9ò Dð9ò Dð9ò Dð9ò Dð9ò Dð9ò  Dð!9ò" Dð#9ò$ Dð%9ò& Dð'9ò( Dð)9ò* Dð+9ò, Dð-9ò. Dð/9ò0 Dð19ò2 Dð39ò4 Dð59ò6 Dð79ò8 Dð99ò: Dð;9ò< Dð=9ò> Dð?9ò@ DðA9òB DðC9òD DðE9òF DðG9òH DðI9òJ DðK9òL DðM9òN DðO9òP DðQ9òR DðS9òT DðU9òV DðW9òX DðY9òZ Dð[9ò\ Dð]9ò^ Dð_9ò` Dða9òb Dðc9òd Dðe9òf Dðg9òh Dði9òj Dðk9òl Dðm9òn Dðo9òp Dðq9ðt *×/Ñ/°Ó4ôw<
ˆðz ˜u™×,Ñ,¨YÓ7ˆˆu‰Ø˜u™×,Ñ,¨YÓ7ˆˆu‰Ø—‘ ¨t�Ó4ˆä˜F F¨v¸(ÔCˆÜ
×Ñ˜f hÕ/r   c                 ó‚   — d„ } ||«      } ||«      } ||«      }t        ||d¬«      }t        j                  ||«       y )Nc                 óh   — | | j                   dk(     j                  dd¬«      j                  d¬«      S )Nr&   r   r³   )ÚaxisTr   )r   r   r   ©Úxs    r   ú<lambda>z0TestAsOfMerge.test_basic_no_by.<locals>.<lambda>[	  s1   € �a˜Ÿ™ FÑ*Ñ+ß‰T�( ˆTÓ#ß‰[˜dˆ[Ó#ð r   r   rÅ   rù   )r   rl   r¥   rƒ   ÚfrÍ   rÎ   s          r   Útest_basic_no_byzTestAsOfMerge.test_basic_no_byY	  sG   € ñ$ð 	
ñ �T“7ˆÙ�6“ˆÙ�6“ˆä˜F F¨vÔ6ˆÜ
×Ñ˜f hÕ/r   c                 ó†  — d}t        j                  t        |¬«      5  t        ||ddd¬«       d d d «       t        j                  t        d¬«      5  t        ||ddgd¬«       d d d «       t        j                  t        d¬«      5  t        ||d¬	«       d d d «       y # 1 sw Y   ŒqxY w# 1 sw Y   ŒHxY w# 1 sw Y   y xY w)
Nz6incompatible merge keys \[1\] .* must be the same typer  r   r€   r   )r  r  rç   zcan only asof on a key for leftræ   )rç   ©rì   r  r   r   r  s       r   Útest_valid_join_keysz"TestAsOfMerge.test_valid_join_keysh	  s²   € ØGˆä�]‰]œ:¨SÔ1ñ 	TÜ�v˜v¨vÀÈ(ÕS÷	Tô �]‰]œ:Ð-NÔOñ 	KÜ�v˜v¨6°8Ð*<ÀÕJ÷	Kô �]‰]œ:Ð-NÔOñ 	4Ü�v˜v¨(Õ3÷	4ð 	4÷	Tð 	Tú÷	Kð 	Kú÷	4ð 	4ús#   žBÁB+ÂB7ÂB(Â+B4Â7C c                 óà   — t        j                  ||g«      j                  ddg«      j                  d¬«      }t	        ||dd¬«      }| j                  |«      }t        j                  ||«       y )Nr   r   Tr   ræ   )rg   ÚconcatÚsort_valuesr   r   r"   rÈ   rÉ   )r   r«   rl   rƒ   r¥   r%  rÎ   rÍ   s           r   Útest_with_duplicatesz"TestAsOfMerge.test_with_duplicatest	  sc   € ä�I‰I�v˜vÐ&Ó'ß‰[˜& (Ð+Ó,ß‰[˜dˆ[Ó#ð 	
ô
 ˜F A¨&°XÔ>ˆØ—>‘> $Ó'ˆÜ
×Ñ˜f hÕ/r   c                 óú   — t        j                  g d¢g d¢dœ«      }t        j                  g d¢g d¢dœ«      }t        ||d¬«      }t        j                  g d¢g d¢g d¢dœ«      }t        j                  ||«       y )	N)r³   r³   r¾   ©r³   r½   r¾   )Úkeyr»   )r³   r½   r½   )r‘  rÂ   r‘  rÅ   )r‘  r»   rÂ   rÇ   ©r   Údf1Údf2rÎ   rÍ   s        r   Útest_with_duplicates_no_onz(TestAsOfMerge.test_with_duplicates_no_on~	  s`   € Ü�l‰l¢9º)ÑDÓEˆÜ�l‰l¢9º9ÑEÓFˆÜ˜C ¨Ô/ˆÜ—<‘<Úª9Â9ÑMó
ˆô 	×Ñ˜f hÕ/r   c                 óˆ   — d}t        j                  t        |¬«      5  t        ||ddd¬«       d d d «       y # 1 sw Y   y xY w)Nz/allow_exact_matches must be boolean, passed foor  r   r   Úfoo©rÆ   rç   r¬   r‰  r  s       r   Útest_valid_allow_exact_matchesz,TestAsOfMerge.test_valid_allow_exact_matches‡	  s=   € Ø?ˆä�]‰]œ:¨SÔ1ñ 	ÜØ˜ 6¨hÈEõ÷	÷ 	ñ 	ús	   ž8¸Ac           
      ó  — t        ||ddt        d«      ¬«       t        |j                  «       |j                  «       ddd¬«       d}t        j                  t
        |¬«      5  t        ||ddd¬«       d d d «       t        j                  t
        |¬«      5  t        |j                  «       |j                  «       ddd	¬«       d d d «       d
}t        j                  t
        |¬«      5  t        ||ddt        d«       ¬«       d d d «       t        j                  t
        |¬«      5  t        |j                  «       |j                  «       ddd¬«       d d d «       y # 1 sw Y   ŒêxY w# 1 sw Y   Œ¦xY w# 1 sw Y   ŒrxY w# 1 sw Y   y xY w)Nr   r   Ú1sré   r  r³   z6incompatible tolerance .*, must be compat with type .*r  rC  ztolerance must be positiveéÿÿÿÿ)r   r   r   rì   r  r   r  s       r   Útest_valid_tolerancez"TestAsOfMerge.test_valid_tolerance�	  si  € ä�6˜6 f°ÄYÈtÃ_ÕUô 	Ø×ÑÓ Ø×ÑÓ ØØØõ	
ð Hˆô �]‰]œ:¨SÔ1ñ 	LÜ�v˜v¨&°XÈÕK÷	Lô �]‰]œ:¨SÔ1ñ 	ÜØ×"Ñ"Ó$Ø×"Ñ"Ó$ØØØõ÷	ð +ˆô �]‰]œ:¨SÔ1ñ 	ÜØ˜ 6¨hÄ9ÈTÃ?ÐBRõ÷	ô
 �]‰]œ:¨SÔ1ñ 	ÜØ×"Ñ"Ó$Ø×"Ñ"Ó$ØØØõ÷	ð 	÷+	Lð 	Lú÷	ð 	ú÷	ð 	ú÷
	ð 	ús0   Á#EÂ-E)Ã)E5Ä'-FÅE&Å)E2Å5E>ÆF
c                 óÎ  — |j                  dd¬«      }|j                  dd¬«      }|j                  j                  rJ ‚|j                  j                  rJ ‚t        j                  t
        d¬«      5  t        ||dd¬«       d d d «       |j                  d«      }|j                  j                  sJ ‚|j                  j                  rJ ‚t        j                  t
        d¬«      5  t        ||dd¬«       d d d «       |j                  d«      }|j                  j                  sJ ‚|j                  j                  sJ ‚t        ||dd¬«       y # 1 sw Y   ŒÎxY w# 1 sw Y   ŒfxY w)	Nr   F)Ú	ascendingzleft keys must be sortedr  r   ræ   zright keys must be sorted)r�  r   Úis_monotonic_increasingrì   r  Ú
ValueErrorr   r  s      r   Útest_non_sortedzTestAsOfMerge.test_non_sorted½	  s8  € Ø×#Ñ# F°eÐ#Ó<ˆØ×#Ñ# F°eÐ#Ó<ˆð —;‘;×6Ò6Ð6Ð6Ø—;‘;×6Ò6Ð6Ð6Ü�]‰]œ:Ð-GÔHñ 	?Ü�v˜v¨&°XÕ>÷	?ð ×#Ñ# FÓ+ˆØ�{‰{×2Ò2Ð2Ð2Ø—;‘;×6Ò6Ð6Ð6Ü�]‰]œ:Ð-HÔIñ 	?Ü�v˜v¨&°XÕ>÷	?ð ×#Ñ# FÓ+ˆØ�{‰{×2Ò2Ð2Ð2Ø�{‰{×2Ò2Ð2Ð2ô 	�6˜6 f°Ö:÷	?ð 	?ú÷	?ð 	?ús   Á2EÃ&EÅEÅE$Útolerance_tsÚ1dayr³   )Údaysr   zdatetime.timedelta)Úidsc                 óT   — t        ||dd|¬«      }|}t        j                  ||«       y )Nr   r   ré   rù   )r   r£  rl   rƒ   r¨   rÎ   rÍ   s          r   Útest_tolerancezTestAsOfMerge.test_toleranceÔ	  s0   € ô Ø�F˜v¨(¸lô
ˆð ˆÜ
×Ñ˜f hÕ/r   c                 ó  — t        j                  g d¢g d¢dœ«      }t        j                  g d¢g d¢dœ«      }t        j                  g d¢g d¢dt        j                  dgdœ«      }t	        ||d	d
d¬«      }t        j                  ||«       y )Nr²   r¶   rº   ©r³   r½   r¾   rÀ   é   rÁ   r³   r«  rÄ   r·   rð   ©rÆ   rò   r¨   ró   rÊ   s        r   Útest_tolerance_forwardz$TestAsOfMerge.test_tolerance_forwardà	  ót   € ô �|‰|¢*º/ÑJÓKˆÜ—‘Ò#3ÒBRÑSÓTˆä—<‘<Úª/ÈÌBÏFÉFÐTVÈÑXó
ˆô ˜D %¨C¸9ÐPQÔRˆÜ
×Ñ˜f hÕ/r   c                 ó  — t        j                  g d¢g d¢dœ«      }t        j                  g d¢g d¢dœ«      }t        j                  g d¢g d¢dt        j                  dgdœ«      }t	        ||d	d
d¬«      }t        j                  ||«       y )Nr²   r¶   rº   rª  rÁ   r³   r«  rÄ   r·   rö   r¬  ró   rÊ   s        r   Útest_tolerance_nearestz$TestAsOfMerge.test_tolerance_nearestí	  r®  r   c           
      óš  — t        j                  t        j                  t        d«      ddt	        j
                  d«      |¬«      t        j                  d«      dœ«      }t        j                  t        j                  t        d«      ddt	        j
                  d«      |¬«      t        d«      d	œ«      }t        ||d
t        d«      ¬«      }t        j                  t        j                  t        d«      ddt	        j
                  d«      |¬«      t        j                  d«      t        d«      dœ«      }t        j                  ||«       y )Nz
2016-01-02ÚDr´   ÚUTC)ÚstartÚfreqÚperiodsÚtzr   )ÚdateÚvalue1z
2016-01-01ÚABCDE)r¸  Úvalue2r¸  z1 day©rÆ   r¨   ÚBCDEE)r¸  r¹  r»  )rg   rh   Ú
date_ranger   ÚpytzÚtimezoner£   ÚarangeÚlistr   r   rÈ   rÉ   )r   r   rË   rÌ   rÎ   rÍ   s         r   Útest_tolerance_tzzTestAsOfMerge.test_tolerance_tzú	  s  € ä�|‰|äŸ™Ü% lÓ3ØØÜ—}‘} UÓ+Øôô Ÿ)™) A›,ñ	ó
ˆô —‘äŸ™Ü% lÓ3ØØÜ—}‘} UÓ+Øôô ˜w›-ñ	ó
ˆô ˜D %¨F¼iÈÓ>PÔQˆä—<‘<äŸ™Ü% lÓ3ØØÜ—}‘} UÓ+Øôô Ÿ)™) A›,Ü˜w›-ñ
ó
ˆô 	×Ñ˜f hÕ/r   c                 ó  — t        j                  g d¢g d¢dœ«      }t        j                  g d¢g d¢dœ«      }t        j                  g d¢g d¢ddt        j                  gdœ«      }t	        ||d	d
d¬«      }t        j                  ||«       y )N)çš™™™™™ñ?g      @gÍÌÌÌÌÌ%@r¶   rº   )rC  ç      @çffffff
@g      @g      '@rÁ   r³   rÇ  rÄ   r·   rö   ç      à?r¬  ró   rÊ   s        r   Útest_tolerance_floatz"TestAsOfMerge.test_tolerance_float%
  s{   € ä�|‰|Ò"2ÂÑPÓQˆÜ—‘Ú,Ò;UÑVó
ˆô —<‘<â%Ú+Ø ¤b§f¡fÐ-ñó
ˆô ˜D %¨C¸9ÐPSÔTˆÜ
×Ñ˜f hÕ/r   c           
      óÊ   — |j                  d«      }|j                  d«      }|j                  d«      }t        ||dddt        d«      ¬«      }t        j                  ||«       y )Nr   Tr   r¤  )r   r  rç   r¨   )r  r   r   rÈ   rÉ   )r   rl   rƒ   r¨   rÍ   rÎ   s         r   Útest_index_tolerancez"TestAsOfMerge.test_index_tolerance7
  se   € à×&Ñ& vÓ.ˆØ×!Ñ! &Ó)ˆØ×!Ñ! &Ó)ˆäØØØØØÜ Ó'ô
ˆô 	×Ñ˜f hÕ/r   c                 óT   — t        ||ddd¬«      }|}t        j                  ||«       y )Nr   r   Fr˜  rù   )r   rl   rƒ   r¬   rÎ   rÍ   s         r   Útest_allow_exact_matchesz&TestAsOfMerge.test_allow_exact_matchesG
  s.   € ÜØ�F˜v¨(Èô
ˆð 'ˆÜ
×Ñ˜f hÕ/r   c                 óþ   — t        j                  g d¢g d¢dœ«      }t        j                  g d¢g d¢dœ«      }t        j                  g d¢g d¢g d¢dœ«      }t        ||dd	d
¬«      }t        j                  ||«       y )Nr²   r¶   rº   rª  rÁ   )r½   rÀ   r«  rÄ   r·   rð   F©rÆ   rò   r¬   rÇ   rÊ   s        r   Ú test_allow_exact_matches_forwardz.TestAsOfMerge.test_allow_exact_matches_forwardN
  óm   € ô �|‰|¢*º/ÑJÓKˆÜ—‘Ò#3ÒBRÑSÓTˆä—<‘<Úª/Ê
ÑSó
ˆô Ø�%˜C¨9È%ô
ˆô 	×Ñ˜f hÕ/r   c                 óþ   — t        j                  g d¢g d¢dœ«      }t        j                  g d¢g d¢dœ«      }t        j                  g d¢g d¢g d¢dœ«      }t        ||dd	d
¬«      }t        j                  ||«       y )Nr²   r¶   rº   rª  rÁ   )r½   r¾   r«  rÄ   r·   rö   FrÏ  rÇ   rÊ   s        r   Ú test_allow_exact_matches_nearestz.TestAsOfMerge.test_allow_exact_matches_nearest]
  rÑ  r   c           	      óh   — t        ||ddt        d«      d¬«      }|}t        j                  ||«       y )Nr   r   Ú100msFrë   )r   r   rÈ   rÉ   )r   rl   rƒ   r¯   rÎ   rÍ   s         r   Ú&test_allow_exact_matches_and_tolerancez4TestAsOfMerge.test_allow_exact_matches_and_tolerancel
  s<   € ô ØØØØÜ Ó(Ø %ô
ˆð 5ˆÜ
×Ñ˜f hÕ/r   c           	      ó~  — t        j                  t        dg«      dgdœ«      }t        j                  t        ddg«      ddgdœ«      }t        ||d¬	«      }t        j                  t        dg«      dgdgd
œ«      }t	        j
                  ||«       t        ||dd¬«      }t        j                  t        dg«      dgdgd
œ«      }t	        j
                  ||«       t        ||ddt        d«      ¬«      }t        j                  t        dg«      dgt        j                  gd
œ«      }t	        j
                  ||«       y )Nú2016-07-15 13:30:00.030Úbob©r   Úusernameú2016-07-15 13:30:00.000r³   r½   ©r   Úversionr   rÅ   ©r   rÛ  rÞ  F)rÆ   r¬   rê   ©rÆ   r¬   r¨   )	rg   rh   r   r   rÈ   rÉ   r   r£   r¤   r’  s        r   Ú'test_allow_exact_matches_and_tolerance2z5TestAsOfMerge.test_allow_exact_matches_and_tolerance2z
  sG  € ä�l‰lÜ Ð";Ð!<Ó=ÈEÈ7ÑSó
ˆô �l‰lä#Ø.Ð0IÐJóð ˜q˜6ñ	ó
ˆô ˜C ¨Ô0ˆÜ—<‘<ä#Ð%>Ð$?Ó@Ø"˜GØ˜3ñó
ˆô 	×Ñ˜f hÔ/ä˜C ¨ÀUÔKˆÜ—<‘<ä#Ð%>Ð$?Ó@Ø"˜GØ˜3ñó
ˆô 	×Ñ˜f hÔ/äØØØØ %Ü Ó'ô
ˆô —<‘<ä#Ð%>Ð$?Ó@Ø"˜GÜŸF™F˜8ñó
ˆô 	×Ñ˜f hÕ/r   c           	      ó~  — t        j                  t        ddg«      ddgdœ«      }t        j                  t        ddg«      ddgdœ«      }t        ||d	d
t	        d«      ¬«      }t        j                  t        ddg«      ddgt
        j                  t
        j                  gdœ«      }t        j                  ||«       y )NrØ  rÙ  ÚcharlierÚ  rÜ  r³   r½   rÝ  r   Frê   rà  rß  )	rg   rh   r   r   r   r£   r¤   rÈ   rÉ   r’  s        r   Ú'test_allow_exact_matches_and_tolerance3z5TestAsOfMerge.test_allow_exact_matches_and_tolerance3¬
  sÑ   € ä�l‰lä#Ø.Ð0IÐJóð # IÐ.ñ	ó
ˆô �l‰lä#Ø.Ð0IÐJóð ˜q˜6ñ	ó
ˆô ØØØØ %Ü Ó'ô
ˆô —<‘<ä#Ø.Ð0IÐJóð # IÐ.ÜŸF™F¤B§F¡FÐ+ñó
ˆô 	×Ñ˜f hÕ/r   c                 ó  — t        j                  g d¢g d¢dœ«      }t        j                  g d¢g d¢dœ«      }t        j                  g d¢g d¢t        j                  ddgdœ«      }t	        ||d	d
dd¬«      }t        j                  ||«       y )Nr²   r¶   rº   ©r³   r¾   é   r¿   r«  rÁ   r¿   r«  rÄ   r·   rð   Fr³   ©rÆ   rò   r¬   r¨   ró   rÊ   s        r   Ú.test_allow_exact_matches_and_tolerance_forwardz<TestAsOfMerge.test_allow_exact_matches_and_tolerance_forwardÑ
  ó€   € ô �|‰|¢*º/ÑJÓKˆÜ—‘Ò#3ÒBRÑSÓTˆä—<‘<Úª/ÌÏÉÐQRÐTVÈÑXó
ˆô ØØØØØ %Øô
ˆô 	×Ñ˜f hÕ/r   c                 ó  — t        j                  g d¢g d¢dœ«      }t        j                  g d¢g d¢dœ«      }t        j                  g d¢g d¢t        j                  ddgd	œ«      }t	        ||d
ddd¬«      }t        j                  ||«       y )Nr²   r¶   rº   ræ  )r³   r¾   rç  rÀ   r«  rÁ   rç  r«  rÄ   r·   rö   Fr³   rè  ró   rÊ   s        r   Ú.test_allow_exact_matches_and_tolerance_nearestz<TestAsOfMerge.test_allow_exact_matches_and_tolerance_nearestå
  rê  r   c           
      ó2  — t        j                  g d¢g d¢g d¢dœ«      }t        j                  g d¢g d¢g d¢dœ«      }t        j                  g d¢g d¢g d¢dt        j                  d	d
dgdœ«      }t	        ||ddd¬«      }t        j                  ||«       y )N©r³   r´   rµ   é   é   )ÚXrñ  ÚYÚZrò  ©r·   r¸   r¹   ÚdÚe©r·   r¸   r»   ©r³   r¿   r«  rð  é   )rñ  ró  rò  ró  rò  ©r·   r¸   rÂ   r³   r«  rð  rù  ©r·   r¸   r»   rÂ   r·   r¸   rð   ©rÆ   rç   rò   ró   rÊ   s        r   Útest_forward_byzTestAsOfMerge.test_forward_byù
  s’   € ô �|‰|â'Ú.Ú5ñó
ˆô —‘â'Ú.Ú/ñó
ˆô —<‘<â'Ú.Ú5Ø¤§¡¨¨R°Ð4ñ	ó
ˆô ˜D %¨C°CÀ9ÔMˆÜ
×Ñ˜f hÕ/r   c                 ó  — t        j                  g d¢g d¢g d¢dœ«      }t        j                  g d¢g d¢g d¢dœ«      }t        j                  g d¢g d¢g d¢g d¢d	œ«      }t        ||d
dd¬«      }t        j                  ||«       y )Nrî  )rñ  rñ  ró  ró  rò  rô  r÷  rø  )rñ  ró  ró  ró  rò  rú  )r³   r³   r«  r«  rù  rû  r·   r¸   rö   rü  rÇ   rÊ   s        r   Útest_nearest_byzTestAsOfMerge.test_nearest_by  sƒ   € ô �|‰|â'Ú.Ú5ñó
ˆô —‘â'Ú.Ú/ñó
ˆô —<‘<â'Ú.Ú5Ú/ñ	ó
ˆô ˜D %¨C°CÀ9ÔMˆÜ
×Ñ˜f hÕ/r   c                 ó\  — t        j                  t        g d¢«      g d¢g d¢dœg d¢¬«      }t        j                  t        g d¢«      g d¢g d¢d	œg d	¢¬«      }t        ||d
d¬«      }t        j                  t        g d¢«      g d¢g d¢g d¢dœg d¢¬«      }t	        j
                  ||«       y )N)ú20160525 13:30:00.020rÛ   ú20160525 13:30:00.040r)  ú20160525 13:30:00.060)r³   r½   r³   r¾   r½   )rÅ  g333333ó?gÍÌÌÌÌÌô?gffffffö?g      ø?)r   r‘  r¹  r`   )z20160525 13:30:00.015r  z20160525 13:30:00.025z20160525 13:30:00.035r  z20160525 13:30:00.055r  z20160525 13:30:00.065)r½   r³   r³   r¾   r½   r³   r½   r¾   )çÍÌÌÌÌÌ @çš™™™™™@çffffff@ç333333@rÆ  gÍÌÌÌÌÌ@çš™™™™™@gffffff@)r   r‘  r»  r   r‘  ræ   )r  r  r  r  r  )r   r‘  r¹  r»  )rg   rh   r   r   rÈ   rÉ   r’  s        r   Útest_by_intzTestAsOfMerge.test_by_int5  s²   € ä�l‰lä#òóò 'Ú3ñò .ô
ˆô" �l‰lä#ò	óò 0ÚBñò  .ô#
ˆô( ˜C ¨°EÔ:ˆä—<‘<ä#òóò 'Ú3Ú3ñò 8ô
ˆô$ 	×Ñ˜f hÕ/r   c                 óp  — t        j                  g d¢t        d«      dœddg¬«      }t        j                  g d¢g d¢d	œdd
g¬«      }|j                  d«      j	                  d¬«      }t        ||d¬«      }t        j                  t        d«      g d¢g d¢dœg d¢¬«      }t        j                  ||«       y )N)ç
×£p=
@çHPüs×b?çáz®G!9@çÍÌÌÌÌ@u@çHáz®Ç>@çš™™™™C�@çÞqŠŽäò?ÚABCDEFG)rb   Úsymbolr  rb   r`   )ç        rC  ç      Y@)ç-Cëâ6?ç{®Gáz„?çš™™™™™©?)rb   Úmpvr  Tr   rÅ   ÚBGACEDF)r  r  r  r  r  r  r  )r  r  r  r  r  r  r  )r  rb   r  ©rg   rh   rÂ  r�  r   r   rÈ   rÉ   r’  s        r   Útest_on_floatzTestAsOfMerge.test_on_floatr  s­   € ä�l‰lâNÜ˜y›/ñð ˜wÐ'ô
ˆô �l‰lÚ'Ò0DÑEØ˜eÐ$ô
ˆð
 �o‰o˜gÓ&×2Ñ2¸Ð2Ó=ˆä˜C ¨Ô1ˆä—<‘<ä˜y›/ÚNÚEñò
 /ô
ˆô 	×Ñ˜f hÕ/r   c                 óT  — t        j                  |«      j                  }t        j                  g d¢t        d«      dœddg¬«      } ||j                  «      |_        t        j                  g d¢t        d«      d	œdd
g¬«      } ||j                  «      |_        |j                  d«      j                  d¬«      }t        ||d¬«      }t        j                  t        d«      g d¢t        d«      dœg d¢¬«      } ||j                  «      |_        t        j                  ||«       y )N©r´   r½   é   rÚ   éN   éx   éO   r  )rI  r  r  rI  r`   ©r   éP   r!  é}   Úxyzw)rI  rÎ   rÎ   Tr   rÅ   ÚBACEGDF©r½   r´   r  r   r"  rÚ   r!  Úxxxxxyz)r  rI  rÎ   )r£   r7  Útyperg   rh   rÂ  rI  r�  r   r   rÈ   rÉ   ©r   Úany_real_numpy_dtyper7  r“  r”  rÎ   rÍ   s          r   Útest_on_specialized_typez&TestAsOfMerge.test_on_specialized_type�  sô   € ä—‘Ð-Ó.×3Ñ3ˆä�l‰lÚ2¼dÀ9»oÑNØ˜wÐ'ô
ˆñ ˜#Ÿ)™)Ó$ˆŒ	ä�l‰lÚ'´4¸³<Ñ@Ø˜hÐ'ô
ˆñ ˜#Ÿ)™)Ó$ˆŒ	à�o‰o˜gÓ&×2Ñ2¸Ð2Ó=ˆÜ˜C ¨Ô1ˆä—<‘<ä˜y›/Ú5Ü˜y›/ñò
 2ô
ˆñ ˜xŸ~™~Ó.ˆŒä
×Ñ˜f hÕ/r   c                 óÔ  — t        j                  |«      j                  }t        j                  g d¢g d¢t        d«      dœg d¢¬«      } ||j                  «      |_        t        j                  g d¢g d¢t        d	«      d
œg d
¢¬«      } ||j                  «      |_        |j                  d«      j                  d¬«      }t        ||dd¬«      }t        j                  t        d«      g d¢g d¢t         j                  dt         j                  t         j                  t         j                  ddgdœg d¢¬«      } ||j                  «      |_        t        j                  ||«       y )Nr  )r³   r½   r¾   r½   r¾   r³   r½   r  )rI  r‘  r  )r  r‘  rI  r`   r#  )r³   r½   r½   r¾   r&  )rI  r‘  rÎ   rI  Tr   r‘  ræ   r'  )r½   r³   r¾   r¾   r½   r½   r³   r(  r„  Úy)r  r‘  rI  rÎ   )r£   r7  r*  rg   rh   rÂ  rI  r�  r   r   r¤   rÈ   rÉ   r+  s          r   Útest_on_specialized_type_by_intz-TestAsOfMerge.test_on_specialized_type_by_int¯  s  € ä—‘Ð-Ó.×3Ñ3ˆä�l‰lâ5Ú,Ü˜y›/ñò
 /ô
ˆñ ˜#Ÿ)™)Ó$ˆŒ	ä�l‰lÚ'²ÌÈVËÑUÚ.ô
ˆñ ˜#Ÿ)™)Ó$ˆŒ	à�o‰o˜gÓ&×2Ñ2¸Ð2Ó=ˆÜ˜C ¨°UÔ;ˆä—<‘<ä˜y›/Ú,Ú5ÜŸ6™6 3¬¯©´·±¼¿¹ÀÀSÐIñ	ò 9ô
ˆñ ˜xŸ~™~Ó.ˆŒä
×Ñ˜f hÕ/r   c                 óÆ  — t        j                  t        d«      g d¢g d¢dœg d¢¬«      }t        j                  g d¢g d¢g d¢d	œg d	¢¬«      }|j                  d
«      j	                  d¬«      }|j                  d
«      j	                  d¬«      }t        ||d
d¬«      }t        j                  t        d«      g d¢g d¢g d¢dœg d¢¬«      }t        j                  ||«       y )NÚ	AAABBBCCC)	r³   r½   r¾   r³   r½   r¾   r³   r½   r¾   )	ç®Gáz
@çÜ×�sF
@ç£¼
@ç)\�Âõ()@ç®Gáz.)@ç      )@çfffff¢w@ç33333£w@ç     ¤w@)r  r.  rb   r`   )	r³   r³   r³   r½   r½   r½   r¾   r¾   r¾   )	r  rC  r  r  ç      @r  r  r<  g     @�@)	r  r  r  r  r  çš™™™™™¹?r  ç      Ð?rC  )r.  rb   r  rb   Tr   r.  ræ   )	r¾   r½   r³   r¾   r³   r½   r³   r½   r¾   )	r5  r4  r3  r8  r6  r7  r9  r:  r;  )	r  r  r  r>  r  r  r  r=  r>  )r  r.  rb   r  r  r’  s        r   Útest_on_float_by_intz"TestAsOfMerge.test_on_float_by_intÓ  s×   € ä�l‰lä˜{Ó+Ú3ò
ñò 0ô!
ˆô& �l‰lâ3ÚMÚQñò
 -ô
ˆð �o‰o˜gÓ&×2Ñ2¸Ð2Ó=ˆØ�o‰o˜gÓ&×2Ñ2¸Ð2Ó=ˆä˜C ¨°VÔ<ˆä—<‘<ä˜{Ó+Ú3ò
ò Qñò  7ô#
ˆô( 	×Ñ˜f hÕ/r   c                 óþ   — |rd}nd}t        j                  g d¢g d¢dœ«      }t        j                  g d¢g d¢dœ«      }t        j                  t        |¬«      5  t        ||d	¬
«       d d d «       y # 1 sw Y   y xY w)NrJ  ú@Incompatible merge dtype, .*, both sides must have numeric dtyper²   r¶   ©r»   r·   r¼   ©rÂ   r·   r  r·   rÅ   ©rg   rh   rì   r  r   r   )r   Úusing_infer_stringr  rË   rÌ   s        r   Ú test_merge_datatype_error_raisesz.TestAsOfMerge.test_merge_datatype_error_raises  sd   € ÙØ+‰CàUˆCä�|‰|ªº/ÑJÓKˆÜ—‘ª?ÂÑQÓRˆä�]‰]œ:¨SÔ1ñ 	,Ü�t˜U sÕ+÷	,÷ 	,ñ 	,ús   ÁA3Á3A<c                 ó@  — d}t        j                  g d¢t        j                  g d¢«      dœ«      }t        j                  g d¢t        j                  g d¢«      dœ«      }t        j                  t
        |¬«      5  t        ||d	¬
«       d d d «       y # 1 sw Y   y xY w)NzHincompatible merge keys \[0\] .* both sides category, but not equal onesr²   r¶   rB  r¼   )r·   rñ  r¹   rñ  r¸   rC  r  r·   rÅ   )rg   rh   ÚCategoricalrì   r  r   r   )r   r  rË   rÌ   s       r   Ú,test_merge_datatype_categorical_error_raisesz:TestAsOfMerge.test_merge_datatype_categorical_error_raises  sƒ   € ð!ð 	ô
 �|‰|Ú#¬"¯.©.ºÓ*IÑJó
ˆô —‘â,Ü—^‘^Ò$=Ó>ñó
ˆô �]‰]œ:¨SÔ1ñ 	,Ü�t˜U sÕ+÷	,÷ 	,ñ 	,ús   Á<BÂBc                 ó  — t        j                  dgdgt        j                  dg«      dœ«      }t        ||dddg¬«      }t        j                  dgdgt        j                  dg«      dœ«      }t	        j
                  ||«       y )Nr   ©r„  r/  Úzr„  r/  rL  ræ   )rg   rh   rH  r   rÈ   rÉ   )r   r    rÎ   rÍ   s       r   Ú:test_merge_groupby_multiple_column_with_categorical_columnzHTestAsOfMerge.test_merge_groupby_multiple_column_with_categorical_column+  sn   € ä�\‰\  ¨1¨#´B·N±NÀAÀ3Ó4GÑHÓIˆÜ˜B  s°°S¨zÔ:ˆÜ—<‘< q c°°¼"¿.¹.È!ÈÓ:MÑ NÓOˆÜ
×Ñ˜f hÕ/r   Úfuncc                 ó   — | S ©N© rƒ  s    r   r…  zTestAsOfMerge.<lambda>3  s   € ˜1€ r   c                 ó   — t        | «      S rP  )r   rƒ  s    r   r…  zTestAsOfMerge.<lambda>3  s
   € ¬°A«€ r   ÚnumericÚdatetimeÚsiderË   rÌ   c                 ób  — d|› d�} |ddt         j                  g«      } |g d¢«      }t        j                  |g d¢dœ«      }t        j                  |g d¢d	œ«      }t	        j
                  t        |¬
«      5  |dk(  rt        ||d¬«       nt        ||d¬«       d d d «       y # 1 sw Y   y xY w)Nz"Merge keys contain null values on z siderC  r<  )rC  r<  g      $@r¶   rº   )r³   r¿   r«  rÁ   r  rË   r·   rÅ   )r£   r¤   rg   rh   rì   r  r¡  r   )r   rN  rU  r  ÚnullsÚ	non_nullsÚdf_nullr    s           r   Útest_merge_on_nansz TestAsOfMerge.test_merge_on_nans2  sš   € ð 3°4°&¸Ð>ˆÙ�c˜3¤§¡Ð'Ó(ˆÙÒ)Ó*ˆ	Ü—,‘, UºÑHÓIˆÜ�\‰\ 	º
ÑCÓDˆä�]‰]œ:¨SÔ1ñ 	0Ø�vŠ~Ü˜7 B¨3Ö/ä˜2˜w¨3Õ/÷		0÷ 	0ñ 	0ús   Á9#B%Â%B.c                 ó2  — t        j                  t         j                  ddg|¬«      }|j                  j                  dv r4t        j                  |j                  j                  «      j                  }n3t        j                  |j                  j                  «      j                  }||d<   t        j                  |g d¢g d¢g d¢d	œ«      }t        j                  |g d
¢g d¢g d¢d	œ«      }t        ||ddgd¬«      }t        j                  |g d¢g d¢g d¢dœ«      }t        j                  t
        j                  t
        j                  t
        j                  gt        ¬«      |d<   |r|d   j                  d«      |d<   t        j                   ||«       y )Nr   r³   ©r7  )ÚiÚur½   )ÚHELLOÚToÚYou)r½   rç  r¿   )r·   r¹   rö  ©Úby_col1Úby_col2Úon_colrI  )ÚWORLDÚWideÚWeb)r³   r½   r¿   )r¸   rõ  r†  rc  rd  re  ©rç   rÆ   ©rc  rd  re  Úvalue_xÚvalue_yústring[pyarrow_numpy])rg   ÚarrayÚNAr7  Úkindr£   ÚiinfoÚnumpy_dtypeÚmaxÚfinforh   r   r¤   r8  rj   rÈ   rÉ   )	r   Úany_numeric_ea_dtyperE  ÚarrÚmax_valrË   rÌ   rÎ   rÍ   s	            r   Útest_by_nullablezTestAsOfMerge.test_by_nullableD  sD  € ô �h‰hœŸ™˜q !�}Ð,@ÔAˆØ�9‰9�>‰>˜ZÑ'Ü—h‘h˜sŸy™y×4Ñ4Ó5×9Ñ9‰Gä—h‘h˜sŸy™y×4Ñ4Ó5×9Ñ9ˆGð ˆˆA‰ä�|‰|àÚ1Ú#Ú(ñ	ó
ˆô —‘àÚ3Ú#Ú(ñ	ó
ˆô ˜D %¨Y¸	Ð,BÀxÔPˆÜ—<‘<àÚ1Ú#Ú*ñ	ó
ˆô !Ÿh™h¬¯©´·±¼¿¹Ð'?ÄvÔNˆ�ÑÙØ"*¨9Ñ"5×"<Ñ"<Ð=TÓ"UˆH�YÑÜ
×Ñ˜f hÕ/r   c                 ó¬  — t        j                  t        j                  dg«      j                  d«      dgdgdœ«      }t        j                  t        j                  dg«      j                  d«      dgdgdœ«      }t	        ||dd	¬
«      }t        j                  t        j
                  dd¬«      dddggg d¢¬«      }t        j                  ||«       y )Nú
2018-01-01r³  r½   r·   )Úby_colre  Úvaluesr³   r¸   r{  re  ri  ©r·  )r{  re  Úvalues_xÚvalues_yr`   )rg   rh   ÚDatetimeIndexÚtz_localizer   rK  rÈ   rÉ   )r   rË   rÌ   rÎ   rÍ   s        r   Útest_merge_by_col_tz_awarez(TestAsOfMerge.test_merge_by_col_tz_awarer  sÃ   € ä�|‰|ä×*Ñ*¨L¨>Ó:×FÑFÀuÓMØ˜#Ø˜%ñó
ˆô —‘ä×*Ñ*¨L¨>Ó:×FÑFÀuÓMØ˜#Ø˜%ñó
ˆô ˜D %¨H¸ÔBˆÜ—<‘<Ü�l‰l˜<¨EÔ2°A°s¸CÐ@ÐAÚ@ô
ˆô 	×Ñ˜f hÕ/r   c                 óD  — t        j                  t        j                  dg«      j                  d«      dgdgdgdœ«      }t        j                  t        j                  dg«      j                  d«      dgdgd	gdœ«      }t	        ||d
dgd¬«      }t        j                  t        j
                  dd¬«      dddggg d¢¬«      }t        j                  t        j                  gt        ¬«      |d<   |r|d   j                  d«      |d<   t        j                  ||«       y )Nrz  r³  r_  r½   r·   rb  rf  r³   r¸   rc  rd  re  ri  r}  rj  r`   r\  rl  rm  )rg   rh   r€  r�  r   rK  r£   rn  r¤   r8  rj   rÈ   rÉ   )r   rE  rË   rÌ   rÎ   rÍ   s         r   Útest_by_mixed_tz_awarez$TestAsOfMerge.test_by_mixed_tz_aware‰  s  € ä�|‰|ä×+Ñ+¨\¨NÓ;×GÑGÈÓNØ#˜9Ø˜#Ø˜ñ	ó
ˆô —‘ä×+Ñ+¨\¨NÓ;×GÑGÈÓNØ#˜9Ø˜#Ø˜ñ	ó
ˆô ˜D %¨Y¸	Ð,BÀxÔPˆÜ—<‘<Ü�l‰l˜<¨EÔ2°G¸QÀÐDÐEÚ?ô
ˆô !Ÿh™h¬¯© x´vÔ>ˆ�ÑÙØ"*¨9Ñ"5×"<Ñ"<Ð=TÓ"UˆH�YÑÜ
×Ñ˜f hÕ/r   )rc   Úint16zm8[ns]zM8[us]c                 óx  — t        j                  t        j                  dg|¬«      dgdgdœ«      }t        j                  t        j                  dg|¬«      dgdgdœ«      }t	        ||dd¬	«      }t        j                  t        j                  dg|¬«      dgdgdgd
œ«      }t        j                  ||«       y )Nr³   r\  r½   r·   )r{  re  rI  r¸   r{  re  ri  )r{  re  rk  rl  )rg   rh   r£   rn  r   rÈ   rÉ   )r   r7  rË   rÌ   rÎ   rÍ   s         r   Útest_by_dtypezTestAsOfMerge.test_by_dtype¥  s¶   € ô �|‰|äŸ(™( A 3¨eÔ4Ø˜#Ø˜ñó
ˆô —‘äŸ(™( A 3¨eÔ4Ø˜#Ø˜ñó
ˆô ˜D %¨H¸ÔBˆÜ—<‘<äŸ(™( A 3¨eÔ4Ø˜#Ø˜5Ø˜5ñ	ó
ˆô 	×Ñ˜f hÕ/r   c                 ó2  — |dk(  rt        j                  d«       t        j                  t	        t        g d¢g d¢«      «      ddg¬«      }t        j                  |d   d«      j                  d	|› d
�«      |d<   t        j                  t	        t        g d¢g d¢«      «      ddg¬«      }t        j                  |d   d«      j                  d	|› d
�«      |d<   t        j                  t	        t        g d¢g d¢dt        j                  ddt        j                  t        j                  g«      «      g d¢¬«      }t        j                  |d   d«      j                  d	|› d
�«      |d<   t        ||dt        d«      d¬«      }t        j                  ||«       y )Nr	   zHThis test is invalid with unit='s' because that would round left['time'])r   r´   rµ   rð  é   r  )r   r³   r½   r¾   rç  r´   r   rË   r`   r
   zm8[rÒ   )r   r¾   é	   rï  rð  é   rÌ   r   r½   rç  )r   rË   rÌ   Ú1msrö   )rÆ   r¨   rò   )rì   rí   rg   rh   rÂ  ÚzipÚto_timedeltarj   r£   r¤   r   r   rÈ   rÉ   )r   r   rË   rÌ   rÍ   rÎ   s         r   Ú test_timedelta_tolerance_nearestz.TestAsOfMerge.test_timedelta_tolerance_nearestÁ  sf  € à�3Š;Ü�K‰Kð%ôô
 �|‰|Ü”Ò+Ò-?Ó@ÓAØ˜VÐ$ô
ˆô
 —‘ t¨F¡|°TÓ:×AÑAÀCÈÀvÈQÀ-ÓPˆˆV‰ä—‘Ü”Ò*Ò,>Ó?Ó@Ø˜WÐ%ô
ˆô
 Ÿ™¨¨f©°tÓ<×CÑCÀcÈ$ÈÈqÀMÓRˆˆf‰ä—<‘<ÜÜÚ*Ú&ØœŸ™  1¤b§f¡f¬b¯f©fÐ5óóò .ô	
ˆô Ÿ?™?¨8°FÑ+;¸TÓB×IÑIÈCÐPTÈvÐUVÈ-ÓXˆ�ÑäØ�%˜F¬i¸Ó.>È)ô
ˆô 	×Ñ˜f hÕ/r   c                 ó¤  — t        j                  g d¢g d¢dœ«      }t        j                  g d¢g d¢dœ«      }|d   j                  |«      |d<   |d   j                  |«      |d<   t        j                  g d¢g d¢t        j                  ddgd	œ«      }|d   j                  |«      |d<   t        ||dd
¬«      }t        j                  ||«       y )N)r   rµ   r‰  r�  rº   )r´   rð  r  rÁ   r·   rC  rD  rÄ   rµ   r¼  )rg   rh   rj   r£   r¤   r   rÈ   rÉ   )r   Úany_int_dtyperË   rÌ   rÍ   rÎ   s         r   Útest_int_type_tolerancez%TestAsOfMerge.test_int_type_toleranceê  s¸   € ô �|‰|¢+º9ÑEÓFˆÜ—‘¢;ºYÑGÓHˆØ˜‘I×$Ñ$ ]Ó3ˆˆS‰	Ø˜3‘Z×&Ñ& }Ó5ˆˆc‰
ä—<‘<Úª9ÄBÇFÁFÈCÐQTÐCUÑVó
ˆð ! ™×,Ñ,¨]Ó;ˆ�‰ä˜D %¨C¸2Ô>ˆÜ
×Ñ˜f hÕ/r   c           	      óJ  — t        j                  dddd¬«      }t        j                  g d¢dg|dd  ¬	«      }t        j                  |d
gdz  dgz   dœ«      }t        ||ddg¬«      }t        j                  g d¢|dd  d
gdz  dgz   dœt        j                  dddd¬«      ¬«      }t	        j
                  ||«       t        ||ddg¬«      }t        j                  |d
gdz  dgz   t        j                  ddddgdœt        g d¢«      ¬«      }t	        j
                  ||«       y )Nz
2019-10-01Ú30minr´   r³  )rµ  r¶  r·  )çÍÌÌÌÌÌì?çš™™™™™é?çffffffæ?ç333333ã?Úxyzr³   )ra   r  g®Gáz®@rç  g…ëQ¸…@)Ú	from_dateÚabcTrš  )rË   rÌ   r   r  r¾   )r™  rš  r›  z2019-10-01 00:30:00©r  )rË   rÌ   r  r  r•  r–  r—  r˜  )rš  r›  r™  )r   r³   r½   r¾   rç  )	rg   r¾  rh   r   rÈ   rÉ   r£   r¤   r   )r   r  rË   rÌ   rÎ   rÍ   s         r   Útest_merge_index_column_tzz(TestAsOfMerge.test_merge_index_column_tzú  s+  € ä—‘˜l°À!ÈÔNˆÜ�|‰|Ò0¸5¸'ÈÈqÈrÈÔSˆÜ—‘¨5¸$¸À!¹ÀtÀfÑ9LÑMÓNˆÜØ˜U¨t¸{¸mô
ˆô —<‘<â+Ø" 1 2˜YØ�v ‘z T FÑ*ñô
 —-‘-Ø%¨G¸QÀ5ôô	
ˆô 	×Ñ˜f hÔ/äØ˜d°¸{¸mô
ˆô —<‘<à"Ø�v ‘z T FÑ*ÜŸ™  S¨#¨sÐ3ñô
 šÓ(ô
ˆô 	×Ñ˜f hÕ/r   c           	      ó<  — |dk(  rt        j                  d«       t        j                  ddd|¬«      t	        d¬«      j                  |«      z   }t        j                  dd	|¬
«      }t        j                  ddit        j                  |«      ¬«      }t        j                  ddit        j                  |«      ¬«      }t        j                  dddœt        j                  |«      ¬«      }t        ||ddt	        d¬«      ¬«      }t        j                  ||«       y )Nr	   z?This test is invalid with unit='s' because that would round dr1z1/1/2020z	1/20/2020Ú2D)r´  Úendrµ  r   gš™™™™™Ù?)Úsecondsz2/1/2020)r´  r   r   Úval1r—  rœ  Úval2Úbar)r¢  r£  TrÈ  )r   r  r¨   )rì   rí   rg   r¾  r   Úas_unitrh   r€  r   rÈ   rÉ   )r   r   Údr1Údr2r“  r”  rÍ   rÎ   s           r   Ú%test_left_index_right_index_tolerancez3TestAsOfMerge.test_left_index_right_index_tolerance  sð   € à�3Š;Ü�K‰KØQôô �m‰mØ +°D¸tô
ä˜cÔ"×*Ñ*¨4Ó0ñ1ˆô �m‰m *°*À4ÔHˆä�l‰l˜F E˜?´"×2BÑ2BÀ3Ó2GÔHˆÜ�l‰l˜F E˜?´"×2BÑ2BÀ3Ó2GÔHˆä—<‘<Ø EÑ*´"×2BÑ2BÀ3Ó2Gô
ˆô ØØØØÜ¨Ô,ô
ˆô 	×Ñ˜f hÕ/r   N)F)MÚ__name__Ú
__module__Ú__qualname__r"   rì   Úfixturerl   rƒ   r¥   r¨   r¬   r¯   rÏ   rî   rô   r÷   rû   rþ   r  r	  r  r  r  r  r  r"  r&  r6  ÚmarkÚparametrizer;  rL  rN  r  r‡  rŠ  rŽ  r•  r™  r�  r¢  r   rT  Ú	timedeltar¨  r­  r°  rÃ  rÉ  rË  rÍ  rÐ  rÓ  rÖ  rá  rä  ré  rì  rý  rÿ  r	  r  r-  r0  r?  rF  rI  rM  rZ  rx  r‚  r„  r‡  r�  r’  r�  r¨  rQ  r   r   r   r      sÌ  „ óð ‡^�^ñ#"ó ð#"ðJ ‡^�^ñ/ó ð/ð4 ‡^�^ñ}"ó ð}"ð~ ‡^�^ñ}"ó ð}"ð~ ‡^�^ñm"ó ðm"ð^ ‡^�^ñm"ó ðm"ò^
0òW0òr0ò0ò0ò0ò0ò0ò0òJòJòòò0ò0ò?0ðB ‡[�[×Ñ˜W x°Ð&:Ó;ñB0ó <ðB0òHXò80òdY0òv0ò
4ò0ò0òò,ò\;ð. ‡[�[×ÑØÙ	�6Ó	Ð.˜H×.Ñ.°AÔ6Ð7ØÐ.Ð/ð ó ñ
0óð
0ò0ò0ò)0òV0ò$0ò 0ò0ò0ò0ò00òd#0òJ0ò(0ò(0ò<0ò<;0òz0ò<0ò>"0òH70òr
,ò,ò&0ð ‡[�[×ÑØ‘Ñ6Ð7¸iÈÐ=Tð ó ð ‡[�[×Ñ˜V f¨gÐ%6Ó7ñ0ó 8óð0ò,0ò\0ò.0ð8 ‡[�[×Ñ˜WÒ&NÓOñ0ó Pð0ò6'0òR0ò 0óB0r   r   Úinfer_stringFTÚpyarrow)ÚmarksÚkwargsrÆ   r„  r  Údataz2019-06-01 00:09:12z2019-06-01 00:10:29rC  c                 ó$  — t        d|«      5  t        j                  d|i|¬«      }t        j                  d|i|¬«      }t        j                  t
        d¬«      5  t        ||fi | ¤Ž d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)Nzfuture.infer_stringr„  rœ  rA  r  )r   rg   rh   rì   r  r   r   )r³  r´  r°  rË   rÌ   s        r   Ú#test_merge_asof_non_numerical_dtyper¶  7  s‰   € ô 
Ð-¨|Ó	<ñ .Ü�|‰|˜S $˜K¨tÔ4ˆÜ—‘˜c 4˜[°Ô5ˆÜ�]‰]ÜØUô
ñ 	.ô �t˜UÑ- fÒ-÷		.÷.ð .÷	.ð 	.ú÷.ð .ús$   �ABÁA:Á)BÁ:B	Á?BÂBc            	      óö   — t        j                  g d¢g d¢dœ«      } t        j                  g d¢g d¢dœ«      }t        j                  t        d¬«      5  t        | |dd	d	d
¬«       d d d «       y # 1 sw Y   y xY w)N)rp  Ú13Ú15r¶   )r·   Ú	left_val1)rõ  rö  r†  rº   rA  r  rº  r·   r»   )r  r  r   r!  rD  ©rË   rÌ   s     r   Ú*test_merge_asof_non_numerical_dtype_objectr¼  M  sl   € ä�<‰<Ò0ºÑOÓP€DÜ�L‰LšºOÑLÓM€EÜ	�‰ÜØQô
ñ 
ô 	ØØØØØØõ	
÷	
÷ 
ñ 
ús   ÁA/Á/A8)r  r   Ú	left_time)r  r  rÌ   )r   r  c                 ó   — t        g d¢d¬«      }t        j                  g d¢g d¢dœ|¬«      }t        j                  dg d	¢ig d	¢¬«      }t        ||fi | ¤Ž}t        j                  g d¢g d¢g d
¢dœ|¬«      }t	        j
                  ||«       y )Nr²   Útest©Únamer¶   )r³   rç  rµ   )rË   r½  rœ  rÌ   r¼   rÃ   )rË   r½  rÌ   )r   rg   rh   r   rÈ   rÉ   )r³  r  rË   rÌ   rÎ   rÍ   s         r   Útest_merge_asof_index_behaviorrÂ  _  sy   € ô ’* 6Ô*€EÜ�<‰<¢ºzÑJÐRWÔX€DÜ�L‰L˜'¢?Ð3º?ÔK€EÜ˜˜eÑ. vÑ.€Fä�|‰|Ú ªzÂIÑNØô€Hô ×Ñ˜& (Õ+r   c                  ó,  — t        j                  dg d¢it        g d¢d¬«      ¬«      } t        j                  dg d¢it        g d	¢d¬«      ¬«      }t        | |dd¬
«      }t        j                  g d¢g d¢g d¢dœ«      }t	        j
                  ||«       y )Nr¸   ©rµ   r«  rï  r�  r·   rÀ  rœ  r¹   ©r‰  é   é   )r   r½   r¾   ©r  r  r¶   )rg   rh   r   r   rÈ   rÉ   ©rË   rÌ   rÎ   rÍ   s       r   Ú'test_merge_asof_numeric_column_in_indexrÊ  u  so   € ä�<‰<˜šlÐ+´5ºÈÔ3MÔN€DÜ�L‰L˜#š|Ð,´Eº)È#Ô4NÔO€Eä˜˜e¨S¸3Ô?€FÜ�|‰|¢)²,Â\ÑRÓS€HÜ×Ñ˜& (Õ+r   c                  ó”  — t        j                  dg d¢it         j                  j                  g d¢g d¢gddg¬«      ¬«      } t        j                  d	g d
¢it         j                  j                  g d¢g d¢gddg¬«      ¬«      }t	        | |dd¬«      }t        j                  g d¢g d¢g d
¢dœ«      }t        j                  ||«       y )Nr¸   rÄ  r�  r¶   r·   rL  )Únamesrœ  r¹   rÅ  rK  r/  rÈ  )rg   rh   Ú
MultiIndexÚfrom_arraysr   rÈ   rÉ   rÉ  s       r   Ú,test_merge_asof_numeric_column_in_multiindexrÏ    s©   € ä�<‰<Ø	ŠlÐÜ�m‰m×'Ñ'ª²OÐ(DÈSÐRUÈJÐ'ÓWô€Dô �L‰LØ	ŠlÐÜ�m‰m×'Ñ'ª²OÐ(DÈSÐRUÈJÐ'ÓWô€Eô
 ˜˜e¨S¸3Ô?€FÜ�|‰|¢)²,Â\ÑRÓS€HÜ×Ñ˜& (Õ+r   c                  ó$  — t        j                  dg d¢it        g d¢d¬«      ¬«      } t        j                  dg d¢it        g d	¢d¬«      ¬«      }t        j                  t
        d
¬«      5  t        | |dd¬«       d d d «       | j                  «       j                  ddg«      } |j                  «       j                  ddg«      }t        j                  t
        d
¬«      5  t        | |dd¬«       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)Nr¸   rÄ  )r\  Ú2Ú3r·   rÀ  rœ  r¹   rÅ  )ÚmÚnÚorA  r  rÈ  )	rg   rh   r   rì   r  r   r   r   r  r»  s     r   Ú3test_merge_asof_numeri_column_in_index_object_dtyperÖ  �  sê   € ä�<‰<˜šlÐ+´5ºÈsÔ3SÔT€DÜ�L‰L˜#š|Ð,´Eº/ÐPSÔ4TÔU€Eä	�‰ÜØQô
ñ ;ô 	�4˜¨°cÕ:÷	;ð ×ÑÓ×'Ñ'¨¨c¨
Ó3€DØ×ÑÓ×)Ñ)¨3°¨*Ó5€Eä	�‰ÜØQô
ñ ;ô 	�4˜¨°cÕ:÷	;ð ;÷;ð ;ú÷;ð ;ús   Á,C:Ã!DÃ:DÄDc                 ó*  — t        j                  ddgd| › d�¬«      }t        j                  ddg|dœ«      }t        j                  t        j                  d	«      d
d| ¬«      }t        j                  dg d¢i«      }t        |||ddd¬«      }t        j                  g d¢t        j                  ddg|dœ«      }t        j                  ||«       t        ||d|dd¬«      }t        j                  ddg|ddgdœ«      }t        j                  ||«       y )Nz2021/01/01 00:37z2021/01/01 01:40rÑ   rÒ   r\  r½   r¿   )r·   Útsz2021/01/01 00:00r¾   Ú1h)r´  r¶  rµ  r   r¸   )rç  é   rÀ   rØ  FÚbackward)r  r  r¬   rò   )r¸   r·   rØ  rç  rÚ  )r·   rØ  r¸   )
rg   r€  rh   r¾  rK  r   r£   r¤   rÈ   rÉ   )r   ÚdtirÌ   Úts_mergerË   rÎ   rÍ   s          r   Útest_merge_asof_array_as_onrÞ  ¤  s  € ä
×
Ñ
Ø	Ð/Ð0¸#¸d¸VÀ1¸ô€Cô �L‰Là�Q�Øñ	
ó€Eô �}‰}Ü�l‰lÐ-Ó.¸ÀÈ4ô€Hô �<‰<˜šiÐ(Ó)€DÜØØØØØ!Øô€Fô �|‰|¢)´2·6±6¸1¸a°.ÈÑQÓR€HÜ×Ñ˜& (Ô+äØØØØØ!Øô€Fô �|‰|à�Q�ØØ�Q�ñ	
ó€Hô ×Ñ˜& (Õ+r   c                  óì  — t        j                  g d¢gg d¢¬«      } t        j                  g d¢gg d¢¬«      }t        j                  t        d¬«      5  t        | |d¬	«       d d d «       t        j                  t        d¬«      5  t        | |dd
¬«       d d d «       t        j                  t        d¬«      5  t        | |dd¬«       d d d «       y # 1 sw Y   ŒpxY w# 1 sw Y   ŒIxY w# 1 sw Y   y xY w)N)r³   r½   r·   )r·   r·   r»   r`   )r³   r³   r³   )r·   r·   rÂ   zcolumn label 'a'r  r·   rÅ   rÂ   rÈ  r»   )rg   rh   rì   r  r¡  r   r»  s     r   Ú+test_merge_asof_raise_for_duplicate_columnsrà  Ð  sÎ   € ä�<‰<š˜Ò/EÔF€DÜ�L‰Lš)˜Ò.EÔF€Eä	�‰”zÐ);Ô	<ñ (Ü�4˜ 3Õ'÷(ô 
�‰”zÐ);Ô	<ñ CÜ�4˜¨°kÕB÷Cô 
�‰”zÐ);Ô	<ñ BÜ�4˜¨
¸SÕA÷Bð B÷(ð (ú÷Cð Cú÷Bð Bús$   ÁCÂCÂ9C*ÃCÃC'Ã*C3r7  ÚInt64zint64[pyarrow]ztimestamp[s][pyarrow]c                 óŠ  — t        j                  g d¢g d¢dœ«      }t        j                  g d¢g d¢dœ«      }|j                  d| i«      }|j                  d| i«      }t        ||d¬«      }t        j                  g d¢g d¢t        j
                  dd	gd
œ«      }|j                  d| i«      }t        j                  ||«       y )N)r³   r¾   r´   r�  )Újoin_colr»   )r½   r¾   rç  )rã  rÂ   rã  rÅ   rD  rF  )rã  r»   rÂ   )rg   rh   rj   r   r£   r¤   rÈ   rÉ   )r7  rË   rÌ   rÎ   rÍ   s        r   Útest_merge_asof_extension_dtyperä  ß  sº   € ô �<‰<â!Ú!ñ	
ó€Dô �L‰Lâ!Ú"ñ	
ó€Eð �;‰;˜
 EÐ*Ó+€DØ�L‰L˜* eÐ,Ó-€EÜ˜˜e¨
Ô3€FÜ�|‰|â!Ú!ÜŸ&™& # sÐ+ñ	
ó€Hð �‰ 
¨EÐ2Ó3€HÜ×Ñ˜& (Õ+r   c                  ó"  — t        j                  t        j                  ddd«      gd¬«      } t        j                  | dgdœ«      }t	        ||dt        d«      ¬«      }t        j                  | dgdgd	œ«      }t        j                  ||«       y )
Niç  r³   ztimestamp[us, UTC][pyarrow]r\  )Ú	timestamprI  ræ  r›  r¼  )ræ  rk  rl  )rg   ÚSeriesrT  rh   r   r   rÈ   rÉ   )Úserr    rÎ   rÍ   s       r   Ú$test_merge_asof_pyarrow_td_toleranceré    s�   € ô �)‰)Ü	×	Ñ	˜4  AÓ	&Ð'Ð/Lô€Cô 
�‰àØ�Sñ	
ó
€Bô ˜˜B ;¼)ÀD»/ÔJ€FÜ�|‰|àØ�sØ�sñ	
ó€Hô ×Ñ˜& (Õ+r   c                  ó„  — t        j                  dgdgd¬«      } t        j                  dgdgd¬«      }d| j                  j                  j                  _        d|j                  j                  j                  _        t        | |dd¬«      }t        j                  dgdgd	œdg¬
«      }t        j                  ||«       y )Nr½   rË   )r  rÁ  r³   rÌ   FTr  r»  rœ  )
rg   rç  r  r|  ÚflagsÚ	writeabler   rh   rÈ   rÉ   rÉ  s       r   Ú!test_merge_asof_read_only_ndarrayrí    s™   € ä�9‰9�a�S  ¨&Ô1€DÜ�I‰I�q�c ! ¨7Ô3€Eà(-€D‡J�J×Ñ×ÑÔ%Ø).€E‡K�K×Ñ×ÑÔ&Ü˜˜e°À$ÔG€FÜ�|‰| a S°A°3Ñ7À¸sÔC€HÜ×Ñ˜& (Õ+r   c            
      ó0  — t        j                  t        j                  g d¢ddg¬«      dgdz  dgdz  t        d«      dœ«      } t        j                  t        j                  ddgddg¬«      dgd	z  dd	gt        d	«      dœ«      }t	        | |d
dgddddg¬«      }t        j                  t        j                  g d¢ddg¬«      dgdz  dgdz  t        d«      t
        j                  t
        j                  ddgdœ«      }t        j                  ||«       y )N)r·   r·   r¸   r¸   r·   r¸   )Ú
categoriesr„  rç  r³   )Úc1Úc2ÚtÚvr½   rð  rñ  rò  rð   Ú_leftÚ_right)rç   rÆ   rò   Úsuffixesr  )rð  rñ  rò  Úv_leftÚv_right)	rg   rh   rH  Úranger   r£   r¤   rÈ   rÉ   rÉ  s       r   Ú(test_merge_asof_multiby_with_categoricalrú  &  s  € ä�<‰<ä—.‘.Ò!5À3ÈÀ*ÔMØ�%˜!‘)Ø��q‘Ü�q“ñ		
ó€Dô �L‰Lä—.‘. # s ¸¸c¸
ÔCØ�%˜!‘)Ø�Q�Ü�q“ñ		
ó€Eô ØØØ�$ˆ<ØØØ˜8Ð$ô€Fô �|‰|ä—.‘.Ò!5À3ÈÀ*ÔMØ�%˜!‘)Ø��q‘Ü˜A“hÜŸ™¤§¡¨¨SÐ1ñ	
ó€Hô ×Ñ˜& (Õ+r   )(rT  Únumpyr£   rì   r¿  Úpandas.util._test_decoratorsÚutilÚ_test_decoratorsÚtdÚpandasrg   r   r   r   r   r   Úpandas._testingÚ_testingrÈ   Úpandas.core.reshape.merger   r¬  r   r   r­  r®  r   Ú
skip_if_nor¶  r¼  rÂ  rÊ  rÏ  rÖ  rÞ  rà  rä  ré  rí  rú  rQ  r   r   ú<module>r     sí  ðÛ ã Û Û ç )Ð )ã ÷õ õ Ý 0ð €‡�Ò.Ô/ñó 0ð÷W40ñ W40ðth ‡�×ÑØ�U˜L˜FŸL™L¨°]°R·]±]À9Ó5MÔNÐOóð ‡�×ÑØ��cˆ{¨4ÀÑEÐFóð ‡�×ÑØ
ØÐ2Ð3°cÐ;PÐ5QÐRóñ	.ó	óóð	.ò
ð$ ‡�×ÑØà¨DÑ1Ø°Ñ5Ø¨Ñ1ðóñ,óð,ò,ò,ò ;ò*),òXBð ‡�×ÑØàØˆ�‰Ð%¨]¨R¯]©]¸9Ó-EÔFØˆ�‰Ð,°M°B·M±MÀ)Ó4LÔMðóñ,óð,ð8 €‡�ˆyÓñ,ó ð,ò,	,ó#,r   