
    [6g                        d dl m Z  d dlZd dlZd dlZd dlmZ d dlZd dlm	Z	m
Z
mZmZmZ d dlmZ d dlmZ ej        d             Z ej        d ej        dej        j        	          g
          d             Zd Zej                            dd dg          ej                            dddg          d                         Zd Zd Zej                            ddd edg          f edd          dfg          d             Zd Zej                            dej         ej!        g          d             Z"d Z#d Z$d  Z%ej                            dg d!          d"             Z&d# Z'd$ Z(d% Z)d& Z*d' Z+d( Z,d) Z-d* Z.ej                            dd dg          d+             Z/ej                            dd dg          d,             Z0d- Z1ej                            dd dg          d.             Z2d/ Z3d0 Z4d1 Z5ej        6                    d2          ej                            d3d4d5g          ej                            dd6 d7 gd8d9g:          ej                            dddg          ej                            dd dg          d;                                                             Z7d< Z8d= Z9d> Z:d? Z;d@ Z<dA Z=dB Z>dC Z?dD Z@dE ZAdF ZBdG ZCdH ZDdI ZEdJ ZFej                            dK e	dLdMgdNdOgg           edLdNdPdMdOdPg          g e	d dgdQdRgg           ed dQdPddRdPg          gg          dS             ZGdT ZHdU ZIdV ZJej                            dWdXdYg          dZ             ZKd[ ZLd\ ZMd] ZNd^ ZOej                            d_d`dadejP        g          db             ZQdc ZRej                            dddedf idg e	dedQdRgi          fdedh id e	dedQdRgi          fdedi idg ededRi          fdedj id ededRi          fdedkejS        dl gidg e	deg dmig dno          fdedkejS        dp gid e	deg dmig dno          fdedq idg e	deddgi          fdedr id ededi          fg          ds             ZTej                            dtdedu idedv idedkejS        dw gidedx ig          dy             ZUdz ZVd{ ZWd| ZXej                            ddd} gdg e	d~dQdRgi          fd gd e	d~dQdRgi          fd gdg e	dedRgidgo          fd gd e	dedRgidgo          fdkejS        d gdg e	deg dmig dno          fdkejS        d gd e	deg dmig dno          fd d gdg e	dQdRgdRdRggdedegddgg          fd d gd e	dedQdRgiddg          fg          d             ZYej                            dtd gd gdkejS        d gd d gg          d             ZZd Z[d Z\d Z]d Z^ej                            d_ddQg          d             Z_d Z`ej                            dg dddQgg          d             Zad Zbd Zcd Zdd Zed Zfd Zgd Zhej                            dd d d gg d:          d             Zid Zjd Zkd Zld Zmd Znd Zod Zpd Zqej                            ddYdXg          d             Zrej                            ddYdXg          d             Zsd Ztej                            dd dg          ej                            ddi fdi fdi fdddQifdddQdfddQddfdddQdRdfg          d                         Zuej                            dg d          d             Zvd Zwej                            d e	dedgddgdÜ          g          ej                            dg dŢ          dƄ                         Zxej                            dddddeejP        g          dɄ             Zydʄ Zzd˄ Z{d̄ Z|d̈́ Z}d΄ Z~dτ ZdЄ Zdф Zd҄ Zdӄ Zej                            dg dg dբdg ddgdfg d֢g dբddQgdgdfg          dׄ             Zd؄ Zdل Zdڄ Zdۄ ZdS )    )datetimeN)CategoricalDtype)	DataFrame
MultiIndexSeries	Timestamp
date_range)
zip_framesc                      t          t          j        t          j        dd          d                              dd          dz   g d          } | S )	z
    Fixture for DataFrame of ints which are constant per column

    Columns are ['A', 'B', 'C'], with values (per column): [1, 2, 3]
       int64dtype      ABCcolumns)r   nptilearangereshape)dfs    b/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/pandas/tests/apply/test_frame_apply.pyint_frame_const_colr      sY     

	!7+++Q//772>>B
 
 
B I    pythonnumba)marks)paramsc                 N    | j         dk    rt          j        d           | j         S )Nr"   )parampytestimportorskip)requests    r   enginer*   #   s(    }G$$$=r    c                 
   |dk    r:t           j                            d          }|j                            |           t          j        d          5  t          j        | d                   }|                     t
          j        |          d         }t          j
        ||           |                     t
          j        |          d         }t          j        | d                   }||k    sJ | j        d         }|                     t
          j        d	|
          }t          j        |                     |                    }||         |k    sJ |j        | j        u sJ 	 d d d            d S # 1 swxY w Y   d S )Nr"   z+numba engine not supporting numpy ufunc yetreasonignoreallr   r*   r   r   axisr*   )r'   markxfailnode
add_markerr   errstatesqrtapplytmassert_series_equalmeanindexxs)float_framer*   r)   r4   resultexpectedds          r   
test_applyrD   *   s   {  (U VV%%%		"	"	" 1 1S)**$$RWV$<<SA
vx000 ""276"::3?7;s+,,!!!!a ""276"BB7;>>!,,--ayH$$$$|{0000001 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1s   DE88E<?E<r3   r   rawTFc                     |dk    r:t           j                            d          }|j                            |           |                     d |d||          }| dz   }t          j        ||           d S )Nr"   z!numba engine doesn't support argsr,   c                     | |z   S N xys     r   <lambda>z!test_apply_args.<locals>.<lambda>G   s
    QU r    r   )argsrE   r*   r   )r'   r4   r5   r6   r7   r:   r;   assert_frame_equal)r@   r3   rE   r*   r)   r4   rA   rB   s           r   test_apply_argsrQ   @   s     {  (K LL%%%DtV   F QH&(+++++r    c                      t          g dg dd          } |                     d           }|j        dk    sJ t          |d         j        t
                    sJ t          |d         j        t
                    sJ d S )N)r   r   r   r   )r   r   DrS   c0c1c                 ,    |                      d          S )Ncategoryastype)tss    r   rM   z-test_apply_categorical_func.<locals>.<lambda>P   s    :!6!6 r    )      rU   rV   )r   r:   shape
isinstancer   r   r   rA   s     r   test_apply_categorical_funcra   M   s    	...6J6J6JKK	L	LBXX6677F<6!!!!fTl(*:;;;;;fTl(*:;;;;;;;r    c                      t          dt          dd          gi          } |                     d d          }t          j        ||            d S )Nr   
2013-01-01UTCtzc                     | S rH   rI   rK   s    r   rM   z*test_apply_axis1_with_ea.<locals>.<lambda>Z       a r    r   r3   r   r   r:   r;   rP   rB   rA   s     r   test_apply_axis1_with_earm   W   sT    #	,5 A A ABCDDH^^KKa^00F&(+++++r    zdata, dtyper   Nrc   rd   re   c                     t          | g| ggddg|          }|                    d d          }t          j        ||           d S )Na)r>   r   c                     | S rH   rI   rh   s    r   rM   z0test_agg_axis1_duplicate_index.<locals>.<lambda>e       A r    r   rj   r   aggr;   rP   )datar   rB   rA   s       r   test_agg_axis1_duplicate_indexrv   ^   sU     4&4&)#s5IIIH\\++A\..F&(+++++r    c                      t          t          dd          t          j        t	          j        d          d          d          } |                     d d	          }t          j        ||            d S )
N20130101r   periodss)unitr   r   c                     | S rH   rI   rh   s    r   rM   z/test_apply_mixed_datetimelike.<locals>.<lambda>r   ri   r    r   rj   )	r   r	   pdto_timedeltar   r   r:   r;   rP   rl   s     r   test_apply_mixed_datetimeliker   i   sy     J2221C888	
 	
 H ^^KKa^00F&(+++++r    funcc                 b    t                      }|                    | |          }|j        sJ d S )Nr1   )r   r:   empty)r   r*   empty_framerA   s       r   test_apply_emptyr   v   s9     ++KtF33F<r    c                 r   | d d         }|                     d |          }t          t          j        | j                  }t          j        ||           | j        d d g f         }|                     d d|          }t          t          j        | j                  }t          j        ||           d S )Nr   c                 *    |                                  S rH   r=   rh   s    r   rM   z(test_apply_float_frame.<locals>.<lambda>       QVVXX r    r1   r>   c                 *    |                                  S rH   r   rh   s    r   rM   z(test_apply_float_frame.<locals>.<lambda>   r   r    r   r2   )	r:   r   r   nanr   r;   r<   locr>   )r@   r*   no_rowsrA   rB   no_colss         r   test_apply_float_framer      s    "1"oG]]--f]==FbfK$7888H68,,,oaaae$G]]--Af]EEFbfK$5666H68,,,,,r    c                     t          dg          }|                    d d|           }t          j        ||           d S )Nrp   r   c                     | d         S )Nrp   rI   rh   s    r   rM   z/test_apply_empty_except_index.<locals>.<lambda>   s
    af r    r   r2   r   r:   r;   rP   )r*   rB   rA   s      r   test_apply_empty_except_indexr      sH    u%%%H^^,,1V^DDF&(+++++r    c                  V   t                      } g }|                     |j        dd          }t          j        ||            |                     |j        dd          }t          g t          j                  }t          j        ||           t          g d          }|                    |j        dd          }t          j        ||           |                    |j        dd          }t          g t          j                  }t          j        ||           |g k    sJ d S )Nr   expandr3   result_typereducer   rp   bcr   )	r   r:   appendr;   rP   r   r   float64r<   )r   rK   rA   rB   empty_with_colss        r   test_apply_with_reduce_emptyr      s   ++K
