
    m*i                     p   S SK JrJ r   S SKrS SKrS SKJr  S SKrS SKJ	r	J
r
JrJrJr  S SKJr  S SKJr  S rS rS rS	 rS
 r\R0                  R3                  S\	" / SQ/ SQS.5      / SQ4\	" / SQ/ SQS.5      S S/4\	" SS/05      S/4\	" / SQ\" S5      S.5      SS/4\	" / SQ/ SQS.5      / SQ4\	" \" S5      / SQ/ SQS.5      / SQ4\	" / SQ/ SQ// SQS 9SS/4// S!QS"9S# 5       rS$ rS% r\R0                  R3                  S&S' S( S) S* /5      S+ 5       rS, r S- r!S. r"S/ r#S0 r$S1 r%S2 r&S3 r'S4 r(S5 r)S6 r*\R0                  R3                  S7S8S9/5      S: 5       r+S; r,S< r-S= r.S> r/S? r0\R0                  R3                  S@S8S9/5      SA 5       r1SB r2SC r3SD r4SE r5SF r6SG r7SH r8SI r9SJ r:SK r;SL r<SM r=\R0                  R3                  SN\ R|                  " 5       \ R|                  " 5       R                  5       \ R|                  " 5       R                  5       /5      SO 5       r@SP rA\R0                  R3                  SQS9S8/5      SR 5       rBSS rC\R0                  R3                  ST\R                  " \" SU5      5      \R                  " S SV5      \R                  " SWSVSXSY9\R                  " / SZQ5      /5      S[ 5       rH\R0                  R3                  S\S] S S/SSV//4S^ S S1SSV1/4S_ S`Sa/4Sb S SS`.SSVS`./4Sc S S 0SS0/S S0SSV0//4/5      Sd 5       rISe rJ\R0                  R3                  SfSg Sh /5      Si 5       rKSj rL\R0                  R3                  SkSl Sm /5      \R0                  R3                  S7S8S9/5      Sn 5       5       rMSo rNSp rOSq rPSr rQSs rR\R0                  R3                  StS8S9/5      Su 5       rS\R0                  R3                  Sv\R                  " S9\	" / SwQ/ SxQ/\
" / SyQ\USz9S 9\R0                  R                  \" 5       S{S|9S}9S8\" SS/\R                  " S~S/SS/S9S9//5      S 5       rWS rXS rYS rZS r[\R0                  R3                  StS8S9/5      S 5       r\S r]\R0                  R3                  S/ SQ/ SQ/5      S 5       r^\R0                  R3                  S/ SQ/ SQ// SQ/ SQ// SQ/ SQ//5      S 5       r_\R0                  R3                  SS8/0 4/ SS804/5      S 5       r`\R0                  R3                  SSS/5      S 5       ra\R0                  R3                  SSS 4SS 4SSS/5      S 5       rb\R0                  R3                  SS8S9/5      S 5       rc\R0                  R3                  S\d\e\f/5      \R0                  R3                  SSSS//5      S 5       5       rgg)    )datedatetimeN)using_string_dtype)	DataFrameIndex
MultiIndexSeriesbdate_range)get_groupby_method_argsc                    ^ [        S[        [        S5      5      S-  S/S9R                  5       n / mU4S jnSn[        R
                  " [        US9   U R                  S5      R                  U5        S S S 5        [        S/S-  S/S-  S	.[        R                  " SS
S5      S9n[        R                  " TS   U5        g ! , (       d  f       NT= f)N   
   r   )indexcolumnsc                 (   > TR                  U 5        g N)append)groupgroupss    _/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/pandas/tests/groupby/test_apply.pystoreFtest_apply_func_that_appends_group_to_list_without_copy.<locals>.store   s    e    7DataFrameGroupBy.apply operated on the grouping columnsmatchr   )r   r   d   r   )r   listrangereset_indextmassert_produces_warningFutureWarninggroupbyapplypd
RangeIndexassert_frame_equal)dfr   msgexpected_valuer   s       @r   7test_apply_func_that_appends_group_to_list_without_copyr-      s     
1DrOb01#	>	J	J	LBF DC		#	#M	=


7!!%( 
>#(sRx(ab0IN &)^4 
>	=s   !C
Cc                 \   / SQn[        S/ SQ0[        [        R                  " U5      SS9S9nUR	                  UR
                  R                  5      R                  5       nUR	                  UR
                  R                  5      R                  S 5      n[        R                  " XC5        g )Nz2011-05-16 00:00z2011-05-16 01:00z2011-05-16 02:00z2011-05-16 03:00z2011-05-17 02:00z2011-05-17 03:00z2011-05-17 04:00z2011-05-17 05:00z2011-05-18 02:00z2011-05-18 03:00z2011-05-18 04:00z2011-05-18 05:00value	/?ݓ?Q?j?r2   r3   r4   r5   r2   r3   r4   r5   	date_timenamer   c                 "    U R                  5       $ r   idxmaxxs    r   <lambda>'test_apply_index_date.<locals>.<lambda>N   s
    qxxzr   )r   r   r'   to_datetimer%   r   r   r;   r&   r"   r)   )using_infer_stringtsr*   expectedresults        r   test_apply_index_daterE   *   s    
B 
 	
  BNN2&[9#
B& zz"((--(//1HZZ&,,-ABF&+r   c                     / SQn [        U  Vs/ s H  oR                  5       PM     snSS/S9n/ SQUS'   [        / SQSS9n[        / S	QUS
9nSn[        R
                  " [        US9   UR                  SSS9R                  S 5      nS S S 5        [        R                  " WU5        g s  snf ! , (       d  f       N+= f)Nr/   r   timer   r1   r0   )z
2011-05-16z
2011-05-17z
2011-05-18r7   )z00:0002:00rI   r   r   r   F
group_keysc                 4    U S   U S   R                  5          $ )NrG   r0   r:   r<   s    r   r>   .test_apply_index_date_object.<locals>.<lambda>w   s    ai'
 1 1 34r   )
r   splitr   r	   r"   r#   r$   r%   r&   assert_series_equal)rB   rowr*   exp_idxrC   r+   rD   s          r   test_apply_index_date_objectrR   R   s    
B 
2.2CIIK2.8H	IBBwK >VLG1AH
CC		#	#M	=Fu5;;4
 
> 68,- /$ 
>	=s   B*)!B//
B=c           	        ^ [        / SQ/ SQS.SS/S9mU (       a  SOSn[        R                  " TR                  S	S  TR                  S	S  /S	S
U/S9nSn[        R
                  " [        US9   TR                  TR                   Vs/ s H  n[        U5      PM     snS	S9nS S S 5        WR                  U4S j5      n[        R                  " Xb5        g s  snf ! , (       d  f       N?= f)NarU   brV   rU         ?       @      @      @g      @keydatar]   r^   rH   strobjectr   float64axiskeys+DataFrame.groupby with axis=1 is deprecatedr   rc   c                 "   > TR                   SS  $ Nr   ilocr=   r*   s    r   r>   $test_apply_trivial.<locals>.<lambda>   s    r   )r   r'   concatrj   r"   r#   r$   r%   dtypesr_   r&   r)   rA   dtyperC   r+   r=   gbrD   r*   s          @r   test_apply_trivialrr   |   s     
)3LM
B (EXEyy"''!"+rwwqr{3!9eBTUH
7C		#	#M	=ZZ3AQ3!Z< 
>XX+,F&+ 4 
>	=s   /C	C
CC
C+c           	        ^ [        / SQ/ SQS.SS/S9mU (       a  SOSn[        R                  " TT/S	S
U/S9nSn[        R                  " [
        US9   TR                  TR                   Vs/ s H  n[        U5      PM     snS	SS9nS S S 5        WR                  U4S j5      n[        R                  " Xb5        g s  snf ! , (       d  f       N?= f)NrT   rW   r\   r]   r^   rH   r_   r`   r   ra   rb   re   r   T)rc   rK   c                    > T$ r    rk   s    r   r>   )test_apply_trivial_fail.<locals>.<lambda>   s    r   )r   r'   rm   r"   r#   r$   r%   rn   r_   r&   r)   ro   s          @r   test_apply_trivial_failrw      s    	)3LM
B (EXEyy"bE0BCH
7C		#	#M	=ZZ3AQ3!ZM 
>XXl#F&+ 4 
>	=s   C/B?
C?C
Czdf, group_names)r   r   r         )rU   rU   rU   rV   crU   rV   r   rx   ry   r   r   r   r   )r   r   r   r   r   rU   )r   r   r   rx   rx   r   r   rx      rx   r   rx   ry   r   rx   ry   )            r~   	   )rU   two
aaabbbcccc)
ry   r   ry   r   r   rx   r   r   r   r   )
r   r   rx   rx   rx   r   r~   r   rx   r~   )rU   BCrU   rV   rz   )rx   rx   ry   rH   )GH2936zGH7739 & GH10519GH10519GH2656GH12155GH20084GH21417)idsc                    ^	 / m	U	4S jnU	4S jnU	4S jnU	4S jnU	4S jnX#XEU4 HS  nT	S S 2	 Sn[         R                  " [        US9   U R                  SS	S
9R	                  U5        S S S 5        T	U:X  a  MS   e   g ! , (       d  f       N= f)Nc                 Z   > TR                  U R                  5        U R                  5       $ r   )r   r8   copyr   namess    r   f_copy/test_group_apply_once_per_group.<locals>.f_copy   s    UZZ zz|r   c                 >   > TR                  U R                  5        U $ r   r   r8   r   s    r   f_nocopy1test_group_apply_once_per_group.<locals>.f_nocopy   s    UZZ r   c                 <   > TR                  U R                  5        gNr   r   r   s    r   f_scalar1test_group_apply_once_per_group.<locals>.f_scalar   s    UZZ r   c                 <   > TR                  U R                  5        g r   r   r   s    r   f_none/test_group_apply_once_per_group.<locals>.f_none   s    UZZ r   c                 Z   > TR                  U R                  5        [        S/S/S.5      $ )Nr   r{   )r   r8   r   r   s    r   f_constant_df6test_group_apply_once_per_group.<locals>.f_constant_df   s'    UZZ s!-..r   r   r   rU   FrJ   )r"   r#   r$   r%   r&   )
r*   group_namesr   r   r   r   r   funcr+   r   s
            @r   test_group_apply_once_per_groupr      s    N E


