+
    JV-j`t  ã                   ó  € ^ RI t  ^ RIt^ RIt^ RIHt ] P                  P                  t
RRRR/t ^ RIH	t RKR lt ! R R]4      t] P"                  ! R	R
7      R 4       t] P"                  ! R	R
7      R 4       t] P"                  ! R	R
7      RLR l4       t] P"                  ! R	R
7      RLR l4       t] P"                  ! R	R
7      R 4       t] P"                  ! R	R
7      R 4       t] P"                  ! R	R
7      R 4       t] P"                  ! R	R
7      R 4       t] P"                  ! R	R
7      R 4       t] P"                  ! R	R
7      R 4       t] P"                  ! R	R
7      R 4       t] P"                  ! R	R
7      R 4       t] P"                  ! R	R
7      R 4       t] P"                  ! R	R
7      R 4       t] P"                  ! R	R
7      R 4       t RRRR/R lt!R t"R t#R  t$R! t%R" t&R# t'R$ t(R% t)R& t*R' t+R( t,R) t-R* t.R+ t/R, t0R- t1R. t2R/ t3R0 t4R1 t5R2 t6R3 t7R4 t8R5 t9R6 t:R7 t;R8 t<R9 t=R: t>R; t?] P                  P                  R< 4       t@] P                  P                  R= 4       tAR> tBR? tC] P                  P                  R@ 4       tD] P                  P                  RA 4       tE] P                  P                  RB 4       tF] P                  P                  RC 4       tGRD tHRE tI] P                  P                  RF 4       tJ] P                  P                  RG 4       tK] P                  P˜                  RH 4       tM] P                  P˜                  RI 4       tN] P                  P˜                  RJ 4       tOR#   ] d    Rt ELii ; i  ] d    Rt ELLi ; i)Mé    N)ÚcomputeÚsummaryÚ Údescriptionc                 óF   € ^ RI Hp V! \        P                  ! 4       V 4      # )r   )Ú_get_udf_context)Úpyarrow._computer   ÚpaÚdefault_memory_pool)Úbatch_lengthr   s   & Úg/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/pyarrow/tests/test_udf.pyÚmock_udf_contextr   )   s   € Ý1ÙœB×2Ò2Ó4°lÓCÐCó    c                   ó   € ] tR t^.tRtR# )ÚMyError© N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__static_attributes__r   r   r   r   r   .   s   † Ûr   r   Úsession)Úscopec                 ó¢   € R p Rp\         p\        P                  ! V VVR\        P                  ! 4       /\        P                  ! 4       4       W3# )z,
Register a unary aggregate function (mean)
c                 óV   € \         P                  ! \        P                  ! V4      4      # ©N)r
   ÚscalarÚnpÚnansum)ÚctxÚxÚargss   &&*r   ÚfuncÚ"sum_agg_func_fixture.<locals>.func7   s   € Ü�yŠyœŸš 1›Ó&Ð&r   Úsum_udfr!   )Úempty_udf_docÚpcÚregister_aggregate_functionr
   Úfloat64©r#   Ú	func_nameÚfunc_docs      r   Úsum_agg_func_fixturer-   2   sN   € ò
'ð €IÜ€Hä×"Ò" 4Ø#,Ø#+à'*¬B¯JªJ«Lð$%ô $&§:¢:£<ô%ð ˆ?Ðr   c                  ó¢   € R  p Rp\         p\        P                  ! V VVR\        P                  ! 4       /\        P                  ! 4       4       W3# )c                 ó   € \        R 4      h)ÚOops)ÚRuntimeErrorr
   r   Úlen©r    r!   s   &&r   r#   Ú(exception_agg_func_fixture.<locals>.funcJ   s   € Ü˜6Ó"Ð"r   úy=exception_len(x)r!   ©r&   r'   r(   r
   Úint64r*   s      r   Úexception_agg_func_fixturer8   H   sN   € ò!ð %€IÜ€Hä×"Ò" 4Ø#,Ø#+à'*¬B¯HªH«Jð$%ô $&§8¢8£:ô%ð ˆ?Ðr   c                 ó¢   € R  pRp\         p\        P                  ! VVVR\        P                  ! 4       /\        P                  ! 4       4       W3# )c                 óh   € \         P                  ! \        V4      \         P                  ! 4       4      # r   )r
   r   r2   Úint32r3   s   &&r   r#   Ú1wrong_output_dtype_agg_func_fixture.<locals>.func^   s   € Ü�yŠyœ˜Q›¤§¢£Ó,Ð,r   úy=wrong_output_dtype(x)r!   r6   ©r   r#   r+   r,   s   &   r   Ú#wrong_output_dtype_agg_func_fixturer?   \   sN   € ò-ð *€IÜ€Hä×"Ò" 4Ø#,Ø#+à'*¬B¯HªH«Jð$%ô $&§8¢8£:ô%ð ˆ?Ðr   c                 ó¢   € R  pRp\         p\        P                  ! VVVR\        P                  ! 4       /\        P                  ! 4       4       W3# )c                 ó   € \        V4      # r   )r2   r3   s   &&r   r#   Ú0wrong_output_type_agg_func_fixture.<locals>.funcq   s   € Ü�1‹vˆr   úy=wrong_output_type(x)r!   r6   r>   s   &   r   Ú"wrong_output_type_agg_func_fixturerD   o   sN   € òð )€IÜ€Hä×"Ò" 4Ø#,Ø#+à'*¬B¯HªH«Jð$%ô $&§8¢8£:ô%ð ˆ?Ðr   c            
     óÌ   € R p RpRRRR/p\         P                  ! V VVR\        P                  ! 4       R\        P                  ! 4       /\        P                  ! 4       4       W3# )z$
Register a binary scalar function.
c                 óJ   € \         P                  ! R W.V P                  R7      # )Úmultiply©Úmemory_pool©r'   Úcall_functionrI   )r    Úmr!   s   &&&r   Úbinary_functionÚ,binary_func_fixture.<locals>.binary_function‡   s"   € Ü×Ò 
¨Q¨FØ,/¯O©Oô=ð 	=r   zy=mxr   r   zfind y from y = mxrL   r!   ©r'   Úregister_scalar_functionr
   r7   )rM   r+   Ú
binary_docs      r   Úbinary_func_fixturerR   ‚   sg   € ò
=ð €IØ˜VØÐ!5ð7€Jä×Ò Ø )Ø *Ø!$¤b§h¢h£jØ!$¤b§h¢h£jð!#ô !#§¢£
ô,ð Ð%Ð%r   c                 óö   € R p RRRR/pRp\         P                  ! V VVR\        P                  ! 4       R\        P                  ! 4       R\        P                  ! 4       /\        P                  ! 4       4       W3# )	z%
Register a ternary scalar function.
c                 ó’   € \         P                  ! R W.V P                  R7      p\         P                  ! RWC.V P                  R7      # )rG   rH   ÚaddrJ   )r    rL   r!   ÚcÚmxs   &&&& r   Úternary_functionÚ.ternary_func_fixture.<locals>.ternary_functionœ   s?   € Ü×Ò˜j¨1¨&Ø*-¯/©/ô;ˆä×Ò ¨ wØ,/¯O©Oô=ð 	=r   r   zy=mx+cr   zfind y from y = mx + cÚarray1Úarray2Úarray3rO   )rX   Úternary_docr+   s      r   Úternary_func_fixturer^   —   ss   € ò
=ð
 ˜hØ Ð":ð<€Kà€IÜ×ÒÐ 0Ø )Ø +à$,¬b¯hªh«jØ$,¬b¯hªh«jØ$,¬b¯hªh«jð!"ô
 !#§¢£
ô,ð Ð&Ð&r   c            
     óÌ   € R p RpRRRR/p\         P                  ! V VVR\        P                  ! 4       R\        P                  ! 4       /\        P                  ! 4       4       W3# )zA
Register a varargs scalar function with at least two arguments.
c                 ód   € TpV F'  p\         P                  ! R W4.V P                  R7      pK)  	  V# )rU   rH   rJ   )r    ÚfirstÚvaluesÚaccÚvals   &&*  r   Úvarargs_functionÚ.varargs_func_fixture.<locals>.varargs_functionµ   s6   € ØˆÛˆCÜ×"Ò" 5¨3¨*Ø/2¯©ô@ŠCñ ð ˆ
r   z	z=ax+by+cr   r   zfind z from z = ax + by + crZ   r[   rO   )re   r+   Úvarargs_docs      r   Úvarargs_func_fixturerh   °   sj   € ò
ð €IØ˜kØ Ð"?ð€Kô ×ÒÐ 0Ø )Ø +à$,¬b¯hªh«jØ$,¬b¯hªh«jð!"ô !#§¢£
ô,ð Ð&Ð&r   c                 óx   € R p RRRR/pRp\         P                  ! V VV/ \        P                  ! 4       4       W3# )z%
Register a nullary scalar function.
c                 ó’   € \         P                  ! ^*.V P                  ,          \         P                  ! 4       V P                  R7      # ©é*   ©ÚtyperI   ©r
   Úarrayr   r7   rI   ©Úcontexts   &r   Únullary_funcÚ*nullary_func_fixture.<locals>.nullary_funcÏ   ó3   € Ü�xŠx˜˜˜w×3Ñ3Õ3¼"¿(º(»*Ø$+×$7Ñ$7ô9ð 	9r   r   úrandom functionr   úgenerates a random valueÚtest_nullary_funcrO   ©rs   r,   r+   s      r   Únullary_func_fixturerz   Ê   sP   € ò
9ð
 	Ð$ØÐ1ð€Hð $€IÜ×Ò Ø )Ø (Ø "Ü "§¢£
ô	,ð Ð"Ð"r   c                 óv   € R p RRRR/pRp\         P                  ! V VV/ \        P                  ! 4       4       V# )z¨
Register a nullary scalar function with an ephemeral Python function.
This stresses that the Python function object is properly kept alive by the
registered function.
c                 ó’   € \         P                  ! ^*.V P                  ,          \         P                  ! 4       V P                  R7      # rk   ro   rq   s   &r   rs   Ú4ephemeral_nullary_func_fixture.<locals>.nullary_funcè   ru   r   r   rv   r   rw   Útest_ephemeral_nullary_funcrO   ry   s      r   Úephemeral_nullary_func_fixturer   á   sM   € ò9ð
 	Ð$ØÐ1ð€Hð .€IÜ×Ò Ø )Ø (Ø "Ü "§¢£
ô	,ð Ðr   c                 ó|   € R p Rp/ p\         P                  ! 4       pRRRR/p\        P                  ! WVW#4       W3# )z]
Register a scalar function which returns something that is neither
a Arrow scalar or array.
c                 ó   € ^*# )rl   r   ©r    s   &r   Úwrong_output_typeÚ9wrong_output_type_func_fixture.<locals>.wrong_output_type   s   € Ùr   Útest_wrong_output_typer   zreturn wrong output typer   r   ©r
   r7   r'   rP   )rƒ   r+   Úin_typesÚout_typeÚdocs        r   Úwrong_output_type_func_fixturerŠ   ú   sQ   € òð )€IØ€HÜ�xŠx‹z€HàÐ-Ø�rð€Cô ×ÒÐ 1¸cØ (ô4àÐ'Ð'r   c                 ó¦   € R p RpR\         P                  ! 4       /p\         P                  ! 4       pRRRR/p\        P                  ! WVW#4       W3# )ze
Register a scalar function whose actual output DataType doesn't
match the declared output DataType.
c                 ó4   € \         P                  ! R V^.4      # ©rU   ©r'   rK   )r    rp   s   &&r   Úwrong_output_datatypeÚAwrong_output_datatype_func_fixture.<locals>.wrong_output_datatype  s   € Ü×Ò ¨¨q zÓ2Ð2r   Útest_wrong_output_datatyperp   r   zreturn wrong output datatyper   r   )r
   r7   Úint16r'   rP   )r�   r+   r‡   rˆ   r‰   s        r   Ú"wrong_output_datatype_func_fixturer“     sZ   € ò3à,€IØœŸš›Ð$€Hä�xŠx‹z€HàÐ1Ø�rð€Cô ×ÒÐ 5À#Ø (ô4à Ð+Ð+r   c                 ó|   € R p Rp/ p\         P                  ! 4       pRRRR/p\        P                  ! WVW#4       W3# )z6
Register a scalar function with the wrong signature.
c                  óX   € \         P                  ! ^\         P                  ! 4       R7      # )é   ©rn   )r
   r   r7   r   r   r   Úwrong_signatureÚ5wrong_signature_func_fixture.<locals>.wrong_signature*  s   € Ü�yŠy˜¤§¢£Ô,Ð,r   Útest_wrong_signaturer   zUDF with wrong signaturer   r   r†   )r˜   r+   r‡   rˆ   r‰   s        r   Úwrong_signature_func_fixturer›   $  sP   € ò-ð '€IØ€HÜ�xŠx‹z€HàÐ-Ø�rð€Cô ×Ò ¸CØ (ô4àÐ%Ð%r   c                 óv   € R p RpRRRR/p\         P                  ! WV/ \        P                  ! 4       4       W3# )z=
Register a scalar function which raises a custom exception.
c                 ó   € \        R 4      h)úerror raised by scalar UDF)r   r‚   s   &r   Úraising_funcÚ*raising_func_fixture.<locals>.raising_func>  s   € ÜÐ2Ó3Ð3r   Ú
test_raiser   zraising functionr   r   rO   )rŸ   r+   r‰   s      r   Úraising_func_fixturer¢   9  sF   € ò
4à€IàÐ%Ø�rð€Cô ×Ò ¸Ø "¤B§H¢H£Jô0àÐ"Ð"r   c                 ó    € R p Rp\         p\        P                  ! WVR\        P                  ! 4       /\        P                  ! 4       4       W3# )z
Register a vector function
c                 ó†   € \         P                  ! VP                  4       P                  4       P	                  R R7      4      # )T)Úpct)r
   rp   Ú	to_pandasÚcopyÚrankr3   s   &&r   Úpct_rankÚ+unary_vector_func_fixture.<locals>.pct_rankO  s.   € ä�xŠx˜Ÿ™›×*Ñ*Ó,×1Ñ1°dÐ1Ó;Ó<Ð<r   úy=pct_rank(x)r!   )r&   r'   Úregister_vector_functionr
   r)   )r©   r+   r‰   s      r   Úunary_vector_func_fixturer­   J  sJ   € ò
=ð  €IÜ
€CÜ×Ò °SØ #¤R§Z¢Z£\ð;3Ü46·J²J³LôBð ÐÐr   c                 óz  € R p Rp\         p\        P                  ! WVR\        P                  ! 4       R\        P
                  ! 4       R\        P                  ! 4       /\        P                  ! R\        P                  ! 4       3R\        P
                  ! 4       3R\        P
                  ! 4       3.4      4       W3# )z8
Register a vector function that returns a struct array
c                 ó  € \         P                  P                  WV.. ROR7      P                  4       pVP	                  RRR R7      P                  4       p\         P                  P                  V4      P                  4       # )ÚkÚvrV   ©Únames)Úcolumnsrb   Úindex)r°   r±   rV   )r
   ÚRecordBatchÚfrom_arraysr¦   ÚpivotÚreset_indexÚfrom_pandasÚto_struct_array)r    r°   r±   rV   ÚdfÚdf_pivots   &&&&  r   r¸   Ú)struct_vector_func_fixture.<locals>.pivot`  sc   € Ü�^‰^×'Ñ'¨¨q¨	ºÐ'ÓI×SÑSÓUˆØ—8‘8 C°¸3�8Ó?×KÑKÓMˆÜ�~‰~×)Ñ)¨(Ó3×CÑCÓEÐEr   ú
