+
    NV-jð)  ã                   ó‚   € ^ RI t^ RIt^ RIHt ^ RIHtHt ^ RI	H
t  ! R R4      tR tR tR tR	 tR
 tR tR tR tR# )é    N)Újoin)Ú
inner_joinÚleft_outer_joinc                   óz   a € ] tR t^t o ]P
                  P                  R. RO4      R 4       tR tR t	R t
RtV tR# )	ÚTestIndexerÚdtypec                ó`  € \         P                  p\        P                  ! ^VR7      p\        P                  ! ^^VR7      p\        P                  ! . VR7      pV! W44      w  rgp\        V\        P                  4      '       g   Q h\        V\        P                  4      '       g   Q h\        V\        P                  4      '       g   Q h\        P                  ! V\        P                  ! ^VR7      4       \        P                  ! . RO\        P                  R7      p	\        P                  ! Wy4       \        P                  ! . RO\        P                  R7      p	\        P                  ! W‰4       V! WT4      w  rgp\        P                  ! Wd4       \        P                  ! . RO\        P                  R7      p	\        P                  ! Wy4       \        P                  ! . RO\        P                  R7      p	\        P                  ! W‰4       V! W54      w  rgp\        P                  ! Wc4       \        P                  ! . RO\        P                  R7      p	\        P                  ! Wy4       \        P                  ! . RO\        P                  R7      p	\        P                  ! W‰4       R# )é   ©r   N)r   é   é   éÿÿÿÿr   )r   r   r   r   r   )r   r   r   )r   r   r   )
ÚlibjoinÚouter_join_indexerÚnpÚarangeÚarrayÚ
isinstanceÚndarrayÚtmÚassert_numpy_array_equalÚintp)
Úselfr   ÚindexerÚleftÚrightÚemptyÚresultÚlindexerÚrindexerÚexps
   &&        Úl/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/pandas/tests/libs/test_join.pyÚtest_outer_join_indexerÚ#TestIndexer.test_outer_join_indexer   s¸  € ô ×,Ñ,ˆä�yŠy˜ %Ô(ˆÜ—	’	˜!˜Q eÔ,ˆÜ—’˜ 5Ô)ˆá%,¨TÓ%9Ñ"ˆ˜(Ü˜&¤"§*¡*×-Ò-Ð-Ð-Ü˜(¤B§J¡J×/Ò/Ð/Ð/Ü˜(¤B§J¡J×/Ò/Ð/Ð/Ü
×#Ò# F¬B¯IªI°a¸uÔ,EÔFÜ�hŠhÒ(´·±Ô8ˆÜ
×#Ò# HÔ2Ü�hŠhÒ(´·±Ô8ˆÜ
×#Ò# HÔ2á%,¨UÓ%:Ñ"ˆ˜(Ü
×#Ò# FÔ2Ü�hŠh’|¬2¯7©7Ô3ˆÜ
×#Ò# HÔ2Ü�hŠh’y¬¯©Ô0ˆÜ
×#Ò# HÔ2á%,¨TÓ%9Ñ"ˆ˜(Ü
×#Ò# FÔ1Ü�hŠh’y¬¯©Ô0ˆÜ
×#Ò# HÔ2Ü�hŠh’|¬2¯7©7Ô3ˆÜ
×#Ò# HÖ2ó    c                ó.  € \         P                  ! . RO\         P                  R7      p\         P                  ! . RO\         P                  R7      p^p\        WV4      w  rEVP	                  RR7      pVP	                  RR7      p\         P                  ! . R	O4      p\         P                  ! . RO4      p	VP                  V4      pR
WhR
8H  &   VP                  V	4      pR
WyR
8H  &   \        P                  ! WFRR7       \        P                  ! WWRR7       R# )r   r   Ú	mergesort©ÚkindF)Úcheck_dtypeN©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/   é   r0   é   r1   é	   é
   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   ÚargsortÚtaker   r   ©
r   r   r   Ú	max_groupÚlsÚrsÚexp_lsÚexp_rsÚexp_liÚexp_ris
   &         r"   Útest_cython_left_outer_joinÚ'TestIndexer.test_cython_left_outer_join0   sÕ   € Ü�xŠxÒ9ÄÇÁÔIˆÜ—’Ò.´b·g±gÔ>ˆØˆ	ä  ¨iÓ8‰ˆà—‘ ;�Ó/ˆØ—‘ K�Ó0ˆä—’ÒWÓXˆÜ—’ÚJó
