
    {hh,B                        d Z ddlmZ ddlZddlZddlZddlmZ ddl	m
Z
 ddlmZmZmZmZmZmZmZmZmZmZmZmZmZmZ ddlmZ d Zd Zd	 Zd
 Z d Z!d Z"ej#        $                    d edg dd           eddi           eddie%          g eg dg dd           edg di           edg di          gg          d             Z&d Z'd Z(d Z)d Z*d Z+d Z,d Z-d Z.d Z/d Z0d  Z1d! Z2d" Z3d# Z4ej#        $                    d$ ed%d&d'(           ed)d&d*(           ed+d&d,(          g          d-             Z5d. Z6d/ Z7d0 Z8d1 Z9d2 Z:d3 Z;d4 Z<d5 Z=ej#        $                    d6i d7d8ig          ej#        $                    d9g d:d:g e>dd;           ej?        g           g          d<                         Z@ G d= d>          ZA G d? d@          ZBdS )Az test get/set & misc     )	timedeltaN)WARNING_CHECK_DISABLED)IndexingError)NA	DataFrameIndex
IndexSlice
MultiIndexNaTSeries	Timedelta	Timestampconcat
date_rangeisnaperiod_rangetimedelta_rangec                     t          t          j                            d                              d          g d          } d}d}t          j        t          |          5  t          j	        t          |          5  | d          d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t          j        t          |          5  t          j	        t          |          5  d| d<   d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t          j        t          d	          5  | d
          d d d            n# 1 swxY w Y   |                                 } t          j        t          |          5  t          j	        t          |          5  | d          d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   d}t          j        t          |          5  t          j	        t          |          5  d| d<   d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )N      )abr   r   r   indexz>Series.__[sg]etitem__ treating keys as positions is deprecatedz/index 5 is out of bounds for axis 0 with size 5matchr   z^'c'$cz7index 5 is out of bounds for axis (0|1) with size 5|^5$)r   nprandomdefault_rngstandard_normalpytestraises
IndexErrortmassert_produces_warningFutureWarningKeyError
sort_index)swarn_msgmsgs      a/var/www/histauto/venv/lib/python3.11/site-packages/pandas/tests/series/indexing/test_indexing.pytest_basic_indexingr.      sb   
	a  0033;T;T;T	 	 	A PH
;C	z	-	-	-  'XFFF 	 	aDD	 	 	 	 	 	 	 	 	 	 	 	 	 	 	               
z	-	-	-  'XFFF 	 	AaD	 	 	 	 	 	 	 	 	 	 	 	 	 	 	               
xx	0	0	0  	#               	
A	z	-	-	-  'XFFF 	 	aDD	 	 	 	 	 	 	 	 	 	 	 	 	 	 	               EC	z	-	-	-  'XFFF 	 	AaD	 	 	 	 	 	 	 	 	 	 	 	 	 	 	                 s   #B+?	BB+B	B+B	B++B/2B/D-C?3D?D	DD	DDD<	EEEG'	F<0G<G 	 GG 	GGG;IH)I)H-	-I0H-	1IIIc                     | }t          g d|          }t          t          d          |          }|d         }t          ddgt          ddg|                    }t          j        ||d	           d S )
N   r   r1   dtype   r   r1   r   r   Tcheck_exactr   r   ranger%   assert_series_equal)any_numeric_dtyper3   idxserresultexpecteds         r-   6test_getitem_numeric_should_not_fallback_to_positionalr?   :   s    E
			
'
'
'C
q
%
%
%CVFq!fE1a&$>$>$>???H68>>>>>>    c                     | }t          g d|          }t          t          d          |          }d|d<   t          g d|          }t          j        ||d	           d S )
Nr0   r2   r4   r   
   r1   )rB   r1   rB   Tr5   r7   )r:   r3   r;   r<   r>   s        r-   6test_setitem_numeric_should_not_fallback_to_positionalrC   D   sr    E
			