y=pivot(x)r°   r±   rV   Úv1Úv2)r&   r'   r¬   r
   r7   r)   Úutf8Ústruct)r¸   r+   r‰   s      r   Ústruct_vector_func_fixturerÄ   [  sˆ   € ò
Fð
 €IÜ
€CÜ×ÒØ˜#Ø	Œb�hŠh‹j˜#œrŸzšz›|¨S´"·'²'³)Ð<Ü
�	Š	�CœŸš›Ð$ t¬R¯ZªZ«\Ð&:¸TÄ2Ç:Â:Ã<Ð<PÐQÓRôð ÐÐr   Úrun_in_datasetTr   c                ó&  € V w  rEVfE   RpV F2  p\        V\        P                  4      '       g   K%  Rp\        V4      pK4  	  V'       d   ^p\        P
                  ! V4      pVP                  V8X  g   Q h\        P                  ! WQVR7      p	V! \        V4      .VO5!  p
Wš8X  g   Q hV'       dÖ   V UUu. uF
  w  r¼RV 2NK  	  ppp\        P                  P                  W4      p\        P                  ! V4      pV Uu. uF  p\        P                  ! V4      NK  	  ppVP                  R\        P                  ! R4      P                  VV4      /R7      pVP!                  ^ 4      P"                  ^ ,          V
8X  g   Q hR # R # u uppi u upi )NTF©ÚlengthÚfieldÚresultr   )r´   )Ú
isinstancer
   ÚArrayr2   r'   Úget_functionÚnamerK   r   ÚTabler·   ÚdsÚdatasetrÉ   Úto_tableÚ_callÚcolumnÚchunks)Úfunc_fixtureÚinputsrÅ   r   ÚfunctionrÎ   Ú
all_scalarÚargr#   rÊ   Úexpected_outputrµ   Úin_arrÚfield_namesÚtablerÑ   Ú
field_nameÚ	func_argsÚresult_tables   &&$$               r   Úcheck_scalar_functionrâ   p  sa  € ð "�N€HØÒØˆ
ÛˆCÜ˜#œrŸx™x×(Ô(Ø"�
Ü" 3›x’ñ ÷ ØˆLä�?Š?˜4Ó €DØ�9‰9˜ÔÐÐä×Ò˜d°<Ô@€FÙÔ/°Ó=ÐGÀÓG€OØÔ$Ð$Ð$÷ Ù<BÔC¹F©=¨5˜˜u˜g“¹FˆÑCÜ—‘×$Ñ$ VÓ9ˆÜ—*’*˜UÓ#ˆÙ<GÓH¹K¨j”R—X’X˜jÖ)¹Kˆ	ÐHØ×'Ñ'ØœrŸxšx¨›|×1Ñ1°$¸	ÓBÐCð (ó Eˆà×"Ñ" 1Ó%×,Ñ,¨QÕ/°?ÔBÐBÒBñ ùÛCùò Is   Â6FÄFc                 ót   € \        V \        P                  ! ^
^.\        P                  ! 4       4      .4       R# ©é
   N©râ   r
   rp   r7   )Úunary_func_fixtures   &r   Útest_udf_array_unaryrè   �  s*   € ÜÐ,ä Ÿhšh¨¨B x´·²³Ó<ðör   c           	      óÊ   € \        V \        P                  ! ^