AqxaXFFF&+...qxaXFFFb
+++H68,,,888O""18!"JJF&/222""18!"JJFb
+++H68,,, 777777r    )sumprodanyr0   c                    t          g d          }|                    t          t          |                     } t          ||                       }| dv r|                    t
                    }t          j        ||           d S )Nr   r   )r   r   )r   r:   getattrr   rZ   floatr;   r<   )r   r   rA   rB   s       r   test_apply_funcs_over_emptyr      s     
???	+	+	+BXXgb$''((F wr4  ""H??5))68,,,,,r    c                  :   t          g d          } |                                 }t          d| j                  }t	          j        ||           | j                                        }t          g t          j                  }t	          j        ||           d S )Nr   r   r   r   r   )	r   nuniquer   r   r;   r<   Tr   r   r   rA   rB   s      r   test_nunique_emptyr      s    	???	+	+	+BZZ\\Farz***H68,,,T\\^^Fb
+++H68,,,,,r    c                  $   t          g dg dg dgg d          } |                     d d          }t          g d	g d          }t          j        ||           | j                            d
 d          }t          j        ||           d S )Nr   r]   r   )r\      r   )      	   )rp   rp   r   r   c                     | d         S Nr   rI   r{   s    r   rM   z/test_apply_standard_nonunique.<locals>.<lambda>   
    ! r    r   rj   )r   r\   r   c                     | d         S r   rI   r   s    r   rM   z/test_apply_standard_nonunique.<locals>.<lambda>   s
    !A$ r    r   )r   r:   r   r;   r<   r   r   s      r   test_apply_standard_nonuniquer      s    	IIIyyy)))4OOO	L	L	LBXXnn1X--Fiii11H68,,,TZZQZ//F68,,,,,r    c                     |                      t          j        d          }t          |                                 g| j                  }t          j        ||           d S )N	broadcastr   r   )r:   r   r=   r   r>   r;   rP   r@   rA   rB   s      r   test_apply_broadcast_scalarsr      sY    rwK@@F+**,,-[5FGGGH&(+++++r    c                     |                      t          j        dd          }|                     d          t          fd| j        D                       }t          j        ||           d S )Nr   r   r   rj   c                     i | ]}|S rI   rI   .0r   ms     r   
<dictcomp>z6test_apply_broadcast_scalars_axis1.<locals>.<dictcomp>   s    <<<1!Q<<<r    )r:   r   r=   r   r   r;   rP   r@   rA   rB   r   s      @r   "test_apply_broadcast_scalars_axis1r      ss    rwQKHHFa  A<<<<(;<<<==H&(+++++r    c                 *                           fddd          }t          t          t           j                                      }t          |gt           j                  z  d j         j                  }t          j        ||           d S )Nc                 `    t          t          t          j                                      S rH   )listrangelenr   rK   r@   s    r   rM   z4test_apply_broadcast_lists_columns.<locals>.<lambda>   s"    $uS!4556677 r    r   r   r   r   )r   r>   r   )	r:   r   r   r   r   r   r>   r;   rP   )r@   rA   r   rB   s   `   r   "test_apply_broadcast_lists_columnsr      s    7777   F
 	U3{*++,,--A	
c+#$$$#	  H &(+++++r    c                                            fdd          }t          t          t           j                                      t          fd j        D             d j                  }t          j        ||           d S )Nc                 `    t          t          t          j                                      S rH   )r   r   r   r>   r   s    r   rM   z2test_apply_broadcast_lists_index.<locals>.<lambda>   s"    $uS!2334455 r    r   r   c                     i | ]}|S rI   rI   r   s     r   r   z4test_apply_broadcast_lists_index.<locals>.<dictcomp>   s    +++!A+++r    r   )r   r>   )	r:   r   r   r   r>   r   r   r;   rP   r   s   `  @r    test_apply_broadcast_lists_indexr      s    5555;   F 	U3{())**++A++++{*+++  H
 &(+++++r    c                 f    | }|                     d dd          }t          j        ||           d S )Nc                 
    g dS Nr   rI   rh   s    r   rM   z7test_apply_broadcast_list_lambda_func.<locals>.<lambda>   
    			 r    r   r   r   r:   r;   rP   )r   r   rA   s      r   %test_apply_broadcast_list_lambda_funcr      s;    	BXX)){XKKF&"%%%%%r    c                     | }|                     d dd          }|                                }t          j        ||           d S )Nc                 B    t          g dt          d                    S )Nr   abcr   )r   r   rh   s    r   rM   z9test_apply_broadcast_series_lambda_func.<locals>.<lambda>  s    &$u++666 r    r   r   r   )r:   copyr;   rP   r   r   rA   rB   s       r   'test_apply_broadcast_series_lambda_funcr      sS    	BXX66   F
 wwyyH&(+++++r    c                 r    |dk    rt          j        d           d }|                     |||d           d S )Nr"   z)numba can't handle when UDF returns None.c                 X    t          | t          j                  sJ | j        dk    sJ d S Nr   r_   r   ndarrayndimrh   s    r   _assert_rawz/test_apply_raw_float_frame.<locals>._assert_raw  -    !RZ(((((v{{{{{{r    Tr3   r*   rE   )r'   skipr:   )r@   r3   r*   r   s       r   test_apply_raw_float_framer   
  sR    ?@@@   kVFFFFFr    c                     |                      t          j        ||d          }|                      d |          }t          j        ||           d S )NTr   c                 4    | j                                         S rH   )valuesr=   rh   s    r   rM   z3test_apply_raw_float_frame_lambda.<locals>.<lambda>  s    18==?? r    rj   )r:   r   r=   r;   r<   )r@   r3   r*   rA   rB   s        r   !test_apply_raw_float_frame_lambdar     sU    rwT&dKKF  !:!: FFH68,,,,,r    c                 l    |                      d |d          }| dz  }t          j        ||           d S )Nc                     | dz  S Nr]   rI   rh   s    r   rM   z9test_apply_raw_float_frame_no_reduction.<locals>.<lambda>  s
    Q r    T)r*   rE   r]   r   )r@   r*   rA   rB   s       r   'test_apply_raw_float_frame_no_reductionr     s@    v4HHFQH&(+++++r    c           
      $   |dk    rt          j        d           d }t          dddt          j        dgdz  d	          t          j        d
gdz  d	          dt          j        d                    }|                    || |d           d S )Nr"   z(isinstance check doesn't work with numbac                 X    t          | t          j                  sJ | j        dk    sJ d S r   r   rh   s    r   r   z4test_apply_raw_mixed_type_frame.<locals>._assert_raw)  r   r          ?r]   foo
   float32r   r   int32)rp   r   r   r   r   r   Tr   )r'   r   r   r   arrayr   r:   )r3   r*   r   r   s       r   test_apply_raw_mixed_type_framer   $  s    >???  
 
x
)<<<XqcBhg666	
 	
 imm	
 	
 	