'
'
'C
q
%
%
%CCFkkk---H3d;;;;;;r@   c                    | j         g d         }| |         }|                     |          }t          j        ||           | |d         |d                  }| j        |d         |d                  }t          j        ||           d S )Nr   rB      r   r   )r   reindexr%   r9   loc)datetime_seriesindicesr=   r>   s       r-   test_basic_getitem_with_labelsrK   N   s    #KKK0GW%F&&w//H68,,,WQZ'!*45F"71:
#:;H68,,,,,r@   c                      t          t          ddd          g d          } t          dd          }| j        d         }||k    sJ | j        d	         }||k    sJ | d         }||k    sJ d S )
Nz
2011-01-01r4   z
US/Eastern)periodstzr   r   r   r   )rN   r   r   )r   r   r   rH   iloc)r<   r>   r=   s      r-    test_basic_getitem_dt64tz_valuesrQ   Z   s     <|<<<OOO  C ,777HWS\FXXa[FXXFXr@   c                 \   t          t          j                            d                              d                    }|d         }t          j        ||           t          j        |          5  d|d<   d d d            n# 1 swxY w Y   | s|dk                                    sJ d S d S )Nr   rB   .r   )	r   r   r   r    r!   r%   r9   assert_cow_warningall)using_copy_on_writewarn_copy_on_writer*   r=   s       r-   test_getitem_setitem_ellipsisrW   i   s    ry$$Q''77;;<<AsVF61%%%		1	2	2  #               #!  """""# #""s   1BB
Bz$result_1, duplicate_item, expected_1   )r1   r   r   r4   r1   r   r1   i9  r2   r1   r   r4   c                     |                      |          }|                     |          }t          j        |d         |           |d         | d         k    sJ d S )Nr1   r   )_appendr%   r9   )result_1duplicate_item
expected_1r=   r>   s        r-   $test_getitem_with_duplicates_indicesr`   u   s`    " n--F!!.11H6!9h///!9######r@   c                      t          g dg d          } | j        d         | d         k    sJ d| j        d<   t          j        | d         d           d S )NrZ   rO   r   r   r   )r   rP   r%   assert_almost_equalr*   s    r-   test_getitem_setitem_integersrd      s\    yyy///**A6!9#AF1I1S61%%%%%r@   c                     t          ddd          } t          |           }t          |d         t                    sJ t          |j        d         t                    sJ t          |j        d         t                    sJ t          |j        d         t                    sJ t          |j        d	         t                    sJ t          | | 
          }d}t          j	        t          |          5  t          |d         t                    sJ 	 d d d            n# 1 swxY w Y   t          |j        | d                  t                    sJ t          |j        d         t                    sJ t          |j        | d                  t                    sJ t          |j        d	         t                    sJ d S )N2009041520090519B)freqr   r1   r   r4      r   z;Series.__getitem__ treating keys as positions is deprecatedr   )r   r   
isinstancer   atiatrH   rP   r%   r&   r'   )rngr<   r,   s      r-   test_series_box_timestampro      s   
Z#
6
6
6C
++Cc!fi(((((cfQi+++++cgaj),,,,,cgaj),,,,,chqk9-----
C
 
 
 C
GC		#M	=	=	= - -#a&),,,,,,- - - - - - - - - - - - - - -cfSVni00000cgaj),,,,,cgc!foy11111chqk9-------s   5D  D$'D$c                     t          ddd          } t          |           }t          |d         t                    sJ t          |j        d         t                    sJ t          |j        d         t                    sJ t          |j        d         t                    sJ t          |j        d	         t                    sJ d S )
Nz	1 day 1 sr   hrM   ri   r   r1   r   r4   rj   )r   r   rk   r   rl   rm   rH   rP   )rn   r<   s     r-   test_series_box_timedeltars      s    
+qs
;
;
;C
++Cc!fi(((((cfQi+++++cgaj),,,,,cgaj),,,,,chqk9-------r@   c           
         t          t          d          t          t          ddd                              }t          j        t
          d          5   | |          d          d d d            d S # 1 swxY w Y   d S )	NrB   r      r   r   z^1$r   r1   )r   r8   listr"   r#   r(   
indexer_slr<   s     r-   test_getitem_ambiguous_keyerrorry      s    
r$uQA"7"7
8
8
8C	xv	.	.	.  
3                 s   A55A9<A9c                     t          g dg d          }t          j        t          t	          j        d                    5   | |          g d          d d d            d S # 1 swxY w Y   d S )N)r1   r   r4   rj   )foobarr{   bahz['bam'] not in indexr   )r{   r|   r}   bam)r   r"   r#   r(   reescaperw   s     r-   test_getitem_dups_with_missingr      s     ;;;
<
<C	xry1G'H'H	I	I	I 6 6
3444556 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6s   A##A'*A'c           
      ,   t          t          d          t          t          ddd                              }|                                }d | |          d<   t	          |t          dgdg          g          }t          j        ||           d S )NrB   r   ru   r   r   r   r1   )r   r8   rv   copyr   r%   r9   )rx   r*   s2r>   s       r-   test_setitem_ambiguous_keyerrorr      s    uRyyU1b!__ 5 5666A 