^.\        P                  ! 4       4      \        P                  ! ^^.\        P                  ! 4       4      .4       R# rä   ræ   )rR   s   &r   Útest_udf_array_binaryrê   ˜  sB   € ÜÐ-ä Ÿhšh¨¨B x´·²³Ó<Ü Ÿhšh¨¨1 v¬r¯xªx«zÓ:ðör   c           
      ó   € \        V \        P                  ! ^
^.\        P                  ! 4       4      \        P                  ! ^^.\        P                  ! 4       4      \        P                  ! ^^
.\        P                  ! 4       4      .4       R# rä   ræ   )r^   s   &r   Útest_udf_array_ternaryrì   ¡  sZ   € ÜÐ.ä Ÿhšh¨¨B x´·²³Ó<Ü Ÿhšh¨¨1 v¬r¯xªx«zÓ:Ü Ÿhšh¨¨2 w´·²³
Ó;ðör   c                 óÌ  € \        V \        P                  ! ^^.\        P                  ! 4       4      \        P                  ! ^
^.\        P                  ! 4       4      \        P                  ! ^^.\        P                  ! 4       4      \        P                  ! ^^.\        P                  ! 4       4      \        P                  ! ^^
.\        P                  ! 4       4      .4       R# )é   Nræ   )rh   s   &r   Útest_udf_array_varargsrï   «  sŠ   € ÜÐ.ä Ÿhšh¨¨1 v¬r¯xªx«zÓ:Ü Ÿhšh¨¨B x´·²³Ó<Ü Ÿhšh¨¨1 v¬r¯xªx«zÓ:Ü Ÿhšh¨¨B x´·²³Ó<Ü Ÿhšh¨¨2 w´·²³
Ó;ðör   c            	      ó0  € R RRR/p R\         P                  ! 4       /p\         P                  ! 4       pR p\        P                  ! \        4      ;_uu_ 4        \
        P                  ! VRWV4       RRR4       \        P                  ! \        RR7      ;_uu_ 4        \
        P                  ! RR	WV4       RRR4       R
p\        P                  ! \        VR7      ;_uu_ 4        \
        P                  ! VRWR4       RRR4       Rp\        P                  ! \        VR7      ;_uu_ 4        \
        P                  ! VRV RV4       RRR4       \
        P                  ! VRV / V4       Rp\        P                  ! \        VR7      ;_uu_ 4        \
        P                  ! VRV / V4       RRR4       R#   + '       g   i     ELM; i  + '       g   i     EL; i  + '       g   i     Læ; i  + '       g   i     L°; i  + '       g   i     R# ; i)r   ztest udf inputr   zparameters are validatedr   c                 ó0   € \         P                  ! ^