!/
 8]C!HG''SAJJsuJ-33D9 B### D BAs   
 A??
B	c                 8   Sn[        / SQ/ SQS./ SQS9nSn[        R                  " [        US9   UR	                  SS	S
9R                  S 5        S S S 5        U R                  5       R                  R                  S5      nXA:X  d   eg ! , (       d  f       N?= f)Nrx   )r   r   r   r   r   r   r   r   )02468101214)group_by_columntest_columnr   r   r   r   FrJ   c                     [        S5      $ )Nfunction_called)printr*   s    r   r>   2test_group_apply_once_per_group2.<locals>.<lambda>   s
    u./r   r   )	r   r"   r#   r$   r%   r&   
readouterroutcount)capsysrC   r*   r+   rD   s        r    test_group_apply_once_per_group2r      s     H	7F	
 :
B DC		#	#M	=


$
7==/	
 
>
  $$**+<=F 
>	=s   !B
Bc                     [        / SQ[        S5      S.5      n S nS nSn[        R                  " [        US9   U R                  SS	S
9R                  U5      nS S S 5        [        R                  " [        US9   U R                  SS	S
9R                  U5      nS S S 5        [        R                  " WW5        g ! , (       d  f       Ng= f! , (       d  f       N7= f)N)r   r   r   ry   )ArV   c                     U $ r   ru   r   s    r   slow,test_apply_fast_slow_identical.<locals>.slow
  s    r   c                 "    U R                  5       $ r   r   r   s    r   fast,test_apply_fast_slow_identical.<locals>.fast  s    zz|r   r   r   r   FrJ   )r   r    r"   r#   r$   r%   r&   r)   )r*   r   r   r+   fast_dfslow_dfs         r   test_apply_fast_slow_identicalr     s     
q2	3B DC		#	#M	=**SU*399$? 
>		#	#M	=**SU*399$? 
> '7+ 
>	=	=	=s    B<< C<
C

Cr   c                     U $ r   ru   r<   s    r   r>   r>     s    !r   c                     U S S  $ r   ru   r<   s    r   r>   r>     s    !A$r   c                      U R                  SS9$ )NFdeepr   r<   s    r   r>   r>     s    !&&e&$r   c                      U R                  SS9$ )NTr   r   r<   s    r   r>   r>     s    !&&d&#r   c                    [        / SQ/ SQ/ SQS.5      nSn[        R                  " [        US9   UR	                  SSS	9R                  U 5      nS S S 5        [        R                  " WU5        g ! , (       d  f       N&= f)
Nr   rx   rx   rx   r   rx   ry   r   )r   r   r   r~   )grU   rV   r   r   r   FrJ   r   r"   r#   r$   r%   r&   r)   )r   r*   r+   rD   s       r   5test_groupby_apply_identity_maybecopy_index_identicalr     se     
L|L	MB
CC		#	#M	=CE288> 
>&"% 
>	=s    A11
A?c                  "   [        [        R                  R                  S5      R	                  S5      / SQS.5      n U R                  S SS9R                  nU R                  n[        R                  " X5        [        S/ S	Q05      n U R                  S
-  U S'   U R                  S5      R                  5       R                  5       R                  nU R                  SSS9R                  5       R                  n[        R                  " X45        g )Nrx   r   oner   r   threer   r   foo1foo2c                     U $ r   ru   r<   s    r   r>   -test_apply_with_mixed_dtype.<locals>.<lambda>8  s    r   r   rf   c1)r   rx   r   r   r~   rY   c2Fas_index)r   nprandomdefault_rngstandard_normalr&   rn   r"   rO   r   r%   meanr!   r   )r*   rD   rC   result1result2s        r   test_apply_with_mixed_dtyper   0  s    	II))!,<<Q?@	

B XXkX*11FyyH6, 
D/*	+Buus{BtHjj##%11366Gjjj.33588G7,r   c                     [        / SQ/ SQ[        S5      S.5      n U R                  SSS9nU R                  SSS9nUR                  S	5      R                  nUR                  S	5      R                  n[        / S
Q5      n[        R                  " X55        [        R                  " XE5        Sn[        R                  " [        US9   UR                  S 5      R                  nS S S 5        [        R                  " [        US9   UR                  S 5      R                  nS S S 5        [        R                  " / SQ5      n	/ SQn
[        R                  " U
SS /S9n[        R                  " WU5        [        R                  " WU	5        [        [        S5      5      n[        SS	/S	S/SS/SS/S	S//US9n Sn[        R                  " [        US9   U R                  SSSS9R                  S 5      R                  nS S S 5        [        R                  " WU5        g ! , (       d  f       GNB= f! , (       d  f       GN= f! , (       d  f       NJ= f)N)rV   rV   rU   rz   rU   rV   )r   rx   r   r   ry   r   r   )item_iduser_idrG   r   Tr   Frx   )r   r   rx   r   r   r   c                 $    U R                  S5      $ Nrx   headr<   s    r   r>   -test_groupby_as_index_apply.<locals>.<lambda>Y  s    AFF1Ir   c                 $    U R                  S5      $ r   r   r<   s    r   r>   r   [  s    AFF1Ir   ))r   r   )r   rx   r   r   rx   r   )r   r   r   rx   )rx   r   )ry   r   r   abcder   ry   r   r   r   r   )r   rK   c                     U $ r   ru   r<   s    r   r>   r   j  s    ar   )r   r    r%   r   r   r   r"   assert_index_equalr#   r$   r&   r   from_tuplesr   )r*   g_asg_not_asres_as
res_not_asexpr+   res_as_applyres_not_as_applyexp_not_as_applytpexp_as_applyindress                 r   test_groupby_as_index_applyr
  D  s   	5)!H	

B ::i$:/Dzz)ez4HYYq\Fq!''J

C&&**
CC		#	#M	=zz"56<< 
>		#	#M	=#>>*=>DD 
>
 "--.NO	)B))"Y4EFL,5*,<=
W
C	QFQFQFQFQF;3	GB
CC		#	#M	=jjUuj=CCKPVV 
>#s#' 
>	=	=	= 
>	=s$   HH1,I
H.1
I 
Ic                    U R                  SS/5      nS nS nS nSn[        R                  " [        US9   UR	                  U5      nS S S 5        WR
                  R                  S:X  d   eSn[        R                  " [        US9   UR	                  U5      nS S S 5        WR
                  R                  S:X  d   eSn[        R                  " [        US9   UR	                  U5      nS S S 5        WR
                  R                  S	:X  d   eg ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       NM= f)
Nr   r   c                 H    U R                  5       nSUR                  l        U$ Nstat)describer   r8   r   rD   s     r   desc.test_apply_concat_preserve_names.<locals>.descq  s    !"r   c                 d    U R                  5       nSUR                  l        US [        U 5       nU$ r  )r  r   r8   lenr  s     r   desc2/test_apply_concat_preserve_names.<locals>.desc2v  s/    !"#e*%r   c                 ~    U R                  5       nS[        U 5      S 3UR                  l        US [        U 5       nU$ )Nstat_d)r  r  r   r8   r  s     r   desc3/test_apply_concat_preserve_names.<locals>.desc3}  s>    ! $CJq>2#e*%r   r   r   )r   r   r  )r   r   N)r%   r"   r#   r$   r&   r   r   )	three_groupgroupedr  r  r  r+   rD   r   result3s	            r    test_apply_concat_preserve_namesr  n  s   !!3*-G
 DC		#	#M	=t$ 
><<!3333
CC		#	#M	=--& 
>=="4444
CC		#	#M	=--& 
>=="2222 
>	=
 
>	=
 
>	=s#   D	D"D3
D"
D03
Ec                  x   S n [        SSS9n[        [        R                  R	                  S5      R                  S5      US9nUR                  S SS	9nUR                  U 5      n[        U[        5      (       d   e[        US
5      (       a   e[        R                  " UR                  UR                  5        g )Nc                     [         R                  " SS9   [         R                  " U 5      nS S S 5        [        X U R	                  5       -
  WS.5      $ ! , (       d  f       N-= f)Nignore)invalid)r0   demeanedlogged)r   errstatelogr   r   )piecer%  s     r   f%test_apply_series_to_frame.<locals>.f  sI    [[*VVE]F +)=P
 	
 +*s   A
A!z1/1/2000r   )periodsrx   r   c                     U R                   $ r   monthr<   s    r   r>   ,test_apply_series_to_frame.<locals>.<lambda>      177r   FrJ   r8   )r
   r	   r   r   r   r   r%   r&   
isinstancer   hasattrr"   r   r   )r)  drrB   r  rD   s        r   test_apply_series_to_framer4    s    
 
Z	-B			%%a(88=R	HBjj*uj=G]]1Ffi((((vv&&&&&,,1r   c                     U R                  SS/5      S   R                  [        5      nUR                  R                  S S S:X  d   eg )Nr   r   r   rx   r   r   )r%   r&   r  r   r   )r*   rD   s     r    test_apply_series_yield_constantr7    sC    ZZc
#C(..s3F<<bq!Z///r   c                    Sn[         R                  " [        US9   U R                  SS/5      R	                  [
        5      nS S S 5        [        W[        5      (       d   eUR                  b   eU R                  SS/5      SS/   R	                  [
        5      n[        U[        5      (       d   eUR                  b   eg ! , (       d  f       N= f)Nr   r   r   r   r   D)	r"   r#   r$   r%   r&   r  r1  r	   r8   )r*   r+   rD   s      r   test_apply_frame_yield_constantr:    s    
CC		#	#M	=S#J'--c2 
>ff%%%%;;ZZc
#S#J/55c:Fff%%%%;; 
>	=s   'C
Cc                    U R                  SS/5      nSn[        R                  " [        US9   UR	                  [
        5      nS S S 5        UR                  5       S   n[        R                  " WR                  UR                  5        [        R                  " UR                  UR                  5        g ! , (       d  f       Nx= f)Nr   r   r   r   r   )r%   r"   r#   r$   r&   r  r   r   r   assert_numpy_array_equalvaluesr*   r  r+   rD   rC   s        r   test_apply_frame_to_seriesr?    s    jj#s$G
CC		#	#M	=s# 
>}}s#H&,,7x?	 
>	=s   B77
Cc                    U R                  SS/SS9nSn[        R                  " [        US9   UR	                  [
        5      nS S S 5        UR                  5       R                  S[        R                  0S9R                  S	S9n[        R                  " WR                  UR                  5        [        R                  " UR                  UR                  5        g ! , (       d  f       N= f)
Nr   r   Fr   r   r   r   rH   r9  )r%   r"   r#   r$   r&   r  r   renamer   nandropr   r   r<  r=  r>  s        r   )test_apply_frame_not_as_index_column_namerD    s    jj#sej4G
CC		#	#M	=s# 
>}}%%sBFFm%<AA#ANH&,,7x? 
>	=s   C
C+c                    ^ S n U4S jn[        [        R                  R                  S5      R	                  SSS5      [        R                  R                  S5      R	                  SSS5      [        R                  R                  S5      R                  S5      S.5      mSn[        R                  " [        US	9   TR                  S
5      R                  U 5      nS S S 5        TR                  S
5      S   R                  U5      n[        R                  " WUSS9  UR                  S:X  d   eg ! , (       d  f       NZ= f)Nc                 |    U R                  S5      S   R                  5       R                  5       R                  S S $ )Nr   r   rx   )r%   sumsort_valuesrj   r   s    r   trans-test_apply_frame_concat_series.<locals>.trans  s5    }}S!#&**,88:??CCr   c                    > U R                  TR                  U R                  5      S   5      nUR                  5       R	                  5       R
                  S S $ )Nr   rx   )r%   reindexr   rG  rH  rj   )r   r  r*   s     r   trans2.test_apply_frame_concat_series.<locals>.trans2  sE    --

5;; 7 <={{}((*//33r   rx   r   r     r   r   r   r   r   r   r   F)check_names)r   r   r   r   integersr   r"   r#   r$   r%   r&   rO   r8   )rI  rM  r+   rD   r  r*   s        @r   test_apply_frame_concat_seriesrS    s    D4 
&&q)221a>&&q)221a>&&q)99$?	