B HH[tFH=====r    c                     | j         d         }|                     t          j        d          |         }t          j        |                     |                    }||k    sJ d S )Nr   r   rj   )r>   r:   r   r=   r?   )r@   rC   rA   rB   s       r   test_apply_axis1r   ;  s`    !ArwQ//2Fw{~~a(())HXr    c                     t          dgdgd          } | d d                             t          j        d          }t	          t          j        t          j        g d          	          }t          j	        ||           d S )
Nr   r   r}   r   r   rj   r   r   r   )
r   r:   r   r=   r   r   r   Indexr;   r<   r   s      r   test_apply_mixed_dtype_cornerr   B  sx    	%u--	.	.BV\\"'\**F bfBHRw$?$?$?@@@H68,,,,,r    c                  .   t          dgdgd          } |                     d d          }t          dgdg          }t          j        ||           |                     d	 d          }t          dgdg          }t          j        ||           d S )
Nr   r   r}   c                     | d         S )Nr   rI   rh   s    r   rM   z8test_apply_mixed_dtype_corner_indexing.<locals>.<lambda>M  
    # r    r   rj   r   r   c                     | d         S )Nr   rI   rh   s    r   rM   z8test_apply_mixed_dtype_corner_indexing.<locals>.<lambda>Q  r  r    )r   r:   r   r;   r<   r   s      r   &test_apply_mixed_dtype_corner_indexingr  K  s    	%u--	.	.BXX&&QX//FugaS)))H68,,,XX&&QX//FseA3'''H68,,,,,r    zignore::RuntimeWarningaxr>   r   c                     | S rH   rI   rh   s    r   rM   rM   Y      q r    c                 *    |                                  S rH   r   rh   s    r   rM   rM   Y  s    AFFHH r    identityr=   )idsc                    t          di | g di}t          j        d          5   |t          j        g d                    }t	          |t          j                   }|                    ||||          }	|r8|                    |          }
t	          |	t                    sJ |	j	        |
u sJ nt	          |	t                     sJ d d d            d S # 1 swxY w Y   d S )Nr   r.   r/   f8r   r   rI   )
r   r   r8   r   r_   r   r:   _get_agg_axisr   r>   )r  r   rE   r3   r*   r)   r   test_resis_reductionrA   agg_axiss              r   test_apply_empty_infer_typer  V  s?    
	+	+b///*	+	+B		"	"	" 
1 
14400011%h
;;;$T&cBB 	1''--Hff-----<8+++++fi00000
1 
1 
1 
1 
1 
1 
1 
1 
1 
1 
1 
1 
1 
1 
1 
1 
1 
1s   B%CCCc                      t          g d          } |                     d d          }t          |t                     sJ d S )Nr   r   c                 *    |                                  S rH   r   rh   s    r   rM   z7test_apply_empty_infer_type_broadcast.<locals>.<lambda>o  r   r    r   r   )r   r:   r_   )r   rA   s     r   %test_apply_empty_infer_type_broadcastr  m  sK    ooo...G]]--;]GGFfi(((((((r    c                     dd}|                      |d          }|                      d           }t          j        ||           d S )Nr   c                     | |z   S rH   rI   rK   howmuchs     r   add_somez4test_apply_with_args_kwds_add_some.<locals>.add_somet  s    7{r    r]   r  c                     | dz   S r   rI   rh   s    r   rM   z4test_apply_with_args_kwds_add_some.<locals>.<lambda>x  s
    1q5 r    r   r   )r@   r  rA   rB   s       r   "test_apply_with_args_kwds_add_somer  s  s^        x33F  11H&(+++++r    c                     dd}|                      |d          }|                      d           }t          j        ||           d S )Nr   c                 0    |                                  |z   S rH   r   r  s     r   agg_and_addz:test_apply_with_args_kwds_agg_and_add.<locals>.agg_and_add}  s    vvxx'!!r    r]   r  c                 0    |                                  dz   S r   r   rh   s    r   rM   z7test_apply_with_args_kwds_agg_and_add.<locals>.<lambda>  s    16688a< r    r  )r:   r;   r<   )r@   r  rA   rB   s       r   %test_apply_with_args_kwds_agg_and_addr!  |  s`    " " " " {A66F  !7!788H68,,,,,r    c                     dd}|                      |dd          }|                      d           }t          j        ||           d S )Nr   c                     | |z
  |z  S rH   rI   )rK   subdivides      r   subtract_and_dividezJtest_apply_with_args_kwds_subtract_and_divide.<locals>.subtract_and_divide  s    C6!!r    )r]   r]   )rO   r%  c                     | dz
  dz  S )N       @rI   rh   s    r   rM   z?test_apply_with_args_kwds_subtract_and_divide.<locals>.<lambda>  s    AGs? r    rN   r   )r@   r&  rA   rB   s       r   -test_apply_with_args_kwds_subtract_and_divider)    sc    " " " " 2aHHF  !:!:;;H&(+++++r    c                 d    |                      t                    }t          j        ||            d S rH   )r:   r   r;   rP   )r@   rA   s     r   test_apply_yield_listr+    s.    t$$F&+.....r    c                     t           j        | j        d d d| j                            d          f<   |                     d          }|                     t           j        d          }t          j        ||           d S )Nr]   r   r   rj   )	r   r   ilocr   get_locr=   r:   r;   r<   )r@   rB   rA   s      r   test_apply_reduce_Seriesr/    ss    >@fKSSqS+-55c:::;""HrwQ//F68,,,,,r    c                  z   t          ddgddggddgddg	          } |                     t          d
          }t          ddddddg| j                  }t          j        ||           |                     t          d          }t          ddddddg| j                  }t          j        ||           d S )Nr   r]   r   r\   rU   rV   i0i1r   r>   r   rj   )r1  r2  r   rT   )r   r:   dictr   r   r;   r<   r>   )ru   rA   rB   s      r   test_apply_reduce_to_dictr5    s    q!fq!f%d|D$<PPPDZZ1Z%%Faq))!1+=+=>dlSSSH68,,,ZZ1Z%%Faq))!1+=+=>djQQQH68,,,,,r    c                  8   t          t          j                            d                              d                    } |                     t          j        d          }t          d |                                 D             | j	                  }t          j        ||           |                     t          j        d          }t          d | j                                        D             | j                  j        }t          j        ||           d S )	Nr]   )   r   r   rj   c                 >    i | ]\  }}||                                 S rI   describer   ivs      r   r   z2test_apply_differently_indexed.<locals>.<dictcomp>  s&    AAAda!QZZ\\AAAr    r   r   c                 >    i | ]\  }}||                                 S rI   r9  r;  s      r   r   z2test_apply_differently_indexed.<locals>.<dictcomp>  s&    CCCda!QZZ\\CCCr    )r   r   randomdefault_rngstandard_normalr:   r   r:  itemsr   r;   rP   r   r>   r   s      r   test_apply_differently_indexedrC    s    	29((++;;HEE	F	FBXXfoAX..FAAbhhjjAAA2:VVVH&(+++XXfoAX..FCCbdjjllCCCRXVVVXH&(+++++r    c                     t          g dg dg dg dg dg dgg d          } d	 }|                     |d
          }t          t          dd
d
          ddgt          dd
d          ddgt          dd
d          ddgt          dd
d          ddgt          dd
d          ddgt          dd
d          ddggg d          } |                     |d
          }t          j        ||           d S )N)r   ABC02   )r   YUM0r7  )r   DEF0r7  )r]   ABC1rF  )r]   YUM1r7  )r]   DEF1r7  )rp   marketpositionr   c                     | d         S )NrL  rI   )rs    r   fztest_apply_bug.<locals>.f  s    {r    r   rj   i  rE  rF  r]   rG  r7  r   rH  r\   rI  r   rJ  r   rK  )r   r:   r   r;   r<   )	positionsrP  rB   rA   s       r   test_apply_bugrR    sN   OOOOOOOOOOOO	
 ,++
 
 
I   qq))HdAq!!62.dAq!!62.dAq!!62.dAq!!62.dAq!!62.dAq!!62.	
 ,++
 
 
I __QQ_''F68,,,,,r    c            
         t          g dg dg dt          j                            d                              d          t          j                            d                              d          t          j                            d                              d          d          } |                     d d	          }t          j        ||            d S )
N)r   r   r   r   barrT  rT  rT  r   r   r   )onerU  rU  tworU  rU  rU  rV  rV  rV  rU  )dullrW  shinyrW  rW  rX  rX  rW  rX  rX  rX  r]      )r   r   r   rS   EFc                     | S rH   rI   rh   s    r   rM   z,test_apply_convert_objects.<locals>.<lambda>  ri   r    r   rj   )r   r   r?  r@  rA  r:   r;   rP   rl   s     r   test_apply_convert_objectsr]    s           &&q))99"==&&q))99"==&&q))99"==U+	
 +	
- -H^ ^^KKa^00F&(+++++r    c                     |                      d           }t          | j        | j                  }t          j        ||           d S )Nc                     | j         S rH   namerh   s    r   rM   z(test_apply_attach_name.<locals>.<lambda>
       r    r   )r:   r   r   r;   r<   r   s      r   test_apply_attach_namerc  	  sJ    //00Fk)1DEEEH68,,,,,r    c                     |                      d d          }t          | j        | j                  }t          j        ||           d S )Nc                     | j         S rH   r`  rh   s    r   rM   z.test_apply_attach_name_axis1.<locals>.<lambda>  rb  r    r   rj   r   )r:   r   r>   r;   r<   r   s      r   test_apply_attach_name_axis1rf    sO    //a88Fk'{/@AAAH68,,,,,r    c                     |                      d           }t          t          j        | j        t          | j                  df          | j        | j                  }t          j        ||           d S )Nc                 P    t          j        | j        t          |                     S rH   r   repeatra  r   rh   s    r   rM   z6test_apply_attach_name_non_reduction.<locals>.<lambda>      163q66)B)B r    r   r>   r   )	r:   r   r   r   r   r   r>   r;   rP   r   s      r   $test_apply_attach_name_non_reductionrm    sv    BBCCF
#c+*;&<&<a%@AA#  H
 &(+++++r    c                                            d d          }t           fd                                 D                       } j        |_        t	          j        ||           d S )Nc                 P    t          j        | j        t          |                     S rH   ri  rh   s    r   rM   z<test_apply_attach_name_non_reduction_axis1.<locals>.<lambda>!  rk  r    r   rj   c              3   r   K   | ]1}t          j        |d          t          j                            V  2dS )r   N)r   rj  r   r   )r   tr@   s     r   	<genexpr>z=test_apply_attach_name_non_reduction_axis1.<locals>.<genexpr>"  sO        67	!A$K/0011     r    )r:   r   
