+
    xȇi{6                     |   ^ RI t^ RIt^ RIt^ RIHtHtHtHtH	t	H
t
 ^ RIHt ^ RIHt ^ RIHtHt ]P&                  ! ]! . RSO^,          RR7      ]! . RTO^,          RR7      ]! . RUO^,          R
R7      ]! . RVO^,          4      ]! . RWO^,          4      ]! ]P(                  ! R^	R7      4      ]! ]P(                  ! R^	RR7      4      ]! ]
! R^	R7      4      .R7      R 4       t]P&                  ! RR.R7      R 4       tR tR t]P2                  P5                  RR].4      R 4       t]P2                  P5                  R^R]P:                  ! R4      .4      R 4       tR tR t ]P2                  P5                  R^R]P:                  ! R4      .4      R 4       t!R  t"R! t#]P2                  P5                  R"]! . RSO4      ]! . RXO4      ]! R#R$]PH                  .4      ]! . RXO. RYOR%7      ]! . RUO4      ]! R]PH                  R	.4      ]! . RZO4      ]! . RWO4      ]! ]R7      ]! R&. RUOR'. RSO/4      ]! 4       ]! ]PJ                  ! R[]PH                  4      4      ]! R(. R\OR). R]OR*]! . R^O]R7      R+]P(                  ! R^R7      /4      ]! ]&! ^4      ]P(                  ! R,^R7      R%7      ]! ]&! ^4      ]P(                  ! R,^R7      R%7      ]! ]	! R,^
R+R-7      4      ]! ]P(                  ! R^RR7      4      .4      R. 4       t']P2                  P5                  R"]! . RSO4      ]! . RXO4      ]! R#R$]PH                  .4      ]! . RXO. RYOR%7      ]! . RUO4      ]! R]PH                  R	.4      ]! . RZO4      ]! . RWO4      ]! R&. RUOR'. RSO/4      ]! ]PJ                  ! R[]PH                  4      4      ]! R(. R\OR). R]OR*]! . R^O]R7      R+]P(                  ! R^R7      /4      ]! ]&! ^4      ]P(                  ! R,^R7      R%7      ]! ]&! ^4      ]P(                  ! R,^R7      R%7      ]! ]	! R,^
R+R-7      4      ]! ]P(                  ! R^RR7      4      .4      R/ 4       t(]P2                  P5                  R"]! . RSO4      ]! . RWO4      ]
! R0^R7      ]	! R,R+^R17      ]PR                  ! ]&! ^4      . R_O]P(                  ! R^R7      .4      ]PR                  ! ]PT                  ! ]+! R24      4      ]&! ^4      .4      .4      R3 4       t,R4 t-R5 t.]P2                  P5                  R6]].4      ]P2                  P5                  RR7R8.4      R9 4       4       t/]P2                  P5                  R:. R`O. RaO]P(                  ! ^ ^R7      .4      ]P2                  P5                  R;RR.4      R< 4       4       t0R= t1R> t2R? t3R@ t4RA t5RB t6RC t7RD t8]P2                  P5                  RE]&! ^4      4      ]P2                  P5                  RF^ ^.4      RG 4       4       t9RH t:]P2                  P5                  RI];! RJ4      ];! RK4      .RLRM..RbRc.RNRO...4      RP 4       t<RQ t=RR t>R# )d    N)	DataFrameIndex
MultiIndexSeriesperiod_rangetimedelta_range)hash_tuples)
hash_arrayhash_pandas_objectint32dtypefloat32accategoryTF20130101)periodsz
US/Eastern)r   tz2000)paramsc                     V P                   # Nparamrequests   &n/Users/max/.openclaw/workspace/postharvest/venv/lib/python3.14/site-packages/pandas/tests/util/test_hashing.pyseriesr      s     ==    c                     V P                   # r   r   r   s   &r   indexr"   %   s    ==r    c                      \        \        . RO4      4      p \        \        P                  ! . RORR7      . ROR7      p\
        P                  ! W4       R# )foouint64r   r"   Nr$   barbaz)l   7*  l   6jzd l   n*5)r   r   r   nparraytmassert_series_equalresultexpecteds     r   test_consistencyr1   *   sE      &; <=F
J	
 $H 6,r    c                 p    V P                   p\        P                  ! \        V4      \        V4      4       R # r   )valuesr,   assert_numpy_array_equalr
   )r   arrs   & r   test_hash_arrayr6   8   s#    
--C
3CAr    r   Uc                     \        \        P                  ! . RO4      4      p\        \        P                  ! . ROV R7      4      p\        P                  ! W4       R# )3r   N)r9   4All)      r;   )r
   r*   r+   r,   r4   )r   result1result2s   &  r   test_hash_array_mixedr@   =   s9    "345G-u=>G1r    valr$   c                     R p\         P                  ! \        VR7      ;_uu_ 4        \        V 4       RRR4       R#   + '       g   i     R# ; i)zmust pass an ndarray-likematchN)pytestraises	TypeErrorr
   rA   msgs   & r   test_hash_array_errorsrJ   E   s.    
%C	y	,	,3 
-	,	,	,	   =A	c                      \         P                  ! R .RR7      p Rp\        P                  ! \        VR7      ;_uu_ 4        \        V 4       RRR4       R#   + '       g   i     R# ; i)z2018-10-28 01:20:00zEurope/Berlin)r   zUse hash_pandas_object insteadrC   N)pdDatetimeIndexrE   rF   rG   r
   )objrI   s     r   test_hash_array_index_exceptionrP   L   sD    


12
GC
*C	y	,	,3 
-	,	,	,s    AA'	c                  n   . ROp \        V 4      p\        \        P                  ! V 4      4      P                  p\
        P                  ! W4       RP                  RR.4      p\        P                  ! \        VR7      ;_uu_ 4        \        V ^ ,          4       RRR4       R#   + '       g   i     R# ; i)   |zobject is not iterablez&zip argument #1 must support iterationrC   N))rR   one)rR   two)   rT   )r	   r   r   from_tuplesr3   r,   r4   joinrE   rF   rG   )tuplesr/   r0   rI   s       r   test_hash_tuplesrZ   U   s}    1F F!*"8"8"@AHHH1 ((,.VW
XC	y	,	,F1I 
-	,	,	,s   B##B4	c                     R p\         P                  ! \        VR7      ;_uu_ 4        \        V 4       RRR4       R#   + '       g   i     R# ; i)z'must be convertible to a list-of-tuplesrC   N)rE   rF   rG   r	   rH   s   & r   test_hash_tuples_errr\   b   s/    
3C	y	,	,C 
-	,	,	,rK   c                      \         P                  ! . RO4      p V P                  RJ g   Q h\        V 4      pVP                  RJ g   Q hR# )v   TN))r^   i  )   r^   )3      )f   r`   )r   rW   	is_uniquer   )mir/   s     r   test_multiindex_uniquere   i   sC    			 N	OB<<4#Ft###r    c                     \        . RO. RO.. RO. RO.RR.R7      p V P                  4       pV P                  V4      '       g   Q h\        V P                  4      P                  \        VP                  4      4      '       g   Q hR# )	bcol1col2)levelscodesnamesN)rg   dr   rR   rV   r<   )r   rR   r   rV   )rV   r   r   rR   )r   _sort_levels_monotonicequalsr   r3   )rd   reconss     r   test_multiindex_objectsrr   q   st    	+\*v
B
 &&(F 99V""5#78888r    rO         ?      ?r&   xyABCDz
2020-01-01)r   freqc                 b    \        WR 7      p\        WR 7      p\        P                  ! W#4       R# r&   Nr   r,   r-   rO   r"   r   rg   s   &&  r   test_hash_pandas_objectr   ~   s&    < 	3,A3,A1 r    c                 n    \        V R R7      p\        V RR7      pW8H  P                  4       '       d   Q hR# Tr&   FNr   allrO   r   rg   s   &  r   ,test_hash_pandas_object_diff_index_non_emptyr      s1    8 	3d+A3e,A||~~~r    z1 day)r{   r   aabcc                 b    \        WR 7      p\        WR 7      p\        P                  ! W#4       R# r}   r~   r   s   &&  r   test_hash_pandas_indexr      s&     	3,A3,A1 r    c                 b    \        WR 7      p\        WR 7      p\        P                  ! W#4       R# r}   r~   )r   r"   r   rg   s   &&  r   test_hash_pandas_seriesr      s$    6/A6/A1 r    c                 n    \        V R R7      p\        V RR7      pW8H  P                  4       '       d   Q hR# r   r   )r   r   rg   s   &  r   "test_hash_pandas_series_diff_indexr      s/    6.A6/A||~~~r    klassfloat64objectc                 v    V ! . VR 7      p\        W2R7      p\        W2R7      p\        P                  ! WE4       R# )r   r&   Nr~   )r   r   r"   rO   r   rg   s   &&&   r   test_hash_pandas_empty_objectr      s2    
 %
 C3,A3,A1 r    s1
