+
    yȇi                        ^ RI t ^ RIt^ RIHt ^ RIHt R tR tR t	R t
R tR tR	 tR
 tR tR t] P"                  P%                  RRR.4      ] P"                  P%                  RRR/. RO3RRRR/. RO3RR/. RO3/ . RO3RR/. RO3RRRR/. RO3.4      R 4       4       t] P"                  P%                  RRR.4      ] P"                  P%                  RRR/RR.3RRRR/RR.3RR/RR.3/ RR.3.4      R 4       4       tR tR tR# )    N)
MultiIndexc                 z    V P                    Uu. uF  q"P                  NK  	  up\        V4      8X  g   Q hR # u upi )N)levelsnamelist)indexnameslevels   && u/Users/max/.openclaw/workspace/postharvest/venv/lib/python3.14/site-packages/pandas/tests/indexes/multi/test_names.pycheck_level_namesr      s,    $)LL1L5JJL1T%[@@@1s   8c                      \         P                  ! . RORR.R7      p V R,          P                  V P                  8X  g   Q hR# )axyr	   :   NNN))r   br      )cd)r   from_tuplesr	   )r   s    r   test_slice_keep_namer      s3    ?SzRAR5;;!''!!!    c            	          \         P                  ! R . ROR. ROR. RO/4      p V P                  R4      p ^	^
.V P                  ^
&   \         P                  ! R . ROR. ROR. R	O/4      pVP                  R4      p\        P
                  ! W4       R# )
r   r   zN)r   r      )r   r      )r      )r   r   r   	   )r   r   r   
   )r   r   r    r"   )pd	DataFrame	set_indexloctmassert_frame_equal)resultdf_expecteds     r   test_index_name_retainedr+      s|    \\3	3	3
