+
    xȇi$1                        ^ RI Ht ^ RIt^ RIt^ RIHtHt ^ RIt	^ RIH
t
HtHtHtHt ^ RIHt ^ RIHtHtHt R t]P.                  ! . ROR7      R 4       t]P.                  R	 4       t]P4                  P7                  R
4      R 4       t]P4                  P7                  R
4      R 4       t]P4                  P=                  R. RO4      R 4       t]P.                  R 4       t ]P.                  R 4       t!]P4                  PD                  ]P4                  PB                  ]P4                  P7                  R4      ]P4                  P7                  R4       ! R R4      4       4       4       4       t#R# )    )dedentN)PyperclipExceptionPyperclipWindowsException)NA	DataFrameSeries
get_optionread_clipboard)CheckedCall_stringifyTextinit_qt_clipboardc                 6    / pVR 8w  d   WR&   V R 8w  d   WR&   V# )defaultexcelsep )r   r   kwargss   && n/Users/max/.openclaw/workspace/postharvest/venv/lib/python3.14/site-packages/pandas/tests/io/test_clipboard.pybuild_kwargsr      s*    F	w
iuM    )paramsc           
         V P                   pVR 8X  d   \        RRR.RRR./4      # VR8X  d   \        RRR	.RR
R./4      # VR8X  d   \        RRR.RRR./4      # VR8X  dW   \        \        P                  ! \	        ^4       Uu. uF  pRV 2NK
  	  up4      P                  ^^4      \        R4      R7      # VR8X  dZ   \        R4      p\        \        P                  P                  ^4      P                  ^ ^