categorizec                 j   \        V 4      p V P                  R 4      P                  P                  V 4      pVP                  P                  \	        \        V 4      4      4      p\        WR7      p\        W!R7      p\        W1R7      p\        P                  ! WE4       \        P                  ! WF4       R# )r   r   N)	r   astypecatset_categorieslistreversedr   r,   r-   )r   r   s2s3h1h2h3s   &&     r   test_categorical_consistencyr      s     
B	:		"	"	1	1"	5B			tHRL1	2B 
B	6B	B	6B	B	6B2"2"r    c                    \         P                  ! R ^RV R7      p\         P                  P                  . ROVR7      p\	        VRR7      p\         P
                  ! R 4      P                  V 4      p\         P                  P                  R^ .V.R7      p\	        VRR7      pV^ ,          V9   g   Q hV^,          V9   g   Q hR# )	z
2012-01-01rx   )r   nameunit)
categoriesFr   N)r   r   rR   rV   r<   r=   )rM   
date_rangeCategorical
from_codesr
   	Timestampas_unit)r   dtir   r0   tscat2r/   s   &      r   %test_categorical_with_nan_consistencyr     s    
--ac
EC
..
#
#$7C
#
HC#%0H	l	#	+	+D	1B>>$$b!W"$>D/F!9   !9   r    c                      R p \         P                  ! \        V R7      ;_uu_ 4        \        \        P
                  ! R4      4       RRR4       R#   + '       g   i     R# ; i)zUnexpected type for hashingrC   r   N)rE   rF   rG   r   rM   r   rI   s    r   test_pandas_errorsr     s8    
