
    Rie	4                        d Z ddlmZ ddlmZmZ ddlmZmZm	Z	 ddl
mZmZmZ ddlmZ ddlmZ d  e            D             \  ZZZZZZZd	 Zd
 Zd Zd Zd Zd Zd Zd Z d Z!d Z"d Z#d Z$d Z%d Z&d Z'd Z(d Z)d Z*d Z+dS )z:Tests for OO layer of several polynomial representations.     )sqrt)ZZQQ)DMPDMFANP)CoercionFailedExactQuotientFailedNotInvertible)f_polys)raisesc                 6    g | ]}|                                 S  )to_dense).0fs     Blib/python3.11/site-packages/sympy/polys/tests/test_polyclasses.py
<listcomp>r      s     $G$G$Gqajjll$G$G$G    c                     t          dgg g ddggt                    } | j        ddgdggk    sJ | j        t          k    sJ | j        dk    sJ t          ddgdggt          d          } | j        ddgdggk    sJ | j        t          k    sJ | j        dk    sJ t          dddt          d          } | j        ddgdggk    sJ | j        t          k    sJ | j        dk    sJ d S )Nr   r            r   r   )r   r   r   r   )r   r   repdomlevr   s    r   test_DMP___init__r!      s   aS"iii!%r**A5aVaSM!!!!5B;;;;5A::::aVaSM2q!!A5aVaSM!!!!5B;;;;5A::::Q""B**A5aVaSM!!!!5B;;;;5A::::::r   c                  ^   t          t          d          t          d          gt          d          ggt                    t          t          d          t          d          gt          d          ggt                    k    sJ t          t          d          t          d          gt          d          ggt                    t          t          d          t          d          gt          d          ggt                    k    sJ t          t          d          t          d          gt          d          ggt                    t          t          d          t          d          gt          d          ggt                    k    sJ t          t          d          gggt                    t          t          d          ggt                    k    sJ t          t          d          ggt                    t          t          d          gggt                    k    sJ d S )Nr   r   r   )r   r   r   r   r   r   test_DMP___eq__r#   !   s   A1A("--beeRUU^beeW%r**+ + + + A1A("--beeRUU^beeW%r**+ + + +A1A("--beeRUU^beeW%r**+ + + + "Q%%	{B3Ay"#5#55555Ay"1wi["!5!5555555r   c                      t          t          g gt                              du sJ t          t          dggt                              du sJ d S NFr   T)boolr   r   r   r   r   test_DMP___bool__r'   .   P    RD"%''''aSE24''''''r   c                  $   t          dgg dgg dggt                    } |                                 ddddk    sJ |                                 t          j        d          t          j        d          t          j        d          dk    sJ d S )Nr   r      ))   r   r   r   r   )r   r   to_dictto_sympy_dictto_sympyr    s    r   test_DMP_to_dictr0   3   s    aS"qc2s#R((A99;;Aq))* * * *??QQ	Q	 	     r   c                  <   t          g gt                    j        du sJ t          dggt                    j        du sJ t          dggt                    j        du sJ t          dggt                    j        du sJ t          dggt                    j        du sJ t          dgdgdggt                    j        du sJ t          dgddgddggt                    j        du sJ t          dgddgg dgt                    j        du sJ t          ddgdggt                    j        du sJ t          ddgdggt                    j        du sJ t          ddgdggt                    j        du sJ t          ddgd	ggt                    j        du sJ d S )
NTr   Fr   r   r   r   r   r   r+      )r   r   is_zerois_one	is_groundis_sqfis_monicis_primitiver   r   r   test_DMP_propertiesr:   =   s   tR== D((((ub>>!U****ub>> D((((ub>> E))))ub>>#t++++aS1###-6666aVaV$b))0D8888aVYYY',,3u<<<<A}b!!*d2222A}b!!*e3333A}b!!.$6666A}b!!.%777777r   c                     t          dgddggt                                        d          t          dgddggt                    k    sJ                     d          t          dgddggt                    k    sJ t	          t
          fd           t          dggt                    t          dggt                                                    k    sJ t                    k    sJ                                 k    sJ  k    sJ t          g gt                    }                               | k    sJ z   | k    sJ z   | k    sJ dz   | k    sJ dz   | k    sJ t          dggt                    } 	                              | k    sJ z
  | k    sJ z
  |  k    sJ dz
  | k    sJ dz
  |  k    sJ t          d	ggt                    } 
                              | k    sJ z  | k    sJ z  | k    sJ dz  | k    sJ dz  | k    sJ t          d
ggt                    }                                 | k    sJ                     d          | k    sJ dz  | k    sJ t	          t          fd           t          dgg g dgt                    t          dgddggt                    t          dgddggt                    }t          g dgt                    }                              ||fk    sJ                               |k    sJ                               |k    sJ t	          t
          fd           t          dgg g dgt                    t          dgddggt                    t          dgddggt                    }t          g dgt                    }                              ||fk    sJ                               |k    sJ                               |k    sJ t)                    ||fk    sJ z  |k    sJ z  |k    sJ t	          t
          fd           d S )Nr   r   r+   r   c                  .                          d          S )Nr   )exquo_groundr    s   r   <lambda>z&test_DMP_arithmetics.<locals>.<lambda>W   s    q(9(9 r      i   c                  .                          d          S )Nx)powr    s   r   r>   z&test_DMP_arithmetics.<locals>.<lambda>   s    aeeCjj r   r2   )r*   r   r   c                  .                                    S N)pexquor   gs   r   r>   z&test_DMP_arithmetics.<locals>.<lambda>   s     r   )r   r   r   c                  .                                    S rH   )exquorJ   s   r   r>   z&test_DMP_arithmetics.<locals>.<lambda>   s    

 r   )r   r   