KLFc"FWFJJrN,,	lC^DK '',K&.r   c                    V P                    Uu. uF  qP                  NK  	  upR R.8X  g   Q hV P                  4       pV P                  4       pV P	                  4       pV P
                   Uu. uF  qUR,           NK  	  ppW`n        \        V RR.4       \        VR R.4       \        VR R.4       \        VR R.4       VP
                   Uu. uF  qUR,           NK  	  upVn        \        V RR.4       R# u upi u upi u upi )firstsecondr   firstasecondar   N)r   r   viewcopy_viewr	   r   )idxr
   r1   r2   shallow_copyr   	new_namess   &      r   test_changing_namesr7      s    $'JJ/J5JJJ/GX3FFFF88:D88:D99;L ),		2		I2IcHi01 dWh/0dWh/0lWh$78 2>1C1CD1C**1CDLcHi01% 0 3 Es   C5-C:C?c                 f    V P                  . RO4      pVP                  V P                  8X  g   Q hR# )   N)r9   r   r   )taker	   )r4   takens   & r   test_take_preserve_namer<   3   s&    HHYE;;#))###r   c                     \         P                  ! RR.RR.R7      p V P                  4       pV P                  V4      '       g   Q hV P                  RR.8X  g   Q hVP                  RR.8X  g   Q hV P                  RR.R7      pV P                  V4      '       g   Q hV P                  RR.8X  g   Q hVP                  RR.8X  g   Q hV P                  RR.R7      pV P                  V4      '       g   Q hV P                  RR.8X  g   Q hVP                  RR.8X  g   Q h\
        P                  ! \        RR7      ;_uu_ 4        V P                  R	.R7       R
R
R
4       \
        P                  ! \        RR7      ;_uu_ 4        V P                  R	.R..R7       R
R
R
4       R
#   + '       g   i     LU; i  + '       g   i     R
# ; i)r   MyName1MyName2r   NewName1NewName2)r   z$Length of new names must be 2, got 1matchmarioNz'MultiIndex.name must be a hashable typeluigir   )r9      )	r   r   r2   equalsr	   pytestraises
ValueError	TypeError)	multi_idx
multi_idx1
multi_idx2
multi_idx3s       r   test_copy_namesrP   8   s    &&'7	9?UVI!JJ''''??y)4444	95555z:&>?JJ''''??y)4444
J7777j*%=>JJ''''??y)4444
J7777 
z)O	P	PgY' 
Q 
y(Q	R	Rwi'34 
S	R 
Q	P 
S	R	Rs   F#F6#F3	6G	c           
         V P                   R R.8X  g   Q hV P                   Uu. uF  qP                  NK  	  ppW P                   8X  g   Q hT p\        P                  ! \
        RR7      ;_uu_ 4        \        VR. \        VP                   4      ORN4       RRR4       \        P                  ! \
        RR7      ;_uu_ 4        \        VR. 4       RRR4       V P                  w  rEV P                  w  rg\        P                  ! \
        RR7      ;_uu_ 4        \        WE.Wg.R .R7       RRR4       \        P                  ! \
        RR7      ;_uu_ 4        \        WE.Wg.. R
OR7       RRR4       RR	.Vn         VP                   Uu. uF  qP                  NK  	  ppVRR	.8X  g   Q hR# u upi   + '       g   i     EL#; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L; iu upi )r-   r.   z^Length of namesrB   r	   thirdN)r   codesr	   r   r   )r-   r.   rR   )
r	   r   r   rH   rI   rJ   setattrr   rS   r   )r4   r
   level_namesr   
major_axis
minor_axismajor_codesminor_codess   &       r   
test_namesrZ   V   s   99(+++++.::6:%:::K6))### E	z);	<	<w =$u{{"3 =W => 
=	z);	<	<w# 
= !ZZJ"yyK	z);	<	<+,)	
 
= 
z);	<	<+,.	
 
= *EK+0<<8<%::<K83*$$$; 7
 
=	<	<	<	< 
=	< 
=	< 9s;   F,2%F1GGG+	G>1G	G	G(	+G;	c                     R R .V n         \        P                  ! \        RR7      ;_uu_ 4        V P	                  R 4       RRR4       R#   + '       g   i     R# ; i)foozname foo occurs multiple timesrB   N)r	   rH   rI   rJ   _get_level_numberr4   s   &r   (test_duplicate_level_names_access_raisesr_   y   s=    CI	z)I	J	Je$ 
K	J	J	Js   A

A	c                      \         P                  ! R .^^..R R.R7      p V P                  ^ ,          P                  R 8X  g   Q hV P                  ^,          P                  R8X  g   Q hR# )r   r   r   N)r   from_productr   r   r^   s    r   test_get_names_from_levelsrb      sZ    

!
!C51a&/#s
DC::a=$$$::a=$$$r   c                     \         P                  ! R .^^..R R.R7      p \        P                  ! \        RR7      ;_uu_ 4        RV P
                  ^ ,          n        RRR4       \        P                  ! \        RR7      ;_uu_ 4        RV P
                  ^,          n        RRR4       \        P                  ! ^V P
                  ^ ,          R7      p\        P                  ! \        RR7      ;_uu_ 4        RVP                  n        RRR4       \        P                  P                  R	J g   Q h\        P                  P                  R	J g   Q hR#   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     Lx; i)
r   r   r   	set_namesrB   r\   N)r   barF)r   ra   rH   rI   RuntimeErrorr   r   r#   Seriesr   Index_no_setting_name
RangeIndex)r4   news     r   %test_setting_names_from_levels_raisesrl      s    

!
!C51a&/#s
DC	|;	7	7"

1 
8 
|;	7	7"

1 
8 ))ASZZ]
+C	|;	7	7		 
8 88$$---==))U222 
8	7 
8	7 
8	7s$   E	E&7E9E#	&E6	9F		funcrenamerd   zrename_dict, exp_namesr   r   r   r   r   c                     \         P                  ! ^^.^^.^^... ROR7      p\        W04      ! V4      p\         P                  ! ^^.^^.^^..VR7      p\        P                  ! WE4       R# )r   r   Nr   r   r   r   from_arraysgetattrr'   assert_index_equalrm   rename_dict	exp_namesmir)   expecteds   &&&   r   +test_name_mi_with_dict_like_duplicate_namesrz      sk     
		!Q!Q!Q 8	PBR{+F%%1v1v1v&>iPH&+r   c                     \         P                  ! ^^.^^..RR.R7      p\        W04      ! V4      p\         P                  ! ^^.^^..VR7      p\        P                  ! WE4       R# )r   r   r   r   Nrq   ru   s   &&&   r   test_name_mi_with_dict_liker|      sc     
		!Q!Q 0c
	CBR{+F%%1v1v&6iHH&+r   c                      \         P                  ! ^^.4      p Rp\        P                  ! \        VR7      ;_uu_ 4        V P                  RR/4       RRR4       R#   + '       g   i     R# ; i)r   z2Can only pass dict-like as `names` for MultiIndex.rB   r   r   N)r#   rh   rH   rI   rK   rd   )ixmsgs     r   &test_index_name_with_dict_like_raisingr      sI    	1a&	B
>C	y	,	,
c3Z  
-	,	,	,s   AA.	c                      \         P                  ! ^^.^^..RR.R7      p \        P                  ! \        RR7      ;_uu_ 4        V P                  RR/RR/R7       RRR4       R#   + '       g   i     R# ; i)	r   r   r   r   z(Can not pass level for dictlike `names`.rB   r   )r	   r
   N)r   rr   rH   rI   rK   rd   )rx   s    r   &test_multiindex_name_and_level_raisingr      s_    			!Q!Q 0c
	CB	y(R	S	S
C:c3Z8 
T	S	S	Ss   A''A8	)r   r   r   )r   r   r   )r   r   r   rp   )rH   pandasr#   r   pandas._testing_testingr'   r   r   r+   r7   r<   rP   rZ   r_   rb   rl   markparametrizerz   r|   r   r    r   r   <module>r      sp      A"
	/2,$
5< %F%%3  (K!89
s_%
sC	/
s_%	_
s_%
sC	/
,
 :, (K!89
sc3Z 
sC	Sz*
sc3Z 	c3Z	, :,!9r   