BJJrNN1q&!QC000122H2x(((((r@   c                    t           j        | | j        d         <   t           j        | j        g d<   t           j        | j        d<   t          j        | j        d                   sJ t          j        | j        d                   sJ d| t          j        |           <   t          j        | j        d                   rJ d S )Nr   )r1   r         r   )r   nanr   rP   isnan)rI   s    r-   test_setitemr      s    02OO)!,-')vO$ fO8O(+,,,,,8O(+,,,,,12OBH_--.x,Q/0000000r@   c                     | dd         }t          |          t          |j                  k    sJ |j        j        du sJ d S )Nr   ru   T)lenr   	is_unique)rI   sls     r-   test_setslicer      sK    	2	Br77c"(mm####8%%%%%%r@   c                     d}t          j        t          |          5  | d d df          d d d            n# 1 swxY w Y   t          j        t          |          5  d| d d df<   d d d            n# 1 swxY w Y   d}t          j        t          |          5  | t	          d d          g          d d d            n# 1 swxY w Y   | t	          d d          f         }| d d         }t          j        ||           d}t          j        t          |          5  | dd d gg          d d d            n# 1 swxY w Y   t          j        t          |          5  d| dd d gg<   d d d            d S # 1 swxY w Y   d S )Nz0key of type tuple not found and not a MultiIndexr   r   z Indexing with a single-item listr   zunhashable type(: 'slice')?)r"   r#   r(   
ValueErrorslicer%   r9   	TypeError)rI   r,   r=   r>   s       r-   !test_basic_getitem_setitem_cornerr      s   
<C	xs	+	+	+  1              	xs	+	+	+ " " !1" " " " " " " " " " " " " " " -C	z	-	-	- * *tQ())* * * * * * * * * * * * * * *
 eD!nn./Frr"H68,,, )C	y	,	,	, + +T4L)**+ + + + + + + + + + + + + + +	y	,	,	, / /-.T4L)*/ / / / / / / / / / / / / / / / / /sT   7;;
A33A7:A7B??CCD66D:=D:
E33E7:E7c                    |                                  }| dd         }| dd          }|dd         }| j        d         |j        vsJ |j        d         |j        vsJ t          |          t          |j                  k    sJ | |j        d                  ||j        d                  k    sJ |j        d         | j        d         k    sJ t          j        t          j        |          t          j        |           dd                     | dd         }t          j        |          5  d|d d <   d d d            n# 1 swxY w Y   |rt          j        | |           d S | dd         dk    	                                sJ d S )NrB   ru   i	   r   r1      )
r   r   r   r%   assert_numpy_array_equalr   arrayrS   r9   rT   )	string_seriesobject_seriesrU   rV   originalnumSlicenumSliceEndobjSlicer   s	            r-   
test_slicer      s   !!##HRU#H%KRU#Hq!7777q!7777x==C//////*+xq8I/JJJJJ>! 3B 77777 5 5rx7N7Nstt7TUUU 
r"u	B		1	2	2  111                1
}h77777be$)..0000000s   -EEEc                  D   t          g t                    } t          d          | j        d<   t          t	          d          ddg          }t          j        | |           |                     | j        	                    dd                    } t          t          j        t	          d          gdddg          }t          j        | |           t          d          | j        d<   t          t	          d          dddg          }t          j        | |           d S )	Nr2   r1   rh   z1 daysztimedelta64[ns]r3   r   r   A)r   objectr   rH   r   r%   r9   rG   r   insertr   r   )r*   r>   s     r-   test_timedelta_assignmentr     s   r   A1AE#Ji))1B3%PPPH1h'''			!'..C(())A	8$$%->sCj  H 1h'''1AE#Ji))1B3PS*UUUH1h'''''r@   c                    t          d dD                       }|                    g dd          }|J t          dgdg          }d|d	<   |                                }| | rIt	          j                    5  |d	                             |           d d d            n# 1 swxY w Y   |}nt	          j        t          st          nd d
          5  |d	                             |           d d d            n# 1 swxY w Y   t          g dg dg dg dd          }|                    g dd          }|J t	          j
        ||           d S )Nc                     i | ]}|g d S )rZ    ).0r   s     r-   