mul_ground
quo_groundr   r
   absnegaddsubmulsqrrE   	TypeErrorpdivpquopremdivquoremdivmod)hqrr   rK   s      @@r   test_DMP_arithmeticsrb   Q   s   aS1a&M2A<<??cA3A-444444<<??cA3A-444444
 9 9 9 9:::bTFBAaSE2A5577a<<<<q66Q;;;;5577a<<<<27777RD"A5588q====q5A::::q5A::::q5A::::q5A::::cUGRA5588q====q5A::::q5QB;;;;q5A::::q5QB;;;;cUGRA5588q====q5A::::q5A::::q5A::::q5A::::bTFBA5577a<<<<5588q====a419999
9(((()))aS"iii "%%AaS2q'NBAaS1a&M2AYYYKA66!99A66!99>>>>66!99>>>>
 3 3 3 3 3444aS"iii "%%AaS2q'NBAaS1a&M2AYYYKA55881v5588q====5588q====!Q<<Aq6!!!!6Q;;;;q5A::::
 2 2 2 2 233333r   c            	      T   t          dgddgg dgt                    t          dgddggt                    } t          dggt                    }                                dk    sJ                                 dk    sJ                                 dk    sJ                                 t          d          k    sJ                                 t          d          k    sJ                     dd          t          d          k    sJ t          t          fd           
                                dk    sJ                                 dk    sJ t          dgddggt                    }                    dd          |k    sJ                     dd          |k    sJ t          t          fd	           t          g d