itertuplesr>   r;   r<   r   s   `  r   *test_apply_attach_name_non_reduction_axis1rt     s    BBKKF    ;F;Q;Q;S;S    H !&HN68,,,,,r    c                  
   t          j        g dg dg          } t          ddgddgddgg| d	d
g          }|                    d d          }t          ddgddgddgg| ddg          }t	          j        ||d           d S )N)rp   rp   r   )r   rC   rC   r   r]   r   r\   r   r   col1col2rl  c                 Z    t          t          |           t          |           d          S )N)minmax)r   ry  rz  rh   s    r   rM   z(test_apply_multi_index.<locals>.<lambda>,  s"    vc!ffSVV&D&DEE r    ry  rz  T
check_like)r   from_arraysr   r:   r;   rP   )r>   r{   rA   rB   s       r   test_apply_multi_indexr~  )  s    "OOO___#EFFEAq6Aq6Aq6*%&&AQRRRAWWEEqIIF1a&1a&1a&1PUWWWH&(t<<<<<<r    z	df, dictsr   rT  spameggs)r   r   r]   r   c                    d }|                      |d          }|                      |d          }|                      |          }t          j        ||           t          j        ||            t          j        ||           d S )Nc                 *    |                                  S rH   )to_dictrh   s    r   rM   z!test_apply_dict.<locals>.<lambda>=  s    199;; r    r   r   r   )r:   r;   r<   rP   )r   dictsfnreduce_truereduce_falsereduce_nones         r   test_apply_dictr  1  s     
	B((28(44K88BH855L((2,,K;...,+++;.....r    c                  6   t          dt          ddd          i          } |                     d           }t          j        ||            |                     d           }t          dt          ddd          i          }t          j        ||           d S )	Ndtz
2015-01-01r   zEurope/Brussels)rz   rf   c                     | S rH   rI   rh   s    r   rM   z,test_apply_non_numpy_dtype.<locals>.<lambda>J       r    c                 0    | t          j        d          z   S )N1day)r   	Timedeltarh   s    r   rM   z,test_apply_non_numpy_dtype.<locals>.<lambda>M  s    BL$8$8 8 r    z
2015-01-02)r   r	   r:   r;   rP   r   s      r   test_apply_non_numpy_dtyper  G  s    	D*\1ARSSST	U	UBXXkk""F&"%%%XX8899F	z,6GHHHI H &(+++++r    c                      t          dg did          } |                     d           }t          j        ||            d S )Nr  )rp   r   r   rp   rX   r   c                     | S rH   rI   rh   s    r   rM   z5test_apply_non_numpy_dtype_category.<locals>.<lambda>V  r  r    r   r`   s     r   #test_apply_non_numpy_dtype_categoryr  T  sL    	D.../z	B	B	BBXXkk""F&"%%%%%r    c                      t          ddgddggddg          } t          ddggddgdg          }|                     dg          }t          j        ||           d S )	Nr   r   r]   r   rp   r   ry  r3  rs   r   rB   rA   s      r   test_apply_dup_names_multi_aggr  Z  so    	QFQF#c3Z	8	8	8B1a&C:eWEEEHVVUG__F&(+++++r    opr:   rt   c                    d }t          t          j        d          t          d                    } t	          ||           |d          }t          g dg dg dg dg          }t          j        ||           d S )Nc                 B    d| d         z  d| d         z  d| d         z  gS )Nr]   r   r   r   rI   rows    r   
apply_listz3test_apply_nested_result_axis_1.<locals>.apply_listf  s'    CHa#c(lACL99r    )r\   r\   ABCDr   r   rj   )        r  r  )r   r   zerosr   r   r   r;   r<   )r  r  r   rA   rB   s        r   test_apply_nested_result_axis_1r  c  s    : : : 
28F##T&\\	:	:	:BWR__Za000F	///???OOOL H 68,,,,,r    c                      t          dt          dd          gid          } |                     d           }t          j        ||            |                     d           }t          j        ||            d S )	Nr   2020rd   re   zdatetime64[ns, UTC]r   c                     | S rH   rI   rh   s    r   rM   z7test_apply_noreduction_tzaware_object.<locals>.<lambda>v  ri   r    c                 *    |                                  S rH   )r   rh   s    r   rM   z7test_apply_noreduction_tzaware_object.<locals>.<lambda>x  s    affhh r    rk   rl   s     r   %test_apply_noreduction_tzaware_objectr  q  s    	6e,,,-.6K  H ^^KK((F&(+++^^..//F&(+++++r    c                      t          dg di          } g fd}fd}||fD ]8}d d = |                     |d           t          | j                  k    sJ 9d S )Nrp   r   c                 <                         | j                   d S rH   r   ra  r  namess    r   reducing_functionz8test_apply_function_runs_once.<locals>.reducing_function  s    SXr    c                 <                         | j                   | S rH   r  r  s    r   non_reducing_functionz<test_apply_function_runs_once.<locals>.non_reducing_function  s    SX
r    r   rj   )r   r:   r   r>   )r   r  r  r   r  s       @r   test_apply_function_runs_oncer  |  s     
C#	$	$BE         #$9: ' '!!!H
ARX&&&&&	' 'r    c                    | dk    rt          j        d           t          dg di          }g fd}fd}||fD ]L}d d = |                    || dd	           t	          |j                                                  k    sJ Md S )
Nr"   z8appending to list outside of numba func is not supportedrp   r   c                 2                         |            d S rH   extendr  r   s    r   r  z<test_apply_raw_function_runs_once.<locals>.reducing_function  s    cr    c                 2                         |            | S rH   r  r  s    r   r  z@test_apply_raw_function_runs_once.<locals>.non_reducing_function  s    c
r    Tr   )r*   rE   r3   )r'   r   r   r:   r   rp   to_list)r*   r   r  r  r   r   s        @r   !test_apply_raw_function_runs_oncer    s    NOOO	C#	$	$BF         #$9: . .111I
f$Q777bdllnn-------	. .r    c                      t          t          j        ddg          dg          } t          t          j        ddg          dgt                    }|                     d           }t          j        ||           d S )Ns   abcds   efghcolr   )r   r   c                 ,    |                      d          S )NobjectrY   rh   s    r   rM   z-test_apply_with_byte_string.<locals>.<lambda>  s     2 2 r    )r   r   r   r  r:   r;   rP   r  s      r   test_apply_with_byte_stringr    sz    	28Wg.//%	A	A	AB7G"455wfUUUH XX2233F&(+++++r    valasd   c                      dd dddt           j        g}t          d|id          }|j                             fd          }t           fd|D             d	          }t          j        ||           d S )
Nr  r  cderp   rX   r   c                     | k    S rH   rI   )rK   r  s    r   rM   z/test_apply_category_equalness.<locals>.<lambda>  s    !s( r    c                 \    g | ](}t          j        |          rt          j        n|k    )S rI   )r   isnullr   r   )r   rK   r  s     r   
<listcomp>z1test_apply_category_equalness.<locals>.<listcomp>  s0    AAA!29Q<<	-Q#XAAAr    r`  )r   r   r   rp   r:   r   r;   r<   )r  	df_valuesr   rA   rB   s   `    r   test_apply_category_equalnessr    s     b%7I	C#:	6	6	6BTZZ****++FAAAAyAAA  H 68,,,,,r    c                  P   t          t          j                            d                              d                    } |                     t          j        j        d          j        }|dk    sJ |                     t          j        j        d          j        }|dk    sJ d S )Nr]   )r   r]   r   rj   )r   r]   )r   r   r?  r@  r:   fftr^   rfftr`   s     r   test_infer_row_shaper    s     
29((++227;;	<	<BXXbfjqX))/FWXXbfkX**0FVr    zops, by_row, expectedrp   c                     | dz   S r   rI   rh   s    r   rM   rM     
    Q r    compatc                     | dz   S r   rI   rh   s    r   rM   rM     r  r    c                 *    |                                  S rH   r   rh   s    r   rM   rM          r    c                 *    |                                  S rH   r  rh   s    r   rM   rM     r  r    r   c                 *    |                                  S rH   r  rh   s    r   rM   rM         AEEGG r    )r   r   r   )r   r   <lambda>r   c                 *    |                                  S rH   r  rh   s    r   rM   rM     r  r    c                     dS r   rI   rh   s    r   rM   rM          r    c                     dS r   rI   rh   s    r   rM   rM     r  r    c                     t          dddgi          }|                    | |          }t          j        ||           d S Nrp   r   r]   by_rowr   r:   r;   assert_equalopsr  rB   r   rA   s        r   test_dictlike_lambdar    sF    . 
C!Q=	!	!BXXc&X))FOFH%%%%%r    r  c                     | dz   S r   rI   rh   s    r   rM   rM     s
    A r    c                 *    |                                  S rH   r  rh   s    r   rM   rM     s     r    c                 *    |                                  S rH   r  rh   s    r   rM   rM     s     r    c                     dS r   rI   rh   s    r   rM   rM     s     r    c                     t          dddgi          }t          j        t          d          5  |                    | d           d d d            d S # 1 swxY w Y   d S Nrp   r   r]   zby_row=True not allowedmatchTr  r   r'   raises