.4      # ©rå   )r
   rp   rq   s   &r   Útest_reg_functionÚ3test_registration_errors.<locals>.test_reg_functionÀ  s   € Ü�xŠx˜˜‹~Ðr   Nzfunc must be a callable©ÚmatchÚtest_none_functionú)DataType expected, got <class 'NoneType'>Útest_output_functionz)in_types must be a dictionary of DataTypeÚtest_input_functionró   z?Already have a function registered with name: test_reg_function)r
   r7   ÚpytestÚraisesÚ	TypeErrorr'   rP   ÚKeyError)r‰   r‡   rˆ   ró   Úexpected_exprs        r   Útest_registration_errorsr   ·  sš  € ð 	Ð#ØÐ1ð€Cð œ"Ÿ(š(›*Ð%€HÜ�xŠx‹z€Hòô 
�Š”y×	!Õ	!Ü
×#Ò#Ð$5Ø$(¨#Ø$,ô	.÷ 
"ô 
�Š”yÐ(A×	BÖ	BÜ
×#Ò# DÐ*>ÀØ$,ô	.÷ 
Cð
 @€MÜ	�Š”y¨×	6Ö	6Ü
×#Ò#Ð$5Ø$:¸CØ$(ô	*÷ 
7ð @€MÜ	�Š”y¨×	6Ö	6Ü
×#Ò#Ð$5Ø$9¸3ÀØ$,ô	.÷ 
7ô ×ÒÐ 1Ø 3°S¸"Ø (ô*ð€Mä	�Š”x }×	5Ö	5Ü
×#Ò#Ð$5Ø$7¸¸bØ$,ô	.÷ 
6Ñ	5÷A 
"×	!Ð	!ú÷ 
C×	BÐ	Bú÷ 
7×	6ú÷ 
7×	6ú÷ 
6×	5Ð	5ús<   ÁF6ÂG
Ã&GÄ.G1ÆHÆ6G	Ç
G	ÇG.	Ç1H	ÈH	c                 óÄ   € V w  rR p\         P                  ! \        VR7      ;_uu_ 4        \        P                  ! V^*.4       RRR4       R#   + '       g   i     R# ; i)z9VarArgs function 'z=ax\+by\+c' needs at least 2 argumentsrõ   N)rû   rü   Ú
ValueErrorr'   rK   )rh   Ú_r+   Ú	error_msgs   &   r   Ú test_varargs_function_validationr  é  s@   € Ø'�L€AàL€Iä	�Š”z¨×	3Ö	3Ü
×Ò˜ R DÔ)÷ 
4×	3×	3Ò	3ús   «AÁA	c            	      óÚ  € R \         P                  ! 4       /p \         P                  ! 4       pRR/pR p\        P                  ! \        RR7      ;_uu_ 4        \
        P                  ! VRW V4       RRR4       RR	/p\        P                  ! \        R
R7      ;_uu_ 4        \
        P                  ! VRW V4       RRR4       R#   + '       g   i     L\; i  + '       g   i     R# ; i)r   r   Údescc                 ó4   € \         P                  ! R V^.4      # r�   rŽ   )r    r   s   &&r   Ú	add_constÚ/test_function_doc_validation.<locals>.add_constü  s   € Ü×Ò ¨° {Ó3Ð3r   z#Function doc must contain a summaryrõ   Útest_no_summaryNr   ztest summaryz'Function doc must contain a descriptionÚtest_no_desc)r
   r7   rû   rü   r  r'   rP   )r‡   rˆ   r,   r	  s       r   Útest_function_doc_validationr  ò  sÕ   € àœ"Ÿ(š(›*Ð%€HÜ�xŠx‹z€Hð 	�vð€Hò4ô 
�Š”zØB÷
Dö 
Dä
×#Ò# IÐ/@Ø$,Ø$,ô	.÷
Dð 	�>ð€Hô 
�Š”zØF÷
Hö 
Hä
×#Ò# I¨~Ø$,Ø$,ô	.÷
Hñ 
H÷
D÷ 
Dú÷
H÷ 
Hð 
Hús   ÁCÂ"CÃC	ÃC*	c                 ó$   € \        V . R ^R7       R# )F)rÅ   r   N)râ   )rz   s   &r   Útest_nullary_functionr    s   € ô Ð.°À5Ø'(÷*r   c                 ól   € T p\         P                  ! V. ^R7      pVP                  4       ^*.8X  g   Q hR# )r–   rÇ   N)r'   rK   Ú	to_pylist)r   rÎ   rÊ   s   &  r   Útest_ephemeral_functionr    s4   € Ø)€DÜ×Ò˜d B¨qÔ1€FØ×ÑÓ " Ô%Ð%Ò%r   c                 óÂ   € V w  r\         P                  ! \        R R7      ;_uu_ 4        \        P                  ! V. ^R7       RRR4       R#   + '       g   i     R# ; i)zUnexpected output type: intrõ   rÇ   N©rû   rü   rý   r'   rK   )rŠ   r  r+   s   &  r   r…   r…     sF   € Ø1�L€Aä	�Š”yØ:÷
<ö 
<ä
×Ò˜ B¨qÕ1÷
<÷ 
<÷ 
<ò 
<úó   ©AÁA	c           	      óð   € V w  rR p\         P                  ! \        VR7      ;_uu_ 4        \        P                  ! V\
        P                  ! ^^.4      .4       RRR4       R#   + '       g   i     R# ; i)zDExpected output datatype int16, but function returned datatype int64rõ   N)rû   rü   rý   r'   rK   r
   rp   )r“   r  r+   rÿ   s   &   r   r‘   r‘   &  sR   € Ø5�L€Að<€Mô 
�Š”y¨×	6Ö	6Ü
×Ò˜¤R§X¢X¨r°2¨hÓ%7Ð$8Ô9÷ 
7×	6×	6Ò	6ús   «/A$Á$A5	c                 óÆ   € V w  rR p\         P                  ! \        VR7      ;_uu_ 4        \        P                  ! V. ^R7       RRR4       R#   + '       g   i     R# ; i)z@wrong_signature\(\) takes 0 positional arguments but 1 was givenrõ   rÇ   Nr  )r›   r  r+   rÿ   s   &   r   rš   rš   0  sD   € Ø/�L€Að'€Mô 
�Š”y¨×	6Ö	6Ü
×Ò˜ B¨qÕ1÷ 
7×	6×	6Ò	6ús   «AÁA 	c            	      ó   € R  p RpR\         P                  ! 4       /p/ pRRRR/p\        P                  ! \        RR7      ;_uu_ 4        \
        P                  ! WWBV4       R	R	R	4       R	#   + '       g   i     R	# ; i)
c                 ó   € V# r   r   ©r    rd   s   &&r   ÚidentityÚ1test_wrong_datatype_declaration.<locals>.identity;  ó   € Øˆ
r   Útest_wrong_datatype_declarationrp   r   ztest output valuer   ztest outputz%DataType expected, got <class 'dict'>rõ   N©r
   r7   rû   rü   rý   r'   rP   ©r  r+   r‡   rˆ   r‰   s        r   r  r  :  s}   € òð 2€IØœŸš›Ð$€HØ€HàÐ&Ø�}ð€Cô 