t                    }t          g d
t                    }                    dd          |k    sJ                     dd          |k    sJ                     d                              d          t          d          k    sJ                     |           | | |fk    sJ                     |           | k    sJ                     |           k    sJ t          t#          d          t#          d          t#          d          ggt"                    }t          t#          d          t#          dd          t#          dd          ggt"                    }|                                |k    sJ dz                                  t          d          k    sJ dz                                  t          d          fk    sJ t          dgdgdgdgdgdggt                                        d          t          dgdgg dgdgg gt                    k    sJ t          t,          t                                                     k    sJ                                 t          d           dfgfk    sJ t          dgg g dggt                    t          ddgg g gt                    } t          g dgt                    }t          g dt                    }                    |           | |gk    sJ                     |           |k    sJ t          g dt                                                    dk    sJ t          t#          d          t#          d          gt"                    t          t#          d          t#          d          t#          d          gt"                    } t          t#          dd          t#          d          gt"                    }t          t#          dd          gt"                    }t          t#          d          gt"                    }                    |           ||fk    sJ                     |           |||fk    sJ                     |           |k    sJ t          dgdgdggt"                    t          t>          fd           t          t>          fd           t          t>          fd           t          g dt                    t          g dt                    } t          g dt                    }|                      |          k    sJ !                                | |gk    sJ t          dgdgdggt"                    t          t>          fd            t          t>          fd!           d S )"Nr   r   r   r2   )r   r   c                  0                          dd          S )Nr   rD   )nthr    s   r   r>   z(test_DMP_functionality.<locals>.<lambda>   s    aeeAsmm r   r+   mjc                  2                          dd          S )NrD   r   rf   )diffr    s   r   r>   z(test_DMP_functionality.<locals>.<lambda>   s    affsaf00 r   )r   r   r   )arh   -      r@   r   	   r3   rL   )rl   rm   r@   )  ro      rB   )r   r   rn   iipi       c                  .                                     S rH   )
half_gcdexr    s   r   r>   z(test_DMP_functionality.<locals>.<lambda>   s    q||A r   c                  .                                     S rH   )gcdexr    s   r   r>   z(test_DMP_functionality.<locals>.<lambda>   s    qwwqzz r   c                  .                                     S rH   )invertr    s   r   r>   z(test_DMP_functionality.<locals>.<lambda>   s    qxx{{ r   )r   r      r      r   i  r   iq  rF   r   rA   rn   )r   r   r   rF   rn   )r   r   r@   r   c                  ,                                      S rH   )	decomposer    s   r   r>   z(test_DMP_functionality.<locals>.<lambda>   s    q{{}} r   c                  ,                                      S rH   )sturmr    s   r   r>   z(test_DMP_functionality.<locals>.<lambda>   s    qwwyy r   )"r   r   degreedegree_listtotal_degreeLCTCre   r   rW   max_norml1_normrj   eval	cofactorsgcdlcmr   moniccontent	primitivetruncf_4sqf_partsqf_listsubresultants	resultantdiscriminantrt   rv   rx   
ValueErrorcomposer|   )rK   r_   uvra   str   s          @r   test_DMP_functionalityr      s   aS1a&)))$b))AaS1a&M2AaSE2A88::????==??f$$$$>>q    4466RUU????4466RUU????55A;;"Q%%
9++++,,,::<<199;;!aS1a&M2A66A6q    66A6q    
90000111IIIrAIIIrA66A6q    66A6q    66!99>>!1%%%%;;q>>aAY&&&&5588q====5588q====bffbffbee$%r**AbeeR1XXr!Qxx()2..A7799>>>>aC==??bee####aC??A
****aS1#sQC!qc*B//A771::qcB4aS2$;R@@@@@@CA::<<A2::<<BrFFqb!WI.....bT2rA3$$AaVRb!!A[[[M2A$$A??1!Q****;;q>>QNNNBA>>v%%%%RUUBqEENBARUUBqEE2c77#R((AR2YY1##ARBZZL"ARUUGRA<<??q!f$$$$771::!Q""""88A;;!aS1#sOR  A
:....///
:))))***
:****+++===rBBAb!!ALLL"A99Q<<1;;==QF""""aS1#sOR  A
:,,,,---
:(((()))))r   c                  j   dggg ggggggggggggggggggggggggg} g d}t          | t                                                    |t          ddgt                    fk    sJ t          dgddggt                                                    g t          dgddggt                    fk    sJ d S )Nr   )r   r   r   r   r+   r@   r3      r*   rn   
                  rr            ry            rB   r   )r   r   exclude)r   Js     r   test_DMP_excluder     s    "#t}o./0123456789:;<=>?@
A	BCA	$ 	$ 	$A q"::AsAq62#77777aV}b!!))++C!q!fr4J4J/KKKKKKKr   c                  
   t          dgg g ddggg dgft                    } | j        ddgdggk    sJ | j        g dgk    sJ | j        dk    sJ | j        t          k    sJ t          ddgdggg dgft          d          } | j        ddgdggk    sJ | j        g dgk    sJ | j        dk    sJ | j        t          k    sJ t          dgdggdgd	ggft                    } | j        dgdggk    sJ | j        dgd	ggk    sJ | j        dk    sJ | j        t          k    sJ t          dgdggd
gdggft                    } | j        dgdggk    sJ | j        dgd	ggk    sJ | j        dk    sJ | j        t          k    sJ t          dgdggd
gdggft                    } | j        dgdggk    sJ | j        dgd	ggk    sJ | j        dk    sJ | j        t          k    sJ t          g gd
gdggft                    } | j        g gk    sJ | j        dggk    sJ | j        dk    sJ | j        t          k    sJ t          dt          d          } | j        dggk    sJ | j        dggk    sJ | j        dk    sJ | j        t          k    sJ t          dgdggt                    } | j        dgdggk    sJ | j        dggk    sJ | j        dk    sJ | j        t          k    sJ t          dgg g ddggt                    } | j        ddgdggk    sJ | j        dggk    sJ | j        dk    sJ | j        t          k    sJ t          dddt          d          } | j        ddgdggk    sJ | j        dggk    sJ | j        dk    sJ | j        t          k    sJ t          t          d          gt          d          ggt          d           gt          d          ggft                    } | j        t          d           gt          d           ggk    sJ | j        t          d          gt          d           ggk    sJ | j        dk    sJ | j        t          k    sJ t          t          dd          gt          dd          ggt          dd           gt          dd          ggft                    } | j        t          d           gt          d           ggk    sJ | j        t          d          gt          d           ggk    sJ | j        dk    sJ | j        t          k    sJ t          t          d            t          t          d            d S )Nr   r   r   )r   r   r   r   r   rL   rF   r+   r   r   r@   r   r   r   ry   c                  6    t          dgdggft                    S Nr   r   r   r   r   r   r>   z"test_DMF__init__.<locals>.<lambda>`  s    sQC1#<44 r   c                  2    t          dgg ft                    S r   r   r   r   r   r>   z"test_DMF__init__.<locals>.<lambda>a  s    cA3)R&8&8 r   )
r   r   numdenr   r   r   r   r   ZeroDivisionErrorr    s    r   test_DMF__init__r     s   qc2yyy1#&4b99A5aVaSM!!!!5YYYK5A::::5B;;;;q!fqc]YYYK("a00A5aVaSM!!!!5YYYK5A::::5B;;;;rdRD\QC";',,A5bTB4L    5aS2$K5A::::5B;;;;qcA3Z2$%r**A5bTB4L    5aS2$K5A::::5B;;;;qcA3Z2$%r**A5bTB4L    5aS2$K5A::::5B;;;;bTRD1#;$$A5RD====5aSE>>>>5A::::5B;;;;BAA5bTF????5aSE>>>>5A::::5B;;;;qcA3Z"A5aS1#J5aSE>>>>5A::::5B;;;;aS"iii!%r**A5aVaSM!!!!5aSE>>>>5A::::5B;;;;Q""B**A5aVaSM!!!!5aSE>>>>5A::::5B;;;;r!uug1wBqEE6(RUUG!45r::A5r!uufXAx(((((5beeW1vh'''''5A::::5B;;;;r!Qxxj2a88*%"Q((bAhhZ'@A2FFA5r!uufXBy)))))5bffXBy)))))5A::::5B;;;;
:44555
8899999r   c                      t          t          g gt                              du sJ t          t          dggt                              du sJ d S r%   )r&   r   r   r   r   r   test_DMF__bool__r   d  r(   r   c                  J   t          g gt                    j        du sJ t          g gt                    j        du sJ t          dggt                    j        du sJ t          dggt                    j        du sJ t          dggdggft                    j        du sJ d S )NTFr   r   )r   r   r4   r5   r   r   r   test_DMF_propertiesr   i  s    tR== D((((tR==5((((ub>>!U****ub>> D((((!u~r"")U222222r   c                     t          dgdggt                    } t          dgdggt                    }|                                 |  cxk    r|k    sn J t          dggdgg gft                    } t          dggddggft                    }t          dgddggddgg gft                    }|                     |          | |z   cxk    r|k    sn J |                    |           || z   cxk    r|k    sn J t          dgddggddgg gft                    }|                     |          | |z
  cxk    r|k    sn J t          dggddgg gft                    }|                     |          | |z  cxk    r|k    sn J |                    |           || z  cxk    r|k    sn J t          ddggdgg gft                    }|                     |          | |z  cxk    r|k    sn J t          dggdgg g g gft                    }|                     d          | dz  cxk    r|k    sn J t          dggg d	gft                    }|                    d          |dz  cxk    r|k    sn J t          ddggdggft                    }|                    d          |dz  cxk    r|k    sn J d S )
Nr   iirn   r   r   rL   r   )r   r   r   r   )r   r   rR   rS   rT   rU   r\   rE   )r   rK   r_   s      r   test_DMF_arithmeticsr   s  sW   aS2$KAbTA3KA5577qbAqcUaS"I##AqcUaVHr""AqcAq6]aVRL)2..A5588q1u!!!!!!!!!!5588q1u!!!!!!!!!!rdQF^q!fb\*B//A5588q1u!!!!!!!!!!qcUaVRL!2&&A5588qsa5588qsaq!fXRy!2&&A5588qsaqcUaS"b"%&++A5588q!t    q      qcU\\\N#R((A5588q!t    q      q!fXur""A55992""""""""""""r   c                     t          d          t          d          g} t          d          t          d          t          d          gt          | t                     }|j        t          d          t          d          gk    sJ |j        t          d          t          d          t          d          gk    sJ |j        t           k    sJ t          d          t          d          d} t          d          t          d          dt          | t                     }|j        t          d          t          d          gk    sJ |j        t          d          t          d          t          d          gk    sJ |j        t           k    sJ t          dt                     }|j        t          d          gk    sJ |j        t          d          t          d          t          d          gk    sJ |j        t           k    sJ t          ddgt                     }t          d |j        D                       sJ t          t          fd           d S )Nr   r   )r   r   r,   g      ?c              3   >   K   | ]}t          j        |          V  d S rH   )r   of_type)r   rk   s     r   	<genexpr>z$test_ANP___init__.<locals>.<genexpr>  s*      ,,rz!}},,,,,,r   c                  L    t          t          d          g t                    S )Nr   )r   r   r   mods   r   r>   z#test_ANP___init__.<locals>.<lambda>  s    3Qy#r#:#: r   )r   r   r   r   r   allr   r	   )r   r   r   s     @r   test_ANP___init__r     s   a55"Q%%.Ca55"Q%%A
CCbA5RUUBqEEN""""5RUUBqEE2a55)))))5B;;;;ee1