ValueErrorr:   r  r   s     r   test_dictlike_lambda_raisesr         
C!Q=	!	!B	z)B	C	C	C # #
T"""# # # # # # # # # # # # # # # # # #   AAAc                  "   t          ddgddggddg          } |                     d d          }t          d |                                 D                       }t	          j        ||           t          d	          t          d
          g| d<   |                     d d          }t	          j        ||           | d         | d         z                       d           }t          ddiddig          }t	          j        ||           d S )Nr   r]   rp   r   r   c                 (    d| d         | d         z   iS Nr{   rp   r   rI   rh   s    r   rM   z,test_with_dictlike_columns.<locals>.<lambda>      afqvo 6 r    rj   c                     g | ]}d diS )r{   r   rI   r   rq  s     r   r  z.test_with_dictlike_columns.<locals>.<listcomp>  s    999AQx999r    2017-05-01 00:00:002017-05-02 00:00:00r;   c                 (    d| d         | d         z   iS r  rI   rh   s    r   rM   z,test_with_dictlike_columns.<locals>.<lambda>  r  r    c                 
    d| iS )Nr{   rI   rh   s    r   rM   z,test_with_dictlike_columns.<locals>.<lambda>  s
    #q r    r{   r   )r   r:   r   rs  r;   r<   r   r   s      r   test_with_dictlike_columnsr    s!   	QFQF#c3Z	8	8	8BXX66QX??F99999::H68,,, 	'(('((BtH XX66QX??F68,,, g3&&'9'9::FQx#q*++H68,,,,,r    c                      t                      } g d| d<   g d| d<   t          j        g dd          | d<   |                     d	 d
          }t	          i i i g          }t          j        ||           d S )N)XYZauthor)BBCNBCN24	publisher)z17-10-2010 07:15:30z13-05-2011 08:20:35z15-01-2013 09:09:09T)dayfirstdatec                     i S rH   rI   rh   s    r   rM   z:test_with_dictlike_columns_with_datetime.<locals>.<lambda>       r    r   rj   )r   r   to_datetimer:   r   r;   r<   r   s      r   (test_with_dictlike_columns_with_datetimer    s    	B"??BxL+++B{OMMM  BvJ XXllX++Fr2rl##H68,,,,,r    c                  X   t          ddgddggddg          } |                     d dd          }t          d	d
d
gi          }t          j        ||           t	          d          t	          d          g| d<   |                     d dd          }t          j        ||           d S )Nr   r]   rp   r   r   c                 (    d| d         | d         z   iS r  rI   rh   s    r   rM   z7test_with_dictlike_columns_with_infer.<locals>.<lambda>  r  r    r   r   r{   r   r  r  r;   c                 (    d| d         | d         z   iS r  rI   rh   s    r   rM   z7test_with_dictlike_columns_with_infer.<locals>.<lambda>&  r  r    )r   r:   r;   rP   r   r   s      r   %test_with_dictlike_columns_with_inferr    s    	QFQF#c3Z	8	8	8BXX66QHXUUF#1v''H&(+++ 	'(('((BtH XX66QHXUUF&(+++++r    c                     | dz   S r   rI   rh   s    r   rM   rM   -  
    AE r    )rp   r  c                     | dz   S r   rI   rh   s    r   rM   rM   .  r  r    c                 *    |                                  S rH   r  rh   s    r   rM   rM   /      AEEGG r    r  c                 *    |                                  S rH   r  rh   s    r   rM   rM   0  r  r    c                 *    |                                  S rH   r  rh   s    r   rM   rM   2      aeegg r    c                 *    |                                  S rH   r  rh   s    r   rM   rM   7  r  r    c                     | dz   S r   rI   rh   s    r   rM   rM   <  s
    q1u r    c                     dS Nr   rI   rh   s    r   rM   rM   <  s     r    r   c                     dS r   rI   rh   s    r   rM   rM   A  r  r    c                     dS r  rI   rh   s    r   rM   rM   A  rr   r    c                     t          dddgi          }|                    | |          }t          j        ||           d S r  r  r  s        r   test_listlike_lambdar   *  sF    > 
C!Q=	!	!BXXc&X))FOFH%%%%%r    c                     | dz   S r   rI   rh   s    r   rM   rM   Q  
    1q5 r    c                 *    |                                  S rH   r  rh   s    r   rM   rM   R  s    15577 r    c                 *    |                                  S rH   r  rh   s    r   rM   rM   S  s    !%%'' r    c                     | dz   S r   rI   rh   s    r   rM   rM   T  r"  r    c                     dS r  rI   rh   s    r   rM   rM   T  rr   r    c                     t          dddgi          }t          j        t          d          5  |                    | d           d d d            d S # 1 swxY w Y   d S r  r  r  s     r   test_listlike_lambda_raisesr(  N  r  r  c            	      z   t          t          t          j                            d                              d                    g dt          ddd          d          } | dd	g                             t          d
          }t          d | dd	g         	                                D                       }t          j        ||           | ddg                             t          d
          }t          d | ddg         	                                D                       }t          j        ||           d S )Nr]   r\   )rp   r   ofwordsz
2016-10-01h)rz   freq)rp   r   r[   rp   r   r   rj   c                 "    g | ]}|d d         S rn   rI   r  s     r   r  z.test_with_listlike_columns.<locals>.<listcomp>i  s     BBBquBBBr    r[   c                 "    g | ]}|d d         S rn   rI   r  s     r   r  z.test_with_listlike_columns.<locals>.<listcomp>m  s     CCCquCCCr    )r   r   r   r?  r@  rA  r	   r:   tuplers  r;   r<   r   s      r   test_with_listlike_columnsr1  ^  s-   		--a00@@CCDD---\13???	
 	

 
B c
^!!%a!00FBBb#sn&?&?&A&ABBBCCH68,,,d_""5q"11FCCb#to&@&@&B&BCCCDDH68,,,,,r    c                  4   t          t          ddgdgg          t          dgddgg          d          } t          j        ddg          | _        |                     d	 d
          }t          g dgg| j                  }t          j        ||           d S )Nrp   r   qzrq  rJ   )r1  j0)r2  j1c                 ,      fd d         D             S )Nc                 (    g | ]}|d          v |S )rL   rI   )r   elr  s     r   r  zOtest_with_listlike_columns_returning_list.<locals>.<lambda>.<locals>.<listcomp>v  s"    "K"K"K"B#c(NN2NNNr    rK   rI   r  s   `r   rM   z;test_with_listlike_columns_returning_list.<locals>.<lambda>v  s     "K"K"K"KC"K"K"K r    r   rj   r   )r   r   r   from_tuplesr>   r:   r;   r<   r   s      r   )test_with_listlike_columns_returning_listr;  q  s    	#scU 3446C53PS*BU;V;VWW	X	XB%|\&BCCBHXXKKRSXTTFrC5k222H68,,,,,r    c                     t          ddgddgt          d          t          d          gd          } |                     d d	
          }t          d |                                 D                       }t          j        ||           d S )Nr   r(  r   rT  z2017-11-29 03:30:00z2017-11-29 03:45:00)numberstringr   c                     | j         | j        fS rH   r=  r>  r  s    r   rM   z1test_infer_output_shape_columns.<locals>.<lambda>  s    3:sz": r    r   rj   c                 *    g | ]}|j         |j        fS rI   r@  r  s     r   r  z3test_infer_output_shape_columns.<locals>.<listcomp>  s!    EEE!(+EEEr    r   r   r:   r   rs  r;   r<   r   s      r   test_infer_output_shape_columnsrC  {  s     
Cjen/00/00	
 	
	
 	
B XX::XCCFEER]]__EEEFFH68,,,,,r    c                     t          t          j                            d                              d          g d          } |                     d d          }t          d |                                 D                       }t          j	        ||           |                     d	 d          }t          d
 |                                 D                       }t          j	        ||           d S )Nr]   )r   r   r   r   c                 
    g dS r   rI   rh   s    r   rM   z:test_infer_output_shape_listlike_columns.<locals>.<lambda>  r   r    r   rj   c                     g | ]}g d S )r   rI   r  s     r   r  z<test_infer_output_shape_listlike_columns.<locals>.<listcomp>  s    :::Qyyy:::r    c                 
    ddgS Nr   r]   rI   rh   s    r   rM   z:test_infer_output_shape_listlike_columns.<locals>.<lambda>  
    A r    c                     g | ]}d dgS r   r]   rI   r  s     r   r  z<test_infer_output_shape_listlike_columns.<locals>.<listcomp>  s    777!1v777r    
r   r   r?  r@  rA  r:   r   rs  r;   r<   r   s      r   (test_infer_output_shape_listlike_columnsrM    s     

	a  0088///
 
 
B XX))X22F::"--//:::;;H68,,,XX&&QX//F77r}}77788H68,,,,,r    c                     t          dg dit          d                    }|                     fdd          }t           fd|                                D             |j                  }t          j        ||           d S )	Nrp   r   r   r   c                 ,    t          j                  S rH   r   ones)r  r  s    r   rM   zBtest_infer_output_shape_listlike_columns_np_func.<locals>.<lambda>  s    "'#,, r    r   rj   c                 8    g | ]}t          j                  S rI   rP  )r   rq  r  s     r   r  zDtest_infer_output_shape_listlike_columns_np_func.<locals>.<listcomp>  s!    ===rws||===r    )r   r   r:   r   rs  r>   r;   r<   )r  r   rA   rB   s   `   r   0test_infer_output_shape_listlike_columns_np_funcrS    s     
C#4;;	7	7	7BXX....QX77F====R]]__===RXNNNH68,,,,,r    c                  ^   t          t          d          t          d          t          d          t          d          gg dg dg dd          } d	 }|                     |d
          }t          d |                                 D                       }t          j        ||           d S )Nz
2010-02-01z
2010-02-04z
2010-02-05z
2010-02-06)r   r   r\   r   )r   r   r\   r]   )r   r]   r   r\   )rp   r   r   rC   c                     dS )NrK  rI   rh   s    r   funzDtest_infer_output_shape_listlike_columns_with_timestamp.<locals>.fun  s    vr    r   rj   c                     g | ]}d S )rK  rI   r  s     r   r  zKtest_infer_output_shape_listlike_columns_with_timestamp.<locals>.<listcomp>  s    777!v777r    rB  )r   rV  rA   rB   s       r   7test_infer_output_shape_listlike_columns_with_timestamprX    s    	 ,'','','',''	 
	
 
	

 
B   XXcX""F77r}}77788H68,,,,,r    lstr   c                 F    t          t          j                            d                              d          g d          }|                     fdd          }t           fd|                                D                       }t          j	        ||           d S )	Nr]   )r\   r   r   r   c                     S rH   rI   )rK   rY  s    r   rM   z3test_consistent_coerce_for_shapes.<locals>.<lambda>  s     r    r   rj   c                     g | ]}S rI   rI   )r   rq  rY  s     r   r  z5test_consistent_coerce_for_shapes.<locals>.<listcomp>  s    444qs444r    rL  )rY  r   rA   rB   s   `   r   !test_consistent_coerce_for_shapesr]    s     

	a  0088///
 
 
B XXmmmm!X,,F4444BMMOO44455H68,,,,,r    c                    | }|                     d d          }|                     dddd          }t          j        ||           |                     d	 d          }|ddg         }t          j        ||           d S )
Nc                 ,    t          g dg d          S )Nr   )testothercolsr   r   rh   s    r   rM   z'test_consistent_names.<locals>.<lambda>  s    &*C*C*CDDD r    r   rj   r`  ra  rb  r   r   c                 ,    t          ddgddg          S )Nr   r]   r`  ra  r   rc  rh   s    r   rM   z'test_consistent_names.<locals>.<lambda>  s    1vfg5F G G G r    )r:   renamer;   rP   r   s       r   test_consistent_namesrf    s    	BXXDD1   F #))788 *  H &(+++XXGGaXPPF)*H&(+++++r    c                     | }|                     d dd          }|                                }g d|_        t          j        ||           d S )Nc                 
    g dS r   rI   rh   s    r   rM   z"test_result_type.<locals>.<lambda>  r   r    r   r   r   r   r   r]   r:   r   r   r;   rP   r   s       r   test_result_typerk    sV     
BXX))xXHHFwwyyH yyH&(+++++r    c                     | }|                     d dd          }|ddg                                         }ddg|_        t          j        ||           d S )Nc                 
    ddgS rH  rI   rh   s    r   rM   z/test_result_type_shorter_list.<locals>.<lambda>  rI  r    r   r   r   r   r   r   rj  r   s       r   test_result_type_shorter_listrn    sb     
BXX&&QHXEEF3*~""$$H1vH&(+++++r    c                    |dk    r:t           j                            d          }|j                            |           | }|                    d dd|          }|                                }t          j        ||           d S )Nr"   z(numba engine doesn't support list returnr,   c                 
    g dS r   rI   rh   s    r   rM   z,test_result_type_broadcast.<locals>.<lambda>  s
    ))) r    r   r   r3   r   r*   	r'   r4   r5   r6   r7   r:   r   r;   rP   )r   r)   r*   r4   r   rA   rB   s          r   test_result_type_broadcastrs    s     {  (R SS%%%	BXX!V   F wwyyH&(+++++r    c                    |dk    r:t           j                            d          }|j                            |           | }g d|                    fddd|          }|                                }t          j        ||           d S )	Nr"   <numba Series constructor only support ndarrays not list datar,   ra  r  r  c                 *    t          g d          S Nr   r   rc  rK   r   s    r   rM   z8test_result_type_broadcast_series_func.<locals>.<lambda>  s    &'222 r    r   r   rq  rr  r   r*   r)   r4   r   rA   rB   r   s          @r   &test_result_type_broadcast_series_funcr{    s     {  Q ! 
 
 	%%%	B'''GXX2222	   F wwyyH&(+++++r    c                    |dk    r:t           j                            d          }|j                            |           | }|                    d d|          }|                                }t          j        ||           d S )Nr"   ru  r,   c                 2    t          g d| j                  S rx  )r   r>   rh   s    r   rM   z0test_result_type_series_result.<locals>.<lambda>  s    yyy @ @ @ r    r   r2   rr  )r   r*   r)   r4   r   rA   rB   s          r   test_result_type_series_resultr~    s     {  Q ! 
 
 	%%%	BXX@@qQWXXXFwwyyH&(+++++r    c                 *   |dk    r:t           j                            d          }|j                            |           | }g d|                    fdd|          }|                                }|_        t          j	        ||           d S )Nr"   z:no support in numba Series constructor for list of columnsr,   rv  c                 *    t          g d          S rx  rc  ry  s    r   rM   z<test_result_type_series_result_other_index.<locals>.<lambda>0  s    yyy @ @ @ r    r   r2   )
r'   r4   r5   r6   r7   r:   r   r   r;   rP   rz  s          @r   *test_result_type_series_result_other_indexr  $  s     {  O ! 
 
 	%%%	B'''GXX@@@@qQWXXXFwwyyHH&(+++++r    boxc                      t          |           S rH   )r   rh   s    r   rM   rM   8  s    tAww r    c                      t          |           S rH   )r0  rh   s    r   rM   rM   8  s    %(( r    c                 .    t          j        | d          S )Nr   r   )r   r   rh   s    r   rM   rM   8  s    bhq6P6P6P r    )r   r0  r   c                 f    |}|                      fdd          }t           fd|                                D                       }t          j        ||           |                      fddd          }|dd	g                             d
dd          }t          j        ||           d S )Nc                      ddg          S rH  rI   rK   r  s    r   rM   z,test_consistency_for_boxed.<locals>.<lambda>?      QF r    r   rj   c                 *    g | ]} d dg          S rK  rI   )r   rq  r  s     r   r  z.test_consistency_for_boxed.<locals>.<listcomp>@  s%    <<<qssAq6{{<<<r    c                      ddg          S rH  rI   r  s    r   rM   z,test_consistency_for_boxed.<locals>.<lambda>C  r  r    r   r   r   r   r   r}   r   )r:   r   rs  r;   r<   re  rP   )r  r   r   rA   rB   s   `    r   test_consistency_for_boxedr  6  s     
BXX++++!X44F<<<<BMMOO<<<==H68,,,XX++++!XJJF"C:.55AA>N>N5OOH&(+++++r    c                    | dv rdnd}t          j        d          5  t          j        |          }t          j        |          }|                                }|                    t           j        |           }t          j        ||           |                    t           j        g|           }|                                }| dv r"t          j	        |j
        dgg          |_
        n!t          j	        |j        dgg          |_        t          j        ||           |                    t           j        t           j        g|           }t          ||g|          }| dv r#t          j	        |j
        ddgg          |_
        n"t          j	        |j        ddgg          |_        t          j        ||           d d d            d S # 1 swxY w Y   d S )	N   r>   r   r   r   r.   r/   rj   r9   absolute)r   r8   absr9   r   r:   r;   rP   r   from_productr   r>   r
   )r3   r@   
other_axisf_absf_sqrtrB   rA   s          r   test_agg_transformr  H  s   l**J		"	"	" 0 0{##%% ;;==""27"66
fh/// ""BG94"88;;==<)68KfX7VWWH'4k6G&5RSSHN
fh///
 ""BFBG#44"@@ufoJ???<)6$z6&:;   H (4"Z$89 HN 	fh///?0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0s   F#GGGc                      t          t          d          dd          } |                     ddg          }t          ddgddgdddgddg	          }t          j        ||           d S )
Nr   r}   ry  rz  r   r\   r   r   r3  )r   r   rt   r;   rP   r   s      r   	test_demor  m  s    	q**	+	+BVVUEN##F!fAq6""S#Juen  H &(+++++r    c                  2   t          t          d          dd          } |                     ddgddgd          }t          ddt          j        gdt          j        d	gdd
dgg d          }t          j        |                    |          |           d S )Nr   r}   ry  rz  r         @r        @g      9@r   r   )rz  ry  r   r3  )r   r   rt   r   r   r;   rP   reindex_liker   s      r   test_demo_dict_aggr  x  s    	q**	+	+BVV5%.u~>>??FC RVT':;;c
###  H
 &--h77BBBBBr    c                  4   dddgi} t          |           }|                    ddi          }t          ddi          }t          j        ||           |d                             ddi          }t          ddid          }t          j        ||           d S )Nra  r   rT  countr]   r`  )r   rt   r   r;   r<   )ru   r   rA   rB   s       r   !test_agg_with_name_as_column_namer    s    UEN#D	4B VVVW%&&Fvqk""H68,,, Z^^VW-..Fvqk///H68,,,,,r    c                  p   t          g dg dg dd          } t          ddgddgd	d
gdddg          }|                     ddg          }t          j        ||           | g d                             ddg          }|g d                             ddg          }t          j        ||           d S )Nr   r   r(        @r   rT  bazr   r   r   r         @rT  	foobarbazry  r   r   )r   r   r   )r   rt   r;   rP   reindex)mdfrB   rA   s      r   test_agg_multiple_mixedr    s    
 &&&	
 	
 C Qs%	
 	

 en  H WWeU^$$F&(+++!%%uen55F (00%@@H&(+++++r    c            	         t          g dg dg dt          dd          d          } d}t          j        t          |	          5  |                     d
dg           d d d            n# 1 swxY w Y   t          j        t          |	          5  | g d                             dd
g           d d d            d S # 1 swxY w Y   d S )Nr   r  r  rx   r   ry   r   r   r   rS   does not support reductionr  ry  r   )rS   r   r   r   )r   r	   r'   r  	TypeErrorrt   )r  msgs     r   test_agg_multiple_mixed_raisesr    sh   
 &&&J222		
 	
 C 'C	y	,	,	,                                  
y	,	,	, 6 6   !%%uen5556 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6s$   A++A/2A/ B>>CCc                    | dv rdnd}|j         |                                         d d                                         \  }}t          j        |                    |           |                    |           |                    |           gd          }g d|_        | dv r|j	        n|}|
                    g d|           }t          j        ||           |d|di}|
                    ||           }t          |                    |          |                                         |                    |          |                                         g||g	          }t          j        ||           |dg|dgi}|
                    ||           }t!          |t          |                    |          |                                         gdg	          |t          |                    |          |                                         gdg	          i          }| d
v r|j	        n|}t          j        ||           |ddg|ddgi}|
                    ||           }t          j        |t          |                    |          |                                         |                    |          |                                         gddg	          |t          |                    |          |                                         |                    |          |                                         gddg	          id          }| d
v r|j	        n|}t          j        ||           d S )Nr  r   r   r]   rj   )r=   rz  r   r=   r   r   >   r   r   rz  )axesuniquesort_valuesr   concatr=   rz  r   r   r   rt   r;   rP   r   r   r<   r   )r3   r@   r  name1name2rB   rA   r   s           r   test_agg_reducer    s   l**J#J/6688!<HHJJLE5 y$''OOO&&OOO&&	

   H .--H!\11xzzxH__333$_??F&(+++ 65%(D__T_--FOOJ''.3355OOJ''.2244	
 en  H 68,,, F8UUG,D__T_--F6;??:66u=BBDDEfXVVV6;??:66u=AACCDUGTTT	
 H "^33xzzH&(+++ FE?EE5>:D__T_--Fy6OOJ//6;;==OOJ//6::<< uo   6OOJ//6::<<OOJ//6::<< en  	
  #  H& "^33xzzH&(+++++r    c            	         t          g dg dg dt          dd          d          } |                     d          }t          d	d
dt	          d          g| j                  }t          j        ||           |                     dg          }t          d	d
dt	          d                              d          ggdg| j                  }t          j	        ||           d}t          j        t          |          5  |                     d           d d d            n# 1 swxY w Y   | g d                             d          }t          g dg d          }t          j        ||           d}t          j        t          |          5  |                     dg           d d d            d S # 1 swxY w Y   d S )Nr   r  r  rx   r   ry   r  ry  r   r   rT  r   nsrl  r  r  r   r   )r   r  r  )r   r	   rt   r   r   r   r;   r<   as_unitrP   r'   r  r  )r   rA   rB   r  s       r   test_nuiscance_columnsr  	  sO   	 &&&J222		
 	

 
B VVE]]Fq#ui
&;&;<BJOOOH68,,,VVUG__F
S%:..66t<<	=>g
  H
 &(+++
&C	y	,	,	,  
u                $$U++F+++???CCCH68,,,
&C	y	,	,	,  
w                 s$    D""D&)D&F55F9<F9howc                    t          g ddt          j        dgg dd          } t          ||           ddi          }t	          ddi          }t          j        ||            t          ||           dd	i          }t	          dd
i          }t          j        ||            t          ||           dd	g          } t          ||           dd	gdd	gdd	gd          }t          dd
ddd
ddd
dd          }t          j        ||d           t          j        ||d            t          ||           d          }|                                }t          j        ||           d S )NNr]   r   r   r  r   NrT  r   r   r  r]   sizer   )r  r  Tr{  )	r   r   r   r   r   r;   r<   rP   r  )r  r   rA   rB   result1result2s         r   test_non_callable_aggregatesr  -  s    
ll#rvs!3:N:N:NOO
 
B
 WRsGn--FsAhH68,,, WRsFm,,FsAhH68,,, gb#011Ggb#w&7w>OPP G a((a((a((	
 	
 H '7t<<<<'8==== WRg&&FxxzzH68,,,,,r    c                 <   t          g ddt          j        dgg dd          } t          ||           d|          }|dv r"t	          |j        d	         |j        
          }n!t	          |j        d         |j        
          }t          j	        ||           d S )Nr  r   r  r  r   r  rj   )r   r>   r   r   r   )
r   r   r   r   r   r^   r   r>   r;   r<   )r  r3   r   rA   rB   s        r   test_size_as_strr  Z  s     
ll#rvs!3:N:N:NOO
 
B
 WRf4000F|"(1+RZ888"(1+RX66668,,,,,r    c                  h   t          g ddt          j        dgg dd          } d }|                     |          }t	          ddgdgdd	ggg d
          }t          j        ||           |                     |g          }|                    d          j        }t          j	        ||           d S )N)r]   r]   r   g      ?r  r   c                 h    t          |                                                                           S rH   )r   dropnar  )	group_cols    r   r   z&test_agg_listlike_result.<locals>.funcn  s(    I$$&&--//000r    r]   r   r   rT  r   r   )
r   r   r   rt   r   r;   r<   to_framer   rP   )r   r   rA   rB   s       r   test_agg_listlike_resultr  j  s    	#rvs);BVBVBVWW	X	XB1 1 1 VVD\\F1vuuen5___MMMH68,,,VVTF^^F  ((*H&(+++++r    zargs, kwargs)r   r      rK  rN   r   rI   rp   r   r   c                     dd}t          ddgddgg          }| dk    rt          ddg          }nt          d	d
g          } |j        || g|R i |}t          j        ||           d S )Nr   c                 <    |                                  ||z   |z  z   S rH   r  )rK   rp   r   r   s       r   rP  ztest_agg_args_kwargs.<locals>.f  s    uuww!a%1$$r    r   r]   r\   r   r  g      @r  g       @)r   r   r   rt   r;   r<   )r3   rO   kwargsrP  r   rB   rA   s          r   test_agg_args_kwargsr  z  s    % % % % 
QFQF#	$	$Bqyy3*%%3*%%RVAt-d---f--F68,,,,,r    num_cols)r]   r   r   c                 l   |dk    r:t           j                            d          }|j                            |           t          j        g d          }|                                }t          d|t          |                     }|
                    d |           |j        |j        k    sJ d S )	Nr"   z*numba engine only supports numeric indicesr,   )z
1950-06-30z
1952-10-24z
1953-05-29r   rl  c                     | S rH   rI   rh   s    r   rM   z,test_frequency_is_original.<locals>.<lambda>  r  r    r1   )r'   r4   r5   r6   r7   r   DatetimeIndexr   r   r   r:   r-  )r  r*   r)   r4   r>   originalr   s          r   test_frequency_is_originalr    s     {  (T UU%%%GGGHHEzz||H	1E5??	;	;	;BHH[[H(((:&&&&&&r    c                    | dk    r:t           j                            d          }|j                            |           t          dd          t          dd          t          dd          g}t          g d	|
          }|                    d d|           }t          ||          }t          j
        ||           d S )Nr"   z0numba engine doesn't support non-numeric indexesr,   z2019-03-15 12:34:31.909000+0000rd   re   z2019-03-15 12:34:34.359000+0000z2019-03-15 12:34:34.660000+0000ri  )ru   r>   c                     | j         S rH   r`  rh   s    r   rM   z.test_apply_datetime_tz_issue.<locals>.<lambda>  s     r    r   r2   )r>   ru   )r'   r4   r5   r6   r7   r   r   r:   r   r;   r<   )r*   r)   r4   
timestampsr   rA   rB   s          r   test_apply_datetime_tz_issuer    s     {  E ! 
 
 	%%% 	3>>>3>>>3>>>J
 
				4	4	4BXX&&QvX>>FJZ888H68,,,,,r    r   r   rC   r}   method)ry  rz  r   c                     |dk    rd}nd}|sNt          j        t          |          5   t          | |                       d d d            d S # 1 swxY w Y   d S  t          | |                       d S )Nr   z>can only concatenate str \(not "int"\) to str|does not supportz4not supported between instances of 'str' and 'float'r  )r'   r  r  r   )r   r  using_infer_stringr  s       r   test_mixed_column_raisesr    s     OD ]9C000 	" 	"GB!!!	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	Fs   AAAr  r   c                     t          d| ggddg          }|                    d           }|j        }t          j        ||           d S )Nr   rp   r   r   c                     | j         S rH   r   rh   s    r   rM   z"test_apply_dtype.<locals>.<lambda>  s     r    )r   r:   dtypesr;   r<   )r  r   rA   rB   s       r   test_apply_dtyper    sU     
S#J<#s	4	4	4BXX''((FyH68,,,,,r    c                    t          t          d          t          dd          d          }|                                }d }|                                }|dxx         dz  cc<   t          j        |          5  |                    |d          }d d d            n# 1 swxY w Y   t          j        ||           |s| rt          j        ||           d S t          j        ||           d S )Nd      r  c                 T    | j         }| j        dxx         dz  cc<   | j         |usJ | S )Nrp   r   )_mgrr   )r  mgrs     r   r   z!test_apply_mutating.<locals>.func  s9    hxs""""
r    rp   r   rj   )r   r   r   r;   assert_cow_warningr:   rP   )using_array_managerusing_copy_on_writewarn_copy_on_writer   df_origr   rB   rA   s           r   test_apply_mutatingr    s;   	s%S//::	;	;BggiiG   wwyyHSMMMQMMM		1	2	2 ( ($Q''( ( ( ( ( ( ( ( ( ( ( ( ( ( ( &(+++ *1 * 	b'*****
b&)))))s   =B!!B%(B%c                      t          ddgddgddgddgd	d
ggddg          } |                     d d          }t          g g dt                    }t	          j        ||           d S )Nr   r]   r   r\   r   r   r   r   r   r   rp   r   r   c                     g S rH   rI   rh   s    r   rM   z.test_apply_empty_list_reduce.<locals>.<lambda>  r
  r    r   r   r  r   )r   r:   r   r  r;   r<   r   s      r   test_apply_empty_list_reducer    s    	QFQFQFQFQG<sCj	Q	Q	QBXXllX99FBR((777H68,,,,,r    c                 N   | dk    r:t           j                            d          }|j                            |           t          ddggdz  ddg	          }|                    d