<dictcomp>z3test_underlying_data_conversion.<locals>.<dictcomp>$  s    :::QAyyy:::r@   rO   T)inplacer1   )r   r   r   r   r   valzinplace methodr   rZ   )r   r1   r   )r   r   r   r   )r   	set_indexr   r   r%   raises_chained_assignment_errorupdater&   r   r'   assert_frame_equal)rU   dfreturn_valuer*   df_originalr>   s         r-   test_underlying_data_conversionr   "  s   	::/:::	;	;B<<<>>Ls9+&&&ABuI''))KB $/11 	  	 uIQ	  	  	  	  	  	  	  	  	  	  	  	  	  	  	 '!7AMMT"
 
 
 	  	  uIQ		  	  	  	  	  	  	  	  	  	  	  	  	  	  	 
 ))))))))IIINN
 
  ))///4)HH###"h'''''s$   :B""B&)B&C<<D D c                     | j         g d         }t          j        |j         d<   t          j        | j         d                   rJ d S )NrE   r1   rB   )rP   r   r   r   )rI   seqs     r-   test_preserve_refsr   >  sD    

{{{
+C&CHQKx,R01111111r@   c                     | }t          t          j                            d                              t          |                    |d          } ||          d         }|j        |j        k    sJ d S )Nr   sth)r   namer{   )r   r   r   r    r!   r   r   )%lexsorted_two_level_string_multiindexrx   r   r<   r=   s        r-   test_multilevel_preserve_namer   D  sv    1E

	a  00U<<EPU  C Z__U#F;#(""""""r@   r   z
2014-01-01ru   MSrr   z2014-01M0rq   c           
          t          | d                   }t          | d                   }t          t          j        d          |           }t          }|| d         fD ]}t          j        |||d d         |dd d                    t          j        ||d |d         |d dd                    || d         fD ]R}t          j        ||||d         |ddd                    t          j        ||||d         |ddd                    Sd S )Nr      ru      r   )strr   r   aranger	   r%   !assert_indexing_slices_equivalent)r   keystr1keystr2r<   SLCkeykey2s          r-   test_slice_with_negative_stepr   Q  s/    %(mmG%)nnG