'C	y	,	,2<<
34 
-	,	,	,    AA"	c                      \        \        R 4      4      p \        V RR7      p\        V RR7      pW8g  P                  4       '       g   Q hR# )abc9876543210123456hash_key9876543210123465N)r   r   r   r   r   s      r   test_hash_keysr     s>    
 e
C3);<A3);<AF<<>>>r    c                      \        R \        P                  ! ^4      R\        R4      /4      p \	        V RR7      p\	        V RR7      pW8g  P                  4       '       g   Q hR# )ru   rv   r   r   r   r   N)r   r*   aranger   r   r   r   s      r   test_df_hash_keysr   '  sO     S"))A,T%[9
:C3);<A3);<AF<<>>>r    c                     \        R \        P                  ! ^4      R\        R4      /4      p \	        V RR7      p\	        V RR7      pV^ ,          V^ ,          8X  g   Q hV^,          V^,          8w  g   Q hV^,          V^,          8X  g   Q hR# )ru   rv   za+cutf8)encodingutf7N)r   r*   r   r   r   r   s      r   test_df_encodingr   2  sy     S"))A,T%[9
:C30A30A Q41Q4<<Q41Q4<<Q41Q4<<r    c            	          R p \         P                  ! \        V R7      ;_uu_ 4        \        \	        \        R4      4      RR7       RRR4       R#   + '       g   i     R# ; i)z&key should be a 16-byte string encodedrC   r   r$   r   N)rE   rF   
ValueErrorr   r   r   r   s    r   test_invalid_keyr   A  s:    
2C	z	-	-6$u+.? 
.	-	-	-r   c                     \        \        R 4      4      P                  P                  R4      p\	        WR7      p\	        WR7      p\
        P                  ! W#4       R# )r   r   r&   N)r   r   strencoder   r,   r-   r"   rO   r   rg   s   &   r   test_already_encodedr   I  sC    