B DC		#	#M	=C&&u- 
>
**S/#

$
$V
,C63E:;;#	 
>	=s   =!D22
E c                     U R                  S SS9nUR                  S 5      nUR                  S 5      n[        R                  " X#5        g )Nc                     U R                   $ r   r-  r<   s    r   r>   &test_apply_transform.<locals>.<lambda>  r0  r   FrJ   c                     U S-  $ r   ru   r<   s    r   r>   rV    s    QUr   c                     U S-  $ r   ru   r<   s    r   r>   rV    s    1q5r   )r%   r&   	transformr"   rO   )rB   r  rD   rC   s       r   test_apply_transformrZ    sA    jj*uj=G]]?+F  1H6,r   c                     U R                  S S /5      nS nUR                  U5      nU H/  u  pE[        R                  " UR                  U   U" U5      5        M1     g )Nc                     U R                   $ r   yearr<   s    r   r>   ,test_apply_multikey_corner.<locals>.<lambda>  s    r   c                     U R                   $ r   r-  r<   s    r   r>   r_    s    177r   c                 *    U R                  S5      SS  $ )Nr   rH  r   s    r   r)  %test_apply_multikey_corner.<locals>.f  s      %bc**r   )r%   r&   r"   r)   loc)tsframer  r)  rD   r]   r   s         r   test_apply_multikey_cornerrg    sT    oo/1BCDG+ ]]1F