d d g|           }t          g dg ddg d          }t          j        ||           d S )Nr"   z;numba engine doesn't support list-likes/dict-like callablesr,   r\   r   r   r   r   r   r   c                 *    |                                  S rH   r  rh   s    r   rM   z,test_apply_no_suffix_index.<locals>.<lambda>  s     r    c                 *    |                                  S rH   r  rh   s    r   rM   z,test_apply_no_suffix_index.<locals>.<lambda>  s    AEEGG r    r1   )r  r  r  )   r  r  r}   )r   r  r  r   )	r'   r4   r5   r6   r7   r   r:   r;   rP   )r*   r)   r4   pdfrA   rB   s         r   test_apply_no_suffix_indexr    s    {  P ! 
 
 	%%%
aVHqL3*
5
5
5CYY002C2CDVYTTFll..6U6U6U  H &(+++++r    c                     | dk    rt          j        d           t          dddgi          }|                    d | dd	          }t	          ddg          }t          j        ||           d S )
Nr"   z No object dtype support in numbar   aabbbc                     | d         S r   rI   rh   s    r   rM   z/test_apply_raw_returns_string.<locals>.<lambda>  r   r    r   T)r*   r3   rE   )r'   r   r   r:   r   r;   r<   r*   r   rA   rB   s       r   test_apply_raw_returns_stringr    sy    6777	C$'	(	(BXXnnV!XFFFtUm$$H68,,,,,r    c                      t          g dd          } d }d|ddg}|                     |          }t          g dg d	g d
dg d          }t          j        ||           d S )N))r   r   r   )r]   r   r   )r   r   r   )r\   r   r\   )r   r   r   )r   r   r   )att1att2att3r   c                 0    |                                  dz  S r   r  r   s    r   sum_div2z4test_aggregation_func_column_order.<locals>.sum_div2  s    uuww{r    r   r  ry  )g      5@g      %@r  r   )g      2@g      "@r  r  )g      1@g      !@r  r  )r   r  r  ry  r   rs   )r   r  aggsrA   rB   s        r   "test_aggregation_func_column_orderr    s     
	
 	
 	
 )

 

 