e

!
!
(
(
0C3,A3,A1 r    c                     \        \        R 4      4      p\        WR7      p\        WR7      p\        P                  ! W#4       R# )r   r&   N)r   r   r   r,   r-   r   s   &   r   test_alternate_encodingr   Q  s2    
e
C3,A3,A1 r    l_expl_addc                     ^V ^,           ,          V,           p\         P                  ! \        V4       Uu. uF  p\        V4      NK  	  up\        R7      p\        VR4      pV^ ,          V^,          8X  d   Q hR# u upi )rV   r   r   N)r*   r+   ranger   r   r
   )r   r   lengthiidxr/   s   &&    r   test_same_len_hash_collisionsr   X  sh     519%F
((E&M2MqCFM2&
ACV$FayF1I%%%% 3s   A;c                  ^   R R.p \        \        P                  ! V R,          \        R7      R4      p\        P                  ! R.\        P
                  R7      p\        P                  ! W4       \        \        P                  ! V R,          \        R7      R4      p\        P                  ! R.\        P
                  R7      p\        P                  ! W44       \        \        P                  ! V \        R7      R4      p\        P                  ! V\        P                  ! W$.^ R7      4       R	# )
a   Ingrid-9Z9fKIZmkO7i7Cn51Li34pJm44fgX6DYGBNj3VPlOH50m7HnBlPxfIwFMrcNJNMP6PSgLmwWnInciMWrCSAlLEvt7JkJl4IxiMrVbXSa8ZQoVaq5xoQPjltuJEfwdNlO6jo8qRRHvD8sBEBMQASrRa6TsdaPTPCBo3nwIBpE7YzzmyH0vMBhjQZLx1aCT7faSEx7PgFxQhHdKFWROcysamgy9iVj8DO2Fmwg1NNl93rIAqC3mdqfrCxrzfvIY8aJdzin2cHVzy3QUJxZgHvtUtOLxoqnUHsYbNTeq0xcLXpTZEZCxD4PGubIuCNf32c33M7HFsnjWSEjE2yVdWKhmSVodyF8hFYVmhYnMCztQnJrt3O8ZvVRXd5IKwlLexiSp4h888w7SzAIcKgc3g5XQJf6MlSMftDXm9lIsE1mJNiJEv6uY6pgvC3fUPhatlR5JPpVAHNSbSEE73MBzJrhCAbOLXQumyOXigZuPoME7QgJcBalliQol7YZ9a   Tim-b9MddTxOWW2AT1Py6vtVbZwGAmYCjbp89p8mxsiFoVX4FyDOF3wFiAkyQTUgwg9sVqVYOZo09Dh1AzhFHbgij52ylF0SEwgzjzHH8TGY8Lypart4p4onnDoDvVMBa0kdthVGKl6K0BDVGzyOXPXKpmnMF1H6rJzqHJ0HywfwS4XYpVwlAkoeNsiicHkJUFdUAhG229INzvIAiJuAHeJDUoyO4DCBqtoZ5TDend6TK7Y914yHlfH3g1WZu5LksKv68VQHJriWFYusW5e6ZZ6dKaMjTwEGuRgdT66iU5nqWTHRH8WSzpXoCFwGcTOwyuqPSe0fTe21DVtJn1FKj9F9nEnR9xOvJUO7E0piCIF4Ad9yAIDY4DBimpsTfKXCu1vdHpKYerzbndfuFe5AhfMduLYZJi5iAw8qKSwR5h86ttXV0Mc0QmXz8dsRvDgxjXSmupPxBggdlqUlC828hXiTPD7am0yETBV0F3bEtvPiNJfremszcV8NcqAoARMe:r   rR   Nr   r   l   rIU} :rR   rV   Nl   pX^ )axisN)	r
   r*   asarrayr   r+   r%   r,   r4   concatenate)hashesr>   	expected1r?   	expected2r/   s         r   test_hash_collisionsr   b  s    
 	K 	KF F3Kv>GG./ryyAI3F3Kv>GG./ryyAI3