Cee1

CCbA5RUUBqEEN""""5RUUBqEE2a55)))))5B;;;;AsBA5RUUG5RUUBqEE2a55)))))5B;;;;QHc2A,,ae,,,,,,,,
>::::;;;;;r   c                     t          t          d          t          d          gt          d          t          d          t          d          gt                    } t          t          d          t          d          gt          d          t          d          t          d          gt                    }| | k    du sJ | | k    du sJ | |k    du sJ | |k    du sJ t          t          d          t          d          gt          d          t          d          t          d          gt                    }| |k    du sJ | |k    du sJ d S )Nr   r   r   TF)r   r   )rk   bs     r   test_ANP___eq__r     s4   RUUBqEENRUUBqEE2a551266ARUUBqEENRUUBqEE2a551266AFtFuFuFtRUUBqEENRUUBqEE2a551266AFuFtr   c            
      f   t          t          g t          d          t          d          t          d          gt                              du sJ t          t          t          d          gt          d          t          d          t          d          gt                              du sJ d S )Nr   r   FT)r&   r   r   r   r   r   test_ANP___bool__r     s    BA1r!uu-r2233u<<<<RUUGbeeRUUBqEE2B7788D@@@@@@r   c                     t          d          t          d          t          d          g} t          t          d          g| t                     j        du sJ t          t          d          g| t                     j        du sJ t          t          d          g| t                     j        du sJ t          t          d          g| t                     j        du sJ d S )Nr   r   TFr   )r   r   r4   r5   r   s    r   test_ANP_propertiesr     s    a55"Q%%A
C1wR  (D00001wR  (E11111wR  '4////1wR  '5000000r   c                  	   t          d          t          d          t          d          t          d          g} t          t          d          t          d          t          d          g| t                     t          t          d          t          d          g| t                     }t          t          d          t          d          t          d          g| t                                                      cxk    rk    sn J t          t          d          t          d          t          d          g| t                                         |          |z   cxk    rk    sn J |                              |z   cxk    rk    sn J t          t          d          t          d          t          d          g| t                                         |          |z
  cxk    rk    sn J t          t          d          t          d          t          d          g| t                     |                              |z
  cxk    rk    sn J t          t          d          t          d          t          d          g| t                                         |          |z  cxk    rk    sn J |                              |z  cxk    rk    sn J t          t          dd          t          d	d          t          d
d          g| t                                         d          dz  cxk    rt          d| t                     k    sn J                     d          dz  cxk    rk    sn J                     d          dz  cxk    rk    sn J                                                                       d                    cxk    r'dz  z  cxk    rt          d| t                     k    sn J t          g g dt                                         |          }	                    |          \  }}||cxk    rcxk    r	|z  k    sn J t          t          fd           t          t          fd           ||z  k    sJ d S )Nr   r   rF   r   rL   r   r3   +   rn   r@   )r   r   r   rF   c                  .                                    S rH   )r[   rk   cs   r   r>   z&test_ANP_arithmetics.<locals>.<lambda>      !%%(( r   c                  .                                    S rH   )r]   r   s   r   r>   z&test_ANP_arithmetics.<locals>.<lambda>  r   r   )r   r   rR   rS   rT   rU   rE   r\   r]   r[   r   r   )r   r   r1r`   r2rk   r   s        @@r   test_ANP_arithmeticsr     s   a55"Q%%A2
'CRUUBrFFBqEE"C,,ARUUBqEENC$$ARVVRUUBrFF#S"--A5577qbARUUBqEE2a55!3++A5588q1u!!!!!!!!!!5588q1u!!!!!!!!!!RUUBrFFBrFF#S"--A5588q1u!!!!!!!!!!RVVRUUBqEE"C,,A5588q1u!!!!!!!!!!RUUBrFFBqEE"C,,A5588qsa5588qsaRBZZArBq"II.R88A5588q1v0000QR0000005588q1v""""""""""5599B$$$$1$$$$$$5588quuQUU2YY''GGGG1QW9GGGGAsBGGGGGGBr""A	
qBeeAhhGQ!!!!q!!!!AE!!!!!!
=*****+++
=*****+++ !888888r   c                     t          d          t          d          t          d          g} t          t          d          g| t                     }t          t          d          g| t                    }|                    |          d         t           k    sJ |                    |          d         t           k    sJ |                    |          d         t           k    sJ |                    |          d         t          k    sJ d S )Nr   r   rF   )r   r   r   unify)r   rk   r   s      r   test_ANP_unifyr     s    a55"Q%%B
 CRUUGS"ARUUGS"A771::a=B771::a=B771::a=B771::a=Br   c                     t          ddgdggt                    t          t          d          t          d          gt          d          ggt                    k    sJ t          t          ddgdggt                              t          t          t          d          t          d          gt          d          ggt                              k    sJ t	          ddgdggdggft                    t	          t          d          t          d          gt          d          ggt          d          ggft                    k    sJ t          t	          ddgdggdggft                              t          t	          t          d          t          d          gt          d          ggt          d          ggft                              k    sJ t          ddgg dt                    t          t          d          t          d          gt          d          t          d          t          d          gt                    k    sJ t          t          ddgg dt                              t          t          t          d          t          d          gt          d          t          d          t          d          gt                              k    sJ d S )Nr   r   r   )r   r   r   r   )r   r   inthashr   r   r   r   r   test___hash__r     s    A}b!!S3q663q66*:SVVH)Er%J%JJJJJaVaSM2&&''4c!ffc!ff5EAx4PRT0U0U+V+VVVVVa&1#!$ $'*c!ffc!ff-=Ax,HCPQFF8*+UWY'Z'Z[ [ [ [q!fqc]aSE*B//00DAA@a&&?#&)!ffXJ>013:5 :5 56 56 6 6 6 61vyyy"%%c!ffc!ff-=AAPSTUPVPV?WY[)\)\\\\\QFIIIr""$ $'+CQQ0@3q663q66SVWXSYSYBZ\^,_,_'`'`a a a a a ar   N),__doc__(sympy.functions.elementary.miscellaneousr   sympy.polys.domainsr   r   sympy.polys.polyclassesr   r   r   sympy.polys.polyerrorsr	   r
   r   sympy.polys.specialpolysr   sympy.testing.pytestr   f_0f_1f_2f_3r   f_5f_6r!   r#   r'   r0   r:   rb   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   <module>r      s   @ @ 9 9 9 9 9 9 & & & & & & & & 1 1 1 1 1 1 1 1 1 13 3 3 3 3 3 3 3 3 3 , , , , , , ' ' ' ' ' '$G$GGGII$G$G$G !S#sCc  (
6 
6 
6( ( (
  8 8 8(K4 K4 K4\`* `* `*FL L LV: V: V:r( ( (
3 3 3%# %# %#P< < <@   A A A
1 1 13 3 3j	 	 	a a a a ar   