$ od -c -N 50000 [eris]<LispCore>CML>DOC>MVALUES.tedit!1 0000000 D e s i g n s f o r M u l t 0000020 i p l e V a l u e s i n I 0000040 n t e r l i s p - D \r L a r r 0000060 y M a s i n t e r , B i l l 0000100 v a n M e l l e , L a s 0000120 t r e v i e s e d 7 - M a r 0000140 - 8 6 1 7 : 3 4 : 1 5 \r I n t 0000160 r o d u c t i o n \r C o m m o n 0000200 L i s p s u p p o r t s t 0000220 h e n o t i o n t h a t a 0000240 f u n c t i o n ( o r f o 0000260 r m ) c a n r e t u r n ` 0000300 ` m u l t i p l e v a l u e s 0000320 ' ' , r a t h e r t h a n 0000340 t h e u s u a l o n e v a 0000360 l u e . T h e s p e c i f 0000400 i c a t i o n i s b a s e d 0000420 l a r g e l y o n e x p e 0000440 r i e n c e w i t h Z e t a 0000460 L i s p , w i t h a c o u 0000500 p l e o f s p o t s c l e 0000520 a n e d u p . \r M u l t i p l 0000540 e v a l u e s a r e p r o 0000560 d u c e d b y a s p e c i 0000600 a l f o r m ( v a l u e s 0000620 v 1 v 2 . . . ) . T h e 0000640 r e a r e s e v e r a l f 0000660 o r m s t h a t ` ` r e c e 0000700 i v e ' ' m u l t i p l e v 0000720 a l u e s a n d s p r e a d 0000740 t h e m i n s o m e w a 0000760 y t h a t t h e y c a n 0001000 b e m a n i p u l a t e d a 0001020 s r e g u l a r v a l u e s 0001040 : e . g . , t h e r e c e 0001060 i v e r c a n b i n d o n 0001100 e o r m o r e v a r i a b 0001120 l e s t o t h e v a l u e 0001140 s , c a n s e t v a r i a 0001160 b l e s t o t h e v a l u 0001200 e s , o r c a n b u i l d 0001220 a l i s t o f t h e v 0001240 a l u e s . F o r c o n s 0001260 i s t e n c y , ( v a l u e s 0001300 ) r e t u r n s z e r o v 0001320 a l u e s , a l t h o u g h 0001340 s o m e r e c e i v e r s c 0001360 a n n o t d i s t i n g u i s 0001400 h t h i s f r o m t h e 0001420 s i n g l e v a l u e N I L 0001440 . \r I f t h e r e c e i v e 0001460 r i s n o t e x p e c t i 0001500 n g m u l t i p l e v a l u 0001520 e s , t h e n e x a c t l y 0001540 o n e v a l u e ( t h e 0001560 f i r s t ) i s r e t u r n 0001600 e d . I f t h e r e c e 0001620 i v e r i s e x p e c t i n 0001640 g m u l t i p l e v a l u e 0001660 s , b u t o n l y a c o 0001700 n v e n t i o n a l s i n g l 0001720 e v a l u e i s r e t u r 0001740 n e d , t h a t v a l u e 0001760 i s t r e a t e d a s o n 0002000 e ` ` m u l t i p l e v a l 0002020 u e ' ' ; i n f a c t , o 0002040 n e ` ` m u l t i p l e v a 0002060 l u e ' ' i s c o m p l e t 0002100 e l y i n d i s t i n g u i s 0002120 h a b l e f r o m a c o n 0002140 v e n t i o n a l s i n g l e 0002160 v a l u e f r o m t h e 0002200 p r o g r a m ' s p o i n t 0002220 o f v i e w . \r T h u s , r 0002240 o u g h l y s p e a k i n g , 0002260 y o u o n l y g e t m u 0002300 l t i p l e v a l u e s i f 0002320 y o u a r e e x p e c t i 0002340 n g t h e m , a n d a s 0002360 a c r e a t o r o f m u l 0002400 t i p l e v a l u e s y o u 0002420 n e e d n o t c a r e w 0002440 h e t h e r y o u r c a l l 0002460 e r a c t u a l l y w a n t 0002500 e d m u l t i p l e v a l u 0002520 e s . T h i s i s a n 0002540 i c e f e a t u r e t h a t 0002560 C o m m o n L i s p m a k 0002600 e s u s e o f i n m a n 0002620 y p l a c e s : f u n c t i 0002640 o n s t h a t p r i n c i p 0002660 a l l y r e t u r n o n e 0002700 v a l u e a r e d e f i n e 0002720 d t o a c t u a l l y r e 0002740 t u r n s e v e r a l v a l 0002760 u e s i n c a s e t h e 0003000 c a l l e r i s i n t e r e 0003020 s t e d i n t h e m a l l 0003040 . A n e x a m p l e o f 0003060 t h i s m i g h t b e a 0003100 d i v i s i o n f u n c t i 0003120 o n , w h i c h r e t u r n 0003140 s t h e q u o t i e n t a 0003160 s i t s ( f i r s t ) v a 0003200 l u e , b u t a l s o r e 0003220 t u r n s t h e r e m a i n 0003240 d e r a s a s e c o n d 0003260 v a l u e , s i n c e i t 0003300 h a d t o c o m p u t e i 0003320 t a n y w a y , a n d s o 0003340 m e c a l l e r s a c t u a 0003360 l l y d o w a n t t h e 0003400 r e m a i n d e r ( i n C o 0003420 m m o n L i s p , t h e f 0003440 u n c t i o n f l o o r i s 0003460 s o d e f i n e d ) . \r T h 0003500 e m a i n c o m p l i c a t 0003520 i o n i n m u l t i p l e 0003540 v a l u e s a r i s e s f r 0003560 o m t h e f a c t t h a t 0003600 m o s t s u b f o r m s t 0003620 h a t a p p e a r t o t r 0003640 a n s p a r e n t l y p a s s 0003660 t h r u a v a l u e i n 0003700 t h e c o n v e n t i o n a 0003720 l w a y a r e a l s o r 0003740 e q u i r e d t o t r a n s 0003760 p a r e n t l y p a s s t h 0004000 r u m u l t i p l e v a l u 0004020 e s a s w e l l . R o u 0004040 g h l y s p e a k i n g , p 0004060 r o g n a n d a n y t h i n 0004100 g t h a t i s i n s o m 0004120 e w a y a n i m p l i c i 0004140 t p r o g n m u s t r e t 0004160 u r n m u l t i p l e v a l 0004200 u e s i f i t s f i n a l 0004220 f o r m r e t u r n s m u 0004240 l t i p l e v a l u e s . 0004260 M u l t i p l e v a l u e s 0004300 c a n n o t b e a s s i g n 0004320 e d t o a v a r i a b l e 0004340 , n o r p a s s e d a s 0004360 a r g u m e n t s t o f u n 0004400 c t i o n s ; s u c h c a s 0004420 e s a l w a y s a c t a s 0004440 s i n g l e - v a l u e d . 0004460 T h e r e e x i s t s p e 0004500 c i a l f o r m s f o r p 0004520 a s s i n g m u l t i p l e 0004540 v a l u e s t h r u a p r 0004560 o g 1 , a n d f o r s p r 0004600 e a d i n g m u l t i p l e 0004620 v a l u e s a s a r g u m e 0004640 n t s t o a f u n c t i o 0004660 n . \r U n f o r t u n a t e l y 0004700 , t h i s t r a n s p a r e 0004720 n c y r e q u i r e m e n t 0004740 v i o l a t e s t h e n o t 0004760 i o n t h a t y o u c a n 0005000 a l w a y s t e l l b y 0005020 l o o k i n g a t a p i e 0005040 c e o f c o d e i n i s 0005060 o l a t i o n , w h e t h e r 0005100 m u l t i p l e v a l u e s 0005120 a r e i n v o l v e d . 0005140 I t m e a n s t h e i m p 0005160 l e m e n t a t i o n n e e d 0005200 s t o b e c l e v e r e 0005220 n o u g h t h a t o r d i n 0005240 a r y c a l l a n d r e t 0005260 u r n a r e n o t s u b s 0005300 t a n t i a l l y p e n a l i 0005320 z e d b y n e e d i n g t 0005340 o a c c o u n t f o r t h 0005360 e p o s s i b i l i t y t h 0005400 a t m u l t i p l e v a l u 0005420 e s m i g h t s o m e h o w 0005440 g e t i n v o l v e d . 0005460 I t a l s o m e a n s t h 0005500 a t c e r t a i n c o m p i 0005520 l e r o p t i m i z a t i o n 0005540 s c a n n o t b e m a d e 0005560 , a l t h o u g h I b e l 0005600 i e v e t h i s h a s r e 0005620 l a t i v e l y m i n o r i 0005640 m p a c t . \r W e ' v e m a d 0005660 e a c o u p l e o f d e 0005700 s i g n s f o r M u l t i p 0005720 l e V a l u e s . T h e c 0005740 u r r e n t s y s t e m a s 0005760 o f 7 - M a r - 8 6 1 7 0006000 : 3 4 : 4 0 i m p l e m e n t 0006020 s d e s i g n I - A , V e 0006040 r y C h e a p I m p l e m e 0006060 n t a t i o n o f M u l t i 0006100 p l e V a l u e s . \r D E S I 0006120 G N I : A c h e a p i m 0006140 p l e m e n t a t i o n o f 0006160 m u l t i p l e v a l u e s \r 0006200 T h i s i s b a s e d o n 0006220 a m e s s a g e M a s i n 0006240 t e r s e n t l a s t y e 0006260 a r p l u s v a n M e l l 0006300 e ' s e a r l i e r d e s i 0006320 g n f o r a h i g h - p e 0006340 r f o r m a n c e v e r s i o 0006360 n . \r T h e m a i n i d e a 0006400 i s t h a t m o s t o f 0006420 t h e w o r k i s i n 0006440 t h e m u l t i p l e - v a l 0006460 u e r e t u r n e r . I t 0006500 l o o k s i n s i d e t h 0006520 e c a l l e r t o s e e 0006540 i n w h a t f o r m , i f 0006560 a n y , t h e c a l l e r 0006600 w a n t s t o s e e t h 0006620 e v a l u e s . T h e c 0006640 o m p i l e d c o d e i n 0006660 t h e c a l l e r i s a r 0006700 r a n g e d s o t h a t i 0006720 f m u l t i p l e v a l u e 0006740 s a r e n o t b e i n g 0006760 r e t u r n e d , t h e c o 0007000 d e f o l l o w i n g a m 0007020 u l t i p l e - v a l u e c a 0007040 l l c o m p u t e s t h e 0007060 a p p r o p r i a t e n u l l 0007100 v a l u e s ; i f m u l t 0007120 i p l e v a l u e s a r e 0007140 b e i n g r e t u r n e d , 0007160 t h e r e t u r n e r t a k 0007200 e s c a r e o f t h e v 0007220 a l u e s a n d a d j u s t 0007240 s t h e c a l l e r ' s P 0007260 C t o s k i p t h a t c 0007300 o d e . V a l u e s a r e 0007320 p a s s e d t r a n s p a r 0007340 e n t l y t h r u t a i l - 0007360 r e c u r s i v e c a l l s 0007400 b y v i r t u e o f t h e 0007420 m u l t i p l e - v a l u e 0007440 r e t u r n e r s e e i n g 0007460 t h e o p c o d e R E T U R 0007500 N f o l l o w i n g t h e 0007520 c a l l ; i n s u c h c a 0007540 s e s , i t i t e r a t e s 0007560 t h e p r o c e d u r e o 0007600 n t h a t f r a m e ' s c 0007620 a l l e r . \r C o m p i l e r 0007640 A r c h i t e c t u r e \r T h e 0007660 r e a r e t h r e e i n t 0007700 e r e s t i n g " c o m p i l 0007720 a t i o n c o n t e x t s " 0007740 f o r m u l t i p l e v a l 0007760 u e s , o n l y t w o o f 0010000 w h i c h a r e r e a l l 0010020 y n e e d e d : \r M u l t i p 0010040 l e V a l u e s a s a l 0010060 i s t 023 f o r t h e s p e c 0010100 i a l f o r m m u l t i p l 0010120 e - v a l u e - l i s t . T 0010140 h e c a l l e r e x p e c t 0010160 s t o s e e a l i s t 0010200 o f v a l u e s . \r E x a c t 0010220 l y n m u l t i p l e v a 0010240 l u e s s p r e a d 023 f o r 0010260 t h e s p e c i a l f o r m 0010300 s m u l t i p l e - v a l u e 0010320 - b i n d a n d m u l t i p 0010340 l e - v a l u e - s e t q . 0010360 T h e c a l l e r e x p e c 0010400 t s t o s e e e x a c t l 0010420 y n v a l u e s ( n i s 0010440 k n o w n a t c o m p i l 0010460 e t i m e ) p u s h e d o 0010500 n t h e s t a c k . \r W h e 0010520 n a " r e t u r n v a l u 0010540 e " f o r m i s c o m p i 0010560 l e d i n o n e o f t h 0010600 e s e c o n t e x t s , s p 0010620 e c i a l c o d e i s e x 0010640 e c u t e d t o a s s u r e 0010660 t h a t t h e v a l u e 0010700 i s i n t h e d e s i r e 0010720 d f o r m . I f t h e 0010740 f o r m i s a f u n c t i 0010760 o n c a l l ( t h e u s u 0011000 a l c a s e ) , a s p e c 0011020 i a l o p c o d e i s e m 0011040 i t t e d a f t e r t h e 0011060 f u n c t i o n c a l l w h 0011100 o s e p u r p o s e i s t 0011120 o m u n g e a s i n g l e 0011140 v a l u e i n t o m u l t 0011160 i p l e f o r m , o r b e 0011200 r e c o g n i z e d ( a n d 0011220 s k i p p e d ) b y a m 0011240 u l t i p l e v a l u e r e 0011260 t u r n e r . I f t h e 0011300 f o r m i s a m u l t i p 0011320 l e - v a l u e r e t u r n i 0011340 n g f o r m , t h e v a l 0011360 u e s a r e p r o d u c e d 0011400 i n t h e d e s i r e d 0011420 f o r m . I f t h e f o 0011440 r m i s a n y o t h e r 0011460 n o n - m u l t i p l e - v a l 0011500 u e r e t u r n i n g f o r 0011520 m , i t s s i n g l e v a 0011540 l u e i s c o e r c e d i 0011560 n t o a " s i n g l e m u 0011600 l t i p l e v a l u e " o f 0011620 t h e d e s i r e d f o r 0011640 m . \r I n o r d e r t o a 0011660 v o i d h a i r i n u n b 0011700 i n d i n g , a n y b i n d 0011720 i n g f o r m ( t h a t r 0011740 e a l l y r e q u i r e s a 0011760 d y n a m i c b i n d , e 0012000 . g . , o f a s p e c i a 0012020 l v a r i a b l e ) e n c o 0012040 u n t e r e d w h i l e i n 0012060 t h e " s p r e a d " c o 0012100 n t e x t m u s t b e c o 0012120 m p i l e d a s a s e p a 0012140 r a t e f r a m e . \r A t h 0012160 i r d c o n t e x t m i g h 0012200 t b e d e s i r e d : \r M u 0012220 l t i p l e v a l u e s s p 0012240 r e a d p l u s a c o u n 0012260 t 023 f o r t h e s p e c i a 0012300 l f o r m m u l t i p l e - 0012320 v a l u e - c a l l . T h e 0012340 c a l l e r e x p e c t s 0012360 t o s e e s o m e n u m b 0012400 e r o f v a l u e s ( n o 0012420 t k n o w n a t c o m p i 0012440 l e t i m e ) p l u s a 0012460 c o u n t o f t h o s e v 0012500 a l u e s . \r H o w e v e r , 0012520 t h i s c o n t e x t i s 0012540 n o t r e a l l y n e e d e 0012560 d i f w e c h o o s e t 0012600 o d e f i n e m u l t i p l 0012620 e - v a l u e - c a l l i n 0012640 t h e f o l l o w i n g o b 0012660 v i o u s b u t i n e f f i 0012700 c i e n t f a s h i o n : \r ( 0012720 d e f m a c r o m u l t i p l 0012740 e - v a l u e - c a l l ( f n 0012760 . f o r m s ) \r \a ( a p p l 0013000 y , f n ( n c o n c @ , ( 0013020 f o r f i n f o r m s \r \t 0013040 \t c o l l e c t \a ( m u l t i 0013060 p l e - v a l u e - l i s t , 0013100 f ) ) ) ) ) . \r M u l t i p l e 0013120 V a l u e R e c e i v i n g 0013140 O p c o d e s \r I a m d e 0013160 s c r i b i n g t h i s a s 0013200 a n o p c o d e , t h o u 0013220 g h i n i t i a l l y i t 0013240 c o u l d a s w e l l b e 0013260 a f u n c t i o n c a l l 0013300 . I t i s o n l y e x 0013320 e c u t e d i n t h e c a 0013340 s e w h e r e a s i n g l 0013360 e v a l u e w a s r e t u 0013400 r n e d t o i t . \r M V L 0013420 I S T 023 r e c e i v e s v a l 0013440 u e s a s a l i s t . 0013460 T h e o p c o d e ' s a c t 0013500 i o n i s " C O N S N I L " 0013520 , i . e . , ( l a m b d a 0013540 ( x ) ( l i s t x ) ) . \r C 0013560 o m p i l a t i o n o f M u 0013600 l t i p l e V a l u e f o r 0013620 m s \r ( m u l t i p l e - v a l 0013640 u e - l i s t f o r m ) \r C o 0013660 m p i l e f o r m i n m u 0013700 l t i p l e - v a l u e - l i s 0013720 t c o n t e x t . T h a t 0013740 i s , a n y t e r m i n a 0013760 l f u n c t i o n c a l l 0014000 i n f o r m i s f o l l o 0014020 w e d w i t h M V L I S T . 0014040 A n y t e r m i n a l s 0014060 i n g l e - v a l u e d f o r 0014100 m i s c o m p i l e d a s 0014120 l i s t o f o n e e l e 0014140 m e n t . A n y t e r m i 0014160 n a l ( v a l u e s v 1 . 0014200 . . v m ) f o r m c o m p 0014220 i l e s d i r e c t l y a s 0014240 l i s t . \r ( m u l t i p l 0014260 e - v a l u e - s e t q v 1 0014300 . . . v n f o r m ) \r C o m 0014320 p i l e f o r m i n S p r 0014340 e a d [ n ] c o n t e x t . 0014360 T h a t i s , a n y t e 0014400 r m i n a l s i n g l e - v a 0014420 l u e d f o r m i s f o l 0014440 l o w e d b y a n e x p l 0014460 i c i t p u s h o f n 377 377 0014500 \0 357 $ 377 \0 1 N I L ' s . A 0014520 n y t e r m i n a l ( v a l 0014540 u e s v 1 . . . v m ) f 0014560 o r m s i m p l y c o m p i 0014600 l e s ( p u s h e s ) t h e 0014620 m v a l u e s , t h e n 0014640 p o p s e x c e s s v a l u 0014660 e s o r p u s h e s n 377 377 0014700 \0 357 $ 377 \0 m N I L ' s . A 0014720 n y t e r m i n a l f u n c 0014740 t i o n c a l l i n f o r 0014760 m i s f o l l o w e d w i 0015000 t h M V S P R E A D [ n ] , 0015020 w h i c h i s d e f i n e d 0015040 a s \r M V L I S T ; n 377 377 \0 0015060 357 $ 377 \0 1 * [ C O P Y C A R 0015100 S W A P C D R ] ; C A R \r A 0015120 l l o f t h e a b o v e 0015140 c a s e s a r e t h e n f 0015160 o l l o w e d b y \r S E T Q 0015200 v n ; P O P ; S E T Q v n 0015220 - 1 ; P O P ; . . . S E T 0015240 Q v 1 \r N e t s t a c k l 0015260 e v e l e f f e c t : o n e 0015300 p u s h . A l t e r n a t 0015320 i v e l y , c a n o p t i m 0015340 i z e t h e f u n c t i o n 0015360 c a l l c a s e b y d o 0015400 i n g t h e s p r e a d a 0015420 n d t h e S E T Q ' s t o 0015440 g e t h e r : \r M V L I S T ; 0015460 f o r i f r o m 1 t o 0015500 n - 1 c o m p i l e [ C O P 0015520 Y C A R S E T Q v i P O 0015540 P C D R ] ; \r C A R ; S E T 0015560 Q v n ; v 1 \r t h e f i n 0015600 a l p u s h o f v 1 b e 0015620 i n g n e e d e d b e c a u 0015640 s e t h e v a l u e o f 0015660 t h e m u l t i p l e - v a l 0015700 u e - s e t q f o r m i s 0015720 t h e f i r s t v a l u e . 0015740 \r ( m u l t i p l e - v a l u e 0015760 - b i n d ( v 1 . . . v n 0016000 ) f o r m . o t h e r - f 0016020 o r m s ) \r C o m p i l e f o 0016040 r m i n S p r e a d [ n ] 0016060 c o n t e x t , t h e n \r B I 0016100 N D [ v 1 ; . . . ; v n ] 0016120 ; ( p r o g n . o t h e r 0016140 - f o r m s ) \r f o l l o w e d 0016160 b y t h e a p p r o p r i 0016200 a t e u n b i n d o r r e 0016220 t u r n . L a r r y i n d 0016240 i c a t e s p o s s i b l e 0016260 f a k e r y b y c o m p i l 0016300 i n g i t a s \r ( l e t 0016320 ( ( v 1 ( m a g i c - s p r e 0016340 a d n f o r m ) ) \r 0016360 ( v 2 ( n o t h i n g ) ) 0016400 . . . \r ( v n ( 0016420 n o t h i n g ) ) ) \r \t . o 0016440 t h e r - f o r m s ) , \r w h e 0016460 r e m a g i c - s p r e a d 0016500 d o e s t h e s p r e a d i 0016520 n g a s d e s c r i b e d 0016540 a b o v e , a n d ( n o t h 0016560 i n g ) c o m p i l e s a s 0016600 s o m e t h i n g t h a t 0016620 p u s h e s n o t h i n g b 0016640 u t f o o l s t h e c o m 0016660 p i l e r i n t o t h i n k 0016700 i n g i t h a d . O f 0016720 c o u r s e , t h e c o m p 0016740 i l i n g c o n t e x t o f 0016760 t h e m u l t i p l e - v a 0017000 l u e - b i n d i t s e l f 0017020 i s t r a n s m i t t e d t 0017040 o t h e f i n a l s u b f 0017060 o r m o f t h e i n s i d 0017100 e p r o g n . \r I f n o n e 0017120 o f t h e b o u n d v a 0017140 r i a b l e s i s s p e c i 0017160 a l , t h i s w h o l e m 0017200 e s s c o u l d j u s t b 0017220 e a m u l t i p l e - v a l 0017240 u e - s e t q w i t h t h e 0017260 l o c a l b i n d i n g s 0017300 e s t a b l i s h e d e a r l 0017320 i e r . \r ( m u l t i p l e - v 0017340 a l u e - p r o g 1 f o r m 0017360 . o t h e r - f o r m s ) \r ( 0017400 v a l u e s - l i s t ( p r o 0017420 g 1 ( m u l t i p l e - v a l 0017440 u e - l i s t f o r m ) . 0017460 o t h e r - f o r m s ) ) . \r ( 0017500 v a l u e s v 1 . . . v n 0017520 ) \r I f i n r e t u r n c 0017540 o n t e x t , c o m p i l e 0017560 c l o s e d , f o l l o w e d 0017600 b y R E T U R N ( f u n c 0017620 t i o n V A L U E S i s d 0017640 e s c r i b e d b e l o w ) . 0017660 I f n o t i n o n e 0017700 o f t h e m u l t i p l e 0017720 v a l u e c o n t e x t s , 0017740 c o m p i l e a s p r o g 1 0017760 . \r ( v a l u e s - l i s t l 0020000 i s t ) \r I f i n r e t u r 0020020 n c o n t e x t , c o m p i 0020040 l e c l o s e d , f o l l o 0020060 w e d b y R E T U R N . 0020100 I f n o t i n o n e o f 0020120 t h e m u l t i p l e v a 0020140 l u e c o n t e x t s , i s 0020160 n o - o p . I f i n m 0020200 u l t i p l e - v a l u e - l i 0020220 s t c o n t e x t , c o m p 0020240 i l e a s t h e i d e n t 0020260 i t y ( i . e . , l i s t 0020300 i t s e l f i s t h e d e 0020320 s i r e d l i s t ) . I f 0020340 i n s p r e a d c o n t e 0020360 x t , s p r e a d l i s t 0020400 b y t h e a p p r o p r i a 0020420 t e M V S P R E A D [ n ] , 0020440 d e s c r i b e d a b o v e . 0020460 \r T h e f u n c t i o n V 0020500 A L U E S \r V A L U E S i s 0020520 a n o r m a l I n t e r l i 0020540 s p l a m b d a * f u n c t 0020560 i o n . I t i s c a l l 0020600 e d b y i n t e r p r e t e 0020620 d c o d e a n d b y t h 0020640 e v a l u e s s p e c i a l 0020660 f o r m i n r e t u r n 0020700 c o n t e x t . \r V A L U E S 0020720 e x a m i n e s i t s c a l 0020740 l e r ' s c a l l e r ( h e 0020760 r e a f t e r r e f e r r e d 0021000 t o a s t h e r e t u r 0021020 n e e ) t o s e e w h e t 0021040 h e r a n d h o w m u l t 0021060 i p l e v a l u e s a r e 0021100 d e s i r e d . S p e c i f 0021120 i c a l l y , i t f e t c h 0021140 e s t h e b y t e a t t 0021160 h e p c i n d i c a t e d 0021200 i n t h e r e t u r n e e ' 0021220 s f r a m e , a n d h a n 0021240 d l e s o n e o f 3 c a 0021260 s e s : \r R E T U R N 023 T h e 0021300 r e t u r n e e e x e c u t e 0021320 d a t a i l - r e c u r s i 0021340 v e f u n c t i o n c a l l 0021360 ; t h u s m u l t i p l e 0021400 v a l u e s m u s t b e t 0021420 r a n s m i t t e d t r a n s 0021440 p a r e n t l y . S e t r 0021460 e t u r n e e t o b e t h 0021500 e r e t u r n e e ' s c a l 0021520 l e r a n d i t e r a t e . 0021540 \r M V L I S T 023 T h e r e t u 0021560 r n e e e x p e c t s v a l 0021600 u e s a s a l i s t . 0021620 I n c r e m e n t t h e r e 0021640 t u r n e e ' s p c ( s o 0021660 t h a t i t s k i p s t h 0021700 e M V L I S T i n s t r u c 0021720 t i o n ) . C o n s t r u c 0021740 t a n d r e t u r n ( n o 0021760 r m a l l y , i . e . , f r 0022000 o m V A L U E S t o i t s 0022020 c a l l e r ) a l i s t 0022040 o f V A L U E S ' s a r g u 0022060 m e n t s . \r A n y t h i n g 0022100 e l s e 023 T h e r e t u r n e 0022120 e d o e s n o t e x p e c 0022140 t m u l t i p l e v a l u e 0022160 s , s o j u s t r e t u r 0022200 n ( n o r m a l l y ) t h e 0022220 f i r s t a r g u m e n t 0022240 t o V A L U E S . \r N o t e s 0022260 : \r V A L U E S c o u l d b 0022300 e u n w i n d i n g t h e 0022320 s t a c k a s i t g o e s 0022340 , b u t b y r e t u r n i 0022360 n g n o r m a l l y w e c 0022400 a n t a k e a d v a n t a g 0022420 e o f r e g u l a r R E T 0022440 U R N m i c r o c o d e t o 0022460 d o t h e u n w i n d i n 0022500 g q u i c k l y . \r T h e f 0022520 u n c t i o n V A L U E S - L 0022540 I S T i s a n a l o g o u s 0022560 t o V A L U E S , e x c e 0022600 p t i t t a k e s o n l y 0022620 o n e a r g u m e n t , w 0022640 h i c h i s t h e l i s t 0022660 a l r e a d y b u n d l e d 0022700 u p . \r T h i s o p e r a t 0022720 i o n o f V A L U E S m a 0022740 k e s i t i m p o r t a n t 0022760 t h a t t h e c o m p i l 0023000 e r n o t e m i t a R E 0023020 T U R N w h e r e m u l t i 0023040 p l e v a l u e s a r e e 0023060 x p r e s s l y i n h i b i t 0023100 e d , a n d a l s o n o t 0023120 r e a r r a n g e i n s t r 0023140 u c t i o n s i n s u c h 0023160 a w a y t h a t a n M V 0023200 L I S T i s m o v e d a w 0023220 a y f r o m i m m e d i a t 0023240 e l y a f t e r t h e f u 0023260 n c t i o n c a l l i t f 0023300 o l l o w s . E x a m p l e 0023320 s o f t h e f o r m e r : 0023340 \r ( l e t ( a ) \r ( 0023360 s e t q a ( f o o ) ) \r 0023400 a ) \r ( v a l u e s ( f 0023420 o o ) ) \r N e i t h e r o f 0023440 t h e s e e x p r e s s i o n 0023460 s i s e q u i v a l e n t 0023500 t o ( f o o ) , a s b o t 0023520 h a r e r e q u i r e d t 0023540 o r e t u r n a s i n g l 0023560 e v a l u e . I t m i g 0023600 h t b e n e c e s s a r y 0023620 f o r t h e c o m p i l e r 0023640 t o i n s e r t a N O P 0023660 b e f o r e a R E T U R N 0023700 t h a t f o l l o w s e i 0023720 t h e r o f t h o s e f o 0023740 r m s . \r C O N S - l e s s v 0023760 e r s i o n \r O n e c o u l d 0024000 i m a g i n e t h e f o l 0024020 l o w i n g v e r s i o n o 0024040 f " s p r e a d i n g " t h 0024060 a t d i d n o t c o n s . 0024100 H o w e v e r , t h e s 0024120 t a c k m u n g i n g i n v 0024140 o l v e d i s a l m o s t 0024160 s u r e l y m o r e e x p e 0024200 n s i v e t h a n t h e c 0024220 o n s i n g . H e r e i t 0024240 i s f o r t h e r e c o 0024260 r d , i n c a s e s o m e 0024300 p a r t o f i t s e e m 0024320 s s u i t a b l e f o r m 0024340 i c r o c o d e b o o s t : \r 0024360 D i s t i n g u i s h s p r e 0024400 a d f r o m M V L I S T b 0024420 y a n o t h e r o p c o d e 0024440 : \r M V S P R E A D . N 023 r e c 0024460 e i v e s N v a l u e s s 0024500 p r e a d . T h e o p c o 0024520 d e p u s h e s N 377 377 \0 357 $ 0024540 377 \0 1 N I L ' s o n t h e 0024560 s t a c k . \r I n s t e a d 0024600 o f t h e h a i r y d e s 0024620 t r u c t u r i n g s e q u e 0024640 n c e o f o p c o d e s , 0024660 t h e s p r e a d c o n t e 0024700 x t c o m p i l e s a s t 0024720 h e s i n g l e o p c o d e 0024740 M V S P R E A D . N ( w i t 0024760 h N t h e a l p h a b y 0025000 t e ) . T h e n t h e f 0025020 u n c t i o n V A L U E S h 0025040 a s a n o t h e r c a s e 0025060 t o w o r r y a b o u t : \r 0025100 M V S P R E A D . N 023 T h e r 0025120 e t u r n e e e x p e c t s 0025140 n v a l u e s s p r e a d 0025160 o n s t a c k . T h i s 0025200 i s t h e l e a s t p l e 0025220 a s a n t c a s e , a s w 0025240 e n e e d t o e x t e n d 0025260 r e t u r n e e ' s f r a m 0025300 e . F r e e t h e f r a 0025320 m e s b e t w e e n h e r e 0025340 a n d r e t u r n e e ( p 0025360 r e p a r i n g t o r e t u 0025400 r n f r o m h e r e t o 0025420 r e t u r n e e ) . F e t c 0025440 h t h e i n s t r u c t i o 0025460 n ' s a l p h a b y t e n 0025500 , a n d i n c r e m e n t 0025520 i t s p c b e y o n d t h 0025540 e w h o l e i n s t r u c t 0025560 i o n . T h e n p e r f o 0025600 r m t h e f o l l o w i n g 0025620 " a t o m i c a l l y " , p 0025640 r o b a b l y i n m i s c 0025660 c o n t e x t : E n s u r e 0025700 t h a t t h e r e i s s 0025720 p a c e t o e x t e n d r 0025740 e t u r n e e ' s f r a m e 0025760 b y n c e l l s , i . e . 0026000 , a f r e e b l o c k o 0026020 f s u f f i c i e n t l e n 0026040 g t h f o l l o w s f r a m 0026060 e ; i f n o t , n e e d 0026100 t o c o p y r e t u r n e e 0026120 a s i n s t a c k o v e 0026140 r f l o w . L e n g t h e n 0026160 r e t u r n e e ' s f r a m 0026200 e b y n c e l l s , a n 0026220 d b l t n v a l u e s f 0026240 r o m V A L U E S ' s a r g 0026260 u m e n t s t o t h o s e 0026300 l a s t n c e l l s ; i f 0026320 V A L U E S r e c e i v e d 0026340 f e w e r t h a n n a r 0026360 g u m e n t s , s t o r e N 0026400 I L ' s f o r t h e r e m 0026420 a i n i n g v a l u e s . 0026440 F i n a l l y , r e t u r n 0026460 t o r e t u r n e e . \r I t 0026500 i s u n p l e a s a n t l y 0026520 i n e f f i c i e n t t o u 0026540 s e t h e m i s c c o n t 0026560 e x t t o e x t e n d r e 0026600 t u r n e e ' s f r a m e i 0026620 n t h e M V S P R E A D c 0026640 a s e . I f \ F R E E S T 0026660 A C K B L O C K d i d n ' t 0026700 t h i n k g u a r d b l o c 0026720 k s w e r e f a i r g a m 0026740 e , w e c o u l d o p t i 0026760 m i z e t h e m o s t c o 0027000 m m o n c a s e , v i z . , 0027020 r e t u r n e e i m m e d i 0027040 a t e l y f o l l o w e d b 0027060 y i t s c a l l e e , w h 0027100 i c h f r a m e i s l a r 0027120 g e r t h a n t h e s e t 0027140 o f v a l u e s t o b e 0027160 r e t u r n e d : u n i n t 0027200 e r r u p t a b l y s p l i c 0027220 e r e t u r n e e ' s c a l 0027240 l e e o u t o f t h e s 0027260 t a c k , t u r n i t i n 0027300 t o a g u a r d b l o c k 0027320 , s t o r e a f r e e b 0027340 l o c k h e a d e r i n t 0027360 h e p l a c e f o l l o w i 0027400 n g w h a t w i l l b e 0027420 t h e e n d o f c a l l e 0027440 e ' s f r a m e , l e n g t 0027460 h e n c a l l e e ' s f r a 0027500 m e , b l t v a l u e s . 0027520 T h e s t a c k r e m a i 0027540 n s p a r s e a b l e a t 0027560 a l l t i m e s d u r i n g 0027600 t h i s o p e r a t i o n . 0027620 \r T h e u f n f o r M V S 0027640 P R E A D . N b e a r s g r 0027660 e a t s i m i l a r i t y t 0027700 o t h e M V S P R E A D c 0027720 a s e o f V A L U E S , b 0027740 u t w i t h o u t t h e h 0027760 a n d i n e s s o f h a v i 0030000 n g a d e s t r o y a b l e 0030020 f r a m e f o l l o w i n g 0030040 t h e f r a m e b e i n g 0030060 e x t e n d e d . W e c 0030100 o u l d o p t i m i z e M V 0030120 S P R E A D . N i n t h e 0030140 c o m m o n c a s e o f s 0030160 o m e s m a l l n u m b e r 0030200 o f v a l u e s b y d e 0030220 f i n i n g t h e u f n a 0030240 s a f u n c t i o n o f , 0030260 s a y , 6 a r g u m e n t 0030300 s . T h e m i c r o c o d 0030320 e w o u l d t h e n m a k 0030340 e s p a c e f o r 6 N I 0030360 L ' s t o b e p u s h e d 0030400 a s a s i d e e f f e c 0030420 t o f c a l l i n g t h e 0030440 u f n , a n d t h e u f 0030460 n n e e d o n l y a d j u 0030500 s t i t s B F t o b e 0030520 s m a l l e r ( a n d s t o 0030540 r e N I L i n t o i t s 0030560 f i r s t a r g ) . O n 0030600 t h e o t h e r h a n d , 0030620 M V S P R E A D . N o u g h t 0030640 t o b e e a s i l y m i 0030660 c r o c o d e d . \r D E S I G N 0030700 I A - A V E R Y C H E A 0030720 P I M P L E M E N T A T I O N 0030740 O F M U L T I P L E V A L 0030760 U E S \r A l i t t l e o f 0031000 w h a t i s d e s c r i b e 0031020 d a s " c o m p i l e r w 0031040 o r k " i s d o n e i n s 0031060 t e a d b y t h e m a c r 0031100 o s . T h e r e a r e n o 0031120 c o m p i l a t i o n c o n 0031140 t e x t s . \r I n s t e a d 0031160 o f a M V L I S T " o p c 0031200 o d e " t h e r e i s j u 0031220 s t a f u n c t i o n c a 0031240 l l , t o t h e f u n c t 0031260 i o n \ M V L I S T , w h o 0031300 s e d e f i n i t i o n i s 0031320 ( L A M B D A ( X ) ( L I 0031340 S T X ) ) . \r ( m u l t i p l 0031360 e - v a l u e - l i s t f o r 0031400 m ) \r u s u a l l y j u s t 0031420 c o m p u t e s ( \ M V L I 0031440 S T f o r m ) ) . T h e m 0031460 a c r o l o o k s a t f o 0031500 r m , h o w e v e r , a n d 0031520 w i l l o p e n c o d e 0031540 ( m u l t i p l e - v a l u e - 0031560 l i s t ( v a l u e s 1 2 0031600 3 ) ) = > ( l i s t 1 0031620 2 3 ) . \r A l l t h e 0031640 o t h e r m a c r o s a r e 0031660 d e f i n e d i n t e r m 0031700 s o f m u l t i p l e - v a 0031720 l u e - l i s t , e . g . \r ( 0031740 m u l t i p l e - v a l u e - s 0031760 e t q v 1 . . . v n f o 0032000 r m ) c o m p i l e s a s \r 0032020 ( l e t ( ( v a r ( m u l t i 0032040 p l e - v a l u e - l i s t f 0032060 o r m ) ) ) ( s e t q v 1 0032100 ( c a r v a r ) ) ( s e t q 0032120 v 2 ( c a d r v a r ) ) . 0032140 . . ) , \r ( m u l t i p l e - v 0032160 a l u e - b i n d ( v 1 . . 0032200 . v n ) f o r m . o t h 0032220 e r - f o r m s ) c o m p i l 0032240 e s a s ( d e s t r u c t u 0032260 r i n g - b i n d ( v 1 . . 0032300 . v n ) ( m u l t i p l e - 0032320 v a l u e - l i s t f o r m ) 0032340 . o t h e r - f o r m s ) \r 0032360 ( v a l u e s v 1 . . . v 0032400 n ) a n d ( v a l u e s - 0032420 l i s t l i s t ) a l w a y 0032440 s c o m p i l e c l o s e d 0032460 ( n o t i n g , h o w e v e 0032500 r , t h a t m u l t i p l e 0032520 - v a l u e - l i s t w i l l 0032540 " s p r e a d " t h e m w 0032560 h e r e n e c e s s a r y ) , 0032600 b u t o t h e r w i s e w 0032620 o r k a s d e s c r i b e d 0032640 a b o v e . \r A f e w p l 0032660 a c e s i n t h e I n t e 0032700 r l i s p i n t e r p r e t e 0032720 r w e r e m o d i f i e d 0032740 t o r e a l l y p a s s b 0032760 a c k v a l u e s w h e r e 0033000 a p p r o p r i a t e , a n 0033020 d i n t e r p r e t e d R E 0033040 T U R N w a s c h a n g e d 0033060 t o r e t u r n b a c k 0033100 m u l t i p l e v a l u e s 0033120 t o t h e e n c l o s i n g 0033140 P R O G i f t h e f o r 0033160 m i t s e l f r e t u r n e 0033200 d m u l t i p l e v a l u e 0033220 s . \r D E S I G N I I : A 0033240 c o m p l e x i m p l e m e n 0033260 t a t i o n o f m u l t i p 0033300 l e v a l u e s \r O u t l i n 0033320 e o f D e s i g n \r T h e 0033340 d e s i g n p r e s e n t e d 0033360 h e r e i s b a s e d o 0033400 n t h e i m p l e m e n t a 0033420 t i o n f o r S p i c e L 0033440 i s p , a n o t h e r m i c 0033460 r o c o d e d i m p l e m e n 0033500 t a t i o n . T h e g e n 0033520 e r a l i d e a i s t h a 0033540 t m u l t i p l e v a l u e 0033560 s a p p e a r o n t h e 0033600 s t a c k s p r e a d a s 0033620 s e v e r a l v a l u e s , 0033640 w i t h t h e t o p o f 0033660 s t a c k b e i n g a d i 0033700 s t i n g u i s h e d m a r k 0033720 e r t h a t i d e n t i f i 0033740 e s t h e v a l u e s a s 0033760 m u l t i p l e a n d s a 0034000 y s h o w m a n y t h e r 0034020 e a r e . F o r m s t h 0034040 a t c r e a t e m u l t i p 0034060 l e v a l u e s p u s h t 0034100 h e v a l u e s a n d t h 0034120 e n t h i s m a r k e r . 0034140 F o r m s t h a t a c c e 0034160 p t m u l t i p l e v a l u 0034200 e s h a v e s p e c i a l 0034220 c o d e t h a t t e s t s 0034240 f o r t h e m a r k e r , 0034260 p u s h o r p o p v a l u 0034300 e s t o g e t t h e s t 0034320 a c k i n t o t h e s t a 0034340 t e w h e r e i t h a s 0034360 t h e n u m b e r o f v a 0034400 l u e s i t i s e x p e c 0034420 t i n g , t h e n d o e s 0034440 s o m e t h i n g w i t h t 0034460 h e v a l u e s . E v e r 0034500 y t h i n g i s s o a r r 0034520 a n g e d t h a t o n l y 0034540 t h e f e w i n s t r u c t 0034560 i o n s t h a t ` ` k n o w 0034600 a b o u t ' ' m u l t i p l 0034620 e v a l u e s a r e e v e 0034640 r e x e c u t e d w h e n 0034660 t h e t o p o f s t a c k 0034700 m i g h t b e a m u l t 0034720 i p l e v a l u e s m a r k 0034740 e r . \r T h e M u l t i p l e 0034760 V a l u e s M a r k e r . 0035000 I n a t a g g e d a r c 0035020 h i t e c t u r e , t h e m 0035040 a r k e r i s e a s y t o 0035060 d e f i n e : t h e m a r 0035100 k e r i s a n i m m e d i 0035120 a t e d a t a t y p e w h o 0035140 s e t a g i s ` ` M u l t 0035160 i p l e V a l u e s M a r k 0035200 e r ' ' a n d w h o s e i 0035220 m m e d i a t e d a t u m i 0035240 s t h e n u m b e r o f 0035260 v a l u e s . W e d o n 0035300 o t h a v e t h e l u x u 0035320 r y o f t a g s i n t h 0035340 e p r e s e n t i m p l e m 0035360 e n t a t i o n ( t h o u g h 0035400 w e m a y w i s h t o 0035420 p l a n o n t h e m f o r 0035440 f u t u r e i m p l e m e n 0035460 t a t i o n s ) . H e n c e 0035500 , w e n e e d t o p i c 0035520 k a r e s e r v e d a d d 0035540 r e s s o r r a n g e o f 0035560 a d d r e s s e s n o t o 0035600 t h e r w i s e u s e d . 0035620 T h u s , t h e c h o i c e 0035640 s a r e ( a ) c h o o s e 0035660 a s i n g l e a d d r e s 0035700 s ( s a y , a l l o n e s 0035720 ) a n d i m p l e m e n t 0035740 t h e m a r k e r a s t w 0035760 o c e l l s , t h e t o p 0036000 o n e b e i n g t h i s 0036020 d i s t i n g u i s h e d a d 0036040 d r e s s a n d t h e n e 0036060 x t b e i n g t h e n u m 0036100 b e r o f v a l u e s , a 0036120 s a s m a l l p ; o r ( 0036140 b ) c h o o s e a r a n g 0036160 e o f a d d r e s s e s , 0036200 t h e l o w ( o r h i g h 0036220 ) b i t s o f w h i c h 0036240 e n c o d e t h e n u m b e 0036260 r o f v a l u e s . F o 0036300 r ( b ) t h e m o s t l 0036320 i k e l y c h o i c e i s 0036340 t o c h o o s e t h e a d 0036360 d r e s s { 3 7 7 , 1 7 7 4 0 0036400 0 } + n v a l u e s , s i n c 0036420 e t h a t p a g e o f v 0036440 i r t u a l m e m o r y i s 0036460 c u r r e n t l y f o r b i 0036500 d d e n . U n f o r t u n a 0036520 t e l y , t h e t e s t f 0036540 o r m u l t i p l e - v a l u 0036560 e - m a r k e r p i s n o n 0036600 - t r i v i a l . E n c o d 0036620 i n g t h e n u m b e r o 0036640 f v a l u e s i n t h e 0036660 h i g h h a l f , w i t h 0036700 a c o n s t a n t l o w h 0036720 a l f , w o u l d b e a 0036740 p o s s i b i l i t y b u t 0036760 f o r t h e p r o b l e m 0037000 t h a t t h e r e e x i s t 0037020 s o m e h i g h h a l v e 0037040 s ( l i t a t o m , s m a l 0037060 l p o s , s m a l l n e g ) 0037100 f o r w h i c h a n y l o 0037120 w h a l f i s a r e a s 0037140 o n a b l e v a l u e . \r I n 0037160 w h a t f o l l o w s , I 0037200 w i l l u s e M V M a r k 0037220 e r ( n ) t o r e f e r t 0037240 o a M u l t i p l e V a l 0037260 u e s M a r k e r f o r n 0037300 v a l u e s , i n d e p e n 0037320 d e n t o f t h e f i n a 0037340 l r e p r e s e n t a t i o n 0037360 w e c h o o s e , b e i 0037400 t o n e c e l l o r t w 0037420 o . M y c u r r e n t p 0037440 r e f e r e n c e i s f o r 0037460 t h e o n e - c e l l e d 0037500 { 3 7 7 , 1 7 7 4 0 0 } + n r 0037520 e p r e s e n t a t i o n , w 0037540 h i c h y i e l d s a m u 0037560 l t i p l e - v a l u e s - l i 0037600 m i t o f 2 5 5 . \r M u l t 0037620 i p l e V a l u e s C a l l 0037640 i n g F o r m s . E v e r 0037660 y e n d r e c e i v e r o 0037700 f m u l t i p l e v a l u e 0037720 s i s k n o w n a t c o 0037740 m p i l e t i m e , b y v 0037760 i r t u e o f b e i n g o 0040000 n e o f t h e s p e c i a 0040020 l r e c e i v i n g f o r m 0040040 s . A r e c e i v e r m 0040060 a k e s k n o w n i t s d 0040100 e s i r e t o r e c e i v e 0040120 m u l t i p l e v a l u e s 0040140 f r o m a f u n c t i o n 0040160 c a l l b y u s i n g i 0040200 n s t r u c t i o n s t h a t 0040220 s e t a b i t ( i n s 0040240 o m e b o d y ' s f r a m e ) 0040260 s i g n i f y i n g t h a t 0040300 i t i s w i l l i n g t 0040320 o a c c e p t m u l t i p l 0040340 e v a l u e s ( t h e b i 0040360 t i s t e s t e d b y r 0040400 e t u r n ) . O n r e t u 0040420 r n f r o m t h e c a l l 0040440 , t h e c a l l e r e x e 0040460 c u t e s i n s t r u c t i o 0040500 n s t h a t c o e r c e t 0040520 h e t o p o f s t a c k 0040540 t o m u l t i p l e v a l u 0040560 e s ( t r e a t i n g n o 0040600 m u l t i p l e v a l u e s 0040620 a s e x a c t l y o n e ) , 0040640 a d j u s t t h e s t a c 0040660 k i f n e c e s s a r y ( 0040700 p o p p i n g e x c e s s v 0040720 a l u e s , p u s h i n g N 0040740 I L s ) , a n d f i n a l l 0040760 y p e r f o r m t h e a p 0041000 p r o p r i a t e o p e r a t 0041020 i o n , d e p e n d i n g o 0041040 n t h e c a l l i n g f o 0041060 r m . T h e r e a r e s 0041100 e v e r a l w a y s o f c 0041120 a l l i n g f u n c t i o n s 0041140 ( d i r e c t f u n c t i o 0041160 n c a l l , a p p l y , a 0041200 p p l y * , e v a l , a n d 0041220 p o t e n t i a l l y t h e 0041240 u f n ' s f o r i n s t r 0041260 u c t i o n s t h a t c o u 0041300 l d p r o d u c e m u l t i 0041320 p l e v a l u e s ) , s o 0041340 e i t h e r t h e r e n e e 0041360 d t o b e m u l t i p l e 0041400 - v a l u e d c o u n t e r p 0041420 a r t s t o e a c h s u c 0041440 h i n s t r u c t i o n ( e 0041460 . g . , M V F N X , M V A P 0041500 P L Y F N , M V E V A L ) , 0041520 o r t h e r e n e e d s t 0041540 o b e a n i n s t r u c t 0041560 i o n t o c o m p o u n d 0041600 w i t h t h e c o n v e n t 0041620 i o n a l i n s t r u c t i o 0041640 n s t o o b t a i n t h e 0041660 d e s i r e d e f f e c t . 0041700 \r O p e n i s s u e : w h e 0041720 r e i s t h e ` ` M u l t 0041740 i p l e V a l u e s A c c e 0041760 p t a b l e ' ' ( M V A ) f 0042000 l a g s t o r e d ? T h e 0042020 c h o i c e s a p p e a r 0042040 t o b e a s f o l l o w s 0042060 : \r ( a ) S e t t h e b i 0042100 t i n t h e c a l l e e ' 0042120 s f r a m e ; i n o t h e 0042140 r w o r d s , t r e a t t 0042160 h e b i t a s ` ` i t i 0042200 s o k f o r m e t o r 0042220 e t u r n m u l t i p l e v 0042240 a l u e s ' ' . T h i s , 0042260 I b e l i e v e , i s h o 0042300 w i t i s d o n e i n 0042320 S p i c e L i s p . I t i 0042340 s a p p e a l i n g i n t 0042360 h a t i t w o u l d s e t 0042400 a f l a g i n a l o c 0042420 a t i o n t h a t f u n c t 0042440 i o n c a l l h a s t o 0042460 w r i t e a n y w a y ( f l 0042500 a g w o r d o f t h e n 0042520 e w f r a m e ) , a n d w 0042540 o u l d n o t r e q u i r e 0042560 a n y e x p l i c i t a c 0042600 t i o n t o c l e a r t h 0042620 e b i t f o l l o w i n g 0042640 t h e r e t u r n . H o w 0042660 e v e r , i t m i g h t n 0042700 o t m a k e s e n s e i n 0042720 t h e s p a g h e t t i s 0042740 t a c k a r c h i t e c t u r 0042760 e . I n p a r t i c u l a 0043000 r , w e w o u l d h a v e 0043020 t o p r o h i b i t s p a 0043040 g h e t t i c o n s t r u c t 0043060 s ( e . g . , R E T E V A L 0043100 ) f r o m r e t u r n i n g 0043120 m u l t i p l e v a l u e s 0043140 , s i n c e t h e y c o u 0043160 l d h a v e n o w a y o 0043200 f k n o w i n g w h e t h e 0043220 r t h e f r a m e b e i n 0043240 g r e t u r n e d t o i s 0043260 w i l l i n g t o a c c e 0043300 p t m u l t i p l e v a l u 0043320 e s . T h i s i s a r 0043340 e s t r i c t i o n I w o u 0043360 l d n o t l i k e t o a 0043400 r b i t r a r i l y i m p o s 0043420 e . \r ( b ) S e t t h e 0043440 b i t i n t h e c a l l 0043460 e r ' s f r a m e ; i n o 0043500 t h e r w o r d s , t r e a 0043520 t t h e b i t a s ` ` I 0043540 a m p r e p a r e d t o 0043560 h a v e m u l t i p l e v a 0043600 l u e s r e t u r n e d t o 0043620 m e ' ' . T h i s s e e 0043640 m s t o m a k e t h e m 0043660 o s t l o g i c a l s e n s 0043700 e , w o r k s w i t h s p 0043720 a g h e t t i w i t h o u t 0043740 a n y c h a n g e s i n t 0043760 h e c u r r e n t c o d e , 0044000 a n d i n a d d i t i o n 0044020 a l l o w s t h e p o s s 0044040 i b i l i t y o f h a v i n 0044060 g a s p e c i a l i n s t 0044100 r u c t i o n t o s e t t 0044120 h e f l a g , r a t h e r 0044140 t h a n r e q u i r e s e v 0044160 e r a l n e w i n s t r u c 0044200 t i o n s t h a t a c t l 0044220 i k e o l d i n s t r u c t 0044240 i o n s b u t a l s o s e 0044260 t t h e f l a g . I t s 0044300 p r i n c i p a l d r a w b 0044320 a c k s a r e t h e s l i 0044340 g h t p e r f o r m a n c e 0044360 h i t ( w r i t i n g a w 0044400 o r d t h a t o t h e r w i 0044420 s e w o u l d n ' t n e e d 0044440 i t ) a n d t h e f a c 0044460 t t h a t e x p l i c i t 0044500 c o d e i s t h e n n e e 0044520 d e d t o t u r n o f f 0044540 t h e b i t i n t h e c 0044560 o d e f o l l o w i n g t h 0044600 e f u n c t i o n c a l l 0044620 ( i m p a c t : o n e e x t 0044640 r a i n s t r u c t i o n f 0044660 o r m u l t i p l e - v a l u 0044700 e - p r o g 1 ) . \r I n w h a 0044720 t f o l l o w s , I s h a 0044740 l l a s s u m e t h e f l 0044760 a g i s i n t h e c a l 0045000 l e r ' s f r a m e . I 0045020 a s k t h e m i c r o c o d 0045040 e r s t o e v a l u a t e 0045060 t h e e x p e n s e . T h 0045100 e d e s i g n i s e a s i 0045120 l y c h a n g e d t o a l 0045140 l o w f l a g i n c a l l 0045160 e e ' s f r a m e i n s t e 0045200 a d i f w e d e c i d e 0045220 w e p r e f e r t h a t . 0045240 T h e o p c o d e s e q u 0045260 e n c e s d o n o t c h a 0045300 n g e s u b s t a n t i a l l 0045320 y , e x c e p t f o r t h 0045340 e o n e s t h a t w o u l 0045360 d s e t o r c l e a r t 0045400 h e f l a g . \r T r a n s p a 0045420 r e n t C a l l i n g F o r 0045440 m s . T h e r e i s o n 0045460 l y o n e w a y t o h a 0045500 n d l e m u l t i p l e v a 0045520 l u e s w i t h o u t e x p 0045540 l i c i t l y b e i n g a w 0045560 a r e o f i t : r e t u r 0045600 n i n g d i r e c t l y , w 0045620 i t h o u t a n y i n t e r 0045640 m e d i a t e p r o c e s s i 0045660 n g , t h e r e s u l t o 0045700 f a f u n c t i o n c a l 0045720 l . T h e ` ` r e t u r n 0045740 i n g ' ' p a r t c a n b 0045760 e e i t h e r a r e t u r 0046000 n f r o m t h e e n t i r 0046020 e f u n c t i o n , o r a 0046040 r e t u r n ( v i a u n b 0046060 i n d i n g ) f r o m a n 0046100 i n t e r n a l b i n d i n g 0046120 f o r m ( L E T o r P R 0046140 O G ) . I n t e r m s o 0046160 f t h e c o d e e x e c u 0046200 t e d , t h e f o r m e r 0046220 i s a R E T U R N , t h e 0046240 l a t t e r a n U N B I N 0046260 D . \r T o h a n d l e t h e 0046300 s e c a s e s , a l l t 0046320 a i l - r e c u r s i v e f u 0046340 n c t i o n c a l l s ( t h 0046360 o s e w h o s e v a l u e s 0046400 a r e t o b e r e t u r 0046420 n e d f r o m t h e c u r 0046440 r e n t f u n c t i o n o r 0046460 t o a m u l t i p l e - v 0046500 a l u e r e c e i v e r ; a 0046520 f f e c t e d o p c o d e s 0046540 a r e F N x , A P P L Y F N 0046560 a n d E V A L ) m u s t 0046600 b e c o m p i l e d a s a 0046620 n i n s t r u c t i o n o r 0046640 i n s t r u c t i o n s t h 0046660 a t s e t t h e M V A f 0046700 l a g , i n c a s e m u l 0046720 t i p l e v a l u e s a r e 0046740 t o b e t r a n s m i t t 0046760 e d . I n a d d i t i o n 0047000 , t h e r e t u r n i n g 0047020 a n d u n b i n d i n g i n 0047040 s t r u c t i o n s n e e d 0047060 t o b e a w a r e o f t 0047100 h e p o s s i b l e e x i s 0047120 t e n c e o f m u l t i p l 0047140 e v a l u e s . \r C o m p i l 0047160 e r A r c h i t e c t u r e . 0047200 I b e l i e v e t h e 0047220 m a j o r c o n s t r a i n t 0047240 s f o r t h e c o m p i l 0047260 e r c a n b e h a n d l e 0047300 d b y i n t r o d u c i n g 0047320 a n e w c o m p i l a t i 0047340 o n c o n t e x t . I t 0047360 i s c u r r e n t l y t h e 0047400 c a s e , I b e l i e v e 0047420 , t h a t t h e c o m p i 0047440 l e r h a s a n o t i o n 0047460 o f ` ` c o m p i l e e x 0047500 p r e s s i o n f o r v a l 0047520 u e ' ' . T h i s n o t i 0047540 o n c a n b e m o r e f 0047560 i n e l y d i s c r i m i n a 0047600 t e d . O n e s p e c i a 0047620 l k i n d o f v a l u e 0047640 i s ` ` c o m p i l e e x p 0047660 r e s s i o n f o r r e t u 0047700 r n v a l u e ' ' , i . e . 0047720 , t h e v a l u e o f t 0047740 h e e x p r e s s i o n i s 0047760 t o b e r e t u r n e d 0050000 f r o m t h e f u n c t i o 0050020 n ; s u c h a c o n t e x 0050040 t m i g h t e v e n a l r 0050060 e a d y e x i s t a s a 0050100 m e a n s o f d e t e c t i 0050120 n g t a i l r e c u r s i o 0050140 n t o b e e l i m i n a t 0050160 e d . I p r o p o s e t 0050200 o a d d a n o t h e r k i 0050220 n d o f v a l u e c o n t 0050240 e x t , ` ` c o m p i l e e 0050260 x p r e s s i o n f o r m u 0050300 l t i p l e v a l u e s ' ' , 0050320 m e a n i n g t h a t m u 0050340 l t i p l e v a l u e s a r 0050360 e e x p l i c i t l y r e q 0050400 u e s t e d f r o m t h e 0050420 e x p r e s s i o n b e i n g 0050440 c o m p i l e d . \r M u l t i 0050460 p l e v a l u e r e c e i v 0050500 i n g f o r m s c o m p i l 0050520 e o n e o r m o r e e x 0050540 p r e s s i o n s i n v a l 0050560 u e c o n t e x t M U L T I 0050600 P L E . I s h a l l w r 0050620 i t e ` ` W i t h M V [ f o r 0050640 m ] ' ' t o m e a n ` ` c 0050660 o m p i l e f o r m i n c 0050700 o n t e x t M U L T I P L E ' 0050720 ' . \r I n t e r m s o f i 0050740 m p l e m e n t a t i o n , i 0050760 f t h e r e i s c u r r e 0051000 n t l y a c o m p i l e - f 0051020 o r - v a l u e a r g u m e n 0051040 t t o t h e e x p r e s s 0051060 i o n c o m p i l e r , i t 0051100 s r a n g e o f v a l u e 0051120 s c o u l d b e e x p a n 0051140 d e d t o i n c l u d e R 0051160 E T U R N a n d M U L T I P 0051200 L E ; b o t h i m p l y f 0051220 o r v a l u e . R E T U R 0051240 N a n d M U L T I P L E a 0051260 r e m u t u a l l y e x c l 0051300 u s i v e ( M U L T I P L E 0051320 c a n o n l y a r i s e f 0051340 r o m a r e c e i v e r w 0051360 i t h i n t h e f u n c t i 0051400 o n , a n d R E T U R N i 0051420 s n e v e r t r a n s m i t 0051440 t e d t h r o u g h t h e 0051460 r e c e i v i n g f o r m ) . 0051500 \r I n a d d i t i o n , t r 0051520 a n s m i s s i o n o f M U 0051540 L T I P L E v a l u e c o n 0051560 t e x t i s l a r g e l y 0051600 l i k e t h e t r a n s m i 0051620 s s i o n o f R E T U R N 0051640 c o n t e x t . T h e t o 0051660 p - l e v e l e x p r e s s i 0051700 o n o f a f u n c t i o n 0051720 i s c o m p i l e d i n 0051740 R E T U R N c o n t e x t . 0051760 T h e f i n a l s u b f o 0052000 r m o f a p r o g n ( o 0052020 r i m p l i c i t p r o g n 0052040 ) i s c o m p i l e d i n 0052060 t h e s a m e c o n t e x 0052100 t a s i t s p a r e n t . 0052120 A r e t u r n i n a 0052140 p r o g i s c o m p i l e d 0052160 i n t h e s a m e c o n 0052200 t e x t a s t h e p r o g 0052220 . T h o s e a r e a l l 0052240 t r u e f o r b o t h M 0052260 U L T I P L E a n d R E T U 0052300 R N c o n t e x t . \r T h e r 0052320 e a r e s o m e s p e c i 0052340 f i c c a s e s w h e r e 0052360 R E T U R N c o n t e x t i 0052400 s n o t t r a n s m i t t e 0052420 d . I f a p r o g 1 i 0052440 s c o m p i l e d i n R E 0052460 T U R N c o n t e x t , t h 0052500 e n i t s f i r s t s u b 0052520 f o r m w i l l i n d e e d 0052540 b e t h e v a l u e r e 0052560 t u r n e d f r o m t h e 0052600 f u n c t i o n , b u t I 0052620 d o n o t c o n s i d e r 0052640 t h i s R E T U R N c o n t 0052660 e x t , b e c a u s e t h i 0052700 s i s n o t t a i l - r e 0052720 c u r s i v e ( a f u n c t 0052740 i o n c a l l h e r e c o 0052760 u l d n o t b e t u r n e 0053000 d i n t o a j u m p ) . 0053020 S i m i l a r l y , o n l y 0053040 t h e f i n a l s u b f o 0053060 r m o f a n d o r o r 0053100 c a n b e c o m p i l e d 0053120 i n R E T U R N c o n t e x 0053140 t , a n d a s i n g l e t 0053160 o n c o n d c l a u s e c 0053200 a n n e v e r b e c o m p 0053220 i l e d i n R E T U R N c 0053240 o n t e x t . F o r t u n a 0053260 t e l y , t h e s e r u l e 0053300 s a g r e e e x a c t l y 0053320 w i t h t h e r u l e s r 0053340 e g a r d i n g w h e n m u 0053360 l t i p l e v a l u e s c a 0053400 n b e t r a n s m i t t e d 0053420 . \r W i t h a l l t h i s 0053440 i n h a n d , I s h a l l 0053460 d e f i n e a n a b s t r 0053500 a c t c o m p i l a t i o n 0053520 c o n t e x t ` ` m u l t i p 0053540 l e v a l u e s p o s s i b 0053560 l e ' ' ( M V P ) , w h i c 0053600 h m e a n s ` ` t h e f o 0053620 r m I a m c o m p i l i n 0053640 g i s p e r m i t t e d t 0053660 o p r o d u c e m u l t i p 0053700 l e v a l u e s ' ' . M V 0053720 P i s t r u e w h e n t 0053740 h e c o m p i l a t i o n c 0053760 o n t e x t i s M U L T I P 0054000 L E o r R E T U R N . T 0054020 h e c o m p i l e r ' s n e 0054040 w j o b i s t o t r e a 0054060 t a n y f o r m o f f u 0054100 n c t i o n c a l l i n M 0054120 V P c o n t e x t s p e c i 0054140 a l l y ( i s s u i n g t h 0054160 e i n s t r u c t i o n s t 0054200 h a t s e t t h e M V A 0054220 f l a g ) \r I n a d d i t i o 0054240 n , a n y R E T U R N o r 0054260 U N B I N D i n M V P c 0054300 o n t e x t i s p o t e n t 0054320 i a l l y s p e c i a l , a 0054340 s i t m u s t d o t h e 0054360 r i g h t t h i n g i f 0054400 t h e t o p o f s t a c k 0054420 i s a s e t o f m u l 0054440 t i p l e v a l u e s . I 0054460 n t h e c a s e o f R E 0054500 T U R N , a l l v a l u e s 0054520 m u s t g e t r e t u r n 0054540 e d . I n t h e c a s e 0054560 o f U N B I N D , t h e 0054600 c o m p i l e r d o e s n o 0054620 t k n o w w h a t t h e 0054640 a c t u a l s t a c k d e p 0054660 t h i s , a l t h o u g h 0054700 i t k n o w s t h e l o g 0054720 i c a l s t a c k d e p t h 0054740 ( t r e a t i n g t h e p 0054760 o t e n t i a l l y m u l t i 0055000 p l e v a l u e s a s o n 0055020 e ) ; w h a t e v e r d o e 0055040 s t h e u n b i n d i n g 0055060 h a s t o m o v e p o t e 0055100 n t i a l l y m u l t i p l e 0055120 v a l u e s , w h i l e d 0055140 e c r e m e n t i n g t h e 0055160 s t a c k d e p t h t h e 0055200 l o g i c a l a m o u n t r 0055220 e q u i r e d . T h e s e 0055240 c a n b e h a n d l e d e 0055260 i t h e r b y d e f i n i n 0055300 g n e w o p c o d e s M V 0055320 R E T U R N a n d M V U N B 0055340 I N D , w h i c h a r e i 0055360 d e n t i c a l t o t h e i 0055400 r c o m p a n i o n s e x c 0055420 e p t f o r d o i n g s o 0055440 m e t h i n g s p e c i a l 0055460 w h e n t h e t o p o f 0055500 s t a c k i s M V M a r k e 0055520 r ( n ) , o r b y e x t e 0055540 n d i n g t h e e x i s t i 0055560 n g R E T U R N o r U N B 0055600 I N D t o d o t h e r i 0055620 g h t t h i n g i n t h o 0055640 s e c a s e s . F o r t 0055660 h e r e m a i n d e r o f 0055700 t h e d i s c u s s i o n , 0055720 I s h a l l a s s u m e t 0055740 h a t t h e c o m p i l e r 0055760 e m i t s t h e M V R E T 0056000 U R N a n d M V U N B I N D 0056020 o p c o d e s i n M V P 0056040 c o n t e x t , a l t h o u g 0056060 h t h e c h o i c e o f 0056100 n e w o p c o d e s v s . 0056120 e x t e n d i n g t h e o l 0056140 d o n e s i s a r b i t r 0056160 a r y a n d h a s n o e 0056200 f f e c t o n t h e r e s 0056220 t o f t h e d e s i g n . 0056240 \r S p e c i f i c c o n s t r 0056260 u c t s f o r p r o d u c i 0056300 n g M u l t i p l e V a l u 0056320 e s \r ( v a l u e s v 1 . . 0056340 . v n ) \r T h i s i s t h 0056360 e b a s i c m u l t i p l e 0056400 - v a l u e r e t u r n i n g 0056420 f o r m . I t c o m p i 0056440 l e s a s a p u s h o f 0056460 i t s a r g u m e n t s ( 0056500 a s w i t h a n y o t h e 0056520 r f u n c t i o n ) , t h e 0056540 n p u s h M V M a r k e r ( 0056560 n ) . T h i s m u s t b 0056600 e f o l l o w e d b y a n 0056620 M V R E T U R N , f o r t 0056640 h e u s u a l c a s e o f 0056660 a f u n c t i o n r e t u 0056700 r n i n g m u l t i p l e v 0056720 a l u e s , o r a n M V U 0056740 N B I N D , i f t h e f o 0056760 r m i s r e t u r n i n g 0057000 m u l t i p l e v a l u e s 0057020 w i t h i n t h e s a m e 0057040 f u n c t i o n , e . g . , 0057060 f r o m a n i n t e r n a l 0057100 L E T o r P R O G t o 0057120 a n e n c l o s i n g m u l 0057140 t i p l e - v a l u e c a t c 0057160 h e r . I f v a l u e s 0057200 i s c o m p i l e d i n o 0057220 t h e r t h a n M V P c o 0057240 n t e x t ( d o e s n o t 0057260 m a k e m u c h s e n s e 0057300 a s a p r o g r a m , b u 0057320 t e a c h c a s e m u s t 0057340 b e c o v e r e d ) t h e 0057360 n i n s t e a d o f p u s 0057400 h i n g M V M a r k e r ( n ) 0057420 , i t c o m p i l e s a s 0057440 a p o p o f t h e n - 0057460 1 e x c e s s v a l u e s , 0057500 o r a p u s h o f N I 0057520 L i f n = 0 . \r ( v a l 0057540 u e s - l i s t l i s t ) \r T 0057560 h i s i s t h e o n l y 0057600 o t h e r w a y t o r e t 0057620 u r n m u l t i p l e v a l 0057640 u e s ; i t i s t h e s 0057660 a m e a s ( a p p l y ( f 0057700 u n c t i o n v a l u e s ) 0057720 l i s t ) . I t c a n b 0057740 e c o m p i l e d o p e n , 0057760 i n m u c h t h e s a m 0060000 e f o r m a s w e c o m 0060020 p i l e t h e c e n t r a l 0060040 p a r t o f E V A L . 0060060 T h e e x p r e s s i o n c 0060100 o m p i l e s a s s o m e t 0060120 h i n g l i k e \r ' 0 ; B I 0060140 N D [ t e m p ] ; l i s t ; \r 0060160 l p : L I S T P ; N F J U M 0060200 P e x i t ; C O P Y ; C A 0060220 R ; S W A P ; C D R ; t e 0060240 m p ; ' 1 ; I P L U S 2 ; 0060260 P O P ; J U M P l p ; \r e x 0060300 i t : t e m p ; M V M A R K 0060320 E R \r w i t h a s u i t a b 0060340 l e M V R E T U R N o r M 0060360 V U N B I N D f o l l o w i n 0060400 g a s n e e d e d . T o 0060420 p r o t e c t a g a i n s t 0060440 c i r c u l a r i t y , o n 0060460 e c o u l d r e p l a c e 0060500 t h e P O P w i t h a r 0060520 a n g e c h e c k a g a i n 0060540 s t t h e c o n s t a n t 0060560 m u l t i p l e - v a l u e s - 0060600 l i m i t . \r I t i s l i k 0060620 e l y t h a t w e w a n t 0060640 t h e f u n c t i o n v a 0060660 l u e s - l i s t i t s e l f 0060700 t o c o m p i l e i n t 0060720 h i s f a s h i o n , a n d 0060740 i n t e r n a l u s e s o 0060760 f v a l u e s - l i s t i n 0061000 t h e i n t e r p r e t e r 0061020 s u r e l y w a n t t o 0061040 c o m p i l e o p e n w i t 0061060 h n o r a n g e c h e c k 0061100 ( i t i s c o n v e n i e 0061120 n t t o p a s s v a l u e 0061140 s a r o u n d u s i n g m 0061160 u l t i p l e - v a l u e - l i 0061200 s t a n d v a l u e s - l i 0061220 s t , a n d t h e v a l u 0061240 e o f m u l t i p l e - v a 0061260 l u e - l i s t i s g u a r 0061300 a n t e e d t o b e i n 0061320 r a n g e ) . H o w e v e r 0061340 , i t i s a n o p e n 0061360 q u e s t i o n w h e t h e r 0061400 u s e r c a l l s s h o u 0061420 l d c o m p i l e o p e n 0061440 o r c l o s e d . \r T h e M 0061460 V M A R K E R o p c o d e \r T 0061500 h i s o p c o d e i s u s 0061520 e d t o p e r f o r m t h 0061540 e ` ` p u s h M V M a r k e 0061560 r ( n ) ' ' o p e r a t i o n 0061600 d e s c r i b e d a b o v e 0061620 . D e f i n i t i o n : I 0061640 f T O S i s n o t a s 0061660 m a l l p o s p l e s s t h 0061700 a n m u l t i p l e - v a l u 0061720 e s - l i m i t ( 2 5 5 f o 0061740 l l o w i n g t h e c u r r 0061760 e n t p r o p o s a l ) , t 0062000 h e n p u n t ; e l s e r 0062020 e p l a c e T O S w i t h 0062040 M V M a r k e r ( T O S ) . \r T 0062060 h e M V R E T U R N o p c o 0062100 d e \r M V R E T U R N i s t 0062120 h e s a m e a s R E T U R 0062140 N e x c e p t t h a t i t 0062160 h a s t o n o t i c e w 0062200 h e t h e r i t i s r e t 0062220 u r n i n g m u l t i p l e 0062240 v a l u e s . S o e x t e 0062260 n d R E T U R N a s f o l 0062300 l o w s : i f t o p o f 0062320 s t a c k i s M V M a r k 0062340 e r ( n ) , t h e n c h e c 0062360 k M V A f l a g ( i n r 0062400 e t u r n e e ) . T w o c 0062420 a s e s : \r I f f l a g i s 0062440 o f f , t h e n m u l t i 0062460 p l e v a l u e s a r e n 0062500 o t a c c e p t a b l e . 0062520 I f n = 0 , r e p l a c 0062540 e T O S w i t h N I L . 0062560 O t h e r w i s e , p o p 0062600 t h e M V M a r k e r a n d 0062620 n - 1 v a l u e s o f f 0062640 o f r e t u r n e r ' s s t 0062660 a c k , l e a v i n g T O S 0062700 c o n t a i n i n g t h e 0062720 f i r s t o f t h e n v 0062740 a l u e s . P r o c e e d 0062760 w i t h n o r m a l r e t u 0063000 r n . \r I f f l a g i s o 0063020 n , t h e n m u l t i p l e 0063040 v a l u e s a r e a c c e 0063060 p t a b l e . P r o c e e d 0063100 w i t h n o r m a l r e t 0063120 u r n , b u t r e m e m b e 0063140 r w h e r e T O S - n , t 0063160 h e l o c a t i o n o f t 0063200 h e f i r s t o f t h e 0063220 m u l t i p l e v a l u e s , 0063240 i s s t o r e d . A t 0063260 e n d o f r e t u r n , g 0063300 o i n t o a b l o c k t 0063320 r a n s f e r l o o p , t r 0063340 a n s f e r r i n g n v a l 0063360 u e s , i n o r d e r , f 0063400 r o m r e t u r n e r ' s s 0063420 t a c k t o t o p o f r 0063440 e t u r n e e ' s s t a c k , 0063460 f i n a l l y p u s h i n g 0063500 t h e s a m e M V M a r k 0063520 e r ( n ) a s t h e r e t 0063540 u r n e e ' s n e w T O S 0063560 ( t h u s , i f T O S i s 0063600 a r e g i s t e r , i t 0063620 i s p r e s e r v e d , j u 0063640 s t a s i t i s w i t h 0063660 n o r m a l r e t u r n ) . 0063700 R e m e m b e r t h a n 0063720 n c a n b e z e r o , i 0063740 n w h i c h c a s e t h e 0063760 b l o c k t r a n s f e r 0064000 l o o p t e r m i n a t e s 0064020 w i t h o u t d o i n g a n 0064040 y t h i n g . \r N o t e t h a 0064060 t t h e M V A f l a g i 0064100 s n e v e r t e s t e d u 0064120 n l e s s a c t u a l l y r 0064140 e t u r n i n g m u l t i p l 0064160 e v a l u e s . N o s p 0064200 e c i a l a c t i o n i s 0064220 r e q u i r e d i f r e t u 0064240 r n i n g a s i n g l e v 0064260 a l u e t o a m u l t i p 0064300 l e - v a l u e r e c e i v e 0064320 r . \r I f M V R E T U R N = 0064340 R E T U R N , t h e n t h 0064360 e m i n i m u m m i c r o c 0064400 o d e r e q u i r e m e n t 0064420 f o r t h e f i r s t i m 0064440 p l e m e n t a t i o n i s 0064460 t h a t R E T U R N t e s t 0064500 f o r T O S = M V M a r 0064520 k e r ( n ) , a n d p u n t 0064540 i f i t i s . A s e 0064560 c o n d s t o p p i n g p o 0064600 i n t c o u l d b e t o 0064620 h a n d l e t h e f l a g 0064640 i s o f f c a s e i n m 0064660 i c r o c o d e , w h e r e 0064700 a l l t h e m i c r o c o d 0064720 e n e e d s t o d o i s 0064740 a d j u s t t h e r e t u 0064760 r n e r ' s s t a c k b e f 0065000 o r e d o i n g t h e n o 0065020 r m a l r e t u r n . \r T h e 0065040 M V U N B I N D o p c o d e 0065060 \r S i m i l a r l y , M V U N 0065100 B I N D h a s t o n o t i 0065120 c e w h e t h e r t h e t 0065140 o p o f s t a c k i s a 0065160 s e t o f m u l t i p l e 0065200 v a l u e s , a n d i f 0065220 s o , p r e s e r v e m o r 0065240 e t h a n o n e v a l u e 0065260 a s i t p o p s i t e m 0065300 s f r o m t h e s t a c k 0065320 . T h i s s e e m s f a 0065340 i r l y u n p l e a s a n t , 0065360 b u t i n t r i n s i c a l 0065400 l y n e c e s s a r y t o 0065420 c o m p i l e s u c h f o r 0065440 m s a s ( m u l t i p l e - 0065460 v a l u e - b i n d & ( l e 0065500 t - - ( f o o ) ) - - ) . 0065520 \r T h u s , M V U N B I N D 0065540 i s t h e s a m e a s U 0065560 N B I N D u n l e s s T O S 0065600 = M V M a r k e r ( n ) , 0065620 i n w h i c h c a s e i t 0065640 n e e d s t o n o t e T 0065660 O S - n , t h e l o c a t i 0065700 o n o f t h e f i r s t 0065720 o f t h e m u l t i p l e 0065740 v a l u e s , i s s t o r e 0065760 d . I t t h e n d o e s 0066000 a r e g u l a r U N B I N 0066020 D , b u t a t t h e e n 0066040 d , g o e s i n t o a b 0066060 l o c k t r a n s f e r l o 0066100 o p , t r a n s f e r r i n g 0066120 n v a l u e s , i n o r 0066140 d e r , f r o m t h e o l 0066160 d p o s i t i o n o n t h 0066200 e s t a c k t o t h e f 0066220 r a m e ' s n e w t o p o 0066240 f s t a c k , f i n a l l y 0066260 p u s h i n g t h e s a m 0066300 e M V M a r k e r ( n ) a s 0066320 t h e f r a m e ' s n e w 0066340 T O S . \r S p e c i f i c c 0066360 o n s t r u c t s f o r r e 0066400 c e i v i n g M u l t i p l e 0066420 V a l u e s \r A r e c e i v 0066440 e r o f m u l t i p l e v 0066460 a l u e s g e n e r a l l y 0066500 d o e s o n e o f t w o 0066520 t h i n g s : \r ( 1 ) I t e 0066540 x p e c t s e x a c t l y n 0066560 v a l u e s ( n k n o w n 0066600 a t c o m p i l e t i m e 0066620 ) , a n d i t w i l l s 0066640 p r e a d t h e m o n e a 0066660 t a t i m e i n t o s o 0066700 m e o t h e r s t r u c t u 0066720 r e , e . g . , i n t o l 0066740 o c a l v a r i a b l e s . 0066760 I n t h i s c a s e , t 0067000 h e r e c e i v e r n e e d 0067020 s t o f i r s t c o e r c 0067040 e t h e s t a c k i n t o 0067060 h a v i n g e x a c t l y 0067100 n m u l t i p l e v a l u e 0067120 s , e i t h e r b y p o p 0067140 p i n g e x c e s s v a l u 0067160 e s o r b y p u s h i n g 0067200 e x t r a N I L s . \r ( 2 ) 0067220 I t e x p e c t s a n a 0067240 r b i t r a r y n u m b e r 0067260 o f v a l u e s , a n d m 0067300 e r e l y n e e d s t o k 0067320 n o w h o w m a n y i t 0067340 i s a b o u t t o d o s 0067360 o m e t h i n g w i t h . \r T 0067400 h e f o l l o w i n g n e w 0067420 o p c o d e s a r e d e f 0067440 i n e d : \r M V P R E P A R E \r 0067460 S e t s t h e M V A f l a 0067500 g i n t h e c u r r e n t 0067520 f r a m e . T h i s i n 0067540 s t r u c t i o n i s i s s 0067560 u e d i m m e d i a t e l y 0067600 p r e c e d i n g a n y c a 0067620 l l i n g i n s t r u c t i o 0067640 n ( F N x , A P P L Y F N , 0067660 E V A L ) i n M V P c o 0067700 n t e x t . I t i s d e 0067720 s i r a b l e t h a t t h i 0067740 s b e a f a s t , s i n 0067760 g l e - b y t e o p c o d e , 0070000 s i n c e i t n e e d s 0070020 t o b e i s s u e d f o r 0070040 a l l t a i l - r e c u r s 0070060 i v e c a l l s , e v e n 0070100 f o r c o d e t h a t n e 0070120 v e r h e a r d o f m u l 0070140 t i p l e v a l u e s . I 0070160 n a s a m p l i n g f r o 0070200 m a r a n d o m f u l l . 0070220 s y s o u t w i t h o n l y 0070240 a f e w e x t r a m o d 0070260 u l e s l o a d e d , a p p 0070300 r o x i m a t e l y 8 % o f 0070320 a l l c a l l i n g i n s 0070340 t r u c t i o n s w e r e t 0070360 a i l - r e c u r s i v e ; M 0070400 V P R E P A R E b e f o r e 0070420 e a c h o f t h o s e o p 0070440 c o d e s w o u l d h a v e 0070460 a d d e d s o m e 3 8 0 0 0070500 b y t e s ( 7 . 5 p a g e 0070520 s ) t o t h a t s y s o u 0070540 t . \r T h i s o p c o d e i 0070560 s n o t n e c e s s a r y , 0070600 o f c o u r s e , i f w 0070620 e i n s t e a d d e f i n e 0070640 n e w c a l l i n g o p c 0070660 o d e s . \r M V C L E A R \r C l 0070700 e a r t h e M V A f l a g 0070720 i n t h e c u r r e n t 0070740 f r a m e . U s e d o n l 0070760 y f o r m u l t i p l e - v 0071000 a l u e - p r o g 1 . \r M V F O 0071020 R C E \r ` ` T e l l m e h o 0071040 w m a n y v a l u e s I 0071060 h a v e . ' ' I f T O S 0071100 = M V M a r k e r ( n ) , t 0071120 h e n r e p l a c e i t w 0071140 i t h t h e s m a l l p o s 0071160 p n ; e l s e p u s h t 0071200 h e s m a l l c o n s t a n 0071220 t 1 . I n e i t h e r 0071240 c a s e , c l e a r t h e 0071260 M V A f l a g i n t h e 0071300 c u r r e n t f r a m e . \r S 0071320 T A C K A D J U S T \r T O S i 0071340 s a s m a l l i n t e g e 0071360 r . P o p i t o f f s 0071400 t a c k a n d c a l l i t 0071420 n . I f n i s p o s 0071440 i t i v e , p o p s t a c k 0071460 n m o r e t i m e s ; i 0071500 f n i s n e g a t i v e , 0071520 p u s h 233 n N I L s . \r B 0071540 o t h M V F O R C E a n d 0071560 S T A C K A D J U S T ( n o t 0071600 t o m e n t i o n m u l t 0071620 i p l e - v a l u e f u n c t 0071640 i o n c a l l s t h e m s e 0071660 l v e s ) h a v e a n i n 0071700 d e t e r m i n a t e a f f e 0071720 c t o n s t a c k d e p t 0071740 h , a l t h o u g h t h e y 0071760 a r e a l w a y s u s e d 0072000 i n s e q u e n c e s w h 0072020 o s e n e t e f f e c t i 0072040 s d e t e r m i n a t e . 0072060 I f n e c e s s a r y , i n 0072100 t r o d u c e c o m p o s i t 0072120 e o p c o d e s o r p s e 0072140 u d o - o p c o d e s t o h 0072160 e l p t h e c o m p i l e r 0072200 k e e p t r a c k . \r W i t 0072220 h t h e s e o p c o d e s 0072240 i n h a n d , t h e v a r 0072260 i o u s r e c e i v e r s a 0072300 r e d e s c r i b e d a s 0072320 f o l l o w s : \r ( m u l t i p 0072340 l e - v a l u e - s e t q v 1 0072360 . . . v n f o r m ) \r T h 0072400 i s s e t s t h e n v a 0072420 r i a b l e s v 1 t h r u 0072440 v n t o t h e v a l u e s 0072460 r e t u r n e d b y f o r 0072500 m a n d r e t u r n s a s 0072520 v a l u e t h e f i r s t 0072540 o f t h e m u l t i p l e 0072560 v a l u e s ( w h a t v 1 0072600 g e t s s e t t o ) . 0072620 I t c o m p i l e s a s \r W 0072640 i t h M V [ f o r m ] ; M V F 0072660 O R C E ; S I C n ; I D I 0072700 F F E R E N C E ; S T A C K A 0072720 D J U S T ; \r S E T Q v n ; 0072740 P O P ; S E T Q v n - 1 ; 0072760 P O P ; . . . S E T Q v 1 0073000 \r N e t s t a c k l e v e l 0073020 e f f e c t : o n e p u s 0073040 h . T h e s e q u e n c e 0073060 o f i n s t r u c t i o n s 0073100 M V F O R C E ; S I C n ; 0073120 I D I F F E R E N C E ; S T 0073140 A C K A D J U S T h a s s t 0073160 a c k l e v e l e f f e c t 0073200 o f + n - 1 ( i f y o u 0073220 a s s u m e t h a t t h e 0073240 m v - p r o d u c i n g f o 0073260 r m i t s e l f c o n t r i 0073300 b u t e d e x a c t l y 1 0073320 t o s t a c k d e p t h , 0073340 a s n o r m a l f o r m s 0073360 d o ) . \r ( m u l t i p l e - v 0073400 a l u e - b i n d ( v 1 . . 0073420 . v n ) f o r m . o t h 0073440 e r - f o r m s ) \r T h i s e 0073460 v a l u a t e s ( p r o g n 0073500 . o t h e r - f o r m s ) w 0073520 i t h v a r i a b l e s v 1 0073540 t h r u v n b o u n d t 0073560 o t h e v a l u e s r e t 0073600 u r n e d b y f o r m . 0073620 I t c o m p i l e s a s \r W 0073640 i t h M V [ f o r m ] ; M V F 0073660 O R C E ; S I C n ; I D I 0073700 F F E R E N C E ; S T A C K A 0073720 D J U S T ; \r B I N D [ v 1 ; 0073740 . . . ; v n ] ; ( p r o g 0073760 n . o t h e r - f o r m s ) 0074000 \r f o l l o w e d b y t h e 0074020 a p p r o p r i a t e u n b 0074040 i n d o r r e t u r n . 0074060 O f c o u r s e , t h e c 0074100 o m p i l i n g c o n t e x t 0074120 o f t h e m u l t i p l e 0074140 - v a l u e - b i n d i s t 0074160 r a n s m i t t e d t o t h 0074200 e f i n a l s u b f o r m 0074220 o f t h e i n s i d e p r 0074240 o g n . \r ( m u l t i p l e - v 0074260 a l u e - p r o g 1 f o r m 0074300 . o t h e r - f o r m s ) \r T 0074320 h i s i s t h e s a m e 0074340 a s c o n v e n t i o n a l 0074360 p r o g 1 e x c e p t t h a 0074400 t i t c a n r e t u r n 0074420 m u l t i p l e v a l u e s 0074440 i f f o r m d o e s . I 0074460 n o t h e r w o r d s : \r ( 0074500 a ) i f t h e m u l t i p 0074520 l e - v a l u e - p r o g 1 i 0074540 s n o t i n M V P c o n 0074560 t e x t , t h e n c o m p i 0074600 l e a s p r o g 1 . \r ( b ) 0074620 i f t h e m u l t i p l e 0074640 - v a l u e - p r o g 1 i s 0074660 i n M V P c o n t e x t , 0074700 t h e n c o m p i l e f o r 0074720 m i n c o n t e x t M U L 0074740 T I P L E , t h e r e m a i 0074760 n i n g f o r m s f o r e 0075000 f f e c t . I n a d d i t 0075020 i o n , i f f o r m ' s v 0075040 a l u e i s c o m p u t e d 0075060 b y f u n c t i o n c a l 0075100 l , t h e c a l l m u s t 0075120 b e f o l l o w e d b y 0075140 M V C L E A R t o c l e a r 0075160 t h e M V A f l a g ( w 0075200 h i c h o r d i n a r i l y 0075220 w o u l d b e c l e a r e d 0075240 b y M V F O R C E , n o t 0075260 u s e d i n t h i s c a 0075300 s e ) . O f c o u r s e , 0075320 a n y r e t u r n o r u 0075340 n b i n d f o l l o w i n g 0075360 t h e m u l t i p l e - v a l 0075400 u e - p r o g 1 m u s t b e 0075420 o f t h e m v v a r i e 0075440 t y ( s i n c e y o u ' r e 0075460 i n M V P c o n t e x t ) 0075500 . \r N o t e t h a t t h e 0075520 o r d i n a r y f u n c t i o 0075540 n p r o g 1 n e v e r t r 0075560 a n s m i t s i t s c o m p 0075600 i l e c o n t e x t t o i 0075620 t s f i r s t s u b f o r m 0075640 ; i . e . , p r o g 1 n e 0075660 v e r r e t u r n s m u l t 0075700 i p l e v a l u e s . \r F o r 0075720 a n i n e f f i c i e n t 0075740 i m p l e m e n t a t i o n , 0075760 m u l t i p l e - v a l u e - p 0076000 r o g 1 c o u l d b e c o 0076020 m p i l e d a s \r ( v a l u e 0076040 s - l i s t ( p r o g 1 ( m 0076060 u l t i p l e - v a l u e - l i 0076100 s t f o r m ) . o t h e r 0076120 - f o r m s ) ) . \r ( m u l t i 0076140 p l e - v a l u e - l i s t f 0076160 o r m ) \r T h i s e v a l u a 0076200 t e s f o r m a n d r e t 0076220 u r n s a l i s t o f a 0076240 l l t h e v a l u e s . 0076260 I t c o m p i l e s a s \r W 0076300 i t h M V [ f o r m ] ; M V F 0076320 O R C E ; ' L I S T ; A P P 0076340 L Y F N \r i . e . , c a l l 0076360 t h e f u n c t i o n L I S 0076400 T w i t h t h e n a r g 0076420 u m e n t s t h a t c o m e 0076440 b a c k f r o m f o r m . 0076460 S p i c e L i s p h a s 0076500 a L I S T o p c o d e t h 0076520 a t d o e s t h i s , b u 0076540 t I d o n ' t t h i n k 0076560 w e w a n t t h a t . \r ( m 0076600 u l t i p l e - v a l u e - c a 0076620 l l f n f o r m 1 . . . 0076640 f o r m n ) \r T h i s i s e 0076660 f f e c t i v e l y a n a p 0076700 p l y * ( i . e . , f u n c 0076720 a l l ) o f f n w i t h 0076740 a r g u m e n t s b e i n g 0076760 t h e r e s u l t o f s p 0077000 r e a d i n g a l l t h e 0077020 m u l t i p l e v a l u e s 0077040 r e t u r n e d b y f o r m 0077060 1 t h r u f o r m n . I 0077100 t c o m p i l e s a s \r ' 0 0077120 ; B I N D [ t e m p ] ; \r W i 0077140 t h M V [ f o r m 1 ] ; M V F 0077160 O R C E ; t e m p ; I P L U 0077200 S 2 ; S E T Q t e m p ; P 0077220 O P ; \r W i t h M V [ f o r m 2 0077240 ] ; . . . ; S E T Q t e 0077260 m p ; P O P ; \r W i t h M V [ 0077300 f o r m n ] ; M V F O R C E ; 0077320 t e m p ; I P L U S 2 ; \r f 0077340 n ; C H E C K A P P L Y * ; 0077360 A P P L Y F N \r f o l l o w e d 0077400 b y a s u i t a b l e u 0077420 n b i n d o r r e t u r n . 0077440 T h e t e m p o r a r y 0077460 v a r i a b l e k e e p s t 0077500 r a c k o f h o w m a n y 0077520 v a l u e s a r e a c c u 0077540 m u l a t i n g o n t h e 0077560 s t a c k . E v e n t u a l 0077600 l y , A P P L Y F N i s c 0077620 a l l e d t o d o t h e 0077640 f u n c t i o n c a l l w i 0077660 t h t h e t o t a l n u m 0077700 b e r o f a r g u m e n t s 0077720 . T h e t e m p o r a r y 0077740 b i n d i n g i s n o t 0077760 n e e d e d i f n = 1 , 0100000 i n w h i c h c a s e m 0100020 u l t i p l e - v a l u e - c a 0100040 l l c a n b e c o m p i l 0100060 e d m o r e s i m p l y a 0100100 s \r W i t h M V [ f o r m 1 ] ; 0100120 M V F O R C E ; f n ; C H 0100140 E C K A P P L Y * ; A P P L Y 0100160 F N \r O f c o u r s e , i n 0100200 e i t h e r c a s e , i f 0100220 f n i s a s i d e - a f 0100240 f e c t a b l e f o r m i n 0100260 s t e a d o f a c o n s t 0100300 a n t , a t e m p o r a r y 0100320 b i n d i n g w i l l b e 0100340 n e e d e d f o r i t a 0100360 s w e l l . A n d i f 0100400 t h e m u l t i p l e - v a l 0100420 u e - c a l l f o r m i t s 0100440 e l f i s i n M V P c o 0100460 n t e x t , t h e n t h e 0100500 C H E C K A P P L Y * m u s t 0100520 b e p r e c e d e d b y 0100540 M V P R E P A R E . \r F o r a 0100560 n i n e f f i c i e n t i m 0100600 p l e m e n t a t i o n , m u 0100620 l t i p l e - v a l u e - c a l 0100640 l c a n b e c o m p i l e 0100660 d a s \r ( a p p l y f n ( 0100700 a p p e n d ( m u l t i p l e 0100720 - v a l u e - l i s t f o r m 0100740 1 ) \r \t \t \t ( m u l t i 0100760 p l e - v a l u e - l i s t f 0101000 o r m 2 ) \r \t \t \t \t . . . \r 0101020 \t \t \t ( m u l t i p l e 0101040 - v a l u e - l i s t f o r m 0101060 n ) ) ) . \r I n t e r p r e t e 0101100 r \r O f c o u r s e , i n t 0101120 e r p r e t e d v e r s i o n 0101140 s n e e d t o b e w r i 0101160 t t e n f o r a l l o f 0101200 t h e m u l t i p l e v a l 0101220 u e f o r m s d e s c r i b 0101240 e d a b o v e . I n a d 0101260 d i t i o n , t h e m a c r 0101300 o s f o r S P R E A D A P P 0101320 L Y * , S P R E A D A P P L Y 0101340 , . C A L L A F T E R P U S H 0101360 I N G N I L S . , a n d . E 0101400 V A L F O R M . , w h i c h 0101420 h a n d - c o m p i l e s p e 0101440 c i a l v e r s i o n s o f 0101460 f u n c t i o n c a l l a 0101500 n d A P P L Y F N i n t h 0101520 e i n t e r p r e t e r , m 0101540 a y n e e d t o b e m o 0101560 d i f i e d t o t r a n s m 0101600 i t M V P c o n t e x t t 0101620 o t h e i r c a l l o r 0101640 A P P L Y F N i f t h e c 0101660 o m p i l e r d o e s n ' t 0101700 c a t c h t h o s e a u t o 0101720 m a t i c a l l y . T h e 0101740 f u n c t i o n R E T U R N 0101760 n e e d s t o b e a n N 0102000 L A M B D A t h a t m a n u 0102020 a l l y e v a l u a t e s i 0102040 t s a r g u m e n t a n d 0102060 s a v e s t h e p o t e n t 0102100 i a l l y m u l t i p l e v 0102120 a l u e s t h a t c o m e 0102140 b a c k , b e f o r e s m a 0102160 s h i n g i t s r e t u r n 0102200 l i n k t o t h e a p p 0102220 r o p r i a t e P R O G f r 0102240 a m e . T h e f u n c t i 0102260 o n \ I N T E R P R E T E R 1 0102300 , w h i c h i m p l e m e n 0102320 t s c a l l s t o i n t e 0102340 r p r e t e d f n s , n e e 0102360 d s t o b e c a r e f u l 0102400 t o r e t u r n t h e e 0102420 v a l u a t i o n o f i t s 0102440 f i n a l s u b f o r m d 0102460 i r e c t l y , w i t h o u t 0102500 s e t t i n g a n i n t e 0102520 r m e d i a t e v a l u e . 0102540 T h e r e i s a s i m i 0102560 l a r p r o b l e m w i t h 0102600 \ E V P R O G N a n d i n 0102620 t e r p r e t e d O R ( A N 0102640 D a n d C O N D a r e a 0102660 l r e a d y w r i t t e n c 0102700 o r r e c t l y , t h o u g h 0102720 ) . \r T h e u f n f o r t 0102740 h e o p c o d e C H E C K A 0102760 P P L Y * , w h i c h i n t 0103000 e r c e p t s c o m p i l e d 0103020 c a l l s t o A P P L Y * 0103040 o f N L A M B D A n o s p 0103060 r e a d s , w h i c h c u r 0103100 r e n t l y r e t u r n s \r ` 0103120 ( L A M B D A N I L ( Q U O 0103140 T E , ( S P R E A D A P P L Y 0103160 * F N ( \ C K A P P L Y A R 0103200 G S ) ) ) ) , \r n e e d s t o 0103220 i n s t e a d r e t u r n \r 0103240 ` ( L A M B D A N I L \r 0103260 ( V A L U E S - L I S T ( Q U 0103300 O T E \r , ( M U L T 0103320 I P L E - V A L U E - L I S T 0103340 ( S P R E A D A P P L Y * F N 0103360 ( \ C K A P P L Y A R G S ) ) 0103400 ) ) ) ) , \r a n d s i m i l a 0103420 r l y f o r i t s F A U L 0103440 T A P P L Y ( u d f ) c a s 0103460 e . \r T h e P R O G 1 i n 0103500 E V A L H O O K n e e d s t 0103520 o b e a M U L T I P L E - 0103540 V A L U E - P R O G 1 . A c 0103560 t u a l l y , w e m i g h t 0103600 w a n t t o r i p o u t 0103620 t h e c u r r e n t E V A 0103640 L H O O K , s i n c e i t 0103660 d o e s n o t m e e t t h 0103700 e C o m m o n L i s p s p e 0103720 c . I t s i n c l u s i o 0103740 n i n t h e H a r m o n y 0103760 r e l e a s e ( a n d n o 0104000 t e s ) w a s a v i o l a 0104020 t i o n o f o u r u s u a 0104040 l p o l i c y o n n e w 0104060 f e a t u r e s . \r T h e s p 0104100 a g h e t t i f u n c t i o n 0104120 s ( R E T E V A L , E N V E 0104140 V A L , e t c ) a p p e a r 0104160 t o b e o k a y a s t 0104200 h e y s t a n d . \r B r e a k 0104220 a n d A d v i s e \r A d v i 0104240 s i n g a f u n c t i o n 0104260 s h o u l d , o f c o u r s 0104300 e , n o t i n t e r f e r e 0104320 w i t h t h e t r a n s m 0104340 i s s i o n o f m u l t i p 0104360 l e v a l u e s . T h e 0104400 s i m p l e s t w a y t o 0104420 i n s u r e t h i s i s f 0104440 o r t h e a d v i s i n g 0104460 f o r m t o w r a p a ( 0104500 m u l t i p l e - v a l u e - l 0104520 i s t & ) a r o u n d t h 0104540 e v a l u e c o m i n g b 0104560 a c k , s e t a n e w v 0104600 a r i a b l e ! V A L U E S 0104620 t o t h i s l i s t , a n 0104640 d f i n a l l y r e t u r n 0104660 ( v a l u e s - l i s t ! V 0104700 A L U E S ) f o l l o w i n g 0104720 a n y ` ` a f t e r ' ' a 0104740 d v i c e . F o r b a c k 0104760 w a r d c o m p a t i b i l i 0105000 t y , a l s o s e t ! V A 0105020 L U E t o ( C A R ! V A L 0105040 U E S ) . \r T h e s a m e i 0105060 s t r u e f o r t h e b 0105100 r e a k p a c k a g e , e x 0105120 c e p t i t i s n o w B 0105140 R E A K 1 a n d i t s u n 0105160 d e r l i n g s t h a t m u 0105200 s t g a t h e r u p a l l 0105220 t h e v a l u e s i n t o 0105240 a l i s t a n d s p r e 0105260 a d t h e l i s t o n e 0105300 x i t . T h e b r e a k 0105320 c o m m a n d V A L U E c o 0105340 u l d b e e x t e n d e d 0105360 t o p r i n t t h e v a l 0105400 u e s i n s o m e n i c e 0105420 f a s h i o n w h e n t h 0105440 e n u m b e r o f v a l u 0105460 e s i s n o t 1 . \r A d d 0105500 i t i o n a l C o m p i l e r 0105520 C o n s i d e r a t i o n s \r 0105540 S t a c k D e p t h . W h 0105560 i l e m u l t i p l e v a l 0105600 u e s a r e o n t h e s 0105620 t a c k , t h e c o m p i l 0105640 e r d o e s n o t k n o w 0105660 t h e a b s o l u t e s t 0105700 a c k d e p t h . T h i s 0105720 i s u s u a l l y u n i m 0105740 p o r t a n t , s i n c e m 0105760 u l t i p l e v a l u e s d 0106000 o n o t u s u a l l y r e 0106020 m a i n o n t h e s t a c 0106040 k 023 t h e y a r e u s u a l 0106060 l y i m m e d i a t e l y r 0106100 e t u r n e d , o r p a s s 0106120 e d u p w i t h i n a f 0106140 u n c t i o n b y d o i n g 0106160 a n u n b i n d . S o 0106200 I b e l i e v e t h e o n 0106220 l y e f f e c t i s t o 0106240 p r o h i b i t t h e c o m 0106260 p i l e r f r o m u s i n g 0106300 C O P Y . N a n d S T O R 0106320 E . N o p t i m i z a t i o n 0106340 s w h i l e c o m p i l i n 0106360 g : \r ( a ) t h e f i n a l 0106400 n - 1 s u b f o r m s i n 0106420 a m u l t i p l e - v a l u 0106440 e - p r o g 1 ; \r ( b ) a l l 0106460 b u t t h e f i r s t o 0106500 f t h e f o r m s i n a 0106520 m u l t i p l e - v a l u e - 0106540 c a l l ( a n d , o f c o 0106560 u r s e , t h e t e m p o r 0106600 a r y v a r i a b l e i n t 0106620 r o d u c e d m u s t b e 0106640 a p v a r ) ; \r I n a d d i 0106660 t i o n , t h e c o m p i l 0106700 e r c a n n o t d o a n 0106720 u n b i n d b y p e r f o r 0106740 m i n g o n e o r m o r e 0106760 P O P s i n a p l a c e 0107000 w h e r e M V U N B I N D 0107020 i s c a l l e d f o r ( a 0107040 l s o , a n y v a r i a b l 0107060 e s t o b e u n b o u n d 0107100 i n M V P c o n t e x t 0107120 m u s t b e p v a r s ) . \r 0107140 N a s t y q u e s t i o n : 0107160 w h a t d o y o u d o w 0107200 i t h a G O i n s i d e 0107220 o f o n e o f t h e a r 0107240 g u m e n t s t o m u l t i 0107260 p l e - v a l u e - c a l l , 0107300 o r i n t h e e x t r a 0107320 s u b f o r m s o f a m u 0107340 l t i p l e - v a l u e - p r o 0107360 g 1 ? I t h i n k t h e 0107400 s e a r e t h e o n l y 0107420 p l a c e s y o u c o u l d 0107440 w r i t e G O w h e r e 0107460 t h e s t a c k d e p t h 0107500 i s i n d e t e r m i n a t e 0107520 , a n d I w o u l d n o 0107540 t b e a t a l l d i s t 0107560 u r b e d t o f o r b i d 0107600 i t . I n t h e c a s e 0107620 o f m u l t i p l e - v a l 0107640 u e - p r o g 1 , y o u c o 0107660 u l d h a n d l e i t b y 0107700 p o p p i n g e v e r y t h 0107720 i n g y o u k n o w t o 0107740 b e o n t h e s t a c k 0107760 a f t e r t h e f i r s t 0110000 v a l u e , t h e n d o M 0110020 V F O R C E ; S T A C K A D J 0110040 U S T . I c a n ' t t h 0110060 i n k o f a w a y t o 0110100 h a n d l e t h e m u l t i 0110120 p l e - v a l u e - c a l l c 0110140 a s e , h o w e v e r , u n 0110160 l e s s y o u r e a l l y 0110200 d o w a n t t o r e l y 0110220 o n U N B I N D b l o w i n 0110240 g a w a y t h e s t a c k 0110260 u p t o t h e b i n d 0110300 m a r k , s o m e t h i n g 0110320 w e w e r e t r y i n g t 0110340 o g e t a w a y f r o m . 0110360 \r T a i l R e c u r s i o n 0110400 R e m o v a l . I b e l i 0110420 e v e t h i s i s u n a f 0110440 f e c t e d . I f t h e 0110460 c a l l t o f u n c t i o n 0110500 F O O p e r m i t s m u l 0110520 t i p l e v a l u e s t o 0110540 b e r e t u r n e d , t h e 0110560 n w h e t h e r y o u p e 0110600 r f o r m a t a i l - r e c 0110620 u r s i v e c a l l t o F 0110640 O O a s a f u n c t i o n 0110660 c a l l w i t h M V A s 0110700 e t , o r a s a j u m p 0110720 , t h e r i g h t t h i n 0110740 g h a p p e n s . \r O t h e r 0110760 C o m p i l e r O p t i m i 0111000 z a t i o n s . L a r r y 0111020 s u g g e s t s a p o s s i 0111040 b l e p r o b l e m w i t h 0111060 o p t i m i z i n g a w a y 0111100 t h e b i n d i n g o f 0111120 a v a r i a b l e t o t h 0111140 e v a l u e o f a f u n 0111160 c t i o n c a l l b y r e 0111200 p l a c i n g t h e s i n g 0111220 l e u s e o f t h a t v 0111240 a r i a b l e w i t h t h e 0111260 c a l l . F o r e x a m 0111300 p l e , t r a n s f o r m i n 0111320 g \r ( p r o g ( ( a ( f o o 0111340 ) ) ) \r ( r e t u r n a 0111360 ) ) \r i n t o \r ( f o o ) . \r T 0111400 h e l a t t e r m i g h t 0111420 r e t u r n m u l t i p l e 0111440 v a l u e s , w h e r e a s 0111460 t h e s e m a n t i c s o f 0111500 t h e f i r s t d i c t a 0111520 t e o n l y a s i n g l e 0111540 v a l u e . L a r r y : 0111560 i s t h i s a n i m p o r 0111600 t a n t t r a n s f o r m a t 0111620 i o n , a n d i s t h e 0111640 t r a n s f o r m a t i o n a 0111660 t t h e s o u r c e l e v 0111700 e l o r a t t h e i n t 0111720 e r m e d i a t e c o d e l 0111740 e v e l ? I f t h i s o 0111760 p t i m i z a t i o n o c c u 0112000 r s a f t e r t h e f i r 0112020 s t p a s s c o m p i l a t 0112040 i o n o f t h i s e x p r 0112060 e s s i o n , t h e n t h e 0112100 r e i s n o p r o b l e m 0112120 023 t h e c a l l t o f o o 0112140 i s n o t i n M V P c 0112160 o n t e x t , s o i s c o 0112200 m p i l e d a s a r e g u 0112220 l a r c a l l , a n d w i 0112240 l l n o t r e t u r n m u 0112260 l t i p l e v a l u e s t h 0112300 e n , n o r w i l l i t 0112320 w h e n i t i s r e a r r 0112340 a n g e d t o r e m o v e 0112360 t h e e x t r a n e o u s b 0112400 i n d . \r L a r r y , a r e 0112420 t h e r e a n y o t h e r 0112440 p r o b l e m o p t i m i z a 0112460 t i o n s ? \r S u m m a r y o 0112500 f R e q u i r e m e n t s \r M 0112520 i c r o c o d e . I n s t r 0112540 u c t i o n s a r e M V R E 0112560 T U R N , M V U N B I N D , 0112600 M V P R E P A R E , M V C L E 0112620 A R , M V M A R K E R , M V 0112640 F O R C E , S T A C K A D J U 0112660 S T . T h e i n s t r u c 0112700 t i o n s h a v e b e e n 0112720 d e s i g n e d s o t h a t 0112740 a n i n i t i a l ( v e r 0112760 y i n e f f i c i e n t ) i 0113000 m p l e m e n t a t i o n i s 0113020 p o s s i b l e w i t h n 0113040 o m i c r o c o d e s u p p 0113060 o r t a t a l l . O f 0113100 c o u r s e , s o m e o f 0113120 t h e u f n s a r e r a t 0113140 h e r u n p l e a s a n t ; 0113160 m o s t w i l l r e q u i r 0113200 e t h e s a m e u g l y 0113220 t r i c k a s w e u s e 0113240 f o r t h e u n b o x e d 0113260 f l o a t i n g u f n s 023 g r 0113300 a b c a l l e r ' s s t a c 0113320 k p o i n t e r a n d e x 0113340 p l i c i t l y m a n i p u l 0113360 a t e t h e s t a c k . 0113400 M o s t o f t h e m n e e 0113420 d t o s e t N o P u s h 0113440 b i t s o t h a t t h e 0113460 u f n r e t u r n s n o v 0113500 a l u e ( w e c a n ' t r 0113520 e t u r n a v a l u e i f 0113540 i t i s t h e M V M a r 0113560 k e r , s i n c e t h i s 0113600 w o u l d c o n f u s e R E 0113620 T U R N ( i f M V R E T U R 0113640 N i s c o n s i d e r e d 0113660 t h e s a m e a s R E T U 0113700 R N ) ) . P o p p i n g c 0113720 a l l e r ' s s t a c k i s 0113740 m u c h e a s i e r t h a 0113760 n p u s h i n g , s i n c e 0114000 t h e l a t t e r b u m p 0114020 s i n t o t h e n e x t 0114040 f r a m e ( u s u a l l y t 0114060 h e u f n i t s e l f ! ) . 0114100 \r B r e a k d o w n a s f o 0114120 l l o w s : \r M V U N B I N D 0114140 s i m u l a t e s U N B I N D 0114160 a n d c o p i e s v a l u 0114200 e s d o w n w a r d o n s 0114220 t a c k . N e t p o p , 0114240 s o n o t t o o u g l y . 0114260 \r M V R E T U R N r e q u i r 0114300 e s p u s h i n g o n t o 0114320 r e t u r n e e , s o h a v 0114340 e t o m a k e s u r e t 0114360 h e r e i s s p a c e . 0114400 I f r e t u r n e r i s w 0114420 h a t f o l l o w s r e t u 0114440 r n e e , w e c a n s m a 0114460 s h i t o u t o f t h e 0114500 w a y ; i f f r e e b l 0114520 o c k o f s u f f i c i e n 0114540 t s i z e f o l l o w s , 0114560 s h r i n k t h e f r e e 0114600 b l o c k ; e l s e h a v e 0114620 t o m o v e r e t u r n e 0114640 e , m u c h a s \ H A R D 0114660 R E T U R N d o e s . I ' 0114700 m i n c l i n e d t o h a 0114720 v e M V R E T U R N u f n 0114740 t o \ H A R D R E T U R N a 0114760 n d f o l d a l l t h i s 0115000 g a r b a g e i n t o o n 0115020 e p l a c e . \r M V P R E P A 0115040 R E g r a b s c a l l e r ' 0115060 s F X a n d s e t s t h 0115100 e M V A f l a g i n i t 0115120 ; M V C L E A R c l e a r s 0115140 t h e f l a g . ( D o 0115160 t h e s e c o n f u s e t h 0115200 e c o m p i l e r ? T h e 0115220 y a r e z e r o - a r g u m 0115240 e n t o p c o d e s t h a t 0115260 r e t u r n z e r o v a l 0115300 u e s . ) \r M V M A R K E R i 0115320 s f a i r l y e a s y , s 0115340 i n c e i t j u s t r e q 0115360 u i r e s s m a s h i n g c 0115400 o n t e n t s o f T O S . \r 0115420 M V F O R C E e i t h e r s 0115440 m a s h e s T O S o r p u 0115460 s h e s a v a l u e . D 0115500 o t h i s b y h a v i n g 0115520 z e r o - a r g u m e n t u 0115540 f n ( a s a l l t h e o 0115560 t h e r s a r e ) , w h i c 0115600 h e x a m i n e s c a l l e 0115620 r ' s T O S . I f i t 0115640 i s t h e M V M a r k e r , 0115660 s m a s h i t a n d s e 0115700 t N o P u s h b i t a s 0115720 y o u r e t u r n ; i f i 0115740 t i s n o t , r e t u r n 0115760 c o n s t a n t 1 i n c 0116000 o n v e n t i o n a l m a n n 0116020 e r . \r S T A C K A D J U S T 0116040 c a n a c t u a l l y h a v 0116060 e a u f n o f o n e a 0116100 r g u m e n t ( n ) . I f 0116120 n i s p o s i t i v e , 0116140 t h e r e i s a n e t p 0116160 o p , w h i c h i s r e l 0116200 a t i v e l y e a s y ; i f 0116220 n i s n e g a t i v e , 0116240 n e e d t o p u s h N I L 0116260 s , w h i c h g e t s i n 0116300 t o t h e s a m e h a i r 0116320 i n e s s a s M V R E T U R 0116340 N a n d w o u l d p r o b 0116360 a b l y r e q u i r e d o i 0116400 n g s o m e t h i n g i n 0116420 t h e m i s c c o n t e x t 0116440 i f t h e r e i s a f 0116460 r a m e b l o c k i n g t h 0116500 e w a y . T h i s i s 0116520 p e r h a p s t h e l e a s 0116540 t p l e a s a n t o p c o d 0116560 e . \r C o m p i l e r . C o 0116600 m p i l e r n e e d s t o 0116620 a d d n o t i o n o f M u 0116640 l t i p l e V a l u e s P o 0116660 s s i b l e c o n t e x t , 0116700 L a p c o d e f o r e a c 0116720 h o f t h e c o n s t r u 0116740 c t s d e s c r i b e d a b 0116760 o v e . N e e d t o i n 0117000 h i b i t c e r t a i n o p 0117020 t i m i z a t i o n s ( C O P 0117040 Y . N a n d S T O R E . N 0117060 i n c e r t a i n s i t u a 0117100 t i o n s ) . \r I n t e r p r e 0117120 t e r . N e e d t o i m 0117140 p l e m e n t i n t e r p r e 0117160 t e d v e r s i o n s o f 0117200 a l l o f t h e M u l t i 0117220 p l e V a l u e s f o r m s 0117240 l i s t e d a b o v e , a 0117260 n d m a k e s u r e t h e 0117300 e x i s t i n g i n t e r p 0117320 r e t e d f n s t r a n s m 0117340 i t m u l t i p l e v a l u 0117360 e s w h e n r e q u i r e d 0117400 t o . \r \0 \0 \0 \0 \0 005 \0 \r \0 ( \0 0117420 022 \0 $ \0 \0 \0 \0 \0 \0 \0 001 002 004 \0 \0 \0 0117440 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0117460 \0 \0 \0 \0 \0 \0 ( \0 \0 \0 \0 \0 \0 \0 \f \0 0117500 \0 \0 001 002 004 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0117520 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( \0 0117540 0 \0 0 \0 \0 \0 \0 \0 \0 \0 001 002 004 \0 \0 \0 0117560 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0117600 \0 \0 \0 \0 \0 \0 1 \0 0 \0 0 \0 \0 \0 \0 \0 0117620 \0 \0 001 003 001 \0 \0 002 \0 H \0 \0 250 \0 \0 \0 0117640 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0117660 \0 \0 \0 \0 \0 \0 \0 ( \0 022 \0 $ \0 \0 \0 \b 0117700 \0 \0 \0 001 002 004 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0117720 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( 0117740 \0 030 \0 030 \0 \0 \0 002 \0 \0 \0 001 002 001 \0 \0 0117760 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0120000 \0 \0 \0 \0 \0 \0 \0 ( \0 030 \0 030 \0 \0 \0 \b 0120020 \0 \0 \0 001 002 001 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0120040 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( 0120060 \0 \0 \0 \0 \0 \0 \0 \f \0 \0 \0 001 002 001 \0 \0 0120100 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0120120 \0 \0 \0 \0 \0 \0 \0 ( \0 0 \0 0 \0 \0 \0 002 0120140 \0 \0 \0 001 002 004 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0120160 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( 0120200 \0 0 \0 0 \0 \0 \0 \b \0 \0 \0 001 002 004 \0 \0 0120220 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0120240 \0 \0 \0 \0 \0 \0 \0 ( \0 030 \0 030 \0 \0 \0 \b 0120260 \0 \0 \0 001 002 004 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0120300 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( 0120320 \0 \0 \0 \0 \0 \0 \0 \b \0 \0 \0 001 002 003 \0 \0 0120340 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0120360 \0 \0 \0 \0 \0 \0 \0 ( \0 \0 \0 \0 \0 \0 \0 \b 0120400 \0 \0 \0 001 002 004 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0120420 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0120440 \0 \0 \0 004 \0 \a \0 023 \0 005 G A C H A \0 0120460 \b \0 \0 \0 \0 \0 \0 \0 \0 \0 030 \0 \n T I M 0120500 E S R O M A N \0 \b \0 \0 \0 \0 \0 \0 \0 0120520 \0 \0 030 \0 \n T I M E S R O M A N \0 0120540 \n \0 \0 \0 \0 \0 \0 001 \0 \0 023 \0 005 G A C 0120560 H A \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 030 \0 \n 0120600 T I M E S R O M A N \0 \n \0 \0 \0 \0 0120620 \0 \0 002 \0 \0 030 \0 \n T I M E S R O M 0120640 A N \0 \f \0 \0 \0 \0 \0 \0 002 \0 \0 030 \0 \n 0120660 T I M E S R O M A N \0 \n \0 \0 \0 \0 0120700 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 \0 \f \0 \0 \0 + 0120720 \0 \0 \0 \0 006 \0 \0 \0 \0 \0 002 \0 \b \0 \0 \0 0120740 B \0 \0 \0 \0 002 \0 \0 \0 \0 \0 002 \0 \b \0 \0 0120760 \0 \f \0 \0 \0 \0 005 \0 \0 \0 001 \0 \0 \0 \0 \a 0121000 \0 \0 \0 \0 \0 002 \0 \r \0 \0 \0 337 \0 \0 \0 \0 0121020 \a \0 \0 \0 \0 \0 002 \0 \r \0 \0 \0 / \0 \0 \0 0121040 \0 \a \0 \0 \0 \a \0 \0 \0 \0 004 \0 \0 \0 \n \0 0121060 \0 \0 \0 \a \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 001 0121100 037 \0 \0 \0 \0 \a \0 \0 \0 \b \0 \0 \0 \0 004 \0 0121120 \0 \0 \ \0 \0 \0 \0 \a \0 \0 \0 003 \0 \0 \0 \0 0121140 004 \0 \0 \0 002 \0 \0 \0 \0 \a \0 \0 \0 \0 \0 002 0121160 \0 \r \0 \0 001 w \0 \0 \0 \0 \a \0 \0 \0 \0 \0 0121200 002 \0 \r \0 \0 002 217 \0 \0 \0 \0 \a \0 \0 \0 005 0121220 \0 \0 \0 \0 004 \0 \0 \0 021 \0 \0 \0 \0 \a \0 \0 0121240 \0 \0 \0 002 \0 \r \0 \0 \0 361 \0 \0 \0 \0 \a \0 0121260 \0 \0 005 \0 \0 \0 \0 004 \0 \0 \0 . \0 \0 \0 \0 0121300 \a \0 \0 \0 005 \0 \0 \0 \0 004 \0 \0 001 \a \0 \0 0121320 \0 \0 \a \0 \0 \0 005 \0 \0 \0 \0 004 \0 \0 \0 @ 0121340 \0 \0 \0 \0 \a \0 \0 \0 \0 \0 002 \0 \r \0 \0 001 0121360 364 \0 \0 \0 \0 \a \0 \0 \0 \0 \0 002 \0 \r \0 \0 0121400 \0 245 \0 \0 \0 \0 \a \0 \0 \0 \0 \0 002 \0 \b \0 0121420 \0 \0 4 \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 \r 0121440 \0 \0 \0 s \0 \0 \0 \0 \a \0 \0 \0 \0 \0 002 \0 0121460 \r \0 \0 002 H \0 \0 \0 \0 \a \0 \0 \0 006 \0 \0 0121500 \0 \0 004 \0 \0 \0 V \0 \0 \0 \0 \a \0 \0 \0 \0 0121520 \0 002 \0 \b \0 \0 \0 026 \0 \0 \0 \0 005 \0 \0 \0 0121540 \0 \0 002 \0 \r \0 \0 \0 m \0 \0 \0 \0 \a \0 \0 0121560 \0 \0 \0 002 \0 005 \0 \0 \0 / \0 \0 \0 \0 \a \0 0121600 \0 \0 023 \0 \0 \0 \0 004 \0 \0 \0 / \0 \0 \0 \0 0121620 \a \0 \0 \0 \0 \0 002 \0 005 \0 \0 \0 \b \0 \0 \0 0121640 \0 \a \0 \0 \0 001 \0 \0 \0 \0 003 \0 \0 \0 . \0 0121660 \0 \0 \0 \a \0 \0 \0 023 \0 \0 \0 \0 004 \0 \0 \0 0121700 005 \0 \0 \0 \0 \a \0 \0 \0 023 \0 \0 \0 \0 004 \0 0121720 \0 \0 % \0 \0 \0 \0 \a \0 \0 \0 001 \0 \0 \0 \0 0121740 003 \0 \0 \0 \t \0 \0 \0 \0 \a \0 \0 \0 001 \0 \0 0121760 \0 \0 003 \0 \0 \0 0 \0 \0 \0 \0 \a \0 \0 \0 \0 0122000 \0 002 \0 \r \0 \0 002 V \0 \0 \0 \0 \a \0 \0 \0 0122020 \0 \0 002 \0 \r \0 \0 \0 311 \0 \0 \0 \0 \a \0 \0 0122040 \0 \0 \0 002 \0 \r \0 \0 \0 " \0 \0 \0 \0 \a \0 0122060 \0 \0 \0 \0 002 \0 005 \0 \0 \0 9 \0 \0 \0 \0 \a 0122100 \0 \0 \0 023 \0 \0 \0 \0 004 \0 \0 \0 m \0 \0 \0 0122120 \0 \a \0 \0 \0 \0 \0 002 \0 \r \0 \0 \0 B \0 \0 0122140 \0 \0 \a \0 \0 \0 023 \0 \0 \0 \0 004 \0 \0 \0 3 0122160 \0 \0 \0 \0 \a \0 \0 \0 \0 \0 002 \0 005 \0 \0 \0 0122200 + \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 004 \0 \0 0122220 \0 001 \0 \0 \0 \0 \a \0 \0 \0 $ \0 \0 \0 \0 004 0122240 \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 \n \0 \0 \0 \0 0122260 004 \0 \0 \0 001 \0 \0 \0 \0 \a \0 \0 \0 036 \0 \0 0122300 \0 \0 004 \0 \0 \0 \0 \0 002 \0 \b \0 \0 \0 ! \0 0122320 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 \r \0 \0 \0 244 0122340 \0 \0 \0 \0 \a \0 \0 \0 \0 \0 002 \0 005 \0 \0 \0 0122360 006 \0 \0 \0 \0 004 \0 \0 \0 5 \0 \0 \0 \0 \a \0 0122400 \0 \0 \a \0 \0 \0 \0 004 \0 \0 \0 \0 \0 \0 \0 0122420 \a \0 \0 \0 \0 \0 002 \0 \b \0 \0 \0 $ \0 \0 \0 0122440 \0 005 \0 \0 \0 \0 \0 002 \0 \b \0 \0 \0 025 \0 \0 0122460 \0 \0 004 \0 \0 \0 004 \0 \0 \0 \0 003 \0 \0 \0 001 0122500 \0 \0 \0 \0 004 \0 \0 \0 001 \0 \0 \0 \0 \a \0 \0 0122520 \0 \0 \0 002 \0 \v \0 \0 \0 \b \0 \0 \0 \0 \a \0 0122540 \0 \0 004 \0 \0 \0 \0 003 \0 \0 \0 I \0 \0 \0 \0 0122560 \a \0 \0 \0 004 \0 \0 \0 \0 003 \0 \0 \0 022 \0 \0 0122600 \0 \0 \a \0 \0 \0 006 \0 \0 \0 \0 004 \0 \0 \0 U 0122620 \0 \0 \0 \0 \a \0 \0 \0 \b \0 \0 \0 \0 004 \0 \0 0122640 \0 002 \0 \0 \0 \0 003 \0 \0 \0 001 \0 \0 \0 \0 004 0122660 \0 \0 \0 003 \0 \0 \0 \0 \a \0 \0 \0 001 \0 \0 \0 0122700 \0 004 \0 \0 \0 002 \0 \0 \0 \0 003 \0 \0 \0 001 \0 0122720 \0 \0 \0 004 \0 \0 \0 033 \0 \0 \0 \0 \a \0 \0 \0 0122740 004 \0 \0 \0 \0 004 \0 \0 \0 003 \0 \0 \0 \0 \a \0 0122760 \0 \0 \0 \0 002 \0 \b \0 \0 \0 025 \0 \0 \0 \0 004 0123000 \0 \0 \0 002 \0 \0 \0 \0 003 \0 \0 \0 001 \0 \0 \0 0123020 \0 004 \0 \0 \0 003 \0 \0 \0 \0 \a \0 \0 \0 001 \0 0123040 \0 \0 \0 004 \0 \0 \0 002 \0 \0 \0 \0 003 \0 \0 \0 0123060 001 \0 \0 \0 \0 004 \0 \0 \0 004 \0 \0 \0 \0 003 \0 0123100 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 001 \0 \0 \0 \0 0123120 \a \0 \0 \0 \0 \0 002 \0 \v \0 \0 \0 \b \0 \0 \0 0123140 \0 \a \0 \0 \0 004 \0 \0 \0 \0 003 \0 \0 \0 \v \0 0123160 \0 \0 \0 \a \0 \0 \0 001 \0 \0 \0 \0 003 \0 \0 \0 0123200 X \0 \0 \0 \0 \a \0 \0 \0 001 \0 \0 \0 \0 003 \0 0123220 \0 \0 005 \0 \0 002 \0 003 \0 \0 \0 004 \0 \0 \0 \0 0123240 \a \0 \0 \0 003 \0 \0 \0 \0 004 \0 \0 \0 032 \0 \0 0123260 \0 \0 \a \0 \0 \0 002 \0 \0 \0 \0 003 \0 \0 \0 001 0123300 \0 \0 \0 \0 004 \0 \0 \0 003 \0 \0 \0 \0 \a \0 \0 0123320 \0 001 \0 \0 \0 \0 004 \0 \0 \0 002 \0 \0 \0 \0 003 0123340 \0 \0 \0 $ \0 \0 \0 \0 \a \0 \0 \0 001 \0 \0 \0 0123360 \0 003 \0 \0 \0 + \0 \0 \0 \0 \a \0 \0 \0 001 \0 0123400 \0 \0 \0 003 \0 \0 \0 005 \0 \0 002 \0 003 \0 \0 \0 0123420 003 \0 \0 \0 \0 003 \0 \0 \0 001 \0 \0 \0 \0 \a \0 0123440 \0 \0 003 \0 \0 \0 \0 004 \0 \0 \0 # \0 \0 \0 \0 0123460 \a \0 \0 \0 004 \0 \0 \0 \0 003 \0 \0 \0 022 \0 \0 0123500 \0 \0 \a \0 \0 \0 \b \0 \0 \0 \0 004 \0 \0 \0 001 0123520 \0 \0 \0 \0 \a \0 \0 \0 001 \0 \0 \0 \0 003 \0 \0 0123540 \0 027 \0 \0 \0 \0 \a \0 \0 \0 \0 \0 002 \0 \n \0 0123560 \0 \0 \b \0 \0 \0 \0 004 \0 \0 \0 001 \0 \0 \0 \0 0123600 003 \0 \0 \0 005 \0 \0 002 \0 003 \0 \0 \0 003 \0 \0 0123620 \0 \0 \a \0 \0 \0 032 \0 \0 \0 \0 004 \0 \0 \0 \0 0123640 \0 002 \0 \v \0 \0 \0 , \0 \0 \0 \0 \a \0 \0 \0 0123660 \0 \0 002 \0 \n \0 \0 \0 004 \0 \0 \0 \0 004 \0 \0 0123700 \0 001 \0 \0 \0 \0 \a \0 \0 \0 002 \0 \0 \0 \0 003 0123720 \0 \0 \0 002 \0 \0 \0 \0 \a \0 \0 \0 003 \0 \0 \0 0123740 \0 004 \0 \0 \0 002 \0 \0 \0 \0 \a \0 \0 \0 004 \0 0123760 \0 \0 \0 004 \0 \0 \0 001 \0 \0 \0 \0 \a \0 \0 \0 0124000 002 \0 \0 \0 \0 003 \0 \0 \0 004 \0 \0 \0 \0 \a \0 0124020 \0 \0 003 \0 \0 \0 \0 004 \0 \0 \0 006 \0 \0 \0 \0 0124040 \a \0 \0 \0 004 \0 \0 \0 \0 004 \0 \0 \0 001 \0 \0 0124060 \0 \0 \a \0 \0 \0 002 \0 \0 \0 \0 003 \0 \0 \0 001 0124100 \0 \0 \0 \0 \a \0 \0 \0 \0 \0 002 \0 \v \0 \0 \0 0124120 r \0 \0 \0 \0 \a \0 \0 \0 004 \0 \0 \0 \0 004 \0 0124140 \0 \0 \r \0 \0 \0 \0 \a \0 \0 \0 \0 \0 002 \0 \n 0124160 \0 \0 \0 \b \0 \0 \0 \0 004 \0 \0 \0 033 \0 \0 \0 0124200 \0 \a \0 \0 \0 020 \0 \0 \0 \0 004 \0 \0 \0 002 \0 0124220 \0 \0 \0 003 \0 \0 \0 \v \0 \0 \0 \0 004 \0 \0 \0 0124240 \0 \0 002 \0 003 \0 \0 \0 \n \0 \0 \0 \0 004 \0 \0 0124260 \0 002 \0 \0 \0 \0 003 \0 \0 \0 002 \0 \0 \0 \0 004 0124300 \0 \0 \0 002 \0 \0 \0 \0 003 \0 \0 \0 001 \0 \0 \0 0124320 \0 004 \0 \0 \0 \0 \0 002 \0 \v \0 \0 \0 022 \0 \0 0124340 \0 \0 \a \0 \0 \0 002 \0 \0 \0 \0 003 \0 \0 \0 ' 0124360 \0 \0 \0 \0 \a \0 \0 \0 023 \0 \0 \0 \0 004 \0 \0 0124400 \0 032 \0 \0 \0 \0 \a \0 \0 \0 \0 \0 002 \0 \b \0 0124420 \0 \0 026 \0 \0 \0 \0 004 \0 \0 \0 002 \0 \0 \0 \0 0124440 003 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 003 \0 \0 0124460 \0 \0 \a \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 002 0124500 \0 \0 \0 \0 003 \0 \0 \0 002 \0 \0 \0 \0 004 \0 \0 0124520 \0 004 \0 \0 \0 \0 003 \0 \0 \0 003 \0 \0 \0 \0 \a 0124540 \0 \0 \0 \v \0 \0 \0 \0 003 \0 \0 \0 001 \0 \0 \0 0124560 \0 004 \0 \0 \0 001 \0 \0 \0 \0 \a \0 \0 \0 \0 \0 0124600 002 \0 \v \0 \0 \0 \b \0 \0 \0 \0 \a \0 \0 \0 004 0124620 \0 \0 \0 \0 003 \0 \0 \0 \v \0 \0 \0 \0 \a \0 \0 0124640 \0 001 \0 \0 \0 \0 003 \0 \0 \0 020 \0 \0 \0 \0 \a 0124660 \0 \0 \0 \0 \0 002 \0 \n \0 \0 \0 004 \0 \0 \0 \0 0124700 004 \0 \0 \0 002 \0 \0 \0 \0 \a \0 \0 \0 002 \0 \0 0124720 \0 \0 003 \0 \0 \0 \a \0 \0 \0 \0 \a \0 \0 \0 002 0124740 \0 \0 \0 \0 003 \0 \0 \0 003 \0 \0 \0 \0 \a \0 \0 0124760 \0 006 \0 \0 \0 \0 004 \0 \0 \0 003 \0 \0 \0 \0 \a 0125000 \0 \0 \0 \v \0 \0 \0 \0 003 \0 \0 \0 002 \0 \0 \0 0125020 \0 004 \0 \0 \0 \0 \0 002 \0 \v \0 \0 \0 c \0 \0 0125040 \0 \0 \a \0 \0 \0 \0 \0 002 \0 \n \0 \0 \0 \a \0 0125060 \0 \0 \0 004 \0 \0 \0 002 \0 \0 \0 \0 003 \0 \0 \0 0125100 001 \0 \0 \0 \0 \a \0 \0 \0 016 \0 \0 \0 \0 004 \0 0125120 \0 \0 001 \0 \0 \0 \0 003 \0 \0 \0 001 \0 \0 \0 \0 0125140 \a \0 \0 \0 004 \0 \0 \0 \0 003 \0 \0 \0 003 \0 \0 0125160 \0 \0 \a \0 \0 \0 \0 \0 002 \0 003 \0 \0 \0 \a \0 0125200 \0 \0 \0 004 \0 \0 \0 001 \0 \0 \0 \0 003 \0 \0 \0 0125220 002 \0 \0 \0 \0 \a \0 \0 \0 \n \0 \0 \0 \0 004 \0 0125240 \0 \0 005 \0 \0 \0 \0 \a \0 \0 \0 \0 \0 002 \0 003 0125260 \0 \0 \0 \a \0 \0 \0 \0 004 \0 \0 \0 002 \0 \0 \0 0125300 \0 003 \0 \0 \0 \f \0 \0 \0 \0 004 \0 \0 \0 001 \0 0125320 \0 \0 \0 \a \0 \0 \0 \0 \0 002 \0 003 \0 \0 \0 004 0125340 \0 \0 \0 \0 \a \0 \0 \0 \v \0 \0 \0 \0 003 \0 \0 0125360 \0 003 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 \v \0 0125400 \0 \0 006 \0 \0 \0 \0 \a \0 \0 \0 \f \0 \0 \0 \0 0125420 004 \0 \0 \0 , \0 \0 \0 \0 \a \0 \0 \0 \t \0 \0 0125440 \0 \0 004 \0 \0 \0 201 \0 \0 \0 \0 \a \0 \0 \0 023 0125460 \0 \0 \0 \0 004 \0 \0 \0 : \0 \0 \0 \0 \a \0 \0 0125500 \0 005 \0 \0 \0 \0 004 \0 \0 \0 002 \0 \0 \0 \0 \a 0125520 \0 \0 \0 \0 \0 002 \0 \v \0 \0 \0 K \0 \0 \0 \0 0125540 \a \0 \0 \0 023 \0 \0 \0 \0 004 \0 \0 \0 . \0 \0 0125560 \0 \0 \a \0 \0 \0 \0 \0 002 \0 \b \0 \0 \0 026 \0 0125600 \0 \0 \0 004 \0 \0 \0 004 \0 \0 \0 \0 003 \0 \0 \0 0125620 003 \0 \0 \0 \0 \a \0 \0 \0 \v \0 \0 \0 \0 003 \0 0125640 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 001 \0 \0 \0 \0 0125660 \a \0 \0 \0 \0 \0 002 \0 \v \0 \0 \0 ( \0 \0 \0 0125700 \0 004 \0 \0 \0 005 \0 \0 \0 \0 003 \0 \0 \0 001 \0 0125720 \0 \0 \0 004 \0 \0 \0 003 \0 \0 \0 \0 \a \0 \0 \0 0125740 \v \0 \0 \0 \0 003 \0 \0 \0 002 \0 \0 \0 \0 004 \0 0125760 \0 \0 002 \0 \0 \0 \0 \a \0 \0 \0 \0 \0 002 \0 \b 0126000 \0 \0 \0 \b \0 \0 \0 \0 004 \0 \0 \0 002 \0 \0 \0 0126020 \0 003 \0 \0 \0 005 \0 \0 \0 \0 \a \0 \0 \0 002 \0 0126040 \0 \0 \0 003 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 0126060 001 \0 \0 \0 \0 \a \0 \0 \0 \0 \0 002 \0 \v \0 \0 0126100 \0 2 \0 \0 \0 \0 \a \0 \0 \0 006 \0 \0 \0 \0 004 0126120 \0 \0 \0 \v \0 \0 \0 \0 \a \0 \0 \0 006 \0 \0 \0 0126140 \0 004 \0 \0 \0 P \0 \0 \0 \0 \a \0 \0 \0 005 \0 0126160 \0 \0 \0 004 \0 \0 \0 002 \0 \0 \0 \0 \a \0 \0 \0 0126200 \0 \0 002 \0 \b \0 \0 \0 \r \0 \0 \0 \0 004 \0 \0 0126220 \0 004 \0 \0 \0 \0 003 \0 \0 \0 001 \0 \0 \0 \0 004 0126240 \0 \0 \0 001 \0 \0 \0 \0 \a \0 \0 \0 \0 \0 002 \0 0126260 \v \0 \0 \0 2 \0 \0 \0 \0 \a \0 \0 \0 006 \0 \0 0126300 \0 \0 004 \0 \0 \0 ~ \0 \0 \0 \0 \a \0 \0 \0 004 0126320 \0 \0 \0 \0 003 \0 \0 \0 < \0 \0 \0 \0 \a \0 \0 0126340 \0 004 \0 \0 \0 \0 003 \0 \0 \0 024 \0 \0 \0 \0 \a 0126360 \0 \0 \0 \b \0 \0 \0 \0 004 \0 \0 \0 001 \0 \0 \0 0126400 \0 \a \0 \0 \0 001 \0 \0 \0 \0 003 \0 \0 \0 025 \0 0126420 \0 \0 \0 \a \0 \0 \0 \0 \0 002 \0 \b \0 \0 \0 024 0126440 \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0 0126460 006 \0 \0 \0 \0 004 \0 \0 \0 V \0 \0 \0 \0 \a \0 0126500 \0 \0 006 \0 \0 \0 \0 004 \0 \0 \0 ! \0 \0 \0 \0 0126520 \a \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0 006 \0 \0 \0 0126540 \0 004 \0 \0 \0 346 \0 \0 \0 \0 \a \0 \0 \0 \0 \0 0126560 002 \0 \v \0 \0 \0 006 \0 \0 \0 \0 004 \0 \0 \0 246 0126600 \0 \0 \0 \0 \a \0 \0 \0 \0 \0 002 \0 \v \0 \0 \0 0126620 006 \0 \0 \0 \0 004 \0 \0 \0 [ \0 \0 \0 \0 \a \0 0126640 \0 \0 006 \0 \0 \0 \0 004 \0 \0 \0 ; \0 \0 \0 \0 0126660 \a \0 \0 \0 006 \0 \0 \0 \0 004 \0 \0 \0 032 \0 \0 0126700 \0 \0 \a \0 \0 \0 006 \0 \0 \0 \0 004 \0 \0 \0 016 0126720 \0 \0 \0 \0 \a \0 \0 \0 \0 \0 002 \0 \v \0 \0 \0 0126740 l \0 \0 \0 \0 \a \0 \0 \0 006 \0 \0 \0 \0 004 \0 0126760 \0 \0 002 \0 \0 \0 \0 \a \0 \0 \0 \0 \0 002 \0 002 0127000 \0 \0 \0 \a \0 \0 \0 \0 \a \0 \0 \0 \0 \0 002 \0 0127020 002 \0 \0 \0 006 \0 \0 \0 \0 004 \0 \0 \0 e \0 \0 0127040 \0 \0 \a \0 \0 \0 006 \0 \0 \0 \0 004 \0 \0 \0 ( 0127060 \0 \0 \0 \0 \a \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0 0127100 \r \0 \0 \0 \0 \a \0 \0 \0 \v \0 \0 \0 \0 004 \0 0127120 \0 \0 021 \0 \0 \0 \0 \a \0 \0 \0 006 \0 \0 \0 \0 0127140 004 \0 \0 \0 K \0 \0 \0 \0 \a \0 \0 \0 \0 \0 002 0127160 \0 002 \0 \0 \0 022 \0 \0 \0 \0 \a \0 \0 \0 006 \0 0127200 \0 \0 \0 004 \0 \0 \0 1 \0 \0 \0 \0 \a \0 \0 \0 0127220 006 \0 \0 \0 \0 004 \0 \0 \0 j \0 \0 \0 \0 \a \0 0127240 \0 \0 006 \0 \0 \0 \0 004 \0 \0 \0 ] \0 \0 \0 \0 0127260 \a \0 \0 \0 \0 \0 002 \0 005 \0 \0 \0 \t \0 \0 \0 0127300 \0 004 \0 \0 \0 \0 \0 002 \0 001 \0 \0 \0 024 \0 \0 0127320 \0 \0 004 \0 \0 \0 \0 \0 002 \0 001 \0 \0 \0 \b \0 0127340 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 005 \0 \0 \0 017 0127360 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0 0127400 . \0 \0 \0 \0 \a \0 \0 \0 005 \0 \0 \0 \0 004 \0 0127420 \0 \0 e \0 \0 \0 \0 \a \0 \0 \0 003 \0 \0 \0 \0 0127440 004 \0 \0 \0 \n \0 \0 \0 \0 \a \0 \0 \0 006 \0 \0 0127460 \0 \0 004 \0 \0 \0 % \0 \0 \0 \0 \a \0 \0 \0 \0 0127500 \0 002 \0 002 \0 \0 \0 022 \0 \0 \0 \0 005 \0 \0 \0 0127520 \0 \0 002 \0 002 \0 \0 \0 371 \0 \0 \0 \0 \a \0 \0 0127540 \0 \0 \0 002 \0 002 \0 \0 \0 030 \0 \0 \0 \0 \a \0 0127560 \0 \0 006 \0 \0 \0 \0 004 \0 \0 \0 024 \0 \0 \0 \0 0127600 \a \0 \0 \0 \0 \0 002 \0 005 \0 \0 \0 \n \0 \0 \0 0127620 \0 004 \0 \0 \0 \n \0 \0 \0 \0 \a \0 \0 \0 001 \0 0127640 \0 \0 \0 004 \0 \0 \0 # \0 \0 \0 \0 \a \0 \0 \0 0127660 001 \0 \0 \0 \0 004 \0 \0 \0 005 \0 \0 002 \0 003 \0 0127700 \0 \0 004 \0 \0 \0 \0 \a \0 \0 \0 003 \0 \0 \0 \0 0127720 004 \0 \0 \0 021 \0 \0 \0 \0 \a \0 \0 \0 \0 \0 002 0127740 \0 002 \0 \0 \0 i \0 \0 \0 \0 \a \0 \0 \0 \n \0 0127760 \0 \0 \0 004 \0 \0 \0 \a \0 \0 \0 \0 \a \0 \0 \0 0130000 001 \0 \0 \0 \0 004 \0 \0 \0 % \0 \0 \0 \0 \a \0 0130020 \0 \0 006 \0 \0 \0 \0 004 \0 \0 \0 " \0 \0 \0 \0 0130040 \a \0 \0 \0 \0 \0 002 \0 \v \0 \0 \0 \n \0 \0 \0 0130060 \0 004 \0 \0 \0 026 \0 \0 \0 \0 \a \0 \0 \0 001 \0 0130100 \0 \0 \0 003 \0 \0 \0 336 \0 \0 \0 \0 \a \0 \0 \0 0130120 001 \0 \0 \0 \0 003 \0 \0 \0 263 \0 \0 \0 \0 \a \0 0130140 \0 \0 001 \0 \0 \0 \0 003 \0 \0 \0 221 \0 \0 \0 \0 0130160 \a \0 \0 \0 001 \0 \0 \0 \0 003 \0 \0 \0 020 \0 \0 0130200 \0 \0 \a \0 \0 \0 001 \0 \0 \0 \0 003 \0 \0 \0 \r 0130220 \0 \0 \0 \0 \a \0 \0 \0 006 \0 \0 \0 \0 004 \0 \0 0130240 \0 033 \0 \0 \0 \0 \a \0 \0 \0 001 \0 \0 \0 \0 003 0130260 \0 \0 \0 \v \0 \0 \0 \0 \a \0 \0 \0 006 \0 \0 \0 0130300 \0 004 \0 \0 \0 025 \0 \0 \0 \0 \a \0 \0 \0 001 \0 0130320 \0 \0 \0 003 \0 \0 \0 022 \0 \0 \0 \0 \a \0 \0 \0 0130340 003 \0 \0 \0 \0 004 \0 \0 \0 ; \0 \0 \0 \0 \a \0 0130360 \0 \0 \0 \0 002 \0 002 \0 \0 \0 Y \0 \0 \0 \0 \a 0130400 \0 \0 \0 \b \0 \0 \0 \0 004 \0 \0 \0 \v \0 \0 \0 0130420 \0 \a \0 \0 \0 017 \0 \0 \0 \0 004 \0 \0 001 331 \0 0130440 \0 \0 \0 \a \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0 \f 0130460 \0 \0 \0 \0 \a \0 \0 \0 \n \0 \0 \0 \0 004 \0 \0 0130500 \0 037 \0 \0 \0 \0 \a \0 \0 \0 \b \0 \0 \0 \0 004 0130520 \0 \0 \0 \t \0 \0 \0 \0 \a \0 \0 \0 006 \0 \0 \0 0130540 \0 004 \0 \0 \0 q \0 \0 \0 \0 \a \0 \0 \0 \n \0 0130560 \0 \0 \0 004 \0 \0 \0 226 \0 \0 \0 \0 \a \0 \0 \0 0130600 003 \0 \0 \0 \0 004 \0 \0 \0 V \0 \0 \0 \0 \a \0 0130620 \0 \0 002 \0 \0 \0 \0 004 \0 \0 \0 032 \0 \0 \0 \0 0130640 \a \0 \0 \0 003 \0 \0 \0 \0 004 \0 \0 \0 * \0 \0 0130660 \0 \0 \a \0 \0 \0 \n \0 \0 \0 \0 004 \0 \0 \0 0130700 \0 \0 \0 \0 \a \0 \0 \0 \0 \0 002 \0 \b \0 \0 \0 0130720 : \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 \r \0 \0 0130740 \0 t \0 \0 \0 \0 \a \0 \0 \0 \0 \0 002 \0 \r \0 0130760 \0 \0 200 \0 \0 \0 \0 \a \0 \0 \0 \0 \0 002 \0 \r 0131000 \0 \0 \0 025 \0 \0 \0 \0 004 \0 \0 \0 004 \0 \0 \0 0131020 \0 003 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 002 \0 0131040 \0 \0 \0 \a \0 \0 \0 \0 \0 002 \0 \r \0 \0 \0 026 0131060 \0 \0 \0 \0 \a \0 \0 \0 \b \0 \0 \0 \0 004 \0 \0 0131100 \0 001 \0 \0 \0 \0 \a \0 \0 \0 004 \0 \0 \0 \0 003 0131120 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 026 \0 \0 \0 0131140 \0 \a \0 \0 \0 004 \0 \0 \0 \0 003 \0 \0 \0 036 \0 0131160 \0 \0 \0 \a \0 \0 \0 4 \0 \0 \0 \0 004 \0 \0 \0 0131200 004 \0 \0 \0 \0 \a \0 \0 \0 \0 \0 002 \0 \r \0 \0 0131220 \0 - \0 \0 \0 \0 \a \0 \0 \0 023 \0 \0 \0 \0 004 0131240 \0 \0 \0 \a \0 \0 \0 \0 \a \0 \0 \0 \0 \0 002 \0 0131260 \b \0 \0 \0 025 \0 \0 \0 \0 004 \0 \0 \0 002 \0 \0 0131300 \0 \0 003 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 003 0131320 \0 \0 \0 \0 \a \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 0131340 \0 002 \0 \0 \0 \0 003 \0 \0 \0 001 \0 \0 \0 \0 004 0131360 \0 \0 \0 004 \0 \0 \0 \0 003 \0 \0 \0 001 \0 \0 \0 0131400 \0 004 \0 \0 \0 \r \0 \0 \0 \0 \a \0 \0 \0 \0 \0 0131420 002 \0 \b \0 \0 \0 U \0 \0 \0 \0 \a \0 \0 \0 \0 0131440 \0 002 \0 \b \0 \0 \0 026 \0 \0 \0 \0 004 \0 \0 \0 0131460 002 \0 \0 \0 \0 003 \0 \0 \0 001 \0 \0 \0 \0 004 \0 0131500 \0 \0 003 \0 \0 \0 \0 \a \0 \0 \0 001 \0 \0 \0 \0 0131520 004 \0 \0 \0 002 \0 \0 \0 \0 003 \0 \0 \0 002 \0 \0 0131540 \0 \0 004 \0 \0 \0 004 \0 \0 \0 \0 003 \0 \0 \0 003 0131560 \0 \0 \0 \0 \a \0 \0 \0 \v \0 \0 \0 \0 003 \0 \0 0131600 \0 001 \0 \0 \0 \0 004 \0 \0 \0 \r \0 \0 \0 \0 \a 0131620 \0 \0 \0 025 \0 \0 \0 \0 004 \0 \0 \0 002 \0 \0 \0 0131640 \0 003 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 003 \0 0131660 \0 \0 \0 \a \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 0131700 002 \0 \0 \0 \0 003 \0 \0 \0 027 \0 \0 \0 \0 004 \0 0131720 \0 \0 004 \0 \0 \0 \0 003 \0 \0 \0 004 \0 \0 \0 \0 0131740 004 \0 \0 \0 \v \0 \0 \0 \0 003 \0 \0 \0 002 \0 \0 0131760 \0 \0 004 \0 \0 \0 \0 \0 002 \0 \b \0 \0 \0 \b \0 0132000 \0 \0 \0 004 \0 \0 \0 002 \0 \0 \0 \0 003 \0 \0 \0 0132020 005 \0 \0 \0 \0 \a \0 \0 \0 002 \0 \0 \0 \0 003 \0 0132040 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 006 \0 \0 \0 \0 0132060 \a \0 \0 \0 \r \0 \0 \0 \0 004 \0 \0 \0 004 \0 \0 0132100 \0 \0 003 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 216 0132120 \0 \0 \0 \0 \a \0 \0 \0 \0 \0 002 \0 \b \0 \0 \0 0132140 353 \0 \0 \0 \0 \a \0 \0 \0 \0 \0 002 \0 \b \0 \0 0132160 \0 7 \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 \b \0 0132200 \0 \0 022 \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 \r 0132220 \0 \0 003 \b \0 \0 \0 \0 \a \0 \0 \0 \0 \0 002 \0 0132240 \r \0 \0 \0 032 \0 \0 \0 \0 003 \0 \0 003 005 \0 \0 0132260 \0 \0 \a \0 \0 \0 \a \0 \0 \0 \0 003 \0 \0 001 @ 0132300 \0 \0 \0 \0 \a \0 \0 \0 003 \0 \0 \0 \0 003 \0 \0 0132320 \0 ! \0 \0 \0 \0 \a \0 \0 \0 \0 \0 002 \0 \r \0 0132340 \0 \0 034 \0 \0 \0 \0 \a \0 \0 \0 \v \0 \0 \0 \0 0132360 003 \0 \0 \0 270 \0 \0 \0 \0 \a \0 \0 \0 001 \0 \0 0132400 \0 \0 003 \0 \0 \0 \0 \0 \0 \0 \a \0 \0 \0 025 0132420 \0 \0 \0 \0 004 \0 \0 \0 \t \0 \0 \0 \0 \a \0 \0 0132440 \0 \0 \0 002 \0 \r \0 \0 \0 035 \0 \0 \0 \0 003 \0 0132460 \0 002 6 \0 \0 \0 \0 \a \0 \0 \0 003 \0 \0 \0 \0 0132500 004 \0 \0 001 S \0 \0 \0 \0 \a \0 \0 \0 005 \0 \0 0132520 \0 \0 004 \0 \0 \0 002 \0 \0 \0 \0 \a \0 \0 \0 \t 0132540 \0 \0 \0 \0 004 \0 \0 \0 002 \0 \0 \0 \0 \a \0 \0 0132560 \0 006 \0 \0 \0 \0 004 \0 \0 \0 t \0 \0 \0 \0 \a 0132600 \0 \0 \0 \0 \0 002 \0 \r \0 \0 \0 q \0 \0 \0 \0 0132620 \a \0 \0 \0 \0 \0 002 \0 \v \0 \0 002 \a \0 \0 \0 0132640 \0 \a \0 \0 \0 \a \0 \0 \0 \0 004 \0 \0 \0 325 \0 0132660 \0 \0 \0 \a \0 \0 \0 \0 \0 002 \0 \v \0 \0 002 236 0132700 \0 \0 \0 \0 \a \0 \0 \0 024 \0 \0 \0 \0 004 \0 \0 0132720 \0 003 \0 \0 \0 \0 \a \0 \0 \0 \0 \0 002 \0 \r \0 0132740 \0 001 ? \0 \0 \0 \0 \a \0 \0 \0 \0 \0 002 \0 \r 0132760 \0 \0 \0 031 \0 \0 \0 \0 003 \0 \0 001 5 \0 \0 \0 0133000 \0 \a \0 \0 \0 003 \0 \0 \0 \0 004 \0 \0 \0 004 \0 0133020 \0 \0 \0 \a \0 \0 \0 004 \0 \0 \0 \0 004 \0 \0 \0 0133040 3 \0 \0 \0 \0 \a \0 \0 \0 006 \0 \0 \0 \0 004 \0 0133060 \0 \0 020 \0 \0 \0 \0 \a \0 \0 \0 006 \0 \0 \0 \0 0133100 004 \0 \0 \0 002 \0 \0 \0 \0 \a \0 \0 \0 \0 \0 002 0133120 \0 \r \0 \0 \0 261 \0 \0 \0 \0 \a \0 \0 \0 002 \0 0133140 \0 \0 \0 004 \0 \0 \0 003 \0 \0 \0 \0 \a \0 \0 \0 0133160 \a \0 \0 \0 \0 004 \0 \0 \0 005 \0 \0 \0 \0 \a \0 0133200 \0 \0 004 \0 \0 \0 \0 004 \0 \0 \0 361 \0 \0 \0 \0 0133220 \a \0 \0 \0 \0 \0 002 \0 \r \0 \0 \0 026 \0 \0 \0 0133240 \0 003 \0 \0 002 253 \0 \0 \0 \0 \a \0 \0 \0 \0 \0 0133260 002 \0 \r \0 \0 \0 P \0 \0 \0 \0 \a \0 \0 \0 \b 0133300 \0 \0 \0 \0 004 \0 \0 \0 023 \0 \0 \0 \0 \a \0 \0 0133320 \0 006 \0 \0 \0 \0 004 \0 \0 \0 + \0 \0 \0 \0 \a 0133340 \0 \0 \0 \b \0 \0 \0 \0 004 \0 \0 \0 004 \0 \0 \0 0133360 \0 \a \0 \0 \0 \0 \0 002 \0 \r \0 \0 \0 234 \0 \0 0133400 \0 \0 \a \0 \0 \0 006 \0 \0 \0 \0 004 \0 \0 \0 005 0133420 \0 \0 \0 \0 \a \0 \0 \0 \b \0 \0 \0 \0 004 \0 \0 0133440 \0 031 \0 \0 \0 \0 \a \0 \0 \0 006 \0 \0 \0 \0 004 0133460 \0 \0 \0 005 \0 \0 \0 \0 \a \0 \0 \0 \b \0 \0 \0 0133500 \0 004 \0 \0 \0 031 \0 \0 \0 \0 \a \0 \0 \0 \b \0 0133520 \0 \0 \0 004 \0 \0 \0 9 \0 \0 \0 \0 \a \0 \0 \0 0133540 006 \0 \0 \0 \0 004 \0 \0 \0 3 \0 \0 \0 \0 \a \0 0133560 \0 \0 \0 \0 002 \0 \r \0 \0 \0 035 \0 \0 \0 \0 \a 0133600 \0 \0 \0 \b \0 \0 \0 \0 004 \0 \0 \0 3 \0 \0 \0 0133620 \0 \a \0 \0 \0 006 \0 \0 \0 \0 004 \0 \0 \0 A \0 0133640 \0 \0 \0 \a \0 \0 \0 006 \0 \0 \0 \0 004 \0 \0 \0 0133660 " \0 \0 \0 \0 \a \0 \0 \0 005 \0 \0 \0 \0 004 \0 0133700 \0 \0 016 \0 \0 \0 \0 \a \0 \0 \0 005 \0 \0 \0 \0 0133720 004 \0 \0 \0 4 \0 \0 \0 \0 \a \0 \0 \0 006 \0 \0 0133740 \0 \0 004 \0 \0 \0 006 \0 \0 \0 \0 \a \0 \0 \0 004 0133760 \0 \0 \0 \0 004 \0 \0 \0 ( \0 \0 \0 \0 \a \0 \0 0134000 \0 004 \0 \0 \0 \0 004 \0 \0 \0 037 \0 \0 \0 \0 \a 0134020 \0 \0 \0 \b \0 \0 \0 \0 004 \0 \0 \0 005 \0 \0 \0 0134040 \0 \a \0 \0 \0 006 \0 \0 \0 \0 004 \0 \0 \0 \n \0 0134060 \0 \0 \0 \a \0 \0 \0 \0 \0 002 \0 \r \0 \0 \0 $ 0134100 \0 \0 \0 \0 \a \0 \0 \0 006 \0 \0 \0 \0 004 \0 \0 0134120 \0 # \0 \0 \0 \0 \a \0 \0 \0 005 \0 \0 \0 \0 004 0134140 \0 \0 \0 020 \0 \0 \0 \0 \a \0 \0 \0 006 \0 \0 \0 0134160 \0 004 \0 \0 \0 q \0 \0 \0 \0 \a \0 \0 \0 006 \0 0134200 \0 \0 \0 004 \0 \0 \0 213 \0 \0 \0 \0 \a \0 \0 \0 0134220 003 \0 \0 \0 \0 004 \0 \0 \0 004 \0 \0 \0 \0 \a \0 0134240 \0 \0 002 \0 \0 \0 \0 004 \0 \0 \0 024 \0 \0 \0 \0 0134260 \a \0 \0 \0 006 \0 \0 \0 \0 004 \0 \0 \0 032 \0 \0 0134300 \0 \0 \a \0 \0 \0 004 \0 \0 \0 \0 004 \0 \0 \0 ! 0134320 \0 \0 \0 \0 \a \0 \0 \0 006 \0 \0 \0 \0 004 \0 \0 0134340 \0 t \0 \0 \0 \0 \a \0 \0 \0 \0 \0 002 \0 \r \0 0134360 \0 \0 350 \0 \0 \0 \0 \a \0 \0 \0 \b \0 \0 \0 \0 0134400 004 \0 \0 \0 004 \0 \0 \0 \0 \a \0 \0 \0 006 \0 \0 0134420 \0 \0 004 \0 \0 \0 212 \0 \0 \0 \0 \a \0 \0 \0 \0 0134440 \0 002 \0 \r \0 \0 \0 021 \0 \0 \0 \0 \a \0 \0 \0 0134460 006 \0 \0 \0 \0 004 \0 \0 \0 004 \0 \0 \0 \0 \a \0 0134500 \0 \0 006 \0 \0 \0 \0 004 \0 \0 \0 207 \0 \0 \0 \0 0134520 \a \0 \0 \0 006 \0 \0 \0 \0 004 \0 \0 \0 0 \0 \0 0134540 \0 \0 \a \0 \0 \0 006 \0 \0 \0 \0 004 \0 \0 001 T 0134560 \0 \0 \0 \0 \a \0 \0 \0 \b \0 \0 \0 \0 004 \0 \0 0134600 \0 005 \0 \0 \0 \0 \a \0 \0 \0 \b \0 \0 \0 \0 004 0134620 \0 \0 \0 f \0 \0 \0 \0 \a \0 \0 \0 \v \0 \0 \0 0134640 \0 003 \0 \0 \0 037 \0 \0 \0 \0 \a \0 \0 \0 006 \0 0134660 \0 \0 \0 004 \0 \0 \0 004 \0 \0 \0 \0 \a \0 \0 \0 0134700 006 \0 \0 \0 \0 004 \0 \0 \0 x \0 \0 \0 \0 \a \0 0134720 \0 \0 \b \0 \0 \0 \0 004 \0 \0 \0 005 \0 \0 \0 \0 0134740 \a \0 \0 \0 \b \0 \0 \0 \0 004 \0 \0 \0 221 \0 \0 0134760 \0 \0 \a \0 \0 \0 \0 \0 002 \0 \b \0 \0 \0 2 \0 0135000 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 \b \0 \0 \0 \b 0135020 \0 \0 \0 \0 004 \0 \0 \0 002 \0 \0 \0 \0 003 \0 \0 0135040 \0 005 \0 \0 \0 \0 \a \0 \0 \0 002 \0 \0 \0 \0 003 0135060 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 001 \0 \0 \0 0135100 \0 \a \0 \0 \0 \0 \0 002 \0 \v \0 \0 \0 201 \0 \0 0135120 \0 \0 \a \0 \0 \0 \v \0 \0 \0 \0 003 \0 \0 \0 037 0135140 \0 \0 \0 \0 \a \0 \0 \0 \b \0 \0 \0 \0 004 \0 \0 0135160 \0 D \0 \0 \0 \0 \a \0 \0 \0 \b \0 \0 \0 \0 004 0135200 \0 \0 \0 \ \0 \0 \0 \0 \a \0 \0 \0 003 \0 \0 \0 0135220 \0 004 \0 \0 \0 004 \0 \0 \0 \0 \a \0 \0 \0 004 \0 0135240 \0 \0 \0 004 \0 \0 \0 - \0 \0 \0 \0 \a \0 \0 \0 0135260 006 \0 \0 \0 \0 004 \0 \0 \0 206 \0 \0 \0 \0 \a \0 0135300 \0 \0 \v \0 \0 \0 \0 003 \0 \0 \0 036 \0 \0 \0 \0 0135320 \a \0 \0 \0 001 \0 \0 \0 \0 003 \0 \0 \0 037 \0 \0 0135340 \0 \0 \a \0 \0 \0 003 \0 \0 \0 \0 004 \0 \0 \0 004 0135360 \0 \0 \0 \0 \a \0 \0 \0 001 \0 \0 \0 \0 003 \0 \0 0135400 \0 006 \0 \0 \0 \0 \a \0 \0 \0 \0 \0 002 \0 \b \0 0135420 \0 \0 \r \0 \0 \0 \0 004 \0 \0 \0 004 \0 \0 \0 \0 0135440 003 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 001 \0 \0 0135460 \0 \0 \a \0 \0 \0 \0 \0 002 \0 \v \0 \0 \0 H \0 0135500 \0 \0 \0 \a \0 \0 \0 031 \0 \0 \0 \0 004 \0 \0 \0 0135520 004 \0 \0 \0 \0 003 \0 \0 \0 001 \0 \0 \0 \0 004 \0 0135540 \0 \0 T \0 \0 \0 \0 \a \0 \0 \0 004 \0 \0 \0 \0 0135560 004 \0 \0 \0 - \0 \0 \0 \0 \a \0 \0 \0 \0 \0 002 0135600 \0 \n \0 \0 \0 004 \0 \0 \0 \0 \a \0 \0 \0 004 \0 0135620 \0 \0 \0 004 \0 \0 \0 \b \0 \0 \0 \0 \a \0 \0 \0 0135640 004 \0 \0 \0 \0 003 \0 \0 \0 002 \0 \0 \0 \0 \a \0 0135660 \0 \0 \0 \0 002 \0 \t \0 \0 \0 004 \0 \0 \0 \0 \a 0135700 \0 \0 \0 005 \0 \0 \0 \0 004 \0 \0 \0 002 \0 \0 \0 0135720 \0 \a \0 \0 \0 006 \0 \0 \0 \0 004 \0 \0 \0 \a \0 0135740 \0 \0 \0 \a \0 \0 \0 004 \0 \0 \0 \0 004 \0 \0 \0 0135760 002 \0 \0 \0 \0 \a \0 \0 \0 003 \0 \0 \0 \0 004 \0 0136000 \0 \0 002 \0 \0 \0 \0 \a \0 \0 \0 004 \0 \0 \0 \0 0136020 004 \0 \0 \0 002 \0 \0 \0 \0 \a \0 \0 \0 003 \0 \0 0136040 \0 \0 004 \0 \0 \0 \a \0 \0 \0 \0 \a \0 \0 \0 026 0136060 \0 \0 \0 \0 004 \0 \0 \0 005 \0 \0 \0 \0 \a \0 \0 0136100 \0 \0 \0 002 \0 \t \0 \0 \0 \f \0 \0 \0 \0 \a \0 0136120 \0 \0 \b \0 \0 \0 \0 004 \0 \0 \0 001 \0 \0 \0 \0 0136140 \a \0 \0 \0 \0 \0 002 \0 \v \0 \0 \0 020 \0 \0 \0 0136160 \0 \a \0 \0 \0 \b \0 \0 \0 \0 004 \0 \0 \0 004 \0 0136200 \0 \0 \0 \a \0 \0 \0 \b \0 \0 \0 \0 004 \0 \0 \0 0136220 M \0 \0 \0 \0 \a \0 \0 \0 003 \0 \0 \0 \0 004 \0 0136240 \0 \0 ) \0 \0 \0 \0 \a \0 \0 \0 025 \0 \0 \0 \0 0136260 004 \0 \0 \0 002 \0 \0 \0 \0 \a \0 \0 \0 \0 \0 002 0136300 \0 \v \0 \0 \0 ' \0 \0 \0 \0 \a \0 \0 \0 \v \0 0136320 \0 \0 \0 004 \0 \0 \0 9 \0 \0 \0 \0 \a \0 \0 \0 0136340 \v \0 \0 \0 \0 004 \0 \0 \0 r \0 \0 \0 \0 \a \0 0136360 \0 \0 023 \0 \0 \0 \0 004 \0 \0 \0 005 \0 \0 \0 \0 0136400 \a \0 \0 \0 \v \0 \0 \0 \0 004 \0 \0 \0 023 \0 \0 0136420 \0 \0 \a \0 \0 \0 023 \0 \0 \0 \0 004 \0 \0 \0 s 0136440 \0 \0 \0 \0 \a \0 \0 \0 \0 \0 002 \0 \b \0 \0 \0 0136460 004 \0 \0 \0 \0 \a \0 \0 \0 \b \0 \0 \0 \0 004 \0 0136500 \0 \0 \b \0 \0 \0 \0 \a \0 \0 \0 \0 \0 002 \0 \v 0136520 \0 \0 \0 * \0 \0 \0 \0 \a \0 \0 \0 \v \0 \0 \0 0136540 \0 003 \0 \0 \0 O \0 \0 \0 \0 \a \0 \0 \0 025 \0 0136560 \0 \0 \0 004 \0 \0 \0 H \0 \0 \0 \0 \a \0 \0 \0 0136600 \t \0 \0 \0 \0 003 \0 \0 \0 003 \0 \0 \0 \0 \a \0 0136620 \0 \0 003 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 \b 0136640 \0 \0 \0 004 \0 \0 \0 \0 \a \0 \0 \0 \b \0 \0 \0 0136660 \0 004 \0 \0 \0 \b \0 \0 \0 \0 \a \0 \0 \0 \0 \0 0136700 002 \0 \v \0 \0 \0 \b \0 \0 \0 \0 004 \0 \0 \0 020 0136720 \0 \0 \0 \0 \a \0 \0 \0 006 \0 \0 \0 \0 004 \0 \0 0136740 \0 R \0 \0 \0 \0 \a \0 \0 \0 006 \0 \0 \0 \0 004 0136760 \0 \0 \0 ! \0 \0 \0 \0 \a \0 \0 \0 \v \0 \0 \0 0137000 \0 003 \0 \0 \0 1 \0 \0 \0 \0 \a \0 \0 \0 \0 \0 0137020 002 \0 \n \0 \0 \0 = \0 \0 \0 \0 \a \0 \0 \0 001 0137040 \0 \0 \0 \0 003 \0 \0 \0 027 \0 \0 \0 \0 \a \0 \0 0137060 \0 003 \0 \0 \0 \0 004 \0 \0 \0 026 \0 \0 \0 \0 \a 0137100 \0 \0 \0 \b \0 \0 \0 \0 003 \0 \0 \0 005 \0 \0 \0 0137120 \0 \a \0 \0 \0 001 \0 \0 \0 \0 003 \0 \0 \0 K \0 0137140 \0 \0 \0 \a \0 \0 \0 001 \0 \0 \0 \0 003 \0 \0 \0 0137160 & \0 \0 \0 \0 \a \0 \0 \0 \0 \0 002 \0 \n \0 \0 0137200 \0 h \0 \0 \0 \0 \a \0 \0 \0 001 \0 \0 \0 \0 003 0137220 \0 \0 \0 ~ \0 \0 \0 \0 \a \0 \0 \0 001 \0 \0 \0 0137240 \0 003 \0 \0 \0 ^ \0 \0 \0 \0 \a \0 \0 \0 \v \0 0137260 \0 \0 \0 003 \0 \0 \0 { \0 \0 \0 \0 \a \0 \0 \0 0137300 001 \0 \0 \0 \0 003 \0 \0 \0 W \0 \0 \0 \0 \a \0 0137320 \0 \0 \0 \0 002 \0 \v \0 \0 \0 253 \0 \0 \0 \0 \a 0137340 \0 \0 \0 \0 \0 002 \0 \v \0 \0 \0 003 \0 \0 \0 \0 0137360 \a \0 \0 \0 \b \0 \0 \0 \0 004 \0 \0 \0 003 \0 \0 0137400 \0 \0 \a \0 \0 \0 006 \0 \0 \0 \0 004 \0 \0 \0 N 0137420 \0 \0 \0 \0 \a \0 \0 \0 006 \0 \0 \0 \0 004 \0 \0 0137440 \0 020 \0 \0 \0 \0 \a \0 \0 \0 \v \0 \0 \0 \0 003 0137460 \0 \0 \0 307 \0 \0 \0 \0 \a \0 \0 \0 \0 \0 002 \0 0137500 \b \0 \0 \0 004 \0 \0 \0 \0 \a \0 \0 \0 \b \0 \0 0137520 \0 \0 004 \0 \0 \0 \b \0 \0 \0 \0 \a \0 \0 \0 \0 0137540 \0 002 \0 \v \0 \0 \0 \v \0 \0 \0 \0 \a \0 \0 \0 0137560 \b \0 \0 \0 \0 004 \0 \0 \0 342 \0 \0 \0 \0 \a \0 0137600 \0 \0 ) \0 \0 \0 \0 004 \0 \0 \0 002 \0 \0 \0 \0 0137620 \a \0 \0 \0 \0 \0 002 \0 \v \0 \0 \0 006 \0 \0 \0 0137640 \0 \a \0 \0 \0 \b \0 \0 \0 \0 004 \0 \0 \0 020 \0 0137660 \0 \0 \0 \a \0 \0 \0 006 \0 \0 \0 \0 004 \0 \0 \0 0137700 016 \0 \0 \0 \0 \a \0 \0 \0 \v \0 \0 \0 \0 003 \0 0137720 \0 \0 % \0 \0 \0 \0 \a \0 \0 \0 001 \0 \0 \0 \0 0137740 003 \0 \0 \0 W \0 \0 \0 \0 \a \0 \0 \0 006 \0 \0 0137760 \0 \0 004 \0 \0 \0 @ \0 \0 \0 \0 \a \0 \0 \0 001 0140000 \0 \0 \0 \0 003 \0 \0 \0 p \0 \0 \0 \0 \a \0 \0 0140020 \0 \v \0 \0 \0 \0 003 \0 \0 \0 031 \0 \0 \0 \0 \a 0140040 \0 \0 \0 \0 \0 002 \0 \b \0 \0 \0 2 \0 \0 \0 \0 0140060 005 \0 \0 \0 \0 \0 002 \0 \r \0 \0 \0 @ \0 \0 \0 0140100 \0 \a \0 \0 \0 \0 \0 002 \0 \v \0 \0 \0 027 \0 \0 0140120 \0 \0 \a \0 \0 \0 001 \0 \0 \0 \0 003 \0 \0 \0 \t 0140140 \0 \0 \0 \0 \a \0 \0 \0 001 \0 \0 \0 \0 003 \0 \0 0140160 \0 306 \0 \0 \0 \0 \a \0 \0 \0 001 \0 \0 \0 \0 003 0140200 \0 \0 \0 F \0 \0 \0 \0 \a \0 \0 \0 003 \0 \0 \0 0140220 \0 004 \0 \0 \0 003 \0 \0 \0 \0 \a \0 \0 \0 \0 \0 0140240 002 \0 \v \0 \0 \0 r \0 \0 \0 \0 \a \0 \0 \0 \0 0140260 \0 002 \0 \r \0 \0 \0 ' \0 \0 \0 \0 \a \0 \0 \0 0140300 \0 \0 002 \0 \v \0 \0 \0 \t \0 \0 \0 \0 004 \0 \0 0140320 \0 001 \0 \0 \0 \0 \a \0 \0 \0 \0 \0 002 \0 \n \0 0140340 \0 \0 s \0 \0 \0 \0 \a \0 \0 \0 003 \0 \0 \0 \0 0140360 004 \0 \0 \0 002 \0 \0 \0 \0 \a \0 \0 \0 \a \0 \0 0140400 \0 \0 004 \0 \0 \0 002 \0 \0 \0 \0 \a \0 \0 \0 004 0140420 \0 \0 \0 \0 004 \0 \0 001 J \0 \0 \0 \0 \a \0 \0 0140440 \0 \t \0 \0 \0 \0 004 \0 \0 \0 [ \0 \0 \0 \0 \a 0140460 \0 \0 \0 \0 \0 002 \0 \n \0 \0 \0 R \0 \0 \0 \0 0140500 002 \0 \0 \0 001 \0 \0 \0 \0 \a \0 \0 \0 \0 \0 002 0140520 \0 \v \0 \0 \0 \a \0 \0 \0 \0 004 \0 \0 \0 001 \0 0140540 \0 \0 \0 \a \0 \0 \0 \0 \0 002 \0 \n \0 \0 \0 * 0140560 \0 \0 \0 \0 \a \0 \0 \0 016 \0 \0 \0 \0 002 \0 \0 0140600 \0 024 \0 \0 \0 \0 001 \0 \0 \0 001 \0 \0 \0 \0 002 0140620 \0 \0 \0 001 \0 \0 \0 \0 \a \0 \0 \0 \0 \0 002 \0 0140640 \v \0 \0 \0 \a \0 \0 \0 \0 004 \0 \0 \0 001 \0 \0 0140660 \0 \0 \a \0 \0 \0 \0 \0 002 \0 \n \0 \0 \0 . \0 0140700 \0 \0 \0 \a \0 \0 \0 \v \0 \0 \0 \0 003 \0 \0 \0 0140720 % \0 \0 \0 \0 \a \0 \0 \0 001 \0 \0 \0 \0 003 \0 0140740 \0 \0 \ \0 \0 \0 \0 \a \0 \0 \0 \0 \0 002 \0 \v 0140760 \0 \0 \0 \v \0 \0 \0 \0 004 \0 \0 \0 001 \0 \0 \0 0141000 \0 \a \0 \0 \0 \0 \0 002 \0 \n \0 \0 \0 6 \0 \0 0141020 \0 \0 \a \0 \0 \0 001 \0 \0 \0 \0 003 \0 \0 \0 006 0141040 \0 \0 \0 \0 \a \0 \0 \0 001 \0 \0 \0 \0 003 \0 \0 0141060 \0 030 \0 \0 \0 \0 \a \0 \0 \0 001 \0 \0 \0 \0 003 0141100 \0 \0 \0 020 \0 \0 \0 \0 \a \0 \0 \0 001 \0 \0 \0 0141120 \0 003 \0 \0 \0 024 \0 \0 \0 \0 \a \0 \0 \0 001 \0 0141140 \0 \0 \0 003 \0 \0 \0 004 \0 \0 \0 \0 004 \0 \0 \0 0141160 003 \0 \0 \0 \0 \a \0 \0 \0 \0 \0 002 \0 \r \0 \0 0141200 \0 005 \0 \0 \0 \0 \a \0 \0 \0 \a \0 \0 \0 \0 004 0141220 \0 \0 \0 005 \0 \0 \0 \0 \a \0 \0 \0 \v \0 \0 \0 0141240 \0 004 \0 \0 001 022 \0 \0 \0 \0 \a \0 \0 \0 \0 \0 0141260 002 \0 \r \0 \0 \0 L \0 \0 \0 \0 \a \0 \0 \0 \0 0141300 \0 002 \0 \b \0 \0 \0 025 \0 \0 \0 \0 004 \0 \0 \0 0141320 002 \0 \0 \0 \0 003 \0 \0 \0 001 \0 \0 \0 \0 004 \0 0141340 \0 \0 003 \0 \0 \0 \0 \a \0 \0 \0 001 \0 \0 \0 \0 0141360 004 \0 \0 \0 002 \0 \0 \0 \0 003 \0 \0 \0 001 \0 \0 0141400 \0 \0 004 \0 \0 \0 004 \0 \0 \0 \0 003 \0 \0 \0 001 0141420 \0 \0 \0 \0 004 \0 \0 \0 001 \0 \0 \0 \0 \a \0 \0 0141440 \0 \0 \0 002 \0 \v \0 \0 \0 016 \0 \0 \0 \0 \a \0 0141460 \0 \0 001 \0 \0 \0 \0 003 \0 \0 \0 \v \0 \0 \0 \0 0141500 \a \0 \0 \0 002 \0 \0 \0 \0 003 \0 \0 \0 006 \0 \0 0141520