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