ˆð —‘˜VÓ$ˆØ!ˆ˜‰|Ñà—‘˜VÓ$ˆØ!ˆ˜‰|Ñä
×#Ò# B¸EÕBÜ
×#Ò# B¸E×Br%   c                ó&  € \         P                  ! . RO\         P                  R7      p\         P                  ! . RO\         P                  R7      p^p\        W!V4      w  rEVP	                  RR7      pVP	                  RR7      p\         P                  ! . RO4      p\         P                  ! . R	O4      p	VP                  V4      pRWhR8H  &   VP                  V	4      pRWyR8H  &   \        P                  ! WV4       \        P                  ! WG4       R# )
r   r   r'   r(   Nr+   r,   r   )r   r   r   r
   r-   r.   r
   r-   r.   r
   r-   r.   r/   r0   r1   r/   r0   r1   r   )r   r   r   r   r   r   r   r   r   r
   r
   r
   r-   r-   r-   r.   r.   r.   r/   r4   )
r   r   r   r8   r:   r9   r;   r<   r=   r>   s
   &         r"   Útest_cython_right_outer_joinÚ(TestIndexer.test_cython_right_outer_joinH   sÕ   € Ü�xŠxÒ9ÄÇÁÔIˆÜ—’Ò.´b·g±gÔ>ˆØˆ	ä  ¨iÓ8‰ˆà—‘ ;�Ó/ˆØ—‘ K�Ó0ˆô —’òó
ˆô0 —’ÒSÓTˆà—‘˜VÓ$ˆØ!ˆ˜‰|Ñà—‘˜VÓ$ˆØ!ˆ˜‰|Ñä
×#Ò# BÔ/Ü
×#Ò# BÖ/r%   c                ó&  € \         P                  ! . RO\         P                  R7      p\         P                  ! . RO\         P                  R7      p^p\        WV4      w  rEVP	                  RR7      pVP	                  RR7      p\         P                  ! . RO4      p\         P                  ! . RO4      p	VP                  V4      pR	WhR	8H  &   VP                  V	4      pR	WyR	8H  &   \        P                  ! WF4       \        P                  ! WW4       R# )
r   r   r'   r(   Nr+   )r   r   r   r-   r   r   r   r-   )r   r   r   r
   r
   r
   r-   r-   r-   r.   r.   r.   r/   r/   r0   r0   r1   r1   )r   r   r   r   r   r
   r   r   r
   r   r   r
   r-   r.   r-   r.   r-   r.   r   )r   r   r   r   r5   r6   r   r   r7   s
   &         r"   Útest_cython_inner_joinÚ"TestIndexer.test_cython_inner_joinv   sÍ   € Ü�xŠxÒ9ÄÇÁÔIˆÜ—’Ò1¼¿¹ÔAˆØˆ	ä˜D¨Ó3‰ˆà—‘ ;�Ó/ˆØ—‘ K�Ó0ˆä—’ÒPÓQˆÜ—’ÒPÓQˆà—‘˜VÓ$ˆØ!ˆ˜‰|Ñà—‘˜VÓ$ˆØ!ˆ˜‰|Ñä
×#Ò# BÔ/Ü
×#Ò# BÖ/r%   © N)Úint32Úint64Úfloat32Úfloat64Úobject)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__ÚpytestÚmarkÚparametrizer#   r?   rB   rE   Ú__static_attributes__Ú__classdictcell__)Ú__classdict__s   @r"   r   r      sB   ø‡ € Ø‡[�[×ÑØÒCóñ3óð3ò>Cò0,0÷\0ð 0r%   r   c                 ó–  € \         P                  ! . RO\         P                  R7      p\         P                  ! . RO\         P                  R7      pVP                  V R7       VP                  V R7       \        P
                  ! W!4      p\         P                  ! . RO\         P                  R7      p\        P                  ! W44       R# )r   r   )ÚwriteN©r   r   r
   r-   r.   )r   r   r
   r-   r-   )r   r   r   r
   r
   )	r   r   rI   Úsetflagsr   Úleft_join_indexer_uniquer   r   r   )ÚwritableÚaÚbr   Úexpecteds   &    r"   Útest_left_join_indexer_uniquer`   �   sx   € Ü