fjjoqx8 r   rK   TFc                    [        / SQ[        S5      S.5      nSn[        R                  " [        US9   UR                  SU S9R                  S 5      nS S S 5        UR                  / S	Q5      nU (       a*  [        R                  " / S
QUR                  /SS /S9Ul
        [        R                  " WU5        g ! , (       d  f       Nj= f)N)	r   r   r   rx   rx   rx   ry   ry   ry   r   )r]   r0   r   r   r]   rJ   c                      U R                   S S $ r   ri   r<   s    r   r>   'test_apply_chunk_view.<locals>.<lambda>  s    !&&QSRS*r   )r   r   ry   r   r   r   )r   r   rx   rx   ry   ry   r   )r   r    r"   r#   r$   r%   r&   taker   from_arraysr   r)   )rK   r*   r+   rD   rC   s        r   test_apply_chunk_viewrm    s     
6qJ	KB
CC		#	#M	=Ej9??@TU 
>ww)*H#//0
 &(+ 
>	=s   !B::
Cc            	          [        / SQ/ SQ[        SSS5      S.5      n U R                  SS/5      nSn[        R                  " [
        US	9   UR                  S
 5        S S S 5        g ! , (       d  f       g = f)N)
r   r   r   r   r   r   rx   rx   rx   rx   )
r   r   r   r   r   r   r   r   r   r   r   )r8   name2r0   r8   rp  r   r   c                 "    U R                  SSS9$ )Nr0   Tinplacerc  r<   s    r   r>   4test_apply_no_name_column_conflict.<locals>.<lambda>  s    gt Dr   )r   r    r%   r"   r#   r$   r&   )r*   r  r+   s      r   "test_apply_no_name_column_conflictru    sf    	231b"%	

B jj&'*+G
CC		#	#M	=DE 
>	=	=s   A))
A7c                     [        / SQ[        R                  " / SQS5      [        R                  " SS5      S.5      n S nSn[        R
                  " [        US	9   U R                  S
SS9R                  U5      nS S S 5        U R                  5       n[        R                  " / SQS5      US'   [        R                  " WU5        g ! , (       d  f       NR= f)NrX   rX   rX   rY   rY   rY   r   rx   rX         @r  rz   vc                 ~    U S   nXR                  5       -
  UR                  5       UR                  5       -
  -  U S'   U $ Nrz  v2minmaxr   rz  s     r   r)  #test_apply_typecast_fail.<locals>.f&  7    #J557{quuw'89dr   r   r   r  FrJ           g      ?r   r}  )r   r   tilearanger"   r#   r$   r%   r&   r   r)   )r*   r)  r+   rD   rC   s        r   test_apply_typecast_failr    s    	/!,3$	

B
 DC		#	#M	=CE288; 
> wwyHWW]A.HTN&(+ 
>	=s    C
Cc                     [         R                  " / SQ/ SQ/5      n [        / SQ[        R                  " / SQS5      [        R
                  " SS5      S.U S	9nS
 nSn[        R                  " [        US9   UR                  SSS9R                  U5      nS S S 5        UR                  5       n[        R                  " / SQS5      US'   [        R                  " WU5        g ! , (       d  f       NR= f)N)r   r   r   r   r   r   r   rw  r   rx   rX   rx  ry  r   c                 ~    U S   nXR                  5       -
  UR                  5       UR                  5       -
  -  U S'   U $ r|  r~  r  s     r   r)  %test_apply_multiindex_fail.<locals>.f@  r  r   r   r   r  FrJ   r  r}  )r   rl  r   r   r  r  r"   r#   r$   r%   r&   r   r)   )r   r*   r)  r+   rD   rC   s         r   test_apply_multiindex_failr  5  s    ""$68J#KLE	/!,3$	

 
B
 DC		#	#M	=CE288; 
> wwyHWW]A.HTN&(+ 
>	=s   7 C##
C1c                 |    U R                  S SS9R                  S 5      nU S-  n[        R                  " X5        g )Nc                     U R                   $ r   r]  r<   s    r   r>   #test_apply_corner.<locals>.<lambda>P  s    qvvr   FrJ   c                     U S-  $ r   ru   r<   s    r   r>   r  P  s    QRUVQVr   rx   )r%   r&   r"   r)   )rf  rD   rC   s      r   test_apply_cornerr  O  s7    __-%_@FFWF{H&+r   c                     [        / SQ/ SQ/ SQS.5      n S nS nSn[        R                  " [        US9   U R	                  S	5      R                  U5      nS S S 5        [        R                  " [        US9   U R	                  S	5      R                  U5      nS S S 5        [        R                  " WW5        g ! , (       d  f       Nh= f! , (       d  f       N7= f)
N)r   r      i,  )rU   rV   rz   rz   r   )id_fieldcategoryr0   c                 j    U R                   S   S:X  a  U R                  5       $ X R                  S:H     $ Nr   r   rz   )shaper   r  r<   s    r   filt1&test_apply_without_copy.<locals>.filt1a  s.    771:?668OZZ3&''r   c                 N    U R                   S   S:X  a  U $ X R                  S:H     $ r  )r  r  r<   s    r   filt2&test_apply_without_copy.<locals>.filt2g  s(    771:?HZZ3&''r   r   r   r  r   )r^   r  r  r+   rC   rD   s         r   test_apply_without_copyr  U  s     ,,!	
D(( DC		#	#M	=<<
+11%8 
>		#	#M	=j)//6 
>&(+	 
>	=	=	=s   !B:9!C:
C
Ctest_seriesc                 2   [        SS/SS/SS//SS// SQS9nU (       ak  UR                  S5      S   nUR                  SS	S
9R                  S 5      nUR	                  5       nUR	                  5       n[
        R                  " X45        g Sn[
        R                  " [        US9   UR                  SS	S9R                  S 5      nS S S 5        WR                  S5      nUR                  S5      n[
        R                  " X45        g ! , (       d  f       NG= f)Nr=   poXY)r   rx   rx   r   r   r   F)levelrK   c                     U $ r   ru   r<   s    r   r>   <test_apply_with_duplicated_non_sorted_axis.<locals>.<lambda>}  s    r   r   r   rJ   c                     U $ r   ru   r<   s    r   r>   r        qr   )r   	set_indexr%   r&   
sort_indexr"   rO   r#   r$   rH  r)   )r  r*   serrD   rC   r+   s         r   *test_apply_with_duplicated_non_sorted_axisr  u  s     

sc3Z#s,sCj	
B ll3$17==kJ ""$>>#
v0G''SAZZZ6<<[IF B ##C(>>#&
f/ BAs   &!D
Dc                      / SQn / SQn[        SS/S-  U S.US9n[        XSS	9nS
 nUR                  SSS9R                  R	                  U5      n[
        R                  " X55        g )Nr   r   r   rx   rx   Group1Group2rx   r   r0   r   r0   r   r8   c                     U R                  [        R                  " U R                  R	                  5       U R                  R                  5       S-   5      5      $ rh   )rL  r   r  r   r  r  r<   s    r   reindex_helper1test_apply_reindex_values.<locals>.reindex_helper  s5    yy177;;=!''++-!2CDEEr   r   FrJ   )r   r	   r%   r0   r&   r"   rO   )r=  indicesr*   rC   r  rD   s         r   test_apply_reindex_valuesr    sn    
 FG	h1A5Gw	WBf':HF ZZEZ288>>~NF8,r   c                     Sn [         R                  R                  S5      R                  SSU S9n[	        U[         R                  R                  S5      R                  U 5      / SQU S-  -  S.5      nUR                  S	S
S9nS nSn[        R                  " [        US9   UR                  U5      nS S S 5        SW;   d   eg ! , (       d  f       N= f)NrO  rx   r   r   )size)foobarbazquxr   )r]   value1value2r]   FrJ   c                     U S   S-  U S'   U $ )Nr  rx   value3ru   r   s    r   r)  "test_apply_corner_cases.<locals>.f  s    kAo(r   r   r   r  )r   r   r   rR  r   r   r%   r"   r#   r$   r&   )Nlabelsr*   r  r)  r+   rD   s          r   test_apply_corner_casesr    s     	AYY""1%..q#A.>F	ii++A.>>qA2a1f=	

B jj5j1G DC		#	#M	=q! 
>v 
>	=s   "C
Cc                     [        SS/S/S-  SS/S.5      n Sn[        R                  " [        US9   U R	                  S	/5      R                  S
 5      nS S S 5        [        R                  " U R                  5      U l        Sn[        R                  " [        US9   U R	                  S	/5      R                  S 5      nS S S 5        [        R                  " WS   WS   5        [        / SQ/ SQ[        R                  " S5      /S-  S.5      n S nSn[        R                  " [        US9   U R	                  S5      R                  U5      S   nS S S 5        U R                  nU R                  Ul        [        R                  " X25        S n[        / SQ/ SQ/ SQ/ SQS.5      nUR                  5       n[        R                  " UR                  5      Ul        Sn[        R                  " [        US9   UR	                  S5      R                  U5      R                   nS S S 5        [        R                  " [        US9   UR	                  S5      R                  U5      R                   nS S S 5        [        R                  " X#5        g ! , (       d  f       GN@= f! , (       d  f       GN= f! , (       d  f       GNg= f! , (       d  f       N= f! , (       d  f       Nl= f)Nr   rx   z
2017-03-02r  inf)NumberDateStrr   r   r  c                      U R                   S   $ r   ri   r<   s    r   r>   ;test_apply_numeric_coercion_when_datetime.<locals>.<lambda>  s    !&&)r   c                      U R                   S   $ r   ri   r<   s    r   r>   r    s    q	r   r  )r         )r  3r   z12:31:22ry   )r   r   Tc                 (    U R                   S   S/   $ )Nr   r   ri   r  s    r   get_B8test_apply_numeric_coercion_when_datetime.<locals>.get_B  s    vvay#r   r   r   c                    [        / SQ[        S9nS[        U R                  5      ;   a4  [	        X R                  S:H     R
                  R                  S   5      US'   S[        U R                  5      ;   ah  [	        X R                  S:H     R
                  R                  S   5      US'   [	        X R                  S:H     R                  R                  S   5      US'   U$ )	N)p1p2useTime)r   rp   step1r   r  step2r  r  )r	   r`   r   Stater_   Machiner=  oTime)toolr   s     r   predictions>test_apply_numeric_coercion_when_datetime.<locals>.predictions  s    2&Ad4::&&Dw!67??FFqIJCId4::&&Dw!67??FFqIJCI jjG&;!<!B!B!I!I!!LMC	N
r   )r   r   r   r   )r  r  r  r  ) z2016-09-19 05:24:33r  z2016-09-19 23:59:04)2336L36Rr  )Keyr  r  r  r  )r   r"   r#   r$   r%   r&   r'   r@   r  rO   	Timestampr   r   r   r   r  r  )r*   r+   rC   rD   r  r  df1df2s           r   )test_apply_numeric_coercion_when_datetimer    s6    
q6L>A#5uenM
B DC		#	#M	=::xj)//0CD 
>nnRWW%BG
CC		#	#M	=XJ'--.AB 
>6%=(5/: 
!2",,z:R9SVW9WX
B  DC		#	#M	=C&&u-c2 
>ttHTTHN6, '9K2		
C ((*Csyy)CI
CC		#	#M	=;;u%++K8;; 
>		#	#M	=U#))+699 
>8,a 
>	= 
>	= 
>	=6 
>	=	=	=s;   #J#J!/$J39+K+K
J!
J03
K
K
K$c                     [        / SQ[        R                  " S5      /S-  S.5      n U R                  U R                  -
  U S'   Sn[        R
                  " [        US9   U R                  S5      R                  S	 5      nS S S 5        [        / SQ[        R                  " S
S5      /S-  [        R                  " S5      /S-  S.5      R                  S5      n[        R                  " WU5        g ! , (       d  f       Nw= f)NrP  z2017-02-01 00:00:00ry   )clientidr   time_delta_zeror   r   r  c                 ~    [        U R                  R                  5       U R                  R                  5       S.5      $ )N)clientid_ager   )r	   r  r  r   )ddfs    r   r>   ?test_apply_aggregating_timedelta_and_datetime.<locals>.<lambda>  s-    !$!4!4!8!8!:CLLDTDTDVWr   r   r9  )r  r  r   )r   r   
datetime64r   r"   r#   r$   r%   r&   timedelta64r  r)   r*   r+   rD   rC   s       r   -test_apply_aggregating_timedelta_and_datetimer    s     
''<=>B	

B KK"++5B
CC		#	#M	=J'--
 
> '^^As34q8]]#89:Q>	
 i
  &(+ 
>	=s    "C33
Dc                     SS/SS/SS/SS/SS//n [        U S	S
/[        R                  " SS5      S9nUR                  S	5      R	                  5       n[        / SQ/ SQS.5      nUR                  S	SS9  [        R                  " X#5        g )Nr   r   r   r  r  r   (   2   NameValuez
2020-09-01z
2020-09-05r  rP  )r   r  Z   )r  r  Trr  )r   r'   
date_ranger%   rG  r  r"   r)   )r^   r*   rD   rC   s       r    test_apply_groupby_datetimeindexr    s     "IRy3)c2Yb	BD	vw'r}}\</X
B ZZ##%F/LIJHvt,&+r   c                      [        S[        S5       V s/ s H  n [        R                  " 5       PM     sn S.5      nS nS nSn[        R
                  " [        US9   UR                  S/S	9R                  U5      nS S S 5        [        S
S0S/S9nSUR                  l
        Sn[        R
                  " [        US9   UR                  S/S	9R                  U5      nS S S 5        [        [        R                  " SSS5      R                  S5      SS.S/S9nSUR                  l
        [        R                  " WU5        [        R                  " WU5        g s  sn f ! , (       d  f       N= f! , (       d  f       N= f)Nr   r   r{   c                     [        SS05      $ )Nrz   rx   r	   batchs    r   func_with_no_date.test_time_field_bug.<locals>.func_with_no_date-  s    sAhr   c                 4    [        [        SSS5      SS.5      $ )N  r   rx   rV   rz   )r	   r   r  s    r   func_with_date+test_time_field_bug.<locals>.func_with_date0  s    HT1a0q9::r   r   r   rU   byrz   rx   r   r  nsr	  )r   r    r   nowr"   r#   r$   r%   r&   r   r8   r'   r  as_unitr)   )	nnr*   r  r
  r+   dfg_no_conversiondfg_no_conversion_expecteddfg_conversiondfg_conversion_expecteds	            r   test_time_field_bugr  %  sF    
59!E9R(,,.9!EF	GB ; DC		#	#M	=JJ3%J0667HI 
>!*C8A3!?,/$$)
CC		#	#M	=u-33NC 
>'ll4A&..t41=aS *-!!&+-GH.*AB/ "F 
>	= 
>	=s   E
 E> E/
E,/
E=c                     ^ [        / SQ/ SQ/ SQ/ SQS.5      n U R                  SS/5      n U R                  SS/SS	9nS
 mUR                  U4S j5        g )N)rU   rU   rU   rV   rV   rV   rU   rU   rU   rV   rV   rV   )rz   rz   r  r  r  erz   rz   r  r  r  r  )g?rx   ry   r   r   r   rx   r   r   r~   r   rx   )gffffff@r~   r   r         r~   r   r   r   r   ry   )group1group2weightr0   r  r  T)r  sortc                 T    [         R                  " X-  5      R                  S5      nU$ )Nry   )r   arrayrepeat)r0   r  r   s      r   noddy7test_gb_apply_list_of_unequal_len_arrays.<locals>.noddyR  s"    hhu~&--a0
r   c                 >   > T" U R                   U R                  5      $ r   )r0   r  )r=   r"  s    r   r>   :test_gb_apply_list_of_unequal_len_arrays.<locals>.<lambda>\  s    uQWWahh7r   )r   r  r%   r&   )r*   
df_groupedr"  s     @r   (test_gb_apply_list_of_unequal_len_arraysr'  E  s`    	RR<>		

B 
x*	+B8X"6TBJ 78r   c                     [        / SQ/ SQS.5      n S nSn[        R                  " [        US9   U R	                  S5      R                  U5      nS S S 5        [        5       n[        R                  " WU5        g ! , (       d  f       N0= f)Nr}   )r~   r   r   r   )r   random_varsc                     g r   ru   r<   s    r   	test_func.test_groupby_apply_all_none.<locals>.test_funcd  s    r   r   r   r   r   )test_dfr+  r+   rD   rC   s        r   test_groupby_apply_all_noner.  _  sn     <MNG DC		#	#M	=*00; 
>{H&(+ 
>	=s   !A<<
B
c                     [        / SQ/ SQS.5      n [        / SQ/ SQS.5      nS nSn[        R                  " [        US9   U R	                  S5      R                  U5      nS S S 5        [        R                  " [        US9   UR	                  S5      R                  U5      nS S S 5        [        R                  " S	S	/S
S//SS /S9n[        R                  " SS/S	S//SS /S9n[        S	S	/S
S/S.US9n[        SS/S	S/S.US9n	[        R                  " WU5        [        R                  " WU	5        g ! , (       d  f       N= f! , (       d  f       N= f)N)r   r   r   rx   )r   r   rx   ry   )r   varsr   c                 L    U R                   S   S:  a  g U R                  SS/   $ )Nr   rx   ro  )r  rj   r<   s    r   r+  0test_groupby_apply_none_first.<locals>.test_funcs  s&    771:>vvq"gr   r   r   r   r   r   rx   r   ry   r   )	r   r"   r#   r$   r%   r&   r   rl  r)   )
test_df1test_df2r+  r+   r   r   index1index2	expected1	expected2s
             r   test_groupby_apply_none_firstr9  n  s7   L,GHHL,GHH
 DC		#	#M	=""8,229= 
>		#	#M	=""8,229= 
>##aVaV$4Xt<LMF##aVaV$4Xt<LMFaVaV<FKIaVaV<FKI'9-'9- 
>	=	=	=s   !D9!E
9
E

Ec            	      p   [        SS/SS/S.5      n U R                  S5      nSn[        R                  " [        US9   UR                  S	 5      nS S S 5        [        S/S
[        R                  " SS/S//SS /S9R                  S5      S9n[        R                  " WU5        g ! , (       d  f       N[= f)Nr   r   filledempty)r0   r   r   r   r   c                 *    X R                   S:g     S   $ )Nr   r0   )r0   r   s    r   r>   7test_groupby_apply_return_empty_chunk.<locals>.<lambda>  s    E++2B,CG,Lr   r0   r   )r8   r   )r   r%   r"   r#   r$   r&   r	   r   from_productrC  rO   )r*   r   r+   rD   rC   s        r   %test_groupby_apply_return_empty_chunkr@    s    	aVx.AB	CBZZ F
CC		#	#M	=LM 
>	
%%x 1#&wo

$w-H 68, 
>	=s   B''
B5c                  *   [        SR                  5       / SQ/ SQS.5      n U R                  SSS9nUR                  S 5      n[        / S	Q/ S
QS.5      n[        R
                  " X#5        UR                  S 5      n[        R
                  " X#5        g )Nza a br|   r   r   r   rP  r   FrJ   c                 &    X R                  5       -  $ r   rG  r<   s    r   r>   -test_apply_with_mixed_types.<locals>.<lambda>  s    1uuw;r   )gUUUUUU?gUUUUUU?r   )皙?g333333?rX   r   r   c                 &    X R                  5       -  $ r   rD  r<   s    r   r>   rE    s    q557{r   )r   rN   r%   rY  r"   r)   r&   )r*   r   rD   rC   s       r   test_apply_with_mixed_typesrI    su    	yyI	JB


35
)A[[./F4?KLH&+WW*+F&+r   c                  d   [        SSS/0[        SS/5      S9n Sn[        R                  " [        US9   U R                  S5      R                  S 5      nS S S 5        [        [        S/5      [        S/5      /[        SS/SS9S9n[        R                  " WU5        g ! , (       d  f       NP= f)	NrU   r   rx   r   r   r   c                     U R                   $ r   r   r  s    r   r>   *test_func_returns_object.<locals>.<lambda>  s    r   r7   )	r   r   r"   r#   r$   r%   r&   r	   rO   r  s       r   test_func_returns_objectrM    s    	C!Q=q!f	6B
CC		#	#M	=C&&'89 
>uaSz5!:.eQF6MNH68,	 
>	=s   "B!!
B/group_column_dtlikec           	      ,   [        S/U /S.5      nSn[        R                  " [        US9   UR	                  S5      R                  S 5      nS S S 5        [        S/[        S/SSS	9S
/S9n[        R                  " WU5        g ! , (       d  f       N== f)Nr  r{   r   r   rU   c                     [        S/S/S9$ )Nspam*   r   r  r<   s    r   r>   +test_apply_datetime_issue.<locals>.<lambda>  s    1Mr   rQ  r_   rp   r8   rR  rH   )r   r"   r#   r$   r%   r&   r   r)   )rN  r*   r+   rD   rC   s        r   test_apply_datetime_issuerU    s     
%(;'<=	>B
CC		#	#M	=C&&'MN 
> &5%C#HSURVWH&(+	 
>	=s   "B
Bc            
      2   [        [        R                  " S5      [        R                  " S5      [        R                  " S5      [        R                  " S5      [        R                  " S5      S.SSSSSS.SSSSSS.S.5      n S nSn[        R                  " [
        US	9   U R                  S
5      R                  U5      S   nS S S 5        [        S/[        R                  " S/S
S9SS9n[        R                  " WU5        g ! , (       d  f       NF= f)Nz2015-02-24 00:00:00)r   r   rx   ry   r   zsome UA stringzanother UA string17661101)day	userAgentuserIdc           	          [        U R                  5        VVs0 s H"  u  pXR                  5       R                  S   _M$     snn5      $ s  snnf r   )r	   itemsvalue_countsr   )r*   rz   ss      r   most_common_valuesEtest_apply_series_return_dataframe_groups.<locals>.most_common_values  s<    
K
q..*0033
KLLKs   )A

r   r   rX  rZ  z
2015-02-24r7   r  )r   r'   r  r"   r#   r$   r%   r&   r	   DatetimeIndexrO   )tdfr_  r+   rD   rC   s        r   )test_apply_series_return_dataframe_groupsrc    s   
 << 56<< 56<< 56<< 56<< 56 $##&# 	
C4M DC		#	#M	=U#))*<=hG 
>	B,,l^%HxH 68, 
>	=s   $$D
Dr  c           
         SS/S-  nU (       a6  [         R                  " U/ SQS9n[         R                  " / SQ/ SQSS9n/ SQnO[        SS/SS	9nS
S/n[	        X3S.US9n[	        [
        R                  " S5      U[        [        S5      5      [        [        S5      5      S.5      R                  SS/5      nUR                  SSS9R                  S 5      n[        R                  " Xd5        UR                  R                  SS/:X  d   eg )Nr   rx   r   r|   )
categoriesr   )re  r8   )r     r   r7   r  rf  )r   r9  r   r   )r   r   r   r9  r   F)observedc                 "    U R                  5       $ r   rD  r<   s    r   r>   -test_apply_multi_level_name.<locals>.<lambda>  s
    QUUWr   )r'   CategoricalCategoricalIndexr   r   r   r  r   r    r  r%   r&   r"   r)   r   r   )r  rV   expected_indexexpected_valuesrC   r*   rD   s          r   test_apply_multi_level_namern    s     
A
ANN13,,Y9SVW%1vC0r(4NH 
iim!$uRy/U2YP
ic
  ZZeZ,223DEF&+88>>c3Z'''r   c           
         [         R                  " [        R                  " SSS5      SSSS4[        R                  " SSS5      SSS	S
4[        R                  " SSS5      SSSS4[        R                  " SSS5      SSSS4// SQS9nSn[        R
                  " [        US9   UR                  S5      R                  S 5      R                  nS S S 5        U (       a"  [        R                  " [        R                  S9O[        n[        [        R                  " S5      XD[        R                   U// SQS9n[        R"                  " WU5        g ! , (       d  f       N= f)Ni  r   reddarkr   r  greenstormyrx   9i  bluebrightry   r   i  calmr   potato)observationcolormood	intensityscorerH   r   r   rz  c                      U R                   S   $ r   ri   r  s    r   r>   ;test_groupby_apply_datetime_result_dtypes.<locals>.<lambda>  s    qvvayr   )na_valuezdatetime64[ns]r   )r   from_recordsr'   r  r"   r#   r$   r%   r&   rn   StringDtyper   rB  r`   r	   rp   int64rO   )rA   r^   r+   rD   rp   rC   s         r   )test_groupby_apply_datetime_result_dtypesr     s   !!\\$1%ufa=\\$1%w!SA\\$1%vxDA\\$1%vvq(C		
 GD DC		#	#M	=g&,,-@AHH 
>/ABNNBFF+vE	"	#U288UCDH 68, 
>	=s   #,E
Er   abcry   2020r9  )r+  freq))rU   r   )rU   r   )rV   r   c                     [        / SQ/ SQS.U S9nSn[        R                  " [        US9   UR	                  SSS	9R                  S
 5      nS S S 5        [        R                  " WU5        g ! , (       d  f       N&= f)Nr   r   rx   )r   r   r   r  r   r   r   r   FrJ   c                     U $ r   ru   r<   s    r   r>   8test_apply_index_has_complex_internals.<locals>.<lambda>$  r  r   r   )r   r*   r+   rD   s       r   &test_apply_index_has_complex_internalsr    se     
Y;5	IB
CC		#	#M	=G6<<[I 
>&"% 
>	=s   !A..
A<zfunction, expected_valuesc                 6    U R                   R                  5       $ r   )r   to_listr<   s    r   r>   r>   +  s    177??$r   c                 H    [        U R                  R                  5       5      $ r   )setr   r  r<   s    r   r>   r>   ,  s    3qww()r   c                 H    [        U R                  R                  5       5      $ r   )tupler   r  r<   s    r   r>   r>   -  s    5*+r   )r   r   rx   ry   c                 Z    [        [        U R                  R                  5       5      5      $ r   )dict	enumerater   r  r<   s    r   r>   r>   /  s    d9QWW__%678r   c                     [        U R                  R                  5       5       VVs/ s H  u  pX0PM
     snn$ s  snnf r   )r  r   r  )r=   nis      r   r>   r>   3  s,    Iaggoo6G,HI,H&1v,HIIs   :c                    [        / SQS/S9nSn[        R                  " [        US9   UR	                  S5      R                  U 5      nS S S 5        [        U[        SS/SS9S	9n[        R                  " WU5        g ! , (       d  f       N:= f)
N)r   r   r   r   r   rH   r   r   r   r   r7   r   	r   r"   r#   r$   r%   r&   r	   r   rO   )functionrm  r*   r+   rD   rC   s         r   1test_apply_function_returns_non_pandas_non_scalarr  (  sv    $ 
'(	<B
CC		#	#M	=H%++H5 
>oUC:H-MNH68, 
>	=s   !A>>
Bc                  x   S n [        / SQSSS[        R                  /S.5      nSn[        R                  " [
        US9   UR                  S	5      R                  U 5      nS S S 5        [        S
S/S/[        R                  //[        / SQS	S9S9n[        R                  " WU5        g ! , (       d  f       NO= f)Nc                 <    U S   R                   R                  5       $ )Nr   )r=  flattenr   s    r   fct4test_apply_function_returns_numpy_array.<locals>.fctD  s    Sz  ((**r   )rU   rU   rV   noner   rx   ry   r6  r   r   r   rX   rY   rZ   )rU   rV   r  r7   r   )r   r   rB  r"   r#   r$   r%   r&   r	   r   rO   )r  r*   r+   rD   rC   s        r   'test_apply_function_returns_numpy_arrayr  B  s    + 
01a7HI	JB
CC		#	#M	=C&&s+ 
>
scURVVH%U3EC-PH 68, 
>	=s   !B++
B9r  c                     U R                   $ r   r   grs    r   r>   r>   R  s    r   c                 &    U R                   S-   S-
  $ rh   r   r  s    r   r>   r>   R  s    bhhQRlUVFVr   c                 f   [        / SQS/S9nSn[        R                  " [        US9   UR	                  S5      R                  U 5      nS S S 5        [        [        / SQ5      [        / SQ5      [        SS	/5      /[        / S
QSS9S9n[        R                  " WU5        g ! , (       d  f       N^= f)N)
r   rx   rx   rx   r   rx   ry   r   ry   r   idrH   r   r   )r   r   r   r   )r   rx   ry   r   r   r~   r|   r7   r   r  )r  r*   r+   rD   rC   s        r    test_apply_function_index_returnr  R  s     
1D6	BB
CC		#	#M	=D!''1 
>	|	eL15!Q=AID)H 68, 
>	=s   !B""
B0c                      [        / SQ/ SQS.5      n U R                  SSS9R                  S 5      n[        / SQ/ S	QS.5      n[        R                  " X5        g )
Nr   )r   rx   r   r   r   r   r   r   Fr   c                 "    U R                  5       $ r   )r   r<   s    r   r>   Atest_apply_function_with_indexing_return_column.<locals>.<lambda>h  s
    r   )r   r   r   )rZ   r[   r[   )r   r%   r&   r"   r)   )r*   rD   rC   s      r   /test_apply_function_with_indexing_return_columnr  `  s\    	@&	

B ZZZ/556HIF+#	
H &+r   udfc                 "    U R                  5       $ r   r   r<   s    r   r>   r>   t  s
    r   c                 B    U R                  5       R                  S 5      $ )Nc                     U S-   $ rh   ru   )ys    r   r>   <lambda>.<locals>.<lambda>t  s    Ar   )r   rA  r<   s    r   r>   r>   t  s    affhooo&Fr   c                 &   [        SS/SS/S.5      nSn[        R                  " [        US9   UR	                  SU S	9R                  U5      nS S S 5        UR                  R	                  UR                  U S	9R                  U5      nU (       a9  WR                  R                  S:X  d   eUR                  R                  S:X  d   eg WR                  R                  S:X  d   eUR                  R                  S:X  d   eg ! , (       d  f       N= f)
NrU   rV   r   rx   r6  r   r   r   rJ   )
r   r"   r#   r$   r%   r&   r   r   r   nlevels)rK   r  r*   r+   	df_resultseries_results         r   test_apply_result_typer  r  s     
#s1a&1	2B
CC		#	#M	=JJszJ:@@E	 
>DDLL*L=CCCHM&&!+++""**a///&&!+++""**a/// 
>	=s    D
Dc                     [        / SQ/ SQS.5      n Sn[        R                  " [        US9   U R	                  SSS9R                  S	 5      nS S S 5        [        R                  " [        US9   U R	                  SSS9R                  S
 5      nS S S 5        [        R                  " WW5        g ! , (       d  f       Nh= f! , (       d  f       N7= f)N)rx   r   rx   r|   r6  r   r   r   FrJ   c                     U $ r   ru   r<   s    r   r>   4test_result_order_group_keys_false.<locals>.<lambda>  s    1r   c                 "    U R                  5       $ r   r   r<   s    r   r>   r    s
    QVVXr   r   r  s       r   "test_result_order_group_keys_falser    s     
3	4B
CC		#	#M	=CE288E 
>		#	#M	=::ce:4::;MN 
>&(+	 
>	=	=	=s   !B10!C1
B?
Cc                     S/S-  S/S-  -   S/S-  -   n [         R                  " U 5      n[         R                  " U SS9n[        [        [	        S5      5      S-  [	        S5      US	.5      n[        [        [	        S5      5      S-  [	        S5      US	.5      nS
n[
        R                  " [        US9   UR                  SSS9R                  S 5      nS S S 5        [
        R                  " [        US9   UR                  SSS9R                  S 5      nS S S 5        [
        R                  " WW5        g ! , (       d  f       Nh= f! , (       d  f       N7= f)Nz
2001-01-01rx   z
2001-01-02z
2001-01-03UTC)tzry   r   )r=   r  tr   r   r=   FrJ   c                 ,    U SS/   R                  5       $ Nr=   r  r   r   s    r   r>   1test_apply_with_timezones_aware.<locals>.<lambda>      r3*~**,r   c                 ,    U SS/   R                  5       $ r  r   r   s    r   r>   r    r  r   )r'   ra  r   r   r    r"   r#   r$   r%   r&   r)   )datesindex_no_tzindex_tzr  r  r+   r   r   s           r   test_apply_with_timezones_awarer    s!   NQ,!!33|nq6HHE""5)K%0H
$uQx.1,58+N
OC
$uQx.1,58(K
LC
CC		#	#M	=++ce+4::,
 
> 
	#	#M	=++ce+4::,
 
>
 '7+ 
>	= 
>	=s   5!D87!E	8
E	
Ec                 P   [        / SQ/ SQ/ SQS.5      n[        SS/SS/S	.[        S
S/SS9S9nUR                  SS9nSn[        R                  " [
        USS9   UR                  [        SS9nS S S 5        [        R                  " WU5        UR                  SS9n[        X5      n[        X05      " U6 n[        R                  " [
        USS9   UR                  [        SS9nS S S 5        [        R                  " XR5        g ! , (       d  f       N= f! , (       d  f       N6= f)N)c   r  r  X   r  r  )r   rx   ry   r   r   r   )r   r  r  r  r  <   r      r      r  r	  r  r  rU   r7   r   r  :The behavior of DataFrame.sum with axis=None is deprecatedF)r   check_stacklevelinclude_groups)r   r   r%   r"   r#   r$   r&   rG  r)   r   getattr)reduction_funcr*   rC   grpr+   rD   args_s           r   ;test_apply_is_unchanged_when_other_methods_are_called_firstr    s    
)#)	

B 1gS"I&RH3'H ***
C
FC		#	#Mu	U3u5 
V&(+ ***
C">6D$d+A		#	#Mu	U3u5 
V&+ 
V	U 
V	Us   DD
D
D%c                     [        / SQ[        SSS5      [        SSS5      [        SSS5      [        SSS5      // SQS.[        / SQS	S
9S9n U R                  SS/5      nSn[        R
                  " [        US9   UR                  S 5      nS S S 5        U R                  / SQ   nUR                  5       n[        R                  " U/ SQ   5      Ul        UR                  S	S9n[        R                  " WU5        UR                  R                  S    H  n[!        U5      [        L a  M   e   g ! , (       d  f       N= f)N)rU   rU   rU   rV   i  r   r   rx   r   rP  )r   e   f   g   idxr7   r   r   r   r   r   c                 $    U R                  S5      $ rh   r   r<   s    r   r>   Rtest_apply_with_date_in_multiindex_does_not_convert_to_timestamp.<locals>.<lambda>  s    QVVAYr   )r   rx   ry   )r   r   r  rH   )r   r   r   r%   r"   r#   r$   r&   rj   r!   r   
from_framer   rC  r)   levelstype)r*   r  r+   rD   rC   vals         r   @test_apply_with_date_in_multiindex_does_not_convert_to_timestampr    s$    
%T1b!T1b!T1b!T1b!	 		
 (u5
B **c3Z
 C
CC		#	#M	=./ 
> wwy!H##%H**84E+FGHN}}U}+H&(+||""1%CyD    & 
>	=s   ;D22
E c                     [        [        R                  R                  S5      R                  SS/5      [        R
                  " SS/SS//5      S9n Sn[        R                  " [        US	9   U R                  R                  S
S
S9nS S S 5        WR                  S 5      nSn[        R                  " [        US	9   U R                  SS
S9nS S S 5        WR                  S 5      n[        R                  " XSR                  5        [        R                  " XP5        g ! , (       d  f       N= f! , (       d  f       Nh= f)Nrx   r   r   r   r   r   rH   z5The 'axis' keyword in DataFrame.groupby is deprecatedr   r   rc   r  c                 "    U R                  SSS9$ )Nr   r  	droplevelr<   s    r   r>   Dtest_apply_by_cols_equals_apply_by_rows_transposed.<locals>.<lambda>  s    !1!=r   re   c                 "    U R                  SSS9$ )Nr   r   r  r  r<   s    r   r>   r    s    !++1A+">r   )r   r   r   r   r   r?  r"   r#   r$   r  r%   r&   r)   )r*   r+   rq   by_rowsgb2by_colss         r   2test_apply_by_cols_equals_apply_by_rows_transposedr    s     

		a ''A/''#saV(<=
B
 BC		#	#M	=TT\\q\* 
>hh=>G
7C		#	#M	=jjaqj) 
>ii>?G'99-'& 
>	=
 
>	=s   .D >D1 
D.1
D?dropnac                    [        / SQS[        R                  [        R                  SS/S.[        S5      S9nSn[        R
                  " [        US9   UR                  S	U S
S9R                  S 5      nS S S 5        U (       a  UR                  5       OUR                  / SQ   n[        R                  " WU5        g ! , (       d  f       NN= f)Nr   rx   ry   r   r   rU   rV   )colr   xxyxzr   r   r   r   F)r  rK   c                     U $ r   ru   r<   s    r   r>   5test_apply_dropna_with_indexed_same.<locals>.<lambda>  s    VWr   )r   ry   r   rx   r   )r   r   rB  r   r"   r#   r$   r%   r&   r  rj   r)   )r  r*   r+   rD   rC   s        r   #test_apply_dropna_with_indexed_samer    s     
"26626634	
 7m
B DC		#	#M	=GFuEKKKX 
>$ryy{"''/*BH&(+ 
>	=s   "B??
Czas_index, expected)r   r   r   )rx   rx   r   )rU   rV   N)rp   zTODO(infer_string))reason)marksr   )rx   rx   rV   r   r   c                 
   [        / SQ/ SQ/ SQS.5      nSn[        R                  " [        US9   UR	                  SS/U S9R                  S	 5      nS S S 5        [        R                  " WU5        g ! , (       d  f       N&= f)
Nr  )r   r   r   r   r   r   r   rU   rV   r   c                     grh   ru   r<   s    r   r>   5test_apply_as_index_constant_lambda.<locals>.<lambda>,  s    1r   )r   r"   r#   r$   r%   r&   assert_equal)r   rC   r*   r+   rD   s        r   #test_apply_as_index_constant_lambdar    sg    ( 
L|L	MB
CC		#	#M	=S#J:@@M 
>OOFH% 
>	=s   #A44
Bc                  p   [        / SQ/ SQ/ SQS.[        S5      S9n Sn[        R                  " [        US9   U R                  S	5      R                  S
 5      nS S S 5        [        [        SS5      [        R                  " / SQS	S /S9SS9n[        R                  " WU5        g ! , (       d  f       NR= f)Nr  )r   r   r~   r   r   )r   r   r   rx   rx   rP  r   r   r   r   r   c                 6    U R                   R                  5       $ r   )r   r  r<   s    r   r>   (test_sort_index_groups.<locals>.<lambda>8  s    1Ar   r   r   )r   r   r   r  r   r   r   r  )r   r    r"   r#   r$   r%   r&   r	   r   r   rO   r  s       r   test_sort_index_groupsr  0  s    	O/JAh
B DC		#	#M	=C&&'AB 
>a$$4S$K
 H 68, 
>	=s   "B''
B5c                     [        [        R                  " SSSS9[        S5      [	        S5      S.5      n Sn[
        R                  " [        US9   U R                  U R                  U R                  R                  R                  /S	S
9R                  S 5      nS S S 5        [
        R                  " WU 5        g ! , (       d  f       N&= f)Nz
2010-01-0112hr   )r  r+  r   )r   valsletr   r   FrJ   c                      U R                   SS  $ r   ri   r<   s    r   r>   ;test_positional_slice_groups_datetimelike.<locals>.<lambda>P  s    !&&*r   )r   r'   r  r    r   r"   r#   r$   r%   r
  r   dtr&   r)   )rC   r+   rD   s      r   )test_positional_slice_groups_datetimeliker  C  s    MM,UAF!H=	
H DC		#	#M	=!!\\8==++001e " 

%$
% 	 
> &(+	 
>	=s   AB<<
C
c                      [        / SQ/ SQ/ SQS.5      n U R                  S5      nUSS/   R                  S 5      n[        S	S
/SS
/S.[        SS/SS9S9n[        R
                  " X#5        g )N)rU   rU   rV   r|   rB  rP  r   r   r   c                 j    U R                  [        5      R                  5       U R                  5       -
  $ r   )astypefloatr  r  r<   s    r   r>   7test_groupby_apply_shape_cache_safety.<locals>.<lambda>X  s     AHHUO,?,?,AAEEG,Kr   rX   r  rY   rG  rU   rV   r7   r   )r   r%   r&   r   r"   r)   )r*   rq   rD   rC   s       r   %test_groupby_apply_shape_cache_safetyr  T  sp    	yyI	JB	CBc
^!!"KLFCjSz*%c
2MH &+r   c                     [         R                  " / SQ/ SQ/ SQS.5      n U R                  S5      SS/   nUR                  S 5      n[        R
                  " / S	Q/ S
Q/SS /S9n[        / SQUSS9n[        R                  " X$5        g )N)rU   rV   rU   rV   )aaacr  ad)r  r  r  r  )rU   b1b2rU   r  r  c                 >    U R                  5       R                  5       $ r   )unstackr]  r<   s    r   r>   3test_groupby_apply_to_series_name.<locals>.<lambda>j  s    !9!9!;r   )rU   rU   rV   rV   rV   )r  r  r  r  r  )arraysr   )ry   r   rx   r   r   r   r  )	r   	from_dictr%   r&   r   rl  r	   r"   rO   )r*   r  rD   expected_idxrC   s        r   !test_groupby_apply_to_series_namer!  `  s    			%**	

B **S/4,
'CYY;<F)))+IJDkL o\HH6,r   c                    [        / SQ/ SQSS[        R                  [        R                  /S.5      nUR                  SU S9nSn[        R
                  " [        US	9   UR                  S
 5      nS S S 5        [        R
                  " [        US	9   UR                  S 5      nS S S 5        [        R                  " WW5        g ! , (       d  f       NZ= f! , (       d  f       N7= f)Nr  )r   r   rx   r   r   rx   )r  r  zr  )r  r   r   c                 &    U R                  SS5      $ )Nr   r#  )nlargest)grp_dfs    r   r>   test_apply_na.<locals>.<lambda>}  s    FOOAs,Cr   c                 @    U R                  SSS9R                  S5      $ )Nr#  F)	ascendingr   )rH  r   r<   s    r   r>   r'    s    se)L)Q)QRS)Tr   )	r   r   rB  r%   r"   r#   r$   r&   r)   )r  r*   dfgrpr+   rD   rC   s         r   test_apply_nar+  t  s     
<q!RVVRVV6LM
B JJuVJ,E
CC		#	#M	=CD 
>		#	#M	=;;TU 
>&(+	 
>	=	=	=s   CC
C
C%c            
         Sn [         R                  " [        U S9   [        / SQ/ SQ[        R
                  " / SQSS9S.5      R                  S	S
/5      R                  S 5      nS S S 5        [        SS[        R
                  " SSS9/SS[        R
                  " SSS9/// SQ[        R                  " SS/S	S
/S9S9n[         R                  " WU5        g ! , (       d  f       Nx= f)Nr   r   r  )r  r  r  r  r   r^  )unitr   rU   rV   c                      U R                   S   $ Nro  ri   r   s    r   r>   8test_apply_empty_string_nan_coerce_bug.<locals>.<lambda>  s    bggbkr   r   r  rx   r   )r   r  )rx   r  r   r  )r"   r#   r$   r   r'   r@   r%   r&   r   r   r)   )r+   rD   rC   s      r   &test_apply_empty_string_nan_coerce_bugr1    s    
CC		#	#M	=%)3? Wc3Z U)* 	 
> 
R,	-2r~~ac7R/ST$$gw%7SzJH
 &(+# 
>	=s   A
C
C&index_values)rX   rY   rZ   c                 @   [        / SQ/ SQS.[        U 5      S9n[        S/ SQ0[        / SQSS	9S9nS
n[        R                  " [        US9   UR                  S5      R                  S 5      nS S S 5        [        R                  " X5        g ! , (       d  f       N%= f)N)r  a2a3r|   r{   r   b_mean)rY   rZ   rX   )r4  r5  r  rU   r7   r   r   c                 <    [        U S   R                  5       /S/S9$ )NrV   r6  r   )r	   r   r   s    r   r>   0test_apply_index_key_error_bug.<locals>.<lambda>  s    vr#w||~.xjAr   )r   r   r"   r#   r$   r%   r&   r)   )r2  rD   rC   r+   s       r   test_apply_index_key_error_bugr9    s     #	
 L!F o	
 &S1	H DC		#	#M	=$**A
 
> &+	 
>	=s   "B
Bzarg,idx)皙?333333?皙?)r:  r<  r;  )r   r   ry   )r:  rF  r<  c                     [        SU 0US9nSn[        R                  " [        US9   UR	                  SSS9R                  S 5      nS S S 5        [        R                  " WU5        g ! , (       d  f       N&= f)Nr  r   r   r   FrJ   c                     U $ r   ru   r<   s    r   r>   5test_apply_nonmonotonic_float_index.<locals>.<lambda>  s    1r   r   )argr  rC   r+   rD   s        r   #test_apply_nonmonotonic_float_indexrA    sh    V %S1H
CC		#	#M	=!!%E!:@@M 
>&(+ 
>	=s   !A))
A7zargs, kwargsnumeric_onlyc                     U R                  S5      nUR                  " S/UQ70 UD6nUR                  SS9n[        R                  " XE5        g )Nr   rG  T)rB  )r%   r&   rG  r"   r)   )r*   r  kwargsrq   rD   rC   s         r   test_apply_str_with_argsrE    sG     
CBXXe-d-f-Fvv4v(H&+r   r8   	some_namec                     [        SS/U S9nUR                  SS/SS9R                  S 5      n[        SS/U S9n[        R                  " X#5        g )Nr   rx   r7   rU   FrJ   c                     U $ r   ru   r<   s    r   r>   1test_result_name_when_one_group.<locals>.<lambda>  r  r   )r	   r%   r&   r"   rO   )r8   r  rD   rC   s       r   test_result_name_when_one_grouprJ    sS     !Qd
#C[[#s[6<<[IFq!f4(H6,r   z
method, opr&   c                      U R                   S   $ r/  )r=  rq   s    r   r>   r>     s    RYYr]r   c                 &    U S   R                   S   $ )NrV   r   ri   rL  s    r   r>   r>     s    RW\\!_r   )aggskew)rN  prod)rN  rG  c                     [        / / S.5      nUR                  SSS9n[        US5      n[        X@5      " U5      n[        / SS[	        / SSS9S9n[
        R                  " XV5        g )	Nr{   rU   TrJ   rV   ra   rT  )r8   rp   r   )r   r%   r  r	   r   r"   rO   )methodopempty_dfrq   r   rD   rC   s          r   test_empty_dfrU    so     r+,H			#$		/BBEU#B'F
IU2YS-QH 6,r   r  c                 h   [        / SQ/ SQS.5      nUR                  S5      nU (       a  [        OS nSn[        R                  " X4S9   UR                  S U S9nS S S 5        [        S	S	/S
S/S.[        SS	/SS9S9nU (       d  US/   n[        R                  " WU5        g ! , (       d  f       NN= f)Nr  )ry   r   r   r{   rU   r   r   c                 "    U R                  5       $ r   rD  r<   s    r   r>   %test_include_groups.<locals>.<lambda>  s
    AEEGr   r  rx   r   r   r   r7   r   rV   )r   r%   r$   r"   r#   r&   r   r)   )r  r*   rq   warnr+   rD   rC   s          r   test_include_groupsrZ    s     
3	4B	CB*=D
CC		#	#D	4+NK 
51vQF35!Qc;RSHSE?&(+ 
5	4s   	B##
B1r)  rd   jimjoec                   ^^ [         R                  R                  S5      n[        UR	                  SSS5      SS/S9nUR                  S5      US	'   UR                  U 5      nUR                  mU[        La  S O[        nS
n[        R                  " XVSSS9   UR                  U5      nS S S 5        [        UR                  U S95      nSWR                   SU S3n	UR                  US4:X  d   U	5       eU4S jmSn[        R                  " [        US9   UR                  T5      n
S S S 5        [        R                   " UW
5        [        R                  " [        US9   UR                  U4S j5      nS S S 5        [        R                   " UW5        U[        :w  aE  UR#                  T5      R%                  5       n
U
R'                  U SSS9  [        R                   " XzSS9  [        R(                  " [+        UT5      " SS9[+        UT5      " SS95        g ! , (       d  f       GNv= f! , (       d  f       GN	= f! , (       d  f       N= f)Nrx   r   r   )r   rx   r[  r\  rH   r   jolier  F)r   r  raise_on_extra_warnings)subsetzinvalid frame shape: z (expected (z, 3))ry   c                 .   > [        [        T5      " U SS9$ )Nr   rf   )r  r   )r=   fnames    r   r>   %test_builtins_apply.<locals>.<lambda>6  s    wr5)!!4r   r   r   c                    > T" U 5      $ r   ru   )r=   npfuncs    r   r>   rc  =  s	    vayr   T)rs  rC  )check_dtyper   rf   )r   r   r   r   rR  r   r%   __name__rG  r$   r"   r#   r&   r  drop_duplicatesr  r)   rN  r!   r  rO   r  )rd   r)  rsr*   rq   rY  r+   rD   ngroups
assert_msgrC   r8  rb  re  s               @@r   test_builtins_applyrl    s    
		q	!B	2;;q!W-u~	FB$$R(BwK	D	BJJEC<4]D
FC		#	#%
 !	

 "$$D$12G(l7)5QJ<<GQ<'33'4F
CC		#	#M	=88F# 
>&(+		#	#M	=HH01	 
>&),Cx66%=,,.4E:
fEB7651q972u;MST;UV3
 
 
>	= 
>	=s$   HH,"H>
H),
H;>
I)hr   r   numpyr   pytestpandas._configr   pandasr'   r   r   r   r	   r
   pandas._testing_testingr"   pandas.tests.groupbyr   r-   rE   rR   rr   rw   markparametrizer    r   r   r   r   r   r   r
  r  r4  r7  r:  r?  rD  rS  rZ  rg  rm  ru  r  r  r  r  r  r  r  r  r  r  r  r'  r.  r9  r@  rI  rM  todayrG   rU  rc  rn  r  rk  interval_rangeperiod_ranger   r  r  r  r  r  r  r  r  r  r  r  r  paramr`   xfailr  r  r  r  r!  r+  r1  r9  rA  rE  rJ  rU  rZ  r  r  rG  rl  ru   r   r   <module>r{     sF  
   -    85&%,P'-T,$,  	/HI	JIV	L9	:QFC	C!:	$	1aA	BQFK	+4FG	H)Tl+77 		
 
Iy)?	CaVL!$	)  <+$=<+$\2,, 
$#	&&-('$T&3R2&0

@	@0-9 e}5, 6, F ,0,4,,@ u60 700-$2;-|,:,"C@94,..-"
,- ^^x~~',,.0@0E0E0GH,	,%-P eT]3( 4(,-, 
DK(
!Q
4=>	&& 	$1v1v&67	)QFQF+;<	+ff-=>8q\qQ<(	

 J!fq!fAA/0	
 -! --  &9;V%WX
- Y
-,$ 	FH e}50 6	
0$	,,*,@!@'2 D%=1, 2," I&6Ff0U ++##$6$8AU#V	
 Aj44ff5EcSVZX	
$&%$&-&,"	,-( D%=1, 2,,. )_)EF, G,. 
	

	

	
3%(R,S(R, D62,nd=S8T)UV, W, +t!45- 6- 	*+	,-	-	- )D%=9, :, sCo.%%!89%W : /%Wr   