B   8We,DVVD\\F***))))))	
 	

 211  H &(+++++r    c                 @   | dk    r:t           j                            d          }|j                            |           t          g dg dd          }|ddg                             d d	| 
          }t          g d          }t          j	        ||           d S )Nr"   z2numba engine not supporting duplicate index valuesr,   ri  r   r  rp   c                 8    | j         d         | j         d         z   S )Nr   r   )r-  rh   s    r   rM   z+test_apply_getitem_axis_1.<locals>.<lambda>8  s    !&)afQi' r    r   r2   )r   r]   r\   )
r'   r4   r5   r6   r7   r   r:   r   r;   r<   )r*   r)   r4   r   rA   rB   s         r   test_apply_getitem_axis_1r
  /  s    {  G ! 
 
 	%%%	33	4	4Bc
^!!''a "  F iii  H68,,,,,r    c                      d } t          dg di          }t          j        t          d          5  |                    | g           d d d            d S # 1 swxY w Y   d S )Nc                 R    t          j        d           |                                 S )NHello, World!)warningswarnr   rh   s    r   expected_warningzDtest_nuisance_depr_passes_through_warnings.<locals>.expected_warningF  s    o&&&uuwwr    rp   r   r  r  )r   r;   assert_produces_warningUserWarningrt   )r  r   s     r   *test_nuisance_depr_passes_through_warningsr  >  s       
C#	$	$B		#K	G	G	G # #
 !"""# # # # # # # # # # # # # # # # # #s   AAAc            	         t          ddt          gdt          ddd          t          j        gdg d          } |                     t          d	
          }t          t          t          d          }t          j	        ||           |                     t          d
          }t          t          t          t          d          }t          j	        ||           d S )Nr   r>  g      ?i  r   )rv  rw  r   r   r   rj   )
r   r   r   r   r   r:   typer   r;   r<   r   s      r   test_apply_typer  O  s    	Xu%htQ6J6JBF/STToo
 
 
B XXdX##Fvv6677H68,,, XXdX##FFf==>>H68,,,,,r    c                     t          ddgddgd          }|                    d                              d d|           }t          g t          j                  }t          j        ||           d S )	Nr   r]   r   r   r  c                 :    t          | d         | d                   S )Nrp   r   )rz  rh   s    r   rM   z/test_apply_on_empty_dataframe.<locals>.<lambda>d  s    AcFAcF(;(; r    r2   r   )r   headr:   r   r   r   r;   r<   r  s       r   test_apply_on_empty_dataframer  a  st    	!Qq!f--	.	.BWWQZZ;;!FSSFb
+++H68,,,,,r    c                      t          ddgddgd          } |                     d           }t          ddggddggd          }t          j        ||           d S )Nr   r]   r   r  c                     | j         gS rH   )r   rh   s    r   rM   z(test_apply_return_list.<locals>.<lambda>k  s
    
 r    r   r   s      r   test_apply_return_listr  i  sn    	!Qq!f--	.	.BXX**++FAx1vh7788H&(+++++r    ztest, constant)r   r   r   )r]   r]   r]   c                     t          |           }t          |ddgd          }ddd}|                    |          }t          j        ||           d S )Nrp   r   r  )ru   r>   r   r  r  r  )r`  constantdf1rB   aggregationrA   s         r   test_unique_agg_type_is_seriesr"  p  s^     D//C8C:XFFFH x00KWW[!!F68,,,,,r    c                  Z   t          g dg dg dd          } t          g d          }t          j        |                     d          |           |                     dd          }t          j        ||           |                     dd          }t          j        ||           d S )	N)r   r]   r   )r   r]   r   )r   r   r   r   )TTFr   rj   r   )r   r   r;   r<   r   r:   r  s      r   /test_any_apply_keyword_non_zero_axis_regressionr$    s    	CC	D	DB)))**H266q6>>8444XXe!X$$F68,,,XXeQF68,,,,,r    c                     t          dg di          } dd}dd}|                     |ddd	
          }| dz   }t          j        ||           d}t          j        t
          |          5  |                     ||gddd	
          }d d d            n# 1 swxY w Y   t          ddgddgddggddgddgg          }t          j        ||           t          j        t
          |          5  |                     d|iddd	
          }d d d            n# 1 swxY w Y   t          g ddg          }t          j        ||           d S )NrK   r   r   r   c                     | |z   |z   S rH   rI   )rK   rp   r   s      r   foo1z.test_agg_mapping_func_deprecated.<locals>.foo1      1uqyr    r]   c                     | |z   |z   S rH   rI   )rK   r   r   s      r   foo2z.test_agg_mapping_func_deprecated.<locals>.foo2  r(  r    r   r\   )r   r   z+using .+ in Series.agg cannot aggregate andr  r   r   r   r'  r*  r   )r]   r   r\   )r   r   )r]   r   )r   rt   r;   rP   r  FutureWarning)r   r'  r*  rA   rB   r  s         r    test_agg_mapping_func_deprecatedr,    s   	C#	$	$B       VVD!Q!V$$FAvH&(+++
7C		#M	=	=	= 1 1taa001 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Q!Q"b"c3Z&&9I,J  H &(+++ 
	#M	=	=	= 0 0dQQ//0 0 0 0 0 0 0 0 0 0 0 0 0 0 0SE222H&(+++++s$   ,BBB/DDDc                  r   t          t          j        d                              dd          ddg          } t	          j        t          d          5  |                     t          j                  }d d d            n# 1 swxY w Y   t          d	d	d
t                    }t	          j        ||           t	          j        t          d          5  |                     t          j        g          }d d d            n# 1 swxY w Y   t          d	d	d
dg          }t	          j        ||           d S )Nr   r   r]   r   r   r   zusing DataFrame.stdr  r(  r}   r   zusing Series.stdstdr   )r   r   r   r   r;   r  r+  rt   r.  r   r   r<   rP   r   s      r   test_agg_stdr/    s   	29Q<<''1--Sz	B	B	BB		#M9N	O	O	O                                 Cc**%888H68,,,		#M9K	L	L	L " "!!" " " " " " " " " " " " " " "s--eW===H&(+++++s$    BBB!DD	Dc                      t          g ddt          j        dgg dd          } g d| _        |                     ddi          }| d                                         }t          j        ||           d S )	Nr  r   r  r  r   )r   r   r   r   r  )r   r   r   r   rt   r  r;   r<   r   s      r   (test_agg_dist_like_and_nonunique_columnsr1    s~    	ll#rvs!3:N:N:NOO
 
B !BJVVS'N##F#w}}H68,,,,,r    )r   r  numpyr   r'   pandas.core.dtypes.dtypesr   pandasr   r   r   r   r   r	   pandas._testing_testingr;   pandas.tests.frame.commonr
   fixturer   r&   r4   
single_cpur*   rD   parametrizerQ   ra   rm   rv   r   r9   r=   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  filterwarningsr  r  r  r!  r)  r+  r/  r5  rC  rR  r]  rc  rf  rm  rt  r~  r  r  r  r  r  r  r  r  r  r   r  r  r   r  r  r  r  r  r   r(  r1  r;  rC  rM  rS  rX  r]  rf  rk  rn  rs  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"  r$  r,  r/  r1  rI   r    r   <module>r<     s               6 6 6 6 6 6                        0 0 0 0 0 0 
 
 
 ,&,wfk>T"U"U"UVWWW  XW1 1 1, !Q((u.., , /. )(,< < <, , , $$aS))*YY|-N-N-NPT,UV , ,	 ,
, 
, 
, "'27!344  54	- 	- 	-, , ,  , !>!>!>??- - @?-
- 
- 
-- - -, , ,, , ,, , ,"
, 
, 
,& & &, , , !Q((G G )(G !Q((- - )(-, , , !Q((> > )(>,  - - -- - - 455344
[[,,-J3G    u..!Q((1 1 )( /.  54 651 ) ) ), , ,- - -, , ,/ / /
- - -
- 
- 
-	, 	, 	,- - -D1, 1, 1,h- - -- - -, , ,- - -= = =  Iu~'7899F&))u+@+@ABB	
 
QFQF#	$	$ff!llaLL-I&J&JK	 		/ 	/	 		/
, 
, 
,& & &, , , /00
- 
- 10
-, , ,' ' '(. . .,, , , D"& 9::	- 	- ;:	-"   
	99cAq6]+C+CD
			3A-(@(@A
  	!8VVS!H-=-=>
  	!5&&#q*:*:;5"&"3"345IsIII&.H.H.HIII	
 5"&"3"345IsIII&.H.H.HIII	

 {{	Xyy#1v'?'?@
{{	UFFC8$4$45! *& &+ *& 		oo	 	ubf//01	kk	 # # #- - -(- - -, , , 
/	Hii1BQF0K&L&LM
/	E99.?!Q-H#I#IJ

	h		3*ZL(Q(Q(QR

	eYYaSz*%N%N%NOBF--.IsIII&.H.H.HIII	
 BF--.IsIII&.H.H.HIII	
 _kk*I1v1v&#sj*=U0VWWW	
 [++&IsQFmj*%=>>	
) :& &; :& 					))*	++&	 # # #- - -&- - -- - -$- - -  A''- - ('-- - -0 QF 344	- 	- 54	-, , ,", , ,, , ,, , ,, , ,(, , ,, , ,$ 	**,P,PQ"""   

, 
, 

,"0 "0 "0J, , ,	C 	C 	C- - - , , ,86 6 6(B, B, B,J! ! !H  011)- )- 21)-X  011- - 21-, , ,  !Q((	B	R		Qx	11	11	111%%& - -  )(-  YYY//	' 	' 0/	'- - -* 		d3**M*M N NOPP#8#8#899
 
 :9 QP
 CsBF ;<<- - =<-* * *6- - -, , , - - -, , ,>- - -# # #"- - -$- - -, , , yyyyy	)	)!+E+EFyyyyy	)	)!A3+?+?@ - - -
- 
- 
-, , ,>, , ,	- 	- 	- 	- 	-r    