�Š’¬¯©Ô1€AÜ
�Š’¬¯©Ô1€Aà‡J�J�X€JÔØ‡J�J�X€JÔä×-Ò-¨aÓ3€FÜ�xŠxš¬r¯w©wÔ7€HÜ×Ò Ö1r%   c                  óž  € \         P                  ! . ^ N^N^ N^N^N^N^N^N^ N^N^N^N^ N^N^N^N^N^N^N^N^N^N^N^ N^N^N^N^ N^ N^N^N^N^ N^N^N^N^ N^N^N^ N^ N^N^ N^N^N^ N^N^ N^N^N^ N^N^N^N^N^N^ N^N^N^N^ N^ N^N^N^N^N^N^ N^N^N^ N^N^N^N^N^N^N^N^N^N^N^N^ N^ N^N^N^N^N^ N^N^N^N^N^N^ N^N^N^N^ N^N\         P                  R7      p \         P                  ! ^^.\         P                  R7      p^p\        P                  ! WVRR7      w  r4\         P
                  ! \        V 4      \         P                  R7      p\         P                  ! \        V 4      \         P                  R7      ) p^W`^8H  &   ^ W`^8H  &   \        P                  ! W54       \        P                  ! WF4       R# )r   r   F)ÚsortN)
r   r   r   r   r   r   ÚlenÚonesr   r   )r   r   Ú
max_groupsÚlidxÚridxÚexp_lidxÚexp_ridxs          r"   Útest_left_outer_join_bugrj   ™   s‘  € Ü�8Š8ðe	
Øðe	
àðe	
ð ðe	
ð ð	e	
ð
 ðe	
ð ðe	
ð ðe	
ð ðe	
ð ðe	
ð ðe	
ð ðe	
ð ðe	
ð ðe	
ð ðe	
ð ðe	
ð  ð!e	
ð" ð#e	
ð$ ð%e	
ð& ð'e	
ð( ð)e	
ð* ð+e	
ð, ð-e	
ð. ð/e	
ð0 ð1e	
ð2 ð3e	
ð4 ð5e	
ð6 ð7e	
ð8 ð9e	
ð: ð;e	
ð< ð=e	
ð> ð?e	
ð@ ðAe	
ðB ðCe	
ðD ðEe	
ðF ðGe	
ðH ðIe	
ðJ ðKe	
ðL ðMe	
ðN ðOe	
ðP ðQe	
ðR ðSe	
ðT ðUe	
ðV ðWe	
ðX ðYe	
ðZ ð[e	
ð\ ð]e	
ð^ ð_e	
ð` ðae	
ðb ðce	
ðd ðee	
ðf ðge	
ðh ðie	
ðj ðke	
ðl ðme	
ðn ðoe	
ðp ðqe	
ðr ðse	
ðt ðue	
ðv ðwe	
ðx ðye	
ðz ð{e	
ð| ð}e	
ð~ ðe	
ð@ ðAe	
ðB ðCe	
ðD ðEe	
ðF ðGe	
ðH ðIe	
ðJ ðKe	
ðL ðMe	
ðN ðOe	
ðP ðQe	
ðR ðSe	
ðT ðUe	
ðV ðWe	
ðX ðYe	
ðZ ð[e	
ð\ ð]e	
ð^ ð_e	
ð` ðae	
ðb ðce	
ðd ðee	
ðf ðge	
ðh ðie	
ðj ðke	
ðl ðme	
ðn ðoe	
ðp ðqe	
ðr ðse	
ðt ðue	
ðv ðwe	
ðx ðye	
ðz ð{e	
ð| ð}e	
ð~ ðe	
ð@ ðAe	
ðB ðCe	
ðD ðEe	
ðF ðGe	
ðH ðIe	
ôL �g‰gôOh€DôT �HŠH�a˜�V¤2§7¡7Ô+€EØ€Jä×(Ò(¨°jÀuÔM�J€Dä�yŠyœ˜T›¬"¯'©'Ô2€HÜ—’œ˜D›	¬¯©Ô1Ð1€Hà€H�Q‰YÑØ€H�Q‰YÑä×Ò Ô/Ü×Ò Ö/r%   c                  ó‚  € \         P                  ! . RO\         P                  R7      p \         P                  ! . RO\         P                  R7      p\        P                  ! W4      w  r#p\         P                  ! ^^.\         P                  R7      p\
        P                  ! W%4       \         P                  ! ^^.\         P                  R7      p\         P                  ! ^^.\         P                  R7      p\
        P                  ! W64       \
        P                  ! WG4       \         P                  ! ^.\         P                  R7      p \         P                  ! ^.\         P                  R7      p\        P                  ! W4      w  r#p\
        P                  ! V\         P                  ! ^.\         P                  R7      4       \
        P                  ! V\         P                  ! ^ .\         P                  R7      4       \
        P                  ! V\         P                  ! ^ .\         P                  R7      4       R# )r   r   NrY   ©r   r
   r.   r0   r2   )	r   r   rI   r   Úinner_join_indexerr   Úassert_almost_equalr   r   ©r]   r^   ÚindexÚaresÚbresÚ	index_expÚaexpÚbexps           r"   Útest_inner_join_indexerrv     sU  € Ü