�Š”yØD÷
Fö 
Fä
×#Ò# HØ$'°8ô	=÷
F÷ 
F÷ 
Fò 
Fúó   Á	A,Á,A=	c            	      ó   € R  p RpRR/p\         P                  ! 4       pRRRR/p\        P                  ! \        RR	7      ;_uu_ 4        \
        P                  ! WVW#4       RRR4       R#   + '       g   i     R# ; i)
c                 ó   € V# r   r   r  s   &&r   r  Ú3test_wrong_input_type_declaration.<locals>.identityL  r  r   Ú!test_wrong_input_type_declarationrp   Nr   ztest invalid input typer   zinvalid input functionrø   rõ   r  r   s        r   r%  r%  K  s}   € òð 4€IØ˜ˆ€HÜ�xŠx‹z€HàÐ,ØÐ/ð€Cô 
�Š”yØH÷
Jö 
Jä
×#Ò# H¸Ø$,ô	8÷
J÷ 
J÷ 
Jò 
Júr!  c                 óÊ  € \         P                  ! \         P                  ! 4       4      pV w  r#\        P                  ! V\         P
                  ! ^.R,          \         P                  ! 4       R7      .VR7      pV\         P
                  ! ^.R,          \         P                  ! 4       R7      8X  g   Q hVP                  4       R8X  g   Q hRpVP                  4       ^ 8X  g   Q hR# )r–   éè  r—   rH   Né@  )r
   Úproxy_memory_poolr   r'   rK   rp   r7   Úbytes_allocated)rç   Ú
proxy_poolr  r+   Úress   &    r   Útest_scalar_udf_contextr-  \  s®   € ä×%Ò%¤b×&<Ò&<Ó&>Ó?€JØ%�L€Aä
×
Ò
˜9ÜŸHšH a S¨4¥Z´b·h²h³jÔAÐBØ'1ô3€Cð ”"—(’(˜A˜3 �:¬B¯HªH«JÔ7Ô7Ð7Ð7Ø×%Ñ%Ó'¨8Ô3Ð3Ð3à
€CØ×%Ñ%Ó'¨1Ô,Ð,Ò,r   c                 óÂ   € V w  r\         P                  ! \        R R7      ;_uu_ 4        \        P                  ! V. ^R7       RRR4       R#   + '       g   i     R# ; i)rž   rõ   rÇ   N)rû   rü   r   r'   rK   )r¢   r  r+   s   &  r   Útest_raising_funcr/  k  s=   € Ø'�L€AÜ	�Š”wÐ&B×	CÖ	CÜ
×Ò˜ B¨qÕ1÷ 
D×	C×	CÒ	Cúr  c                 ó    € V w  r\         P                  ! V\        P                  ! ^
4      .4      pV\        P                  ! ^4      8X  g   Q hR# rä   )r'   rK   r
   r   )rç   rØ   r+   r,  s   &   r   Útest_scalar_inputr1  q  s<   € Ø,Ñ€HÜ
×
Ò
˜9¤r§y¢y°£} oÓ
6€CØ”"—)’)˜B“-ÔÐÒr   c                 ó²  € V w  r\         P                  ! \         P                  ! 4       4      pVP                  4       ^ 8X  g   Q h\         P                  ! ^.R,          \         P
                  ! 4       VR7      pVP                  4       R8X  g   Q h\        P                  ! W$.4       VP                  4       R8X  g   Q hRpVP                  4       ^ 8X  g   Q hR# )r   r'  rm   Nr(  )r
   r)  r   r*  rp   r7   r'   rK   )rç   rØ   r+   r+  r±   s   &    r   Útest_input_lifetimer3  w  s²   € Ø,Ñ€Hä×%Ò%¤b×&<Ò&<Ó&>Ó?€JØ×%Ñ%Ó'¨1Ô,Ð,Ð,ä