V^,           ^3R7      \        R4      R7      # VR8X  d,   \        RRP                  4       RRP                  4       /4      # VR8X  dm   \        R4      ^,           p\        \        P                  ! \	        ^4       Uu. uF  pRV,          NK  	  up4      P                  ^^4      \        R4      R7      # VR8X  di   \        R\        P                  ! RR 4      R!,           R\        P                  ! ^^4      P                  \        P                  4      R"\        R#4      /4      # VR$8X  dC   \        \        P                  P                  ^4      P                  R&4      \        R4      R7      # VR%8X  dE   \        \        P                  P                  ^4      P                  ^ ^
R&4      \        R4      R7      # \        hu upi u upi )'delimsaz"a,	"b|czd	ef`bzhi'jzk''lmutf8u   µasdu   Ωœ∑`u   øπ∆˚¬u   œ∑`®utf16u   👍👍abcdefstringzi-)columnslongzdisplay.max_rows)sizenonasciienz
in Englishesu   en españolcolwidthzdisplay.max_colwidthxmixed      ?g      @g{Gz?cabcdefloatint)      )paramr   nparrayrangereshapelistr	   randomdefault_rngintegerssplitarangeastypeint64
ValueError)request	data_typeimax_rows_cw_s   &     r   dfrE   %   s    IH#X6fg=NOPP	f	#4cM:;VWXX	g	)+ABC%QVX
 	
 
h	HHb	2	11#h	23;;AqA4PU;
 	
 
f	01II!!!$--a8a<:K-LK
 	
 
j	 $ 2 2 4dM<O<O<QRSS	j	 /014HHr3AcCii34<<QBDQVK
 	
 
g	RYYsC(4/RYYq!_++BHH5T']
 	
 
g	..q188@$u+VV	e	II!!!$--aV<d5k
 	
 = 3 4s   KKc              #     "   R pV P                  4       ;_uu_ 4       pVP                  RVRR7       Rx  RRR4       R#   + '       g   i     R# ; i5i)z4
Mocks WinError to help with testing the clipboard.
c                      R # )zWindow Errorr   r   r   r   _mock_win_error$mock_ctypes.<locals>._mock_win_errorg   s    r   zctypes.WinErrorF)raisingN)contextsetattr)monkeypatchrH   ms   &  r   mock_ctypesrO   a   sA      
				!			#_e	D 
			s   AA
AA		ArO   c                    R pV P                  RR 4       RVP                   R2p\        P                  ! \        VR7      ;_uu_ 4        \        V4      ! 4        RRR4       R#   + '       g   i     R# ; i)zy
Give CheckCall a function that returns a falsey value and
mock get_errno so it returns false so an exception is raised.
c                      R # Fr   r   r   r   _return_false6test_checked_call_with_bad_call.<locals>._return_falsew   s    r   pandas.io.clipboard.get_errnoc                      R # Tr   r   r   r   <lambda>1test_checked_call_with_bad_call.<locals>.<lambda>z   s    r   zError calling z \(Window Error\)matchN)rL   __name__pytestraisesr   r   )rM   rS   msgs   &  r   test_checked_call_with_bad_callr`   p   s\     7F=1122E
FC	0	<	<M"$ 
=	<	<	<s   A&&A7	c                b    R pV P                  RR 4       \        V4      pV! 4       RJ g   Q hR# )z
Give CheckCall a function that returns a truthy value and
mock get_errno so it returns true so an exception is not raised.
The function should return the results from _return_true.
c                      R # rW   r   r   r   r   _return_true7test_checked_call_with_valid_call.<locals>._return_true   s    r   rU   c                      R # rR   r   r   r   r   rX   3test_checked_call_with_valid_call.<locals>.<lambda>   s    r   TN)rL   r   )rM   rc   checked_calls   &  r   !test_checked_call_with_valid_callrh      s6     7G |,L>T!!!r   textc                 Z   \         \        \        \        3p\	        W4      '       d    \        V 4      pV\        V 4      8X  g   Q hR# R \        V 4      P                   2p\        P                  ! \        VR7      ;_uu_ 4        \        V 4       RRR4       R#   + '       g   i     R# ; i)zJonly str, int, float, and bool values can be copied to the clipboard, not rZ   N)strr.   r-   bool
isinstancer   typer\   r]   r^   r   )ri   valid_typesresultr_   s   &   r   test_stringify_textrq      s     UD)K$$$%T"""337:3F3F2GI 	 ]]-S994  :999s   BB*	c              #   D  "   \        4       w  rV P                  4       ;_uu_ 4       pVP                  \        P                  P
                  R V4       VP                  \        P                  P
                  RV4       Rx  RRR4       R#   + '       g   i     R# ; i5i)clipboard_setclipboard_getN)r   rK   rL   pdio	clipboard)rM   qt_cutqt_pasterN   s   &   r   set_pyqt_clipboardrz      sb     (*F					!			"%%//?F;			"%%//?H= 
			s   %B AB
B B		B c              #   V   "   V P                  4       pVx  VP                  4        R # 5i)N)rw   clear)qappclips   & r   rw   rw      s     >>D
JJJLs   ')rz   rw   c                     a  ] tR t^t o ]P
                  P                  R. RO4      ]P
                  P                  R. RO4      R 4       4       tR tR t	R t
]P
                  P                  R. RO4      ]P
                  P                  R	. RO4      R
 4       4       t]P
                  P                  RRR.4      R 4       tR tR t]P
                  P                  RRP                  . RO4      . RO. R O. R!O.3RP                  . R"O4      . RO. R O.3.4      R 4       tR t]P
                  P                  R. R#O4      R 4       t]P
                  P                  RRR.4      R 4       tR tRtV tR# )$TestClipboardr   Nencodingc                    VP                  R W#R7       \        T;'       g    R^ VR7      p\        P                  ! W4       R # )N)r   r   r   	)r   	index_colr   )to_clipboardr
   tmassert_frame_equal)selfrE   r   r   rp   s   &&&& r   test_round_trip_frame_sep'TestClipboard.test_round_trip_frame_sep   s6     	d?CKK41xP
b)r   c                    VP                  R RR7       \        4       pVP                  4       VP                  4       8X  g   Q hVP                  VP                  8X  g   Q hR# )FNr   r   )r   r
   	to_stringshape)r   rE   rp   s   && r   test_round_trip_frame_string*TestClipboard.test_round_trip_frame_string   sM    
e.!||~!1!1!3333xx6<<'''r   c                    \         P                  ! \        R RR7      ;_uu_ 4        VP                  RRR7       RRR4       R#   + '       g   i     R# ; i)zAto_clipboard in excel mode requires a single character separator.F)r[   check_stacklevelTz\tr   Nr   assert_produces_warningUserWarningr   r   rE   s   &&r   test_excel_sep_warning$TestClipboard.test_excel_sep_warning   sE    ''U"
 

 OO$EO2
 
 
 
s   AA	c                    \         P                  ! \        R R7      ;_uu_ 4        VP                  RRR7       RRR4       R#   + '       g   i     R# ; i)zignores the sep argumentrZ   Fr   r   Nr   r   s   &&r   test_copy_delim_warning%TestClipboard.test_copy_delim_warning   s6    '';UVVOO%TO2 WVVVs   AA	r   r   c                    \        W4      pVP                  ! R/ VB  VP                  4       VP                  R R7      8X  g   Q hR# )r   r   Nr   )r   r   ri   to_csv)r   r   r   rE   rw   r   s   &&&&& r    test_clipboard_copy_tabs_default.TestClipboard.test_clipboard_copy_tabs_default   s=     c)
!&!~~2999#6666r   c                    \        VR 4      pVP                  ! R/ VB  \        RR7      pVP                  4       VP                  4       8X  g   Q hVP                  VP                  8X  g   Q hR# )Fz\s+r   Nr   )r   r   r
   r   r   )r   r   rE   r   rp   s   &&&  r   test_clipboard_copy_strings)TestClipboard.test_clipboard_copy_strings   sZ    c5)
!&!F+!R\\^333xx6<<'''r   c                   R R/p\        RP                  4       4      pVP                  V4       \        R/ VB pVP                  R,          R8X  g   Q h\        RP                  4       4      pVP                  V4       \        R/ VB p\        RP                  4       4      pVP                  V4       \        R/ VB p\
        P                  ! WV4       R# )	enginepythonz^
            John James	Charlie Mingus
            1	2
            4	Harry Carney
            zHarry Carneyz@
            a	 b
            1  2
            3  4
            z@
            a  b
            1  2
            3  4
            Nr   )   r   )r   stripsetTextr
   ilocr   r   )r   rw   clip_kwargsri   rE   resexps   &&     r   test_read_clipboard_infer_excel-TestClipboard.test_read_clipboard_infer_excel   s    * 
 	$*k* wwt}...  
 	$+{+ 
 	$+{+
c'r   c                    R pVP                  V4       \        4       p\        R. ROR. RO/R7      p\        P                  ! W44       R# )zcol1	col2
1	red
	blue
2	greencol1Ncol2)datar   N   redbluegreenr   r
   r   r   r   )r   rw   ri   rE   df_expecteds   &&   r   test_infer_excel_with_nulls)TestClipboard.test_infer_excel_with_nulls  sD    5$,0HI

 	b.r   
multiindex
c                    VP                  V^ ,          4       \        4       p\        R. ROR. RO/V^,          R7      p\        P                  ! W44       R# )r   r   Nr   )r   indexr   r   r   )r   rw   r   rE   r   s   &&&  r    test_infer_excel_with_multiindex.TestClipboard.test_infer_excel_with_multiindex'  sL    2 	*Q-(,0HIQ-
 	b.r   c                H   R p\         P                  ! \        VR7      ;_uu_ 4        VP                  RR7       RRR4       \         P                  ! \        VR7      ;_uu_ 4        \        RR7       RRR4       R#   + '       g   i     LK; i  + '       g   i     R# ; i)z&clipboard only supports utf-8 encodingrZ   ascii)r   N)r]   r^   r>   r   NotImplementedErrorr
   )r   rE   r_   s   && r   test_invalid_encoding#TestClipboard.test_invalid_encodingJ  s`    6]]:S11OOWO- 2]].c::G, ;: 21:::s   A=&B=B	B!	r   c                    \        R V./4      pVP                  4        \        4       p\        P                  ! W#4       R# )r   N)r   r   r
   r   r   )r   r   rE   rp   s   &&  r   test_raw_roundtrip TestClipboard.test_raw_roundtripR  s5     '(
!
b)r   r   r+   r   c                `   VR 8X  d<   \         P                  ! R 4      p\        P                  ! VP	                  4       4      pM\        P
                  ! V4      pRpVP                  V4       \        P                  ! RV4      ;_uu_ 4        \        RW4R7      p	RRR4       \        R\        RR.VR	7      R
\        ^^.RR	7      R\        RR.RR	7      R\        RR.VR	7      R\        ^\        .RR	7      R\        R\        .RR	7      R\        \        \        .RR	7      R\        RR.RR	7      R\        R\        .RR	7      /	4      p
VR 8X  de   ^ RIHp \        V
P                   Uu/ uF"  pW! XP                  W,          RR7      4      bK$  	  up4      p
V! XP                  RR.4      4      V
R&   V'       dE   V
P                  P!                  \        P
                  ! V\"        P$                  R7      4      V
n        \&        P(                  ! X	V
4       R#   + '       g   i     EL; iu upi )pyarrowz@a,b,c,d,e,f,g,h,i
x,1,4.0,x,2,4.0,,True,False
y,2,5.0,,,,,False,zmode.string_storage,)r   dtype_backendr   Nr   r(   y)dtyper   Int64r+   g      @g      @Float64defghTFbooleanrA   )ArrowExtensionArray)from_pandas)na_value)r]   importorskipru   
ArrowDtyper    StringDtyper   option_contextr
   r   r   r   pandas.arraysr   r!   r3   r<   r2   nanr   r   )r   rw   string_storager   r   using_infer_stringpastring_dtyperi   rp   expectedr   cols   &&&&&&       r   !test_read_clipboard_dtype_backend/TestClipboard.test_read_clipboard_dtype_backendZ  s   
 I%$$Y/B==5L>>.9L 	$4nEE#=XF F VS#Jl;VQF'2VS#Ji8VS$K|<VQG73VS"IY7VRHG4VT5M;VUBKy9

 I%9   (/// ,RXXhmQUX-VWW/H 0$0FGHSM'//66~? H 	fh/A FEE(s   H'(H+H(	c                    R p\         P                  ! \        VR7      ;_uu_ 4        \        RR7       RRR4       R#   + '       g   i     R# ; i)zPdtype_backend numpy is invalid, only 'numpy_nullable' and 'pyarrow' are allowed.rZ   numpy)r   N)r]   r^   r>   r
   )r   r_   s   & r   test_invalid_dtype_backend(TestClipboard.test_invalid_dtype_backend  s6    % 	 ]]:S111 2111s	   >A	r   )Nr   r   |)NzUTF-8zutf-8r   )r   Nr   )TNr   )z			col1	col2zA	0	True	1	redzA	1	True		bluezB	0	False	2	green)Ar   B)r   r   r   )TTF)z		col1	col2z	A	0	1	redz	A	1		bluezB	0	2	green)u   👍...u   Ωœ∑`...zabcd...)r\   
__module____qualname____firstlineno__r]   markparametrizer   r   r   r   r   r   r   r   joinr   r   r   r   r   __static_attributes____classdictcell__)__classdict__s   @r   r   r      s     [[U$:;[[Z)IJ* K <*(33 [[U$;<[[W&=>7 ? =7 [[UT9$56( 7(&(P/ [[ 		 !)-@A
 		X !),		
,/-,/- [[V%PQ* R* [[XX7/0 8/0b2 2r   r   )
r   r   r   r    r"   r$   r'   r)   r-   r.   )String_testTr   r*   y              ?)$textwrapr   r   r2   r]   pandas.errorsr   r   pandasru   r   r   r   r	   r
   pandas._testing_testingr   pandas.io.clipboardr   r   r   r   fixturerE   rO   r   usefixturesr`   rh   r   rq   rz   rw   
single_cpur   r   r   r   <module>r     sy     
     ++\   '% (%  '" ("" 
	!	!     -.%R2 R2 & /  R2r   