�Š’¬¯©Ô1€AÜ
�Š’¬¯©Ô1€Aä×2Ò2°1Ó8Ñ€E�ä—’˜!˜Q˜¤r§x¡xÔ0€IÜ×Ò˜5Ô,ä�8Š8�Q˜�F¤"§'¡'Ô*€DÜ�8Š8�Q˜�F¤"§'¡'Ô*€DÜ×Ò˜4Ô&Ü×Ò˜4Ô&ä
�Š�!�œBŸH™HÔ%€AÜ
�Š�!�œBŸH™HÔ%€Aä×2Ò2°1Ó8Ñ€E�Ü×Ò ¤r§x¢x°°¼2¿8¹8Ô'DÔEÜ×Ò ¤b§h¢h°¨s¼"¿'¹'Ô&BÔCÜ×Ò ¤b§h¢h°¨s¼"¿'¹'Ô&BÖCr%   c                  ó‚  € \         P                  ! . RO\         P                  R7      p \         P                  ! . RO\         P                  R7      p\        P                  ! W4      w  r#p\         P                  ! . RO\         P                  R7      p\
        P                  ! W%4       \         P                  ! . RO\         P                  R7      p\         P                  ! . RO\         P                  R7      p\
        P                  ! W64       \
        P                  ! WG4       \         P                  ! ^.\         P                  R7      p \         P                  ! ^.\         P                  R7      p\        P                  ! W4      w  r#p\
        P                  ! V\         P                  ! ^.\         P                  R7      4       \
        P                  ! V\         P                  ! ^ .\         P                  R7      4       \
        P                  ! V\         P                  ! ^ .\         P                  R7      4       R# )r   r   NrY   rl   )r   r   r   r
   r-   r.   r0   r2   )r   r   r   r   r
   r-   r   r   )r   r   r   r   r   r   r
   r-   )	r   r   rI   r   r   r   rn   r   r   ro   s           r"   r#   r#   *  sL  € Ü
�Š’¬¯©Ô1€AÜ
�Š’¬¯©Ô1€Aä×2Ò2°1Ó8Ñ€E�ä—’Ò1¼¿¹ÔB€IÜ×Ò˜5Ô,ä�8Š8Ò/´r·w±wÔ?€DÜ�8Š8Ò/´r·w±wÔ?€DÜ×Ò˜4Ô&Ü×Ò˜4Ô&ä
�Š�!�œBŸH™HÔ%€AÜ
�Š�!�œBŸH™HÔ%€Aä×2Ò2°1Ó8Ñ€E�Ü×Ò ¤r§x¢x°°¼2¿8¹8Ô'DÔEÜ×Ò ¤b§h¢h°¨s¼"¿'¹'Ô&BÔCÜ×Ò ¤b§h¢h°¨s¼"¿'¹'Ô&BÖCr%   c                  ó2  € \         P                  ! . RO\         P                  R7      p \         P                  ! . RO\         P                  R7      p\        P                  ! W4      w  r#p\
        P                  ! W 4       \         P                  ! . RO\         P                  R7      p\         P                  ! . RO\         P                  R7      p\
        P                  ! W54       \
        P                  ! WF4       \         P                  ! ^.\         P                  R7      p \         P                  ! ^.\         P                  R7      p\        P                  ! W4      w  r#p\
        P                  ! V\         P                  ! ^.\         P                  R7      4       \
        P                  ! V\         P                  ! ^ .\         P                  R7      4       \
        P                  ! V\         P                  ! ^ .\         P                  R7      4       R# )r   r   NrY   rl   )r   r   r   r
   r-   )r   r   r   r   r   )	r   r   rI   r   Úleft_join_indexerr   rn   r   r   )r]   r^   rp   rq   rr   rt   ru   s          r"   Útest_left_join_indexerrz   A  s6  € Ü