�Š�!��t•¤"§(¢(£*¸*ÔE€AØ×%Ñ%Ó'¨8Ô3Ð3Ð3Ü×Ò�Y Ô$Ø×%Ñ%Ó'¨8Ô3Ð3Ð3à€AØ×%Ñ%Ó'¨1Ô,Ð,Ò,r   c           	      óè   € \        V4       UUu. uF6  w  r#\        P                  ! \        V4      W,          P                  R 7      NK8  	  ppp\        P
                  P                  W@R7      # u uppi )r—   ©ÚarraysÚschema)Ú	enumerater
   rp   Úlistrn   r¶   r·   )r7  ÚitersÚir±   r6  s   &*   r   Ú_record_batch_from_itersr<  †  s[   € ä# EÔ*ô,Ù*‘$�!ô �hŠh”t˜A“w V¥Y§^¡^×4Ù*ð ñ ,ä�>‰>×%Ñ%¨VÐ%ÓCÐCùó,s   �<A.c           	      ól   € \        V \        W^
,           4      \        V^,           V^,           4      4      # rò   )r<  Úrange)r7  Úns   &&r   Ú_record_batch_for_ranger@  Œ  s/   € Ü# FÜ$)¨!°­VÓ$4Ü$)¨!¨a­%°°RµÓ$8ó:ð :r   c                 ó   a a€ VV 3R  lpV# )c                 ó.   <€  ! VV3R  lR4      pV! 4       # )c                   ó6   <a € ] tR tRt o R tVV3R ltRtV tR# )Ú,make_udt_func.<locals>.udf_func.<locals>.UDTi”  c                ó   € R V n         R # r   ©Úcaller©Úselfs   &r   Ú__init__Ú5make_udt_func.<locals>.udf_func.<locals>.UDT.__init__•  s	   € Ø"�–r   c           	     óˆ  <€  V P                   f   S! V4      P                  R uV n         pV P                  V4      pVP                  4       #   \         dk    S Uu. uF%  p\        P                  ! . TP
                  R7      NK'  	  Mu upi pp\        P                  P                  TSR7      p TP                  4       # i ; i)Nr—   r5  )	rG  ÚsendÚStopIterationr
   rp   rn   r¶   r·   r»   )rI  r    ÚbatchrÉ   r6  Ú	batch_genr7  s   &&   €€r   Ú__call__Ú5make_udt_func.<locals>.udf_func.<locals>.UDT.__call__˜  s¸   ø€ ð6Ø—{‘{Ò*Ù+4°S«>×+>Ñ+>ÀÐ(˜œ SØ ŸK™K¨Ó,�Eð ×,Ñ,Ó.Ð.øô %ô 6á+1ó3Ù+1 %ô !Ÿhšh r°·
±
×;Ú+1ùò3�Fð 3äŸN™N×6Ñ6Ø%¨fð 7ó 6‘Eà×,Ñ,Ó.Ð.ð6ús   ƒ9A ÁCÁ+BÂ)CÃ CrF  N©r   r   r   r   rJ  rQ  r   Ú__classdictcell__)Ú__classdict__rP  r7  s   @€€r   ÚUDTrD  ”  s   ù‡ € ò#÷
/ô 
/r   rV  r   )r    rV  rP  r7  s   & €€r   Úudf_funcÚmake_udt_func.<locals>.udf_func“  s   ø€ ÷	/õ 	/ñ ‹uˆr   r   )r7  rP  rW  s   ff r   Úmake_udt_funcrY  ’  s   ù€ öð" €Or   c                 ó@   a a€ \        4       o ! V3R lR4      o V 3R l# )zA short datasetc                   ó4   <a € ] tR tRt o R tV3R ltRtV tR# )Ú%datasource1_direct.<locals>.Generatori«  c                ó   € ^V n         R# ©é   N©r?  rH  s   &r   rJ  Ú.datasource1_direct.<locals>.Generator.__init__¬  s	   € ØˆDŽFr   c                óÞ   <€ V P                   ^ 8X  d   \        S. . 4      pVP                  4       # V ;P                   ^,          un         \        SV P                   4      pVP                  4       # )r   )r?  r<  r@  r»   )rI  r    rO  r7  s   && €r   rQ  Ú.datasource1_direct.<locals>.Generator.__call__¯  s[   ø€ Ø�v‰v˜Œ{Ü0°¸¸RÓ@�ð ×(Ñ(Ó*Ð*ð —’˜!••Ü/°¸¿¹Ó?�Ø×(Ñ(Ó*Ð*r   r`  NrS  )rU  r7  s   @€r   Ú	Generatorr\  «  s   ù‡ € ò	÷	+ó 	+r   rd  c                 ó   <€ S! 4       # r   r   )r    rd  s   &€r   Ú<lambda>Ú$datasource1_direct.<locals>.<lambda>¶  s   ø€ ‘y”{r   )Údatasource1_schema)rd  r7  s   @@r   Údatasource1_directri  §  s   ù€ äÓ!€F÷
+ô 
+ô #Ð"r   c                  ó<   a€ \        4       oV3R  lp \        SV 4      # )c              3   ób   <"  € \        ^^ R4       F  p\        SV^,
          4      x € K  	  R# 5i)r_  Néÿÿÿÿ)r>  r@  ©r    r?  r7  s   & €r   rP  Ú(datasource1_generator.<locals>.batch_gen¼  s)   øé € Ü�q˜!˜R–ˆAä)¨&°!°aµ%Ó8Ô8ó !ùs   ƒ,/©rh  rY  ©rP  r7  s    @r   Údatasource1_generatorrq  ¹  s   ø€ ÜÓ!€Fõ9ô ˜ Ó+Ð+r   c                  ó<   a€ \        4       oV3R  lp \        SV 4      # )c              3   ót   <"  € \        ^^ R4       F  p\        SV^,
          4      x € K  	  \        R4      h5i)r_  Údatasource1_exceptionrl  )r>  r@  r1   rm  s   & €r   rP  Ú(datasource1_exception.<locals>.batch_genÆ  s7   øé € Ü�q˜!˜R–ˆAä)¨&°!°aµ%Ó8Ô8ñ !ô Ð2Ó3Ð3ùs   ƒ58ro  rp  s    @r   rt  rt  Ã  s   ø€ ÜÓ!€Fõ4ô
 ˜ Ó+Ð+r   c                  ó†   € \         P                  ! R \         P                  ! 4       3R \         P                  ! 4       3.4      # )r   )r
   r7  r;   r   r   r   rh  rh  Î  s,   € Ü�9Š9�rœ2Ÿ8š8›:Ð&¨¬R¯XªX«ZÐ(8Ð9Ó:Ð:r   c                 ó¦   € R V R2RR/p/ p\         P                  ! R\         P                  ! 4       3R\         P                  ! 4       3.4      pWW#V3# )r   z UDTr   ztest {func_name} UDTr   )r
   rÃ   r;   )r#   r+   r,   r‡   rˆ   s   &&   r   Údatasource1_argsrx  Ò  sV   € Ø˜i˜[¨Ð-ØÐ5ð7€Hà€HÜ�yŠy˜2œrŸxšx›zÐ*¨R´·²³Ð,<Ð=Ó>€HØ˜H°Ð8Ð8r   c                 óò   € \        4       pV ! 4       pV P                  p\        W#4      p\        P                  ! V!   ^p\        P
                  ! V4       F  pV^,          pV\        W4      8X  d   K  Q h	  R# r^  )rh  r   rx  r'   Úregister_tabular_functionÚcall_tabular_functionr@  )Ú
func_makerr7  r#   r+   rà   r?  Úitems   &      r   Ú_test_datasource1_udtr~  Ú  sk   € ÜÓ!€FÙ‹<€DØ×#Ñ#€IÜ  Ó1€IÜ× Ò  )Ò,Ø	€AÜ×(Ò(¨Ö3ˆØ	ˆQ�ˆØÔ.¨vÓ9Ö9Ð9Ð9ó 4r   c                  ó$   € \        \        4       R # r   )r~  ri  r   r   r   Útest_udt_datasource1_directr€  æ  s   € ÜÔ,Ö-r   c                  ó$   € \        \        4       R # r   )r~  rq  r   r   r   Útest_udt_datasource1_generatorr‚  ê  s   € ÜÔ/Ö0r   c                  ó¦   € \         P                  ! \        R R7      ;_uu_ 4        \        \        4       RRR4       R#   + '       g   i     R# ; i)rt  rõ   N)rû   rü   r1   r~  rt  r   r   r   Útest_udt_datasource1_exceptionr„  î  s-   € Ü	�Š”|Ð+B×	CÖ	CÜÔ3Ô4÷ 
D×	C×	CÒ	Cús	   ¥?¿A	c                 óÊ   € \         P                  ! . RO\         P                  ! 4       4      p\        P                  ! RV.4      p\         P
                  ! R4      pW#8X  g   Q hR# )ç      $@ç      >@Úmean_udfN©r†  g      4@r‡  g      D@g      I@)r
   rp   r)   r'   rK   r   )Úunary_agg_func_fixtureÚarrrÊ   Úexpecteds   &   r   Útest_scalar_agg_basicr�  ó  sF   € ä