2
&
&C
Cq" U U
,S#cg2g,AErE
KKK
,S#gs2g,EQrE
KKKeBi( 	U 	UD0c$s2+6FBqQSGUUU0c#d2+6FAaPRFTTTT	U	U Ur@   c                      t          ddgddg          } | d         dk    sJ | d         dk    sJ d| d<   | d         dk    sJ d S )Nr1   r   )r   )r   r   r4   )r   rc   s    r-   test_tuple_indexr   i  s]    1vff-...AV9>>>>V9>>>>AfIV9>>>>>>r@   c                      t          d          t          d          }} t          ddg| |g          }||          dk    sJ ||         dk    sJ d||<   ||         dk    sJ d S )Nr   r   r1   r   r   r4   )	frozensetr   )idx0idx1r*   s      r-   test_frozenset_indexr   r  sq    33$D1vdD\***AT7a<<<<T7a<<<<AdGT7a<<<<<<r@   c                      t          ddgddg          } |                                 }t          ddgddg          }|| j        | dk    <   t          j        | |           d S )	Nr1   r   r   r   r   r      d   )r   r   rH   r%   r9   )r<   r>   rhss      r-   "test_loc_setitem_all_false_indexerr   |  sl    
!QSz
*
*
*CxxzzH
!QSz
*
*
*CCGC#I3)))))r@   c                      t          dg          } | j        t          t          dgd                   }t          g d          }t          j        ||           d S )Nr1   Fbooleanr2   int64)r   rH   r   r%   r9   r<   r=   r>   s      r-   +test_loc_boolean_indexer_non_matching_indexr     sW    
!++CWVRKy999:Fb(((H68,,,,,r@   c                      t          dg          } t          t          dgdddg          }t          j        t          d          5  | j        |          d d d            d S # 1 swxY w Y   d S )Nr1   Fr   r   r   Unalignabler   )r   r   r"   r#   r   rH   )r<   indexers     r-   ,test_loc_boolean_indexer_miss_matching_indexr     s    
!++Cb%[	!Q@@@G	}M	:	:	:                   s   A""A&)A&c                      t          ddgi          } t          d| i          }| |j        d<   t          | | d          }t          j        ||           d S )Nr   r1   label	new_label)r   r   )r   r   rH   r%   r9   )r   r<   r>   s      r-   (test_loc_setitem_nested_data_enlargementr     s`    	C!:		B
'2

CCGK4455H3)))))r@   c                      t          dt          g dd                    } | j        dd         }t          dt          dgd                    }t          j        ||           d S )Nr1   )r   r1   r   Int64r2   r   r   r4   )r   r   rH   r%   r9   r   s      r-   'test_loc_ea_numeric_index_oob_slice_endr     sn    
%			999
:
:
:CWQqS\FauaS888999H68,,,,,r@   c                      t          ddd          } t          j        t          d          5  | j        d          d d d            d S # 1 swxY w Y   d S )Nr1   r   )TFr   r   )r   r"   r#   r(   rH   )r<   s    r-   test_getitem_bool_int_keyr     s    
!$$
%
%C	xs	+	+	+  

                 s   A		AAr   r   xr   Fr   c                     t          dddgi|          }|                                }d|j        | <   t          j        ||           d S )Nr   r1   r         ?)r   r   rH   r%   r   )r   r   r   r>   s       r-   test_setitem_empty_indexerr     sP     
C!Q'3'	(	(BwwyyHBF7O"h'''''r@   c                   z   e Zd Zej                            ddhddig          d             Zej                            ddhddidhdfddidfg          d             Zej                            ddhddig          d             Zej                            ddhddidhdfddidfg          d             Z	dS )	TestDeprecatedIndexersr   r1   c                     t          ddg          }t          j        t          d          5  |j        |          d d d            d S # 1 swxY w Y   d S Nr1   r   as an indexer is not supportedr   r   r"   r#   r   rH   selfr   r<   s      r-   $test_getitem_dict_and_set_deprecatedz;TestDeprecatedIndexers.test_getitem_dict_and_set_deprecated  s     aVnn]9,LMMM 	 	GCLL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   AAAr   c                     t          ddgt          j        ddg                    }t          j        t
          d          5  |j        |          d d d            d S # 1 swxY w Y   d S Nr1   r   rY   )r4   rj   r   r   r   r   r
   from_tuplesr"   r#   r   rH   r   s      r-   /test_getitem_dict_and_set_deprecated_multiindexzFTestDeprecatedIndexers.test_getitem_dict_and_set_deprecated_multiindex  s     aV:#966:J#K#KLLL]9,LMMM 	 	GCLL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   AA"%A"c                     t          ddg          }t          j        t          d          5  d|j        |<   d d d            d S # 1 swxY w Y   d S r   r   r   s      r-   $test_setitem_dict_and_set_disallowedz;TestDeprecatedIndexers.test_setitem_dict_and_set_disallowed  s     aVnn]9,LMMM 	 	CGCL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   AA	A	c                     t          ddgt          j        ddg                    }t          j        t
          d          5  d|j        |<   d d d            d S # 1 swxY w Y   d S r   r   r   s      r-   /test_setitem_dict_and_set_disallowed_multiindexzFTestDeprecatedIndexers.test_setitem_dict_and_set_disallowed_multiindex  s     aV:#966:J#K#KLLL]9,LMMM 	 	CGCL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   AA"AN)
__name__
__module____qualname__r"   markparametrizer   r   r   r  r   r@   r-   r   r     s       [UaS1a&M22  32 [UaS1a&A3(aVQK$HII  JI [UaS1a&M22  32 [UaS1a&A3(aVQK$HII  JI  r@   r   c            
          e Zd Zd Zdddde ej        d           ej        d          gZddg e	dd          g d	 e	d
d
d
          gZ
ej                            dedd ej        d           ej        d          gz             ej                            de
          d                         Zej                            dedd ej        d          gz             ej                            de
          d                         Zej                            dedgz             ej                            de
          d                         Zd
S )TestSetitemValidationc                    d}t          j        |          }|                                }t          j        ||          5  |||<   |                                }d d d            n# 1 swxY w Y   t          j        ||          5  ||j        |<   |                                }d d d            n# 1 swxY w Y   t          j        ||          5  ||j        |<   |                                }d d d            n# 1 swxY w Y   t          j        ||          5  ||d d <   d d d            d S # 1 swxY w Y   d S )Nz3Setting an item of incompatible dtype is deprecatedr   )r   r   r   r%   r&   rP   rH   )r   r<   invalidr   warnr,   orig_sers          r-   _check_setitem_invalidz,TestSetitemValidation._check_setitem_invalid  s7   Cinn88::'C888 	" 	""CL--//C	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 'C888 	" 	" 'CHW--//C	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 'C888 	" 	"&CGG--//C	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 'C888 	 	CF	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	sH   A''A+.A+B33B7:B7C??DD D55D9<D9y      ?       @True1z1.0r   r   r1   TFFNr  g      ?r   c                 f    t          g dd          }|                     |||t                     d S )Nr  boolr2   r   r  r'   )r   r  r   r<   s       r-   #test_setitem_validation_scalar_boolz9TestSetitemValidation.test_setitem_validation_scalar_bool  s=    
 )))888##C'=IIIIIr@   Tr   c                     t          g d|          }t          |          r |t          urt          j        |          sd }nt
          }|                     ||||           d S )NrZ   r2   )r   r   r   r   isnatr'   r  )r   r  any_int_numpy_dtyper   r<   r  s         r-   "test_setitem_validation_scalar_intz8TestSetitemValidation.test_setitem_validation_scalar_int   sn     YYY&9:::== 	!WC//8I8I/DD D##C'4@@@@@r@   c                 f    t          g d|          }|                     |||t                     d S )N)r1   r   Nr2   r  )r   r  float_numpy_dtyper   r<   s        r-   $test_setitem_validation_scalar_floatz:TestSetitemValidation.test_setitem_validation_scalar_float
  s;     \\\):;;;##C'=IIIIIr@   )r  r  r  r  r   r   
datetime64timedelta64_invalid_scalarsr   	_indexersr"   r  r  r   float64r  r  r  r   r@   r-   r	  r	    s         , 	eu QCq!&:&:&:EE$d<S<STI[#q#xrx{{JBJqMM&JJ  [Y	22J J 32 J [Y(8D#zrzRU;W(WXX[Y	22A A 32 YXA [Y(8D6(ABB[Y	22J J 32 CBJ J Jr@   r	  )C__doc__datetimer   r   numpyr   r"   pandas.compatr   pandas.errorsr   pandasr   r   r   r	   r
   r   r   r   r   r   r   r   r   r   pandas._testing_testingr%   r.   r?   rC   rK   rQ   rW   r  r  r   r`   rd   ro   rs   ry   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	  r   r@   r-   <module>r*     s           				      0 0 0 0 0 0 ' ' ' ' ' '                                        8? ? ?< < <	- 	- 	-  	# 	# 	# * Frlll++,,FAs8FAr7&)))	
 Fyyy\\\2233FAyyy>""FAyyy>""	
 $ $ $& & &. . .&. . .  6 6 6) ) )1 1 1& & &/ / /61 1 16( ( ($( ( (82 2 2# # # 
<$777Y555Rc222 U U U     * * *- - -  * * *- - -   c3Z 011R%q"xrxPR||$TUU( ( VU 21(       <9J 9J 9J 9J 9J 9J 9J 9J 9J 9Jr@   