m
fIc           @   s  d  k  l Z l Z l Z d k Z d GHd GHd GHd d Z e d j o e d  n d Z e d j o e d	  n d
 GHd GHd d j o e d  n d d j o e d  n d d j o e d  n y d k l Z Wn e j
 o d Z n Xe d j o d d d j o e d  n d d j  o e d  n d d j  o e d  n xdD]; Z y e	 e  Z Wqae
 j
 o d e e  GHqaXqaWn e	 d  o e	 d  o e d  n e	 d  d j  o e d  n e	 d  d j  o e d  n xP dD]; Z y e	 e  Z Wqe
 j
 o d e e  GHqXqWn
 d# Ge GHd$ GHd% Z d% Z d& Z d& Z d' Z d' Z d( Z d( Z d) GHd* Z d+ Z d, Z d, Z d- Z d- Z d. Z d- Z d- Z d/ Z d0 Z d1 GHd2 Z d2 Z e e e  d j o
 e e j  d3 Z d3 Z e e e  d j o e e j o e e  d4 j  d5 Z d5 Z e e e  d j o e e j o e e  d6 j  d7 Z d7 Z e e e  d8 j o
 e e j  d9 Z d9 Z e e e  d8 j o
 e e j  d: Z d: Z e e e j  d: Z e e e j  d: Z e e e j  d: Z e e e j  d; GHd< GHd= GHd> GHd? GHe	 d@  Z dA GHdB   Z e   e f    e f  h    dC   Z dD   Z dE   Z dF   Z e e i i dj  e e i i dj  e i i dJ  o0 e e i i dj  e e i i dj  n- e e i i dj  e e i i dj  dS   Z dT   Z dU   Z dV   Z dW   Z dX   Z e i i dJ  o e e i i dj  n e e i i dj  e e d dd_  d d d^ df j  d d`  Z e   e d  e d  e h  dY d <  d da  Z e d  e d d  e d h  d\ d < d db  Z  e  d d  e  d d d^  e  d  e  d d e  d d d e  d d h  d] d^ < d d dc  Z! e!   e! d  e! d d  e! d  e! d d e! d h  d\ d < e! h  dY d <d\ d <  d d dd  Z" e" d  e" d d  e" d d d^  d d de  Z# e# d d  e# d d d^  e# d d d^ d_  d df  Z$ e$   e$ d  e$ d d  e$ d  e$ d  e$ h  dY d <  d dg  Z% e% d  e% d d  e% d d d^  d dh  Z& e& d d  e& d d d^  e& d d d^ d_  e& d  e& d d h  d] d^ < d d di  Z' e'   e' d  e' d d  e' d d d^  e' d d  e' h  dY d <d\ d <  d d dj  Z( e( d  e( d d  e( d d d^  e( d d d^ d_  e( d!  e( d d d" e( d d#h  d] d^ < d d dl  Z) e) d d  e) d d d^  e) d d d^ d_  e) d d d^ d_ dk  e) d$  e) d d d% e) d d&h  dm d_ < dn GHdo   Z* e e*   d j  dp   Z+ dq   Z, e e,   d d d g j  d dr  ds  dt  Z- e e-   d j  d du  Z. e e. d d  dk j  e e. d d d^  dv j  e dw  dx GHd Z [ dy GHd d'd Z d(Z d)Z Z Z/ d*\ Z Z Z/ d d d+f Z0 \ a1 a2 Z3 \ Z Z Z/ Z4 e dz  e d{  d| GHd Gd Gd^ GHd Gd Gd^ GHd p d Gd p d Gd p d GHd} GHd k Z e i5 d Id Id^ IJe i5 d Id Id^ Ie i5 Je i5 d p d Id p d Ie i5 d p d IJd~ f  d     YZ6 e6   Z7 e7 d Id Id^ IJe7 d Id Id^ Ie7 Je7 d p d Id p d Ie7 d p d IJd   Z8 e i5 d  Z9 e8   d d  Z9 e8   e d  e d  d GH[0 [ [ [/ [4 d GHd GHd GHx PqWd GHd Z; x e; o d Z; qqWd2 Z< x/ e< p' d Z< y w3d Z< Wq3d Z< q3Xq3We< GHd2 Z< x# e< p d Z< z wpWd d Z< XqpWe< GHd GHd d d  Z= e=   d GHd   Z> d   Z? e>   e?   Z d GHy e@ d  Wn e@ j
 o n Xy
 eA  Wn eA j
 o n Xd GHd k Z d kB ZB d k Z d GHd kB lB ZB d kB lB ZB d k Td k lC ZC lD ZD d k lC ZC lD ZD d k lC ZC lD ZD d GHd   ZE d GHd   ZE eE   h  ZF d eF UeF iG d  o eF d =n eF h  d d <j o e d  n h  ZF h  ZH d kI ZI eI iJ d d d d d eF eH UeF iG d  o eF d =n eH iG d  o eH d =n eF eH f h  dY d <h  d\ d <f j o e d eF eH f  n d GHd GHn n d GHx d o qWx d o qWd GHx d,D] Z; qWx f  D] \ Z; ZK ZL qWd f  d     YZM d ZN x eM d  D] Z eN e ZN qHWeN d j o e d  n d GHy d d Wn eO j
 o n Xy d d WnA eP j
 o n0 eQ j
 o	 Z< n e@ j
 o	 Z< n n Xy d d Wn eP eQ eO f j
 o n Xy d d Wn eP eQ eO f j
 o	 Z< n Xz Wd Xd GHn n n d GHd p n d o n d p d o n d p n d o d o n d p d p d o d o n d GHn d d j Z d d j o n d d j o n d d j o n d d j  o n d d j o n d d j o n d d j o n d d j o n d d j	 o n d f  j o n d f  j o n d d j  ov d j oj d j o^ d j oR d j oF d j o: d j o. d j o" d j o d j o
 d j	 n o n d GHd d @Z d d AZ d d BZ d GHd d >Z d d ?Z d d >d ?Z d GHd Z d d Z d d d Z d d d d d Z d GHd d Z d d Z d d Z d d d d Z d GHd Z d Z d Z d d d @Ad d @d ABZ d d d d d d d Z d GHe   e d  e d  e d d  e d d  e d d d-f  e   e d  e d  e d d  e d d d^ d_ dk dv d d d d 
 e d  e d  e d d  e d d d^  e d d d^ d_ dk dv d d d d 
 e d d  e d d d^  e d d d^ d_  e d d d^ d_ dk dv d d d d 
 e d d. e d d/d_  e d d0d_ dk dv d d d d 	 Hd k Z d kB ZB e iC d Z3 eB iB   Z e iR d iB   Z d a1 t1 d Z3 t1 d Z3 t1 d dk !Z t1 dk  Z t1 d Z t1 Z t1 d Z t1 d  Z t1 d d !Z d GHd Z d p d p d^ Z d p d p d^ d d^ f Z g  Z d g Z d p d p d^ g Z d p d p d^ d d^ g Z g  Z h  Z h  d d <Z h  d d <Z h  d p dH d p d <Z h  d d <dH d <Z h  d d <dH d <Z h  d d <dH d <d d^ <d d_ <d dk <d dv <Z e Z d p d p d^ Z e Z d Z d Z d GHd f  d     YZS d eS f d     YZT d eS f d     YZU d eT eU eS f d     YZV d f  d     YZW d d d^ d_ dk g ZX d d d g ZY d d d g ZZ g  Z[ eZ D] Z e[ e i\   qj[[ GHg  Z[ eX D] Z e[ d^ e q[[ GHg  Z[ eX D] Z e d j o e[ e qq[[ GHg  Z[ eX D]  Z; eY D] Z e[ e; e f qq[[ GHg  Z[ eX D]L Z; g  Z] eY D] ZE d eE j o e] eE q)q)[] D] Z e[ e; e f qNq[[ GHg  Z[ e^ dk  D] ZK e[ d   eK  q}[[ GHd   Z_ e_ eX  GHd   Z` e`   e d  e d  d1d2d3g Za d4d5d6g Zb d7d8d9d:g Zc g  Z[ ea D]] \ Zd Ze eb D]J \ Zf Zg ec D]7 \ Zh Zi ed eh j o ef ei j o e[ ee eg f q.q.qq[[ GHd   e^ d  D ZF e eF ij   g  Z[ e^ d  D] Z e[ e q[[ j  y eF ij   e d  Wn ek j
 o n Xd a1 y' d   t1 D ZF eF ij   e d  Wn eQ j
 o n Xe el d   d D  g  Z[ d D]  Z d D] Z e[ e e f q[qQ[[ j  e el d   d D  g  Z[ d D]  Z d D] Z e[ e e f qq[[ j  g  Z[ e^ d  D] Z e[ e q[[ a1 d   d   t1 D D a2 e em t2  em g  Z[ e^ d  D] Z e[ e q-[[  j  e em d   e^ d  D  em g  Z[ e^ d  D] Z e[ e d qz[[  j  e em d   e^ d  D  em g  Z[ e^ d  D]  Z e d o e[ e e qq[[  j  e em d   d   e^ d  D D  em g  Z[ e^ d  D] Z e[ e q5[[  j  e em d   d   d   e^ d  D D D  em g  Z[ e^ d  D] Z e[ e q[[  j  e em d   g  Z[ d   e^ d  D D] Z e[ e q[[ D  em g  Z[ e^ d  D] Z e[ e q[[  j  e em d  d  d  e^ d  D D D  em g  Z[ e^ d  D] Z e[ e qi[[  j  e em d  d  d  e^ d  D D D  d j  e d e d d Z d	  e^ e  D ZF dk Z e e el eF   d j  d Z en Zo d
  e^ e  D ZF dk Z ep Zo e g  Z[ e^ d  D]& Z; e^ dk  D] ZK e[ e; eK f qdqT[[ el eF  j  d S(;  (   s
   TestFaileds   verifys   check_syntaxNs	   1. Parsers
   1.1 Tokenss   1.1.1 Backslashesi   i   s   backslash for line continuationi    s   backslash ending comments   1.1.2 Numeric literalss   1.1.2.1 Plain integersi   s   hex ints	   octal intis   large positive int(   s   maxinti  l        s   max negative intl    s	   large octs	   large hext
   2147483648t   040000000000t   0x100000000s&   OverflowError on huge integer literal s   maxint == 9223372036854775807s2   -9223372036854775807-1 != -01000000000000000000000t   01777777777777777777777t   0xfffffffffffffffft   9223372036854775808t   02000000000000000000000t   0x10000000000000000s   Weird maxint values   1.1.2.2 Long integersl    l    l   ? l   
~l!]c s   1.1.2.3 Floating pointf3.1400000000000001f314.0f0.314f300000000000000.0f2.9999999999999998e-14f30000000000000.0f31000.0s   1.1.3 String literalst    s   'i'   t   "i"   s   doesn't "shrink" does iti   s   does "shrink" doesn't its2   
The "quick"
brown fox
jumps over
the 'lazy' dog.
s   1.2 Grammart   single_inputt
   file_inputt
   expr_inputt
   eval_inputs	   1, 0 or 1t   funcdefc           C   s   d  S(   N(    (    (    (    t.   /mit/python/lib/python2.4/test/test_grammar.pyt   f1   s    c         C   s   d  S(   N(    (   t   one_argument(    (    R   t   f2   s    c         C   s   d  S(   N(    (   t   twot	   arguments(    (    R   t   f3   s    c         C   s   | \ } \ } } d  S(   N(   t   compoundt   argumentt   list(   R   t   .2R   R   R   (    (    R   t   f4   s    c         C   s   |  \ } } d  S(   N(   R   t   first(   t   .0R   R   R   (    (    R   t   f5   s    R   R   R   t   javas   (compound, (argument, list))R   R   R   s   (compound, first)R   s   .2s   .0c         C   s   d  S(   N(    (   t   one_arg(    (    R   t   a1   s    c         C   s   d  S(   N(    (   R   t   args(    (    R   t   a2   s    c          G   s   d  S(   N(    (   t   rest(    (    R   t   v0   s    c         G   s   d  S(   N(    (   t   aR#   (    (    R   t   v1   s    c         G   s   d  S(   N(    (   R%   t   bR#   (    (    R   t   v2   s    c         G   s   | \ } } |  | | | f S(   N(   R'   t   cR%   R#   (   R%   R   R#   R'   R)   (    (    R   t   v3   s    R%   s   (b, c)R#   R'   R)   i   i   c         C   s   d  S(   N(    (   R%   (    (    R   t   d01   s    c         C   s   d  S(   N(    (   R%   R'   (    (    R   t   d11   s    c         C   s   d  S(   N(    (   R%   R'   R)   (    (    R   t   d21   s    c         C   s   d  S(   N(    (   R%   R'   (    (    R   t   d02   s    c         C   s   d  S(   N(    (   R%   R'   R)   (    (    R   t   d12   s    c         C   s   d  S(   N(    (   R%   R'   R)   t   d(    (    R   t   d22   s    c         G   s   d  S(   N(    (   R%   R#   (    (    R   t   d01v   s    c         G   s   d  S(   N(    (   R%   R'   R#   (    (    R   t   d11v   s    c         G   s   d  S(   N(    (   R%   R'   R)   R#   (    (    R   t   d21v   s    c         G   s   d  S(   N(    (   R%   R'   R#   (    (    R   t   d02v   s    c         G   s   d  S(   N(    (   R%   R'   R)   R#   (    (    R   t   d12v   s    i   c         G   s   d  S(   N(    (   R%   R'   R)   R0   R#   (    (    R   t   d22v   s    R0   t   lambdefc           C   s   d S(   Ni    (    (    (    (    R   t   <lambda>  s    c           C   s   t  t S(   N(   R%   R0   (    (    (    R   R9     s    c          C   s.   g  }  d d d g D] } |  d | j  q ~  S(   Nii   l    i   (   t   _[1]t   x(   R:   R;   (    (    R   R9     s    c         C   s   |  S(   N(   t   z(   R<   (    (    R   R9     s    c         C   s   |    S(   N(   t   y(   R=   (    (    R   R9     s    c         C   s   |    S(   N(   R;   (   R;   (    (    R   R9     s    c         C   s   |  | | S(   N(   R;   R=   R<   (   R;   R=   R<   (    (    R   R9   	  s    i   s   lambda x: x = 2t   simple_stmtt	   expr_stmts	   x + 1 = 1s   a + 1 = b + 2t
   print_stmts   extended print_stmtt   Gulpc           B   s   t  Z d   Z RS(   Nc         C   s   d  S(   N(    (   t   selft   msg(    (    R   t   write6  s    (   t   __name__t
   __module__RD   (    (    (    R   RA   5  s   c          C   s>   t  i }  t   t  _ z t t    t   Wd  |  t  _ Xd  S(   N(   t   syst   stdoutt	   oldstdoutRA   t   tellme(   RI   (    (    R   t   driver@  s    	 c         C   s   |  d IJd  S(   Ns   hello world(   t   file(   RL   (    (    R   RJ   J  s    c         C   s   |  d IJd  S(   Ns   goodbye universe(   RL   (   RL   (    (    R   RJ   P  s    s   print ,s   print >> x,t   del_stmtt	   pass_stmtt	   flow_stmtt
   break_stmtt   continue_stmts   continue + try/except oks&   continue failed to continue inside trys'   continue inside try called except blocks   finally block not calleds   continue + try/finally oks0   testing continue and break in try/except in loopc         C   s   d } xW | oO | d 7} y4 |  o | d j o |  d 8}  Pn | d 8} w	 Wq	   q	 Xq	 W| d j p | d j o	 d GHn d  S(   Ni   i   s1   continue then break in try/except in loop broken!(   t	   big_hippot   countt   extra_burning_oil(   RT   RS   RR   (    (    R   t   test_break_continue_loop  s     


t   return_stmtc           C   s   d  S(   N(    (    (    (    R   t   g1  s    c           C   s   d S(   Ni   (    (    (    (    R   t   g2  s    t
   raise_stmts   just testingt   import_namet   import_from(   s   time(   t   *(   s   paths   argvt   global_stmtc           C   s   d  S(   N(    (    (    (    R   t   f  s     t	   exec_stmtc          B   s   d  }  ~  d d  U|  d j o e d  n ~  d d  U|  d j o e d  n d  }  ~  d  k } e | d  o d d  Un d  S(   Ns   z=1+1
i   s   exec 'z=1+1'\ns   z=1+1s   exec 'z=1+1't   UnicodeTypes   if 1:
    exec u'z=1+1\n'
    if z != 2: raise TestFailed, 'exec u\'z=1+1\'\\n'
    del z
    exec u'z=1+1'
    if z != 2: raise TestFailed, 'exec u\'z=1+1\''
(   t   NoneR<   t
   TestFailedt   typest   hasattr(   R<   Rc   (    (    R   R^     s      	s   z = 1t   __builtins__R<   s   exec 'z = 1' in gt   ignores   global statementt   modules   <string>s   global a; a = 1; b = 2s   exec ... in g (%s), l (%s)t   assert_stmtt   if_stmtt
   while_stmtt   for_stmtt   Squaresc           B   s#   t  Z d   Z d   Z d   Z RS(   Nc         C   s   | |  _  g  |  _ d  S(   N(   t   maxRB   t   sofar(   RB   Rm   (    (    R   t   __init__  s    	c         C   s   t  |  i  S(   N(   t   lenRB   Rn   (   RB   (    (    R   t   __len__  s    c         C   sx   d | j o |  i j  n p
 t  n t |  i  } x0 | | j o" |  i i | |  | d } q= W|  i | S(   Ni    i   (   t   iRB   Rm   t
   IndexErrorRp   Rn   t   nt   append(   RB   Rr   Rt   (    (    R   t   __getitem__  s    ! 
 (   RE   RF   Ro   Rq   Rv   (    (    (    R   Rl     s   		i
   i  s   for over growing sequencet   try_stmtt   suitet   testt
   comparisons   binary mask opss	   shift opss   additive opss   multiplicative opss	   unary opsiit	   selectorsi   i   i	   t   timet   01234iiit   atomst   onet   threet   fourt   fivet   sixR;   i{   t   classdeft   Bc           B   s   t  Z RS(   N(   RE   RF   (    (    (    R   R     s    t   C1c           B   s   t  Z RS(   N(   RE   RF   (    (    (    R   R     s    t   C2c           B   s   t  Z RS(   N(   RE   RF   (    (    (    R   R     s    t   Dc           B   s   t  Z RS(   N(   RE   RF   (    (    (    R   R     s    t   Cc           B   s#   t  Z d   Z d   Z d   Z RS(   Nc         C   s   d  S(   N(    (   RB   (    (    R   t   meth1  s    c         C   s   d  S(   N(    (   RB   t   arg(    (    R   t   meth2  s    c         C   s   d  S(   N(    (   RB   R    R"   (    (    R   t   meth3  s    (   RE   RF   R   R   R   (    (    (    R   R     s   		t   Applet   Bananat   Coconuts     Apples    Banana s   Coco  nut  Rt   c         C   s-   g  } t |  d  D] } | |  | q ~ S(   Ni   (   R:   t   rangeR%   Rr   (   R%   R:   Rr   (    (    R   R9     s    c         C   sG   g  } |  D]5 } | d j o" | d  | j  o
 d j  n q q ~ S(   Ni   i   (   R:   t   lR;   Ra   (   R   R:   R;   (    (    R   t   test_in_func  s    c          C   sR   g  }  d d d g D]2 } |  g  } | | d g D] } | | q2 ~ q ~  GHd  S(   Ni   i   i   (   R:   R;   t   _[2]R=   (   R:   R;   R=   R   (    (    R   t   test_nested_front  s    s"   [i, s for i in nums for s in strs]s   [x if y]t   Boeingt   Fordt
   Macdonaldst   Airlineri   t   Enginei   t   Cheeseburgerc         c   s9   x2 |  ]+ } g  } t d   D] } | | q ~ Vq Wd S(   i
   N(   t   [outmost-iterable]R;   R:   R   (   R   R:   R;   (    (    R   t   <generator expression>  s    s&   should produce StopIteration exceptionc         c   s   x |  ]
 } t Vq Wd  S(   N(   R   R0   R%   (   R   R0   (    (    R   R     s    s   should produce TypeErrorc         c   s/   x( |  ]! } x d  D] } | | f Vq Wq Wd S(   t   abcdN(   R   R;   R=   (   R   R=   R;   (    (    R   R     s     R   c         c   s/   x( |  ]! } x d  D] } | | f Vq Wq Wd S(   t   xyN(   R   R;   R=   (   R   R=   R;   (    (    R   R     s     t   abR   c         c   s   x |  ]
 } | Vq Wd  S(   N(   R   R;   (   R   R;   (    (    R   R      s    c         c   s   x |  ]
 } | Vq Wd  S(   N(   R   R=   (   R   R=   (    (    R   R      s    c         c   s   x |  ] } | d  Vq Wd S(   i   N(   R   R;   (   R   R;   (    (    R   R     s    c         c   s+   x$ |  ] } | d  o | | Vq q Wd S(   i   N(   R   R;   (   R   R;   (    (    R   R     s    c         c   s   x |  ]
 } | Vq Wd  S(   N(   R   R;   (   R   R;   (    (    R   R     s    c         c   s   x |  ]
 } | Vq Wd  S(   N(   R   R=   (   R   R=   (    (    R   R     s    c         c   s   x |  ]
 } | Vq Wd  S(   N(   R   R;   (   R   R;   (    (    R   R     s    c         c   s   x |  ]
 } | Vq Wd  S(   N(   R   R=   (   R   R=   (    (    R   R     s    c         c   s   x |  ]
 } | Vq Wd  S(   N(   R   R<   (   R   R<   (    (    R   R     s    c         c   s   x |  ]
 } | Vq Wd  S(   N(   R   R;   (   R   R;   (    (    R   R     s    c         c   s   x |  ]
 } | Vq Wd  S(   N(   R   R<   (   R   R<   (    (    R   R     s    c         c   s#   x |  ] } t o | Vq q Wd  S(   N(   R   R;   t   True(   R   R;   (    (    R   R     s    c         c   s   x |  ]
 } | Vq Wd  S(   N(   R   R=   (   R   R=   (    (    R   R     s    c         c   s#   x |  ] } t o | Vq q Wd  S(   N(   R   R<   R   (   R   R<   (    (    R   R     s    c         c   s#   x |  ] } t o | Vq q Wd  S(   N(   R   R;   R   (   R   R;   (    (    R   R   	  s    c         c   s#   x |  ] } t o | Vq q Wd  S(   N(   R   R=   t   False(   R   R=   (    (    R   R   	  s    c         c   s#   x |  ] } t o | Vq q Wd  S(   N(   R   R<   R   (   R   R<   (    (    R   R   	  s    s   foo(x for x in range(10), 100)s   foo(100, x for x in range(10))c         c   s   x |  ]
 } | Vq Wd  S(   N(   R   Rr   (   R   Rr   (    (    R   R     s    c         c   s@   x9 |  ]2 } t o% x" t t  D] } | | f Vq  Wq q Wd  S(   N(   R   Rr   t   tR   R;   t   j(   R   Rr   R   (    (    R   R     s     (   R    R   R   (   R   R   R   (   s   one_argument(   s   twos	   arguments(   s   twos   (compound, (argument, list))s   compounds   arguments   list(   s   (compound, first)s   twos   compounds   first(   s   twos   .2s   compounds   arguments   list(   s   .0s   twos   compounds   first(   R%   s   (b, c)s   restR'   R)   (   R%   s   .2s   restR'   R)   (   i   i   (   i   (   i   (   i   i   i   (   i   i   (   i   (   i   i   (   i   (   i   i   i   i   (   i   (   i   i   i   i   (   i   i   i   (   i   i   i   i   (   i   i   i   (   i   (   i   i   i   i   (   i   i   i   (   i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   i   i   (   i   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   R   (   i   R   (   i   R   (   i
   R   (   i   R   (   i   R   (   i   i
   (   i   i   (   i   i   (   i   i   (q   t   test.test_supportRb   t   verifyt   check_syntaxRG   R;   t   maxintt   ImportErrort   st   evalt   OverflowErrort   reprR=   Rp   t   ordR   R   R   R   R   t	   func_codet   co_varnamest   platformt
   startswithR    R"   R$   R&   R(   R*   R+   R,   R-   R.   R/   R1   R2   R3   R4   R5   R6   R7   t   l1t   l2t   l3t   l4t   l5R<   t   abcR%   R'   R)   t   xyzRH   RA   t   gulpRK   RJ   Ra   Rr   RC   RU   RW   RX   t   RuntimeErrort   KeyboardInterruptR|   t   patht   argvR^   t   gt   has_keyR   t   warningst   filterwarningsR   t   kRl   Rt   t   ZeroDivisionErrort   EOFErrort	   TypeErrort   modulesR   R   R   R   R   t   numst   strst   spcsR:   t   stripR   R   R   R   t	   supplierst   partst   suppartt   snot   snamet   pnot   pnamet   sp_snot   sp_pnot   nextt   StopIterationR   t   sumR   R   R   (R   R3   R   R   R   RX   RW   RU   R6   R   R   RJ   R   R   R   R   R   R;   R   RA   R   R   R   R   R   R   R   R   R$   R)   R   R   R   R4   R   RG   R2   R   R   RC   R   R   R   R   R   R.   R+   R^   R   Rt   Rr   R<   R   R   R   R   R   R   Rl   R   R   R   R,   R/   R   R*   R   Rb   R   R5   R   R   R7   RK   R    R&   R(   R"   R-   R1   R:   R|   R=   (    (    R   t   ?   s  	
            	/BB##
	
										(















			
	-

	!		


       
  			   
 			  	
  +                                               	                 








 



%

%%"





	<&$13_/		

p	7

NN'=Q`Wara:

""