�(Š(Ò1´2·:²:³<Ó
@€CÜ×Ò˜j¨3¨%Ó0€FÜ�yŠy˜‹€HØÔÐÒr   c                 ó   € \         P                  ! . \         P                  ! 4       4      p\        P                  ! \         P
                  R R7      ;_uu_ 4        \        P                  ! RV.4       RRR4       R#   + '       g   i     R# ; i)zempty inputsrõ   rˆ  N)r
   rp   r)   rû   rü   ÚArrowInvalidr'   rK   )rŠ  Úemptys   & r   Útest_scalar_agg_emptyr‘  û  sN   € ä�HŠH�RœŸš›Ó&€Eä	�Š”r—‘¨n×	=Ö	=Ü
×Ò˜ e WÔ-÷ 
>×	=×	=Ò	=ús   ÁA<Á<B	c                 ó$  € \         P                  ! . RO\         P                  ! 4       4      p\        P                  ! \         P
                  RR7      ;_uu_ 4        \        P                  ! RV.4       RRR4       R#   + '       g   i     R# ; i)rå   úoutput datatyperõ   r=   N©rå   é   é   é(   é2   ©r
   rp   r7   rû   rü   ÚArrowTypeErrorr'   rK   )r?   r‹  s   & r   Ú"test_scalar_agg_wrong_output_dtyper›    sT   € Ü
�(Š(Ò'¬¯ª«Ó
4€CÜ	�Š”r×(Ñ(Ð0A×	BÖ	BÜ
×ÒÐ2°S°EÔ:÷ 
C×	B×	BÒ	Búó   ÁA>Á>B	c                 ó$  € \         P                  ! . RO\         P                  ! 4       4      p\        P                  ! \         P
                  RR7      ;_uu_ 4        \        P                  ! RV.4       RRR4       R#   + '       g   i     R# ; i)rå   úoutput typerõ   rC   Nr”  r™  )rD   r‹  s   & r   Ú!test_scalar_agg_wrong_output_typerŸ  	  sR   € Ü
�(Š(Ò'¬¯ª«Ó
4€CÜ	�Š”r×(Ñ(°×	>Ö	>Ü
×ÒÐ1°C°5Ô9÷ 
?×	>×	>Ò	>úrœ  c                 ó"  € \         P                  ! . RO\         P                  ! 4       4      p\         P                  ! . RO\         P                  ! 4       4      p\        P
                  ! RW.4      p\         P                  ! R4      pW48X  g   Q hR# )rå   Úsum_meang     €@@Nr”  )ç      ð?ç       @ç      @ç      @g      @)r
   rp   r7   r)   r'   rK   r   )Úvarargs_agg_func_fixtureÚarr1Úarr2rÊ   rŒ  s   &    r   Útest_scalar_agg_varargsr©    sb   € ä�8Š8Ò(¬"¯(ª(«*Ó5€DÜ�8Š8Ò-¬r¯zªz«|Ó<€Dä×ÒØ�T�Ló€Fô �yŠy˜‹€HØÔÐÒr   c                 ó  € \         P                  ! . RO\         P                  ! 4       4      p\        P                  ! \
        RR7      ;_uu_ 4        \        P                  ! RV.4       RRR4       R#   + '       g   i     R# ; i)rå   r0   rõ   r5   N)rå   r•  r–  r—  r˜  é<   )r
   rp   r7   rû   rü   r1   r'   rK   )r8   r‹  s   & r   Útest_scalar_agg_exceptionr¬    sL   € ä
�(Š(Ò+¬R¯XªX«ZÓ
8€Cä	�Š”|¨6×	2Ö	2Ü
×ÒÐ-°¨uÔ5÷ 
3×	2×	2Ò	2ús   ÁA4Á4B	c                 óô  € \         P                  ! . RO\         P                  ! 4       4      p\         P                  ! . RO\         P                  ! 4       4      p\         P                  ! . RO\         P                  ! 4       4      p\         P                  ! . R	O\         P                  ! 4       4      p\         P                  ! W!.RR.R7      p\         P                  ! WC.RR.R7      p\         P
                  ! WV.4      pVP                  R4      P                  R
.4      pVP                  R4      P                  R.4      P                  RR.4      p	VP                  R4      V	P                  R4      8X  g   Q hR# )r†  ÚidÚvaluer²   Úvalue_mean_udfNr‰  ©é   rî   r–   rî   r–   )g      N@g     €Q@g      T@g     €V@g      Y@)é   r–   r–   r²  r–   ©r¯  rˆ  )r¯  Úmean)
r
   rp   r)   r;   rÞ   Úconcat_tablesÚgroup_byÚ	aggregateÚrename_columnsÚsort_by)
rŠ  r§  r¨  Úarr3Úarr4Útable1Útable2rÞ   rÊ   rŒ  s
   &         r   Útest_hash_agg_basicr¿  #  s  € ä�8Š8Ò2´B·J²J³LÓA€DÜ�8Š8’O¤R§X¢X£ZÓ0€Dä�8Š8Ò3´R·Z²Z³\ÓB€DÜ�8Š8’O¤R§X¢X£ZÓ0€Dä�XŠX�t�l¨4°¨/Ô:€FÜ�XŠX�t�l¨4°¨/Ô:€FÜ×Ò˜fÐ-Ó.€Eà�^‰^˜DÓ!×+Ñ+Ð-BÐ,CÓD€FØ�~‰~˜dÓ#×-Ñ-Ø	Ðóß+™^¨TÐ3CÐ,DÓEð ð �>‰>˜$Ó 8×#3Ñ#3°DÓ#9Ô9Ð9Ò9r   c                 ó  € \         P                  ! . \         P                  ! 4       4      p\         P                  ! . \         P                  ! 4       4      p\         P                  ! W!.R R.R7      pVP                  R 4      P                  R.4      p\         P                  ! \         P                  ! . \         P                  ! 4       4      \         P                  ! . \         P                  ! 4       4      .R R.R7      pWE8X  g   Q hR# )r®  r¯  r²   r°  Nr´  )r
   rp   r)   r;   rÞ   r·  r¸  )rŠ  r§  r¨  rÞ   rÊ   rŒ  s   &     r   Útest_hash_agg_emptyrÁ  6  s´   € ä�8Š8�BœŸ
š
›Ó%€DÜ�8Š8�BœŸš›
Ó#€DÜ�HŠH�d�\¨$°¨Ô9€Eà�^‰^˜DÓ!×+Ñ+Ð-BÐ,CÓD€FÜ�xŠxœŸš "¤b§h¢h£jÓ1´2·8²8Ø
ŒB�JŠJ‹Ló4ð Ø#'Ð)9Ð":ô<€Hð ÔÐÒr   c                 óÄ  € \         P                  ! . RO\         P                  ! 4       4      p\         P                  ! . RO\         P                  ! 4       4      p\         P                  ! W!.RR.R7      p\
        P                  ! \         P                  RR7      ;_uu_ 4        VP                  R4      P                  R	.4       RRR4       R#   + '       g   i     R# ; i)
rå   r®  r¯  r²   r“  rõ   Nr”  r±  )r¯  r=   ©
r
   rp   r7   r;   rÞ   rû   rü   rš  r·  r¸  )r?   r§  r¨  rÞ   s   &   r   Ú test_hash_agg_wrong_output_dtyperÄ  C  sˆ   € Ü�8Š8Ò(¬"¯(ª(«*Ó5€DÜ�8Š8’O¤R§X¢X£ZÓ0€Dä�HŠH�d�\¨$°¨Ô9€EÜ	�Š”r×(Ñ(Ð0A×	BÖ	BØ�‰�tÓ×&Ñ&Ð(LÐ'MÔN÷ 
C×	B×	BÒ	Búó   Â""CÃC	c                 óÄ  € \         P                  ! . RO\         P                  ! 4       4      p\         P                  ! . RO\         P                  ! 4       4      p\         P                  ! W!.RR.R7      p\
        P                  ! \         P                  RR7      ;_uu_ 4        VP                  R4      P                  R	.4       RRR4       R#   + '       g   i     R# ; i)
rå   r®  r¯  r²   rž  rõ   Nr”  r±  )r¯  rC   rÃ  )rD   r§  r¨  rÞ   s   &   r   Útest_hash_agg_wrong_output_typerÇ  L  s†   € Ü�8Š8Ò(¬"¯(ª(«*Ó5€DÜ�8Š8’O¤R§X¢X£ZÓ0€DÜ�HŠH�d�\¨$°¨Ô9€Eä	�Š”r×(Ñ(°×	>Ö	>Ø�‰�tÓ×&Ñ&Ð(KÐ'LÔM÷ 
?×	>×	>Ò	>úrÅ  c                 ó°  € \         P                  ! . RO\         P                  ! 4       4      p\         P                  ! . RO\         P                  ! 4       4      p\         P                  ! W!.RR.R7      p\
        P                  ! \        RR7      ;_uu_ 4        VP                  R4      P                  R	.4       RRR4       R#   + '       g   i     R# ; i)
rå   r®  r¯  r²   r0   rõ   Nr”  r±  )r¯  r5   )
r
   rp   r7   r;   rÞ   rû   rü   r1   r·  r¸  )r8   r§  r¨  rÞ   s   &   r   Útest_hash_agg_exceptionrÉ  U  s€   € ä�8Š8Ò(¬"¯(ª(«*Ó5€DÜ�8Š8’O¤R§X¢X£ZÓ0€DÜ�HŠH�d�\¨$°¨Ô9€Eä	�Š”|¨6×	2Ö	2Ø�‰�tÓ×&Ñ&Ð(GÐ'HÔI÷ 
3×	2×	2Ò	2ús   Â"CÃC	c                óD  € RpRp\         P                  ! \        P                  ! ^V4      \         P                  ! 4       4      p\         P                  ! \        P
                  P                  W!4      \         P                  ! 4       4      p\         P                  ! WC.RR.R7      pVP                  R4      P                  R.4      pVP                  R4      P                  R	.4      P                  RR.4      pVP                  R4      VP                  R4      8X  g   Q hR# )
z2Test hash aggregate udf with randomly sampled datai@B r'  r®  r¯  r²   Úvalue_sum_udfN)r¯  r%   )r¯  Úsum)r
   rp   r   Úrepeatr)   ÚrandomÚchoicer;   rÞ   r·  r¸  r¹  rº  )r-   Ú	value_numÚ	group_numr§  r¨  rÞ   rÊ   rŒ  s   &       r   Útest_hash_agg_randomrÒ  _  sÜ   € ð €IØ€Iä�8Š8”B—I’I˜a Ó+¬R¯ZªZ«\Ó:€DÜ�8Š8”B—I‘I×$Ñ$ YÓ:¼B¿HºH»JÓG€Dä�HŠH�d�\¨$°¨Ô9€Eà�^‰^˜DÓ!×+Ñ+Ð-AÐ,BÓC€FØ�~‰~˜dÓ#×-Ñ-Ø	Ðóß*™N¨D°/Ð+BÓCð ð �>‰>˜$Ó 8×#3Ñ#3°DÓ#9Ô9Ð9Ò9r   c                 ó¾   € \         P                  ! . RO\         P                  ! 4       4      p\        P                  ! RV.4      pV ^ ,          ! RV4      pW#8X  g   Q hR# )r†  r«   Nr‰  ©r
   rp   r)   r'   rK   ©r­   r‹  rÊ   rŒ  s   &   r   Útest_vector_basicrÖ  r  sJ   € ä