68&AF	7MTU(VWr    zdata, result_data12l   .C7j| l   93B
 l   pH-\h+ l   1"Rk c                     \        R V /4      p\        V4      p\        V\        P                  R7      p\
        P                  ! W44       R# )datar   N)r   r   r   r*   r%   r,   r-   )r   result_datadfr/   r0   s   &&   r   test_hash_with_tupler   x  s:     
FD>	"B#Fk3H6,r    c                      \        R ^. 3^/ 3./4      p \        P                  ! \        RR7      ;_uu_ 4        \	        V 4       RRR4       R#   + '       g   i     R# ; i)r   zunhashable type: 'list'rC   N)r   rE   rF   rG   r   )df3s    r   test_hashable_tuple_argsr     s_     
 		
C 
y(A	B	B3 
C	B	B	Bs   AA	c                      \         P                  P                  \        R R.4      RR7      p \        RR.RR7      p\        P
                  ! W4       R# )r   rg   Nr   l   A!M| l   Z4^	 r%   r   )rM   utilr   r   r,   r-   r.   s     r   test_hash_object_none_keyr     sE    WW''Sz(:T'JF*,@ARH6,r    rn   )Ng      @g      @)r   rg   r   )rm   ef)TFT)rs   rt   g	@)rt   g?gffffff
@)r   Nr   )
   r=   )        rs   g       @g      @g      @)r   rs   r   rs   r   )foo1foo2foo3foo4foo5r'   )r   rg   r   rm   )i  i  i  i  )rR   )rV   )?numpyr*   rE   pandasrM   r   r   r   r   r   r   pandas._testing_testingr,   pandas.core.util.hashingr	   pandas.utilr
   r   fixturer   r   r"   r1   r6   markparametrizer   r@   r   rJ   rP   rZ   r\   re   rr   nanfullr   r   r   from_productCategoricalIndexr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   tupler   r   r    r    r   <module>r     sM        0 y1}G,!#95"*5"#"Q&'r}}Z34r}}Z|DEvq12	 e}% &-B
 3-02 12 E2<<
+C DE F
 E2<<
+C DE F$
9 	yS"&&!"o6RVVS!" "#V3i89"'''266*+..UC6RR]]:q9		
 	%("--a"HIuQxr}}\1EF|L"3?@r}}Z|DE1:!;:! 	yS"&&!"o6RVVS!" "#3i89"'''266*+..UC6RR]]:q9		
 	%("--a"HIuQxr}}\1EF|L"3?@r}}Z|DE-676 	i!"+\Q71X,bmmJPQ.RS	
 	!4!4T&\!BE!H MN	!!! 5&/29h"78! 9 3!  
a# e}5# 6#$
!5
@!! %(+1a&)& * ,&X, 
*eCj	!$8:M#NO
+-@AB-- *-r    