�Š’¬¯©Ô1€AÜ
�Š’¬¯©Ô1€Aä×1Ò1°!Ó7Ñ€E�ä×Ò˜5Ô$ä�8Š8’O¬2¯7©7Ô3€DÜ�8Š8Ò&¬b¯g©gÔ6€DÜ×Ò˜4Ô&Ü×Ò˜4Ô&ä
�Š�!�œBŸH™HÔ%€AÜ
�Š�!�œBŸH™HÔ%€Aä×1Ò1°!Ó7Ñ€E�Ü×Ò ¤r§x¢x°°¼2¿8¹8Ô'DÔEÜ×Ò ¤b§h¢h°¨s¼"¿'¹'Ô&BÔCÜ×Ò ¤b§h¢h°¨s¼"¿'¹'Ô&BÖCr%   c                  óL  € \         P                  ! . RO\         P                  R7      p \         P                  ! . RO\         P                  R7      p\        P                  ! W4      w  r#p\         P                  ! . RO\         P                  R7      p\
        P                  ! W%4       \         P                  ! . RO\         P                  R7      p\
        P                  ! W64       \         P                  ! . RO\         P                  R7      p\
        P                  ! WG4       R# ©r   r   N©r   r   r   r.   ©r   r   r.   r0   r2   )r   r   r   r.   r0   r2   )r   r   r   r   r
   r-   )r   r   r   r
   r   r   )r   r   rI   r   ry   r   rn   r   ©ÚidxÚidx2Úresrf   rg   Úexp_resrh   ri   s           r"   Útest_left_join_indexer2r„   W  s§   € Ü
�(Š(’<¤r§x¡xÔ
0€CÜ�8Š8’O¬2¯8©8Ô4€Dä×/Ò/°Ó:�O€Cˆtä�hŠhÒ)´·±Ô:€GÜ×Ò˜3Ô(ä�xŠxÒ*´"·'±'Ô:€HÜ×Ò˜4Ô*ä�xŠxÒ,´B·G±GÔ<€HÜ×Ò˜4Ö*r%   c                  óL  € \         P                  ! . RO\         P                  R7      p \         P                  ! . RO\         P                  R7      p\        P                  ! W4      w  r#p\         P                  ! . RO\         P                  R7      p\
        P                  ! W%4       \         P                  ! . RO\         P                  R7      p\
        P                  ! W64       \         P                  ! . RO\         P                  R7      p\
        P                  ! WG4       R# r|   )r   r   rI   r   r   r   rn   r   r   s           r"   Útest_outer_join_indexer2r†   g  s§   € Ü
�(Š(’<¤r§x¡xÔ
0€CÜ�8Š8’O¬2¯8©8Ô4€Dä×0Ò0°Ó;�O€Cˆtä�hŠhÒ)´·±Ô:€GÜ×Ò˜3Ô(ä�xŠxÒ*´"·'±'Ô:€HÜ×Ò˜4Ô*ä�xŠxÒ,´B·G±GÔ<€HÜ×Ò˜4Ö*r%   c                  óL  € \         P                  ! . RO\         P                  R7      p \         P                  ! . RO\         P                  R7      p\        P                  ! W4      w  r#p\         P                  ! . RO\         P                  R7      p\
        P                  ! W%4       \         P                  ! . RO\         P                  R7      p\
        P                  ! W64       \         P                  ! . RO\         P                  R7      p\
        P                  ! WG4       R# )r   r   Nr}   r~   )r   r   r   r   )r   r   r   r
   )r   r   rI   r   rm   r   rn   r   r   s           r"   Útest_inner_join_indexer2rˆ   w  s¤   € Ü
�(Š(’<¤r§x¡xÔ
0€CÜ�8Š8’O¬2¯8©8Ô4€Dä×0Ò0°Ó;�O€Cˆtä�hŠh’|¬2¯8©8Ô4€GÜ×Ò˜3Ô(ä�xŠxš¬B¯G©GÔ4€HÜ×Ò˜4Ô*ä�xŠxš¬B¯G©GÔ4€HÜ×Ò˜4Ö*r%   )Únumpyr   rQ   Úpandas._libsr   r   Úpandas._libs.joinr   r   Úpandas._testingÚ_testingr   r   r`   rj   rv   r#   rz   r„   r†   rˆ   rG   r%   r"   Ú<module>rŽ      sR   ðÛ Û å (÷õ
 ÷}0ñ }0ò@	2òw0òtDò.Dò.Dò,+ò +ô +r%   