�(Š(Ò1´2·:²:³<Ó
@€CÜ×Ò˜o°¨uÓ5€FØ(¨Ö+¨D°#Ó6€HØÔÐÒr   c                 ó¼   € \         P                  ! ^.\         P                  ! 4       4      p\        P                  ! RV.4      pV ^ ,          ! RV4      pW#8X  g   Q hR# )r–   r«   NrÔ  rÕ  s   &   r   Útest_vector_emptyrØ  z  sK   € ä
�(Š(�A�3œŸ
š
›Ó
%€CÜ×Ò˜o°¨uÓ5€FØ(¨Ö+¨D°#Ó6€HØÔÐÒr   c                 óJ  € \         P                  ! . RO\         P                  ! 4       4      p\         P                  ! . RO\         P                  ! 4       4      p\         P                  ! . RO4      p\        P
                  ! RWV.4      pV ^ ,          ! RWV4      pWE8X  g   Q hR# )r–   r¿   N)r–   r–   rî   rî   )r¢  r£  r¤  r¥  )rÀ   rÁ   rÀ   rÁ   )r
   rp   r7   r)   r'   rK   )rÄ   r°   r±   rV   rÊ   rŒ  s   &     r   Útest_vector_structrÚ  ‚  s€   € ä
�ŠÚ”b—h’h“jó	€Aô 	�ŠÚœbŸjšj›ló	€Aô 	�ŠÚ ó	€Aô ×Ò˜l¨Q°1¨IÓ6€FØ)¨!Ö,¨T°1¸Ó;€HØÔÐÒr   rò   )r   )Prû   Únumpyr   ÚImportErrorÚpyarrowr
   r   r'   ÚmarkrÑ   Ú
pytestmarkr&   Úpyarrow.datasetrÐ   r   r1   r   Úfixturer-   r8   r?   rD   rR   r^   rh   rz   r   rŠ   r“   r›   r¢   r­   rÄ   râ   rè   rê   rì   rï   r   r  r  r  r  r…   r‘   rš   r  r%  r-  r/  r1  r3  r<  r@  rY  ri  rq  rt  rh  rx  r~  r€  r‚  r„  r�  r‘  r›  rŸ  r©  r¬  r¿  rÁ  rÄ  rÇ  rÉ  rÒ  ÚpandasrÖ  rØ  rÚ  r   r   r   Ú<module>rã     sI  ðó& ðÛó Ý !ð �[‰[× Ñ €
ð ˜B ¨rÐ2€ðÝ ô
Dô
	ˆlô 	ð ‡‚�iÔ ñó !ðð* ‡‚�iÔ ñó !ðð& ‡‚�iÔ óó !ðð$ ‡‚�iÔ óó !ðð$ ‡‚�iÔ ñ&ó !ð&ð( ‡‚�iÔ ñ'ó !ð'ð0 ‡‚�iÔ ñ'ó !ð'ð2 ‡‚�iÔ ñ#ó !ð#ð, ‡‚�iÔ ñó !ðð0 ‡‚�iÔ ñ(ó !ð(ð( ‡‚�iÔ ñ,ó !ð,ð( ‡‚�iÔ ñ&ó !ð&ð( ‡‚�iÔ ñ#ó !ð#ð  ‡‚�iÔ ñó !ðð  ‡‚�iÔ ñó !ðð(Cà)-ðCð (,ôCò@òòò	ò/.òd*ò.ò>*ò&ò2ò:ò2ò=ò"8ò"-ò2ò ò-òDò:òò*#ò$,ò,ò;ò9ò	:ò.ò1ò5ð
 ‡�×Ññó ðð ‡�×Ññ.ó ð.ò;ò:ð ‡�×Ññó ðð ‡�×Ññ6ó ð6ð ‡�×Ññ:ó ð:ð$ ‡�×Ññ	ó ð	òOòNð ‡�×ÑñJó ðJð ‡�×Ññ:ó ð:ð$ ‡�×Ññó ðð ‡�×Ññó ðð ‡�×Ññó òøðY ô Ø	ƒBðûð ô Ø	ƒBðús"   †M' ±M7 Í'	M4Í3M4Í7	NÎN